Merge pull request #150 from jiangzhengwenjz/nonmatching
real match sub_8141198
This commit is contained in:
+8
-297
@@ -2070,10 +2070,15 @@ static bool32 sub_8141180(u8 a0)
|
||||
return sub_814112C()->field_0000[a0].unk3;
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
static inline void LoadColor(u16 color, u16 *pal)
|
||||
{
|
||||
*pal = color;
|
||||
LoadPalette(pal, 0x00, 0x02);
|
||||
}
|
||||
|
||||
static bool8 sub_8141198(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
u16 pal;
|
||||
u16 pal[2];
|
||||
u8 textColor[3];
|
||||
u32 x;
|
||||
|
||||
@@ -2109,8 +2114,7 @@ static bool8 sub_8141198(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
LoadPalette(gUnknown_8465930, 0x00, 0xA0);
|
||||
LoadPalette(gUnknown_84664BC, 0x50, 0x20);
|
||||
LoadPalette(gUnknown_84665C0, 0x70, 0x60);
|
||||
pal = RGB(30, 30, 31);
|
||||
LoadPalette(&pal, 0x00, 0x02);
|
||||
LoadColor(RGB(30, 30, 31), pal);
|
||||
LoadUserWindowBorderGfx(0, 0x00A, 0xD0);
|
||||
sub_814FDA0(0, 0x001, 0xF0);
|
||||
|
||||
@@ -2165,299 +2169,6 @@ static bool8 sub_8141198(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
static bool8 sub_8141198(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
asm_unified("\tpush {r4-r7,lr}\n"
|
||||
"\tmov r7, r8\n"
|
||||
"\tpush {r7}\n"
|
||||
"\tsub sp, 0x14\n"
|
||||
"\tadds r7, r0, 0\n"
|
||||
"\tmov r8, r1\n"
|
||||
"\tldrb r6, [r7]\n"
|
||||
"\tcmp r6, 0x1\n"
|
||||
"\tbeq _081411D0\n"
|
||||
"\tcmp r6, 0x1\n"
|
||||
"\tbgt _081411B4\n"
|
||||
"\tcmp r6, 0\n"
|
||||
"\tbeq _081411C2\n"
|
||||
"\tb _08141450\n"
|
||||
"_081411B4:\n"
|
||||
"\tcmp r6, 0x2\n"
|
||||
"\tbne _081411BA\n"
|
||||
"\tb _081413E4\n"
|
||||
"_081411BA:\n"
|
||||
"\tcmp r6, 0x3\n"
|
||||
"\tbne _081411C0\n"
|
||||
"\tb _08141436\n"
|
||||
"_081411C0:\n"
|
||||
"\tb _08141450\n"
|
||||
"_081411C2:\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tnegs r0, r0\n"
|
||||
"\tmovs r1, 0x10\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl BlendPalettes\n"
|
||||
"\tb _0814142E\n"
|
||||
"_081411D0:\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl SetVBlankCallback\n"
|
||||
"\tbl ResetSpriteData\n"
|
||||
"\tbl FreeAllSpritePalettes\n"
|
||||
"\tmovs r1, 0xE0\n"
|
||||
"\tlsls r1, 19\n"
|
||||
"\tmovs r2, 0x80\n"
|
||||
"\tlsls r2, 3\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r3, 0x1\n"
|
||||
"\tbl RequestDma3Fill\n"
|
||||
"\tmovs r1, 0xC0\n"
|
||||
"\tlsls r1, 19\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r2, 0x20\n"
|
||||
"\tmovs r3, 0x1\n"
|
||||
"\tbl RequestDma3Fill\n"
|
||||
"\tldr r1, _0814139C @ =0x0600c000\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r2, 0x20\n"
|
||||
"\tmovs r3, 0x1\n"
|
||||
"\tbl RequestDma3Fill\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tbl SetGpuReg\n"
|
||||
"\tbl ResetBgPositions\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl ResetBgsAndClearDma3BusyFlags\n"
|
||||
"\tldr r1, _081413A0 @ =gUnknown_8466B10\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r2, 0x4\n"
|
||||
"\tbl InitBgsFromTemplates\n"
|
||||
"\tldr r0, _081413A4 @ =gUnknown_8466B20\n"
|
||||
"\tbl InitWindows\n"
|
||||
"\tldr r1, _081413A8 @ =0x0000205c\n"
|
||||
"\tadd r1, r8\n"
|
||||
"\tmovs r0, 0x3\n"
|
||||
"\tbl SetBgTilemapBuffer\n"
|
||||
"\tmovs r4, 0x20\n"
|
||||
"\tstr r4, [sp]\n"
|
||||
"\tstr r4, [sp, 0x4]\n"
|
||||
"\tmovs r0, 0x3\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl FillBgTilemapBufferRect_Palette0\n"
|
||||
"\tmovs r0, 0x3\n"
|
||||
"\tbl CopyBgTilemapBufferToVram\n"
|
||||
"\tbl ResetTempTileDataBuffers\n"
|
||||
"\tldr r1, _081413AC @ =gUnknown_84659D0\n"
|
||||
"\tmovs r5, 0\n"
|
||||
"\tstr r5, [sp]\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl DecompressAndCopyTileDataToVram\n"
|
||||
"\tldr r1, _081413B0 @ =gUnknown_846653C\n"
|
||||
"\tstr r5, [sp]\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0xC0\n"
|
||||
"\tbl DecompressAndCopyTileDataToVram\n"
|
||||
"\tldr r1, _081413B4 @ =0x0000185c\n"
|
||||
"\tadd r1, r8\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tbl SetBgTilemapBuffer\n"
|
||||
"\tldr r1, _081413B8 @ =gUnknown_84661D4\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl CopyToBgTilemapBuffer\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tbl CopyBgTilemapBufferToVram\n"
|
||||
"\tldr r0, _081413BC @ =gUnknown_8465930\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r2, 0xA0\n"
|
||||
"\tbl LoadPalette\n"
|
||||
"\tldr r0, _081413C0 @ =gUnknown_84664BC\n"
|
||||
"\tmovs r1, 0x50\n"
|
||||
"\tmovs r2, 0x20\n"
|
||||
"\tbl LoadPalette\n"
|
||||
"\tldr r0, _081413C4 @ =gUnknown_84665C0\n"
|
||||
"\tmovs r1, 0x70\n"
|
||||
"\tmovs r2, 0x60\n"
|
||||
"\tbl LoadPalette\n"
|
||||
"\tldr r1, _081413C8 @ =0x00007fde\n"
|
||||
"\tadd r0, sp, 0xC\n"
|
||||
"\tstrh r1, [r0]\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r2, 0x2\n"
|
||||
"\tbl LoadPalette\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r1, 0xA\n"
|
||||
"\tmovs r2, 0xD0\n"
|
||||
"\tbl LoadUserWindowBorderGfx\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r1, 0x1\n"
|
||||
"\tmovs r2, 0xF0\n"
|
||||
"\tbl sub_814FDA0\n"
|
||||
"\tldr r1, _081413CC @ =0x0000085c\n"
|
||||
"\tadd r1, r8\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl SetBgTilemapBuffer\n"
|
||||
"\tstr r4, [sp]\n"
|
||||
"\tmovs r0, 0x1E\n"
|
||||
"\tstr r0, [sp, 0x4]\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0x2\n"
|
||||
"\tbl FillBgTilemapBufferRect_Palette0\n"
|
||||
"\tldr r1, _081413D0 @ =gUnknown_8466620\n"
|
||||
"\tstr r5, [sp]\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl DecompressAndCopyTileDataToVram\n"
|
||||
"\tldr r1, _081413D4 @ =gUnknown_8466998\n"
|
||||
"\tstr r6, [sp]\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl DecompressAndCopyTileDataToVram\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tbl CopyBgTilemapBufferToVram\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tbl stdpal_get\n"
|
||||
"\tmovs r1, 0xE0\n"
|
||||
"\tmovs r2, 0x20\n"
|
||||
"\tbl LoadPalette\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tmovs r1, 0xFF\n"
|
||||
"\tbl FillWindowPixelBuffer\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tbl PutWindowTilemap\n"
|
||||
"\tldr r4, _081413D8 @ =gString_SlotMachineControls\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tadds r1, r4, 0\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl GetStringWidth\n"
|
||||
"\tmovs r2, 0xEC\n"
|
||||
"\tsubs r2, r0\n"
|
||||
"\tadd r1, sp, 0x10\n"
|
||||
"\tmovs r0, 0xF\n"
|
||||
"\tstrb r0, [r1]\n"
|
||||
"\tstrb r6, [r1, 0x1]\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tstrb r0, [r1, 0x2]\n"
|
||||
"\tlsls r2, 24\n"
|
||||
"\tlsrs r2, 24\n"
|
||||
"\tstr r1, [sp]\n"
|
||||
"\tstr r5, [sp, 0x4]\n"
|
||||
"\tstr r4, [sp, 0x8]\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl AddTextPrinterParameterized3\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl CopyBgTilemapBufferToVram\n"
|
||||
"\tmovs r1, 0x83\n"
|
||||
"\tlsls r1, 5\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl SetGpuRegBits\n"
|
||||
"\tmovs r0, 0x50\n"
|
||||
"\tmovs r1, 0xF8\n"
|
||||
"\tbl SetGpuReg\n"
|
||||
"\tbl sub_8140C0C\n"
|
||||
"\tbl sub_8140CA0\n"
|
||||
"\tbl sub_8140E9C\n"
|
||||
"\tbl sub_8140FC4\n"
|
||||
"\tbl sub_8140F2C\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tnegs r0, r0\n"
|
||||
"\tmovs r1, 0x10\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl BlendPalettes\n"
|
||||
"\tldr r0, _081413DC @ =sub_8141118\n"
|
||||
"\tbl SetVBlankCallback\n"
|
||||
"\tldr r0, _081413E0 @ =sub_8140E40\n"
|
||||
"\tbl SetHBlankCallback\n"
|
||||
"\tb _0814142E\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0814139C: .4byte 0x0600c000\n"
|
||||
"_081413A0: .4byte gUnknown_8466B10\n"
|
||||
"_081413A4: .4byte gUnknown_8466B20\n"
|
||||
"_081413A8: .4byte 0x0000205c\n"
|
||||
"_081413AC: .4byte gUnknown_84659D0\n"
|
||||
"_081413B0: .4byte gUnknown_846653C\n"
|
||||
"_081413B4: .4byte 0x0000185c\n"
|
||||
"_081413B8: .4byte gUnknown_84661D4\n"
|
||||
"_081413BC: .4byte gUnknown_8465930\n"
|
||||
"_081413C0: .4byte gUnknown_84664BC\n"
|
||||
"_081413C4: .4byte gUnknown_84665C0\n"
|
||||
"_081413C8: .4byte 0x00007fde\n"
|
||||
"_081413CC: .4byte 0x0000085c\n"
|
||||
"_081413D0: .4byte gUnknown_8466620\n"
|
||||
"_081413D4: .4byte gUnknown_8466998\n"
|
||||
"_081413D8: .4byte gString_SlotMachineControls\n"
|
||||
"_081413DC: .4byte sub_8141118\n"
|
||||
"_081413E0: .4byte sub_8140E40\n"
|
||||
"_081413E4:\n"
|
||||
"\tbl FreeTempTileDataBuffersIfPossible\n"
|
||||
"\tlsls r0, 24\n"
|
||||
"\tlsrs r5, r0, 24\n"
|
||||
"\tcmp r5, 0\n"
|
||||
"\tbne _08141450\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl ShowBg\n"
|
||||
"\tmovs r0, 0x3\n"
|
||||
"\tbl ShowBg\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tbl ShowBg\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tbl HideBg\n"
|
||||
"\tbl sub_8141B34\n"
|
||||
"\tmovs r4, 0x1\n"
|
||||
"\tnegs r4, r4\n"
|
||||
"\tadds r0, r4, 0\n"
|
||||
"\tmovs r1, 0x10\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl BlendPalettes\n"
|
||||
"\tstr r5, [sp]\n"
|
||||
"\tadds r0, r4, 0\n"
|
||||
"\tadds r1, r4, 0\n"
|
||||
"\tmovs r2, 0x10\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl BeginNormalPaletteFade\n"
|
||||
"\tmovs r0, 0x3\n"
|
||||
"\tbl EnableInterrupts\n"
|
||||
"_0814142E:\n"
|
||||
"\tldrb r0, [r7]\n"
|
||||
"\tadds r0, 0x1\n"
|
||||
"\tstrb r0, [r7]\n"
|
||||
"\tb _08141450\n"
|
||||
"_08141436:\n"
|
||||
"\tbl UpdatePaletteFade\n"
|
||||
"\tldr r0, _0814144C @ =gPaletteFade\n"
|
||||
"\tldrb r1, [r0, 0x7]\n"
|
||||
"\tmovs r0, 0x80\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbne _08141450\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tb _08141452\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0814144C: .4byte gPaletteFade\n"
|
||||
"_08141450:\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"_08141452:\n"
|
||||
"\tadd sp, 0x14\n"
|
||||
"\tpop {r3}\n"
|
||||
"\tmov r8, r3\n"
|
||||
"\tpop {r4-r7}\n"
|
||||
"\tpop {r1}\n"
|
||||
"\tbx r1");
|
||||
}
|
||||
#endif //NONMATCHING
|
||||
|
||||
static bool8 sub_8141460(u8 * state, struct SlotMachineSetupTaskData * ptr)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user