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