sotn-decomp/config/symbols.hd.txt

1123 lines
31 KiB
Plaintext
Raw Normal View History

2023-05-06 11:24:32 +00:00
aDraBin1 = 0x80010040;
aFMapBin1 = 0x8001004C;
a0123456789abcd = 0x8001005C;
jpt_80011B20 = 0x80010074;
aClip3d3dDD = 0x80010120;
aOfs3d3d = 0x80010138;
aTwDDDD = 0x80010148;
aDtdD = 0x80010160;
aDfeD = 0x8001016C;
aDisp3d3dDD = 0x80010178;
aScreen3d3dDD = 0x80010194;
aIsinterD = 0x800101B0;
aIsrgb24D = 0x800101BC;
aIdSysCV1831995 = 0x800101C8;
aSBadRect = 0x800102B0;
str = 0x800102D4;
aLoadimage = 0x800102E0;
aStoreimage = 0x800102EC;
aMoveimage = 0x800102F8;
aVsyncTimeout = 0x800103C4;
aIdIntrCV173199 = 0x800103D4;
a0123456789abcd_0 = 0x8001046C;
a0123456789abcd_1 = 0x80010480;
jpt_800163F4 = 0x80010494;
aNone = 0x80010560;
aCdlreads = 0x80010568;
aCdlseekp = 0x80010574;
aCdlseekl = 0x80010580;
aCdlgettd = 0x8001058C;
aCdlgettn = 0x80010598;
aCdlgetlocp = 0x800105A4;
aCdlgetlocl = 0x800105B0;
aCdldemute = 0x800105DC;
aCdlmute = 0x800105E8;
aCdlreset = 0x800105F0;
aCdlpause = 0x800105FC;
aCdlstop = 0x80010608;
aCdlstandby = 0x80010610;
aCdlreadn = 0x8001061C;
aCdlbackword = 0x80010628;
aCdlforward = 0x80010634;
aCdlplay = 0x80010640;
aCdlsetloc = 0x80010648;
aCdlnop = 0x80010654;
aCdlsync = 0x8001065C;
aDiskerror_0 = 0x80010664;
aDataend = 0x80010670;
aAcknowledge = 0x80010678;
aComplete = 0x80010684;
aDataready = 0x80010690;
aNointr = 0x8001069C;
aCdTimeout = 0x800106A4;
aDiskerror = 0x800106D0;
aCdromUnknownIn = 0x800106F8;
jpt_80019DE8 = 0x80010718;
aCdSync = 0x8001072C;
aCdReady = 0x80010734;
aCdCw = 0x80010758;
aIdBiosCV177199 = 0x80010760;
aCdInit = 0x80010794;
aCdDatasync = 0x800107AC;
aSDirWasNotFoun = 0x800107D4;
aCd001 = 0x80010870;
aCdreadSectorEr = 0x800109A4;
aCdreadShellOpe = 0x800109BC;
aCdreadRetry = 0x800109D4;
jpt_8001DE24 = 0x80010A60;
jpt_8001EECC = 0x80010C48;
jpt_8001EFB8 = 0x80010CA8;
jpt_80020818 = 0x80010CD4;
aWaitReset = 0x80010CFC;
aWaitWrdyHL = 0x80010D0C;
aWaitDmafClearW = 0x80010D20;
aSpuTimeOutWait = 0x80010D34;
jpt_8002A518 = 0x80010D74;
jpt_8002A5E8 = 0x80010D94;
jpt_8002ADFC = 0x80010DB4;
jpt_8002AEC4 = 0x80010DD4;
__main = 0x80010DF4;
start = 0x80010DFC;
stup1 = 0x80010E20;
stup0 = 0x80010E9C;
main = 0x80010EB8;
LoadTPage = 0x8001112C;
LoadClut2 = 0x80011218;
SetDefDrawEnv = 0x80011280;
SetDefDispEnv = 0x80011310;
SetDumpFnt = 0x8001134C;
FntLoad = 0x8001138C;
FntOpen = 0x80011430;
FntFlush = 0x800116FC;
FntPrint = 0x8001195C;
GetTPage = 0x80011D54;
GetClut = 0x80011DEC;
DumpTPage = 0x80011E04;
DumpClut = 0x80011EA0;
NextPrim = 0x80011EE0;
IsEndPrim = 0x80011EFC;
AddPrim = 0x80011F18;
AddPrims = 0x80011F54;
CatPrim = 0x80011F90;
TermPrim = 0x80011FB4;
SetSemiTrans = 0x80011FCC;
SetShadeTex = 0x80011FF4;
SetPolyF3 = 0x8001201C;
SetPolyFT3 = 0x80012030;
SetPolyG3 = 0x80012044;
2023-05-06 11:24:32 +00:00
SetPolyGT3 = 0x80012058;
SetPolyF4 = 0x8001206C;
SetPolyFT4 = 0x80012080;
2023-05-06 11:24:32 +00:00
SetPolyG4 = 0x80012094;
SetPolyGT4 = 0x800120A8;
SetSprt8 = 0x800120BC;
SetSprt16 = 0x800120D0;
SetSprt = 0x800120E4;
SetTile1 = 0x800120F8;
SetTile8 = 0x8001210C;
SetTile16 = 0x80012120;
2023-05-06 11:24:32 +00:00
SetTile = 0x80012134;
SetBlockFill = 0x80012148;
SetLineF2 = 0x8001215C;
2023-05-06 11:24:32 +00:00
SetLineG2 = 0x80012170;
SetLineF3 = 0x80012184;
SetLineG3 = 0x800121A4;
SetLineF4 = 0x800121C4;
SetLineG4 = 0x800121E4;
MargePrim = 0x80012204;
DumpDrawEnv = 0x80012238;
DumpDispEnv = 0x80012388;
2023-05-06 11:24:32 +00:00
ResetGraph = 0x80012434;
SetGraphReverse = 0x80012604;
SetGraphDebug = 0x80012714;
SetGraphQueue = 0x8001277C;
GetGraphType = 0x80012818;
GetGraphDebug = 0x80012828;
DrawSyncCallback = 0x80012838;
SetDispMask = 0x80012894;
DrawSync = 0x8001290C;
checkRECT = 0x80012978;
ClearImage = 0x80012A90;
LoadImage = 0x80012B24;
StoreImage = 0x80012B88;
MoveImage = 0x80012BEC;
ClearOTag = 0x80012C90;
ClearOTagR = 0x80012D3C;
DrawOTag = 0x80012E1C;
PutDrawEnv = 0x80012E8C;
GetDrawEnv = 0x80012F84;
2023-05-06 11:24:32 +00:00
PutDispEnv = 0x80012FE4;
GetDispEnv = 0x8001342C;
GetODE = 0x80013490;
SetTexWindow = 0x800134C4;
2023-05-06 11:24:32 +00:00
SetDrawArea = 0x80013500;
SetDrawOffset = 0x80013584;
SetPriority = 0x800135C8;
2023-05-06 11:24:32 +00:00
SetDrawMode = 0x800135F0;
SetDrawEnv = 0x80013648;
get_mode = 0x80013900;
get_cs = 0x80013950;
get_ce = 0x80013A1C;
get_ofs = 0x80013AE8;
get_tw = 0x80013B24;
get_dx = 0x80013BA8;
_status = 0x80013C80;
_otc = 0x80013C98;
_clr = 0x80013D80;
_dws = 0x80013FCC;
_drs = 0x80014258;
_ctl = 0x80014528;
_getctl = 0x80014560;
_cwb = 0x80014580;
_cwc = 0x800145D0;
_param = 0x8001461C;
_addque = 0x8001464C;
_addque2 = 0x80014670;
_exeque = 0x800148D8;
_reset = 0x80014BD8;
_sync = 0x80014D54;
set_alarm = 0x80014F40;
get_alarm = 0x80014F74;
GPU_memset = 0x8001510C;
InitHeap = 0x80015138;
Load = 0x80015148;
Exec = 0x80015158;
GPU_cw = 0x80015168;
_bu_init = 0x80015178;
open = 0x80015188;
lseek = 0x80015198;
read = 0x800151A8;
write = 0x800151B8;
close = 0x800151C8;
format = 0x800151D8;
firstfile = 0x800151E8;
nextfile = 0x800151F8;
erase = 0x80015208;
Krom2RawAdd = 0x80015218;
ChangeClearPAD = 0x80015228;
PadInit = 0x80015238;
PadRead = 0x80015288;
PadStop = 0x800152B8;
StopPAD = 0x800152D8;
PAD_init = 0x800152E8;
PAD_dr = 0x800152F8;
VSync = 0x80015308;
v_wait = 0x80015450;
ChangeClearRCnt = 0x800154EC;
ResetCallback = 0x800154FC;
InterruptCallback = 0x8001552C;
DMACallback = 0x8001555C;
VSyncCallback = 0x8001558C;
VSyncCallbacks = 0x800155C0;
StopCallback = 0x800155F0;
RestartCallback = 0x80015620;
CheckCallback = 0x80015650;
GetIntrMask = 0x80015660;
SetIntrMask = 0x80015678;
startIntr = 0x80015694;
trapIntr = 0x80015770;
setIntr = 0x80015958;
stopIntr = 0x80015AAC;
restartIntr = 0x80015B58;
memclr = 0x80015BE0;
_96_remove = 0x80015C0C;
ReturnFromException = 0x80015C1C;
ResetEntryInt = 0x80015C2C;
HookEntryInt = 0x80015C3C;
EnterCriticalSection = 0x80015C4C;
ExitCriticalSection = 0x80015C5C;
startIntrVSync = 0x80015C6C;
trapIntrVSync = 0x80015CC4;
setIntrVSync = 0x80015D3C;
VSync_memclr = 0x80015D68;
startIntrDMA = 0x80015D94;
trapIntrDMA = 0x80015DE4;
setIntrDMA = 0x80015F68;
DMA_memclr = 0x80016010;
SetVideoMode = 0x8001603C;
GetVideoMode = 0x80016054;
exit = 0x80016064;
puts = 0x80016074;
setjmp = 0x80016084;
strcat = 0x80016094;
strcpy = 0x800160A4;
strlen = 0x800160B4;
memcpy = 0x800160C4;
memset = 0x800160D4;
rand = 0x800160E4;
srand = 0x800160F4;
malloc = 0x80016104;
free = 0x80016114;
printf = 0x80016124;
sprintf = 0x80016134;
memchr = 0x80016990;
memmove = 0x800169A0;
_card_info = 0x80016A0C;
_card_load = 0x80016A1C;
InitCARD = 0x80016A2C;
StartCARD = 0x80016A3C;
_card_clear = 0x80016A4C;
_card_write = 0x80016A84;
_new_card = 0x80016A94;
GsInitVcount = 0x80016AA4;
SetRCnt = 0x80016ADC;
GetRCnt = 0x80016B7C;
StartRCnt = 0x80016BB4;
StopRCnt = 0x80016BE8;
ResetRCnt = 0x80016C1C;
GsGetVcount = 0x80016C54;
GsClearVcount = 0x80016C78;
rsin = 0x80016C9C;
sin_1 = 0x80016CD8;
rcos = 0x80016D68;
SetFogNear = 0x80016E08;
InitGeom = 0x80016E6C;
SquareRoot0 = 0x80016EEC;
InvSquareRoot = 0x80016F7C;
MatrixNormal = 0x80017134;
2023-05-06 11:24:32 +00:00
SquareRoot12 = 0x8001721C;
CompMatrix = 0x800172BC;
MulMatrix0 = 0x8001741C;
MulRotMatrix0 = 0x80017528;
MulRotMatrix = 0x8001760C;
2023-05-06 11:24:32 +00:00
SetMulMatrix = 0x800176F4;
ApplyMatrixLV = 0x80017804;
ApplyRotMatrix = 0x80017964;
ScaleMatrixL = 0x80017994;
2023-05-06 11:24:32 +00:00
PushMatrix = 0x80017AB8;
PopMatrix = 0x80017B58;
ReadRotMatrix = 0x80017BF8;
ReadLightMatrix = 0x80017C40;
2023-05-06 11:24:32 +00:00
ReadColorMatrix = 0x80017C88;
TransMatrix = 0x80017CDC;
ScaleMatrix = 0x80017D0C;
SetRotMatrix = 0x80017E3C;
SetLightMatrix = 0x80017E6C;
SetColorMatrix = 0x80017E9C;
SetTransMatrix = 0x80017ECC;
SetVertex0 = 0x80017EEC;
SetVertex1 = 0x80017EFC;
SetVertex2 = 0x80017F0C;
SetVertexTri = 0x80017F1C;
SetRGBfifo = 0x80017F3C;
SetIR123 = 0x80017F50;
SetIR0 = 0x80017F64;
SetSZfifo3 = 0x80017F70;
SetSZfifo4 = 0x80017F84;
SetSXSYfifo = 0x80017F9C;
SetRii = 0x80017FB0;
SetMAC123 = 0x80017FC4;
SetData32 = 0x80017FD8;
SetDQA = 0x80017FE4;
SetDQB = 0x80017FF0;
SetBackColor = 0x80017FFC;
SetFarColor = 0x8001801C;
SetGeomOffset = 0x8001803C;
SetGeomScreen = 0x8001805C;
LocalLight = 0x8001806C;
DpqColor = 0x80018090;
NormalColor = 0x800180AC;
NormalColor3 = 0x800180C8;
NormalColorDpq = 0x80018104;
NormalColorDpq3 = 0x80018128;
NormalColorCol = 0x80018170;
NormalColorCol3 = 0x80018190;
ColorDpq = 0x800181D4;
ColorCol = 0x800181FC;
AverageSZ3 = 0x80018220;
AverageSZ4 = 0x80018230;
RotTransPers = 0x8001824C;
RotTransPers3 = 0x8001827C;
RotTrans = 0x800182DC;
NormalClip = 0x8001830C;
NormalClipS = 0x80018320;
2023-05-06 11:24:32 +00:00
RotTransPers4 = 0x8001833C;
RotAverage3 = 0x800183BC;
RotAverage4 = 0x8001841C;
RotAverageNclip3 = 0x8001849C;
RotAverageNclip4 = 0x8001852C;
RotAverageNclipColorCol3 = 0x800185DC;
RotMatrix = 0x800186AC;
RotMatrixYXZ = 0x8001893C;
RotMatrixX = 0x80018BCC;
RotMatrixY = 0x80018D6C;
RotMatrixZ = 0x80018F0C;
ratan2 = 0x800190AC;
patch_gte = 0x8001922C;
FlushCache = 0x800192CC;
StSetRing = 0x800192DC;
2023-05-06 11:24:32 +00:00
CdInit = 0x8001930C;
def_cbsync = 0x8001939C;
def_cbready = 0x800193C4;
def_cbread = 0x800193EC;
DeliverEvent = 0x80019414;
CdStatus = 0x80019424;
CdMode = 0x80019434;
2023-05-13 19:35:35 +00:00
CdLastCom = 0x80019444;
2023-05-06 11:24:32 +00:00
CdLastPos = 0x80019454;
CdReset = 0x80019464;
CdFlush = 0x800194D0;
CdSetDebug = 0x800194F0;
CdComstr = 0x80019508;
CdIntstr = 0x8001953C;
2023-05-06 11:24:32 +00:00
CdSync = 0x80019570;
CdReady = 0x80019590;
CdSyncCallback = 0x800195B0;
CdReadyCallback = 0x800195C8;
CdControl = 0x800195E0;
CdControlF = 0x80019718;
CdControlB = 0x80019844;
CdMix = 0x80019988;
CdGetSector = 0x800199AC;
CdDataCallback = 0x800199D0;
CdDataSync = 0x800199F4;
2023-05-06 11:24:32 +00:00
CdIntToPos = 0x80019A14;
CdPosToInt = 0x80019B18;
getintr = 0x80019B98;
CD_sync = 0x8001A110;
CD_ready = 0x8001A390;
CD_cw = 0x8001A65C;
CD_vol = 0x8001AAA4;
CD_flush = 0x8001AB2C;
CD_initvol = 0x8001AC0C;
CD_initintr = 0x8001AD00;
CD_init = 0x8001AD50;
CD_datasync = 0x8001AF3C;
CD_getsector = 0x8001B0A8;
CD_set_test_parmnum = 0x8001B1A8;
2023-05-06 11:24:32 +00:00
callback = 0x8001B1B8;
CdSearchFile = 0x8001B298;
_cmp = 0x8001B578;
2023-05-06 11:24:32 +00:00
CD_newmedia = 0x8001B59C;
CD_searchdir = 0x8001B878;
CD_cachefile = 0x8001B920;
cd_read = 0x8001BBC4;
cd_memcpy = 0x8001BC30;
strcmp = 0x8001BC64;
strncmp = 0x8001BC74;
cb_read = 0x8001BC84;
cd_read_retry = 0x8001BEA8;
CdRead = 0x8001C080;
CdReadSync = 0x8001C188;
CdReadCallback = 0x8001C254;
CdRead2 = 0x8001C26C;
StCdInterrupt2 = 0x8001C300;
2023-05-06 11:24:32 +00:00
StClearRing = 0x8001C320;
StUnSetRing = 0x8001C380;
data_ready_callback = 0x8001C3D8;
StGetBackloc = 0x8001C468;
2023-05-06 11:24:32 +00:00
StSetStream = 0x8001C4C8;
StFreeRing = 0x8001C550;
init_ring_status = 0x8001C60C;
StGetNext = 0x8001C64C;
StSetMask = 0x8001C710;
StCdInterrupt = 0x8001C730;
2023-05-06 11:24:32 +00:00
mem2mem = 0x8001D0A0;
dma_execute = 0x8001D0D4;
SsSetMVol = 0x8001D290;
SsSetSerialAttr = 0x8001D2E0;
SsSetSerialVol = 0x8001D374;
_SsInitSoundSeq = 0x8001D470;
SsSeqOpen = 0x8001D798;
2023-05-06 11:24:32 +00:00
_SsSeqPlay = 0x8001D864;
_SsGetSeqData = 0x8001D974;
_SsNoteOn = 0x8001DC20;
_SsSetProgramChange = 0x8001DD10;
_SsSetControlChange = 0x8001DD88;
_SsContModulation = 0x8001E0A0;
_SsContPortaTime = 0x8001E1D8;
2023-05-06 11:24:32 +00:00
_SsContPortamento = 0x8001E310;
_SsContResetAll = 0x8001E474;
_SsContNrpn1 = 0x8001E53C;
_SsContNrpn2 = 0x8001E66C;
_SsContRpn1 = 0x8001E7B0;
_SsContRpn2 = 0x8001E828;
_SsContDataEntry = 0x8001E8A0;
_SsSndSetVabAttr = 0x8001EE40;
_SsSetPitchBend = 0x8001F104;
_SsGetMetaEvent = 0x8001F1B0;
_SsReadDeltaValue = 0x8001F504;
_SsUtResolveADSR = 0x8001F5BC;
_SsUtBuildADSR = 0x8001F618;
_SsSndNextSep = 0x8001F6A4;
SsVoKeyOff = 0x8001F7AC;
SsVoKeyOn = 0x8001F7E8;
SsSeqCalledTbyT = 0x8001F834;
2023-05-06 11:24:32 +00:00
_SsSndCrescendo = 0x8001FAA8;
_SsSndDecrescendo = 0x8001FD84;
_SsSndPause = 0x80020030;
_SsSndPlay = 0x800200D0;
_SsSndReplay = 0x800200FC;
_SsClose = 0x80020164;
SsSeqClose = 0x800202E0;
SsSepClose = 0x80020304;
2023-05-06 11:24:32 +00:00
_SsInit = 0x80020328;
SsInitHot = 0x80020410;
SsQuit = 0x80020440;
_SsStart = 0x80020460;
SsStart = 0x800206C8;
SsStart2 = 0x800206E8;
_SsTrapIntrVSync = 0x80020708;
_SsSeqCalledTbyT_1per2 = 0x80020748;
2023-05-06 11:24:32 +00:00
SsSetTickMode = 0x80020798;
SsEnd = 0x80020904;
SsSetTableSize = 0x800209B4;
Snd_SetPlayMode = 0x80020B94;
SsSeqPlay = 0x80020C94;
SsSepPlay = 0x80020CCC;
_SsSndSetVol = 0x80020D04;
SsSeqSetVol = 0x80020D3C;
SsSepSetVol = 0x80020D6C;
SsSeqGetVol = 0x80020DA4;
_SsSndStop = 0x80020DD8;
SsSeqStop = 0x80020F44;
SsSepStop = 0x80020F6C;
_SsSndTempo = 0x80020F98;
SsSetMono = 0x80021174;
SsSetStereo = 0x80021188;
2023-05-06 11:24:32 +00:00
SsSetReservedVoice = 0x80021198;
SsVabClose = 0x800211D0;
SsVabOpen = 0x80021254;
2023-05-06 11:24:32 +00:00
SsVabFakeBody = 0x800212AC;
SsVabOpenHead = 0x8002131C;
SsVabOpenHeadSticky = 0x80021350;
SsVabFakeHead = 0x80021384;
SsVabOpenHeadWithMode = 0x800213B8;
SsVabTransBody = 0x800217C0;
SsVabTransBodyPartly = 0x80021880;
SsVabTransCompleted = 0x800219E0;
SpuVmDamperOff = 0x80021A0C;
SpuVmDamperOn = 0x80021A1C;
2023-05-06 11:24:32 +00:00
SsUtGetProgAtr = 0x80021A30;
SpuVmVSetUp = 0x80021B38;
SsUtGetVagAtr = 0x80021BFC;
SsUtSetReverbType = 0x80021E38;
SsUtGetReverbType = 0x80021EDC;
SsUtReverbOn = 0x80021EEC;
SsUtSetReverbFeedback = 0x80021F2C;
SsUtSetReverbDepth = 0x80021F6C;
SsUtSetReverbDelay = 0x80022004;
SsUtSetVagAtr = 0x80022044;
2023-05-06 11:24:32 +00:00
SpuVmAlloc = 0x8002220C;
SpuVmKeyOnNow = 0x80022474;
SpuVmDoAllocate = 0x80022958;
vmNoiseOn = 0x80022B6C;
vmNoiseOn2 = 0x8002303C;
note2pitch = 0x800231D8;
note2pitch2 = 0x80023290;
SePitchBend = 0x8002338C;
SsUtVibrateOn = 0x80023530;
SsUtVibrateOff = 0x80023538;
SeAutoVol = 0x80023540;
2023-05-06 11:24:32 +00:00
SetAutoVol = 0x800236F0;
SeAutoPan = 0x80023A40;
SetAutoPan = 0x80023BF0;
2023-05-06 11:24:32 +00:00
SpuVmInit = 0x80023F34;
SpuVmNoiseOnWithAdsr = 0x80024304;
SpuVmNoiseOff = 0x8002439C;
SpuVmNoiseOn = 0x80024454;
SpuVmPBVoice = 0x800244D4;
SpuVmPitchBend = 0x800246D8;
2023-05-06 11:24:32 +00:00
SpuVmFlush = 0x800247C8;
SpuVmKeyOn = 0x80024B74;
SpuVmKeyOff = 0x80025164;
SpuVmSeKeyOn = 0x80025354;
2023-05-06 11:24:32 +00:00
SpuVmSeKeyOff = 0x80025440;
KeyOnCheck = 0x80025474;
SpuVmSetSeqVol = 0x8002547C;
SpuVmGetSeqVol = 0x800255F0;
SpuVmGetSeqLVol = 0x8002565C;
SpuVmGetSeqRVol = 0x800256AC;
SpuVmSeqKeyOff = 0x800256FC;
SpuVmSetProgVol = 0x80025840;
SpuVmGetProgVol = 0x800258B4;
SpuVmSetProgPan = 0x80025908;
SpuVmGetProgPan = 0x8002597C;
SpuVmSetVol = 0x800259D0;
SsUtKeyOn = 0x80025F08;
SsUtKeyOff = 0x800262AC;
2023-05-06 11:24:32 +00:00
SsUtKeyOnV = 0x800264A0;
SsUtKeyOffV = 0x8002683C;
2023-05-06 11:24:32 +00:00
SsUtPitchBend = 0x80026954;
SsUtChangePitch = 0x800269E4;
SsUtChangeADSR = 0x80026B24;
SsUtGetDetVVol = 0x80026BFC;
SsUtSetDetVVol = 0x80026C54;
SsUtGetVVol = 0x80026CC0;
SsUtSetVVol = 0x80026D4C;
SsUtAutoVol = 0x80026DD8;
SsUtAutoPan = 0x80026E2C;
SsUtAllKeyOff = 0x80026E80;
2023-05-06 11:24:32 +00:00
SpuInit = 0x8002705C;
_SpuInit = 0x8002707C;
SpuStart = 0x80027144;
2023-05-06 11:24:32 +00:00
OpenEvent = 0x800271C8;
EnableEvent = 0x800271D8;
_spu_reset = 0x800271E8;
2023-05-06 11:24:32 +00:00
_spu_init = 0x80027274;
_spu_writeByIO = 0x80027790;
_spu_FiDMA = 0x80027AC4;
_spu_r_ = 0x80027C64;
_spu_t = 0x80027E44;
_spu_write = 0x800280EC;
_spu_read = 0x80028174;
_spu_FsetRXX = 0x800281DC;
_spu_FsetRXXa = 0x80028224;
_spu_FgetRXXa = 0x800282C8;
2023-05-06 11:24:32 +00:00
_SpuDataCallback = 0x80028304;
SpuQuit = 0x80028328;
CloseEvent = 0x800283A4;
DisableEvent = 0x800283B4;
SpuInitMalloc = 0x800283C4;
SpuMalloc = 0x80028418;
_SpuMallocSeparateTo3 = 0x800289E0;
SpuMallocWithStartAddr = 0x80028D3C;
SpuFree = 0x80028FF4;
2023-05-06 11:24:32 +00:00
SpuSetNoiseVoice = 0x80029070;
SpuSetAnyVoice = 0x80029094;
SpuSetReverb = 0x80029148;
_SpuIsInAllocateArea = 0x80029218;
_SpuIsInAllocateArea_ = 0x80029288;
SpuSetReverbModeParam = 0x80029300;
2023-05-06 11:24:32 +00:00
_spu_setReverbAttr = 0x80029810;
SpuClearReverbWorkArea = 0x80029CE0;
WaitEvent = 0x80029E7C;
SpuSetIRQ = 0x80029E8C;
SpuSetIRQCallback = 0x80029FBC;
_SpuCallback = 0x8002A000;
SpuSetKey = 0x8002A024;
SpuSetVoiceAttr = 0x8002A09C;
_SpuSetVoiceAttr = 0x8002A0C4;
SpuGetVoiceAttr = 0x8002A720;
SpuRead = 0x8002AAF8;
SpuWrite = 0x8002AB58;
SpuSetTransferStartAddr = 0x8002ABB8;
SpuSetTransferMode = 0x8002ABF4;
SpuWritePartly = 0x8002AC28;
SpuIsTransferCompleted = 0x8002ACB4;
2023-05-06 11:24:32 +00:00
TestEvent = 0x8002AD5C;
_spu_setInTransfer = 0x8002AD6C;
_spu_getInTransfer = 0x8002AD98;
SpuSetCommonAttr = 0x8002ADA8;
_spu_note2pitch = 0x8002B13C;
_spu_pitch2note = 0x8002B22C;
SpuRGetAllKeysStatus = 0x8002B388;
SpuGetAllKeysStatus = 0x8002B458;
2023-05-06 11:24:32 +00:00
Font = 0x8002B760;
GPU_printf = 0x8002C264;
_qin = 0x8002C2A0;
_qout = 0x8002C2A4;
Hcount = 0x8002C2B0;
g_InterruptMask = 0x8002D348;
Vcount = 0x8002D374;
rsin_tbl = 0x8002D3CC;
SQRT = 0x8002DBE0;
aThisFunctionIs = 0x8002E1EA;
rcossin_tbl = 0x8002E210;
2023-05-13 22:03:13 +00:00
g_AtanTable = 0x80032210;
2023-05-06 11:24:32 +00:00
CD_cbsync = 0x80032AA4;
CD_cbready = 0x80032AA8;
CD_status = 0x80032AB4;
CD_status1 = 0x80032AB8;
CD_nopen = 0x80032ABC;
CD_pos = 0x80032AC0;
CD_mode = 0x80032AC4;
CD_com = 0x80032AC5;
snd_seq_tick_env = 0x80032EF0;
_spu_EVdma = 0x800330F0;
_spu_isCalled = 0x800334F8;
_spu_tsa = 0x80033500;
_spu_RXX = 0x80033504;
_spu_transMode = 0x8003351C;
_spu_addrMode = 0x80033520;
_spu_mem_mode = 0x80033524;
_spu_mem_mode_plus = 0x80033528;
_spu_mem_mode_unit = 0x8003352C;
_spu_mem_mode_unitM = 0x80033530;
_spu_inTransfer = 0x80033534;
_spu_transferCallback = 0x80033538;
_spu_IRQCallback = 0x8003353C;
text_orgend = 0x800339E8;
tpage = 0x80037E18;
clut = 0x80037E1C;
ctlbuf = 0x80037ED0;
pad_buf = 0x8003925C;
Alarm = 0x80039278;
file = 0x80039284;
load_buf = 0x8003AE84;
fp_2 = 0x8003B684;
_svm_sreg_buf = 0x8003B690;
_svm_sreg_buf_02 = 0x8003B692;
_svm_sreg_buf_04 = 0x8003B694;
_svm_sreg_buf_06 = 0x8003B696;
_svm_sreg_buf_08 = 0x8003B698;
_svm_sreg_buf_0A = 0x8003B69A;
2023-05-06 11:24:32 +00:00
_svm_sreg_dirty = 0x8003B810;
_svm_voice = 0x8003B828;
_svm_voice_02 = 0x8003B82A;
_svm_voice_04 = 0x8003B82C;
_svm_voice_06 = 0x8003B82E;
_svm_voice_08 = 0x8003B830;
_svm_voice_09 = 0x8003B831;
_svm_voice_0A = 0x8003B832;
_svm_voice_0C = 0x8003B834;
_svm_voice_0E = 0x8003B836;
_svm_voice_10 = 0x8003B838;
_svm_voice_11 = 0x8003B839;
_svm_voice_12 = 0x8003B83A;
_svm_voice_14 = 0x8003B83C;
_svm_voice_15 = 0x8003B83D;
_svm_voice_16 = 0x8003B83E;
_svm_voice_18 = 0x8003B840;
_svm_voice_1A = 0x8003B842;
_svm_voice_1B = 0x8003B843;
_svm_voice_1C = 0x8003B844;
_svm_voice_1E = 0x8003B846;
_svm_voice_20 = 0x8003B848;
_svm_voice_22 = 0x8003B84A;
_svm_voice_24 = 0x8003B84C;
_svm_voice_26 = 0x8003B84E;
_svm_voice_28 = 0x8003B850;
_svm_voice_2A = 0x8003B852;
_svm_voice_2C = 0x8003B854;
_svm_voice_2E = 0x8003B856;
_svm_voice_30 = 0x8003B858;
_svm_voice_32 = 0x8003B85A;
2023-05-06 11:24:32 +00:00
_svm_envx_hist = 0x8003BD0C;
_svm_okon1 = 0x8003BDD8;
_svm_okon2 = 0x8003BDDC;
g_IsTimeAttackUnlocked = 0x8003BDE0;
_svm_orev1 = 0x8003BDE4;
_svm_orev2 = 0x8003BDE8;
g_CastleFlags = 0x8003BDEC;
g_CastleFlags_0x13 = 0x8003BDFF;
g_CastleFlags_0x30 = 0x8003BE1C;
g_CastleFlags_0x31 = 0x8003BE1D;
g_CastleFlags_0x32 = 0x8003BE1E;
g_CastleFlags_0x34 = 0x8003BE20;
g_CastleFlags_0x35 = 0x8003BE21;
g_CastleFlags_0x62 = 0x8003BE4E;
g_CastleFlags_0x63 = 0x8003BE4F;
g_CurrentStream = 0x8003C100;
g_ClutIds = 0x8003C104;
2023-05-06 11:24:32 +00:00
D_8003C708_unk2 = 0x8003C70A;
D_8003C708_unk4 = 0x8003C70C;
D_8003C708_zPriority = 0x8003C70E;
2023-05-15 13:42:52 +00:00
g_GameState = 0x8003C734;
2023-05-06 11:24:32 +00:00
_svm_rattr = 0x8003C748;
g_RoomCount = 0x8003C760;
2023-05-06 11:24:32 +00:00
g_api = 0x8003C774;
g_api_o_HitDetection = 0x8003C778;
2023-05-06 11:24:32 +00:00
g_api_o_unk08 = 0x8003C77C;
g_api_o_InitRoomEntities = 0x8003C780;
g_api_o_rooms = 0x8003C784;
g_api_o_spriteBanks = 0x8003C788;
g_api_o_cluts = 0x8003C78C;
g_api_o_unk1C = 0x8003C790;
g_api_o_tileLayers = 0x8003C794;
g_api_o_entityGfxs = 0x8003C798;
g_api_o_unk28 = 0x8003C79C;
g_api_o_unk2c = 0x8003C7A0;
g_api_o_unk30 = 0x8003C7A4;
g_api_o_unk34 = 0x8003C7A8;
g_api_o_unk38 = 0x8003C7AC;
g_api_o_unk3C = 0x8003C7B0;
g_api_FreePrimitives = 0x8003C7B4;
g_api_AllocPrimitives = 0x8003C7B8;
g_api_CheckCollision = 0x8003C7BC;
g_api_func_80102CD8 = 0x8003C7C0;
g_api_UpdateAnim = 0x8003C7C4;
g_api_SetSpeedX = 0x8003C7C8;
g_api_GetFreeEntity = 0x8003C7CC;
g_api_GetEquipProperties = 0x8003C7D0;
g_api_func_800EA5E4 = 0x8003C7D4;
g_api_LoadGfxAsync = 0x8003C7D8;
g_api_PlaySfx = 0x8003C7DC;
g_api_func_800EDB58 = 0x8003C7E0;
g_api_func_800EA538 = 0x8003C7E4;
g_api_g_pfn_800EA5AC = 0x8003C7E8;
g_api_func_801027C4 = 0x8003C7EC;
g_api_func_800EB758 = 0x8003C7F0;
Split out data table for func_8011AC3C (#710) `func_8011AC3C` appears to be a very important function when it comes to spawning entities. From what I can tell, it seems to be responsible for creating all of the entities listed in `asm/us/dra/data/CF4C.data.s` from 800AD0C4 through 800AD1D0, which is the game's main entity updating function lookup table. When func_8011AC3C is called, it uses its `self.params` to index into a table which contains spawning information for entities. For example, if func_8011AC3C is called with `self.params` of 0x21, it will create a child entity with entityID of 25, which is the entity for the Hellfire spell (which I recently decompiled and will submit as a PR soon). I think func_8011AC3C is going to be useful for understanding entity spawning logic, so I have gone ahead and taken the data table that it uses at D_800AD1D4, and created it as an asset which will now be extracted by splat. This way, we can more directly view the data, rather than just seeing it as a giant array of u8 values. I am hoping that having this available as json will be helpful for understanding the entity creation logic. Overall, this PR is meant as a stepping stone to fully understanding func_8011AC3C and what it does to create the entities that it creates. Doing this has helped me understand one struct member's purpose, which is to set the ID of the child entity, so I've added that to the struct, both the entity extension for func_8011AC3C and the struct which this is an array of, which for now is Unkstruct_800AD1D4.
2023-11-07 16:54:59 +00:00
g_api_CreateEntFactoryFromEntity = 0x8003C7F4;
g_api_func_80131F68 = 0x8003C7F8;
g_api_func_800EDB08 = 0x8003C7FC;
g_api_func_80106A28 = 0x8003C800;
g_api_func_80118894 = 0x8003C804;
g_api_enemyDefs = 0x8003C808;
g_api_func_80118970 = 0x8003C80C;
g_api_func_80118B18 = 0x8003C810;
g_api_UpdateUnarmedAnim = 0x8003C814;
Document animation-related code (#1269) This took a few hours of research spread across a few days. A few take-aways: `.ext.weapon.anim` and `.ext.player.anim` are both on `0xAC` and they NEED to stay aligned since they both call `PlayAnimation`, which operates on `.anim`. I double-checked `EntityWeaponAttack` and the param entity is definitively not `PLAYER`, despite `.anim` being in the same offset. I did not encounter a single `.ext.generic.unkAC` that is not related to animations, so this can be a pretty strong clue of a pattern. I have this theory where not all the area of an entity from `0x7C` to `0xBC` is reserved, but just from `0x7C` to _at least_ `0xAC`, with _at least_ the last `0x10` bytes are part of a shared struct among all entities. ```c /* 0x7C */ Ext ext; /* 0xAC*/ u8 anim; [...] }; ``` I want to collect more proof before proceeding to mass-rename everything. I learnt what `g_Player.pl_vram_flag` is actually doing. It holds some kind of state of the player towards the map collision. It holds a bunch of flags that helps setting the animation. I still feel not confident enough to create `#define`'s for it until we know more. All the `condition = ((g_Player.pl_vram_flag & 0x20) != condition)` got rewritten with the following: ```c atLedge = 0; if (g_Player.pl_vram_flag & 0x20) { atLedge = 1; } ``` the `atLedge` adds up to the `anim` function. The animation table essentially have one ID after the other where the first holds the Anim ID when the player is not at the ledge and the next one where it is. For example: `[ANIM_STAND, ANIM_STAND_ATLEDGE, ANIM_ATTACK, ANIM_ATTACK_ATLEDGE]`. `D_800ACF4C` and `D_800ACF54` are some kind-of animation helpers when Alucard either stands still, jumps or falls. I burnt the values in `stubs.c` while we wait for importing the remaining DRA data.
2024-06-06 19:12:26 +00:00
g_api_PlayAnimation = 0x8003C818;
g_api_func_80118C28 = 0x8003C81C;
g_api_func_8010E168 = 0x8003C820;
g_api_func_8010DFF0 = 0x8003C824;
g_api_DealDamage = 0x8003C828;
g_api_LoadEquipIcon = 0x8003C82C;
g_api_equipDefs = 0x8003C830;
g_api_g_AccessoryDefs = 0x8003C834;
g_api_AddHearts = 0x8003C838;
g_api_LoadMonsterLibrarianPreview = 0x8003C83C;
g_api_TimeAttackController = 0x8003C840;
g_api_func_8010E0A8 = 0x8003C844;
g_api_func_800FE044 = 0x8003C848;
g_api_AddToInventory = 0x8003C84C;
g_api_relicDefs = 0x8003C850;
Decompile DRA func_800FF7B8 (#402) This is a big one. This is the main function that runs to initialize the player's stats and equipment. It takes into account the bonuses that the player gets for Prologue completion (completing faster, or with certain items, gives bonuses of stats and items). It also checks for the famous X-X!V''Q and AXEARMOR savename codes. I therefore called it InitStatsAndGear. This function takes only one argument. In the real game, both calls to this function have an argument of 0, but one of the first things in this function is `if (arg0 == 1) {`. I therefore assume this is a debug parameter, where developers could have called this with 1, in order to do some sort of testing. I decided to call the argument debugMode. I chose to call the two savename codes "c_strLuckModeCode" and "c_strAxeArmorCode"; I believe this matches the existing formatting for strings that exist in the game, but let me know if I've made a mistake there. I removed many D_8009XXXX which are within g_Status, to make sure nobody uses these in their D_ form in the future. There is a loop in this function which iterates, in blocks of 3, over the last 21 entries in g_Status. I noticed that this overlaps with the Sword Familiar level check in CalcAttack, so I believe this to be the stats for each of the 7 available familiars. One stat is the level, another should be the EXP, and the other is something else. I will leave this as a matter of future work, since the details of familiars are not key to the decompiling of this particular function. I tried to comment this function fairly heavily. Many variables are touched by this and there are a large number of if-statements which are highly relevant to the game logic. Given that different people reading the code have different levels of familiarity with behavior of the game, being clear about the circumstances where a variable holds a certain value seems useful. This function was a DECOMP_ME_WIP previously; I did not use that preexisting code and instead decompiled this function from scratch myself. I think that covers all the things worth mentioning! --------- Co-authored-by: sozud <122322823+sozud@users.noreply.github.com>
2023-07-29 01:32:01 +00:00
g_api_InitStatsAndGear = 0x8003C854;
g_api_PlaySfxVolPan = 0x8003C858;
g_api_func_80134678 = 0x8003C85C;
g_api_func_800F53A4 = 0x8003C860;
g_api_CheckEquipmentItemCount = 0x8003C864;
g_api_func_8010BF64 = 0x8003C868;
g_api_func_800F1FC4 = 0x8003C86C;
g_api_func_800F2288 = 0x8003C870;
g_api_func_8011A3AC = 0x8003C874;
g_api_func_800FF460 = 0x8003C878;
g_api_func_800FF494 = 0x8003C87C;
g_api_CdSoundCommandQueueEmpty = 0x8003C880;
g_api_func_80133950 = 0x8003C884;
g_api_func_800F27F4 = 0x8003C888;
g_api_func_800FF110 = 0x8003C88C;
g_api_func_800FD664 = 0x8003C890;
g_api_CalcPlayerDamage = 0x8003C894;
g_api_LearnSpell = 0x8003C898;
g_api_DebugInputWait = 0x8003C89C;
g_api_unused12C = 0x8003C8A0;
g_api_unused130 = 0x8003C8A4;
g_api_unused134 = 0x8003C8A8;
g_api_unused138 = 0x8003C8AC;
g_api_unused13C = 0x8003C8B4;
g_GameTimer = 0x8003C8C4;
2023-05-06 11:24:32 +00:00
_svm_damper = 0x8003C954;
g_Timer = 0x8003C998;
g_MapCursorTimer = 0x8003C99C;
g_PlayableCharacter = 0x8003C9A0;
g_GameEngineStep = 0x8003C9A4;
2023-05-06 11:24:32 +00:00
g_MenuNavigation = 0x8003C9A8;
g_MenuNavigation_cursorRelic = 0x8003C9AC;
g_MenuNavigation_cursorEquip = 0x8003C9B0;
g_MenuNavigation_cursorEquipHand = 0x8003C9B4;
g_MenuNavigation_cursorEquipHead = 0x8003C9B8;
g_MenuNavigation_scrollEquipHand = 0x8003C9C8;
g_MenuNavigation_scrollEquipAccessories = 0x8003C9CC;
2023-05-06 11:24:32 +00:00
g_MenuNavigation_cursorSpells = 0x8003C9DC;
g_MenuNavigation_cursorSettings = 0x8003C9E0;
g_MenuNavigation_cursorCloak = 0x8003C9E4;
g_MenuNavigation_cursorButtons = 0x8003C9E8;
g_Settings = 0x8003C9F8;
g_Settings_buttonConfig_1 = 0x8003C9FC;
g_Settings_buttonMask_0 = 0x8003CA18;
g_Settings_cloakColors_0 = 0x8003CAA8;
g_Settings_cloakColors_1 = 0x8003CAAC;
g_Settings_cloakColors_2 = 0x8003CAB0;
g_Settings_cloakColors_3 = 0x8003CAB4;
g_Settings_cloakColors_4 = 0x8003CAB8;
g_Settings_cloakColors_5 = 0x8003CABC;
2023-05-06 11:24:32 +00:00
g_Settings_windowColors_0 = 0x8003CAC0;
g_Settings_windowColors_1 = 0x8003CAC4;
g_Settings_windowColors_2 = 0x8003CAC8;
g_Settings_isCloakLiningReversed = 0x8003CAF8;
2023-05-06 11:24:32 +00:00
g_Settings_isSoundMono = 0x8003CAFC;
2023-05-13 22:03:13 +00:00
g_GpuBuffers = 0x8003CB08;
2023-05-15 18:15:09 +00:00
g_GpuBuffers_0_draw_isbg = 0x8003CB24;
g_GpuBuffers_0_draw_r0 = 0x8003CB25;
g_GpuBuffers_0_draw_g0 = 0x8003CB26;
g_GpuBuffers_0_draw_b0 = 0x8003CB27;
2023-05-13 22:03:13 +00:00
g_GpuBuffers_1_buf_draw_clip_y = 0x80054302;
2023-05-15 18:15:09 +00:00
g_GpuBuffers_1_draw_isbg = 0x80054318;
g_GpuBuffers_1_draw_r0 = 0x80054319;
g_GpuBuffers_1_draw_g0 = 0x8005431A;
g_GpuBuffers_1_draw_b0 = 0x8005431B;
2023-05-06 11:24:32 +00:00
_svm_stereo_mono = 0x8006BAF8;
2023-05-16 02:19:37 +00:00
g_LoadFile = 0x8006BAFC;
g_CastleMap = 0x8006BB74;
2023-05-12 19:50:42 +00:00
g_CurrentBuffer = 0x8006C37C;
2023-05-06 11:24:32 +00:00
_snd_ev_flag = 0x8006C380;
kMaxPrograms = 0x8006C394;
2023-05-09 11:49:20 +00:00
g_CdStep = 0x8006C398;
2023-05-06 11:24:32 +00:00
g_backbufferX = 0x8006C39C;
g_backbufferY = 0x8006C3A0;
2023-05-13 19:35:35 +00:00
g_IsUsingCd = 0x8006C3B0;
2023-05-04 23:24:40 +00:00
g_CurrentEntity = 0x8006C3B8;
g_Servant = 0x8006CBC4;
2023-05-06 11:24:32 +00:00
_svm_tn = 0x8006CBC8;
g_Clut = 0x8006CBCC;
2023-05-18 18:54:05 +00:00
g_Player = 0x80072BD0;
g_Player_padPressed = 0x80072EE8;
g_Player_padTapped = 0x80072EEC;
g_Player_padHeld = 0x80072EF0;
g_Player_padSim = 0x80072EF4;
2023-05-17 17:36:10 +00:00
g_Player_D_80072EF8 = 0x80072EF8;
g_Player_D_80072EFC = 0x80072EFC;
g_Player_timers_0 = 0x80072F00;
g_Player_timers_1 = 0x80072F02;
g_Player_timers_2 = 0x80072F04;
g_Player_timers_3 = 0x80072F06;
g_Player_timers_4 = 0x80072F08;
g_Player_timers_5 = 0x80072F0A;
g_Player_timers_6 = 0x80072F0C;
g_Player_timers_7 = 0x80072F0E;
g_Player_timers_8 = 0x80072F10;
g_Player_timers_9 = 0x80072F12;
g_Player_timers_10 = 0x80072F14;
g_Player_timers_11 = 0x80072F16;
g_Player_timers_12 = 0x80072F18;
g_Player_timers_13 = 0x80072F1A;
g_Player_timers_14 = 0x80072F1C;
g_Player_timers_15 = 0x80072F1E;
2023-05-17 17:36:10 +00:00
g_Player_pl_vram_flag = 0x80072F20;
g_Player_unk04 = 0x80072F24;
g_Player_unk08 = 0x80072F28;
g_Player_unk0C = 0x80072F2C;
g_Player_unk10 = 0x80072F30;
g_Player_unk14 = 0x80072F34;
g_Player_unk18 = 0x80072F38;
g_Player_unk1C = 0x80072F3C;
g_Player_unk20_0 = 0x80072F40;
g_Player_unk40 = 0x80072F60;
g_Player_pl_high_jump_timer = 0x80072F62;
g_Player_unk44 = 0x80072F64;
g_Player_unk46 = 0x80072F66;
g_Player_unk48 = 0x80072F68;
g_Player_unk4A = 0x80072F6A;
g_Player_unk4C = 0x80072F6C;
g_Player_unk4E = 0x80072F6E;
g_Player_unk50 = 0x80072F70;
g_Player_unk52 = 0x80072F72;
g_Player_unk54 = 0x80072F74;
g_Player_unk56 = 0x80072F76;
g_Player_unk58 = 0x80072F78;
g_Player_unk5A = 0x80072F7A;
g_Player_unk5C = 0x80072F7C;
g_Player_unk5E = 0x80072F7E;
g_Player_unk60 = 0x80072F80;
g_Player_unk62 = 0x80072F82;
g_Player_unk64 = 0x80072F84;
g_Player_unk66 = 0x80072F86;
g_Player_unk68 = 0x80072F88;
g_Player_unk6A = 0x80072F8A;
g_Player_unk6C = 0x80072F8C;
g_Player_unk6E = 0x80072F8E;
g_Player_unk70 = 0x80072F90;
g_Player_unk72 = 0x80072F92;
g_Player_unk74 = 0x80072F94;
g_Player_unk78 = 0x80072F98;
g_Player_unk7A = 0x80072F9A;
g_Player_unk7C = 0x80072F9C;
g_Player_unk7E = 0x80072F9E;
g_GfxLoad = 0x80072FA0;
2023-05-15 13:42:52 +00:00
g_GameStep = 0x80073060;
g_ServantLoaded = 0x80073064;
2023-05-08 12:29:58 +00:00
g_EvSwCardEnd = 0x80073068;
g_EvSwCardErr = 0x8007306C;
g_EvSwCardTmo = 0x80073070;
g_PrevScrollX = 0x80073074;
2023-05-08 12:29:58 +00:00
g_EvSwCardNew = 0x80073078;
g_PrevScrollY = 0x8007307C;
2023-05-06 11:24:32 +00:00
PadIdentifier = 0x80073080;
g_Tilemap = 0x80073084;
g_Tilemap_tileDef = 0x80073088;
g_Tilemap_scrollX_i_hi = 0x8007308E;
g_Tilemap_scrollY_i_hi = 0x80073092;
g_Tilemap_zPriority = 0x8007309C;
g_Tilemap_flags = 0x800730A0;
g_Tilemap_hSize = 0x800730A4;
g_Tilemap_vSize = 0x800730A8;
g_Tilemap_unk8 = 0x800730AC;
g_Tilemap_left = 0x800730B0;
g_Tilemap_top = 0x800730B4;
g_Tilemap_right = 0x800730B8;
g_Tilemap_bottom = 0x800730BC;
g_Tilemap_x = 0x800730C0;
g_Tilemap_y = 0x800730C4;
g_Tilemap_width = 0x800730C8;
g_Tilemap_height = 0x800730CC;
g_BgLayers = 0x800730D8;
g_BgLayers_0_tiledef = 0x800730DC;
g_BgLayers_0_scrollX_i_hi = 0x800730E2;
g_BgLayers_0_scrollY_i_hi = 0x800730E6;
g_BgLayers_0_zPriority = 0x800730F0;
g_BgLayers_0_flags = 0x800730F4;
g_BgLayers_0_w = 0x800730F8;
g_BgLayers_0_h = 0x800730FC;
g_BgLayers_0_D_80073100 = 0x80073100;
g_BgLayers_0_scrollKind = 0x80073104;
g_Entities = 0x800733D8;
2023-05-27 10:13:49 +00:00
PLAYER_posX_i_hi = 0x800733DA;
PLAYER_posY_val = 0x800733DC;
PLAYER_posY_i_hi = 0x800733DE;
PLAYER_velocityX = 0x800733E0;
PLAYER_velocityY = 0x800733E4;
PLAYER_hitboxOffX = 0x800733E8;
PLAYER_hitboxOffY = 0x800733EA;
PLAYER_facingLeft = 0x800733EC;
2023-05-27 10:13:49 +00:00
PLAYER_palette = 0x800733EE;
PLAYER_drawMode = 0x800733F0;
PLAYER_drawFlags = 0x800733F1;
PLAYER_rotZ = 0x800733F6;
PLAYER_rotPivotX = 0x800733F8;
PLAYER_rotPivotY = 0x800733FA;
2023-05-27 10:13:49 +00:00
PLAYER_zPriority = 0x800733FC;
PLAYER_entityId = 0x800733FE;
2023-05-27 10:13:49 +00:00
PLAYER_step = 0x80073404;
PLAYER_step_s = 0x80073406;
PLAYER_entityRoomIndex = 0x8007340A;
2023-05-27 10:13:49 +00:00
PLAYER_unk44 = 0x8007341C;
PLAYER_anim = 0x80073424;
2023-05-27 10:13:49 +00:00
PLAYER_animFrameIdx = 0x80073428;
PLAYER_animFrameDuration = 0x8007342A;
PLAYER_animSet = 0x8007342C;
PLAYER_animCurFrame = 0x8007342E;
PLAYER_unk5A = 0x80073432;
PLAYER_unkA4 = 0x8007347C;
PLAYER_ext_generic_unkAC = 0x80073484;
g_Entities_1 = 0x80073494;
g_Entities_19 = 0x800741CC;
2023-05-08 12:29:58 +00:00
g_EvHwCardEnd = 0x8007EFD8;
g_EvHwCardErr = 0x8007EFDC;
g_EvHwCardTmo = 0x8007EFE0;
g_Pix = 0x8007EFE4;
g_Pix_1 = 0x80080FE4;
g_Pix_2 = 0x80082FE4;
g_Pix_3 = 0x80084FE4;
2023-05-08 12:29:58 +00:00
g_EvHwCardNew = 0x80086FE4;
2023-05-06 11:24:32 +00:00
spuVmMaxVoice = 0x80086FE8;
g_PrimBuf = 0x80086FEC;
g_PrimBuf_0_r0 = 0x80086FF0;
g_PrimBuf_0_r1 = 0x80086FFC;
g_PrimBuf_0_priority = 0x80087012;
g_PrimBuf_0_drawMode = 0x8008701E;
g_PlayerX = 0x800973F0;
g_PlayerY = 0x800973F4;
g_unkGraphicsStruct = 0x800973F8;
2023-05-06 11:24:32 +00:00
g_entityDestroyed = 0x80097428;
D_8009748A_x_i_hi = 0x8009748A;
D_8009748C_y_val = 0x8009748C;
D_8009748E_y_i_hi = 0x8009748E;
2023-05-06 11:24:32 +00:00
g_pads = 0x80097490;
g_pads_0_released = 0x80097492;
g_pads_0_tapped = 0x80097494;
g_pads_0_repeat = 0x80097496;
g_pads_1_pressed = 0x80097498;
g_pads_1_tapped = 0x8009749C;
g_StageId = 0x800974A0;
_svm_vcf = 0x800974A8;
g_UseDisk = 0x800978AC;
_snd_openflag = 0x800978B0;
g_randomNext = 0x800978B8;
svm_cur = 0x800978C8;
svm_cur_01 = 0x800978C9;
svm_cur_02 = 0x800978CA;
svm_cur_03 = 0x800978CB;
svm_cur_04 = 0x800978CC;
svm_cur_05 = 0x800978CD;
svm_cur_06 = 0x800978CE;
svm_cur_07 = 0x800978CF;
svm_cur_0A = 0x800978D2;
svm_cur_0B = 0x800978D3;
svm_cur_0C = 0x800978D4;
svm_cur_0D = 0x800978D5;
svm_cur_0E = 0x800978D6;
svm_cur_0F = 0x800978D7;
svm_cur_10 = 0x800978D8;
svm_cur_11 = 0x800978D9;
svm_cur_12 = 0x800978DA;
svm_cur_13 = 0x800978DB;
svm_cur_14 = 0x800978DC;
svm_cur_16 = 0x800978DE;
svm_cur_18 = 0x800978E0;
svm_cur_1A = 0x800978E2;
svm_cur_1C = 0x800978E4;
svm_cur_1E = 0x800978E6;
2023-05-06 11:24:32 +00:00
svm_vab_used = 0x800978E8;
g_MenuStep = 0x800978F8;
2023-05-06 11:24:32 +00:00
_svm_auto_kof_mode = 0x80097900;
g_ScrollDeltaX = 0x80097908;
g_ScrollDeltaY = 0x8009790C;
g_DemoMode = 0x80097914;
g_LoadOvlIdx = 0x80097918;
2023-05-06 11:24:32 +00:00
g_GpuUsage = 0x8009792C;
g_GpuUsage_gt4 = 0x80097930;
g_GpuUsage_g4 = 0x80097934;
g_GpuUsage_gt3 = 0x80097938;
g_GpuUsage_line = 0x8009793C;
g_GpuUsage_sp16 = 0x80097940;
g_GpuUsage_tile = 0x80097944;
g_GpuUsage_sp = 0x80097948;
g_GpuUsage_env = 0x8009794C;
VBLANK_MINUS = 0x80097950;
g_Status = 0x80097964;
g_Status_relics_1 = 0x80097965;
g_Status_relics_4 = 0x80097968;
g_Status_relics_5 = 0x80097969;
g_Status_relics_6 = 0x8009796A;
g_Status_relics_7 = 0x8009796B;
g_Status_relics_9 = 0x8009796D;
g_Status_relics_10 = 0x8009796E;
g_Status_relics_11 = 0x8009796F;
g_Status_relics_12 = 0x80097970;
g_Status_relics_13 = 0x80097971;
g_Status_relics_15 = 0x80097973;
g_Status_relics_16 = 0x80097974;
2023-05-17 17:36:10 +00:00
g_Status_relics_17 = 0x80097975;
2023-05-06 11:24:32 +00:00
g_Status_relics_20 = 0x80097978;
g_Status_relics_22 = 0x8009797A;
g_Status_relics_25 = 0x8009797D;
g_Status_relics_26 = 0x8009797E;
g_Status_relics_27 = 0x8009797F;
g_Status_relics_28 = 0x80097980;
g_Status_relics_29 = 0x80097981;
g_Status_spells = 0x80097982;
g_Status_equipHandOrder = 0x80097A8D;
g_SaveName = 0x80097B90;
2023-05-17 17:36:10 +00:00
g_Status_hp = 0x80097BA0;
g_Status_hpMax = 0x80097BA4;
2023-05-06 11:24:32 +00:00
g_Status_hearts = 0x80097BA8;
g_Status_heartsMax = 0x80097BAC;
g_Status_mp = 0x80097BB0;
g_Status_mpMax = 0x80097BB4;
g_Status_statsBase_0 = 0x80097BB8;
g_Status_statsBase_1 = 0x80097BBC;
g_Status_statsBase_2 = 0x80097BC0;
g_Status_statsBase_3 = 0x80097BC4;
g_Status_statsEquip_0 = 0x80097BC8;
g_Status_statsEquip_1 = 0x80097BCC;
g_Status_statsEquip_2 = 0x80097BD0;
g_Status_statsEquip_3 = 0x80097BD4;
g_Status_statsTotal_0 = 0x80097BD8;
g_Status_statsTotal_1 = 0x80097BDC;
g_Status_statsTotal_2 = 0x80097BE0;
g_Status_statsTotal_3 = 0x80097BE4;
g_Status_level = 0x80097BE8;
g_Status_exp = 0x80097BEC;
g_Status_gold = 0x80097BF0;
g_Status_killCount = 0x80097BF4;
g_Status_D_80097BF8 = 0x80097BF8;
2023-05-16 02:33:00 +00:00
g_Status_subWeapon = 0x80097BFC;
2023-05-06 11:24:32 +00:00
g_Status_equipment_0 = 0x80097C00;
2023-05-17 17:36:10 +00:00
g_Status_equipment_1 = 0x80097C04;
g_Status_equipment_2 = 0x80097C08;
g_Status_equipment_3 = 0x80097C0C;
2023-05-06 11:24:32 +00:00
g_Status_equipment_5 = 0x80097C14;
g_Status_equipment_6 = 0x80097C18;
g_Status_attackHands_0 = 0x80097C1C;
g_Status_attackHands_1 = 0x80097C20;
g_Status_defenseEquip = 0x80097C24;
g_Status_defenseElement = 0x80097C28;
g_Status_D_80097C2A = 0x80097C2A;
g_Status_D_80097C2C = 0x80097C2C;
g_Status_D_80097C2E = 0x80097C2E;
g_Status_timerHours = 0x80097C30;
g_Status_timerFrames = 0x80097C3C;
g_Status_D_80097C40 = 0x80097C40;
g_Status_D_80097C44 = 0x80097C44;
g_Status_D_80097C48 = 0x80097C48;
g_Status_D_80097C4C = 0x80097C4C;
g_Status_D_80097C74 = 0x80097C74;
_ss_score = 0x80097C9C;
g_PlayerDraw = 0x80097D1C;
2023-05-06 11:24:32 +00:00
_SsMarkCallback = 0x80097F9C;
_snd_seq_s_max = 0x8009879C;
_snd_seq_t_max = 0x800987A4;
2023-05-06 11:24:32 +00:00
_svm_vab_count = 0x8009880C;
g_DebugPlayer = 0x80098850;