summary refs log tree commit diff stats
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Added "floating" sprite attributeStar Rauchenberger2021-07-065-4/+13
| | | | Sprites with this flag enabled will ignore map collision.
* Added background scriptsStar Rauchenberger2021-07-055-2/+24
| | | | 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 fading in/out spritesStar Rauchenberger2021-07-054-2/+24
|
* Added sprite opacityStar Rauchenberger2021-07-053-3/+9
|
* Added debug info to Script objectStar Rauchenberger2021-03-132-0/+5
|
* Sound volume is controllable from settings menuStar Rauchenberger2021-03-133-3/+21
| | | | #7
* Disabled mute shortcut while on menuStar Rauchenberger2021-03-131-5/+7
| | | | | | Mostly because pressing M while the settings menu is open would not cause the music slider to go down automatically. #7
* Music volume is controllable from settings menuStar Rauchenberger2021-03-134-2/+35
| | | | #7
* Added sliders to the settings menuStar Rauchenberger2021-03-135-4/+117
| | | | #7
* Added submenusStar Rauchenberger2021-03-136-53/+137
| | | | #7
* Sound effects are paused on the pause menuStar Rauchenberger2021-03-133-0/+14
| | | | #7
* Added pause menu open and close soundStar Rauchenberger2021-03-133-7/+25
| | | | #7
* Added option to exit area from pause menu on supported mapsStar Rauchenberger2021-03-133-2/+18
| | | | #7
* Pause menu commands can do somethingStar Rauchenberger2021-03-134-1/+30
| | | | #7
* Added cursor wrapping to pause menuStar Rauchenberger2021-03-131-10/+16
| | | | #7
* Menu cursor should start at the top when openedStar Rauchenberger2021-03-131-0/+2
| | | | Even if it was left on a different option before closing the menu.
* Player can move cursor on pause menuStar Rauchenberger2021-03-133-0/+32
| | | | #7
* Added cursor to pause menuStar Rauchenberger2021-03-133-0/+38
| | | | #7
* Rendered pause menu during animationStar Rauchenberger2021-03-132-62/+112
| | | | Also, the game is not rendered at all if the pause menu is totally open, which makes sense because why are we going to the effort to render it and then just colour over it.
* Rendered some menu optionsStar Rauchenberger2021-03-135-1/+87
| | | | #7
* Added pause menu opening and closing animationStar Rauchenberger2021-03-134-12/+86
| | | | #7
* Created Interpolation abstractionStar Rauchenberger2021-03-134-64/+64
| | | | This simplifies EffectSystem quite a bit, and will be useful in other classes.
* Created MenuSystemStar Rauchenberger2021-03-134-1/+26
| | | | | | It currently has nothing in it. #7
* Interacting with Kuma and Duster in the finaleStar Rauchenberger2021-03-121-1/+2
| | | | | | The hot spring is also a little bigger now, because I'm using an enclosure to keep Lucas in, instead of setting the tiles to being solid or not. #20
* Prevented bonking if you moved on at least one axisStar Rauchenberger2021-03-121-5/+6
| | | | #18
* Made default sprite hitboxes slightly narrowerStar Rauchenberger2021-03-112-6/+6
| | | | This includes the player characters. It was impossible to access the Time Passage mailbox with the wider hitbox because the player would continuously slide between the solid tiles to either side of it.
* Added sliding around solid tilesKelly Rauchenberger2021-03-115-3/+78
| | | | #3
* Simplified collision detection outputKelly Rauchenberger2021-03-115-87/+75
| | | | It is no longer split into horizontal and vertical results. Also, the collision detection routine now does the work of calculating an adjusted position, instead of the caller (CharacterSystem) having to do it. This will be useful for #3.
* Fixed improperly calculated sprite hitboxesKelly Rauchenberger2021-03-113-14/+14
| | | | | | Also made sprite hitboxes bigger. #15
* switch_claus starts talking when he gets yaKelly Rauchenberger2021-03-096-0/+28
| | | | | | Kumatora, Duster, and Boney had to be given hitboxes, but they are not considered solid. #10
* Added text for "yes" path of "let's switch places"Kelly Rauchenberger2021-03-091-0/+1
| | | | #10
* Added "let's switch places!" Claus spriteKelly Rauchenberger2021-03-093-16/+25
| | | | | | He will wander randomly until you get close, and will then run at you. Talking to him or bumping into him does nothing currently. If you move out of his range of interest he will go back to wandering at a walking pace. #10
* Split collision detection into two phases, horizontal and verticalKelly Rauchenberger2021-03-081-1/+24
| | | | | | The whole function should probably be refactored at some point, possibly like therapy5's but that may be too complicated. #14
* Added connection between mirror map and hallucination_interiorKelly Rauchenberger2021-03-071-2/+2
|
* Idling in front of the mirror faces you toward itKelly Rauchenberger2021-03-061-1/+8
|
* The mirror reflection changes to Claus, Ionia, and WessKelly Rauchenberger2021-03-061-0/+3
|
* Added MirrorSystemKelly Rauchenberger2021-03-059-0/+93
| | | | 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-057-5/+49
| | | | 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-054-1/+90
|
* Set default collision bounds for map spritesKelly Rauchenberger2021-03-031-2/+2
| | | | Since it's always the same ones anyway, might as well set defaults and allow them to be overridden.
* Handled case where a pathfollowing sprite overshoots its destinationKelly Rauchenberger2021-03-022-0/+16
| | | | This may happen due to lag or due to debugging with lldb. What happens is that 60 times a second, the engine will check whether the direction toward the current endpoint is equal to the direction in the pathfinding instruction, and if it isn't (because the sprite has gone past the endpoint) then it sets the sprite's position to the endpoint instantly so that the pathfinding can continue.
* Fixed inverted Y coordinate of directionFacingPoint functionsKelly Rauchenberger2021-03-011-2/+2
| | | | It's because the game's coordinate system has Y increasing downward, whereas the coordinate system used by the trig functions has Y increasing upward.
* Started writing the Mixolydia scene!Kelly Rauchenberger2021-03-015-3/+27
| | | | | | Looking pretty good so far. TODO: direction facing functions have inverted Y coordinate. confusion expression doesn't exist yet. rest of scene.
* Added (human) Mixolydia spriteKelly Rauchenberger2021-03-013-0/+4
|
* 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.
* Pathfinding should be more biased toward straight lines nowKelly Rauchenberger2021-02-281-2/+4
|
* Added A* pathfindingKelly Rauchenberger2021-02-2710-9/+221
|
* Pressing M mutes/unmutes musicKelly Rauchenberger2021-02-271-0/+6
| | | | (except when the debug console is open)
* Added background music (defined on a per-map basis)Kelly Rauchenberger2021-02-276-4/+123
|
* Exposed loadMapScripts to scripting engineKelly Rauchenberger2021-02-261-0/+6
| | | | This allows common functions to be stored in not per-map script files. Which is useful for code that we're going to want in a lot of places -- i.e. how every underwater map is going to have a copy of the same exit area function.