87 Commits

Author SHA1 Message Date
Paul Gilbert
41d87f2178 M4: Cleanup of dead machine code, deleting of dead machines between scenes 2024-02-24 12:05:22 -08:00
Paul Gilbert
5e529c0d36 M4: Fix optional allowing sound to keep playing between rooms 2024-02-11 16:44:39 -08:00
Paul Gilbert
f97b7f8920 M4: Load menu rendering and selection fixes 2024-01-18 19:27:29 -08:00
eientei
91f12bd413 M4: Fix debug lines appearance in console 2023-12-26 10:18:54 -10:00
sluicebox
5a63845005 M4: Declare error functions NORETURN
Should fix false positives in static analysis tools
2023-12-26 11:09:19 -08:00
D G Turner
920087fe73 M4: Fix Remaining GCC Compiler Warnings 2023-12-26 03:58:51 +00:00
D G Turner
d994fd8bd2 M4: Remove Remaining Extraneous Extern Declarations in Headers
The remaining extern declarations are required to declare global / directly
accessed variables.
2023-12-26 02:59:51 +00:00
Eugene Sandulenko
d3f4fcf160
M4: Replaces strncpy with Common::strlcpy() for safer operations 2023-12-25 14:15:00 +01:00
Paul Gilbert
b0be249473 M4: Remap the options button to the ScummVM GMM
I decided this is better functionally than showing the Options
menu, and just remapping the Save/Load buttons
2023-12-24 01:53:38 +01:00
Paul Gilbert
6ef646081b M4: Add support for mouse wheel to change cursors 2023-12-24 01:53:38 +01:00
Paul Gilbert
0419b95287 M4: Resolving outstanding TODOs 2023-12-24 01:53:38 +01:00
Paul Gilbert
e68535af9c M4: Cleanup of core/ folder 2023-12-24 01:53:38 +01:00
Paul Gilbert
89a0f7df9c M4: Remove duplicate hotkey cheat stuff 2023-12-24 01:53:38 +01:00
Paul Gilbert
ef51a6a071 M4: Fixes for freeing mayor 2023-12-24 01:53:38 +01:00
Paul Gilbert
82231ce3e6 M4: Fix movement through mine 2023-12-24 01:53:38 +01:00
Paul Gilbert
371c881d53 M4: Finally solve the abyssal performance once and for all
The vmng_refresh_video originally called updateScreen, but
it turns out the original calls that method way too often.
And as a result, ScummVM performance was completely shot.
Moving the updateScreen call to the outer game loop finally
resolved the problem.
2023-12-24 01:53:38 +01:00
Paul Gilbert
08891640f0 M4: Make term_message display on debug level 1 2023-12-24 01:53:38 +01:00
Paul Gilbert
4124a957a6 M4: Boonsville event fixes, truck crash cutscene 2023-12-24 01:53:38 +01:00
Paul Gilbert
61ebfb2013 M4: Remove duplicate RESTORING_GAME constant 2023-12-24 01:53:38 +01:00
Paul Gilbert
566d145fe8 M4: Simple string array class
This was used during tracking of resource usage debugging,
and may be needed again in the future.
2023-12-24 01:53:38 +01:00
Paul Gilbert
88fb6e7a23 M4: Change NULL to nullptr 2023-12-24 01:53:38 +01:00
Paul Gilbert
bbbd36c2a3 M4: Remove old date based comments 2023-12-24 01:53:38 +01:00
Paul Gilbert
6f4301c8f0 M4: visited_room is player.been_here_before 2023-12-24 01:53:38 +01:00
Paul Gilbert
e2b6d6f083 M4: Remove deprecated code 2023-12-24 01:53:38 +01:00
Paul Gilbert
ae41287b2c M4: Fixes for loading savegames 2023-12-24 01:53:38 +01:00
Paul Gilbert
def763df2d M4: Change walker_spotter to be a base room custom_hotspot_which
Most sections' rooms simply point custom_hotspot_which to
walker_spotter, so it makes sense to simply implement it
as the default method implementation, and then let rooms
like in section 6 override it as needed.
2023-12-24 01:53:38 +01:00
Paul Gilbert
d8434c0e06 M4: Clarify the Section pre_parser calls 2023-12-24 01:53:38 +01:00
Paul Gilbert
30b78b44ad M4: Added walker_spotter 2023-12-24 01:53:38 +01:00
Paul Gilbert
c72406dfbc M4: Beginnings of custom sections-wide room logic 2023-12-24 01:53:38 +01:00
Paul Gilbert
999b44d9fe M4: walker_in_scene should be set in rooms' preload method 2023-12-24 01:53:38 +01:00
Paul Gilbert
9cae40deb0 M4: Finished room 137 daemon 2023-12-24 01:53:38 +01:00
Paul Gilbert
9e7deb4618 M4: Added room 120 2023-12-24 01:53:38 +01:00
Paul Gilbert
caec8484c0 M4: Change lots of methods to be camelcase 2023-12-24 01:53:38 +01:00
Paul Gilbert
506b33fccc M4: Beginnings of room 142 2023-12-24 01:53:38 +01:00
Paul Gilbert
91cab0ad19 M4: In progress room 102 daemon 2023-12-24 01:53:38 +01:00
Paul Gilbert
44985bb657 M4: Added skeleton classes for section 1 rooms 2023-12-24 01:53:38 +01:00
Paul Gilbert
d5153451e3 M4: Fix missing virtual destructors 2023-12-24 01:53:38 +01:00
Paul Gilbert
11d155d7ba M4: Change %ld in string formats to %d 2023-12-24 01:53:38 +01:00
Paul Gilbert
db6680173a M4: Fixes for look actions
Yes, in-game actions are now starting to work \o/
2023-12-24 01:53:38 +01:00
Paul Gilbert
99c5f637b1 M4: Outer parser method 2023-12-24 01:53:38 +01:00
Paul Gilbert
910ed54795 M4: More abduction code 2023-12-24 01:53:38 +01:00
Paul Gilbert
76ab81eb3a M4: Added global abduct trigger code 2023-12-24 01:53:38 +01:00
Paul Gilbert
c0530a02cc M4: Interface dispatch_command 2023-12-24 01:53:38 +01:00
Paul Gilbert
2c9219f0d4 M4: Added Interface::track 2023-12-24 01:53:38 +01:00
Paul Gilbert
7d537e1b33 M4: Implemented room 901 2023-12-24 01:53:38 +01:00
Paul Gilbert
bab244b449 M4: Fix shutdown crash 2023-12-24 01:53:38 +01:00
Paul Gilbert
41e8a945fd M4: Fix screenCodes type in CycleEngines/ws_DoDisplay 2023-12-24 01:53:38 +01:00
Paul Gilbert
57860d338f M4: Simplify globals array holding pointers, gr_series.cpp sysfile pointer 2023-12-24 01:53:38 +01:00
Paul Gilbert
6443afd1ac M4: Setting up Globals to handle both numbers and pointers
The series_stream method sets GLB_TEMP_4 to a SysFile pointer,
which was bad since on some systems the ptr size may be greater.
This tentative implementation encapsulates both a numeric and
pointer array, and provides seameless get/sets for either type,
as well as validating a pointer can't be read as a number,
or vice versa
2023-12-24 01:53:38 +01:00
Paul Gilbert
e45e9b9f14 M4: Move the GlobalVars class to be in Burger namespace
There's some confusion in the outer M4 namespace, with
it having two global arrays. On review, it seems like
one of them was pretty much all Burger-specific apart
from in the saving code, so I'm moving it to
avoid long term confusion
2023-12-24 01:53:38 +01:00