| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
Also spruced up the event that takes you there. Also fixed an issue where transplantParty wouldn't take the medium of the new position into consideration. Also added a constructor to the lua version of vec2i.
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
The resurfacing animation seems pretty good actually. Not sure about the sound effect for him submerging. Also gotta fix the issue with cutscenes in non-normal media.
|
|
|
|
| |
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.
|
|
|
|
| |
Map scripts also now actually run in their own lua thread.
|
| |
|
| |
|
| |
|
|
|
|
| |
It is weird.
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
Lucas's climbing animation now accurately uses 60fps and looks correct finally!
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
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??
|
|
|
|
| |
This allows walking through solid objects. It can be enabled and disabled using StartClipping() and StopClipping() in the debug console. It should not be used in any actual scripts.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
Because of an issue with how collision checking with sprites worked, it was possible that you could collide with a boundary twice (once when moving up to it, and once when moving from it to past it, instead of just one or the other) when moving up or left as long as the colliding sprite had the ID zero. This was causing a fun issue where the map change script from hallucination_interior to hallucination_cliff was getting triggered twice, but only every other time.
Because we're using integers and not real numbers, we can make the boundary exclusive by adding one. The issue was also technically possible in the down and right directions, but only if the sprite ID was INT_MAX, which is unlikely to occur.
It was decided that the former collision is the real one (if you start away from the boundary and then move into it).
|
| |
|
|
|
|
|
|
| |
The hallucination cliff area and the hot spring map have also been dumped now, but they have not been tested and likely need work because they use a third layer, which is not yet supported. However these all share a tileset now, yay! I added collision and run sounds back to the tiles and hopefully it matches up with what it was before. Also the maps have nicer names now.
i.e. big change with no noticeable effects
|
|
|
|
| |
Multiple map IDs can be provided now and their tilesets will be combined.
|
| |
|
|
|
|
| |
And they're all on their own threads again. This is mostly so debug commands can be run during execution of other scripts. But it can also be useful for map init scripts (if we want a script to run whenever a map is loaded, even though map loading is usually done by a script).
|
|
|
|
| |
Also it turns out you totally don't need the runner thread.
|
| |
|
|
|
|
|
|
| |
The player's party will be set to "frozen" at the start of a cutscene and "still" at the end. "frozen" doesn't include idle animations, which are weird to show up during tense exchanges.
A CutsceneOptions enum was introduced to be able to modify the growing number of things that StartCutscene() and HideCutsceneBars() do. Currently the lightning mailbox event uses it so that Lucas's animation is not reset to still (instead of the collapsed animation) after he's electrocuted.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
|
|
| |
All sprites are now paused when a cutscene starts and unpaused when it ends. Pausing means that the CharacterSystem and BehaviourSystem will not process them in their tick. This allows specific sprites to be unpaused during cutscenes if movement is needed.
The player character is halted and made non-controllable by the script when the cutscene starts and made controllable again when it ends. It is important to remember that if interacting with a sprite that might be moving, you have to manually call Halt() on them in their script to make them stop moving.
|
|
|
|
| |
Ionia now moves at half Lucas's speed, which I think is good for NPCs.
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
| |
|