DO/WHMTG
From Dark Omen Wiki
< DO(Difference between revisions)
(.) |
(Remove stub functions) |
||
(2 intermediate revisions not shown) | |||
Line 12: | Line 12: | ||
The developers were so kind to include a complete WHMTG-Function-Name-Table in EngRel. This made decoding the functions a piece of cake. | The developers were so kind to include a complete WHMTG-Function-Name-Table in EngRel. This made decoding the functions a piece of cake. | ||
- | + | ||
[http://darkomen.pastebin.com/9mf0NfwD Dump of the whole WHMTG-Script] | [http://darkomen.pastebin.com/9mf0NfwD Dump of the whole WHMTG-Script] | ||
Line 23: | Line 23: | ||
WH_REPEAT <--> WH_UNTIL | | WH_REPEAT <--> WH_UNTIL | | ||
WH_DO <--> WH_LOOP | (WH_BREAK) | WH_DO <--> WH_LOOP | (WH_BREAK) | ||
+ | |||
+ | |||
+ | == Adress Dump of Functions == | ||
+ | |||
+ | <pre> | ||
+ | 41DB60 GOTO | ||
+ | 41DB80 IF | ||
+ | 41DC30 ENDIF | ||
+ | 41DC60 ELSE | ||
+ | 41DC80 GOSUB | ||
+ | 41DCD0 RETURN | ||
+ | 41DE30 DO | ||
+ | 41DDF0 PUSHLV | ||
+ | 41DE10 POPLV | ||
+ | 41DE20 SETLV | ||
+ | 41DE60 LOOP | ||
+ | 41DD00 REPEAT | ||
+ | 41DD20 UNTIL | ||
+ | 41DEC0 BREAK | ||
+ | 41DED0 END | ||
+ | 41C910 Test <-- Reads one argument and ignores it | ||
+ | 41C920 PlayMovie | ||
+ | 41C970 MeetingPoint | ||
+ | 41CA00 TravelMap | ||
+ | 41CB10 Deploy | ||
+ | 41CB20 Battle | ||
+ | 41CDC0 GetUnitStatus | ||
+ | 41CE20 GetUnitHireStatus | ||
+ | 41CE80 AddUnit | ||
+ | 41CED0 RemoveUnit | ||
+ | 41DEE0 SetVariable | ||
+ | 41DF00 ReadVariable | ||
+ | 41D620 AddCash | ||
+ | 41D970 GameOver | ||
+ | 41DF20 ClearVariables | ||
+ | 41CFB0 ForceUnit | ||
+ | 41CFF0 UnForceUnit | ||
+ | 41D040 ExcludeUnit | ||
+ | 41D080 IncludeUnit | ||
+ | 41D0D0 TemporayUnitSet | ||
+ | 41D120 TemporayUnitClear | ||
+ | 41D170 UnitIsGoingSet | ||
+ | 41D1C0 UnitIsGoingClear | ||
+ | 41CAB0 Book | ||
+ | 41C9D0 MeetingWait | ||
+ | 41CB40 InitDebrief | ||
+ | 41CB70 Debrief | ||
+ | 41CAE0 SaveGame | ||
+ | 41CBA0 Picture | ||
+ | 41CC00 Delay | ||
+ | 41CCE0 Pause | ||
+ | 41CD90 HideMouse | ||
+ | 41CDA0 ShowMouse | ||
+ | 41CBE0 SetDefaultSaveName | ||
+ | 41D640 AddMagic | ||
+ | 41D690 RemoveMagic | ||
+ | 41D870 DisplayBitmap | ||
+ | 41D8A0 RemoveBitmap | ||
+ | 41D210 CheckObjective | ||
+ | 41D250 SetObjective | ||
+ | 41D550 Voice | ||
+ | 41D8B0 SpotAnim | ||
+ | 41D950 ChooseInit | ||
+ | 41D740 PlaySFX | ||
+ | 41D720 StopSFX | ||
+ | 41D980 StopAllSFX | ||
+ | 41D9A0 PlayMusic | ||
+ | 41D9B0 StopMusic | ||
+ | 41D9C0 SetMusic | ||
+ | 41D9E0 SetBackground | ||
+ | 41D2A0 Speak | ||
+ | 41D360 SpeakNoWait | ||
+ | 41D420 Narrate | ||
+ | 41D410 Wait | ||
+ | </pre> |
Current revision as of 11:26, 10 April 2012
WHMTG (Warhammer Meeting) is the script language used to script the activities like meetings between the battles.
The developers were so kind to include a complete WHMTG-Function-Name-Table in EngRel. This made decoding the functions a piece of cake.
Dump of the whole WHMTG-Script
Analysis
Initiator vs. Terminator | (Nested) --------------------------+---------------- WH_IF <--> WH_ENDIF | (WH_ELSE) WH_GOSUB <--> WH_RETURN | WH_REPEAT <--> WH_UNTIL | WH_DO <--> WH_LOOP | (WH_BREAK)
Adress Dump of Functions
41DB60 GOTO 41DB80 IF 41DC30 ENDIF 41DC60 ELSE 41DC80 GOSUB 41DCD0 RETURN 41DE30 DO 41DDF0 PUSHLV 41DE10 POPLV 41DE20 SETLV 41DE60 LOOP 41DD00 REPEAT 41DD20 UNTIL 41DEC0 BREAK 41DED0 END 41C910 Test <-- Reads one argument and ignores it 41C920 PlayMovie 41C970 MeetingPoint 41CA00 TravelMap 41CB10 Deploy 41CB20 Battle 41CDC0 GetUnitStatus 41CE20 GetUnitHireStatus 41CE80 AddUnit 41CED0 RemoveUnit 41DEE0 SetVariable 41DF00 ReadVariable 41D620 AddCash 41D970 GameOver 41DF20 ClearVariables 41CFB0 ForceUnit 41CFF0 UnForceUnit 41D040 ExcludeUnit 41D080 IncludeUnit 41D0D0 TemporayUnitSet 41D120 TemporayUnitClear 41D170 UnitIsGoingSet 41D1C0 UnitIsGoingClear 41CAB0 Book 41C9D0 MeetingWait 41CB40 InitDebrief 41CB70 Debrief 41CAE0 SaveGame 41CBA0 Picture 41CC00 Delay 41CCE0 Pause 41CD90 HideMouse 41CDA0 ShowMouse 41CBE0 SetDefaultSaveName 41D640 AddMagic 41D690 RemoveMagic 41D870 DisplayBitmap 41D8A0 RemoveBitmap 41D210 CheckObjective 41D250 SetObjective 41D550 Voice 41D8B0 SpotAnim 41D950 ChooseInit 41D740 PlaySFX 41D720 StopSFX 41D980 StopAllSFX 41D9A0 PlayMusic 41D9B0 StopMusic 41D9C0 SetMusic 41D9E0 SetBackground 41D2A0 Speak 41D360 SpeakNoWait 41D420 Narrate 41D410 Wait