Walter Agazzi
7cd860207d
AGS: Engine: add object and char assertions in Get/SetProperty functions
...
Since older commit 5f3b8eb the properties are stored in vectors,
strictly resized to the number of characters and objects.
But the script functions that access these do not do any assertion
whether the object or char is valid, which could cause bad mem
access in case script loops over a array of objects of MAX_OBJECTS
size, or tries to access something using Object* pointer from another room.
From upstream 6ad4b220d75a32ea8df959e9a7b7f1ecb21d0c26
2023-09-02 13:23:59 +02:00
Walter Agazzi
18b8335fea
AGS: Engine: fixed the bw-compat SetObjectFrame() behavior
...
This was broken by eb376e6
1. Treating negative loop and frame as an instruction to keep latest object's
loop and frame values was introduced around AGS 2.70 by Object.SetView(),
but this behavior also propagated to SetObjectFrame() command.
2. Removed clamping of loop and frame values inside Object.SetView(),
as that prevented applying a historical behavior of SetObjectFrame(),
where any invalid loop and frame value would be changed to just 0.
3. Don't quit the game in case of invalid loop and frame, but fallback
to default 0 value, and print a warning.
Also removed some redundant assignments to RoomObject,
possibly a result of a commit merge from another branch.
From upstream 66bb18f0224eebfb2a130395e9b18ce59b584e13
This is the 3.6.1 branch, but the fix is required to solve a game-breaking
bug in Chronicle of Innsmouth
2023-08-14 18:34:58 +02:00
Walter Agazzi
503e06a1a1
AGS: Engine: picked out basic Animate params check and warn instead of quit
...
This avoids the Gobliiins5 errors.
From upstream ecb4ae13031c32c2793d1d6a2b2af9f2af7bd911
2023-05-12 12:00:39 +02:00
Walter Agazzi
150df392b4
AGS: Engine: fixed <3.6.0 Animate functions default volume parameter
...
From upstream d8d94b36a3e4e7fe201e93965952698fc6c8da5e
2023-04-29 14:32:39 +02:00
Thierry Crozat
9619169132
AGS: Use 100 as a default animation volume, as it's relative anyway
...
From upstream 90a60fffd5f010e957a53721f860997835216308
Also includes upstream 951f60c4dc25aa1d4320f595e01b048b53f6bf5f
2022-06-19 00:46:56 +01:00
Thierry Crozat
282ee9ad97
AGS: Fixing more trivial warnings
...
From upstream 83f7d9857e70f7d1d10fedf61196740d20ba0b0a
2022-06-18 01:08:54 +01:00
Paul Gilbert
d39c6cb31f
AGS: Added "sound volume" param to all Animate() functions
...
From upstream 926220f9706baafa80d05ff6264f7fa13296dc16
2022-05-10 21:17:59 -07:00
Paul Gilbert
97c12e8435
AGS: Merged Character and ObjectCache structs, and hid in draw.cpp
...
From upstream 753d47d975b10666702c47a22cbc4e68847787f1
2022-05-05 22:41:09 -07:00
Paul Gilbert
a40ea44aa2
AGS: CharacterCache is stored in std::vector, hide in draw.cpp
...
From upstream 417879fce0dc27d458a73fedc20f311f3305f26f
2022-05-05 22:41:08 -07: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
8d261dd92f
AGS: Corrected naimng style of RoomObject::NO_VIEW constant
...
From upstream ff544cda911ab036be44171a1b97b8a52e943758
2022-04-24 16:00:03 -07:00
Paul Gilbert
f27e782b23
AGS: Use constant to setup "no view" in RoomObjects instead of -1
...
From upstream a1f74944a7e3c058deb8b12680c5b9aba19dee5a
2022-04-24 16:00:01 -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
Paul Gilbert
cb95772ad9
AGS: Update @OVERHOTSPOT@ when object/hotspot name changes
...
From upstream 64bb4fe130908d078c7945c000e0b43dfea49a14
2022-04-10 19:39:08 -07:00
Paul Gilbert
fabab1285d
AGS: Made Hotspot.Name and Object.Name settable
...
From upstream 6a7271c4df1765dc86f88d7676337b63fcef17aa
2022-04-10 19:39:08 -07:00
Paul Gilbert
a3dda03cf1
AGS: Store Views in std::vector
...
From upstream 095db88ae0f1acceb298f793a2e1b81dbe06fcff
2022-03-18 21:29:56 -07:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+
2021-12-26 18:48:43 +01:00
Alexandre Detiste
6044504762
JANITORIAL: typos
...
some in the variable names, some in the comments;
no change for the strings that interract with original games assets
2021-10-31 20:46:31 +01:00
Paul Gilbert
5e5a7ab089
AGS: SetObjectFrame fallback to dummy frame in an empty loop
...
From upstream 1496f7f6419d192bd4060956492e8897678035c9
2021-09-28 20:18:40 -07:00
Paul Gilbert
5ad9352f8e
AGS: Re-add accidentally removed Object::get_Solid export
2021-07-31 14:34:11 -07:00
Paul Gilbert
cf36b34f0d
AGS: Implemented Object.ManualScaling and Object.Scaling
...
From upstream fe9bf3707afb4c36effc358d8e3eb7834d333fb5
2021-07-27 22:03:38 -07:00
Paul Gilbert
47928c39aa
AGS: changed Object.SetView default loop & frame values to 0
...
From upstream eb376e63f95b09fd75ca7f96591aca20d0564072
2021-07-27 22:03:36 -07:00
Paul Gilbert
0274540d47
AGS: Implement remaining plugin core export classes
2021-07-17 15:52:11 -07:00
Paul Gilbert
bfabf7c94d
AGS: Fixed infinite wait in Object_Move under specific conditions
...
From upstream 9dbdfe423c870e010a887cada725a8bbdf2de16e
2021-07-07 22:07:10 -07:00
Paul Gilbert
eb1e337edd
AGS: Removed String's "const char*" conversion operator
...
From upstream 7c426674e7e53bffe9120f8ffc059b77fa03a606
2021-06-13 21:08:59 -07:00
Paul Gilbert
701396361c
AGS: Import of fresh codebase
2021-06-13 21:08:44 -07:00
Paul Gilbert
3a0a70bc43
AGS: Move more game.cpp globals to Globals
2021-03-10 21:01:11 -08:00
Paul Gilbert
dbdac3c3cf
AGS: Move walkablearea.cpp globals to Globals
2021-03-09 21:14:03 -08:00
Paul Gilbert
2d82d32577
AGS: Move draw.cpp globals to Globals
2021-03-09 21:14:02 -08:00
Paul Gilbert
37b563ef35
AGS: Move game globals to Globals
2021-03-07 19:23:24 -08:00
Paul Gilbert
887472c8c1
AGS: Moved a lot of game.cpp globals to Globals
2021-02-28 13:27:21 -08:00
Paul Gilbert
ef245e2104
AGS: Move thisroom to Globals
2021-02-28 13:27:21 -08:00
Paul Gilbert
334b2a9d48
AGS: Move play to Globals
2021-02-27 15:31:34 -08:00
Paul Gilbert
1a8ae27b58
AGS: Move game & spriteset into Globals
2021-02-26 21:28:53 -08:00
Paul Gilbert
cd017a73c7
AGS: Revert Standardization of number types
...
This reverts commit a96422af52 .
2021-02-16 19:45:02 -08:00
Paul Gilbert
a96422af52
AGS: Standardization of number types
...
This not only simplifies all the use of _t types to the
ScummVM equivalents, it gets rid of the int32 usage in
favor of just int, solving common type clashes with the
Amiga, for which int doesn't match int32
2021-02-13 11:38:55 -08:00
Paul Gilbert
1b86461eda
AGS: Fix const warnings in macro expansions
2021-02-06 16:37:31 -08:00
Paul Gilbert
fe46be9223
AGS: Added engine/ac/ folder
2021-02-06 16:37:31 -08:00
Paul Gilbert
9a78e04039
AGS: Beginnings of engine/ inclusion
2021-02-06 16:37:31 -08:00
Paul Gilbert
a7a9ca0543
AGS: Adding AGS3 namespace to cpp files
2021-02-06 16:37:31 -08:00
Paul Gilbert
d8e471b03c
AGS: Changing Common namespace to Shared
2021-02-06 16:37:31 -08:00
dreammaster
8026e4bb30
AGS: Run astyle formatting
2021-02-06 16:37:31 -08:00
Paul Gilbert
bd6a58d1a1
AGS: Adding ScummVM comment headers
2021-02-06 16:37:31 -08:00
Paul Gilbert
a60d290a08
AGS: Initial addition of engine/ and shared/ folders
2021-02-06 16:37:31 -08:00