Commit Graph
88 Commits
Author SHA1 Message Date
Hubert Maier 1d8c47257a JANITORIAL: AGS: Correct Spelling Mistake
alot -> a lot
2022-11-15 22:52:43 +02:00
Le Philousophe ab0854d81a AGS: Don't use unsafe sprintf and vsprintf 2022-10-23 22:46:19 +02:00
Le Philousophe 7f90669bdd AGS: Don't use unsafe strcat and strcpy 2022-10-23 22:46:19 +02:00
Thierry Crozat 6163d4880a AGS: fixed CompatKey may be "none" in some cases for valid key press
From upstream f0e699392866b1b737a6b5be08790cbddbc6767d
2022-10-10 00:16:16 +01:00
Thierry Crozat bcb854370d AGS: key plugin callback and game. vars must use "CompatKey"
From upstream 555a3060491523d2c236f0bbb77b981eab2d4359
2022-10-10 00:16:16 +01:00
Thierry Crozat 0927821afd AGS: small refactor of key code variables (stricter names, types)
From upstream e04c8ff1fe77e4462babd21d2a103a12e68b4b84
2022-10-10 00:16:16 +01:00
Thierry Crozat e2497cff42 AGS: include KeyMods flags in the WaitSkipResult
From upstream 65bfbb9bde733457b8ab958bb3cd273f7fadcb25
2022-10-10 00:16:16 +01:00
Thierry Crozat 5987bc5e6e AGS: rewrote eAGSMouseButton enum to sync with the script API
* Changed from -1 - based constants to 0 - based constants;
* These were purely internal values, therefore no API would be harmed;
* Removed necessity of converting from internal mouse button code to script and back all the time;
* On a side note, this fixes a bug where WaitMouse etc were returning incorrect values on mouse skip, because we forgot to convert from internal to script code.

From upstream 471098d239b076c494beb2d554572ccb69372667
2022-10-10 00:16:16 +01:00
Thierry Crozat 29505204c1 AGS: Turned want_exit and abort_engine vars from int to bool
From upstream e924778ce3f88a4c821a4eecfea8edc353a6807b

In ScummVM they were already bools, but where still assigned values
of 0 and 1 instead of false and true in some places.
2022-06-23 23:57:27 +01:00
Thierry Crozat 76aebcd336 AGS: Tidy the quit message code and add comments
From upstream 3b4d21ab7025d4b66e7351639073f6d62e44f277
2022-06-21 23:28:01 +01:00
Thierry Crozat 282ee9ad97 AGS: Fixing more trivial warnings
From upstream 83f7d9857e70f7d1d10fedf61196740d20ba0b0a
2022-06-18 01:08:54 +01:00
Thierry Crozat 5d8c66c511 AGS: Implemented debug keys for saving/restoring a game
This may be useful in case the game does not provide any save system, or one is broken.
From upstream 86130ec92f6966cfa2d5565c749ba839acad8136
2022-06-16 23:16:20 +01:00
Paul Gilbert 6482e38803 AGS: CharacterExtras and MoveLists are stored in std::vector
From upstream 0c81cfefb788c0dcfdb2cad914f939f28110edca
2022-05-05 22:41:08 -07:00
Paul Gilbert 8e4254b839 AGS: Refactored walk-behinds calculation and texture generation
From upstream ac0c4cea6a6e41238fe74f0753fa6a458f05d954
2022-05-05 22:41:05 -07:00
Paul Gilbert 8d588c3a30 AGS: Fixed on_key_press not called all times
From upstream ffb73a0a7488e16b26c969b7efb3ca035f7dcea4
2022-04-29 22:20:39 -07:00
Paul Gilbert 0490236774 AGS: Use old-style keycodes for internal engine commands
From upstream e2f8b0f2357d2587016425ff6629ef37601d8e0f
2022-04-29 22:20:38 -07:00
Paul Gilbert 1ab42991d1 AGS: Added more event constants, clarified couple event calls
From upstream ae6862f7917832ebc5f2314561938c01725ac8a2
2022-04-25 22:11:42 -07:00
Paul Gilbert 09d4069428 AGS: Share animation cycling algo between Buttons and RoomObjects
From upstream fd28a2548e39c85478d98e26b51713cd687acada
2022-04-22 20:05:04 -07:00
D G Turner b59e24e117 AGS: Fix Cast Qualifier GCC Compiler Warnings
These are emitted if -Wcast-qual is passed to GCC.
2022-04-22 14:14:55 +01:00
Paul Gilbert 415235b74e AGS: expanded Button.Animate to feature all common params
From upstream 0853d4146276f86c7418dc02360deb49a0ef324a
2022-04-21 22:07:41 -07:00
Paul Gilbert 06880291b2 AGS: Refactor restrict_until and ShouldStayInWaitMode()
From upstream 434dd136b4e6628545677a17fc17c847efff1c71
2022-04-21 21:49:13 -07:00
Paul Gilbert e0282d5064 AGS: Implemented key handling switch (old/new mode)
From upstream b9e23731d0d792d095c1d4e83fa1797a1afeee46
2022-04-21 20:55:38 -07:00
Paul Gilbert e736059bbe AGS: pass key modifiers as an extra arg to on_key_press
From upstream b00b82220cbabf44185e042ef33b543fe2ad3543
2022-04-21 20:23:53 -07:00
Paul Gilbert c0010986ac AGS: Implemented on_text_input(int chr) callback
From upstream ba866abab0ba5a48b8577c4a01f0533a2d7e68de
2022-04-18 19:10:39 -07:00
Paul Gilbert b2d8bcad75 AGS: Refactor RunTextScript* functions for the purpose of clarity
From upstream 17af6ca2cb1fba310900f5189da788fa52ef7dab
2022-04-18 19:10:39 -07:00
Paul Gilbert af079a9c45 AGS: Handle all the buffered key events in one game frame
From upstream e489e187e88071c15fa64351852b8ede45f9f7ac
2022-04-18 19:10:38 -07:00
Paul Gilbert 8be58d3de2 AGS: Store game events in std::vector, remove event cap
From upstream a2f9a5ba94377686762b2828df4fccbe661d2b03
2022-04-18 19:10:29 -07:00
Paul Gilbert aeddd232e0 AGS: Removed animating buttons limit
From upstream 484f6d3f44c7dbb361ddeebd8bb46862760501bc
2022-04-13 21:55:18 -07:00
Paul Gilbert 8e3207b38b AGS: Moved frame wait and user input check outside of VideoPlayer
From upstream c5f815729792837b6b4a02c013c7c554942792d9
Only partially implemented, since ScummVM has it's own video player code
2022-04-12 22:27:57 -07:00
Paul Gilbert d147a541ec AGS: Cleanup some unused code/comments
From upstream f0dc4b364888f019c037afee6ee66aa0726fb560
2022-04-10 19:39:08 -07:00
Paul Gilbert 3425f8faf2 AGS: Moved couple of gui-related global vars into GuiOptions struct
From upstream 973d238a2c20368d8932ade22d2965d121cb7793
2022-04-10 19:39:06 -07:00
Eugene Sandulenko abea37c9bb ALL: Update ScummVM project license to GPLv3+ 2021-12-26 18:48:43 +01:00
Orgad Shaneh a386075217 AGS: Use nullptr
Using clang-tidy modernize-use-nullptr
2021-11-14 15:51:59 +02:00
Paul Gilbert 80dbcd7fc8 AGS: Fix inventory scroll buttons in 5 Days a Stranger 2021-09-29 21:47:59 -07:00
antoniou79 d474ee3003 AGS: Change a few char variables to int8
In order to specify that they should be treated as signed

Some ports may treat an (unspecified) "char" as unsigned by default. Android does this for its ARM architectures and while we did fix this by enforcing -fsigned-char to its compiler, the issue may come up for other ports. Also it should be better to clarify in the engine when a variable is not actually storing string characters.

I've spotted and changed the most "safe" cases I could find for this. As far as I can tell, out of these, only the Outline field and fontoutline array could potentially be assigned valid negative values which would cause bugs for ports treating chars as unsigned.
2021-09-09 19:27:49 -07:00
Paul Gilbert d90cb0d203 AGS: Removed excessive headers containing random group of includes
From upstream 9e5149457a4638694fb1366b3fa59b08816f522c
2021-08-17 21:31:56 -07:00
Paul Gilbert 65f992979e AGS: Implemented Game.BlockingWaitSkipped
From upstream ce6bd0173f668932a0a5cab41119d2a476f7e73c
2021-07-27 22:03:38 -07:00
Paul Gilbert 9612b5cb35 AGS: distinct overlay types of speech and messagebox
From upstream d7c091890d2cde07776cca4ebbed7352d379612d
2021-07-27 22:03:37 -07:00
Paul Gilbert 0b4b055d6f AGS: Wait functions may have infinite timeout with <0 time arg
From upstream 53c8b50559f6e8241ba7dbedbe1a8ff860522590
2021-07-27 22:03:37 -07:00
Paul Gilbert b4997729cd AGS: Wait functions return the actual reason they were skipped
From upstream 5a9a32348659f421115a951155405d431f8f3234
2021-07-27 22:03:36 -07:00
Paul Gilbert 46eeb0aa2a AGS: Fix crash quitting app when speech dialog is active 2021-07-10 20:23:52 -07:00
Paul Gilbert 73cd6b9215 AGS: Structure for passing events UTF8 text around along with the keycode
From upstream 9d65a68c61d0503e05e2cbe80447af0d619161e4

Note that ScummVM doesn't have a TEXT_INPUT event, so this change and following
ones will be mostly to keep in sync with the standalone codebase even if they're
not directly used
2021-07-10 14:33:36 -07:00
Paul Gilbert 44828747f4 AGS: Fix crash quitting Whispers of a Machine from main menu 2021-06-25 22:29:35 -07:00
Paul Gilbert 87dba2e276 AGS: Re-added checks for SHOULD_QUIT and abort_engine 2021-06-13 21:08:52 -07:00
Paul Gilbert 06c5e089fd AGS: Hook up event handling 2021-06-13 21:08:51 -07:00
Paul Gilbert 701396361c AGS: Import of fresh codebase 2021-06-13 21:08:44 -07:00
Paul Gilbert e22a8657ac AGS: Fix crash exiting Mage's Initiation 2021-04-30 20:35:09 -07:00
Thierry Crozat 9353b71de0 AGS: Fix crash in some games when quitting
The crash occured in game_loop_do_late_update called from
UpdateGameOnce if a QUIT event was previously processed in
game_loop_check_controls.
2021-04-22 02:55:33 +01:00
Paul Gilbert 407d38e7e9 AGS: Add a lot of abort_engine checks to break out of scripts
Previously, quitting could generate spurious error messages
between the point abort_engine was set, and the outer game
loop where game execution was aborted. It just wasn't visible,
because abort_engine was set. Now that we're immediately
generating a ScummVM error for any error generated, I needed
to add extra abort_engine break checks to avoid any errors
2021-04-16 20:44:41 -07:00
Paul Gilbert e1a5c1778b AGS: Cleanup of key state handling 2021-04-11 13:15:47 -07:00