.include "asm/macros.inc" .include "global.inc" .section .rodata .global UNK_020F2DB4 UNK_020F2DB4: ; 0x020F2DB4 .byte 0x6F, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC9, 0x00, 0x11, 0x00, 0x01, 0x01, 0x00, 0x00, 0xA0, 0x00 .byte 0x16, 0x00, 0x01, 0x01, 0x00, 0x00, 0xA1, 0x00, 0x5A, 0x00, 0x01, 0x01, 0x00, 0x00, 0x57, 0x00 .byte 0x29, 0x00, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x12, 0x00, 0x01, 0x01, 0x00, 0x00, 0xD9, 0x00 .byte 0x34, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x00, 0x12, 0x00, 0x01, 0x01, 0x00, 0x00, 0xA7, 0x00 .byte 0x5E, 0x00, 0x01, 0x01, 0x00, 0x00, 0x96, 0x00, 0x37, 0x01, 0x01, 0x01, 0x00, 0x00, 0x02, 0x00 .byte 0x33, 0x00, 0x01, 0x01, 0x00, 0x00, 0xE4, 0x00, 0x04, 0x00, 0x01, 0x01, 0x00, 0x00, 0x03, 0x00 .byte 0x28, 0x00, 0x01, 0x02, 0x00, 0x00, 0x04, 0x00, 0x11, 0x00, 0x01, 0x02, 0x00, 0x00, 0x05, 0x00 .byte 0x1A, 0x00, 0x01, 0x02, 0x00, 0x00, 0x08, 0x00, 0x5C, 0x00, 0x01, 0x02, 0x00, 0x00, 0x06, 0x00 .byte 0x13, 0x00, 0x01, 0x02, 0x00, 0x00, 0x09, 0x00, 0x11, 0x00, 0x01, 0x02, 0x00, 0x00, 0xA2, 0x00 .byte 0x11, 0x00, 0x01, 0x02, 0x00, 0x00, 0xD0, 0x00, 0x56, 0x00, 0x01, 0x02, 0x00, 0x00, 0xD1, 0x00 .byte 0x5A, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0A, 0x00, 0x1C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0B, 0x00 .byte 0x04, 0x00, 0x01, 0x02, 0x00, 0x00, 0x5B, 0x00, 0x32, 0x00, 0x01, 0x02, 0x00, 0x00, 0x0C, 0x00 .byte 0x1C, 0x00, 0x01, 0x02, 0x00, 0x00, 0x97, 0x00, 0x26, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0D, 0x00 .byte 0x2F, 0x00, 0x01, 0x01, 0x00, 0x00, 0x0E, 0x00, 0x5E, 0x00, 0x01, 0x02, 0x00, 0x00, 0x0F, 0x00 .byte 0x56, 0x00, 0x01, 0x01, 0x00, 0x00, 0x10, 0x00, 0x1A, 0x00, 0x01, 0x01, 0x00, 0x00, 0x11, 0x00 .byte 0x03, 0x00, 0x01, 0x01, 0x00, 0x00, 0x12, 0x00, 0x13, 0x00, 0x01, 0x01, 0x00, 0x00, 0xA3, 0x00 .byte 0x2E, 0x00, 0x01, 0x01, 0x00, 0x00, 0x13, 0x00, 0x56, 0x00, 0x01, 0x01, 0x00, 0x00, 0x14, 0x00 .byte 0x1C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x15, 0x00, 0x26, 0x00, 0x01, 0x01, 0x00, 0x00, 0x16, 0x00 .byte 0x5D, 0x00, 0x01, 0x01, 0x00, 0x00, 0x17, 0x00, 0x19, 0x00, 0x01, 0x01, 0x00, 0x00, 0x18, 0x00 .byte 0x03, 0x00, 0x01, 0x01, 0x00, 0x00, 0x19, 0x00, 0x32, 0x00, 0x01, 0x01, 0x00, 0x00, 0x1A, 0x00 .byte 0x1B, 0x00, 0x01, 0x01, 0x00, 0x00, 0x1B, 0x00, 0x32, 0x00, 0x01, 0x01, 0x00, 0x00, 0xD2, 0x00 .byte 0x30, 0x01, 0x01, 0x01, 0x00, 0x00, 0xD3, 0x00, 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0xD4, 0x00 .byte 0x5C, 0x00, 0x01, 0x01, 0x00, 0x00, 0xD5, 0x00, 0x1B, 0x00, 0x01, 0x01, 0x00, 0x00, 0xD6, 0x00 .byte 0x19, 0x00, 0x01, 0x01, 0x00, 0x00, 0xD7, 0x00, 0x58, 0x00, 0x01, 0x01, 0x00, 0x00, 0x1C, 0x00 .byte 0x59, 0x00, 0x01, 0x01, 0x00, 0x00, 0x1D, 0x00, 0x1D, 0x00, 0x01, 0x01, 0x00, 0x00, 0x1E, 0x00 .byte 0x15, 0x00, 0x01, 0x01, 0x00, 0x00, 0x98, 0x00, 0x58, 0x00, 0x01, 0x01, 0x00, 0x00, 0xA4, 0x00 .byte 0x58, 0x00, 0x01, 0x01, 0x00, 0x00, 0xA5, 0x00, 0x19, 0x00, 0x01, 0x01, 0x00, 0x00, 0xA6, 0x00 .byte 0x03, 0x00, 0x01, 0x01, 0x00, 0x00, 0xB8, 0x00, 0x31, 0x00, 0x01, 0x01, 0x00, 0x00, 0xB9, 0x00 .byte 0x1A, 0x00, 0x01, 0x01, 0x00, 0x00, 0xBA, 0x00, 0xC3, 0x01, 0x01, 0x00, 0x00, 0x00, 0xD8, 0x00 .byte 0x1D, 0x00, 0x01, 0x01, 0x00, 0x00, 0xAE, 0x00, 0x32, 0x00, 0x01, 0x01, 0x00, 0x00, 0x1F, 0x00 .byte 0x17, 0x00, 0x01, 0x01, 0x00, 0x00, 0x07, 0x00, 0x27, 0x00, 0x01, 0x01, 0x00, 0x00, 0xB4, 0x00 .byte 0x15, 0x00, 0x01, 0x01, 0x00, 0x00, 0x20, 0x00, 0x56, 0x00, 0x01, 0x01, 0x00, 0x00, 0x21, 0x00 .byte 0x1A, 0x00, 0x01, 0x01, 0x00, 0x00, 0x23, 0x00, 0x1C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x99, 0x00 .byte 0x5A, 0x00, 0x01, 0x01, 0x00, 0x00, 0xBB, 0x00, 0x03, 0x00, 0x01, 0x01, 0x00, 0x00, 0xBC, 0x00 .byte 0x5E, 0x00, 0x01, 0x01, 0x00, 0x00, 0x22, 0x00, 0x4F, 0x00, 0x01, 0x01, 0x00, 0x00, 0x24, 0x00 .byte 0x4E, 0x00, 0x01, 0x01, 0x00, 0x00, 0x25, 0x00, 0x57, 0x00, 0x01, 0x01, 0x00, 0x00, 0x26, 0x00 .byte 0x26, 0x00, 0x01, 0x01, 0x00, 0x00, 0x27, 0x00, 0x1B, 0x00, 0x01, 0x01, 0x00, 0x00, 0x95, 0x00 .byte 0x03, 0x00, 0x01, 0x01, 0x00, 0x00, 0x9A, 0x00, 0x19, 0x00, 0x01, 0x01, 0x00, 0x00, 0xBD, 0x00 .byte 0x13, 0x00, 0x01, 0x01, 0x00, 0x00, 0xCA, 0x00, 0x5E, 0x00, 0x01, 0x01, 0x00, 0x00, 0xB5, 0x00 .byte 0x19, 0x00, 0x01, 0x01, 0x00, 0x00, 0xB6, 0x00, 0x34, 0x00, 0x01, 0x01, 0x00, 0x00, 0xB7, 0x00 .byte 0x1C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x28, 0x00, 0x56, 0x00, 0x01, 0x01, 0x00, 0x00, 0x29, 0x00 .byte 0x5E, 0x00, 0x01, 0x01, 0x00, 0x00, 0x2A, 0x00, 0x5D, 0x00, 0x01, 0x01, 0x00, 0x00, 0x2B, 0x00 .byte 0x56, 0x00, 0x01, 0x01, 0x00, 0x00, 0xA8, 0x00, 0x2D, 0x01, 0x01, 0x01, 0x00, 0x00, 0x2C, 0x00 .byte 0x5C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x2D, 0x00, 0x1B, 0x00, 0x01, 0x01, 0x00, 0x00, 0x2E, 0x00 .byte 0x19, 0x00, 0x01, 0x01, 0x00, 0x00, 0x2F, 0x00, 0x18, 0x00, 0x01, 0x01, 0x00, 0x00, 0x9B, 0x00 .byte 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0x9C, 0x00, 0x1A, 0x00, 0x01, 0x01, 0x00, 0x00, 0xA9, 0x00 .byte 0x58, 0x00, 0x01, 0x01, 0x00, 0x00, 0x30, 0x00, 0x56, 0x00, 0x01, 0x01, 0x00, 0x00, 0x31, 0x00 .byte 0x5E, 0x00, 0x01, 0x01, 0x00, 0x00, 0x32, 0x00, 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0xBE, 0x00 .byte 0x30, 0x00, 0x01, 0x01, 0x00, 0x00, 0xBF, 0x00, 0x1D, 0x00, 0x01, 0x00, 0x00, 0x00, 0xC0, 0x00 .byte 0x58, 0x00, 0x01, 0x01, 0x00, 0x00, 0xDA, 0x00, 0x27, 0x00, 0x01, 0x01, 0x00, 0x00, 0x33, 0x00 .byte 0x56, 0x00, 0x01, 0x01, 0x00, 0x00, 0x34, 0x00, 0x2F, 0x00, 0x01, 0x01, 0x00, 0x00, 0x35, 0x00 .byte 0x17, 0x00, 0x01, 0x01, 0x00, 0x00, 0x36, 0x00, 0x1C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x37, 0x00 .byte 0x39, 0x01, 0x01, 0x01, 0x00, 0x00, 0x38, 0x00, 0x2D, 0x00, 0x01, 0x01, 0x00, 0x00, 0x39, 0x00 .byte 0x5E, 0x00, 0x01, 0x01, 0x00, 0x00, 0x3A, 0x00, 0x5E, 0x00, 0x01, 0x01, 0x00, 0x00, 0x3B, 0x00 .byte 0x19, 0x00, 0x01, 0x01, 0x00, 0x00, 0xDB, 0x00, 0x1B, 0x00, 0x01, 0x01, 0x00, 0x00, 0xDC, 0x00 .byte 0x1C, 0x00, 0x01, 0x01, 0x00, 0x00, 0xDD, 0x00, 0x12, 0x00, 0x01, 0x01, 0x00, 0x00, 0xDE, 0x00 .byte 0x1A, 0x00, 0x01, 0x01, 0x00, 0x00, 0xDF, 0x00, 0x16, 0x00, 0x01, 0x01, 0x00, 0x00, 0xE0, 0x00 .byte 0x11, 0x00, 0x01, 0x01, 0x00, 0x00, 0xE1, 0x00, 0x18, 0x00, 0x01, 0x01, 0x00, 0x00, 0xE2, 0x00 .byte 0x1C, 0x00, 0x01, 0x01, 0x00, 0x00, 0xE3, 0x00, 0x34, 0x00, 0x01, 0x01, 0x00, 0x00, 0x3C, 0x00 .byte 0x2D, 0x00, 0x01, 0x01, 0x00, 0x00, 0x3D, 0x00, 0x1C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x3E, 0x00 .byte 0x19, 0x00, 0x01, 0x01, 0x00, 0x00, 0x3F, 0x00, 0x28, 0x00, 0x01, 0x01, 0x00, 0x00, 0x40, 0x00 .byte 0x56, 0x00, 0x01, 0x01, 0x00, 0x00, 0x41, 0x00, 0x56, 0x00, 0x01, 0x01, 0x00, 0x00, 0x42, 0x00 .byte 0x5C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x43, 0x00, 0x33, 0x00, 0x01, 0x01, 0x00, 0x00, 0x44, 0x00 .byte 0x32, 0x00, 0x01, 0x01, 0x00, 0x00, 0x45, 0x00, 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0x46, 0x00 .byte 0x1B, 0x00, 0x01, 0x01, 0x00, 0x00, 0x47, 0x00, 0x31, 0x00, 0x01, 0x01, 0x00, 0x00, 0x48, 0x00 .byte 0x1D, 0x00, 0x01, 0x01, 0x00, 0x00, 0x49, 0x00, 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0xC1, 0x00 .byte 0x33, 0x00, 0x01, 0x01, 0x00, 0x00, 0xC2, 0x00, 0x4D, 0x00, 0x01, 0x01, 0x00, 0x00, 0xC3, 0x00 .byte 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0xC4, 0x00, 0x2E, 0x00, 0x01, 0x01, 0x00, 0x00, 0xC5, 0x00 .byte 0x18, 0x00, 0x01, 0x01, 0x00, 0x00, 0xC6, 0x00, 0x1B, 0x00, 0x01, 0x01, 0x00, 0x00, 0xC7, 0x00 .byte 0x5C, 0x00, 0x01, 0x01, 0x00, 0x00, 0xC8, 0x00, 0x19, 0x00, 0x01, 0x01, 0x00, 0x00, 0xB2, 0x00 .byte 0x17, 0x00, 0x01, 0x01, 0x00, 0x00, 0xB3, 0x00, 0x33, 0x00, 0x01, 0x01, 0x00, 0x00, 0x4A, 0x00 .byte 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0x4B, 0x00, 0x1B, 0x00, 0x01, 0x01, 0x00, 0x00, 0x4C, 0x00 .byte 0x28, 0x00, 0x01, 0x01, 0x00, 0x00, 0x4D, 0x00, 0x32, 0x00, 0x01, 0x01, 0x00, 0x00, 0x4E, 0x00 .byte 0x17, 0x00, 0x01, 0x01, 0x00, 0x00, 0x4F, 0x00, 0x5C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x50, 0x00 .byte 0x26, 0x00, 0x01, 0x01, 0x00, 0x00, 0x51, 0x00, 0x1D, 0x00, 0x01, 0x01, 0x00, 0x00, 0x52, 0x00 .byte 0x4C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x53, 0x00, 0x5A, 0x00, 0x01, 0x01, 0x00, 0x00, 0x54, 0x00 .byte 0x57, 0x00, 0x01, 0x01, 0x00, 0x00, 0x55, 0x00, 0x56, 0x00, 0x01, 0x01, 0x00, 0x00, 0x56, 0x00 .byte 0x32, 0x00, 0x01, 0x01, 0x00, 0x00, 0x58, 0x00, 0x18, 0x00, 0x01, 0x01, 0x00, 0x00, 0x59, 0x00 .byte 0x1B, 0x00, 0x01, 0x01, 0x00, 0x00, 0x5A, 0x00, 0x5C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x5C, 0x00 .byte 0x1C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x5D, 0x00, 0x26, 0x00, 0x01, 0x01, 0x00, 0x00, 0x5E, 0x00 .byte 0x4E, 0x00, 0x01, 0x01, 0x00, 0x00, 0x5F, 0x00, 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0x60, 0x00 .byte 0x33, 0x00, 0x01, 0x01, 0x00, 0x00, 0x61, 0x00, 0x56, 0x00, 0x01, 0x01, 0x00, 0x00, 0x62, 0x00 .byte 0x35, 0x01, 0x01, 0x01, 0x00, 0x00, 0x63, 0x00, 0x56, 0x00, 0x01, 0x01, 0x00, 0x00, 0x64, 0x00 .byte 0x5A, 0x00, 0x01, 0x01, 0x00, 0x00, 0x65, 0x00, 0x18, 0x00, 0x01, 0x01, 0x00, 0x00, 0x66, 0x00 .byte 0x5C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x67, 0x00, 0x32, 0x00, 0x01, 0x01, 0x00, 0x00, 0x68, 0x00 .byte 0x17, 0x00, 0x01, 0x01, 0x00, 0x00, 0x69, 0x00, 0x27, 0x00, 0x01, 0x01, 0x00, 0x00, 0x6A, 0x00 .byte 0x1C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x6B, 0x00, 0x57, 0x00, 0x01, 0x01, 0x00, 0x00, 0x6C, 0x00 .byte 0x57, 0x00, 0x01, 0x01, 0x00, 0x00, 0x6D, 0x00, 0x5E, 0x00, 0x01, 0x01, 0x00, 0x00, 0x9D, 0x00 .byte 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0x9E, 0x00, 0x2C, 0x01, 0x01, 0x01, 0x00, 0x00, 0x6E, 0x00 .byte 0x58, 0x00, 0x01, 0x01, 0x00, 0x00, 0x6F, 0x00, 0x59, 0x00, 0x01, 0x01, 0x00, 0x00, 0x70, 0x00 .byte 0x29, 0x00, 0x01, 0x01, 0x00, 0x00, 0x71, 0x00, 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0x72, 0x00 .byte 0x1D, 0x00, 0x01, 0x01, 0x00, 0x00, 0x73, 0x00, 0x17, 0x00, 0x01, 0x01, 0x00, 0x00, 0x74, 0x00 .byte 0x32, 0x00, 0x01, 0x01, 0x00, 0x00, 0x75, 0x00, 0x58, 0x00, 0x01, 0x01, 0x00, 0x00, 0x76, 0x00 .byte 0x57, 0x00, 0x01, 0x01, 0x00, 0x00, 0x77, 0x00, 0x32, 0x01, 0x01, 0x01, 0x00, 0x00, 0x78, 0x00 .byte 0x17, 0x00, 0x01, 0x01, 0x00, 0x00, 0x79, 0x00, 0x57, 0x00, 0x01, 0x01, 0x00, 0x00, 0x7A, 0x00 .byte 0x1D, 0x00, 0x01, 0x01, 0x00, 0x00, 0x7B, 0x00, 0x35, 0x00, 0x01, 0x00, 0x00, 0x00, 0x7C, 0x00 .byte 0x5A, 0x00, 0x01, 0x01, 0x00, 0x00, 0x7D, 0x00, 0x5A, 0x00, 0x01, 0x01, 0x00, 0x00, 0x7E, 0x00 .byte 0x5A, 0x00, 0x01, 0x01, 0x00, 0x00, 0x7F, 0x00, 0x58, 0x00, 0x01, 0x01, 0x00, 0x00, 0xAA, 0x00 .byte 0x58, 0x00, 0x01, 0x01, 0x00, 0x00, 0xAB, 0x00, 0x59, 0x00, 0x01, 0x01, 0x00, 0x00, 0xAC, 0x00 .byte 0x5C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x80, 0x00, 0x32, 0x00, 0x01, 0x01, 0x00, 0x00, 0x81, 0x00 .byte 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0x82, 0x00, 0x32, 0x00, 0x01, 0x01, 0x00, 0x00, 0xCB, 0x00 .byte 0x4D, 0x00, 0x01, 0x01, 0x00, 0x00, 0xCC, 0x00, 0x19, 0x00, 0x01, 0x01, 0x00, 0x00, 0xAD, 0x00 .byte 0x1D, 0x00, 0x01, 0x01, 0x00, 0x00, 0x83, 0x00, 0x57, 0x00, 0x01, 0x00, 0x00, 0x00, 0x84, 0x00 .byte 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x85, 0x00, 0x56, 0x00, 0x01, 0x00, 0x00, 0x00, 0x86, 0x00 .byte 0x59, 0x00, 0x01, 0x01, 0x00, 0x00, 0x87, 0x00, 0x33, 0x00, 0x01, 0x01, 0x00, 0x00, 0x9F, 0x00 .byte 0x2E, 0x00, 0x01, 0x01, 0x00, 0x00, 0x88, 0x00, 0x1B, 0x00, 0x01, 0x01, 0x00, 0x00, 0x89, 0x00 .byte 0x29, 0x00, 0x01, 0x01, 0x00, 0x00, 0x8A, 0x00, 0x2A, 0x01, 0x01, 0x01, 0x00, 0x00, 0x8B, 0x00 .byte 0x34, 0x00, 0x01, 0x01, 0x00, 0x00, 0x8C, 0x00, 0x2F, 0x00, 0x01, 0x01, 0x00, 0x00, 0x8D, 0x00 .byte 0x19, 0x00, 0x01, 0x01, 0x00, 0x00, 0xAF, 0x00, 0x1C, 0x00, 0x01, 0x01, 0x00, 0x00, 0xB0, 0x00 .byte 0x1B, 0x00, 0x01, 0x01, 0x00, 0x00, 0xB1, 0x00, 0x31, 0x00, 0x01, 0x01, 0x00, 0x00, 0x8E, 0x00 .byte 0x02, 0x00, 0x01, 0x01, 0x00, 0x00, 0x8F, 0x00, 0x5A, 0x00, 0x01, 0x01, 0x00, 0x00, 0x90, 0x00 .byte 0x32, 0x00, 0x01, 0x01, 0x00, 0x00, 0xCD, 0x00, 0x33, 0x00, 0x01, 0x01, 0x00, 0x00, 0xCE, 0x00 .byte 0x17, 0x00, 0x01, 0x01, 0x00, 0x00, 0xCF, 0x00, 0x57, 0x00, 0x01, 0x01, 0x00, 0x00, 0x91, 0x00 .byte 0x5C, 0x00, 0x01, 0x01, 0x00, 0x00, 0x92, 0x00, 0x30, 0x00, 0x01, 0x01, 0x00, 0x00, 0x93, 0x00 .byte 0x2D, 0x00, 0x01, 0x01, 0x00, 0x00, 0x94, 0x00 .global sNumScriptCmds sNumScriptCmds: ; 0x020F34DC .word 721 ; NELEMS(gScriptCmdTable) .global UNK_020F34E0 UNK_020F34E0: ; 0x020F34E0 .byte 0x03, 0x19, 0x0D, 0x06, 0x04, 0x0D, 0x15, 0x03 .global sScriptConditionTable sScriptConditionTable: ; 0x020F34E8 .byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x01, 0x01, 0x01 .byte 0x00, 0x01, 0x00, 0x00 .global UNK_020F34FC UNK_020F34FC: ; 0x020F34FC .byte 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0x07 .byte 0xFF, 0xFF, 0xFF, 0x07, 0xFF, 0xFF, 0xFF, 0x07, 0x0F, 0x01, 0x10, 0x01, 0x11, 0x01, 0x06, 0x02 .byte 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x02, 0x0B, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02 .byte 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02, 0x13, 0x02, 0x14, 0x02 .global UNK_020F3538 UNK_020F3538: ; 0x020F3538 .byte 0x0F, 0x01, 0x10, 0x01, 0x11, 0x01, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0A, 0x02 .byte 0x0B, 0x02, 0x0C, 0x02, 0x0D, 0x02, 0x0E, 0x02, 0x0F, 0x02, 0x10, 0x02, 0x11, 0x02, 0x12, 0x02 .byte 0x13, 0x02, 0x14, 0x02 .global gScriptCmdTable gScriptCmdTable: ; 0x020F355C .word ScrCmd_Nop .word ScrCmd_Dummy .word ScrCmd_End .word ScrCmd_Wait .word ScrCmd_LoadByte .word ScrCmd_LoadWord .word ScrCmd_LoadByteFromAddr .word ScrCmd_WriteByteToAddr .word ScrCmd_SetPtrByte .word ScrCmd_CopyLocal .word ScrCmd_CopyByte .word ScrCmd_CompareLocalToLocal .word ScrCmd_CompareLocalToValue .word ScrCmd_CompareLocalToAddr .word ScrCmd_CompareAddrToLocal .word ScrCmd_CompareAddrToValue .word ScrCmd_CompareAddrToAddr .word ScrCmd_CompareVarToValue .word ScrCmd_CompareVarToVar .word ScrCmd_RunScript .word ScrCmd_RunScriptWait .word ScrCmd_RestartCurrentScript .word ScrCmd_GoTo .word ScrCmd_ObjectGoTo .word ScrCmd_BgGoTo .word ScrCmd_DirectionGoTo .word ScrCmd_Call .word ScrCmd_Return .word ScrCmd_GoToIf .word ScrCmd_CallIf .word ScrCmd_SetFlag .word ScrCmd_ClearFlag .word ScrCmd_CheckFlag .word ScrCmd_CheckFlagVar .word ScrCmd_SetFlagVar .word ScrCmd_SetTrainerFlag .word ScrCmd_ClearTrainerFlag .word ScrCmd_CheckTrainerFlag .word ScrCmd_AddVar .word ScrCmd_SubVar .word ScrCmd_SetVar .word ScrCmd_CopyVar .word ScrCmd_SetOrCopyVar .word ScrCmd_Message .word ScrCmd_Unk002C .word ScrCmd_Unk002D .word ScrCmd_Unk002E .word ScrCmd_Unk002F .word ScrCmd_WaitButtonAB .word ScrCmd_WaitButton .word ScrCmd_WaitButtonABPad .word ScrCmd_Unk0033 .word ScrCmd_CloseMessageBox .word ScrCmd_Unk0035 .word ScrCmd_CreateMessageBox .word ScrCmd_Unk0037 .word ScrCmd_Unk0038 .word ScrCmd_Unk0039 .word ScrCmd_Unk003A .word ScrCmd_Unk003B .word ScrCmd_Menu .word ScrCmd_ScrollBg .word ScrCmd_YesNoMenu .word ScrCmd_Unk003F .word ScrCmd_Unk0040 .word ScrCmd_Unk0041 .word ScrCmd_Unk0042 .word ScrCmd_Unk0043 .word ScrCmd_Unk0044 .word ScrCmd_Unk0045 .word ScrCmd_Unk0046 .word ScrCmd_Unk0047 .word ScrCmd_Unk0048 .word ScrCmd_PlayFanfare .word ScrCmd_StopFanfare .word ScrCmd_PlayFanfareWait .word ScrCmd_PlayCry .word ScrCmd_PlayCryWait .word ScrCmd_PlaySound .word ScrCmd_PlaySoundWait .word ScrCmd_PlayBgm .word ScrCmd_StopBgm .word ScrCmd_PlayDefaultBgm .word ScrCmd_Unk0053 .word ScrCmd_FadeOutBgm .word ScrCmd_FadeInBgm .word ScrCmd_Unk0056 .word ScrCmd_Unk0057 .word ScrCmd_Unk0058 .word ScrCmd_CheckChatotCry .word ScrCmd_StartChatotRecord .word ScrCmd_StopChatotRecord .word ScrCmd_SaveChatotCry .word ScrCmd_Unk005D .word ScrCmd_Unk005E .word ScrCmd_WaitForMovement .word ScrCmd_Unk0060 .word ScrCmd_Unk0061 .word ScrCmd_Unk0062 .word ScrCmd_Unk0063 .word ScrCmd_Unk0064 .word ScrCmd_Unk0065 .word ScrCmd_Unk0066 .word ScrCmd_Unk0067 .word ScrCmd_Unk0068 .word ScrCmd_Unk0069 .word ScrCmd_Unk006A .word ScrCmd_Unk006B .word ScrCmd_Unk006C .word ScrCmd_Unk006D .word ScrCmd_Unk006E .word ScrCmd_GiveMoney .word ScrCmd_TakeMoneyImmediate .word ScrCmd_HasEnoughMoneyImmediate .word ScrCmd_ShowMoneyBox .word ScrCmd_HideMoneyBox .word ScrCmd_UpdateMoneyBox .word ScrCmd_ShowCoinBox .word ScrCmd_HideCoinBox .word ScrCmd_UpdateCoinBox .word ScrCmd_GetCoins .word ScrCmd_GiveCoins .word ScrCmd_TakeCoinsImmediate .word ScrCmd_GiveItem .word ScrCmd_TakeItem .word ScrCmd_HasSpaceForItem .word ScrCmd_HasItem .word ScrCmd_ItemIdIsTMOrHM .word ScrCmd_GetItemPocketId .word ScrCmd_Unk0081 .word ScrCmd_Unk0082 .word ScrCmd_GiveSecretBaseDecoration .word ScrCmd_TakeSecretBaseDecoration .word ScrCmd_HasSpaceForDecoration .word ScrCmd_GetDecorationCount .word ScrCmd_GiveUndergroundTrap .word ScrCmd_TakeUndergroundTrap .word ScrCmd_HasSpaceForTrap .word ScrCmd_GetTrapCount .word ScrCmd_GiveTreasure .word ScrCmd_TakeTreasure .word ScrCmd_HasSpaceForTreasure .word ScrCmd_GetTreasureCount .word ScrCmd_GiveUndergroundSphere .word ScrCmd_TakeUndergroundSphere .word ScrCmd_HasSpaceForSphere .word ScrCmd_GetSphereCount .word ScrCmd_Unk0093 .word ScrCmd_Unk0094 .word ScrCmd_Unk0095 .word ScrCmd_GiveMon .word ScrCmd_GiveEgg .word ScrCmd_SetPartyMonMove .word ScrCmd_PartyMonHasMove .word ScrCmd_FindPartyMonWithMove .word ScrCmd_Unk009B .word ScrCmd_Unk009C .word ScrCmd_Unk009D .word ScrCmd_Unk009E .word ScrCmd_Unk009F .word ScrCmd_Unk00A0 .word ScrCmd_Unk00A1 .word ScrCmd_Unk00A2 .word ScrCmd_Unk00A3 .word ScrCmd_Unk00A4 .word ScrCmd_Unk00A5 .word ScrCmd_Unk00A6 .word ScrCmd_Unk00A7 .word ScrCmd_Unk00A8 .word ScrCmd_Unk00A9 .word ScrCmd_Unk00AA .word ScrCmd_MonStoragePC .word ScrCmd_Unk00AC .word ScrCmd_Unk00AD .word ScrCmd_Unk00AE .word ScrCmd_Unk00AF .word ScrCmd_HallOfFame .word ScrCmd_Unk00B1 .word ScrCmd_Unk00B2 .word ScrCmd_Unk00B3 .word ScrCmd_Unk00B4 .word ScrCmd_Unk00B5 .word ScrCmd_Unk00B6 .word ScrCmd_Unk00B7 .word ScrCmd_Unk00B8 .word ScrCmd_Unk00B9 .word ScrCmd_Unk00BA .word ScrCmd_Unk00BB .word ScrCmd_Unk00BC .word ScrCmd_Unk00BD .word ScrCmd_Unk00BE .word ScrCmd_Unk00BF .word ScrCmd_Unk00C0 .word ScrCmd_Unk00C1 .word ScrCmd_Unk00C2 .word ScrCmd_Unk00C3 .word ScrCmd_Unk00C4 .word ScrCmd_Unk00C5 .word ScrCmd_Unk00C6 .word ScrCmd_Unk00C7 .word ScrCmd_Unk00C8 .word ScrCmd_Unk00C9 .word ScrCmd_Unk00CA .word ScrCmd_Unk00CB .word ScrCmd_Unk00CC .word ScrCmd_GetPlayerName .word ScrCmd_GetRivalName .word ScrCmd_GetFriendName .word ScrCmd_GetPokemonName .word ScrCmd_GetItemName .word ScrCmd_GetPocketName .word ScrCmd_GetTMHMMoveName .word ScrCmd_GetMoveName .word ScrCmd_Unk00D5 .word ScrCmd_GetPokemonNickname .word ScrCmd_GetPoketchAppName .word ScrCmd_GetTrainerClassName .word ScrCmd_Unk00D9 .word ScrCmd_Unk00DA .word ScrCmd_GetPlayerStarterName .word ScrCmd_GetRivalStarterName .word ScrCmd_GetCounterpartStarterName .word ScrCmd_Unk00DE .word ScrCmd_GetDecorationName .word ScrCmd_GetUndergroundTrapName .word ScrCmd_GetUndergroundItemName .word ScrCmd_GetMapName .word ScrCmd_Unk00E3 .word ScrCmd_Unk00E4 .word ScrCmd_Unk00E5 .word ScrCmd_Unk00E6 .word ScrCmd_Unk00E7 .word ScrCmd_Unk00E8 .word ScrCmd_Unk00E9 .word ScrCmd_Unk00EA .word ScrCmd_Unk00EB .word ScrCmd_Unk00EC .word ScrCmd_Unk00ED .word ScrCmd_Unk00EE .word ScrCmd_Unk00EF .word ScrCmd_Unk00F0 .word ScrCmd_Unk00F1 .word ScrCmd_Unk00F2 .word ScrCmd_Unk00F3 .word ScrCmd_Unk00F4 .word ScrCmd_Unk00F5 .word ScrCmd_Unk00F6 .word ScrCmd_Unk00F7 .word ScrCmd_Unk00F8 .word ScrCmd_Unk00F9 .word ScrCmd_Unk00FA .word ScrCmd_Unk00FB .word ScrCmd_Unk00FC .word ScrCmd_Unk00FD .word ScrCmd_Unk00FE .word ScrCmd_Unk00FF .word ScrCmd_Unk0100 .word ScrCmd_Unk0101 .word ScrCmd_Unk0102 .word ScrCmd_Unk0103 .word ScrCmd_Unk0104 .word ScrCmd_Unk0105 .word ScrCmd_Unk0106 .word ScrCmd_Unk0107 .word ScrCmd_Unk0108 .word ScrCmd_Unk0109 .word ScrCmd_Unk010A .word ScrCmd_Unk010B .word ScrCmd_Unk010C .word ScrCmd_Unk010D .word ScrCmd_Unk010E .word ScrCmd_Unk010F .word ScrCmd_Unk0110 .word ScrCmd_Unk0111 .word ScrCmd_Unk0112 .word ScrCmd_Unk0113 .word ScrCmd_Unk0114 .word ScrCmd_Unk0115 .word ScrCmd_Unk0116 .word ScrCmd_Unk0117 .word ScrCmd_Unk0118 .word ScrCmd_CheckPartyForPokerus .word ScrCmd_GetPartyMonGender .word ScrCmd_Unk011B .word ScrCmd_Unk011C .word ScrCmd_Unk011D .word ScrCmd_Unk011E .word ScrCmd_Unk011F .word ScrCmd_Unk0120 .word ScrCmd_Unk0121 .word ScrCmd_Unk0122 .word ScrCmd_Unk0123 .word ScrCmd_Unk0124 .word ScrCmd_Unk0125 .word ScrCmd_Unk0126 .word ScrCmd_Unk0127 .word ScrCmd_Unk0128 .word ScrCmd_Unk0129 .word ScrCmd_Unk012A .word ScrCmd_Unk012B .word ScrCmd_Unk012C .word ScrCmd_Unk012D .word ScrCmd_Unk012E .word ScrCmd_Unk012F .word ScrCmd_Unk0130 .word ScrCmd_Unk0131 .word ScrCmd_Unk0132 .word ScrCmd_Unk0133 .word ScrCmd_Unk0134 .word ScrCmd_Unk0135 .word ScrCmd_Unk0136 .word ScrCmd_Unk0137 .word ScrCmd_Unk0138 .word ScrCmd_Unk0139 .word ScrCmd_Unk013A .word ScrCmd_Unk013B .word ScrCmd_Unk013C .word ScrCmd_Unk013D .word ScrCmd_Unk013E .word ScrCmd_Unk013F .word ScrCmd_Unk0140 .word ScrCmd_Unk0141 .word ScrCmd_Unk0142 .word ScrCmd_Unk0143 .word ScrCmd_Unk0144 .word ScrCmd_Unk0145 .word ScrCmd_Unk0146 .word ScrCmd_NormalMart .word ScrCmd_SpecialMart .word ScrCmd_GoodsMart .word ScrCmd_SealsMart .word ScrCmd_Unk014B .word ScrCmd_Unk014C .word ScrCmd_GetPlayerGender .word ScrCmd_HealParty .word ScrCmd_Unk014F .word ScrCmd_Unk0150 .word ScrCmd_Unk0151 .word ScrCmd_Unk0152 .word ScrCmd_Unk0153 .word ScrCmd_Unk0154 .word ScrCmd_Unk0155 .word ScrCmd_Unk0156 .word ScrCmd_HasSinnohDex .word ScrCmd_GiveSinnohDex .word ScrCmd_HasRunningShoes .word ScrCmd_GiveRunningShoes .word ScrCmd_HasBadge .word ScrCmd_GiveBadge .word ScrCmd_GetTotalEarnedBadges .word ScrCmd_GiveBag .word ScrCmd_HasBag .word ScrCmd_Unk0160 .word ScrCmd_Unk0161 .word ScrCmd_Unk0162 .word ScrCmd_Unk0163 .word ScrCmd_Unk0164 .word ScrCmd_Unk0165 .word ScrCmd_CheckGameCompleted .word ScrCmd_SetGameCompleted .word ScrCmd_Unk0168 .word ScrCmd_Unk0169 .word ScrCmd_Unk016A .word ScrCmd_Unk016B .word ScrCmd_Unk016C .word ScrCmd_GetDaycarePokemonNames .word ScrCmd_GetDaycareStatus .word ScrCmd_Unk016F .word ScrCmd_Unk0170 .word ScrCmd_Unk0171 .word ScrCmd_Unk0172 .word ScrCmd_Unk0173 .word ScrCmd_Unk0174 .word ScrCmd_Unk0175 .word ScrCmd_Unk0176 .word ScrCmd_CountPartyMons .word ScrCmd_Unk0178 .word ScrCmd_Unk0179 .word ScrCmd_Unk017A .word ScrCmd_GetBerryName .word ScrCmd_GetNatureName .word ScrCmd_GetBerryTreeGrowth .word ScrCmd_GetBerryTreeType .word ScrCmd_GetBerryTreeMulch .word ScrCmd_GetBerryTreeWater .word ScrCmd_GetBerryTreeAmount .word ScrCmd_SetBerryTreeMulch .word ScrCmd_SetBerryTreeType .word ScrCmd_Unk0184 .word ScrCmd_TakeBerryTreeBerries .word ScrCmd_Unk0186 .word ScrCmd_Unk0187 .word ScrCmd_Unk0188 .word ScrCmd_Unk0189 .word ScrCmd_Unk018A .word ScrCmd_Unk018B .word ScrCmd_Unk018C .word ScrCmd_ShowSaveClock .word ScrCmd_HideSaveClock .word ScrCmd_Unk018F .word ScrCmd_WaitButtonABTime .word ScrCmd_Unk0191 .word ScrCmd_Unk0192 .word ScrCmd_Unk0193 .word ScrCmd_Unk0194 .word ScrCmd_Unk0195 .word ScrCmd_Unk0196 .word ScrCmd_Unk0197 .word ScrCmd_GetPartyMonSpecies .word ScrCmd_CheckPartyMonOTID .word ScrCmd_CountPartyMons_OmitEggs .word ScrCmd_CountAvailablePartyMons_IgnoreSlot .word ScrCmd_CountAvailablePartyAndPCMons .word ScrCmd_GetPartyEggCount .word ScrCmd_Unk019E .word ScrCmd_Unk019F .word ScrCmd_Unk01A0 .word ScrCmd_Unk01A1 .word ScrCmd_Unk01A2 .word ScrCmd_TakeMoneyAddress .word ScrCmd_Unk01A4 .word ScrCmd_Unk01A5 .word ScrCmd_Unk01A6 .word ScrCmd_Unk01A7 .word ScrCmd_DeleteDaycareEgg .word ScrCmd_GiveDaycareEgg .word ScrCmd_Unk01AA .word ScrCmd_HasEnoughMoneyAddress .word ScrCmd_Unk01AC .word ScrCmd_Unk01AD .word ScrCmd_GetDaycareLevel .word ScrCmd_Unk01AF .word ScrCmd_Unk01B0 .word ScrCmd_Unk01B1 .word ScrCmd_Unk01B2 .word ScrCmd_Unk01B3 .word ScrCmd_Unk01B4 .word ScrCmd_Unk01B5 .word ScrCmd_Unk01B6 .word ScrCmd_Unk01B7 .word ScrCmd_Unk01B8 .word ScrCmd_GetPartyMonFriendship .word ScrCmd_AddPartyMonFriendship .word ScrCmd_SubtractPartyMonFriendship .word ScrCmd_Unk01BC .word ScrCmd_Unk01BD .word ScrCmd_Unk01BE .word ScrCmd_Unk01BF .word ScrCmd_CheckPartyForSpecies .word ScrCmd_Unk01C1 .word ScrCmd_Unk01C2 .word ScrCmd_Unk01C3 .word ScrCmd_Unk01C4 .word ScrCmd_Unk01C5 .word ScrCmd_Unk01C6 .word ScrCmd_Unk01C7 .word ScrCmd_CountPartyMonMoves .word ScrCmd_ForgetPartyMonMove .word ScrCmd_GetPartyMonMove .word ScrCmd_GetPokemonMoveName .word ScrCmd_Unk01CC .word ScrCmd_Unk01CD .word ScrCmd_Unk01CE .word ScrCmd_GetSetStrength .word ScrCmd_GetSetFlash .word ScrCmd_GetSetDefog .word ScrCmd_Unk01D2 .word ScrCmd_Unk01D3 .word ScrCmd_Unk01D4 .word ScrCmd_Unk01D5 .word ScrCmd_Unk01D6 .word ScrCmd_Unk01D7 .word ScrCmd_Unk01D8 .word ScrCmd_Unk01D9 .word ScrCmd_Unk01DA .word ScrCmd_Unk01DB .word ScrCmd_Unk01DC .word ScrCmd_Unk01DD .word ScrCmd_Unk01DE .word ScrCmd_Unk01DF .word ScrCmd_Unk01E0 .word ScrCmd_Unk01E1 .word ScrCmd_Unk01E2 .word ScrCmd_Unk01E3 .word ScrCmd_Unk01E4 .word ScrCmd_Unk01E5 .word ScrCmd_Unk01E6 .word ScrCmd_Unk01E7 .word ScrCmd_Unk01E8 .word ScrCmd_Unk01E9 .word ScrCmd_Unk01EA .word ScrCmd_Unk01EB .word ScrCmd_Unk01EC .word ScrCmd_Unk01ED .word ScrCmd_GetPartyMonHeldItem .word ScrCmd_Unk01EF .word ScrCmd_ResetPartyMonHeldItem .word ScrCmd_CountFossils .word ScrCmd_Unk01F2 .word ScrCmd_Unk01F3 .word ScrCmd_GetFossilPokemon .word ScrCmd_GetFossilMinimumAmount .word ScrCmd_CountPartyMonsAtOrBelowLevel .word ScrCmd_SurvivePsn .word ScrCmd_Unk01F8 .word ScrCmd_DebugWatch .word ScrCmd_MessageFrom .word ScrCmd_MessageFrom2 .word ScrCmd_Unk01FC .word ScrCmd_Unk01FD .word ScrCmd_Unk01FE .word ScrCmd_Unk01FF .word ScrCmd_Unk0200 .word ScrCmd_Unk0201 .word ScrCmd_Unk0202 .word ScrCmd_Unk0203 .word ScrCmd_Unk0204 .word ScrCmd_Unk0205 .word ScrCmd_Unk0206 .word ScrCmd_Unk0207 .word ScrCmd_Unk0208 .word ScrCmd_Unk0209 .word ScrCmd_Unk020A .word ScrCmd_Unk020B .word ScrCmd_Unk020C .word ScrCmd_Unk020D .word ScrCmd_Unk020E .word ScrCmd_Unk020F .word ScrCmd_Unk0210 .word ScrCmd_Unk0211 .word ScrCmd_GetPartyMonNature .word ScrCmd_FindPartyMonWithNature .word ScrCmd_Unk0214 .word ScrCmd_ClearAmitySquareSteps .word ScrCmd_CheckAmitySquareSteps .word ScrCmd_GetAmitySquareAccessory .word ScrCmd_Unk0218 .word ScrCmd_Unk0219 .word ScrCmd_Unk021A .word ScrCmd_Unk021B .word ScrCmd_Unk021C .word ScrCmd_Unk021D .word ScrCmd_Unk021E .word ScrCmd_Unk021F .word ScrCmd_Unk0220 .word ScrCmd_Unk0221 .word ScrCmd_Unk0222 .word ScrCmd_Unk0223 .word ScrCmd_Unk0224 .word ScrCmd_Unk0225 .word ScrCmd_Unk0226 .word ScrCmd_Unk0227 .word ScrCmd_Unk0228 .word ScrCmd_Unk0229 .word ScrCmd_Unk022A .word ScrCmd_Unk022B .word ScrCmd_Unk022C .word ScrCmd_Unk022D .word ScrCmd_CountPartyMonRibbons .word ScrCmd_CountTotalPartyRibbons .word ScrCmd_PartyMonHasRibbon .word ScrCmd_GivePartyMonRibbon .word ScrCmd_GetRibbonName .word ScrCmd_Unk0233 .word ScrCmd_Unk0234 .word ScrCmd_Unk0235 .word ScrCmd_Unk0236 .word ScrCmd_Unk0237 .word ScrCmd_Unk0238 .word ScrCmd_Unk0239 .word ScrCmd_Unk023A .word ScrCmd_Unk023B .word ScrCmd_Unk023C .word ScrCmd_Unk023D .word ScrCmd_Unk023E .word ScrCmd_Unk023F .word ScrCmd_Unk0240 .word ScrCmd_Unk0241 .word ScrCmd_Unk0242 .word ScrCmd_Unk0243 .word ScrCmd_Unk0244 .word ScrCmd_Unk0245 .word ScrCmd_GameVersion .word ScrCmd_GetLeadingPartyMonSlot .word ScrCmd_GetPartyMonTypes .word ScrCmd_GiveWallpaper .word ScrCmd_Unk024A .word ScrCmd_Unk024B .word ScrCmd_Unk024C .word ScrCmd_Unk024D .word ScrCmd_Unk024E .word ScrCmd_Unk024F .word ScrCmd_Unk0250 .word ScrCmd_Unk0251 .word ScrCmd_PCFreeSpace .word ScrCmd_Unk0253 .word ScrCmd_Unk0254 .word ScrCmd_Unk0255 .word ScrCmd_Unk0256 .word ScrCmd_AccessoriesShop .word ScrCmd_Unk0258 .word ScrCmd_Unk0259 .word ScrCmd_Unk025A .word ScrCmd_Unk025B .word ScrCmd_Unk025C .word ScrCmd_Unk025D .word ScrCmd_Unk025E .word ScrCmd_Unk025F .word ScrCmd_Unk0260 .word ScrCmd_GetFashionName .word ScrCmd_Unk0262 .word ScrCmd_Unk0263 .word ScrCmd_Unk0264 .word ScrCmd_Unk0265 .word ScrCmd_Unk0266 .word ScrCmd_Unk0267 .word ScrCmd_Unk0268 .word ScrCmd_Unk0269 .word ScrCmd_Unk026A .word ScrCmd_Unk026B .word ScrCmd_Unk026C .word ScrCmd_MessageUnown .word ScrCmd_Unk026E .word ScrCmd_Unk026F .word ScrCmd_Unk0270 .word ScrCmd_Unk0271 .word ScrCmd_GetWhiteRockInscription .word ScrCmd_Unk0273 .word ScrCmd_HasEnoughCoinsImmediate .word ScrCmd_Unk0275 .word ScrCmd_CanGiveCoins .word ScrCmd_Unk0277 .word ScrCmd_GetPartyMonLevel .word ScrCmd_Unk0279 .word ScrCmd_Unk027A .word ScrCmd_Unk027B .word ScrCmd_Unk027C .word ScrCmd_Unk027D .word ScrCmd_Unk027E .word ScrCmd_Unk027F .word ScrCmd_Unk0280 .word ScrCmd_GetPartyMonContestCondition .word ScrCmd_Unk0282 .word ScrCmd_SetVolume .word ScrCmd_Unk0284 .word ScrCmd_Unk0285 .word ScrCmd_Unk0286 .word ScrCmd_Unk0287 .word ScrCmd_Unk0288 .word ScrCmd_Unk0289 .word ScrCmd_Unk028A .word ScrCmd_Unk028B .word ScrCmd_Unk028C .word ScrCmd_Unk028D .word ScrCmd_Unk028E .word ScrCmd_Unk028F .word ScrCmd_Unk0290 .word ScrCmd_Unk0291 .word ScrCmd_Unk0292 .word ScrCmd_Unk0293 .word ScrCmd_Unk0294 .word ScrCmd_Unk0295 .word ScrCmd_Unk0296 .word ScrCmd_Unk0297 .word ScrCmd_Unk0298 .word ScrCmd_Unk0299 .word ScrCmd_Unk029A .word ScrCmd_Unk029B .word ScrCmd_Unk029C .word ScrCmd_Unk029D .word ScrCmd_Unk029E .word ScrCmd_Unk029F .word ScrCmd_Unk02A0 .word ScrCmd_Unk02A1 .word ScrCmd_Unk02A2 .word ScrCmd_Unk02A3 .word ScrCmd_Unk02A4 .word ScrCmd_Unk02A5 .word ScrCmd_GetPrizeItemIdAndCost .word ScrCmd_Unk02A7 .word ScrCmd_TakeCoinsAddress .word ScrCmd_HasEnoughCoinsAddress .word ScrCmd_Unk02AA .word ScrCmd_Unk02AB .word ScrCmd_Unk02AC .word ScrCmd_Unk02AD .word ScrCmd_Unk02AE .word ScrCmd_Unk02AF .word ScrCmd_Unk02B0 .word ScrCmd_Unk02B1 .word ScrCmd_Unk02B2 .word ScrCmd_GetSealName .word ScrCmd_Unk02B4 .word ScrCmd_Unk02B5 .word ScrCmd_Unk02B6 .word ScrCmd_CheckPartyForBadEgg .word ScrCmd_Unk02B8 .word ScrCmd_Unk02B9 .word ScrCmd_Unk02BA .word ScrCmd_Unk02BB .word ScrCmd_Unk02BC .word ScrCmd_Unk02BD .word ScrCmd_Unk02BE .word ScrCmd_Unk02BF .word ScrCmd_Unk02C0 .word ScrCmd_Unk02C1 .word ScrCmd_Unk02C2 .word ScrCmd_Unk02C3 .word ScrCmd_GetItemNameWithIndefArticle .word ScrCmd_GetItemNamePlural .word ScrCmd_GetDecorationNameWithArticle .word ScrCmd_GetUndergroundTrapNameWithArticle .word ScrCmd_GetUndergroundItemNameWithArticle .word ScrCmd_Unk02C9 .word ScrCmd_Unk02CA .word ScrCmd_GetFashionNameWithArticle .word ScrCmd_Unk02CC .word ScrCmd_GetSealNamePlural .word ScrCmd_CapitalizeFirstChar .word ScrCmd_Unk02CF .word ScrCmd_Unk02D0 .text thumb_func_start FUN_02038C78 FUN_02038C78: ; 0x02038C78 push {r3-r7, lr} add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 bl CreateFieldContext add r4, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 add r3, r7, #0x0 bl FUN_02038E60 ldr r1, _02038CA4 ; =FUN_02038D48 add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_020463CC pop {r3-r7, pc} nop _02038CA4: .word FUN_02038D48 thumb_func_start FUN_02038CA8 FUN_02038CA8: ; 0x02038CA8 push {r4-r6, lr} ldr r0, [r0, #0x10] add r5, r1, #0x0 add r4, r2, #0x0 add r6, r3, #0x0 bl FUN_0204652C ldr r2, [sp, #0x1c] mov r1, #0x1c add r3, r2, #0x0 add r0, #0x50 mul r3, r1 add r1, r0, r3 str r4, [r0, r3] ldr r0, [sp, #0x10] str r6, [r1, #0x4] str r0, [r1, #0x8] ldr r0, [sp, #0x14] str r0, [r1, #0xc] ldr r0, [sp, #0x18] str r0, [r1, #0x10] str r5, [r1, #0x14] pop {r4-r6, pc} .balign 4 thumb_func_start FUN_02038CD8 FUN_02038CD8: ; 0x02038CD8 push {r4-r7, lr} sub sp, #0xc add r6, r0, #0x0 add r7, r1, #0x0 str r2, [sp, #0x4] add r5, r3, #0x0 bl FUN_02046528 str r0, [sp, #0x8] bl CreateFieldContext add r4, r0, #0x0 ldr r0, [sp, #0x8] ldr r3, [sp, #0x4] add r1, r4, #0x0 add r2, r7, #0x0 str r5, [sp, #0x0] bl FUN_02038E60 ldr r1, _02038D0C ; =FUN_02038D48 add r0, r6, #0x0 add r2, r4, #0x0 bl FUN_0204640C add sp, #0xc pop {r4-r7, pc} .balign 4 _02038D0C: .word FUN_02038D48 thumb_func_start FUN_02038D10 FUN_02038D10: ; 0x02038D10 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 add r6, r1, #0x0 add r7, r2, #0x0 bl FUN_02046528 str r0, [sp, #0x4] bl CreateFieldContext add r4, r0, #0x0 mov r0, #0x0 str r0, [sp, #0x0] ldr r0, [sp, #0x4] add r1, r4, #0x0 add r2, r6, #0x0 add r3, r7, #0x0 bl FUN_02038E60 ldr r1, _02038D44 ; =FUN_02038D48 add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_020463EC add sp, #0x8 pop {r3-r7, pc} .balign 4 _02038D44: .word FUN_02038D48 thumb_func_start FUN_02038D48 FUN_02038D48: ; 0x02038D48 push {r3-r7, lr} sub sp, #0x8 add r5, r0, #0x0 bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02046528 ldrb r1, [r4, #0x4] str r0, [sp, #0x0] cmp r1, #0x0 beq _02038D68 cmp r1, #0x1 beq _02038D9E b _02038E1A _02038D68: ldrh r1, [r4, #0xa] bl CreateScriptContext str r0, [r4, #0x38] mov r0, #0x1 strb r0, [r4, #0x9] mov r0, #0x8 mov r1, #0x40 mov r2, #0xb bl ScrStrBufs_new_custom str r0, [r4, #0x40] mov r0, #0x1 lsl r0, r0, #0xa mov r1, #0xb bl String_ctor str r0, [r4, #0x44] mov r0, #0x1 lsl r0, r0, #0xa mov r1, #0xb bl String_ctor str r0, [r4, #0x48] ldrb r0, [r4, #0x4] add r0, r0, #0x1 strb r0, [r4, #0x4] _02038D9E: mov r0, #0x0 add r7, r4, #0x0 str r0, [sp, #0x4] add r5, r4, #0x0 add r7, #0x9 _02038DA8: ldr r6, [r5, #0x38] cmp r6, #0x0 beq _02038DD2 add r0, r6, #0x0 bl RunScriptCommand cmp r0, #0x0 bne _02038DD2 add r0, r6, #0x0 bl DeleteScriptContext ldrb r0, [r4, #0x9] cmp r0, #0x0 bne _02038DC8 bl GF_AssertFail _02038DC8: mov r0, #0x0 str r0, [r5, #0x38] ldrb r0, [r7, #0x0] sub r0, r0, #0x1 strb r0, [r7, #0x0] _02038DD2: ldr r0, [sp, #0x4] add r5, r5, #0x4 add r0, r0, #0x1 str r0, [sp, #0x4] cmp r0, #0x2 blt _02038DA8 ldrb r0, [r4, #0x9] cmp r0, #0x0 bne _02038E1A add r0, r4, #0x0 add r0, #0xa4 ldr r5, [r0, #0x0] ldr r0, [r4, #0x40] bl ScrStrBufs_delete ldr r0, [r4, #0x44] bl String_dtor ldr r0, [r4, #0x48] bl String_dtor mov r0, #0x0 str r0, [r4, #0x0] add r0, r4, #0x0 bl FreeToHeap cmp r5, #0x0 beq _02038E14 ldr r0, [sp, #0x0] blx r5 add sp, #0x8 mov r0, #0x0 pop {r3-r7, pc} _02038E14: add sp, #0x8 mov r0, #0x1 pop {r3-r7, pc} _02038E1A: mov r0, #0x0 add sp, #0x8 pop {r3-r7, pc} thumb_func_start CreateFieldContext CreateFieldContext: ; 0x02038E20 push {r4, lr} mov r0, #0xb mov r1, #0xdc bl AllocFromHeap add r4, r0, #0x0 bne _02038E32 bl GF_AssertFail _02038E32: add r0, r4, #0x0 mov r1, #0x0 mov r2, #0xdc bl memset ldr r0, _02038E44 ; =0x0003643F str r0, [r4, #0x0] add r0, r4, #0x0 pop {r4, pc} .balign 4 _02038E44: .word 0x0003643F thumb_func_start DeleteScriptContext DeleteScriptContext: ; 0x02038E48 push {r4, lr} add r4, r0, #0x0 ldr r0, [r4, #0x78] bl DestroyMsgData ldr r0, [r4, #0x7c] bl FreeToHeap add r0, r4, #0x0 bl FreeToHeap pop {r4, pc} thumb_func_start FUN_02038E60 FUN_02038E60: ; 0x02038E60 push {r3-r7, lr} add r5, r1, #0x0 add r7, r0, #0x0 add r0, r5, #0x0 mov r1, #0x36 add r4, r2, #0x0 add r6, r3, #0x0 bl FUN_02039300 str r0, [sp, #0x0] ldr r0, [r7, #0x38] bl FUN_020552F8 str r0, [r5, #0x28] str r6, [r5, #0x2c] ldr r0, [sp, #0x18] strh r4, [r5, #0xa] str r0, [r5, #0x34] cmp r6, #0x0 beq _02038E92 add r0, r6, #0x0 bl FUN_02058448 ldr r1, [sp, #0x0] strh r0, [r1, #0x0] _02038E92: mov r0, #0x7d lsl r0, r0, #0x6 cmp r4, r0 blo _02038EA8 ldr r0, _02038EAC ; =0x0000225F cmp r4, r0 bhi _02038EA8 add r0, r5, #0x0 add r1, r4, #0x0 bl FUN_020396E8 _02038EA8: pop {r3-r7, pc} nop _02038EAC: .word 0x0000225F thumb_func_start CreateScriptContext CreateScriptContext: ; 0x02038EB0 push {r4-r6, lr} add r5, r0, #0x0 add r6, r1, #0x0 mov r0, #0xb mov r1, #0x84 bl AllocFromHeap add r4, r0, #0x0 bne _02038EC6 bl GF_AssertFail _02038EC6: ldr r2, _02038EE4 ; =sNumScriptCmds ldr r1, _02038EE8 ; =gScriptCmdTable ldr r2, [r2, #0x0] add r0, r4, #0x0 bl InitScriptContext add r0, r5, #0x0 add r1, r4, #0x0 add r2, r6, #0x0 mov r3, #0x0 bl SetUpScriptContextForMap add r0, r4, #0x0 pop {r4-r6, pc} nop _02038EE4: .word sNumScriptCmds _02038EE8: .word gScriptCmdTable thumb_func_start SetUpScriptContextForMap SetUpScriptContextForMap: ; 0x02038EEC push {r4-r6, lr} add r4, r1, #0x0 add r3, r4, #0x0 add r5, r0, #0x0 add r3, #0x80 str r5, [r3, #0x0] bl LoadScriptsAndMessagesByMapId add r6, r0, #0x0 ldr r1, [r4, #0x7c] add r0, r4, #0x0 bl SetupBytecodeScript add r0, r4, #0x0 add r1, r6, #0x0 bl ScriptRunByIndex ldr r1, [r5, #0x10] add r0, r4, #0x0 bl FUN_02038B6C pop {r4-r6, pc} thumb_func_start LoadScriptsAndMessagesByMapId LoadScriptsAndMessagesByMapId: ; 0x02038F18 push {r3-r5, lr} ldr r3, _02039210 ; =0x0000283C add r4, r2, #0x0 cmp r4, r3 blo _02038F36 mov r3, #0x1f ldr r2, _02039214 ; =0x000003D1 lsl r3, r3, #0x4 bl LoadScriptsAndMessagesParameterized ldr r0, _02039210 ; =0x0000283C sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _02038F36: add r2, r3, #0x0 sub r2, #0x64 cmp r4, r2 blo _02038F52 ldr r2, _02039218 ; =0x00000175 add r3, r2, #0x0 sub r3, #0x29 bl LoadScriptsAndMessagesParameterized ldr r0, _0203921C ; =0x000027D8 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _02038F52: add r2, r3, #0x0 sub r2, #0x96 cmp r4, r2 blo _02038F6C ldr r2, _02039220 ; =0x00000412 ldr r3, _02039224 ; =0x00000232 bl LoadScriptsAndMessagesParameterized ldr r0, _02039228 ; =0x000027A6 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _02038F6C: sub r3, #0xc8 cmp r4, r3 blo _02038F84 ldr r2, _0203922C ; =0x00000411 ldr r3, _02039230 ; =0x00000233 bl LoadScriptsAndMessagesParameterized ldr r0, _02039234 ; =0x00002774 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _02038F84: ldr r3, _02039238 ; =0x00002710 cmp r4, r3 blo _02038F9E ldr r2, _0203923C ; =0x00000177 add r3, r2, #0x0 sub r3, #0x29 bl LoadScriptsAndMessagesParameterized ldr r0, _02039238 ; =0x00002710 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _02038F9E: add r2, r3, #0x0 sub r2, #0x32 cmp r4, r2 blo _02038FBC mov r2, #0x5e lsl r2, r2, #0x2 add r3, r2, #0x0 sub r3, #0x29 bl LoadScriptsAndMessagesParameterized ldr r0, _02039240 ; =0x000026DE sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _02038FBC: add r2, r3, #0x0 sub r2, #0x64 cmp r4, r2 blo _02038FD6 ldr r2, _02039244 ; =0x0000016D mov r3, #0xc7 bl LoadScriptsAndMessagesParameterized ldr r0, _02039248 ; =0x000026AC sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _02038FD6: add r2, r3, #0x0 sub r2, #0xc8 cmp r4, r2 blo _02038FF0 mov r2, #0xce mov r3, #0xcb bl LoadScriptsAndMessagesParameterized ldr r0, _0203924C ; =0x00002648 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _02038FF0: ldr r5, _02039250 ; =0x000025E4 cmp r4, r5 blo _0203900A ldr r2, _02039254 ; =0x00000183 add r3, r2, #0x0 sub r3, #0x9 bl LoadScriptsAndMessagesParameterized add r0, r5, #0x0 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _0203900A: add r2, r5, #0x0 sub r2, #0x64 cmp r4, r2 blo _02039026 ldr r2, _02039258 ; =0x00000179 mov r3, #0xc7 bl LoadScriptsAndMessagesParameterized add r0, r5, #0x0 sub r0, #0x64 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _02039026: sub r5, #0xc8 cmp r4, r5 blo _02039042 mov r2, #0x1d lsl r2, r2, #0x4 add r3, r2, #0x0 add r3, #0x1c bl LoadScriptsAndMessagesParameterized ldr r0, _0203925C ; =0x0000251C sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _02039042: ldr r5, _02039260 ; =0x000024B8 cmp r4, r5 blo _0203905C ldr r2, _02039264 ; =0x00000187 add r3, r2, #0x0 sub r3, #0xa bl LoadScriptsAndMessagesParameterized add r0, r5, #0x0 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _0203905C: add r2, r5, #0x0 sub r2, #0x64 cmp r4, r2 blo _0203907C mov r2, #0x5d lsl r2, r2, #0x2 add r3, r2, #0x0 sub r3, #0x2b bl LoadScriptsAndMessagesParameterized add r0, r5, #0x0 sub r0, #0x64 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _0203907C: sub r5, #0xc8 cmp r4, r5 blo _02039098 mov r2, #0x61 lsl r2, r2, #0x2 add r3, r2, #0x0 sub r3, #0x9 bl LoadScriptsAndMessagesParameterized ldr r0, _02039268 ; =0x000023F0 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _02039098: ldr r2, _0203926C ; =0x0000238C cmp r4, r2 blo _020390B0 mov r2, #0x0 mov r3, #0x9 bl LoadScriptsAndMessagesParameterized ldr r0, _0203926C ; =0x0000238C sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _020390B0: add r5, r2, #0x0 sub r5, #0x64 cmp r4, r5 blo _020390CA mov r2, #0xcf add r3, r2, #0x0 bl LoadScriptsAndMessagesParameterized ldr r0, _02039270 ; =0x00002328 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _020390CA: add r5, r2, #0x0 sub r5, #0x82 cmp r4, r5 blo _020390E4 ldr r2, _02039274 ; =0x00000186 mov r3, #0x7 bl LoadScriptsAndMessagesParameterized ldr r0, _02039278 ; =0x0000230A sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _020390E4: add r5, r2, #0x0 sub r5, #0x96 cmp r4, r5 blo _02039100 ldr r2, _0203927C ; =0x000001CF add r3, r2, #0x0 add r3, #0x17 bl LoadScriptsAndMessagesParameterized ldr r0, _02039280 ; =0x000022F6 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _02039100: sub r2, #0xc8 cmp r4, r2 blo _0203911A ldr r2, _02039284 ; =0x00000185 add r3, r2, #0x0 sub r3, #0x9 bl LoadScriptsAndMessagesParameterized ldr r0, _02039288 ; =0x000022C4 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _0203911A: ldr r2, _0203928C ; =0x00002260 cmp r4, r2 blo _02039134 ldr r2, _02039290 ; =0x000001CE add r3, r2, #0x0 add r3, #0x17 bl LoadScriptsAndMessagesParameterized ldr r0, _0203928C ; =0x00002260 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _02039134: mov r2, #0x7d lsl r2, r2, #0x6 cmp r4, r2 blo _02039152 ldr r2, _02039294 ; =0x00000176 add r3, r2, #0x0 sub r3, #0x29 bl LoadScriptsAndMessagesParameterized mov r0, #0x7d lsl r0, r0, #0x6 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _02039152: ldr r5, _02039298 ; =0x00001B58 cmp r4, r5 blo _0203916C ldr r2, _0203929C ; =0x00000172 add r3, r2, #0x0 sub r3, #0x2d bl LoadScriptsAndMessagesParameterized add r0, r5, #0x0 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _0203916C: lsr r5, r3, #0x1 cmp r4, r5 blo _02039186 mov r2, #0x41 lsl r2, r2, #0x4 mov r3, #0xc7 bl LoadScriptsAndMessagesParameterized ldr r0, _020392A0 ; =0x00001388 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _02039186: ldr r5, _020392A4 ; =0x00000BB8 cmp r4, r5 blo _020391A0 mov r2, #0x41 lsl r2, r2, #0x4 mov r3, #0xc7 bl LoadScriptsAndMessagesParameterized add r0, r5, #0x0 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _020391A0: sub r5, #0xc8 cmp r4, r5 blo _020391BC ldr r2, _020392A8 ; =0x0000017A add r3, r2, #0x0 sub r3, #0x1c bl LoadScriptsAndMessagesParameterized mov r0, #0xaf lsl r0, r0, #0x4 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _020391BC: lsr r3, r3, #0x2 cmp r4, r3 blo _020391D4 mov r2, #0x1 mov r3, #0xd bl LoadScriptsAndMessagesParameterized ldr r0, _020392AC ; =0x000009C4 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _020391D4: lsr r2, r2, #0x2 cmp r4, r2 blo _020391EE mov r2, #0xcd mov r3, #0xc7 bl LoadScriptsAndMessagesParameterized mov r0, #0x7d lsl r0, r0, #0x4 sub r0, r4, r0 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _020391EE: cmp r4, #0x1 blo _020391FE bl LoadScriptsAndMessagesForCurrentMap sub r0, r4, #0x1 lsl r0, r0, #0x10 lsr r4, r0, #0x10 b _0203920A _020391FE: ldr r2, _020392B0 ; =0x00000171 add r3, r2, #0x0 sub r3, #0x34 bl LoadScriptsAndMessagesParameterized mov r4, #0x0 _0203920A: add r0, r4, #0x0 pop {r3-r5, pc} nop _02039210: .word 0x0000283C _02039214: .word 0x000003D1 _02039218: .word 0x00000175 _0203921C: .word 0x000027D8 _02039220: .word 0x00000412 _02039224: .word 0x00000232 _02039228: .word 0x000027A6 _0203922C: .word 0x00000411 _02039230: .word 0x00000233 _02039234: .word 0x00002774 _02039238: .word 0x00002710 _0203923C: .word 0x00000177 _02039240: .word 0x000026DE _02039244: .word 0x0000016D _02039248: .word 0x000026AC _0203924C: .word 0x00002648 _02039250: .word 0x000025E4 _02039254: .word 0x00000183 _02039258: .word 0x00000179 _0203925C: .word 0x0000251C _02039260: .word 0x000024B8 _02039264: .word 0x00000187 _02039268: .word 0x000023F0 _0203926C: .word 0x0000238C _02039270: .word 0x00002328 _02039274: .word 0x00000186 _02039278: .word 0x0000230A _0203927C: .word 0x000001CF _02039280: .word 0x000022F6 _02039284: .word 0x00000185 _02039288: .word 0x000022C4 _0203928C: .word 0x00002260 _02039290: .word 0x000001CE _02039294: .word 0x00000176 _02039298: .word 0x00001B58 _0203929C: .word 0x00000172 _020392A0: .word 0x00001388 _020392A4: .word 0x00000BB8 _020392A8: .word 0x0000017A _020392AC: .word 0x000009C4 _020392B0: .word 0x00000171 thumb_func_start LoadScriptsAndMessagesParameterized LoadScriptsAndMessagesParameterized: ; 0x020392B4 push {r3-r5, lr} add r5, r1, #0x0 add r1, r2, #0x0 add r4, r3, #0x0 mov r0, #0xa mov r2, #0xb bl AllocAndReadWholeNarcMemberByIdPair str r0, [r5, #0x7c] mov r0, #0x1 mov r1, #0x1a add r2, r4, #0x0 mov r3, #0xb bl NewMsgDataFromNarc str r0, [r5, #0x78] pop {r3-r5, pc} .balign 4 thumb_func_start LoadScriptsAndMessagesForCurrentMap LoadScriptsAndMessagesForCurrentMap: ; 0x020392D8 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x1c] add r4, r1, #0x0 ldr r0, [r0, #0x0] bl LoadScriptsForCurrentMap str r0, [r4, #0x7c] ldr r0, [r5, #0x1c] ldr r0, [r0, #0x0] bl GetCurrentMapMessageBank add r2, r0, #0x0 mov r0, #0x1 mov r1, #0x1a mov r3, #0xb bl NewMsgDataFromNarc str r0, [r4, #0x78] pop {r3-r5, pc} thumb_func_start FUN_02039300 FUN_02039300: ; 0x02039300 push {r3, lr} cmp r1, #0x36 bls _02039308 b _02039430 _02039308: add r2, r1, r1 add r2, pc ldrh r2, [r2, #0x6] lsl r2, r2, #0x10 asr r2, r2, #0x10 add pc, r2 _02039314: ; jump table (using 16-bit offset) .short _02039382 - _02039314 - 2; case 0 .short _02039386 - _02039314 - 2; case 1 .short _0203938A - _02039314 - 2; case 2 .short _0203938E - _02039314 - 2; case 3 .short _02039392 - _02039314 - 2; case 4 .short _02039396 - _02039314 - 2; case 5 .short _0203939A - _02039314 - 2; case 6 .short _0203939E - _02039314 - 2; case 7 .short _020393A2 - _02039314 - 2; case 8 .short _020393A6 - _02039314 - 2; case 9 .short _020393AA - _02039314 - 2; case 10 .short _020393AE - _02039314 - 2; case 11 .short _020393B2 - _02039314 - 2; case 12 .short _020393B6 - _02039314 - 2; case 13 .short _020393BA - _02039314 - 2; case 14 .short _020393BE - _02039314 - 2; case 15 .short _020393C2 - _02039314 - 2; case 16 .short _020393C6 - _02039314 - 2; case 17 .short _020393CA - _02039314 - 2; case 18 .short _020393CE - _02039314 - 2; case 19 .short _020393D2 - _02039314 - 2; case 20 .short _020393D6 - _02039314 - 2; case 21 .short _020393DA - _02039314 - 2; case 22 .short _020393DE - _02039314 - 2; case 23 .short _020393E2 - _02039314 - 2; case 24 .short _020393E6 - _02039314 - 2; case 25 .short _020393EA - _02039314 - 2; case 26 .short _020393EE - _02039314 - 2; case 27 .short _020393F2 - _02039314 - 2; case 28 .short _020393F6 - _02039314 - 2; case 29 .short _020393FA - _02039314 - 2; case 30 .short _020393FE - _02039314 - 2; case 31 .short _02039402 - _02039314 - 2; case 32 .short _02039406 - _02039314 - 2; case 33 .short _0203940A - _02039314 - 2; case 34 .short _0203940E - _02039314 - 2; case 35 .short _02039412 - _02039314 - 2; case 36 .short _02039416 - _02039314 - 2; case 37 .short _0203941A - _02039314 - 2; case 38 .short _0203941E - _02039314 - 2; case 39 .short _02039422 - _02039314 - 2; case 40 .short _02039426 - _02039314 - 2; case 41 .short _02039426 - _02039314 - 2; case 42 .short _02039426 - _02039314 - 2; case 43 .short _02039426 - _02039314 - 2; case 44 .short _02039426 - _02039314 - 2; case 45 .short _02039426 - _02039314 - 2; case 46 .short _02039426 - _02039314 - 2; case 47 .short _02039426 - _02039314 - 2; case 48 .short _02039426 - _02039314 - 2; case 49 .short _02039426 - _02039314 - 2; case 50 .short _02039426 - _02039314 - 2; case 51 .short _02039426 - _02039314 - 2; case 52 .short _02039426 - _02039314 - 2; case 53 .short _02039426 - _02039314 - 2; case 54 _02039382: add r0, #0x10 pop {r3, pc} _02039386: add r0, #0x14 pop {r3, pc} _0203938A: add r0, #0x24 pop {r3, pc} _0203938E: add r0, r0, #0x5 pop {r3, pc} _02039392: add r0, r0, #0x6 pop {r3, pc} _02039396: add r0, r0, #0x7 pop {r3, pc} _0203939A: add r0, #0x8 pop {r3, pc} _0203939E: add r0, #0x9 pop {r3, pc} _020393A2: add r0, #0xa pop {r3, pc} _020393A6: add r0, #0x28 pop {r3, pc} _020393AA: add r0, #0x2c pop {r3, pc} _020393AE: add r0, #0x30 pop {r3, pc} _020393B2: add r0, #0x34 pop {r3, pc} _020393B6: add r0, #0x38 pop {r3, pc} _020393BA: add r0, #0x3c pop {r3, pc} _020393BE: add r0, #0x40 pop {r3, pc} _020393C2: add r0, #0x44 pop {r3, pc} _020393C6: add r0, #0x48 pop {r3, pc} _020393CA: add r0, #0x4c pop {r3, pc} _020393CE: add r0, #0xa8 pop {r3, pc} _020393D2: add r0, #0xac pop {r3, pc} _020393D6: add r0, #0xb0 pop {r3, pc} _020393DA: add r0, #0xb4 pop {r3, pc} _020393DE: add r0, #0xc pop {r3, pc} _020393E2: add r0, #0x50 pop {r3, pc} _020393E6: add r0, #0x54 pop {r3, pc} _020393EA: add r0, #0x58 pop {r3, pc} _020393EE: add r0, #0x5c pop {r3, pc} _020393F2: add r0, #0x60 pop {r3, pc} _020393F6: add r0, #0x64 pop {r3, pc} _020393FA: add r0, #0x68 pop {r3, pc} _020393FE: add r0, #0x6c pop {r3, pc} _02039402: add r0, #0x70 pop {r3, pc} _02039406: add r0, #0x74 pop {r3, pc} _0203940A: add r0, #0x78 pop {r3, pc} _0203940E: add r0, #0x7c pop {r3, pc} _02039412: add r0, #0x80 pop {r3, pc} _02039416: add r0, #0x84 pop {r3, pc} _0203941A: add r0, #0xb8 pop {r3, pc} _0203941E: add r0, #0xc8 pop {r3, pc} _02039422: add r0, #0xd8 pop {r3, pc} _02039426: sub r1, #0x29 add r0, #0x88 lsl r1, r1, #0x1 add r0, r0, r1 pop {r3, pc} _02039430: bl GF_AssertFail mov r0, #0x0 pop {r3, pc} thumb_func_start FUN_02039438 FUN_02039438: ; 0x02039438 push {r3-r5, lr} ldr r0, [r0, #0x10] add r5, r1, #0x0 bl FUN_0204652C add r4, r0, #0x0 ldr r1, [r4, #0x0] ldr r0, _0203945C ; =0x0003643F cmp r1, r0 beq _02039450 bl GF_AssertFail _02039450: add r0, r4, #0x0 add r1, r5, #0x0 bl FUN_02039300 pop {r3-r5, pc} nop _0203945C: .word 0x0003643F thumb_func_start FUN_02039460 FUN_02039460: ; 0x02039460 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0x10] bl FUN_0204652C add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_02035068 cmp r0, #0x1 bne _0203947C ldr r0, _02039480 ; =FUN_020351A0 add r4, #0xa4 str r0, [r4, #0x0] _0203947C: pop {r3-r5, pc} nop _02039480: .word FUN_020351A0 thumb_func_start ScriptRunByIndex ScriptRunByIndex: ; 0x02039484 push {r4, lr} add r4, r0, #0x0 ldr r2, [r4, #0x8] lsl r1, r1, #0x2 add r1, r2, r1 str r1, [r4, #0x8] bl ScriptReadWord ldr r1, [r4, #0x8] add r0, r1, r0 str r0, [r4, #0x8] pop {r4, pc} thumb_func_start LoadScriptsForCurrentMap LoadScriptsForCurrentMap: ; 0x0203949C push {r3, lr} bl MapHeader_GetScriptsBank add r1, r0, #0x0 mov r0, #0xa mov r2, #0xb bl AllocAndReadWholeNarcMemberByIdPair pop {r3, pc} .balign 4 thumb_func_start GetCurrentMapMessageBank GetCurrentMapMessageBank: ; 0x020394B0 ldr r3, _020394B4 ; =MapHeader_GetMsgBank bx r3 .balign 4 _020394B4: .word MapHeader_GetMsgBank thumb_func_start GetVarPointer GetVarPointer: ; 0x020394B8 push {r3-r5, lr} add r5, r0, #0x0 ldr r0, [r5, #0xc] add r4, r1, #0x0 bl SavArray_Flags_get mov r1, #0x1 lsl r1, r1, #0xe cmp r4, r1 bhs _020394D0 mov r0, #0x0 pop {r3-r5, pc} _020394D0: lsl r1, r1, #0x1 cmp r4, r1 bhs _020394DE add r1, r4, #0x0 bl GetVarAddr pop {r3-r5, pc} _020394DE: ldr r1, _020394EC ; =0x00007FD7 add r0, r5, #0x0 sub r1, r4, r1 bl FUN_02039438 pop {r3-r5, pc} nop _020394EC: .word 0x00007FD7 thumb_func_start VarGet VarGet: ; 0x020394F0 push {r4, lr} add r4, r1, #0x0 bl GetVarPointer cmp r0, #0x0 beq _020394FE ldrh r4, [r0, #0x0] _020394FE: add r0, r4, #0x0 pop {r4, pc} .balign 4 thumb_func_start FUN_02039504 FUN_02039504: ; 0x02039504 push {r3-r5, lr} add r4, r1, #0x0 add r5, r0, #0x0 cmp r4, #0x10 blo _02039512 bl GF_AssertFail _02039512: ldr r1, _02039524 ; =0x00004020 add r0, r5, #0x0 add r1, r4, r1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl VarGet pop {r3-r5, pc} nop _02039524: .word 0x00004020 thumb_func_start FlagCheck FlagCheck: ; 0x02039528 push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 bl SavArray_Flags_get add r1, r4, #0x0 bl CheckFlagInArray pop {r4, pc} .balign 4 thumb_func_start FlagSet FlagSet: ; 0x0203953C push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 bl SavArray_Flags_get add r1, r4, #0x0 bl SetFlagInArray pop {r4, pc} .balign 4 thumb_func_start FlagClear FlagClear: ; 0x02039550 push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 bl SavArray_Flags_get add r1, r4, #0x0 bl ClearFlagInArray pop {r4, pc} .balign 4 thumb_func_start ResetTempFlagsAndVars ResetTempFlagsAndVars: ; 0x02039564 push {r4, lr} ldr r0, [r0, #0xc] bl SavArray_Flags_get mov r1, #0x1 add r4, r0, #0x0 bl GetFlagAddr mov r1, #0x0 strb r1, [r0, #0x0] strb r1, [r0, #0x1] strb r1, [r0, #0x2] strb r1, [r0, #0x3] strb r1, [r0, #0x4] strb r1, [r0, #0x5] strb r1, [r0, #0x6] strb r1, [r0, #0x7] mov r1, #0x1 add r0, r4, #0x0 lsl r1, r1, #0xe bl GetVarAddr mov r1, #0x0 mov r2, #0x40 bl memset pop {r4, pc} .balign 4 thumb_func_start FUN_0203959C FUN_0203959C: ; 0x0203959C push {r3, lr} ldr r0, [r0, #0xc] bl SavArray_Flags_get mov r1, #0xaa lsl r1, r1, #0x4 bl GetFlagAddr mov r2, #0x18 mov r1, #0x0 _020395B0: strb r1, [r0, #0x0] add r0, r0, #0x1 sub r2, r2, #0x1 bne _020395B0 pop {r3, pc} .balign 4 thumb_func_start FUN_020395BC FUN_020395BC: ; 0x020395BC push {r3-r7, lr} add r4, r1, #0x0 add r5, r0, #0x0 mov r1, #0x29 add r6, r2, #0x0 add r7, r3, #0x0 bl FUN_02039438 strh r4, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x2a bl FUN_02039438 strh r6, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x2b bl FUN_02039438 strh r7, [r0, #0x0] add r0, r5, #0x0 mov r1, #0x2c bl FUN_02039438 add r1, sp, #0x8 ldrh r1, [r1, #0x10] strh r1, [r0, #0x0] pop {r3-r7, pc} .balign 4 thumb_func_start FUN_020395F4 FUN_020395F4: ; 0x020395F4 ldr r1, _02039610 ; =0x00001388 cmp r0, r1 bhs _02039604 ldr r1, _02039614 ; =0x00000BB7 sub r0, r0, r1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bx lr _02039604: sub r1, r1, #0x1 sub r0, r0, r1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bx lr nop _02039610: .word 0x00001388 _02039614: .word 0x00000BB7 thumb_func_start FUN_02039618 FUN_02039618: ; 0x02039618 ldr r1, _02039628 ; =0x00001388 cmp r0, r1 blo _02039622 mov r0, #0x1 bx lr _02039622: mov r0, #0x0 bx lr nop _02039628: .word 0x00001388 thumb_func_start Field_TrainerIsDoubleBattle Field_TrainerIsDoubleBattle: ; 0x0203962C push {r3, lr} mov r1, #0x9 bl TrainerData_GetAttr cmp r0, #0x0 beq _0203963C mov r0, #0x1 pop {r3, pc} _0203963C: mov r0, #0x0 pop {r3, pc} thumb_func_start TrainerFlagCheck TrainerFlagCheck: ; 0x02039640 push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 bl SavArray_Flags_get mov r1, #0x55 lsl r1, r1, #0x4 add r1, r4, r1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl CheckFlagInArray pop {r4, pc} .balign 4 thumb_func_start TrainerFlagSet TrainerFlagSet: ; 0x0203965C push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 bl SavArray_Flags_get mov r1, #0x55 lsl r1, r1, #0x4 add r1, r4, r1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl SetFlagInArray pop {r4, pc} .balign 4 thumb_func_start TrainerFlagClear TrainerFlagClear: ; 0x02039678 push {r4, lr} ldr r0, [r0, #0xc] add r4, r1, #0x0 bl SavArray_Flags_get mov r1, #0x55 lsl r1, r1, #0x4 add r1, r4, r1 lsl r1, r1, #0x10 lsr r1, r1, #0x10 bl ClearFlagInArray pop {r4, pc} .balign 4 thumb_func_start FUN_02039694 FUN_02039694: ; 0x02039694 ldr r1, _020396A0 ; =0x00001C66 sub r0, r0, r1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bx lr nop _020396A0: .word 0x00001C66 thumb_func_start FUN_020396A4 FUN_020396A4: ; 0x020396A4 mov r1, #0x7d lsl r1, r1, #0x6 sub r0, r0, r1 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bx lr thumb_func_start FUN_020396B0 FUN_020396B0: ; 0x020396B0 push {r4, lr} ldr r4, _020396E4 ; =UNK_020F2DB4 bl FUN_020396A4 lsl r0, r0, #0x18 lsr r3, r0, #0x18 mov r1, #0x0 add r2, r4, #0x0 _020396C0: ldrh r0, [r2, #0x6] cmp r3, r0 beq _020396CE add r1, r1, #0x1 add r2, #0x8 cmp r1, #0xe5 blo _020396C0 _020396CE: cmp r1, #0xe5 blo _020396DA bl GF_AssertFail mov r0, #0x0 pop {r4, pc} _020396DA: lsl r0, r1, #0x3 add r0, r4, r0 ldrb r0, [r0, #0x3] pop {r4, pc} nop _020396E4: .word UNK_020F2DB4 thumb_func_start FUN_020396E8 FUN_020396E8: ; 0x020396E8 push {r3-r7, lr} add r5, r1, #0x0 add r4, r0, #0x0 mov r1, #0x29 bl FUN_02039300 add r7, r0, #0x0 add r0, r4, #0x0 mov r1, #0x2a bl FUN_02039300 add r6, r0, #0x0 add r0, r4, #0x0 mov r1, #0x2b bl FUN_02039300 add r4, r0, #0x0 add r0, r5, #0x0 bl FUN_020396A4 lsl r0, r0, #0x18 ldr r2, _02039750 ; =UNK_020F2DB4 lsr r3, r0, #0x18 mov r1, #0x0 _02039718: ldrh r0, [r2, #0x6] cmp r3, r0 beq _02039726 add r1, r1, #0x1 add r2, #0x8 cmp r1, #0xe5 blo _02039718 _02039726: cmp r1, #0xe5 blo _02039732 bl GF_AssertFail mov r0, #0x0 pop {r3-r7, pc} _02039732: lsl r0, r1, #0x3 ldr r1, _02039750 ; =UNK_020F2DB4 ldrh r1, [r1, r0] strh r1, [r7, #0x0] ldr r1, _02039750 ; =UNK_020F2DB4 add r0, r1, r0 ldrb r0, [r0, #0x2] strh r0, [r6, #0x0] add r0, r5, #0x0 bl FUN_02039694 strh r0, [r4, #0x0] mov r0, #0x1 pop {r3-r7, pc} nop _02039750: .word UNK_020F2DB4 thumb_func_start FUN_02039754 FUN_02039754: ; 0x02039754 push {r4-r7, lr} sub sp, #0x24 str r0, [sp, #0x0] add r4, r1, #0x0 mov r6, #0x0 bl FUN_02034AF8 add r5, r0, #0x0 add r2, r5, #0x1 mov r1, #0x6 add r0, r4, #0x0 mul r1, r2 bl AllocFromHeap str r0, [sp, #0x1c] cmp r5, #0x0 bne _02039786 mov r2, #0xff add r1, r0, #0x0 strb r2, [r1, #0x4] ldr r2, _02039870 ; =0x0000FFFF add sp, #0x24 strh r2, [r1, #0x0] strh r2, [r1, #0x2] pop {r4-r7, pc} _02039786: ldr r0, [sp, #0x0] bl FUN_02034AF0 add r4, r0, #0x0 bne _020397A0 ldr r0, [sp, #0x1c] mov r1, #0xff strb r1, [r0, #0x4] ldr r1, _02039870 ; =0x0000FFFF add sp, #0x24 strh r1, [r0, #0x0] strh r1, [r0, #0x2] pop {r4-r7, pc} _020397A0: ldr r0, [sp, #0x0] ldr r0, [r0, #0x38] bl FUN_02055320 str r0, [sp, #0x18] ldr r0, [sp, #0x0] ldr r0, [r0, #0x38] bl FUN_0205532C str r0, [sp, #0x14] ldr r0, [sp, #0x18] sub r0, r0, #0x7 str r0, [sp, #0x10] ldr r0, [sp, #0x18] add r0, r0, #0x7 str r0, [sp, #0xc] ldr r0, [sp, #0x14] sub r0, r0, #0x7 str r0, [sp, #0x8] ldr r0, [sp, #0x14] add r0, r0, #0x6 str r0, [sp, #0x4] ldr r0, [sp, #0x10] cmp r0, #0x0 bge _020397D6 add r0, r6, #0x0 str r0, [sp, #0x10] _020397D6: ldr r0, [sp, #0x8] cmp r0, #0x0 bge _020397E0 mov r0, #0x0 str r0, [sp, #0x8] _020397E0: add r0, r5, #0x1 mov r7, #0x0 str r0, [sp, #0x20] cmp r0, #0x0 ble _02039856 ldr r5, [sp, #0x1c] _020397EC: ldrh r0, [r4, #0x2] cmp r0, #0x2 bne _0203984C ldrh r0, [r4, #0x0] bl FUN_02039694 add r1, r0, #0x0 ldr r0, [sp, #0x0] bl FlagCheck cmp r0, #0x0 bne _0203984C ldr r1, [r4, #0x4] ldr r0, [sp, #0x10] cmp r1, r0 blt _0203984C ldr r0, [sp, #0xc] cmp r1, r0 bgt _0203984C ldr r1, [r4, #0x8] ldr r0, [sp, #0x8] cmp r1, r0 blt _0203984C ldr r0, [sp, #0x4] cmp r1, r0 bgt _0203984C ldrh r0, [r4, #0x0] bl FUN_020396B0 strb r0, [r5, #0x4] ldr r1, [r4, #0x4] ldr r0, [sp, #0x18] sub r1, r0, r1 mov r0, #0x7 sub r0, r0, r1 bl abs strh r0, [r5, #0x0] ldr r1, [r4, #0x8] ldr r0, [sp, #0x14] sub r1, r0, r1 mov r0, #0x7 sub r0, r0, r1 bl abs strh r0, [r5, #0x2] add r5, r5, #0x6 add r6, r6, #0x1 _0203984C: ldr r0, [sp, #0x20] add r7, r7, #0x1 add r4, #0x14 cmp r7, r0 blt _020397EC _02039856: mov r0, #0x6 add r3, r6, #0x0 mul r3, r0 ldr r0, [sp, #0x1c] mov r1, #0xff add r2, r0, r3 strb r1, [r2, #0x4] ldr r1, _02039870 ; =0x0000FFFF strh r1, [r0, r3] strh r1, [r2, #0x2] add sp, #0x24 pop {r4-r7, pc} nop _02039870: .word 0x0000FFFF thumb_func_start RunPokemonCenterScriptsInNewContext RunPokemonCenterScriptsInNewContext: ; 0x02039874 ldr r3, _0203987C ; =RunScriptInNewContext mov r1, #0x96 lsl r1, r1, #0x6 bx r3 .balign 4 _0203987C: .word RunScriptInNewContext thumb_func_start RunScriptInNewContext RunScriptInNewContext: ; 0x02039880 push {r4, lr} bl CreateScriptContext add r4, r0, #0x0 _02039888: add r0, r4, #0x0 bl RunScriptCommand cmp r0, #0x1 beq _02039888 add r0, r4, #0x0 bl DeleteScriptContext pop {r4, pc} .balign 4 thumb_func_start FUN_0203989C FUN_0203989C: ; 0x0203989C push {r3-r5, lr} add r5, r0, #0x0 add r4, r1, #0x0 bl FUN_02034D2C add r1, r0, #0x0 bne _020398AE mov r0, #0x0 pop {r3-r5, pc} _020398AE: cmp r4, #0x1 bne _020398BC add r0, r5, #0x0 add r2, r4, #0x0 bl FUN_02039914 b _020398C2 _020398BC: add r1, r4, #0x0 bl _020398EC _020398C2: add r1, r0, #0x0 ldr r0, _020398E8 ; =0x0000FFFF cmp r1, r0 bne _020398CE mov r0, #0x0 pop {r3-r5, pc} _020398CE: cmp r4, #0x1 bne _020398DC add r0, r5, #0x0 mov r2, #0x0 bl FUN_02038C78 b _020398E2 _020398DC: add r0, r5, #0x0 bl RunScriptInNewContext _020398E2: mov r0, #0x1 pop {r3-r5, pc} nop _020398E8: .word 0x0000FFFF _020398EC: ldrb r2, [r0, #0x0] cmp r2, #0x0 bne _020398F6 ldr r0, _02039910 ; =0x0000FFFF bx lr _020398F6: cmp r2, r1 bne _02039908 ldrb r1, [r0, #0x1] ldrb r0, [r0, #0x2] lsl r0, r0, #0x8 add r0, r1, r0 lsl r0, r0, #0x10 lsr r0, r0, #0x10 bx lr _02039908: add r0, r0, #0x5 b _020398EC _0203990C: ; 0x0203990C bx lr nop _02039910: .word 0x0000FFFF thumb_func_start FUN_02039914 FUN_02039914: ; 0x02039914 push {r3-r7, lr} add r5, r0, #0x0 add r4, r1, #0x0 _0203991A: ldrb r0, [r4, #0x0] cmp r0, #0x0 bne _02039924 ldr r0, _0203999C ; =0x0000FFFF pop {r3-r7, pc} _02039924: cmp r0, r2 bne _02039940 ldrb r0, [r4, #0x4] ldrb r2, [r4, #0x2] ldrb r3, [r4, #0x1] lsl r1, r0, #0x18 ldrb r0, [r4, #0x3] lsl r2, r2, #0x8 add r2, r3, r2 lsl r0, r0, #0x10 add r0, r0, r2 add r1, r1, r0 add r0, r4, #0x5 b _02039944 _02039940: add r4, r4, #0x5 b _0203991A _02039944: cmp r1, #0x0 bne _0203994C ldr r0, _0203999C ; =0x0000FFFF pop {r3-r7, pc} _0203994C: add r4, r0, r1 _0203994E: ldrb r1, [r4, #0x0] cmp r1, #0x0 bne _02039958 ldr r0, _0203999C ; =0x0000FFFF pop {r3-r7, pc} _02039958: ldrb r0, [r4, #0x1] lsl r0, r0, #0x8 add r0, r1, r0 lsl r0, r0, #0x10 lsr r1, r0, #0x10 bne _02039968 ldr r0, _0203999C ; =0x0000FFFF pop {r3-r7, pc} _02039968: ldrb r0, [r4, #0x3] ldrb r2, [r4, #0x2] lsl r0, r0, #0x8 add r0, r2, r0 lsl r0, r0, #0x10 lsr r6, r0, #0x10 add r0, r5, #0x0 bl VarGet add r7, r0, #0x0 add r0, r5, #0x0 add r1, r6, #0x0 bl VarGet cmp r7, r0 bne _02039996 ldrb r0, [r4, #0x5] ldrb r1, [r4, #0x4] lsl r0, r0, #0x8 add r0, r1, r0 lsl r0, r0, #0x10 lsr r0, r0, #0x10 pop {r3-r7, pc} _02039996: add r4, r4, #0x6 b _0203994E pop {r3-r7, pc} .balign 4 _0203999C: .word 0x0000FFFF