DO/WHMTG
From Dark Omen Wiki
(Difference between revisions)
m (added missing line break) |
(Add adress list) |
||
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 | ||
+ | 41C920 PlayMovie | ||
+ | 41DA00 Narration | ||
+ | 41C970 MeetingPoint | ||
+ | 41CA00 TravelMap | ||
+ | 41CB10 Deploy | ||
+ | 41CB20 Battle | ||
+ | 41CDC0 GetUnitStatus | ||
+ | 41CE20 GetUnitHireStatus | ||
+ | 41CE80 AddUnit | ||
+ | 41CED0 RemoveUnit | ||
+ | 41DA10 WriteTextToFile | ||
+ | 41DA20 SetUnitVar | ||
+ | 41DA30 ReadUnitVar | ||
+ | 41DEE0 SetVariable | ||
+ | 41DF00 ReadVariable | ||
+ | 41D620 AddCash | ||
+ | 41D970 GameOver | ||
+ | 41DA40 DisableAutosave | ||
+ | 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 | ||
+ | 41DA50 StartAnimAsync | ||
+ | 41DA60 StopAnim | ||
+ | 41DA70 PlayAnim | ||
+ | 41DA80 LoadHeads | ||
+ | 41DA90 ShowHead | ||
+ | 41D2A0 Speak | ||
+ | 41D360 SpeakNoWait | ||
+ | 41D420 Narrate | ||
+ | 41DAA0 AddOption | ||
+ | 41DAB0 ChooseOption | ||
+ | 41DAC0 HideHead | ||
+ | 41D410 Wait | ||
+ | 41D9F0 PlaySample | ||
+ | 41DAD0 PlaySampleNoWait | ||
+ | 41DAE0 LoadDots | ||
+ | 41DB10 PlayDots | ||
+ | 41DB20 WaitForDots | ||
+ | 41DB30 FinishDots | ||
+ | 41DB40 ContinuePrompt | ||
+ | 41DAF0 SetResult | ||
+ | </pre> |
Revision as of 01:06, 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 41C920 PlayMovie 41DA00 Narration 41C970 MeetingPoint 41CA00 TravelMap 41CB10 Deploy 41CB20 Battle 41CDC0 GetUnitStatus 41CE20 GetUnitHireStatus 41CE80 AddUnit 41CED0 RemoveUnit 41DA10 WriteTextToFile 41DA20 SetUnitVar 41DA30 ReadUnitVar 41DEE0 SetVariable 41DF00 ReadVariable 41D620 AddCash 41D970 GameOver 41DA40 DisableAutosave 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 41DA50 StartAnimAsync 41DA60 StopAnim 41DA70 PlayAnim 41DA80 LoadHeads 41DA90 ShowHead 41D2A0 Speak 41D360 SpeakNoWait 41D420 Narrate 41DAA0 AddOption 41DAB0 ChooseOption 41DAC0 HideHead 41D410 Wait 41D9F0 PlaySample 41DAD0 PlaySampleNoWait 41DAE0 LoadDots 41DB10 PlayDots 41DB20 WaitForDots 41DB30 FinishDots 41DB40 ContinuePrompt 41DAF0 SetResult