Commit Graph

1762 Commits

Author SHA1 Message Date
Jamieson Christian
c9e5988e43 Fixed PPQN for old 'AD' music resources
svn-id: r7852
2003-05-23 04:47:47 +00:00
Jamieson Christian
c6568530bd Revamped iMuse and Player classes. Player now uses MidiParser to parse its data, which will allow it to parse other MIDI formats. To receive parsed data, Player now derives from MidiDriver to act as a "fake MIDI driver".
Miscellaneous upgrades and fixes to MidiParser, including the Smart Jump (which could not be tested before iMuse started making use of the MidiParser).

*** THIS IS A BIG UPGRADE! EXTENSIVE REGRESSION TESTING IS NEEDED! ***

This has been tested through the intros and a number of other scenes from MI2, FOA and S&M.

NOTE! This upgrade introduces savegame format version V19. Earlier version savegames will load, but the music will simply start over from the beginning. Only V19 and later games will properly restore the position of the music! Don't say you weren't warned....

svn-id: r7849
2003-05-23 04:19:47 +00:00
Jamieson Christian
bb1894e3b7 Fixed VC++ warnings
svn-id: r7847
2003-05-23 03:34:18 +00:00
Max Horn
a0a096e2e8 added support in the save/load system for 2 dimensional arrays; used this for save/load of localvars -> this fixes many old save games, and allows us to be future compatible
svn-id: r7846
2003-05-23 02:58:34 +00:00
Max Horn
cafb78a83c v2 fix for o5_getDist (thx segra)
svn-id: r7845
2003-05-23 01:33:43 +00:00
Max Horn
1740bfcee3 added tons of asserts; added warnings for other cases where we so far silently ignored invalid actors; replaced a few of such warnings with asserts (if they are needed somewhere, feel free to re-add them, but this time with a comment explaining *why* - i.e. bug id, or explanation on how to reproduce the problem)
svn-id: r7844
2003-05-23 01:32:15 +00:00
Max Horn
ddd0b6aa69 fixed butterknife + cashcard
svn-id: r7843
2003-05-23 01:14:29 +00:00
Max Horn
9e58883009 added two more redrawV2Inventory invocations; removed calls to runHook (it does nothing in V2)
svn-id: r7842
2003-05-23 00:59:46 +00:00
Max Horn
4fc70168b4 o5_walkActorToActor cleanup, and fixed for V2
svn-id: r7841
2003-05-23 00:52:31 +00:00
Max Horn
edf5946c40 some well placed asserts (triggering any of those means with 99% a bug in some other place; so don't just remove the asserts if you trigger one of 'em!
svn-id: r7840
2003-05-23 00:22:41 +00:00
Max Horn
47246c35b3 this fixme doesn't seem to be needed anymore
svn-id: r7839
2003-05-23 00:04:17 +00:00
Max Horn
beb42d7281 oops, swapped set/clear state 2
svn-id: r7838
2003-05-22 23:45:34 +00:00
Max Horn
b084e13431 fixed more V2 clear/set state opcodes
svn-id: r7837
2003-05-22 23:01:25 +00:00
Max Horn
2b13ad92e4 fixed Zak cashcard
svn-id: r7836
2003-05-22 22:42:44 +00:00
Jamieson Christian
789d904c4c Added new module to project files
svn-id: r7833
2003-05-22 16:23:05 +00:00
Jamieson Christian
3c0fdf9917 Separated IMuse Player into its own file
svn-id: r7832
2003-05-22 16:15:48 +00:00
Max Horn
10fad2635a not needed anymore since we read the preposition flag directly from the obcd data again
svn-id: r7830
2003-05-22 15:30:27 +00:00
Max Horn
871df7fb57 restricted getObjectIndex to only search thru _objs, not _inventory(to avoid future confusion), this might cause regressions, though; fixed o2_getObjPreposition; adapted some code to the changed getObjectIndex
svn-id: r7829
2003-05-22 15:27:44 +00:00
Max Horn
a6c8b58045 endian fix
svn-id: r7828
2003-05-22 14:22:35 +00:00
Max Horn
a9788c771a from the MM/Zak scripts, the code etc. it's clear that unk2 is the sentence preposition
svn-id: r7827
2003-05-22 14:10:20 +00:00
Max Horn
711c698948 fixed o2_ifClassOfIs
svn-id: r7826
2003-05-22 13:57:34 +00:00
Max Horn
552f9fad61 small V2 doSentence tweak
svn-id: r7825
2003-05-22 13:18:54 +00:00
James Brown
766b7856af Fix sentence building
svn-id: r7824
2003-05-22 12:30:19 +00:00
Jonathan Gray
aafa8c0722 make drawSentence not crash on us
svn-id: r7823
2003-05-22 11:40:20 +00:00
Max Horn
a5be83b352 fixed meteor animation in MM (and probably others in MM and Zak)
svn-id: r7822
2003-05-22 10:40:49 +00:00
Max Horn
c78664cbc9 renamed talkFrame1/talkFrame2 to talkStartFrame/talkStopFrame
svn-id: r7819
2003-05-22 09:58:33 +00:00
Max Horn
061228688e fix V2 actor initial mouth's (they were missing)
svn-id: r7818
2003-05-22 09:52:21 +00:00
James Brown
573678abc0 V2 Inventory scrolling, etc
svn-id: r7817
2003-05-22 05:44:18 +00:00
James Brown
19bbee7843 Fix V2 userface stuff in savestate
svn-id: r7816
2003-05-22 05:21:48 +00:00
Max Horn
f43fb0dab8 freeze scripts & hide mouse during cutscenes; addde Actor::isPlayer method that should work in V2, too; fixed o2_walkActorToObject
svn-id: r7815
2003-05-22 00:51:42 +00:00
Max Horn
340f3a650e fix o2_getObjUnknown -> fixes 'use' verb
svn-id: r7814
2003-05-22 00:14:28 +00:00
Max Horn
b12d741ac1 cleaned up V2 input code
svn-id: r7811
2003-05-21 23:54:39 +00:00
Max Horn
b958c0a002 add in preposition to dual verbs (e.g. 'give'); put in hard coded key codes for V2 verbs
svn-id: r7810
2003-05-21 23:46:02 +00:00
Max Horn
85e92f4fae cutscene override fix for V3 games (bug #731985)
svn-id: r7809
2003-05-21 21:41:27 +00:00
Jamieson Christian
2612a8f817 Added ParameterFader into savegame format.
Savegames are now version 17 (VER_V17).

svn-id: r7808
2003-05-21 21:38:03 +00:00
Max Horn
4a322125fd turn off lots of silly debug output ;-)
svn-id: r7804
2003-05-21 20:34:21 +00:00
Jamieson Christian
38fc644cf6 Replaced VolumeFader with more generic ParameterFader
svn-id: r7803
2003-05-21 20:23:01 +00:00
Jamieson Christian
2dcd2531cf Integrated VolumeFader into each Player
svn-id: r7801
2003-05-21 19:33:50 +00:00
Max Horn
48a27e94e6 fix verb 250 is mapped to 253 in V2, with the 'recursive' flag set
svn-id: r7800
2003-05-21 18:58:29 +00:00
Max Horn
e5152405da fixed V2 entry script dumping
svn-id: r7799
2003-05-21 18:53:00 +00:00
Max Horn
cc2f0e6343 yet more pedantic warning fixes
svn-id: r7796
2003-05-21 18:16:01 +00:00
Max Horn
86d57f3c7a many pedantic warning fixes (and some actual potential buglets fixed, too)
svn-id: r7795
2003-05-21 18:09:49 +00:00
Jamieson Christian
c24df81f78 Fixed VC++ warning
svn-id: r7793
2003-05-21 17:34:01 +00:00
Max Horn
8a82e59065 constness fixes
svn-id: r7787
2003-05-21 16:28:02 +00:00
Max Horn
9615441ded uhm... less noisy, please :-)
svn-id: r7783
2003-05-21 14:25:50 +00:00
Max Horn
743d9da78d evil bug in V2 bitvar code fixed -> no more MM cutscene skip crash
svn-id: r7782
2003-05-21 14:25:14 +00:00
Max Horn
e21604663f added v2 cutscene support (not quite complete; and crashes at some point in maniac because VAR_EGO contains a bogus value); cleanup
svn-id: r7781
2003-05-21 14:00:19 +00:00
Max Horn
1d916f2056 fix warnings
svn-id: r7778
2003-05-21 11:22:03 +00:00
Jonathan Gray
280e8a0741 make fingolfin happy :)
svn-id: r7777
2003-05-21 10:38:45 +00:00
James Brown
60ac300bf3 Work on V2 inventory hack a little more
svn-id: r7776
2003-05-21 10:13:06 +00:00
James Brown
0c0cb61876 Move stuff around
svn-id: r7775
2003-05-21 09:29:24 +00:00
James Brown
c3803009b4 Fix this damn userface stuff properly :)
svn-id: r7772
2003-05-21 07:22:43 +00:00
Jonathan Gray
b6dcd5cfae don't error out here to prevent a crash, is the check in softUserputon actually valid here?
svn-id: r7771
2003-05-21 07:13:52 +00:00
James Brown
510fcf5d88 Hack more stuff in :P
svn-id: r7770
2003-05-21 06:18:30 +00:00
James Brown
a318beaa18 Attempt to fix some stuff
svn-id: r7768
2003-05-21 06:14:02 +00:00
James Brown
336e661c36 Hacky zak sentence/inventory drawing (rewrite later on)
svn-id: r7766
2003-05-21 06:00:16 +00:00
Travis Howell
ec46d2f853 Add Zak v2 doSentence fix, patch #740878
svn-id: r7760
2003-05-21 04:09:20 +00:00
Max Horn
34eee8b33b cleanup
svn-id: r7756
2003-05-20 23:05:34 +00:00
Max Horn
49e7f7564a renamed various things for clarity
svn-id: r7754
2003-05-20 20:58:26 +00:00
Max Horn
1a394aa3c7 added enum's for the known actor/object claasses; extended putClass/getClass to translate the X/Y flip classes; made code use the new enum's; some other cleanup
svn-id: r7753
2003-05-20 20:42:28 +00:00
Max Horn
ffadd452a9 got rid of the evil locked-box hack in adjustXYToBeInBox; instead check for locked boxes in walkActorOld, which seems to work just as well (and hopefully better)
svn-id: r7750
2003-05-20 19:35:40 +00:00
Max Horn
1f859e592f this is 100% equivalent to the old walkActorOld() code - I just made an equivalence transformation (anybody who doesn't believe that, I can show you step by step how to transform the code :-)
svn-id: r7749
2003-05-20 17:50:43 +00:00
Max Horn
fe57d155f8 remove this obsolete FIXME (code is fine as it is)
svn-id: r7741
2003-05-20 16:36:26 +00:00
Max Horn
3e3d6f1360 renamed o2_matrixOps -> o2_setBoxFlags; V2 'objY' fixes; cleanup
svn-id: r7739
2003-05-20 16:13:34 +00:00
Max Horn
93d29f2f9a cleanup
svn-id: r7738
2003-05-20 15:41:07 +00:00
Max Horn
684cd9c431 fixed warning output
svn-id: r7735
2003-05-20 15:13:18 +00:00
Max Horn
5fe08b9191 init charset data
svn-id: r7734
2003-05-20 15:12:33 +00:00
Max Horn
9517305332 warning -> debug message
svn-id: r7733
2003-05-20 15:03:47 +00:00
Max Horn
c8169afe2b proper fix for getPathToDestBox
svn-id: r7721
2003-05-20 12:54:04 +00:00
Max Horn
46abb7998f merged common code
svn-id: r7720
2003-05-20 12:25:47 +00:00
Max Horn
8d1110bfee init all Bundle members properly; make _voiceFile/_musicFile protected
svn-id: r7718
2003-05-20 11:56:36 +00:00
Max Horn
e420517d02 fixed charset id check
svn-id: r7717
2003-05-20 10:56:04 +00:00
Jamieson Christian
db8256df8a More thorough parameterFade and deferredCommand implementation.
Lot of guesswork. parameterFade STILL NEEDS A LOT OF WORK!
These additions at least partially correct the music behavior
in the Tunnel of Love when shorting the controls.

svn-id: r7704
2003-05-20 01:12:40 +00:00
Jamieson Christian
f1982ec9d6 Updated doCommand(14) with new information.
Fixed music bug introduced with fix [712042].
Improved iMuse debug output.

svn-id: r7703
2003-05-19 22:29:35 +00:00
Max Horn
bc73fcf386 cleanup
svn-id: r7701
2003-05-19 20:36:39 +00:00
Max Horn
d50b070168 fix for bug #739661
svn-id: r7699
2003-05-19 20:09:30 +00:00
Max Horn
1e7f246755 fix assert for mi_demo2
svn-id: r7698
2003-05-19 19:52:08 +00:00
Jamieson Christian
ad39f15e05 Auto loop for non-puttdemo games
svn-id: r7693
2003-05-19 18:49:16 +00:00
Jamieson Christian
5a89820f0d Fixed VC++ warnings
svn-id: r7690
2003-05-19 15:40:34 +00:00
Max Horn
ec4cc7d774 more special palette fixes by erik
svn-id: r7689
2003-05-19 11:34:13 +00:00
Max Horn
18a6b5dcc1 renamed ScriptSlot::unk1/unk2 to freezeResistant/recursive
svn-id: r7688
2003-05-19 11:31:35 +00:00
Jonathan Gray
12ff6c4f99 correct transparency colour for humongous games when using akos16
svn-id: r7676
2003-05-19 09:02:16 +00:00
Jonathan Gray
714cd3503d make gui work if the requested string vars don't exist
svn-id: r7674
2003-05-19 08:42:10 +00:00
Jonathan Gray
6cb61537f4 enable midi for non puttdemo humongous games. need to properly return the result of whether music is running though...
svn-id: r7673
2003-05-19 08:04:47 +00:00
Jamieson Christian
e088227e3b Removed annoying debug output
svn-id: r7671
2003-05-19 05:14:18 +00:00
Jamieson Christian
417dc08484 Proof of concept for XMIDI parser in Humongous games.
You must still uncomment the VAR_SOUNDPARAM setting for this to work...?

svn-id: r7670
2003-05-19 05:04:38 +00:00
Jonathan Gray
243bcc74d3 sync local changes, fix pickOneOf
svn-id: r7668
2003-05-19 04:29:41 +00:00
Max Horn
a2ce5b6383 don't touch untouchable objects in V2 games
svn-id: r7664
2003-05-19 01:27:30 +00:00
Max Horn
cf500b2450 enable box'ed walking in V2 games
svn-id: r7660
2003-05-19 00:25:26 +00:00
Max Horn
33d1f15f97 V2 walkbox matrix fixes
svn-id: r7657
2003-05-19 00:17:34 +00:00
Max Horn
b43bca21cb more cleanup
svn-id: r7653
2003-05-18 23:46:30 +00:00
Jamieson Christian
ac9a392a5b Fixed VC++ warnings
svn-id: r7652
2003-05-18 23:45:34 +00:00
Max Horn
1f616edfcd VAR_CHARCOUNT is a V2 only variable, so I moved its declaration to the other V2 only vars
svn-id: r7651
2003-05-18 23:37:44 +00:00
Max Horn
f6d1e71194 oops
svn-id: r7649
2003-05-18 23:19:43 +00:00
Max Horn
1f8d481acb fix for various regressions (not quite sure if the check for V2/v3 is right, but seems to work so far)
svn-id: r7648
2003-05-18 23:14:21 +00:00
Max Horn
5ac005860c warning() automatically outputs a newline after the warning message; adding a newline into the format string adds another newline (which contains the single char '!')
svn-id: r7647
2003-05-18 21:14:50 +00:00
Max Horn
7171c5bcd4 cleanup
svn-id: r7646
2003-05-18 21:03:57 +00:00
Max Horn
6b7484f320 consistently index script slots with index 0 (not 1); this fixes bug #739463; made stopScriptNr match stopObjectScript more closely (we could merge them into one function one day)
svn-id: r7645
2003-05-18 20:57:32 +00:00
Max Horn
988ec14c5f fixed debugger 'scripts' command
svn-id: r7644
2003-05-18 20:33:22 +00:00
Max Horn
7ec709e35f Part of patch #739119 (attempt to fix bug #651077 at least partially)
svn-id: r7643
2003-05-18 19:51:50 +00:00