Commit Graph
1265 Commits
Author SHA1 Message Date
D G Turner bc6d5c1cf6 M4: Fix Unused Variable GCC Compiler Warning 2024-05-26 18:38:58 +01:00
Paul Gilbert 42bdadaed6 M4: Endian fix for script interpreter. Demo now gets in-game on BE systems 2024-05-25 19:50:03 -07:00
Paul Gilbert 38cd2e1cc6 M4: Endian fix for cutscene palettes 2024-05-25 16:44:24 -07:00
Paul Gilbert 32f3bfea6c M4: More endian fixes 2024-05-25 12:17:39 -07:00
Paul Gilbert 2a5ffabb74 M4: Further endian fixes 2024-05-24 20:31:48 -07:00
Paul Gilbert fa5bb0d589 M4: Further endian fixes 2024-05-23 21:59:04 -07:00
Paul Gilbert 2225f85548 M4: Fix endian issue in sprite loading 2024-05-23 20:54:05 -07:00
Paul Gilbert 9cf11cab19 M4: Fix endian issue in wscript cruncher 2024-05-23 20:38:06 -07:00
Cameron Cawley 07eb96f54d M4: Mark engine as highres 2024-04-23 15:56:36 +01:00
Paul Gilbert 52949d9333 M4: Fix doubling of bork sounds on gizmo 2024-03-24 12:34:33 -07:00
Paul Gilbert 0caa1711db M4: Added syncSoundSettings method 2024-03-13 20:17:48 -07:00
Matthew Jimenez 5219c99400 GRAPHICS: Move PaletteManager definition to a separate header 2024-03-12 12:24:00 +02:00
Paul Gilbert d51787e9e4 M4: Support intro & gallery for German demo 2024-03-06 08:03:20 -08:00
Paul Gilbert e4cafb4eff M4: Fix Flumix talk animation incorrectly appearing in endgame sequence 2024-03-03 13:50:11 -08:00
antoniou79 bcaad3dc6b M4: ORIONBURGER: Magnet should vibrate while motor is running 2024-02-25 09:17:27 -08:00
D G Turner 431fe2047e M4: Fix Duplicate Declaration GCC Compiler Warning 2024-02-25 15:39:44 +00:00
Paul Gilbert f36f388791 M4: Added console command to set boonsville time for triggering events 2024-02-24 12:05:22 -08:00
Paul Gilbert 41d87f2178 M4: Cleanup of dead machine code, deleting of dead machines between scenes 2024-02-24 12:05:22 -08:00
antoniou79 a6929c4882 M4: Attempt to workaround double free() issue
In some cases the engine may access unallocate space or do a double free_mem on an "machine" object

This can happen when a script "machine"'s step triggers a callback that can result to killing the machine itself (via terminateMachineAndNull()) and free its allocated space via a different pointer, but the code in the machine's step continues to try and access the machine's now unallocated space with its original pointer.

This can be observed by running valgrind with scummvm on Linux. Otherwise crashes may occur in Linux and mingw-w64 release mode builds.

An example case is when Wilbur runs on the hamster wheel on the bottom level of the gerbil case (room602).

The proposed solution here is a workaround, based on valgrind's output, and probably does a poor job of cleaning "machine" memory that's no longer used.
More knowledge on the engine's workings is required for a proper and more efficient fix.

The workaround skips full deallocation of a machine object (in the shutdownMachine()), until the ws_KillMachines() is called. The machID field value of 0xdeaddead is used to skip the machine (which remains in the chain). A more efficient fix could do a full deallocation of a machine object earlier (and remove it from the chain like the previous code did), thus avoiding cluttering of the machine's chain.
2024-02-24 12:05:22 -08:00
Paul Gilbert b5e47c8237 M4: Fix crashes opening dialogs from original game dialog 2024-02-24 11:09:59 -08:00
Paul Gilbert fa10facb6e M4: Add syncSoundSettings to engine initialization 2024-02-24 11:09:59 -08:00
Paul Gilbert 4f61f5af6d M4: Fix for barber conversation 2024-02-23 21:54:04 -08:00
antoniou79 9d589e2e8e M4: ORIONBURGER: DEMO: Cliking on teleporter icon leads to main menu
Testing with the original interactive Demo (via DosBox) verifies clicking on that icon leads to main menu
2024-02-23 20:54:27 -08:00
antoniou79 94a80f4a35 M4: ORIONBURGER: Fix chute navigation for test 2
When gerbils are asleep Wilbur should be able to use the chute in the top right of the middle floor to go up or down

Also the chute in the middle of floor of the middle floor should lead to Wilbur fallin from the ceiling of the bottom cage floor.
2024-02-23 20:51:43 -08:00
antoniou79 929e755078 M4: ORIONBURGER: Fix shooting the waterdish in room 603
The hole in the dish should persist and Wilbur should say "hmm" the first time, instead of "I've already zapped a hole in it".
2024-02-23 20:49:41 -08:00
antoniou79 636f688e1d M4: ORIONBURGER: Fix softlock when shooting the kibble in Room 602 2024-02-23 20:49:11 -08:00
antoniou79 34493ca7ec M4: ORIONBURGER: Fix shooting the door in room 602
This was resulting in segmentation fault (or animation repeating loop)
2024-02-23 20:46:49 -08:00
antoniou79 a9e9ee50a8 M4: ORIONBURGER: Fix door open misaligned in room 602
After the cage door opens with the alien hand controlled motor, revisiting the room 602 would show the door misaligned to the left.

Revisiting as in leave the room from the chute (go up one floor) and then return to the bottom floor.
2024-02-23 20:45:51 -08:00
antoniou79 a92d98d6f2 M4: ORIONBURGER: Keep Magnet vibrating when revisiting 602
If the wheel motor is running with the alien hand, then revisiting the 602 room should also show the magnet vibating

This could be an "original" bug / missed detail, since the magnet is not vibrating in this case in the demo.
2024-02-23 20:43:02 -08:00
antoniou79 6992ddc37b M4: ORIONBURGER: Fix sound for running motor wheel
The sound sound have a part of accelerating and then a looping part of running

Currently it kept repeating the first part.
2024-02-23 20:42:13 -08:00
Paul Gilbert b15187d39c M4: Field rename in room 602 2024-02-23 20:42:13 -08:00
antoniou79 352de074e2 M4: ORIONBURGER: Stop Wilbur repeating his line when exiting
When finally exiting the cage, Wilbur currently would repeat his "I'm sorry it had to come to this..." cue.
2024-02-23 20:42:13 -08:00
antoniou79 054fda8f7b M4: ORIONBURGER: Fix Wilbur throwing Kibble at wood shavings
This would crash in the demo and also had some repeating animation issues

The fix includes:
- skipping Wilbur's quote which is missing in the demo (using a new play series "PLAY10Demo").
   I can only test in demo, but I'm assuming the spoken quote exists in the full version.
- fix repeating the animation of throwing the kibble (this seems to have been a typing / copy-paste error)
- Removing the kibble from Wilbur's inventory after he throws it (this is an "original" bug since it's not removed in the demo).
- Waking up the Gerbils, after Wilbur throws the kibble at the wood shavings (this is the behavior in the demo).
2024-02-23 20:42:13 -08:00
Paul Gilbert 5d93a675b1 M4: Fix opening save/load dialogs from original options dialog 2024-02-22 22:07:34 -08:00
Paul Gilbert bf1b150ecd M4: Cleanup and animation fix for test 1 2024-02-22 21:34:07 -08:00
Paul Gilbert 4a2ed4fb17 M4: Added German demo detection entry 2024-02-22 20:23:47 -08:00
Paul Gilbert d0f0866590 M4: Fixes for shooting woodchips in test 2 2024-02-22 20:13:17 -08:00
Paul Gilbert 06e9351bd2 M4: Failing test in demo immediately restarts it 2024-02-22 19:05:07 -08:00
Paul Gilbert 974f0d2319 M4: Cleanup of room 604 fields and constants 2024-02-21 21:44:54 -08:00
Paul Gilbert 87ec0e0b40 M4: Fix softlock for savegames done when satelitte dish moved 2024-02-21 19:31:25 -08:00
Paul Gilbert 0fb8f50759 M4: Fix softlock talking to Burl while he's eating 2024-02-21 18:35:40 -08:00
Paul Gilbert 4bd1803cdc M4: Fix chair shadow in room 171 2024-02-21 18:19:04 -08:00
Paul Gilbert 56bde4e5cf M4: Fix Main Menu button in classic options dialog 2024-02-20 22:03:28 -08:00
Paul Gilbert 49fdbc1294 M4: Fix cursor cycling to talk cursor 2024-02-20 20:50:11 -08:00
Paul Gilbert 81c98a8a55 M4: Fix Burl voice in German Burl arriving cutscene 2024-02-20 20:20:19 -08:00
Paul Gilbert 6b35ac73d0 M4: Workaround for empty plates disappearing when Burl leaves
This fixes an original bug where if you have a savegame from
after Burl finishes eating, then when he leaves Vera's diner,
his empty plates disappear.
2024-02-19 17:10:36 -08:00
Paul Gilbert 05ceebda05 M4: Enum fixes, method rename in room 143 2024-02-19 17:10:36 -08:00
Paul Gilbert 7a20b43501 M4: Further endian loading fixes 2024-02-17 20:12:25 -08:00
Paul Gilbert 217312dedf M4: Endian proofing ws loading 2024-02-17 18:46:05 -08:00
Paul Gilbert a2ed8657d5 M4: Fix crash melting ice in middle/upper cage floors in demo 2024-02-15 17:32:54 -10:00