This commit is contained in:
Ethan Roseman 2021-02-05 01:16:57 +09:00
commit e52cc15d4d
3 changed files with 30 additions and 4 deletions

View File

@ -266,6 +266,7 @@ ApiStatus func_802CFE2C(ScriptInstance* script, s32 isInitialCall);
ApiStatus func_802CFD30(ScriptInstance* script, s32 isInitialCall);
ApiStatus func_800441F0(ScriptInstance* script, s32 isInitialCall);
ApiStatus func_802D5830(ScriptInstance* script, s32 isInitialCall);
ApiStatus func_802D3474(ScriptInstance* script, s32 isInitialCall);
ApiStatus func_802D3474(ScriptInstance* script, s32 isInitialCall);
ApiStatus func_802D3624(ScriptInstance* script, s32 isInitialCall);

View File

@ -196,8 +196,26 @@ s32 D_802A1A20_730380[] = {
0xFFF0FFF0, 0x00000000, 0x00000000, 0x000000FF, 0x000FFFF0, 0x00000000, 0x04000000, 0x000000FF, 0x000F000F, 0x00000000, 0x04000400, 0x000000FF, 0xFFF0000F, 0x00000000, 0x00000400, 0x000000FF,
};
s32 D_802A1A60_7303C0[] = {
0xE7000000, 0x00000000, 0xD7000002, 0xFFFFFFFF, 0xFCFFFFFF, 0xFFFCF279, 0xE3000C00, 0x00080000, 0xE3000D01, 0x00000000, 0xE3000F00, 0x00000000, 0xE3001001, 0x00000000, 0xE3001201, 0x00003000, 0xE3001402, 0x00000C00, 0xE3001001, 0x00008000, 0xFD100000, D_802A1A00_730360, 0xE8000000, 0x00000000, 0xF5000100, 0x07000000, 0xE6000000, 0x00000000, 0xF0000000, 0x0703C000, 0xE7000000, 0x00000000, 0xFD48000F, D_802A1800_730160, 0xF5480400, 0x07000000, 0xE6000000, 0x00000000, 0xF4000000, 0x0703E07C, 0xE7000000, 0x00000000, 0xF5400400, 0x00000000, 0xF2000000, 0x0007C07C, 0xD9FDFFFF, 0x00000000, 0xD9DFFFFF, 0x00000000, 0x01004008, D_802A1A20_730380, 0x05000204, 0x00000000, 0x05000406, 0x00000000, 0xE7000000, 0x00000000, 0xDF000000, 0x00000000,
Gfx D_802A1A60_7303C0[] = {
gsDPPipeSync(),
gsSPTexture(-1, -1, 0, G_TX_RENDERTILE, G_ON),
gsDPSetCombineMode(G_CC_DECALRGBA, G_CC_DECALRGBA),
gsDPSetTexturePersp(G_TP_PERSP),
gsDPSetTextureDetail(G_TD_CLAMP),
gsDPSetTextureLOD(G_TL_TILE),
gsDPSetTextureLUT(G_TT_NONE),
gsDPSetTextureFilter(G_TF_AVERAGE),
gsDPSetTextureConvert(G_TC_FILT),
gsDPSetTextureLUT(G_TT_RGBA16),
gsDPLoadTLUT_pal16(0, &D_802A1A00_730360),
gsDPLoadTextureTile_4b(&D_802A1800_730160, G_IM_FMT_CI, 32, 0, 0, 0, 31, 31, 0, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD),
gsSPClearGeometryMode(G_LIGHTING),
gsSPClearGeometryMode(G_SHADING_SMOOTH),
gsSPVertex(&D_802A1A20_730380, 4, 0),
gsSP1Triangle(0, 1, 2, 0),
gsSP1Triangle(0, 2, 3, 0),
gsDPPipeSync(),
gsSPEndDisplayList(),
};
s32 D_802A1B50_7304B0[] = {

View File

@ -600,8 +600,15 @@ class ScriptDSLDisassembler(ScriptDisassembler):
elif opcode == 0x41: self.write_line(f"{self.var(argv[0])} &=c {argv[1]:X};")
elif opcode == 0x42: self.write_line(f"{self.var(argv[0])} |=c {argv[1]:X};")
elif opcode == 0x43:
argv_str = ", ".join(self.var(arg) for arg in argv[1:])
self.write_line(f"{self.addr_ref(argv[0])}({argv_str});")
addr = argv[0]
if addr in self.symbol_map:
func_name = self.symbol_map[addr]
argv_str = ", ".join(self.var(arg) for arg in argv[1:])
self.write_line(f"{func_name}({argv_str});")
else:
print(f"script API function {addr:X} is not present in symbol_addrs.txt, please add it")
exit(1)
elif opcode == 0x44: self.write_line(f"spawn {self.addr_ref(argv[0])};")
elif opcode == 0x45: self.write_line(f"{self.var(argv[1])} = spawn {self.addr_ref(argv[0])};")
elif opcode == 0x46: self.write_line(f"await {self.addr_ref(argv[0])};")