Join GitHub today
GitHub is home to over 50 million developers working together to host and review code, manage projects, and build software together.
Sign upSCUMM: Maniac V0: Add support for D64 Demo Disk, Cleanup duplicate 'Talk... #546
Conversation
|
Why are you using VAR_NUM_ACTOR for variable 11? just use the variable 11 directly, since it has another purpose (to detect whether demo mode is interactive or not). Also I noticed a new opcode (110) is used by script 1, you might want to check what that is for. |
| @@ -34,8 +34,14 @@ void ScummEngine_v2::readClassicIndexFile() { | |||
| _numGlobalObjects = 256; | |||
| _numRooms = 55; | |||
| _numCostumes = 25; | |||
| _numScripts = 160; | |||
| _numSounds = 70; | |||
| if( _game.features & GF_DEMO ) { | |||
This comment has been minimized.
This comment has been minimized.
| @@ -1091,8 +1094,13 @@ Common::Error ScummEngine::init() { | |||
| const char *tmpBuf1, *tmpBuf2; | |||
| assert(_game.id == GID_MANIAC || _game.id == GID_ZAK); | |||
| if (_game.id == GID_MANIAC) { | |||
| tmpBuf1 = "maniac1.d64"; | |||
| tmpBuf2 = "maniac2.d64"; | |||
| if (_game.features & GF_DEMO ) { | |||
This comment has been minimized.
This comment has been minimized.
|
Please regenerate scumm-md5.h properly. |
|
VAR_NUM_ACTOR was used just because it was 11 in V2, at the time i just assumed it was still the same variable... its been changed now to just be 11. Fixed formatting, and have regenerated the MD5.. i'll take care of the opcode tonight (its located at 0x6E4D in memory if anyone else cares to check it out ;) |
|
I've added support for 'F7 restart', and implemented a function for the 0x6e opcode... Reason is, all the code inside it is hardware related (its also called by some other functions, and exists in the standard v0), essentially it
causing the opcode to simply 'return' without doing anything in an emulator, appeared to have no effect at all... |
|
No, it is better to have the opcode purpose noted in ScummVM source code, since it is actually used by a script. Thanks for finding the demo and adding support to ScummVM, merging the changes. |
SCUMM: Maniac V0: Add support for D64 Demo Disk, Cleanup duplicate 'Talk...
|
Your Welcome, Just incase you didnt see my comment before, the change from char to byte at causes a problem, as some rooms will have 'A' underflow into the negative, causing issues when compared with the walkbox coordinates |
segrax commentedDec 7, 2014
Located the V0 Demo this morning (its both self running and hands on),
Took some work, but its now working fine... The md5 stuff probably has been done incorrectly :)
The 'V0 Talk Array' has been cleaned it, as we had duplicated at some point
I'm not 100% sure if the data in the array 'maniacDemoResourcesPerFile', is correct...
To get it where it is, i added a room array to the 'extractindex' function (file.cpp), and counted each script/costume/sound that loaded using its room number... but some of the rooms seemed to come up short, and caused a crash when a resource attempted to load.. those rooms where manually increased to fix it...
I've chucked it on my website, so it can be fetched & added to the demo download page
Maniac Mansion C64 Demo