mirror of
https://github.com/chocolate-doom/research.git
synced 2024-11-10 07:11:34 +00:00
Split out version-dependent definitions into separate files.
Subversion-branch: /research Subversion-revision: 1884
This commit is contained in:
parent
43b35f1aab
commit
5cfc8901d4
5 changed files with 440 additions and 405 deletions
|
@ -1,4 +1,8 @@
|
|||
|
||||
require "v1.0/config.rb"
|
||||
require "v1.2/config.rb"
|
||||
require "v1.3/config.rb"
|
||||
|
||||
# Symbolic sprite names, from info.h.
|
||||
|
||||
SPRITE_NAMES = %w{
|
||||
|
@ -73,3 +77,12 @@ THING_FLAGS2 = %w{
|
|||
MF2_DONTDRAW
|
||||
}
|
||||
|
||||
def set_config(name)
|
||||
configs = [ Heretic_1_0, Heretic_1_2, Heretic_1_3 ]
|
||||
|
||||
for config in configs
|
||||
if name == config::NAME
|
||||
include config
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
407
hhe/dump-states
407
hhe/dump-states
|
@ -4,411 +4,8 @@ require "scanf"
|
|||
require "common.rb"
|
||||
|
||||
filename = ARGV[0]
|
||||
offset = ARGV[1].scanf("%x")[0]
|
||||
|
||||
NUM_STATES=1206
|
||||
|
||||
# Locations of action pointer functions for Heretic 1.0. Hand-constructed.
|
||||
#
|
||||
# ./dump-states heretic.exe 8bf04
|
||||
|
||||
ACTION_POINTERS_1_0 = {
|
||||
78512 => "A_FreeTargMobj",
|
||||
82048 => "A_RestoreSpecialThing1",
|
||||
82128 => "A_RestoreSpecialThing2",
|
||||
78736 => "A_HideThing",
|
||||
78752 => "A_UnHideThing",
|
||||
81952 => "A_RestoreArtifact",
|
||||
76144 => "A_Scream",
|
||||
76784 => "A_Explode",
|
||||
76896 => "A_PodPain",
|
||||
77056 => "A_RemovePod",
|
||||
77104 => "A_MakePod",
|
||||
77728 => "A_InitKeyGizmo",
|
||||
77824 => "A_VolcanoSet",
|
||||
77856 => "A_VolcanoBlast",
|
||||
70480 => "A_BeastPuff",
|
||||
78080 => "A_VolcBallImpact",
|
||||
77520 => "A_SpawnTeleGlitter",
|
||||
77600 => "A_SpawnTeleGlitter2",
|
||||
77680 => "A_AccTeleGlitter",
|
||||
117648 => "A_Light0",
|
||||
111168 => "A_WeaponReady",
|
||||
111760 => "A_Lower",
|
||||
111920 => "A_Raise",
|
||||
112640 => "A_StaffAttackPL1",
|
||||
111696 => "A_ReFire",
|
||||
112784 => "A_StaffAttackPL2",
|
||||
111568 => "A_BeakReady",
|
||||
111856 => "A_BeakRaise",
|
||||
112272 => "A_BeakAttackPL1",
|
||||
112448 => "A_BeakAttackPL2",
|
||||
117184 => "A_GauntletAttack",
|
||||
112928 => "A_FireBlasterPL1",
|
||||
113072 => "A_FireBlasterPL2",
|
||||
115088 => "A_SpawnRippers",
|
||||
113760 => "A_FireMacePL1",
|
||||
114624 => "A_FireMacePL2",
|
||||
113904 => "A_MacePL1Check",
|
||||
114032 => "A_MaceBallImpact",
|
||||
114192 => "A_MaceBallImpact2",
|
||||
114752 => "A_DeathBallImpact",
|
||||
115568 => "A_FireSkullRodPL1",
|
||||
115648 => "A_FireSkullRodPL2",
|
||||
115776 => "A_SkullRodPL2Seek",
|
||||
115808 => "A_AddPlayerRain",
|
||||
116336 => "A_HideInCeiling",
|
||||
115984 => "A_SkullRodStorm",
|
||||
116272 => "A_RainImpact",
|
||||
113152 => "A_FireGoldWandPL1",
|
||||
113296 => "A_FireGoldWandPL2",
|
||||
116368 => "A_FirePhoenixPL1",
|
||||
116720 => "A_InitPhoenixPL2",
|
||||
116736 => "A_FirePhoenixPL2",
|
||||
117104 => "A_ShutdownPhoenixPL2",
|
||||
116496 => "A_PhoenixPuff",
|
||||
116480 => "A_RemovedPhoenixFunc", # anomaly!
|
||||
117120 => "A_FlameEnd",
|
||||
117152 => "A_FloatPuff",
|
||||
115232 => "A_FireCrossbowPL1",
|
||||
115312 => "A_FireCrossbowPL2",
|
||||
115456 => "A_BoltSpark",
|
||||
69984 => "A_Pain",
|
||||
76400 => "A_NoBlocking",
|
||||
78608 => "A_AddPlayerCorpse",
|
||||
78288 => "A_SkullPop",
|
||||
78704 => "A_FlameSnd",
|
||||
78448 => "A_CheckSkullFloor",
|
||||
78480 => "A_CheckSkullDone",
|
||||
71568 => "A_Feathers",
|
||||
71456 => "A_ChicLook",
|
||||
71488 => "A_ChicChase",
|
||||
71520 => "A_ChicPain",
|
||||
69872 => "A_FaceTarget",
|
||||
71376 => "A_ChicAttack",
|
||||
69200 => "A_Look",
|
||||
69328 => "A_Chase",
|
||||
71808 => "A_MummyAttack",
|
||||
71920 => "A_MummyAttack2",
|
||||
72048 => "A_MummySoul",
|
||||
108432 => "A_ContMobjSound",
|
||||
72016 => "A_MummyFX1Seek",
|
||||
74640 => "A_BeastAttack",
|
||||
75632 => "A_SnakeAttack",
|
||||
75712 => "A_SnakeAttack2",
|
||||
74752 => "A_HeadAttack",
|
||||
77344 => "A_BossDeath",
|
||||
75328 => "A_HeadIceImpact",
|
||||
75488 => "A_HeadFireGrow",
|
||||
75168 => "A_WhirlwindSeek",
|
||||
75792 => "A_ClinkAttack",
|
||||
75888 => "A_WizAtk1",
|
||||
75920 => "A_WizAtk2",
|
||||
75952 => "A_WizAtk3",
|
||||
75872 => "A_GhostOff",
|
||||
70592 => "A_ImpMeAttack",
|
||||
70672 => "A_ImpMsAttack",
|
||||
70880 => "A_ImpMsAttack2",
|
||||
70976 => "A_ImpDeath",
|
||||
71024 => "A_ImpXDeath1",
|
||||
71072 => "A_ImpXDeath2",
|
||||
70304 => "A_ImpExplode",
|
||||
70160 => "A_KnightAttack",
|
||||
70016 => "A_DripBlood",
|
||||
72144 => "A_Sor1Chase",
|
||||
72096 => "A_Sor1Pain",
|
||||
72192 => "A_Srcr1Attack",
|
||||
73456 => "A_SorZap",
|
||||
72480 => "A_SorcererRise",
|
||||
73488 => "A_SorRise",
|
||||
73616 => "A_SorSightSnd",
|
||||
72816 => "A_Srcr2Decide",
|
||||
72896 => "A_Srcr2Attack",
|
||||
73392 => "A_Sor2DthInit",
|
||||
73520 => "A_SorDSph",
|
||||
73424 => "A_Sor2DthLoop",
|
||||
73552 => "A_SorDExp",
|
||||
73584 => "A_SorDBon",
|
||||
73120 => "A_BlueSpark",
|
||||
73232 => "A_GenWizard",
|
||||
73648 => "A_MinotaurAtk1",
|
||||
73760 => "A_MinotaurDecide",
|
||||
74112 => "A_MinotaurAtk2",
|
||||
74352 => "A_MinotaurAtk3",
|
||||
74032 => "A_MinotaurCharge",
|
||||
74528 => "A_MntrFloorFire",
|
||||
77472 => "A_ESound",
|
||||
}
|
||||
|
||||
# Locations of action pointer functions for Heretic 1.2. Hand-constructed.
|
||||
#
|
||||
# ./dump-states heretic.exe 8e8b4
|
||||
|
||||
ACTION_POINTERS_1_2 = {
|
||||
81008 => "A_FreeTargMobj",
|
||||
84544 => "A_RestoreSpecialThing1",
|
||||
84592 => "A_RestoreSpecialThing2",
|
||||
81232 => "A_HideThing",
|
||||
81248 => "A_UnHideThing",
|
||||
84464 => "A_RestoreArtifact",
|
||||
78576 => "A_Scream",
|
||||
79248 => "A_Explode",
|
||||
79360 => "A_PodPain",
|
||||
79520 => "A_RemovePod",
|
||||
79568 => "A_MakePod",
|
||||
80192 => "A_InitKeyGizmo",
|
||||
80288 => "A_VolcanoSet",
|
||||
80320 => "A_VolcanoBlast",
|
||||
72992 => "A_BeastPuff",
|
||||
80544 => "A_VolcBallImpact",
|
||||
79984 => "A_SpawnTeleGlitter",
|
||||
80064 => "A_SpawnTeleGlitter2",
|
||||
80144 => "A_AccTeleGlitter",
|
||||
119824 => "A_Light0",
|
||||
113488 => "A_WeaponReady",
|
||||
114080 => "A_Lower",
|
||||
114240 => "A_Raise",
|
||||
114848 => "A_StaffAttackPL1",
|
||||
114016 => "A_ReFire",
|
||||
114992 => "A_StaffAttackPL2",
|
||||
113888 => "A_BeakReady",
|
||||
114176 => "A_BeakRaise",
|
||||
114480 => "A_BeakAttackPL1",
|
||||
114656 => "A_BeakAttackPL2",
|
||||
119344 => "A_GauntletAttack",
|
||||
115136 => "A_FireBlasterPL1",
|
||||
115280 => "A_FireBlasterPL2",
|
||||
117280 => "A_SpawnRippers",
|
||||
115968 => "A_FireMacePL1",
|
||||
116816 => "A_FireMacePL2",
|
||||
116112 => "A_MacePL1Check",
|
||||
116224 => "A_MaceBallImpact",
|
||||
116384 => "A_MaceBallImpact2",
|
||||
116944 => "A_DeathBallImpact",
|
||||
117760 => "A_FireSkullRodPL1",
|
||||
117840 => "A_FireSkullRodPL2",
|
||||
117968 => "A_SkullRodPL2Seek",
|
||||
118000 => "A_AddPlayerRain",
|
||||
118512 => "A_HideInCeiling",
|
||||
118176 => "A_SkullRodStorm",
|
||||
118448 => "A_RainImpact",
|
||||
115360 => "A_FireGoldWandPL1",
|
||||
115504 => "A_FireGoldWandPL2",
|
||||
118544 => "A_FirePhoenixPL1",
|
||||
118880 => "A_InitPhoenixPL2",
|
||||
118896 => "A_FirePhoenixPL2",
|
||||
119264 => "A_ShutdownPhoenixPL2",
|
||||
118656 => "A_PhoenixPuff",
|
||||
#0000 => "A_RemovedPhoenixFunc", # anomaly!
|
||||
119280 => "A_FlameEnd",
|
||||
119312 => "A_FloatPuff",
|
||||
117424 => "A_FireCrossbowPL1",
|
||||
117504 => "A_FireCrossbowPL2",
|
||||
117648 => "A_BoltSpark",
|
||||
72496 => "A_Pain",
|
||||
78832 => "A_NoBlocking",
|
||||
81104 => "A_AddPlayerCorpse",
|
||||
80752 => "A_SkullPop",
|
||||
81200 => "A_FlameSnd",
|
||||
80976 => "A_CheckBurnGone",
|
||||
80912 => "A_CheckSkullFloor",
|
||||
80944 => "A_CheckSkullDone",
|
||||
74080 => "A_Feathers",
|
||||
73968 => "A_ChicLook",
|
||||
74000 => "A_ChicChase",
|
||||
74032 => "A_ChicPain",
|
||||
72400 => "A_FaceTarget",
|
||||
73888 => "A_ChicAttack",
|
||||
71728 => "A_Look",
|
||||
71856 => "A_Chase",
|
||||
74288 => "A_MummyAttack",
|
||||
74400 => "A_MummyAttack2",
|
||||
74528 => "A_MummySoul",
|
||||
110816 => "A_ContMobjSound",
|
||||
74496 => "A_MummyFX1Seek",
|
||||
77120 => "A_BeastAttack",
|
||||
78048 => "A_SnakeAttack",
|
||||
78128 => "A_SnakeAttack2",
|
||||
77232 => "A_HeadAttack",
|
||||
79808 => "A_BossDeath",
|
||||
77824 => "A_HeadIceImpact",
|
||||
77984 => "A_HeadFireGrow",
|
||||
77664 => "A_WhirlwindSeek",
|
||||
78208 => "A_ClinkAttack",
|
||||
78320 => "A_WizAtk1",
|
||||
78352 => "A_WizAtk2",
|
||||
78384 => "A_WizAtk3",
|
||||
78304 => "A_GhostOff",
|
||||
73104 => "A_ImpMeAttack",
|
||||
73184 => "A_ImpMsAttack",
|
||||
73392 => "A_ImpMsAttack2",
|
||||
73488 => "A_ImpDeath",
|
||||
73536 => "A_ImpXDeath1",
|
||||
73584 => "A_ImpXDeath2",
|
||||
72816 => "A_ImpExplode",
|
||||
72672 => "A_KnightAttack",
|
||||
72528 => "A_DripBlood",
|
||||
74624 => "A_Sor1Chase",
|
||||
74576 => "A_Sor1Pain",
|
||||
74672 => "A_Srcr1Attack",
|
||||
75936 => "A_SorZap",
|
||||
74960 => "A_SorcererRise",
|
||||
75968 => "A_SorRise",
|
||||
76096 => "A_SorSightSnd",
|
||||
75296 => "A_Srcr2Decide",
|
||||
75376 => "A_Srcr2Attack",
|
||||
75872 => "A_Sor2DthInit",
|
||||
76000 => "A_SorDSph",
|
||||
75904 => "A_Sor2DthLoop",
|
||||
76032 => "A_SorDExp",
|
||||
76064 => "A_SorDBon",
|
||||
75600 => "A_BlueSpark",
|
||||
75712 => "A_GenWizard",
|
||||
76128 => "A_MinotaurAtk1",
|
||||
76240 => "A_MinotaurDecide",
|
||||
76592 => "A_MinotaurAtk2",
|
||||
76832 => "A_MinotaurAtk3",
|
||||
76512 => "A_MinotaurCharge",
|
||||
77008 => "A_MntrFloorFire",
|
||||
79936 => "A_ESound",
|
||||
}
|
||||
|
||||
# Action pointers for Heretic 1.3.
|
||||
#
|
||||
# ./dump-states heretic.exe 8e8b4
|
||||
|
||||
ACTION_POINTERS_1_3 = {
|
||||
81072 => "A_FreeTargMobj",
|
||||
84608 => "A_RestoreSpecialThing1",
|
||||
84656 => "A_RestoreSpecialThing2",
|
||||
81296 => "A_HideThing",
|
||||
81312 => "A_UnHideThing",
|
||||
84528 => "A_RestoreArtifact",
|
||||
78640 => "A_Scream",
|
||||
79312 => "A_Explode",
|
||||
79424 => "A_PodPain",
|
||||
79584 => "A_RemovePod",
|
||||
79632 => "A_MakePod",
|
||||
80256 => "A_InitKeyGizmo",
|
||||
80352 => "A_VolcanoSet",
|
||||
80384 => "A_VolcanoBlast",
|
||||
73056 => "A_BeastPuff",
|
||||
80608 => "A_VolcBallImpact",
|
||||
80048 => "A_SpawnTeleGlitter",
|
||||
80128 => "A_SpawnTeleGlitter2",
|
||||
80208 => "A_AccTeleGlitter",
|
||||
120064 => "A_Light0",
|
||||
113728 => "A_WeaponReady",
|
||||
114320 => "A_Lower",
|
||||
114480 => "A_Raise",
|
||||
115088 => "A_StaffAttackPL1",
|
||||
114256 => "A_ReFire",
|
||||
115232 => "A_StaffAttackPL2",
|
||||
114128 => "A_BeakReady",
|
||||
114416 => "A_BeakRaise",
|
||||
114720 => "A_BeakAttackPL1",
|
||||
114896 => "A_BeakAttackPL2",
|
||||
119584 => "A_GauntletAttack",
|
||||
115376 => "A_FireBlasterPL1",
|
||||
115520 => "A_FireBlasterPL2",
|
||||
117520 => "A_SpawnRippers",
|
||||
116208 => "A_FireMacePL1",
|
||||
117056 => "A_FireMacePL2",
|
||||
116352 => "A_MacePL1Check",
|
||||
116464 => "A_MaceBallImpact",
|
||||
116624 => "A_MaceBallImpact2",
|
||||
117184 => "A_DeathBallImpact",
|
||||
118000 => "A_FireSkullRodPL1",
|
||||
118080 => "A_FireSkullRodPL2",
|
||||
118208 => "A_SkullRodPL2Seek",
|
||||
118240 => "A_AddPlayerRain",
|
||||
118752 => "A_HideInCeiling",
|
||||
118416 => "A_SkullRodStorm",
|
||||
118688 => "A_RainImpact",
|
||||
115600 => "A_FireGoldWandPL1",
|
||||
115744 => "A_FireGoldWandPL2",
|
||||
118784 => "A_FirePhoenixPL1",
|
||||
119120 => "A_InitPhoenixPL2",
|
||||
119136 => "A_FirePhoenixPL2",
|
||||
119504 => "A_ShutdownPhoenixPL2",
|
||||
118896 => "A_PhoenixPuff",
|
||||
#0000 => "A_RemovedPhoenixFunc", # anomaly!
|
||||
119520 => "A_FlameEnd",
|
||||
119552 => "A_FloatPuff",
|
||||
117664 => "A_FireCrossbowPL1",
|
||||
117744 => "A_FireCrossbowPL2",
|
||||
117888 => "A_BoltSpark",
|
||||
72560 => "A_Pain",
|
||||
78896 => "A_NoBlocking",
|
||||
81168 => "A_AddPlayerCorpse",
|
||||
80816 => "A_SkullPop",
|
||||
81264 => "A_FlameSnd",
|
||||
81040 => "A_CheckBurnGone",
|
||||
80976 => "A_CheckSkullFloor",
|
||||
81008 => "A_CheckSkullDone",
|
||||
74144 => "A_Feathers",
|
||||
74032 => "A_ChicLook",
|
||||
74064 => "A_ChicChase",
|
||||
74096 => "A_ChicPain",
|
||||
72464 => "A_FaceTarget",
|
||||
73952 => "A_ChicAttack",
|
||||
71792 => "A_Look",
|
||||
71920 => "A_Chase",
|
||||
74352 => "A_MummyAttack",
|
||||
74464 => "A_MummyAttack2",
|
||||
74592 => "A_MummySoul",
|
||||
111056 => "A_ContMobjSound",
|
||||
74560 => "A_MummyFX1Seek",
|
||||
77184 => "A_BeastAttack",
|
||||
78112 => "A_SnakeAttack",
|
||||
78192 => "A_SnakeAttack2",
|
||||
77296 => "A_HeadAttack",
|
||||
79872 => "A_BossDeath",
|
||||
77888 => "A_HeadIceImpact",
|
||||
78048 => "A_HeadFireGrow",
|
||||
77728 => "A_WhirlwindSeek",
|
||||
78272 => "A_ClinkAttack",
|
||||
78384 => "A_WizAtk1",
|
||||
78416 => "A_WizAtk2",
|
||||
78448 => "A_WizAtk3",
|
||||
78368 => "A_GhostOff",
|
||||
73168 => "A_ImpMeAttack",
|
||||
73248 => "A_ImpMsAttack",
|
||||
73456 => "A_ImpMsAttack2",
|
||||
73552 => "A_ImpDeath",
|
||||
73600 => "A_ImpXDeath1",
|
||||
73648 => "A_ImpXDeath2",
|
||||
72880 => "A_ImpExplode",
|
||||
72736 => "A_KnightAttack",
|
||||
72592 => "A_DripBlood",
|
||||
74688 => "A_Sor1Chase",
|
||||
74640 => "A_Sor1Pain",
|
||||
74736 => "A_Srcr1Attack",
|
||||
76000 => "A_SorZap",
|
||||
75024 => "A_SorcererRise",
|
||||
76032 => "A_SorRise",
|
||||
76160 => "A_SorSightSnd",
|
||||
75360 => "A_Srcr2Decide",
|
||||
75440 => "A_Srcr2Attack",
|
||||
75936 => "A_Sor2DthInit",
|
||||
76064 => "A_SorDSph",
|
||||
75968 => "A_Sor2DthLoop",
|
||||
76096 => "A_SorDExp",
|
||||
76128 => "A_SorDBon",
|
||||
75664 => "A_BlueSpark",
|
||||
75776 => "A_GenWizard",
|
||||
76192 => "A_MinotaurAtk1",
|
||||
76304 => "A_MinotaurDecide",
|
||||
76656 => "A_MinotaurAtk2",
|
||||
76896 => "A_MinotaurAtk3",
|
||||
76576 => "A_MinotaurCharge",
|
||||
77072 => "A_MntrFloorFire",
|
||||
80000 => "A_ESound",
|
||||
}
|
||||
|
||||
#ACTION_POINTERS = ACTION_POINTERS_1_0
|
||||
ACTION_POINTERS = ACTION_POINTERS_1_2
|
||||
#ACTION_POINTERS = ACTION_POINTERS_1_3
|
||||
set_config(ARGV[1])
|
||||
|
||||
def read_int(file)
|
||||
c1 = file.getc
|
||||
|
@ -457,7 +54,7 @@ end
|
|||
states = []
|
||||
|
||||
File.open(filename) do |file|
|
||||
file.seek(offset)
|
||||
file.seek(STATE_OFFSET)
|
||||
|
||||
NUM_STATES.times do
|
||||
states.push(read_state(file))
|
||||
|
|
141
hhe/v1.0/config.rb
Executable file
141
hhe/v1.0/config.rb
Executable file
|
@ -0,0 +1,141 @@
|
|||
|
||||
module Heretic_1_0
|
||||
|
||||
NAME="v1.0"
|
||||
|
||||
NUM_STATES=1206
|
||||
|
||||
STATE_OFFSET=0x8bf04
|
||||
|
||||
# Locations of action pointer functions for Heretic 1.0. Hand-constructed.
|
||||
|
||||
ACTION_POINTERS = {
|
||||
78512 => "A_FreeTargMobj",
|
||||
82048 => "A_RestoreSpecialThing1",
|
||||
82128 => "A_RestoreSpecialThing2",
|
||||
78736 => "A_HideThing",
|
||||
78752 => "A_UnHideThing",
|
||||
81952 => "A_RestoreArtifact",
|
||||
76144 => "A_Scream",
|
||||
76784 => "A_Explode",
|
||||
76896 => "A_PodPain",
|
||||
77056 => "A_RemovePod",
|
||||
77104 => "A_MakePod",
|
||||
77728 => "A_InitKeyGizmo",
|
||||
77824 => "A_VolcanoSet",
|
||||
77856 => "A_VolcanoBlast",
|
||||
70480 => "A_BeastPuff",
|
||||
78080 => "A_VolcBallImpact",
|
||||
77520 => "A_SpawnTeleGlitter",
|
||||
77600 => "A_SpawnTeleGlitter2",
|
||||
77680 => "A_AccTeleGlitter",
|
||||
117648 => "A_Light0",
|
||||
111168 => "A_WeaponReady",
|
||||
111760 => "A_Lower",
|
||||
111920 => "A_Raise",
|
||||
112640 => "A_StaffAttackPL1",
|
||||
111696 => "A_ReFire",
|
||||
112784 => "A_StaffAttackPL2",
|
||||
111568 => "A_BeakReady",
|
||||
111856 => "A_BeakRaise",
|
||||
112272 => "A_BeakAttackPL1",
|
||||
112448 => "A_BeakAttackPL2",
|
||||
117184 => "A_GauntletAttack",
|
||||
112928 => "A_FireBlasterPL1",
|
||||
113072 => "A_FireBlasterPL2",
|
||||
115088 => "A_SpawnRippers",
|
||||
113760 => "A_FireMacePL1",
|
||||
114624 => "A_FireMacePL2",
|
||||
113904 => "A_MacePL1Check",
|
||||
114032 => "A_MaceBallImpact",
|
||||
114192 => "A_MaceBallImpact2",
|
||||
114752 => "A_DeathBallImpact",
|
||||
115568 => "A_FireSkullRodPL1",
|
||||
115648 => "A_FireSkullRodPL2",
|
||||
115776 => "A_SkullRodPL2Seek",
|
||||
115808 => "A_AddPlayerRain",
|
||||
116336 => "A_HideInCeiling",
|
||||
115984 => "A_SkullRodStorm",
|
||||
116272 => "A_RainImpact",
|
||||
113152 => "A_FireGoldWandPL1",
|
||||
113296 => "A_FireGoldWandPL2",
|
||||
116368 => "A_FirePhoenixPL1",
|
||||
116720 => "A_InitPhoenixPL2",
|
||||
116736 => "A_FirePhoenixPL2",
|
||||
117104 => "A_ShutdownPhoenixPL2",
|
||||
116496 => "A_PhoenixPuff",
|
||||
116480 => "A_RemovedPhoenixFunc", # anomaly!
|
||||
117120 => "A_FlameEnd",
|
||||
117152 => "A_FloatPuff",
|
||||
115232 => "A_FireCrossbowPL1",
|
||||
115312 => "A_FireCrossbowPL2",
|
||||
115456 => "A_BoltSpark",
|
||||
69984 => "A_Pain",
|
||||
76400 => "A_NoBlocking",
|
||||
78608 => "A_AddPlayerCorpse",
|
||||
78288 => "A_SkullPop",
|
||||
78704 => "A_FlameSnd",
|
||||
78448 => "A_CheckSkullFloor",
|
||||
78480 => "A_CheckSkullDone",
|
||||
71568 => "A_Feathers",
|
||||
71456 => "A_ChicLook",
|
||||
71488 => "A_ChicChase",
|
||||
71520 => "A_ChicPain",
|
||||
69872 => "A_FaceTarget",
|
||||
71376 => "A_ChicAttack",
|
||||
69200 => "A_Look",
|
||||
69328 => "A_Chase",
|
||||
71808 => "A_MummyAttack",
|
||||
71920 => "A_MummyAttack2",
|
||||
72048 => "A_MummySoul",
|
||||
108432 => "A_ContMobjSound",
|
||||
72016 => "A_MummyFX1Seek",
|
||||
74640 => "A_BeastAttack",
|
||||
75632 => "A_SnakeAttack",
|
||||
75712 => "A_SnakeAttack2",
|
||||
74752 => "A_HeadAttack",
|
||||
77344 => "A_BossDeath",
|
||||
75328 => "A_HeadIceImpact",
|
||||
75488 => "A_HeadFireGrow",
|
||||
75168 => "A_WhirlwindSeek",
|
||||
75792 => "A_ClinkAttack",
|
||||
75888 => "A_WizAtk1",
|
||||
75920 => "A_WizAtk2",
|
||||
75952 => "A_WizAtk3",
|
||||
75872 => "A_GhostOff",
|
||||
70592 => "A_ImpMeAttack",
|
||||
70672 => "A_ImpMsAttack",
|
||||
70880 => "A_ImpMsAttack2",
|
||||
70976 => "A_ImpDeath",
|
||||
71024 => "A_ImpXDeath1",
|
||||
71072 => "A_ImpXDeath2",
|
||||
70304 => "A_ImpExplode",
|
||||
70160 => "A_KnightAttack",
|
||||
70016 => "A_DripBlood",
|
||||
72144 => "A_Sor1Chase",
|
||||
72096 => "A_Sor1Pain",
|
||||
72192 => "A_Srcr1Attack",
|
||||
73456 => "A_SorZap",
|
||||
72480 => "A_SorcererRise",
|
||||
73488 => "A_SorRise",
|
||||
73616 => "A_SorSightSnd",
|
||||
72816 => "A_Srcr2Decide",
|
||||
72896 => "A_Srcr2Attack",
|
||||
73392 => "A_Sor2DthInit",
|
||||
73520 => "A_SorDSph",
|
||||
73424 => "A_Sor2DthLoop",
|
||||
73552 => "A_SorDExp",
|
||||
73584 => "A_SorDBon",
|
||||
73120 => "A_BlueSpark",
|
||||
73232 => "A_GenWizard",
|
||||
73648 => "A_MinotaurAtk1",
|
||||
73760 => "A_MinotaurDecide",
|
||||
74112 => "A_MinotaurAtk2",
|
||||
74352 => "A_MinotaurAtk3",
|
||||
74032 => "A_MinotaurCharge",
|
||||
74528 => "A_MntrFloorFire",
|
||||
77472 => "A_ESound",
|
||||
}
|
||||
|
||||
end
|
||||
|
142
hhe/v1.2/config.rb
Executable file
142
hhe/v1.2/config.rb
Executable file
|
@ -0,0 +1,142 @@
|
|||
|
||||
module Heretic_1_2
|
||||
|
||||
NAME="v1.2"
|
||||
|
||||
NUM_STATES=1206
|
||||
|
||||
STATE_OFFSET=0x8e8b4
|
||||
|
||||
# Locations of action pointer functions for Heretic 1.2. Hand-constructed.
|
||||
|
||||
ACTION_POINTERS = {
|
||||
81008 => "A_FreeTargMobj",
|
||||
84544 => "A_RestoreSpecialThing1",
|
||||
84592 => "A_RestoreSpecialThing2",
|
||||
81232 => "A_HideThing",
|
||||
81248 => "A_UnHideThing",
|
||||
84464 => "A_RestoreArtifact",
|
||||
78576 => "A_Scream",
|
||||
79248 => "A_Explode",
|
||||
79360 => "A_PodPain",
|
||||
79520 => "A_RemovePod",
|
||||
79568 => "A_MakePod",
|
||||
80192 => "A_InitKeyGizmo",
|
||||
80288 => "A_VolcanoSet",
|
||||
80320 => "A_VolcanoBlast",
|
||||
72992 => "A_BeastPuff",
|
||||
80544 => "A_VolcBallImpact",
|
||||
79984 => "A_SpawnTeleGlitter",
|
||||
80064 => "A_SpawnTeleGlitter2",
|
||||
80144 => "A_AccTeleGlitter",
|
||||
119824 => "A_Light0",
|
||||
113488 => "A_WeaponReady",
|
||||
114080 => "A_Lower",
|
||||
114240 => "A_Raise",
|
||||
114848 => "A_StaffAttackPL1",
|
||||
114016 => "A_ReFire",
|
||||
114992 => "A_StaffAttackPL2",
|
||||
113888 => "A_BeakReady",
|
||||
114176 => "A_BeakRaise",
|
||||
114480 => "A_BeakAttackPL1",
|
||||
114656 => "A_BeakAttackPL2",
|
||||
119344 => "A_GauntletAttack",
|
||||
115136 => "A_FireBlasterPL1",
|
||||
115280 => "A_FireBlasterPL2",
|
||||
117280 => "A_SpawnRippers",
|
||||
115968 => "A_FireMacePL1",
|
||||
116816 => "A_FireMacePL2",
|
||||
116112 => "A_MacePL1Check",
|
||||
116224 => "A_MaceBallImpact",
|
||||
116384 => "A_MaceBallImpact2",
|
||||
116944 => "A_DeathBallImpact",
|
||||
117760 => "A_FireSkullRodPL1",
|
||||
117840 => "A_FireSkullRodPL2",
|
||||
117968 => "A_SkullRodPL2Seek",
|
||||
118000 => "A_AddPlayerRain",
|
||||
118512 => "A_HideInCeiling",
|
||||
118176 => "A_SkullRodStorm",
|
||||
118448 => "A_RainImpact",
|
||||
115360 => "A_FireGoldWandPL1",
|
||||
115504 => "A_FireGoldWandPL2",
|
||||
118544 => "A_FirePhoenixPL1",
|
||||
118880 => "A_InitPhoenixPL2",
|
||||
118896 => "A_FirePhoenixPL2",
|
||||
119264 => "A_ShutdownPhoenixPL2",
|
||||
118656 => "A_PhoenixPuff",
|
||||
#0000 => "A_RemovedPhoenixFunc", # anomaly!
|
||||
119280 => "A_FlameEnd",
|
||||
119312 => "A_FloatPuff",
|
||||
117424 => "A_FireCrossbowPL1",
|
||||
117504 => "A_FireCrossbowPL2",
|
||||
117648 => "A_BoltSpark",
|
||||
72496 => "A_Pain",
|
||||
78832 => "A_NoBlocking",
|
||||
81104 => "A_AddPlayerCorpse",
|
||||
80752 => "A_SkullPop",
|
||||
81200 => "A_FlameSnd",
|
||||
80976 => "A_CheckBurnGone",
|
||||
80912 => "A_CheckSkullFloor",
|
||||
80944 => "A_CheckSkullDone",
|
||||
74080 => "A_Feathers",
|
||||
73968 => "A_ChicLook",
|
||||
74000 => "A_ChicChase",
|
||||
74032 => "A_ChicPain",
|
||||
72400 => "A_FaceTarget",
|
||||
73888 => "A_ChicAttack",
|
||||
71728 => "A_Look",
|
||||
71856 => "A_Chase",
|
||||
74288 => "A_MummyAttack",
|
||||
74400 => "A_MummyAttack2",
|
||||
74528 => "A_MummySoul",
|
||||
110816 => "A_ContMobjSound",
|
||||
74496 => "A_MummyFX1Seek",
|
||||
77120 => "A_BeastAttack",
|
||||
78048 => "A_SnakeAttack",
|
||||
78128 => "A_SnakeAttack2",
|
||||
77232 => "A_HeadAttack",
|
||||
79808 => "A_BossDeath",
|
||||
77824 => "A_HeadIceImpact",
|
||||
77984 => "A_HeadFireGrow",
|
||||
77664 => "A_WhirlwindSeek",
|
||||
78208 => "A_ClinkAttack",
|
||||
78320 => "A_WizAtk1",
|
||||
78352 => "A_WizAtk2",
|
||||
78384 => "A_WizAtk3",
|
||||
78304 => "A_GhostOff",
|
||||
73104 => "A_ImpMeAttack",
|
||||
73184 => "A_ImpMsAttack",
|
||||
73392 => "A_ImpMsAttack2",
|
||||
73488 => "A_ImpDeath",
|
||||
73536 => "A_ImpXDeath1",
|
||||
73584 => "A_ImpXDeath2",
|
||||
72816 => "A_ImpExplode",
|
||||
72672 => "A_KnightAttack",
|
||||
72528 => "A_DripBlood",
|
||||
74624 => "A_Sor1Chase",
|
||||
74576 => "A_Sor1Pain",
|
||||
74672 => "A_Srcr1Attack",
|
||||
75936 => "A_SorZap",
|
||||
74960 => "A_SorcererRise",
|
||||
75968 => "A_SorRise",
|
||||
76096 => "A_SorSightSnd",
|
||||
75296 => "A_Srcr2Decide",
|
||||
75376 => "A_Srcr2Attack",
|
||||
75872 => "A_Sor2DthInit",
|
||||
76000 => "A_SorDSph",
|
||||
75904 => "A_Sor2DthLoop",
|
||||
76032 => "A_SorDExp",
|
||||
76064 => "A_SorDBon",
|
||||
75600 => "A_BlueSpark",
|
||||
75712 => "A_GenWizard",
|
||||
76128 => "A_MinotaurAtk1",
|
||||
76240 => "A_MinotaurDecide",
|
||||
76592 => "A_MinotaurAtk2",
|
||||
76832 => "A_MinotaurAtk3",
|
||||
76512 => "A_MinotaurCharge",
|
||||
77008 => "A_MntrFloorFire",
|
||||
79936 => "A_ESound",
|
||||
}
|
||||
|
||||
end
|
||||
|
142
hhe/v1.3/config.rb
Executable file
142
hhe/v1.3/config.rb
Executable file
|
@ -0,0 +1,142 @@
|
|||
|
||||
module Heretic_1_3
|
||||
|
||||
NAME="v1.3"
|
||||
|
||||
NUM_STATES=1206
|
||||
|
||||
STATE_OFFSET=0x8e8b4
|
||||
|
||||
# Action pointers for Heretic 1.3.
|
||||
|
||||
ACTION_POINTERS = {
|
||||
81072 => "A_FreeTargMobj",
|
||||
84608 => "A_RestoreSpecialThing1",
|
||||
84656 => "A_RestoreSpecialThing2",
|
||||
81296 => "A_HideThing",
|
||||
81312 => "A_UnHideThing",
|
||||
84528 => "A_RestoreArtifact",
|
||||
78640 => "A_Scream",
|
||||
79312 => "A_Explode",
|
||||
79424 => "A_PodPain",
|
||||
79584 => "A_RemovePod",
|
||||
79632 => "A_MakePod",
|
||||
80256 => "A_InitKeyGizmo",
|
||||
80352 => "A_VolcanoSet",
|
||||
80384 => "A_VolcanoBlast",
|
||||
73056 => "A_BeastPuff",
|
||||
80608 => "A_VolcBallImpact",
|
||||
80048 => "A_SpawnTeleGlitter",
|
||||
80128 => "A_SpawnTeleGlitter2",
|
||||
80208 => "A_AccTeleGlitter",
|
||||
120064 => "A_Light0",
|
||||
113728 => "A_WeaponReady",
|
||||
114320 => "A_Lower",
|
||||
114480 => "A_Raise",
|
||||
115088 => "A_StaffAttackPL1",
|
||||
114256 => "A_ReFire",
|
||||
115232 => "A_StaffAttackPL2",
|
||||
114128 => "A_BeakReady",
|
||||
114416 => "A_BeakRaise",
|
||||
114720 => "A_BeakAttackPL1",
|
||||
114896 => "A_BeakAttackPL2",
|
||||
119584 => "A_GauntletAttack",
|
||||
115376 => "A_FireBlasterPL1",
|
||||
115520 => "A_FireBlasterPL2",
|
||||
117520 => "A_SpawnRippers",
|
||||
116208 => "A_FireMacePL1",
|
||||
117056 => "A_FireMacePL2",
|
||||
116352 => "A_MacePL1Check",
|
||||
116464 => "A_MaceBallImpact",
|
||||
116624 => "A_MaceBallImpact2",
|
||||
117184 => "A_DeathBallImpact",
|
||||
118000 => "A_FireSkullRodPL1",
|
||||
118080 => "A_FireSkullRodPL2",
|
||||
118208 => "A_SkullRodPL2Seek",
|
||||
118240 => "A_AddPlayerRain",
|
||||
118752 => "A_HideInCeiling",
|
||||
118416 => "A_SkullRodStorm",
|
||||
118688 => "A_RainImpact",
|
||||
115600 => "A_FireGoldWandPL1",
|
||||
115744 => "A_FireGoldWandPL2",
|
||||
118784 => "A_FirePhoenixPL1",
|
||||
119120 => "A_InitPhoenixPL2",
|
||||
119136 => "A_FirePhoenixPL2",
|
||||
119504 => "A_ShutdownPhoenixPL2",
|
||||
118896 => "A_PhoenixPuff",
|
||||
#0000 => "A_RemovedPhoenixFunc", # anomaly!
|
||||
119520 => "A_FlameEnd",
|
||||
119552 => "A_FloatPuff",
|
||||
117664 => "A_FireCrossbowPL1",
|
||||
117744 => "A_FireCrossbowPL2",
|
||||
117888 => "A_BoltSpark",
|
||||
72560 => "A_Pain",
|
||||
78896 => "A_NoBlocking",
|
||||
81168 => "A_AddPlayerCorpse",
|
||||
80816 => "A_SkullPop",
|
||||
81264 => "A_FlameSnd",
|
||||
81040 => "A_CheckBurnGone",
|
||||
80976 => "A_CheckSkullFloor",
|
||||
81008 => "A_CheckSkullDone",
|
||||
74144 => "A_Feathers",
|
||||
74032 => "A_ChicLook",
|
||||
74064 => "A_ChicChase",
|
||||
74096 => "A_ChicPain",
|
||||
72464 => "A_FaceTarget",
|
||||
73952 => "A_ChicAttack",
|
||||
71792 => "A_Look",
|
||||
71920 => "A_Chase",
|
||||
74352 => "A_MummyAttack",
|
||||
74464 => "A_MummyAttack2",
|
||||
74592 => "A_MummySoul",
|
||||
111056 => "A_ContMobjSound",
|
||||
74560 => "A_MummyFX1Seek",
|
||||
77184 => "A_BeastAttack",
|
||||
78112 => "A_SnakeAttack",
|
||||
78192 => "A_SnakeAttack2",
|
||||
77296 => "A_HeadAttack",
|
||||
79872 => "A_BossDeath",
|
||||
77888 => "A_HeadIceImpact",
|
||||
78048 => "A_HeadFireGrow",
|
||||
77728 => "A_WhirlwindSeek",
|
||||
78272 => "A_ClinkAttack",
|
||||
78384 => "A_WizAtk1",
|
||||
78416 => "A_WizAtk2",
|
||||
78448 => "A_WizAtk3",
|
||||
78368 => "A_GhostOff",
|
||||
73168 => "A_ImpMeAttack",
|
||||
73248 => "A_ImpMsAttack",
|
||||
73456 => "A_ImpMsAttack2",
|
||||
73552 => "A_ImpDeath",
|
||||
73600 => "A_ImpXDeath1",
|
||||
73648 => "A_ImpXDeath2",
|
||||
72880 => "A_ImpExplode",
|
||||
72736 => "A_KnightAttack",
|
||||
72592 => "A_DripBlood",
|
||||
74688 => "A_Sor1Chase",
|
||||
74640 => "A_Sor1Pain",
|
||||
74736 => "A_Srcr1Attack",
|
||||
76000 => "A_SorZap",
|
||||
75024 => "A_SorcererRise",
|
||||
76032 => "A_SorRise",
|
||||
76160 => "A_SorSightSnd",
|
||||
75360 => "A_Srcr2Decide",
|
||||
75440 => "A_Srcr2Attack",
|
||||
75936 => "A_Sor2DthInit",
|
||||
76064 => "A_SorDSph",
|
||||
75968 => "A_Sor2DthLoop",
|
||||
76096 => "A_SorDExp",
|
||||
76128 => "A_SorDBon",
|
||||
75664 => "A_BlueSpark",
|
||||
75776 => "A_GenWizard",
|
||||
76192 => "A_MinotaurAtk1",
|
||||
76304 => "A_MinotaurDecide",
|
||||
76656 => "A_MinotaurAtk2",
|
||||
76896 => "A_MinotaurAtk3",
|
||||
76576 => "A_MinotaurCharge",
|
||||
77072 => "A_MntrFloorFire",
|
||||
80000 => "A_ESound",
|
||||
}
|
||||
|
||||
end
|
||||
|
Loading…
Reference in a new issue