mirror of
https://github.com/Xeeynamo/sotn-decomp.git
synced 2024-11-23 13:09:44 +00:00
358b7a10df
I did not do it for `weapon`. This is the script I used: `python3 a.py asm/us/st/dre/data/23264.sbss.s > src/st/dre/bss.c` ```python import sys with open(sys.argv[1], "r") as f: lines = f.readlines() print('#include "common.h"') print("") for line in lines: if line == "\n": continue elif line.startswith(".include"): continue elif line.startswith(".section"): continue elif line.startswith("glabel"): label = line[7:].replace("\n", "") len = 0 elif ".word" in line: if len > 0 and n != 4: print(f"WARN: {label}", file=sys.stderr) n = 4 len += 1 elif ".short" in line: if len > 0 and n != 2: print(f"WARN: {label}", file=sys.stderr) n = 2 len += 1 elif ".byte" in line: if len > 0 and n != 1: print(f"WARN: {label}", file=sys.stderr) n = 1 len += 1 elif line.startswith(".size"): if len == 1: if n == 1: print(f"u8 {label};") elif n == 2: print(f"u16 {label};") elif n == 4: print(f"u32 {label};") else: if n == 1: print(f"u8 {label}[{len}];") elif n == 2: print(f"u16 {label}[{len}];") elif n == 4: print(f"u32 {label}[{len}];") ``` the script is a bit dumb. It does not account of the header. Some types are wrong compared to their prototype. The memory layout matches though, so we can keep iterating on top of this.
82 lines
2.5 KiB
Plaintext
82 lines
2.5 KiB
Plaintext
g_GfxBanks = 0x801801D0;
|
|
PfnEntityUpdates = 0x801803C8;
|
|
g_eBreakableInit = 0x80180458;
|
|
g_InitializeData0 = 0x80180464;
|
|
g_InitializeEntityData0 = 0x80180470;
|
|
g_EInitGeneric = 0x80180488;
|
|
g_InitDataEnt13 = 0x80180494;
|
|
g_eInitGeneric2 = 0x801804AC;
|
|
g_eDamageDisplayInit = 0x801804B8;
|
|
g_eRedDoorTiles = 0x80180550;
|
|
g_eBreakableAnimations = 0x80180610;
|
|
g_eBreakableHitboxes = 0x80180630;
|
|
g_eBreakableExplosionTypes = 0x80180638;
|
|
g_eBreakableanimSets = 0x80180640;
|
|
g_eBreakableDrawModes = 0x80180650;
|
|
g_CloneShootOrder = 0x801807D4;
|
|
UNK_Invincibility0 = 0x8018097C;
|
|
g_goldCollectTexts = 0x801810F4;
|
|
c_GoldPrizes = 0x8018111C;
|
|
c_HeartPrizes = 0x801811AC;
|
|
g_ExplosionYVelocities = 0x801811B0;
|
|
g_bigRedFireballAnim = 0x801811D8;
|
|
g_ExplosionAnimations = 0x8018125C;
|
|
g_eUnk14SpawnRots = 0x801812D4;
|
|
unk15_rot = 0x801812E4;
|
|
unk15_yVel = 0x801812F4;
|
|
unk14_yVel = 0x8018130C;
|
|
unk14_startFrame = 0x80181324;
|
|
unk14_lifetime = 0x80181328;
|
|
g_olroxDroolCollOffsets = 0x80181330;
|
|
g_UnkRecursPrimVecOrder = 0x80181348;
|
|
g_UnkRecursPrim2Inds = 0x80181368;
|
|
g_ESoulStealOrbAngles = 0x8018138C;
|
|
g_ESoulStealOrbSprt = 0x8018139C;
|
|
g_ESoulStealOrbAnim = 0x801813FC;
|
|
EntityUnkId11 = 0x80191A64;
|
|
EntityBreakable = 0x80191D00;
|
|
EntityBackgroundClouds = 0x80191E34;
|
|
EntitySuccubus = 0x80192104;
|
|
EntitySuccubusPetal = 0x80193B3C;
|
|
EntitySuccubusWingOverlay = 0x80193D7C;
|
|
EntitySuccubusClone = 0x80193E18;
|
|
EntityPinkBallProjectile = 0x80194214;
|
|
EntitySuccubusWingSpike = 0x80194488;
|
|
EntitySuccubusWingSpikeTip = 0x801946C4;
|
|
EntitySuccubusCutscene = 0x801950F8;
|
|
EntityCSMoveAlucard = 0x80196238;
|
|
EntityUnkId23 = 0x80196678;
|
|
EntityFadeToWhite1 = 0x8019697C;
|
|
EntityFadeToWhite2 = 0x80196CC8;
|
|
EntityDamageDisplay = 0x801984DC;
|
|
EntityRedDoor = 0x80199770;
|
|
DestroyEntity = 0x8019A3A8;
|
|
AnimateEntity = 0x8019A4D8;
|
|
MoveEntity = 0x8019A75C;
|
|
FallEntity = 0x8019A78C;
|
|
InitializeEntity = 0x8019B0B8;
|
|
EntityDummy = 0x8019B1B4;
|
|
CheckFieldCollision = 0x8019B304;
|
|
CollectHeart = 0x8019BA38;
|
|
CollectGold = 0x8019BAB8;
|
|
CollectSubweapon = 0x8019BB94;
|
|
CollectHeartVessel = 0x8019BCAC;
|
|
CollectLifeVessel = 0x8019BD50;
|
|
DestroyCurrentEntity = 0x8019BDA0;
|
|
EntityPrizeDrop = 0x8019BDC8;
|
|
EntityExplosion = 0x8019C63C;
|
|
EntityEquipItemDrop = 0x8019C7DC;
|
|
EntityRelicOrb = 0x8019D074;
|
|
EntityHeartDrop = 0x8019DB44;
|
|
EntityMessageBox = 0x8019DC6C;
|
|
EntityUnkId13 = 0x8019E2B8;
|
|
EntityUnkId14 = 0x8019E5E0;
|
|
EntityUnkId15 = 0x8019E6D0;
|
|
EntityIntenseExplosion = 0x8019F070;
|
|
EntityStageNamePopup = 0x801A0734;
|
|
EntitySoulStealOrb = 0x801A13B8;
|
|
EntityEnemyBlood = 0x801A174C;
|
|
EntityRoomForeground = 0x801A1BFC;
|
|
Entity3DHouseSpawner = 0x801A2E20;
|
|
Entity3DBackgroundHouse = 0x801A2F10;
|