summary refs log tree commit diff stats
path: root/src/renderer.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Added the mask sprite layerKelly Rauchenberger2021-03-051-0/+30
| | | | This layer is below the normal sprite layer. Sprites on it are only rendered within the area of a zone that is defined per-map.
* Implemented circle transition effect (for exit area)Kelly Rauchenberger2021-03-051-0/+54
|
* Added sprite bobbing (for Lucas underwater)Kelly Rauchenberger2021-02-261-0/+3
|
* Fixed issue where debug console could be rendered onto message textKelly Rauchenberger2021-02-251-1/+10
| | | | In the renderer, it's important to set the render target properly before any copying or drawing operations, especially if it's after a call to renderMessageLine, since that changes the render target.
* Generalized upper/lower layer map renderingKelly Rauchenberger2021-02-221-32/+40
| | | | | | Map layers can have a flag on them that specifies that they should be rendered as part of the upper set (rendered above the normal sprite layer but below the above sprite layer). Also added map connections between hallucination_interior and hallucination_cliff. And named the layers in the map files bc why not.
* Added a debug consoleKelly Rauchenberger2021-02-211-0/+61
| | | | | | | | Open it by pressing backtick, close it by hitting escape. Pressing backtick does not open it in release builds. Current shortcomings: opening it for the first time also types a backtick for some reason, but not on subsequent times. Also, it doesn't create a coroutine, so any script function that yields is going to fail. This also added a "is gameplay paused" flag to Game, which will be useful for adding a pause menu.
* Added camera shake to lightning eventKelly Rauchenberger2021-02-151-2/+4
|
* Added map fadeoutsKelly Rauchenberger2021-02-141-2/+50
| | | | Screen fadeouts and map fadeouts are now handled by the effect system.
* Added lightning sprite to mailbox eventKelly Rauchenberger2021-02-131-13/+21
| | | | | | | | Sprites can be destroyed now, which really just means that their index is removed from the list of active sprites. The actual memory is not freed until all sprites are deleted on map change. Sprite layers are introduced. All sprites by default are on layer 0 (Normal) which renders them in between the lower and upper map layers. There is also a layer 1 (Above) that renders above the upper map layer, and the sprite for the lightning strike uses this layer in order to not be hidden by the trees. Fixed a bug where waiting for the end of a non-looping animation would trip the flag immediately upon the final frame activating, instead of waiting the length of the last frame.
* Added non-looping animationsKelly Rauchenberger2021-02-131-1/+1
| | | | Lucas can get electrocuted now.
* Added sprite shadowsKelly Rauchenberger2021-02-131-0/+6
|
* Got correct sprites for message arrowsKelly Rauchenberger2021-02-121-13/+17
|
* Added message bulletsKelly Rauchenberger2021-02-121-11/+22
|
* Added choice promptsKelly Rauchenberger2021-02-111-7/+21
| | | | "A presses" are also no longer special values in the lines list, but are rather a field on the MessageLine object.
* Added fade out around map changeKelly Rauchenberger2021-02-101-0/+6
| | | | Also moved script system first in the loop so that the camera can catch up before rendering. Also added a map change from map 2 back to map 1.
* Map changing!Kelly Rauchenberger2021-02-091-5/+14
| | | | Also removed some dependencies on the Renderer. More changes need to be made. Fading to black before the change would be good. And making sure the characters are facing the right direction. Maybe that code shouldn't live in Game, either. Later we also want to combine the tilesets for these two maps (and any others that are on Tanetane).
* Added trigger zones to the mapKelly Rauchenberger2021-02-091-4/+6
| | | | Walking into a trigger zone runs a script.
* Prevented multiple loading of the same image filesKelly Rauchenberger2021-02-051-11/+15
|
* Added little bobbing "next message" arrowKelly Rauchenberger2021-02-051-0/+15
|
* Added speaker headerKelly Rauchenberger2021-02-051-3/+27
|
* Added text boxesKelly Rauchenberger2021-02-041-0/+71
| | | | | | Text now reveals itself and scrolls! Yay! It even plays speaker beeps. TODO: the arror indicating an A press is needed. Bullets on lines that need bullets. The header that says who the speaker is, if relevant.
* Added cutscene bars (and resized game)Kelly Rauchenberger2021-02-031-1/+29
|
* Added animation systemKelly Rauchenberger2021-02-031-3/+3
|
* Added camera systemKelly Rauchenberger2021-02-031-5/+7
|
* Pulled transform stuff into a system (starting to do ECS stuff)Kelly Rauchenberger2021-02-031-1/+1
|
* Added moving cameraKelly Rauchenberger2021-02-021-13/+14
|
* Using tmxlite instead of TilesonKelly Rauchenberger2021-02-021-29/+38
|
* Map rendering Works but I don't want to use Tileson so I'm gonna change thatKelly Rauchenberger2021-02-021-2/+63
| | | | Mainly bc Tileson requires std::filesystem, which my clang is too old for apparently, and while I can use gcc instead I just want to not, I suppose. Also Tileson's API is very weird RE const correctness? Idk. And also being able to parse the tmx files rather than exporting to json would be preferable.
* Made use of new sprite sheet data!Kelly Rauchenberger2021-01-311-2/+3
|
* Game now renders onto a 320x240 canvas that gets stretched upKelly Rauchenberger2021-01-301-3/+3
|
* Added standing/walking animationsKelly Rauchenberger2021-01-301-2/+3
|
* Added sprite Y sortingKelly Rauchenberger2021-01-301-1/+1
|
* Encapsulated some player movement stuffKelly Rauchenberger2021-01-301-1/+1
| | | | Imported vector from therapy5
* Game now renders an image of LucasKelly Rauchenberger2021-01-301-164/+22
|
* Imported renderer stuff from EtherKelly Rauchenberger2021-01-301-0/+216