sotn-decomp/config/symbols.us.stdre.txt
Luciano Ciccariello 358b7a10df
Import BSS section across all overlays (#1473)
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.
2024-08-04 16:14:49 -07:00

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;