Commit Graph
94 Commits
Author SHA1 Message Date
Duncan Brown e807044e45 fix: cleaning up and updating validation code. 2022-10-31 16:44:53 -04:00
Duncan Brown 3673977d5c Start of cleanup. Previous changes look to be holding up according to testing. 2022-10-31 16:44:53 -04:00
Duncan Brown 6d0e9e5326 WIP: Iterating on warning message. Clamping set_target target in case of target being too close to limits. 2022-10-31 16:44:53 -04:00
Duncan Brown ec33580d73 WIP: Correcting for switched camera limits. Updating validation for camera methods, although this is a WIP. 2022-10-31 16:44:53 -04:00
Duncan Brown d95d26ff5f fix: updates camera limit checking in commands to respect viewport limits (i.e. taking into account camera centre and half-screen limits); also updates warning message and no longer fails on limit violation. 2022-10-31 16:44:53 -04:00
Duncan Brown 9842feea33 Fixed up math for compensation. It looks as though no other limit clamping or checking should be needed. 2022-10-31 16:44:53 -04:00
Duncan Brown cc74206e6c fix: Updates those camera commands that make use of translation to compensate for drag margins. 2022-10-31 16:44:53 -04:00
Duncan Brown b11e196d4b feat: adds in additional information concerning failed statement. 2022-10-31 16:17:15 -04:00
Duncan Brown 4065b5c83e feat: includes most-currently run statement when signalling a statement's/event's completion to aid in debugging messages 2022-10-31 16:17:15 -04:00
Duncan Brown 88214e4611 fix: ensures a failed command/event doesn't leave the game in a state where it isn't accepting inputs. 2022-10-30 19:10:39 +01:00
Duncan Brown 950ee463d8 fix: fixes background image blowing up to 1:1 size; also small cleanup 2022-10-25 00:00:34 +02:00
Duncan Brown f74cb48b3d fix: small UI touchups/fixes 2022-10-25 00:00:34 +02:00
Duncan Brown 62c2920439 fix: UI should now highlight proper verb instead of always going back to an item's default action 2022-09-14 08:50:36 +02:00
Duncan Brown 7201f02304 fix: adds proper player selectable checking in click events; also properly orders hover_stack in ascending z_index order 2022-09-13 19:27:03 -04:00
Duncan Brown 169a5b501a fix: focuses the 'topmost' element from hover_stack inline with what hotspot_focused already is 2022-09-13 19:27:03 -04:00
Duncan Brown 5f4c97ca99 feat: allows for command to specify the currently active player for saying things 2022-09-13 19:27:03 -04:00
Duncan Brown 895700870d feat: allows for default/fallback actions to be specified 2022-09-13 19:27:03 -04:00
Duncan Brown 6e220e7e64 fix: clears tooltip after any action has finished regardless of success 2022-09-13 19:27:03 -04:00
Duncan Brown d04c46c14d fix: guards against scenes with no player set or loaded 2022-08-26 13:44:41 -04:00
Duncan Brown 210f0d25e4 fix: ignores mouse enter events for non-actionable items (i.e. non-interactive or not active) 2022-08-24 22:37:34 +02:00
Duncan Brown 5be887cdf5 fix: disallows the use of specified strings in the name argument for these commands 2022-08-24 22:36:15 +02:00
Duncan Brown 308d72d5aa fix: accounts for item offsets, i.e. those not at (0, 0) 2022-08-23 18:48:16 -04:00
Duncan Brown 689062989b fix: puts these items back at the origin which is necessary so their positions in the scene can be used 2022-08-23 18:48:16 -04:00
Duncan Brown 5b315bb0ee fix: allows inactive/non-interactive item clicks to pass through to appropriate background click event 2022-08-23 18:48:16 -04:00
Duncan Brown 813495051b fix: blocks actions on inputs for non-interactive and/or non-active items/objects 2022-08-23 18:48:16 -04:00
Duncan Brown e633966727 fix: prevents a channel from being cleared out when there are event exceptions 2022-08-09 18:14:55 -04:00
Duncan Brown 4a6f02b7ae fix: has_point() is exclusive of right-/bottom-edge, so we need to account for that 2022-08-09 22:10:35 +02:00
Duncan Brown e4bb111cb9 fix: changes camera target vs limit errors to warnings and makes sure they're in the right places 2022-08-09 22:10:35 +02:00
Duncan Brown abb01b7f0b feat: validates updated camera position against current camera limits; also some messaging updates 2022-08-09 22:10:35 +02:00
Duncan Brown 6a223ca199 fix: prevents changing scenes to the same scene as is current (#619) 2022-08-09 21:48:57 +02:00
Duncan Brown c30d109645 fix: forces immediate animation start in order to avoid 'flashing' or delayed start 2022-07-19 18:32:50 -04:00
Duncan Brown 0944f601f4 fix: changes 'scenery' node from Node to Node2D so it will respect the visibility of the root (i.e. the room). 2022-07-19 18:32:50 -04:00
Duncan Brown 4991ff3423 fix: logs a warning if the avatar path isn't set or if the avatar itself can't be found 2022-07-18 19:29:22 -04:00
Duncan Brown c4afb59121 fix: puts a default avatar path back as it had gone missing for some reason 2022-07-18 19:29:22 -04:00
Duncan Brown 2966502806 feat: appends the global ID or node name of the item/player to any warning messages 2022-07-16 00:24:01 -04:00
Duncan Brown db85689668 feat: performs basic validation for ESCAnimationResource in-editor and in-game 2022-07-16 00:24:01 -04:00
Duncan Brown 653e336383 fix: handles translation keys that have only one word (i.e. no spaces… (#596)
* fix: handles translation keys that have only one word (i.e. no spaces) in the actual dialogue

* fix: fixes dialogue that starts with a space

* fix: issues warning if translation key cannot be found (same for a voice file that can't be found) and uses the untranslated text in this case
2022-06-23 11:27:04 +02:00
Duncan Brown 0fd0ba45ae fix: prevents duplicate item registration (#587)
* fix: prevents duplicate item registration and also ensures that the player is forcibly registered
* updates ESCLocation to respect duplicate registration rules
2022-05-13 10:49:14 +02:00
Duncan Brown 77ba581398 fix: room breaks since it wasn't positioned correctly 2022-05-11 19:18:05 +02:00
Duncan Brown f7c8b98f3b chore: changing logging level of this message to something more appropriate 2022-05-11 19:18:05 +02:00
Duncan Brown aeffe09e34 fix: avoids being able to pause during transitions; also moves pausing request responsibility to UI; also fixes issue w/ trying to pause during intro and main menu 2022-05-11 19:18:05 +02:00
Duncan Brown ff178541fc fix: avoids crashes in case of input when room is run directly and interrupted; may look at updating room manager in the future 2022-05-11 19:18:05 +02:00
Duncan Brown 9e247a9218 fix: checks to make sure target_object after a walk to an object is the proper one in case action manager is already yielding and expecting a particular one; change to proper interrupt method name; clears out pending events 2022-05-11 19:18:05 +02:00
Duncan Brown 954e014cbf feat: changed approach for disabling input during scene transitions; this should be cleaner and also delays re-enabling of input until after transition in is finished (if there is one) 2022-05-11 19:18:05 +02:00
Duncan Brown 85947794b9 fix: necessary guard in case 'run' hasn't been executed yet 2022-05-11 19:18:05 +02:00
Duncan Brown c9c7cd2dfa feat: disallows user input during scene changes 2022-05-11 19:18:05 +02:00
Duncan Brown acfb3d9ddd fix: iterating on method outlined in ticket; blocks events/commands from being queued during scene changes, which should prevent stray/untimely events from being queued for an old room when in a new room 2022-05-11 19:18:05 +02:00
Duncan Brown 64ac7654f4 fix: repeating fix from another branch; these will be merged anyway 2022-05-11 19:18:05 +02:00
Duncan Brown 05ca4c1795 wip: initial implementation, but has issues with interrupting other running events like play_snd 2022-05-11 19:18:05 +02:00
Duncan Brown 738ce0debc fix: implement varargs for ESC commands. 'custom' makes use of this #592 2022-05-02 22:50:57 +02:00
Duncan Brown 0468817812 fix: prevents the same event from being queued multiple times in a row 2022-05-02 22:49:06 +02:00
Duncan Brown f9e39af798 fix: avoids crashing when selected_action is null (#586)
* fix: avoids crashing when selected_action is null
* fix: more robust handling suggested by @straton
2022-04-30 21:50:55 +02:00
Duncan Brown 5d23bb1af1 fix: avoids brief flickering to current scene during scene transition; can be moved since these were left in place pre-transition overhaul 2022-04-30 20:06:13 +02:00
Duncan Brown f69b29da29 fix: eliminates intermittent flicker with UI; NO_UI shouldn't be allowed for :setup events 2022-04-30 20:06:13 +02:00
Duncan Brown eeb7042d11 fix: adds control node to ESCGame for UI that must be populated, along with Escoria-only UI methods; this helps to avoid display issues on startup 2022-04-30 20:06:13 +02:00
Duncan Brown 6afff99e7c fix: allows for transition to be disabled on init; still has issue w/ UI showing up for fraction of a second 2022-04-30 20:06:13 +02:00
Duncan Brown 3acf5ebe2a fix: incorrect dialog player type 2022-04-23 19:19:53 +02:00
Duncan Brown 9db27c6a74 fix: fixes issue w/ bottle from room9 and inventory across rooms; fixes issue w/ room10 and text rendering 2022-04-19 16:25:26 +02:00
Duncan Brown 0cf4672161 fix: needs instantiation; also small cleanup 2022-04-19 16:25:26 +02:00
Duncan Brown 0175342a61 wip: splits out camera from UI game scene; makes camera a per-room thing; updated check for running rooms directly; corrected timing issue w/ updating state immediately by ensuring animation player does seek with immediate animation update 2022-04-19 16:25:26 +02:00
Duncan Brown 8d1b00bb90 fix: moves game scene removal/addition to room until after transition; still needs testing, especially w instant transitions 2022-04-19 16:25:26 +02:00
Duncan Brown eac4385b81 wip: moving camera setup closer to actual :setup event post-transition out to allow for more setup to be done 'under the hood' 2022-04-19 16:25:26 +02:00
Duncan Brown b985c42e08 fix: change hotspots Node to Node2D to allow for proper room visibility swapping 2022-04-19 16:25:26 +02:00
Duncan Brown 4b3b96b688 fix: missing this parameter 2022-04-19 16:25:26 +02:00
Duncan Brown 92e23beb00 fix: should now block for yielding events but only on the same channel 2022-04-19 16:25:26 +02:00
Duncan Brown 3ff3849232 fix: prevents async (i.e. events that are yielded to) from overlapping 2022-04-19 16:25:26 +02:00
Duncan Brown c92c4edacf fix: remove duplicate transition out (needs testing) 2022-04-19 16:25:26 +02:00
Duncan Brown 768f65d929 fix: allows for bare decimals (no leading 0) to be properly interpreted; also adds in additional validation for 'wait' command 2022-04-19 07:55:09 +02:00
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
Duncan Brown baee79f5a0 feat: reports source of ESC errors when possible (#568) 2022-04-09 16:13:09 +02: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 0556ccbf32 fix: we now need to transition in from :ready in the case of manual transitions 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
Duncan Brown c676ce5a55 Merge pull request #496 from godot-escoria/issue-98
fix: guard for cases where no animations are set.
2022-02-16 11:51:33 -05:00
Duncan Brown d41f647a11 Merge branch 'develop' into issue-98 2022-02-16 10:59:03 -05:00
Duncan Brown ea3543b5ee fix: guard for cases where no animations are set. 2022-02-16 10:57:21 -05:00
Duncan BrownandDuncan Brown 326618df18 fix: set a proper guard in case of no speaking animations (#488)
+ correct the upper limit check for the speaking index
Co-authored-by: Duncan Brown <duncan@bhs-consultants.com>
2022-02-06 11:24:55 +01:00
Duncan BrownandDuncan Brown 99dc1e0110 feat: refactor numerous areas and tokenize string literals where possible; also fixes some small bugs (#487)
Co-authored-by: Duncan Brown <duncan@bhs-consultants.com>
2022-02-04 17:10:40 +01:00
Duncan BrownandDuncan Brown e9d63e94b0 feat: move room initialization code into manager (#479)
Co-authored-by: Duncan Brown <duncan@bhs-consultants.com>
2021-12-13 07:35:38 +01:00
Duncan BrownandDuncan Brown fd47499fed feat: add options menu to pause menu (#477)
Co-authored-by: Duncan Brown <duncan@bhs-consultants.com>
2021-12-06 07:56:31 +01:00
Duncan Brown 9fbf0c254c fix: correct data type and update missed constant references (#476)
fix: correct data type and update missed constant references
2021-12-03 23:30:19 +01:00
Duncan BrownandDuncan Brown 391bf08f21 feat: add esc_current_scene reserved global (#474)
Co-authored-by: Duncan Brown <duncan@bhs-consultants.com>
2021-12-03 08:45:02 +01:00