DO/WHMTG

From Dark Omen Wiki

< DO(Difference between revisions)
Jump to: navigation, search
(Add adress list)
(Remove stub functions)
 
Line 43: Line 43:
41DEC0 BREAK
41DEC0 BREAK
41DED0 END
41DED0 END
-
41C910 Test
+
41C910 Test <-- Reads one argument and ignores it
41C920 PlayMovie
41C920 PlayMovie
-
41DA00 Narration
 
41C970 MeetingPoint
41C970 MeetingPoint
41CA00 TravelMap
41CA00 TravelMap
Line 54: Line 53:
41CE80 AddUnit
41CE80 AddUnit
41CED0 RemoveUnit
41CED0 RemoveUnit
-
41DA10 WriteTextToFile
 
-
41DA20 SetUnitVar
 
-
41DA30 ReadUnitVar
 
41DEE0 SetVariable
41DEE0 SetVariable
41DF00 ReadVariable
41DF00 ReadVariable
41D620 AddCash
41D620 AddCash
41D970 GameOver
41D970 GameOver
-
41DA40 DisableAutosave
 
41DF20 ClearVariables
41DF20 ClearVariables
41CFB0 ForceUnit
41CFB0 ForceUnit
Line 98: Line 93:
41D9C0 SetMusic
41D9C0 SetMusic
41D9E0 SetBackground
41D9E0 SetBackground
-
41DA50 StartAnimAsync
 
-
41DA60 StopAnim
 
-
41DA70 PlayAnim
 
-
41DA80 LoadHeads
 
-
41DA90 ShowHead
 
41D2A0 Speak
41D2A0 Speak
41D360 SpeakNoWait
41D360 SpeakNoWait
41D420 Narrate
41D420 Narrate
-
41DAA0 AddOption
 
-
41DAB0 ChooseOption
 
-
41DAC0 HideHead
 
41D410 Wait
41D410 Wait
-
41D9F0 PlaySample
 
-
41DAD0 PlaySampleNoWait
 
-
41DAE0 LoadDots
 
-
41DB10 PlayDots
 
-
41DB20 WaitForDots
 
-
41DB30 FinishDots
 
-
41DB40 ContinuePrompt
 
-
41DAF0 SetResult
 
</pre>
</pre>

Current revision as of 11:26, 10 April 2012


Contents


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
Personal tools
communication