Commit Graph

235 Commits

Author SHA1 Message Date
Duncan Brown
7050a8a2fb feat: adds in max args checking; also removes duplicate command validation and now properly validates min_args; re-orders validation to allow argument descriptor validation to always be done first; misc. cleanup of error strings 2022-04-19 07:55:09 +02:00
Duncan Brown
b1b301d917 WIP: added max args checking; working on fixing min args checking and validation in general as commands are validating on prepared args and therefore cannot validate on original user args currently 2022-04-19 07:55:09 +02:00
Duncan Brown
157c2f564c fix: properly validate min_args and remove superfluous validation call to argument descriptor 2022-04-19 07:55:09 +02:00
StraToN
7a46908569 chore: storing version and changelog 2022-04-09 14:13:32 +00:00
Duncan Brown
baee79f5a0 feat: reports source of ESC errors when possible (#568) 2022-04-09 16:13:09 +02:00
StraToN
fda97352a0 chore: storing version and changelog 2022-04-08 19:20:45 +00:00
Julian Murgia
05f139ef1a Fix: Avoid globals starting with 'i/' (#556) 2022-04-08 21:20:20 +02:00
StraToN
431efd853a chore: storing version and changelog 2022-04-08 19:19:23 +00:00
Duncan Brown
6d98e7bdce fix: should now also prevent areas from spawning events; also removes a superfluous variable 2022-04-08 21:18:57 +02:00
Duncan Brown
85b86f38be fix: handles the case where no coroutines are run as part of room creation; also fixes a small bug in ESCCamera 2022-04-08 21:18:57 +02:00
Duncan Brown
503d6134dd fix: eliminates the need to run two batches of ESC commands for loading games by introducing an extra ESC command; also corrects situations where transitions that are mixed and matched don't work together; and additional cleanup 2022-04-08 21:18:57 +02:00
Duncan Brown
114ef2fc55 wip: rough attempt at properly incorporating existing coroutines to correctly place room swapping. 2022-04-08 21:18:57 +02:00
Duncan Brown
c87e853ba6 fix: add code to handle scenes run directly from the Godot editor and allow for the current room to be set in the object manager, allowing proper setup 2022-04-08 21:18:57 +02:00
Duncan Brown
2508786cde fix: break loading up into two batches so objects can be loaded and accessed by other code in the loading method here 2022-04-08 21:18:57 +02:00
Duncan Brown
7ff0176d62 fix: allows for proper reloading of all globals (reserved or otherwise); also now properly saves reserved objects; plus a couple small guards to correct issues while quitting after loading games in certain conditions 2022-04-08 21:18:57 +02:00
Duncan Brown
84c84d3a0f fix: makes the loading process more consistent by using all ESC commands; also fixes issue caused by loaded save games not executing :setup or :ready, thereby preventing proper room switching in this case 2022-04-08 21:18:57 +02:00
Duncan Brown
ecb7bfb528 fix: accommodate empty parameter 2022-04-08 21:18:57 +02:00
Duncan Brown
99568c1764 Fixes issues with inventory items not properly persisting between rooms as well as a bug with unregistering items more than once. Also a couple small cleanup items and some additional docstrings. 2022-04-08 21:18:57 +02:00
Duncan Brown
01d7d041cd chore: refactor of object manager to use array of objects instead of untyped dictionary. 2022-04-08 21:18:57 +02:00
Duncan Brown
82acf8374d feat: adds instant transitions with an object manager rework, along with
something missed from PR #487
2022-04-08 21:18:57 +02:00
balloonpopper
06d37b0aad feat: Reverse save games order - issue 211 (#565)
Co-authored-by: Balloonpopper <balloonpopper@git.com>
2022-04-07 20:36:53 +02:00
StraToN
607808536d chore: storing version and changelog 2022-04-05 06:03:09 +00:00
balloonpopper
3e80abf322 feat: Added print command to print output at any debug level (#564)
Co-authored-by: Balloonpopper <balloonpopper@git.com>
2022-04-05 08:02:49 +02:00
balloonpopper
167e06bfd5 feat: Add global interpolation for say command (#562)
Co-authored-by: Balloonpopper <balloonpopper@git.com>
2022-04-05 08:02:17 +02:00
balloonpopper
aa6a4c4d50 feat: Added ability to print globals as part of debug messages (#561)
Co-authored-by: Balloonpopper <balloonpopper@git.com>
2022-04-05 08:01:40 +02:00
balloonpopper
2c79da17e4 fix: rand_global fixes (#555)
Co-authored-by: Balloonpopper <balloonpopper@git.com>
2022-03-29 07:20:12 +02:00
Balloonpopper
9dd06d0d81 fix: Fix broken camera push. Issue 125 2022-03-26 14:24:44 +01:00
dploeger
543ba16105 chore: storing version and changelog 2022-03-24 06:23:18 +00:00
bolinfest
38e3eb264d fix: exit loop as soon as command is found (#550) 2022-03-24 07:22:57 +01:00
StraToN
bda879fd22 chore: storing version and changelog 2022-03-23 12:56:44 +00:00
Julian Murgia
284cb0d539 Fix: Mirroed ESCItem's talk animation was conflicting with mirrored idle
Also remove multiple calls to get_animation_player()
Fixes https://github.com/godot-escoria/escoria-issues/issues/201
2022-03-23 13:56:18 +01:00
Michael Bolin
a3c8fe882e fix: eliminate escoria/esc/command_paths that duplicates escoria/main/command_directories
It appears that the settings `escoria/esc/command_paths` and
`escoria/main/command_directories` have duplicate purposes.
Unfortunately, they are read in different places, so if you add a
directory to one setting, it will not be present in the other.
Specifically, `ESCCompiler` read from `escoria/esc/command_paths`
while `ESCCommand` and `ESCCommandRegistry` read from
`escoria/main/command_directories`.

As the `COMMAND_PATHS` constant had no references, it seemed more
appropriate to delete.

The `escoria/esc/command_paths` appears to have been set initially in
`project.godot` as part of:

https://github.com/godot-escoria/escoria-demo-game/pull/467
2022-03-23 13:05:09 +01:00
StraToN
23b51938e7 chore: storing version and changelog 2022-03-21 21:32:20 +00:00
balloonpopper
23ce44eefb feat: Updated exit documentation (#545)
Co-authored-by: Dennis Ploeger <github.dennis@dieploegers.de>
Co-authored-by: Duncan Brown <duncan@prometheussoftware.ca>
Co-authored-by: Balloonpopper <balloonpopper@git.com>
2022-03-21 22:31:57 +01:00
Julian Murgia
3c0ebf1869 Fix: out of bounds exception in camera_push (#546) 2022-03-21 22:19:11 +01:00
Julian Murgia
9b80aeb154 New logo that looks less like a risen middle finger (#544) 2022-03-18 10:20:41 +01:00
Dennis Ploeger
e98209d387 fix: Reset audio bus layout (#542) 2022-03-17 23:09:53 +01:00
StraToN
8e1302b57b chore: storing version and changelog 2022-03-17 21:33:42 +00:00
Balloonpopper
2dd931fdd0 fix 2022-03-17 22:33:20 +01:00
StraToN
1e0862c3f2 chore: storing version and changelog 2022-03-17 21:33:02 +00:00
Julian Murgia
0262a75b25 Managed mirrored speak animations in ESCItem
Simplified sprite mirroring in cases of movement and talking


Simplified even more


Fix: simplification again
2022-03-17 22:32:34 +01:00
Balloonpopper
1b4f3dccfe feat: Add walk fast flag to walk_pos commands to make them consistent with the walk commands 2022-03-17 22:30:02 +01:00
Dennis Ploeger
26e4e4c1a3 fix: Ensure escoria#apply_settings only called in game not editor (#543)
Co-authored-by: balloonpopper <5151242+balloonpopper@users.noreply.github.com>
Co-authored-by: Julian Murgia <the.straton@gmail.com>
2022-03-15 07:45:00 +01:00
Dennis Ploeger
fdd61de4d5 fix: Reduced log to warning if multiple navigation polygons are enabled while in editor
fixes godot-escoria/escoria-issues#103
2022-03-14 22:38:36 +01:00
bolinfest
d0d97ba9bf feat: add gamepad support to escoria-ui-simplemouse (#518)
This commit starts by introducing a new action, `ESC_UI_PRIMARY_ACTION`,
that is used to represent a "primary action" from an input device, such
as a left-click on a mouse or the press of the primary button on a
gamepad. Although this action is not added to `InputMap` by default in
`escoria-core`, `_unhandled_input()` in `esc_item.gd` is updated to look
for it.

The other portion of this commit is an update to
`addons/escoria-ui-simplemouse/game.gd` that adds a gamepad mapping to
the `InputMap` for both `ESC_UI_PRIMARY_ACTION` as well as another new
action `ESC_UI_CHANGE_VERB_ACTION`. These actions are mapped to X and Y
on an XBox controller, respectively.

Note that `game.gd` is also updated to implement `_process()` such that
moving `JOY_AXIS_0` and `JOY_AXIS_1` on "gamepad 0" will move the
cursor around on the screen as the mouse would.

Overall, this makes the game fairly playable with a gamepad, though
admittedly a mouse is still currently required to click the "New game"
button on the initial menu because `BaseButton::gui_input()` appears to
be hardcoded to check for mouse events exclusively:

godotengine/godot@a09814e/scene/gui/base_button.cpp#L55-L81
2022-03-14 22:15:01 +01:00
StraToN
8adc164254 chore: storing version and changelog 2022-03-10 22:42:08 +00:00
Julian Murgia
cb538edb01 fix: Wrong variable used causing a crash on UI de-registering 2022-03-10 23:41:46 +01:00
StraToN
4042ea81af chore: storing version and changelog 2022-03-10 22:07:27 +00:00
Balloonpopper
9037e160c2 fix: Fix issue #166 2022-03-10 23:07:04 +01:00
StraToN
a20932a8e4 chore: storing version and changelog 2022-03-10 22:05:52 +00:00