summary refs log tree commit diff stats
path: root/src/map.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Added "floating" sprite attributeStar Rauchenberger2021-07-061-0/+2
| | | | Sprites with this flag enabled will ignore map collision.
* Added background scriptsStar Rauchenberger2021-07-051-0/+2
| | | | 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.
* Added option to exit area from pause menu on supported mapsStar Rauchenberger2021-03-131-0/+2
| | | | #7
* switch_claus starts talking when he gets yaKelly Rauchenberger2021-03-091-0/+2
| | | | | | Kumatora, Duster, and Boney had to be given hitboxes, but they are not considered solid. #10
* Added MirrorSystemKelly Rauchenberger2021-03-051-0/+8
| | | | 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-0/+10
| | | | 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/+2
|
* Simplified "animation" map sprite parameterKelly Rauchenberger2021-02-281-1/+1
| | | | The filenames for these are fairly regular, and we're gonna want to abstract it away further later on anyway.
* Added background music (defined on a per-map basis)Kelly Rauchenberger2021-02-271-0/+6
|
* Ionia is in the water!Kelly Rauchenberger2021-02-241-0/+2
|
* Added animation for being in a hot springKelly Rauchenberger2021-02-241-0/+2
|
* Started working on laddersKelly Rauchenberger2021-02-241-0/+22
| | | | | | | | | | | TODO: * all the animations are weird. we will need to have an adjustable framerate bc the climbing animation does not look right at the current rate. (also remove the manual animation stuff ig) * does the medium stuff seem good and right? i am kinda not satisfied with it. * running onto a ladder causes the characters to bunch up bc the movement speed is slowed down but the trails are not doubled * no ladder running sound * shadows should vanish while on a ladder * uhh if you end a cutscene while on a ladder it resets the animation to "still" which is wrong. will this ever happen? idk * adding a sprite to your party while you are on a ladder??
* Generalized upper/lower layer map renderingKelly Rauchenberger2021-02-221-3/+22
| | | | | | 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 variable movement speedKelly Rauchenberger2021-02-201-0/+2
| | | | Ionia now moves at half Lucas's speed, which I think is good for NPCs.
* Added enclosure zonesKelly Rauchenberger2021-02-201-0/+10
| | | | 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/+2
|
* Added sprite shadowsKelly Rauchenberger2021-02-131-0/+2
|
* Added tile-sized invisible spritesKelly Rauchenberger2021-02-121-0/+15
| | | | These are used when you want a solid, interactable object that is part of the map instead of sprite animated (e.g. the mailboxes).
* Scripts are organised per-map nowKelly Rauchenberger2021-02-121-3/+4
|
* Map changing!Kelly Rauchenberger2021-02-091-3/+2
| | | | 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-0/+15
| | | | Walking into a trigger zone runs a script.
* Maps can contain named points of interest called warpsKelly Rauchenberger2021-02-091-0/+6
|
* Entity prototypes can be stored in the map file nowKelly Rauchenberger2021-02-091-0/+29
|
* Added running soundsKelly Rauchenberger2021-02-031-0/+14
|
* Added collision with map tilesKelly Rauchenberger2021-02-021-9/+29
|
* Using tmxlite instead of TilesonKelly Rauchenberger2021-02-021-0/+46