Walter Agazzi
0b50067abb
AGS: Engine: implement add_waypoint_direct(), fix AddWaypoint's resolution
...
This fixes Character.AddWaypoint not applying room<->mask resolution conversion,
which result in character's speed being different if room has non 1:1 mask resolution.
Hide calculate_move_stage() inside pathfinder, and expose add_waypoint_direct()
in the pathfinder interface instead.
From upstream 093354d78849dc3b4f13a244d4400c4e71f7d687
2024-03-28 12:01:52 +01:00
Walter Agazzi
4ad5e51016
AGS: Engine: fixed wrong mask upscale for low-res rooms in hi-res game
...
Instead of "physically" resizing masks we should adjust MaskResolution factor, used when converting coordinates.
This also relates to the situations when the low-res game is run in "upscale" mode (e.g. 320x200 -> 640x400).
This fixes lowered walking speed (#2004 ).
This is a (hopefully) proper alternative to an older fix 900f47b , and 60d79d1 (see #1383 ).
From upstream 1b4117a6d2bc9e5a70739d7d73ab77e616320fdb
2023-05-23 13:47:28 +02:00
Walter Agazzi
9a469f1e2b
AGS: Engine: support fixing up RoomStatuses restored from older save formats
...
This allows to properly fixup (upgrade) RoomStatus structs
restored from a older format save in an upgraded game.
For example: game was upgraded from 3.4.0 to 3.6.0, but player
tries loading 3.4.0 save. In this situation the engine must know and
keep track of what version each RoomStatus was saved in.
This is necessary, because RoomStatus can only be updated upon
loading a corresponding room file (when entering a room). This
means that multiple RoomStatus objects will be staying in memory
not being upgraded yet, until player enters particular room.
From upstream 205232af5909e0a257494ff404f36003b004ebc4
2023-03-12 20:58:28 +00:00
Walter Agazzi
26375b823b
AGS: Engine: Used std::vector for RoomStatus::tsdata
...
From upstream 849a0f3153511087bd93c4d7d1ba898d4ab28cfa
2023-03-12 20:58:28 +00:00
Walter Agazzi
88f0170696
AGS: Engine: Fixed RoomStatus::tsdata allocation of additional bytes
...
From upstream 894ec8a85bd2c78438c8bfabee632b26f5323b07
2023-03-12 20:58:28 +00:00
Walter Agazzi
e0d2bc8860
AGS: Engine: Fix malloc/delete mismatch with RoomStatus::tsdata
...
From upstream cf31083808f19ae314212e7b451709cfd5d6f05d
2023-03-12 20:58:28 +00:00
Walter Agazzi
91d7299405
AGS: Engine: (again) fixed buttons not updated visually on interface enable
...
Complements / reimplements f310a08
From upstream b0e2fe40c1d73674a7b868a87152be6029df6cac
2023-03-12 20:58:28 +00:00
Walter Agazzi
c366ce5eef
AGS: Removed update_polled_stuff_if_runtime() from data loading functions
...
Leave it with a new name as `update_polled_stuff()` only in functions
related to the game update.
From upstream 95dc139f51e704da19792e5480e69bbfe7ec27aa
2023-03-12 20:58:28 +00:00
Walter Agazzi
2e9819ad4e
AGS: Fix some overzealous renames
...
_GP(game) -> game
2023-02-24 21:13:17 +01:00
Hubert Maier
472c51b27c
AGS: Correct spelling mistake
...
accomodate -> accommodate
2022-10-27 15:56:08 +02:00
Thierry Crozat
282ee9ad97
AGS: Fixing more trivial warnings
...
From upstream 83f7d9857e70f7d1d10fedf61196740d20ba0b0a
2022-06-18 01:08:54 +01:00
D G Turner
fffb69b6a3
AGS: Fix Various Signed vs. Unsigned Comparison Warnings
2022-06-17 11:48:27 +01:00
Thierry Crozat
5d9ae41cd6
AGS: Store room objects in std::vector
...
From upstream 5f3b8eb509c9535c75b401f9b7257f7c7acd0e6d
2022-06-15 22:13:02 +01:00
Thierry Crozat
74416f547f
AGS: Removed redundant arrays keeping copies of obj script names
...
From upstream f0887ba798b9df7aa70125b432efd5d62c64a622
2022-06-15 22:13:02 +01: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
16d0d89787
AGS: Grouped ccError variables in a struct
...
From upstream 48ef387226e4d420dc62d0a0b204cf4cd89a1139
2022-05-05 22:41:07 -07:00
Paul Gilbert
a2a5f2575d
AGS: Reorganized few cc_ headers
...
From upstream ea1f8b9ece69fc7c49c4d3aa7b9af51c4ca736e5
2022-05-05 22:41:07 -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
4cd0ca9a27
AGS: Removed DrawAsSeparateCharSprite walk-behind method
...
From upstream e075376fd42c95ea2399809b7cc492cbc116b0db
2022-05-01 17:23:25 -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
a633e9d72f
AGS: Fixing various type-cast warnings
...
From upstream 6c42c7331e96386721f28c92ec3cb4cd039e10cd
2022-04-25 20:06:19 -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
809cc413da
AGS: Fixed crash in prepare_roomview_frame() on no camera link
...
From upstream 0fc94a038cd794046b594afeb8974064c00bdbbd
2022-04-22 20:21:35 -07:00
Paul Gilbert
cf397751a1
AGS: Fixed potential crash with less room bg frames... again
...
From upstream e45f87d1196a1c1a05b3e5cc1966c8633314902f
2022-04-22 20:18:45 -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
fa997d3c4b
AGS: Fixed bg frame and bg locked flag is reset on save restore
...
From upstream 2c1604074da6fc2ccea17a63596b370df0d12147
2022-04-12 22:27:57 -07:00
Paul Gilbert
9c01b99b32
AGS: Add clear cache on room change from Android port to config
...
From upstream 7abbd673e910289511bcca3101abd03101599eb0
2022-04-12 22:27:56 -07:00
Paul Gilbert
7fe18e925b
AGS: Cleanup load room code a little
...
From upstream f9f49987d3109b8141648d603cafd03885bd148d
2022-04-12 22:27:55 -07:00
Paul Gilbert
12a6d220fe
AGS: Lock background animation depending on loaded room setting
...
From upstream 1483fd631cf79ed6f25a5652d8280ac15333f7c0
2022-04-12 22:27:54 -07:00
Paul Gilbert
e0ef5ad2be
AGS: Fix signed comparison warning
2022-04-10 19:39:08 -07:00
Paul Gilbert
eaf4b00125
AGS: Fixed pre-3.6.0 games loosing object names on restoring a save
...
From upstream c745e75a62bee53dcdb0552a10c2b8053717b38f
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
a378e6e06b
AGS: Fixed potential crash on room load if bg frame is set too high
...
From upstream a31b60bf25c7fdebcf0bb04050bdeeeb9ce560da
2022-04-10 19:39:04 -07:00
Paul Gilbert
36c4da51f3
AGS: Fixed room script linking errors were not reported fully
...
From upstream c858b18f1121ab777cb4bb4d7122821ca54b6e63
2022-03-29 21:44:09 -07:00
Paul Gilbert
fb52856d7e
AGS: Reorder function linking steps
...
From upstream 0f977a56f0b1cf293f711e8380bb9ddaa54d2573
2022-03-29 21:43:59 -07:00
Paul Gilbert
e1e2716d37
AGS: For room placeholder also set croom ptr to temp room status
...
From upstream 518d08888eebf63f40460d21bd8560b979ed2565
2022-03-27 13:37:12 -07:00
Paul Gilbert
5b56aecee4
AGS: Create a room placeholder to avoid crashes in game_start script
...
From upstream f3a6b65a80987f9fe993f5449538eb98a86c6353
2022-03-27 13:37:11 -07:00
Paul Gilbert
ee311d660f
AGS: Make game audiochannels limit defined by a game version
...
From upstream 65f0b843dfd85967135eca1bda46976aa1ddcf26
2022-03-17 21:49:25 -07:00
Paul Gilbert
3167bac67b
AGS: More clear use of the "max channels" constants
...
From upstream 2fd582a2a5fc9d38643277903854a977f8995e07
2022-03-17 21:49:25 -07:00
Paul Gilbert
255a739eca
AGS: Encapsulate game object draw caches in draw.cpp
...
From upstream e04ebc0039580faf017ceb0acbeeab975bf44fcc
2022-03-14 21:04:09 -07:00
Eugene Sandulenko
abea37c9bb
ALL: Update ScummVM project license to GPLv3+
2021-12-26 18:48:43 +01:00
Paul Gilbert
ebfc246cc0
AGS: Moved "placeonwalkable" compat hack to a better place
...
From upstream b6c39a32a3a90ae018199fb9574879643d1b4eed
2021-08-17 21:31:56 -07:00
Paul Gilbert
301689e870
AGS: In old games put player to walkable area when changing rooms
...
From upstream f33e064cd148c6a709ccbf25a5fd4939272a7814
2021-08-03 18:56:36 -07:00
Paul Gilbert
b6261f7a0e
AGS: Convert top/bottom walk area coords along with the walk mask
...
From upstream 60d79d1ee26b642ef4bcc7c18dfa53540e7ae77f
2021-08-03 18:56:35 -07:00
Paul Gilbert
c8f827197c
AGS: Implemented getting DrawingSurface for room masks
...
From upstream 087fe51893cc4b61dcfeb84fe72555349b56c411
2021-07-31 14:34:10 -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
5ccb07acf9
AGS: implemented bool Room.Exists(int room)
...
From upstream d676baaea0860ef1737019452d8e97b4aee12526
2021-07-27 22:03:36 -07:00