summary refs log tree commit diff stats
path: root/src/game.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Added "floating" sprite attributeStar Rauchenberger2021-07-061-0/+1
| | | | Sprites with this flag enabled will ignore map collision.
* Added background scriptsStar Rauchenberger2021-07-051-0/+9
| | | | Background scripts are scripts that are launched when a map is loaded. They differ in use from a map's init script in that they are expected to contain an infinite loop. These scripts are linked to a sprite and will be killed when that sprite is destroyed (usually when the map is unloaded, but if the sprite is made persistent then it may last longer). The thread running the script is given no warning that it is being killed; the coroutine is simply never called again, and the thread is disposed of. Because of this, background scripts MUST ensure the game is in a consistent state before coroutine yielding, because it is not guaranteed that the coroutine will ever be called again.
* switch_claus starts talking when he gets yaKelly Rauchenberger2021-03-091-0/+3
| | | | | | Kumatora, Duster, and Boney had to be given hitboxes, but they are not considered solid. #10
* Added MirrorSystemKelly Rauchenberger2021-03-051-0/+5
| | | | This is really just for letting one sprite mirror another's movement and animation. I tried doing it in the BehaviourSystem, but you get stuttering if you do it earlier in the loop than the CharacterSystem, so I ended up having to make a new system just for this thing that will not happen very often.
* Added the mask sprite layerKelly Rauchenberger2021-03-051-1/+1
| | | | 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.
* Added (human) Mixolydia spriteKelly Rauchenberger2021-03-011-0/+1
|
* Added A* pathfindingKelly Rauchenberger2021-02-271-1/+1
|
* Added map init scriptsKelly Rauchenberger2021-02-241-0/+6
| | | | Map scripts also now actually run in their own lua thread.
* Ionia is in the water!Kelly Rauchenberger2021-02-241-0/+3
|
* Removed sprite shadow while on a ladderKelly Rauchenberger2021-02-241-1/+1
|
* Added variable movement speedKelly Rauchenberger2021-02-201-3/+5
| | | | Ionia now moves at half Lucas's speed, which I think is good for NPCs.
* Added enclosure zonesKelly Rauchenberger2021-02-201-0/+3
| | | | A sprite with an enclosure zone will collide with it if it attempts to leave the area defined by the zone. This is used to make sure that wandering sprites don't end up in weird places.
* Added a randomly wandering Ionia to the mapKelly Rauchenberger2021-02-201-0/+4
|
* Spawnblocked map sprites with already-used namesKelly Rauchenberger2021-02-181-0/+4
| | | | i.e. Map prototypes and triggers will not be instantiated upon loading the map if there is a persistent sprite with the same name. This is important because the Claus that joins your party is originally a map prototype.
* Made some sprites persist between map changesKelly Rauchenberger2021-02-171-48/+27
| | | | | | The player party characters are now initialised at the start of the game and are no longer re-created after every map change. The script system takes care of moving the player into the correct position on the new map. Deleted sprite IDs are now reused the next time a sprite is created, instead of throwing out everything between maps.
* Added lightning sprite to mailbox eventKelly Rauchenberger2021-02-131-1/+11
| | | | | | | | 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 sprite shadowsKelly Rauchenberger2021-02-131-0/+5
|
* Added tile-sized invisible spritesKelly Rauchenberger2021-02-121-1/+3
| | | | These are used when you want a solid, interactable object that is part of the map instead of sprite animated (e.g. the mailboxes).
* Player is no longer controllable during map transitionsKelly Rauchenberger2021-02-101-1/+1
|
* loadMap requires a direction now, so party trails are set up correctlyKelly Rauchenberger2021-02-101-1/+5
|
* Fixed running sound looping infinitely after running into map changeKelly Rauchenberger2021-02-101-4/+4
|
* When changing map, place whole party at the warpKelly Rauchenberger2021-02-101-4/+6
|
* Map changing!Kelly Rauchenberger2021-02-091-0/+60
| | | | 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 sound and animation changes to scriptingKelly Rauchenberger2021-02-061-1/+2
|
* Added animation systemKelly Rauchenberger2021-02-031-2/+2
|
* Added camera systemKelly Rauchenberger2021-02-031-22/+0
|
* Pulled transform stuff into a system (starting to do ECS stuff)Kelly Rauchenberger2021-02-031-13/+1
|
* Added moving cameraKelly Rauchenberger2021-02-021-1/+23
|
* Added sprite Y sortingKelly Rauchenberger2021-01-301-0/+20