| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
|
|
| |
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.
|
| |
|
|
|
|
| |
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.
|
| |
|
|
|
|
|
|
| |
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.
|
| |
|
| |
|
| |
|
|
|
|
| |
Screen fadeouts and map fadeouts are now handled by the effect system.
|
|
|
|
|
|
|
|
| |
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.
|
|
|
|
| |
Lucas can get electrocuted now.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
These are used when you want a solid, interactable object that is part of the map instead of sprite animated (e.g. the mailboxes).
|
| |
|
| |
|
|
|
|
| |
"A presses" are also no longer special values in the lines list, but are rather a field on the MessageLine object.
|
| |
|
| |
|
|
|
|
| |
This allows running off screen for a map transition to happen without bumping into something that isn't there.
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
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.
|
| |
|
| |
|
|
|
|
| |
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).
|
|
|
|
| |
Walking into a trigger zone runs a script.
|
| |
|
|
|
|
| |
Including the "no problem here" message. Problem was introduced with the \f change.
|
| |
|
|
|
|
| |
\n in a text message just indicates a newline. \n\f is a newline with an A press.
|
| |
|
|
|
|
| |
teleporting
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|
| |
|