mirror of
https://github.com/pret/pmd-sky.git
synced 2026-08-25 03:55:29 -05:00
Filled holes in overlay 28
This commit is contained in:
@@ -14,3 +14,10 @@
|
||||
.public sub_02027170
|
||||
.public sub_02027228
|
||||
.public GetStringFromFileVeneer
|
||||
.public sub_02025B90
|
||||
.public sub_0202822C
|
||||
.public ov11_022E6E8C
|
||||
.public sub_02028FA0
|
||||
.public sub_02025B80
|
||||
.public sub_02028354
|
||||
.public ov11_022E6EC8
|
||||
|
||||
488
asm/overlay_28.s
488
asm/overlay_28.s
@@ -333,97 +333,403 @@ ov28_0238A58C: ; 0x0238A58C
|
||||
.align 2, 0
|
||||
_0238A5C8: .word 0x0238AD80
|
||||
arm_func_end ov28_0238A58C
|
||||
_0238A5CC:
|
||||
.byte 0xF0, 0x41, 0x2D, 0xE9
|
||||
.byte 0x18, 0xD0, 0x4D, 0xE2, 0x74, 0x65, 0x9F, 0xE5, 0x00, 0x10, 0x96, 0xE5, 0x00, 0x00, 0x91, 0xE5
|
||||
.byte 0x06, 0x00, 0x50, 0xE3, 0x00, 0xF1, 0x8F, 0x90, 0x55, 0x01, 0x00, 0xEA, 0x05, 0x00, 0x00, 0xEA
|
||||
.byte 0x31, 0x00, 0x00, 0xEA, 0x33, 0x00, 0x00, 0xEA, 0x28, 0x00, 0x00, 0xEA, 0x1D, 0x00, 0x00, 0xEA
|
||||
.byte 0x2E, 0x01, 0x00, 0xEA, 0x21, 0x01, 0x00, 0xEA, 0x2E, 0x72, 0xFD, 0xEB, 0x00, 0x00, 0x50, 0xE3
|
||||
.byte 0x4B, 0x01, 0x00, 0x0A, 0x38, 0x05, 0x9F, 0xE5, 0x06, 0x10, 0xA0, 0xE1, 0x00, 0x00, 0x90, 0xE5
|
||||
.byte 0x00, 0x00, 0x50, 0xE3, 0x07, 0x00, 0x00, 0x1A, 0x00, 0x20, 0x91, 0xE5, 0x01, 0x00, 0xA0, 0xE3
|
||||
.byte 0x58, 0x20, 0x82, 0xE2, 0x02, 0x3B, 0x82, 0xE2, 0x10, 0x10, 0xA0, 0xE3, 0x68, 0x20, 0xA0, 0xE3
|
||||
.byte 0x63, 0x01, 0x00, 0xEB, 0x06, 0x00, 0x00, 0xEA, 0x00, 0x20, 0x91, 0xE5, 0x00, 0x00, 0xA0, 0xE3
|
||||
.byte 0x58, 0x20, 0x82, 0xE2, 0x02, 0x3B, 0x82, 0xE2, 0x10, 0x10, 0xA0, 0xE3, 0x60, 0x20, 0xA0, 0xE3
|
||||
.byte 0x5B, 0x01, 0x00, 0xEB, 0xE4, 0x04, 0x9F, 0xE5, 0x04, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5
|
||||
.byte 0x00, 0x10, 0x80, 0xE5, 0x32, 0x01, 0x00, 0xEA, 0x12, 0x72, 0xFD, 0xEB, 0x00, 0x00, 0x50, 0xE3
|
||||
.byte 0x2F, 0x01, 0x00, 0x0A, 0x01, 0x00, 0xA0, 0xE3, 0xFF, 0x71, 0xFD, 0xEB, 0x06, 0x00, 0xA0, 0xE1
|
||||
.byte 0x00, 0x00, 0x90, 0xE5, 0x03, 0x10, 0xA0, 0xE3, 0x00, 0x10, 0x80, 0xE5, 0x28, 0x01, 0x00, 0xEA
|
||||
.byte 0x08, 0x72, 0xFD, 0xEB, 0x00, 0x00, 0x50, 0xE3, 0x06, 0x00, 0xA0, 0x11, 0x00, 0x00, 0x90, 0x15
|
||||
.byte 0x01, 0x10, 0xA0, 0x13, 0x00, 0x10, 0x80, 0x15, 0x21, 0x01, 0x00, 0xEA, 0x02, 0x00, 0xA0, 0xE3
|
||||
.byte 0x00, 0x00, 0x81, 0xE5, 0x1E, 0x01, 0x00, 0xEA, 0x00, 0x40, 0xA0, 0xE3, 0x01, 0x70, 0xE0, 0xE3
|
||||
.byte 0x00, 0x00, 0x96, 0xE5, 0x04, 0x00, 0x80, 0xE0, 0xD9, 0x80, 0xD0, 0xE1, 0x07, 0x00, 0x58, 0xE1
|
||||
.byte 0x0C, 0x00, 0x00, 0x0A, 0x08, 0x00, 0xA0, 0xE1, 0x19, 0x77, 0xF2, 0xEB, 0x02, 0x00, 0x50, 0xE3
|
||||
.byte 0x08, 0x00, 0x00, 0x1A, 0x08, 0x00, 0xA0, 0xE1, 0x28, 0x7A, 0xF2, 0xEB, 0x00, 0x00, 0x50, 0xE3
|
||||
.byte 0x04, 0x00, 0x00, 0x1A, 0x08, 0x00, 0xA0, 0xE1, 0xC7, 0x76, 0xF2, 0xEB, 0x00, 0x00, 0x96, 0xE5
|
||||
.byte 0x04, 0x00, 0x80, 0xE0, 0x09, 0x70, 0xC0, 0xE5, 0x01, 0x40, 0x84, 0xE2, 0x14, 0x00, 0x54, 0xE3
|
||||
.byte 0xEA, 0xFF, 0xFF, 0xBA, 0x28, 0x04, 0x9F, 0xE5, 0x00, 0x20, 0x90, 0xE5, 0x00, 0x00, 0x52, 0xE3
|
||||
.byte 0x47, 0x00, 0x00, 0x1A, 0x14, 0x04, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x20, 0x00, 0x80, 0xE2
|
||||
.byte 0x8F, 0xFE, 0xFF, 0xEB, 0x04, 0x14, 0x9F, 0xE5, 0x00, 0x50, 0xA0, 0xE1, 0x00, 0x10, 0x91, 0xE5
|
||||
.byte 0x24, 0x00, 0x91, 0xE5, 0x40, 0x08, 0xA0, 0xE1, 0xC0, 0x00, 0x50, 0xE3, 0x04, 0x00, 0x00, 0xBA
|
||||
.byte 0x3C, 0x00, 0x81, 0xE2, 0x01, 0x0B, 0x80, 0xE2, 0x85, 0xFE, 0xFF, 0xEB, 0x00, 0x50, 0x85, 0xE1
|
||||
.byte 0xB4, 0x00, 0x00, 0xEA, 0x3C, 0x40, 0x81, 0xE2, 0x10, 0x04, 0x94, 0xE5, 0x00, 0x00, 0x50, 0xE3
|
||||
.byte 0x02, 0x00, 0x00, 0x0A, 0x01, 0x00, 0x50, 0xE3, 0x21, 0x00, 0x00, 0x0A, 0xAD, 0x00, 0x00, 0xEA
|
||||
.byte 0x03, 0x00, 0xE0, 0xE3, 0x10, 0x00, 0x8D, 0xE5, 0x04, 0x04, 0x94, 0xE5, 0x10, 0x10, 0x8D, 0xE2
|
||||
.byte 0x40, 0x08, 0xA0, 0xE1, 0x14, 0x00, 0x8D, 0xE5, 0x0C, 0x04, 0x94, 0xE5, 0xFF, 0x00, 0x00, 0xE2
|
||||
.byte 0xF4, 0x79, 0xF2, 0xEB, 0x98, 0x03, 0x9F, 0xE5, 0x98, 0x13, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5
|
||||
.byte 0x04, 0x24, 0x94, 0xE5, 0x00, 0x01, 0x91, 0xE7, 0x00, 0x00, 0x82, 0xE0, 0x04, 0x04, 0x84, 0xE5
|
||||
.byte 0x14, 0x00, 0x9D, 0xE5, 0x88, 0x00, 0x50, 0xE3, 0x9A, 0x00, 0x00, 0xDA, 0x0C, 0x04, 0x94, 0xE5
|
||||
.byte 0x20, 0x20, 0xA0, 0xE3, 0x10, 0x10, 0x8D, 0xE2, 0x02, 0x30, 0xA0, 0xE1, 0xFF, 0x00, 0x00, 0xE2
|
||||
.byte 0xBC, 0x79, 0xF2, 0xEB, 0x0C, 0x04, 0x94, 0xE5, 0x01, 0x10, 0xA0, 0xE3, 0xFF, 0x00, 0x00, 0xE2
|
||||
.byte 0x95, 0x76, 0xF2, 0xEB, 0x10, 0x04, 0x94, 0xE5, 0x01, 0x00, 0x80, 0xE2, 0x10, 0x04, 0x84, 0xE5
|
||||
.byte 0x8C, 0x00, 0x00, 0xEA, 0x0C, 0x14, 0x94, 0xE5, 0x01, 0x0B, 0x84, 0xE2, 0xFF, 0x10, 0x01, 0xE2
|
||||
.byte 0x46, 0xFE, 0xFF, 0xEB, 0x03, 0x10, 0xE0, 0xE3, 0x00, 0x00, 0xA0, 0xE3, 0x10, 0x10, 0x8D, 0xE5
|
||||
.byte 0x14, 0x00, 0x8D, 0xE5, 0x0C, 0x04, 0x94, 0xE5, 0x10, 0x10, 0x8D, 0xE2, 0xFF, 0x00, 0x00, 0xE2
|
||||
.byte 0xD0, 0x79, 0xF2, 0xEB, 0x10, 0x04, 0x94, 0xE5, 0x01, 0x00, 0x80, 0xE2, 0x10, 0x04, 0x84, 0xE5
|
||||
.byte 0x7C, 0x00, 0x00, 0xEA, 0xF4, 0x02, 0x9F, 0xE5, 0x00, 0x40, 0x90, 0xE5, 0x24, 0x00, 0x94, 0xE5
|
||||
.byte 0x40, 0x08, 0xA0, 0xE1, 0x08, 0x00, 0x50, 0xE3, 0x03, 0x00, 0x00, 0xBA, 0x20, 0x00, 0x84, 0xE2
|
||||
.byte 0x43, 0xFE, 0xFF, 0xEB, 0x00, 0x50, 0xA0, 0xE1, 0x29, 0x00, 0x00, 0xEA, 0x30, 0x00, 0x94, 0xE5
|
||||
.byte 0x00, 0x00, 0x50, 0xE3, 0x06, 0x00, 0x00, 0x0A, 0x01, 0x00, 0x50, 0xE3, 0xC4, 0x02, 0x9F, 0x05
|
||||
.byte 0x24, 0x10, 0x94, 0x05, 0x02, 0x01, 0x90, 0x07, 0x00, 0x00, 0x81, 0x00, 0x24, 0x00, 0x84, 0x05
|
||||
.byte 0x1F, 0x00, 0x00, 0xEA, 0x03, 0x00, 0xE0, 0xE3, 0x08, 0x00, 0x8D, 0xE5, 0x24, 0x00, 0x94, 0xE5
|
||||
.byte 0x08, 0x10, 0x8D, 0xE2, 0x40, 0x08, 0xA0, 0xE1, 0x0C, 0x00, 0x8D, 0xE5, 0x2C, 0x00, 0x94, 0xE5
|
||||
.byte 0xFF, 0x00, 0x00, 0xE2, 0xAF, 0x79, 0xF2, 0xEB, 0x84, 0x02, 0x9F, 0xE5, 0x84, 0x12, 0x9F, 0xE5
|
||||
.byte 0x00, 0x00, 0x90, 0xE5, 0x24, 0x20, 0x94, 0xE5, 0x00, 0x01, 0x91, 0xE7, 0x00, 0x00, 0x82, 0xE0
|
||||
.byte 0x24, 0x00, 0x84, 0xE5, 0x0C, 0x00, 0x9D, 0xE5, 0x88, 0x00, 0x50, 0xE3, 0x0C, 0x00, 0x00, 0xDA
|
||||
.byte 0x2C, 0x00, 0x94, 0xE5, 0x20, 0x20, 0xA0, 0xE3, 0x08, 0x10, 0x8D, 0xE2, 0x02, 0x30, 0xA0, 0xE1
|
||||
.byte 0xFF, 0x00, 0x00, 0xE2, 0x77, 0x79, 0xF2, 0xEB, 0x2C, 0x00, 0x94, 0xE5, 0x01, 0x10, 0xA0, 0xE3
|
||||
.byte 0xFF, 0x00, 0x00, 0xE2, 0x50, 0x76, 0xF2, 0xEB, 0x30, 0x00, 0x94, 0xE5, 0x01, 0x00, 0x80, 0xE2
|
||||
.byte 0x30, 0x00, 0x84, 0xE5, 0x24, 0x02, 0x9F, 0xE5, 0x00, 0x40, 0x90, 0xE5, 0x24, 0x00, 0x94, 0xE5
|
||||
.byte 0x40, 0x08, 0xA0, 0xE1, 0x60, 0x00, 0x50, 0xE3, 0x42, 0x00, 0x00, 0xBA, 0x40, 0x04, 0x94, 0xE5
|
||||
.byte 0x40, 0x08, 0xA0, 0xE1, 0x68, 0x00, 0x50, 0xE3, 0x04, 0x00, 0x00, 0xBA, 0x3C, 0x00, 0x84, 0xE2
|
||||
.byte 0x01, 0x0B, 0x80, 0xE2, 0x0A, 0xFE, 0xFF, 0xEB, 0x00, 0x50, 0x85, 0xE1, 0x39, 0x00, 0x00, 0xEA
|
||||
.byte 0x4C, 0x04, 0x94, 0xE5, 0x00, 0x00, 0x50, 0xE3, 0x04, 0x00, 0x00, 0x0A, 0x01, 0x00, 0x50, 0xE3
|
||||
.byte 0x0C, 0x00, 0x00, 0x0A, 0x02, 0x00, 0x50, 0xE3, 0x2B, 0x00, 0x00, 0x0A, 0x31, 0x00, 0x00, 0xEA
|
||||
.byte 0x58, 0x00, 0x84, 0xE2, 0x10, 0x10, 0xA0, 0xE3, 0x50, 0x20, 0x41, 0xE2, 0x02, 0x3B, 0x80, 0xE2
|
||||
.byte 0x01, 0x00, 0xA0, 0xE3, 0x8E, 0x00, 0x00, 0xEB, 0x4C, 0x04, 0x94, 0xE5, 0x01, 0x00, 0x80, 0xE2
|
||||
.byte 0x4C, 0x04, 0x84, 0xE5, 0x27, 0x00, 0x00, 0xEA, 0x03, 0x00, 0xE0, 0xE3, 0x00, 0x00, 0x8D, 0xE5
|
||||
.byte 0x40, 0x04, 0x94, 0xE5, 0x00, 0x10, 0x8D, 0xE2, 0x40, 0x08, 0xA0, 0xE1, 0x04, 0x00, 0x8D, 0xE5
|
||||
.byte 0x48, 0x04, 0x94, 0xE5, 0xFF, 0x00, 0x00, 0xE2, 0x6E, 0x79, 0xF2, 0xEB, 0x80, 0x01, 0x9F, 0xE5
|
||||
.byte 0x80, 0x11, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x40, 0x24, 0x94, 0xE5, 0x00, 0x01, 0x91, 0xE7
|
||||
.byte 0x00, 0x00, 0x82, 0xE0, 0x40, 0x04, 0x84, 0xE5, 0x04, 0x00, 0x9D, 0xE5, 0xD0, 0x00, 0x50, 0xE3
|
||||
.byte 0x14, 0x00, 0x00, 0xDA, 0x48, 0x04, 0x94, 0xE5, 0x20, 0x20, 0xA0, 0xE3, 0x00, 0x10, 0x8D, 0xE2
|
||||
.byte 0x02, 0x30, 0xA0, 0xE1, 0xFF, 0x00, 0x00, 0xE2, 0x36, 0x79, 0xF2, 0xEB, 0x48, 0x04, 0x94, 0xE5
|
||||
.byte 0x01, 0x10, 0xA0, 0xE3, 0xFF, 0x00, 0x00, 0xE2, 0x0F, 0x76, 0xF2, 0xEB, 0x4C, 0x04, 0x94, 0xE5
|
||||
.byte 0x01, 0x00, 0x80, 0xE2, 0x4C, 0x04, 0x84, 0xE5, 0x06, 0x00, 0x00, 0xEA, 0x20, 0x01, 0x9F, 0xE5
|
||||
.byte 0x20, 0x11, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x40, 0x24, 0x94, 0xE5, 0x00, 0x01, 0x91, 0xE7
|
||||
.byte 0x00, 0x00, 0x82, 0xE0, 0x40, 0x04, 0x84, 0xE5, 0x00, 0x01, 0x9F, 0xE5, 0x00, 0x20, 0x90, 0xE5
|
||||
.byte 0x08, 0x00, 0xD2, 0xE5, 0x00, 0x00, 0x50, 0xE3, 0x06, 0x00, 0x00, 0x1A, 0x20, 0x00, 0x92, 0xE5
|
||||
.byte 0x03, 0x00, 0x50, 0xE3, 0x03, 0x00, 0x00, 0xBA, 0x01, 0x10, 0xA0, 0xE3, 0x02, 0x00, 0xA0, 0xE3
|
||||
.byte 0x08, 0x10, 0xC2, 0xE5, 0x04, 0x71, 0xFD, 0xEB, 0x00, 0x00, 0x55, 0xE3, 0xCC, 0x00, 0x9F, 0x05
|
||||
.byte 0x06, 0x10, 0xA0, 0x03, 0x00, 0x00, 0x90, 0x05, 0x00, 0x10, 0x80, 0x05, 0x2C, 0x00, 0x00, 0xEA
|
||||
.byte 0x00, 0x00, 0xA0, 0xE3, 0x01, 0x10, 0xA0, 0xE3, 0xEF, 0x75, 0xF2, 0xEB, 0x01, 0x00, 0xA0, 0xE3
|
||||
.byte 0x00, 0x10, 0xA0, 0xE1, 0xEC, 0x75, 0xF2, 0xEB, 0x00, 0x00, 0xA0, 0xE3, 0x33, 0x6C, 0xF2, 0xEB
|
||||
.byte 0x00, 0x00, 0xA0, 0xE3, 0xF4, 0x70, 0xFD, 0xEB, 0x04, 0x00, 0xA0, 0xE3, 0x21, 0x00, 0x00, 0xEA
|
||||
.byte 0x03, 0x00, 0xE0, 0xE3, 0x24, 0x00, 0x00, 0xEB, 0x00, 0x00, 0xA0, 0xE3, 0xEE, 0x70, 0xFD, 0xEB
|
||||
.byte 0x7C, 0x00, 0x9F, 0xE5, 0x00, 0x00, 0x90, 0xE5, 0x05, 0x00, 0x50, 0xE3, 0x00, 0xF1, 0x8F, 0x90
|
||||
.byte 0x11, 0x00, 0x00, 0xEA, 0x04, 0x00, 0x00, 0xEA, 0x05, 0x00, 0x00, 0xEA, 0x06, 0x00, 0x00, 0xEA
|
||||
.byte 0x07, 0x00, 0x00, 0xEA, 0x08, 0x00, 0x00, 0xEA, 0x09, 0x00, 0x00, 0xEA, 0x00, 0x00, 0xA0, 0xE3
|
||||
.byte 0x0A, 0x00, 0x00, 0xEA, 0x01, 0x00, 0xA0, 0xE3, 0x08, 0x00, 0x00, 0xEA, 0x02, 0x00, 0xA0, 0xE3
|
||||
.byte 0x06, 0x00, 0x00, 0xEA, 0x03, 0x00, 0xA0, 0xE3, 0x04, 0x00, 0x00, 0xEA, 0x04, 0x00, 0xA0, 0xE3
|
||||
.byte 0x02, 0x00, 0x00, 0xEA, 0x05, 0x00, 0xA0, 0xE3, 0x00, 0x00, 0x00, 0xEA, 0x00, 0x00, 0xE0, 0xE3
|
||||
.byte 0x16, 0x6C, 0xF2, 0xEB, 0x14, 0x00, 0x9F, 0xE5, 0x00, 0x10, 0xA0, 0xE3, 0x00, 0x00, 0x90, 0xE5
|
||||
.byte 0x00, 0x10, 0x80, 0xE5, 0x01, 0x00, 0xA0, 0xE3, 0x18, 0xD0, 0x8D, 0xE2, 0xF0, 0x81, 0xBD, 0xE8
|
||||
.byte 0x80, 0xAD, 0x38, 0x02, 0xA0, 0xAD, 0x38, 0x02, 0x0C, 0xAD, 0x38, 0x02
|
||||
|
||||
arm_func_start ov28_0238A5CC
|
||||
ov28_0238A5CC: ; 0x0238A5CC
|
||||
stmdb sp!, {r4, r5, r6, r7, r8, lr}
|
||||
sub sp, sp, #0x18
|
||||
ldr r6, _0238AB50 ; =0x0238AD80
|
||||
ldr r1, [r6]
|
||||
ldr r0, [r1]
|
||||
cmp r0, #6
|
||||
addls pc, pc, r0, lsl #2
|
||||
b _0238AB44
|
||||
_0238A5EC: ; jump table
|
||||
b _0238A608 ; case 0
|
||||
b _0238A6BC ; case 1
|
||||
b _0238A6C8 ; case 2
|
||||
b _0238A6A0 ; case 3
|
||||
b _0238A678 ; case 4
|
||||
b _0238AAC0 ; case 5
|
||||
b _0238AA90 ; case 6
|
||||
_0238A608:
|
||||
bl ov11_022E6EC8
|
||||
cmp r0, #0
|
||||
beq _0238AB44
|
||||
ldr r0, _0238AB54 ; =0x0238ADA0
|
||||
mov r1, r6
|
||||
ldr r0, [r0]
|
||||
cmp r0, #0
|
||||
bne _0238A648
|
||||
ldr r2, [r1]
|
||||
mov r0, #1
|
||||
add r2, r2, #0x58
|
||||
add r3, r2, #0x800
|
||||
mov r1, #0x10
|
||||
mov r2, #0x68
|
||||
bl ov28_0238ABD4
|
||||
b _0238A664
|
||||
_0238A648:
|
||||
ldr r2, [r1]
|
||||
mov r0, #0
|
||||
add r2, r2, #0x58
|
||||
add r3, r2, #0x800
|
||||
mov r1, #0x10
|
||||
mov r2, #0x60
|
||||
bl ov28_0238ABD4
|
||||
_0238A664:
|
||||
ldr r0, _0238AB50 ; =0x0238AD80
|
||||
mov r1, #4
|
||||
ldr r0, [r0]
|
||||
str r1, [r0]
|
||||
b _0238AB44
|
||||
_0238A678:
|
||||
bl ov11_022E6EC8
|
||||
cmp r0, #0
|
||||
beq _0238AB44
|
||||
mov r0, #1
|
||||
bl ov11_022E6E8C
|
||||
mov r0, r6
|
||||
ldr r0, [r0]
|
||||
mov r1, #3
|
||||
str r1, [r0]
|
||||
b _0238AB44
|
||||
_0238A6A0:
|
||||
bl ov11_022E6EC8
|
||||
cmp r0, #0
|
||||
movne r0, r6
|
||||
ldrne r0, [r0]
|
||||
movne r1, #1
|
||||
strne r1, [r0]
|
||||
b _0238AB44
|
||||
_0238A6BC:
|
||||
mov r0, #2
|
||||
str r0, [r1]
|
||||
b _0238AB44
|
||||
_0238A6C8:
|
||||
mov r4, #0
|
||||
mvn r7, #1
|
||||
_0238A6D0:
|
||||
ldr r0, [r6]
|
||||
add r0, r0, r4
|
||||
ldrsb r8, [r0, #9]
|
||||
cmp r8, r7
|
||||
beq _0238A718
|
||||
mov r0, r8
|
||||
bl sub_02028354
|
||||
cmp r0, #2
|
||||
bne _0238A718
|
||||
mov r0, r8
|
||||
bl sub_02028FA0
|
||||
cmp r0, #0
|
||||
bne _0238A718
|
||||
mov r0, r8
|
||||
bl sub_0202822C
|
||||
ldr r0, [r6]
|
||||
add r0, r0, r4
|
||||
strb r7, [r0, #9]
|
||||
_0238A718:
|
||||
add r4, r4, #1
|
||||
cmp r4, #0x14
|
||||
blt _0238A6D0
|
||||
ldr r0, _0238AB54 ; =0x0238ADA0
|
||||
ldr r2, [r0]
|
||||
cmp r2, #0
|
||||
bne _0238A854
|
||||
ldr r0, _0238AB50 ; =0x0238AD80
|
||||
ldr r0, [r0]
|
||||
add r0, r0, #0x20
|
||||
bl ov28_0238A184
|
||||
ldr r1, _0238AB50 ; =0x0238AD80
|
||||
mov r5, r0
|
||||
ldr r1, [r1]
|
||||
ldr r0, [r1, #0x24]
|
||||
mov r0, r0, asr #0x10
|
||||
cmp r0, #0xc0
|
||||
blt _0238A774
|
||||
add r0, r1, #0x3c
|
||||
add r0, r0, #0x400
|
||||
bl ov28_0238A184
|
||||
orr r5, r5, r0
|
||||
b _0238AA48
|
||||
_0238A774:
|
||||
add r4, r1, #0x3c
|
||||
ldr r0, [r4, #0x410]
|
||||
cmp r0, #0
|
||||
beq _0238A790
|
||||
cmp r0, #1
|
||||
beq _0238A814
|
||||
b _0238AA48
|
||||
_0238A790:
|
||||
mvn r0, #3
|
||||
str r0, [sp, #0x10]
|
||||
ldr r0, [r4, #0x404]
|
||||
add r1, sp, #0x10
|
||||
mov r0, r0, asr #0x10
|
||||
str r0, [sp, #0x14]
|
||||
ldr r0, [r4, #0x40c]
|
||||
and r0, r0, #0xff
|
||||
bl sub_02028F88
|
||||
ldr r0, _0238AB54 ; =0x0238ADA0
|
||||
ldr r1, _0238AB58 ; =0x0238AD0C
|
||||
ldr r0, [r0]
|
||||
ldr r2, [r4, #0x404]
|
||||
ldr r0, [r1, r0, lsl #2]
|
||||
add r0, r2, r0
|
||||
str r0, [r4, #0x404]
|
||||
ldr r0, [sp, #0x14]
|
||||
cmp r0, #0x88
|
||||
ble _0238AA48
|
||||
ldr r0, [r4, #0x40c]
|
||||
mov r2, #0x20
|
||||
add r1, sp, #0x10
|
||||
mov r3, r2
|
||||
and r0, r0, #0xff
|
||||
bl sub_02028EE8
|
||||
ldr r0, [r4, #0x40c]
|
||||
mov r1, #1
|
||||
and r0, r0, #0xff
|
||||
bl sub_0202825C
|
||||
ldr r0, [r4, #0x410]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0x410]
|
||||
b _0238AA48
|
||||
_0238A814:
|
||||
ldr r1, [r4, #0x40c]
|
||||
add r0, r4, #0x400
|
||||
and r1, r1, #0xff
|
||||
bl ov28_0238A140
|
||||
mvn r1, #3
|
||||
mov r0, #0
|
||||
str r1, [sp, #0x10]
|
||||
str r0, [sp, #0x14]
|
||||
ldr r0, [r4, #0x40c]
|
||||
add r1, sp, #0x10
|
||||
and r0, r0, #0xff
|
||||
bl sub_02028F88
|
||||
ldr r0, [r4, #0x410]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0x410]
|
||||
b _0238AA48
|
||||
_0238A854:
|
||||
ldr r0, _0238AB50 ; =0x0238AD80
|
||||
ldr r4, [r0]
|
||||
ldr r0, [r4, #0x24]
|
||||
mov r0, r0, asr #0x10
|
||||
cmp r0, #8
|
||||
blt _0238A87C
|
||||
add r0, r4, #0x20
|
||||
bl ov28_0238A184
|
||||
mov r5, r0
|
||||
b _0238A924
|
||||
_0238A87C:
|
||||
ldr r0, [r4, #0x30]
|
||||
cmp r0, #0
|
||||
beq _0238A8A4
|
||||
cmp r0, #1
|
||||
ldreq r0, _0238AB58 ; =0x0238AD0C
|
||||
ldreq r1, [r4, #0x24]
|
||||
ldreq r0, [r0, r2, lsl #2]
|
||||
addeq r0, r1, r0
|
||||
streq r0, [r4, #0x24]
|
||||
b _0238A924
|
||||
_0238A8A4:
|
||||
mvn r0, #3
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r4, #0x24]
|
||||
add r1, sp, #8
|
||||
mov r0, r0, asr #0x10
|
||||
str r0, [sp, #0xc]
|
||||
ldr r0, [r4, #0x2c]
|
||||
and r0, r0, #0xff
|
||||
bl sub_02028F88
|
||||
ldr r0, _0238AB54 ; =0x0238ADA0
|
||||
ldr r1, _0238AB58 ; =0x0238AD0C
|
||||
ldr r0, [r0]
|
||||
ldr r2, [r4, #0x24]
|
||||
ldr r0, [r1, r0, lsl #2]
|
||||
add r0, r2, r0
|
||||
str r0, [r4, #0x24]
|
||||
ldr r0, [sp, #0xc]
|
||||
cmp r0, #0x88
|
||||
ble _0238A924
|
||||
ldr r0, [r4, #0x2c]
|
||||
mov r2, #0x20
|
||||
add r1, sp, #8
|
||||
mov r3, r2
|
||||
and r0, r0, #0xff
|
||||
bl sub_02028EE8
|
||||
ldr r0, [r4, #0x2c]
|
||||
mov r1, #1
|
||||
and r0, r0, #0xff
|
||||
bl sub_0202825C
|
||||
ldr r0, [r4, #0x30]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0x30]
|
||||
_0238A924:
|
||||
ldr r0, _0238AB50 ; =0x0238AD80
|
||||
ldr r4, [r0]
|
||||
ldr r0, [r4, #0x24]
|
||||
mov r0, r0, asr #0x10
|
||||
cmp r0, #0x60
|
||||
blt _0238AA48
|
||||
ldr r0, [r4, #0x440]
|
||||
mov r0, r0, asr #0x10
|
||||
cmp r0, #0x68
|
||||
blt _0238A960
|
||||
add r0, r4, #0x3c
|
||||
add r0, r0, #0x400
|
||||
bl ov28_0238A184
|
||||
orr r5, r5, r0
|
||||
b _0238AA48
|
||||
_0238A960:
|
||||
ldr r0, [r4, #0x44c]
|
||||
cmp r0, #0
|
||||
beq _0238A980
|
||||
cmp r0, #1
|
||||
beq _0238A9A8
|
||||
cmp r0, #2
|
||||
beq _0238AA2C
|
||||
b _0238AA48
|
||||
_0238A980:
|
||||
add r0, r4, #0x58
|
||||
mov r1, #0x10
|
||||
sub r2, r1, #0x50
|
||||
add r3, r0, #0x800
|
||||
mov r0, #1
|
||||
bl ov28_0238ABD4
|
||||
ldr r0, [r4, #0x44c]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0x44c]
|
||||
b _0238AA48
|
||||
_0238A9A8:
|
||||
mvn r0, #3
|
||||
str r0, [sp]
|
||||
ldr r0, [r4, #0x440]
|
||||
add r1, sp, #0
|
||||
mov r0, r0, asr #0x10
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r4, #0x448]
|
||||
and r0, r0, #0xff
|
||||
bl sub_02028F88
|
||||
ldr r0, _0238AB54 ; =0x0238ADA0
|
||||
ldr r1, _0238AB58 ; =0x0238AD0C
|
||||
ldr r0, [r0]
|
||||
ldr r2, [r4, #0x440]
|
||||
ldr r0, [r1, r0, lsl #2]
|
||||
add r0, r2, r0
|
||||
str r0, [r4, #0x440]
|
||||
ldr r0, [sp, #4]
|
||||
cmp r0, #0xd0
|
||||
ble _0238AA48
|
||||
ldr r0, [r4, #0x448]
|
||||
mov r2, #0x20
|
||||
add r1, sp, #0
|
||||
mov r3, r2
|
||||
and r0, r0, #0xff
|
||||
bl sub_02028EE8
|
||||
ldr r0, [r4, #0x448]
|
||||
mov r1, #1
|
||||
and r0, r0, #0xff
|
||||
bl sub_0202825C
|
||||
ldr r0, [r4, #0x44c]
|
||||
add r0, r0, #1
|
||||
str r0, [r4, #0x44c]
|
||||
b _0238AA48
|
||||
_0238AA2C:
|
||||
ldr r0, _0238AB54 ; =0x0238ADA0
|
||||
ldr r1, _0238AB58 ; =0x0238AD0C
|
||||
ldr r0, [r0]
|
||||
ldr r2, [r4, #0x440]
|
||||
ldr r0, [r1, r0, lsl #2]
|
||||
add r0, r2, r0
|
||||
str r0, [r4, #0x440]
|
||||
_0238AA48:
|
||||
ldr r0, _0238AB50 ; =0x0238AD80
|
||||
ldr r2, [r0]
|
||||
ldrb r0, [r2, #8]
|
||||
cmp r0, #0
|
||||
bne _0238AA78
|
||||
ldr r0, [r2, #0x20]
|
||||
cmp r0, #3
|
||||
blt _0238AA78
|
||||
mov r1, #1
|
||||
mov r0, #2
|
||||
strb r1, [r2, #8]
|
||||
bl ov11_022E6E8C
|
||||
_0238AA78:
|
||||
cmp r5, #0
|
||||
ldreq r0, _0238AB50 ; =0x0238AD80
|
||||
moveq r1, #6
|
||||
ldreq r0, [r0]
|
||||
streq r1, [r0]
|
||||
b _0238AB44
|
||||
_0238AA90:
|
||||
mov r0, #0
|
||||
mov r1, #1
|
||||
bl sub_0202825C
|
||||
mov r0, #1
|
||||
mov r1, r0
|
||||
bl sub_0202825C
|
||||
mov r0, #0
|
||||
bl sub_02025B80
|
||||
mov r0, #0
|
||||
bl ov11_022E6E8C
|
||||
mov r0, #4
|
||||
b _0238AB48
|
||||
_0238AAC0:
|
||||
mvn r0, #3
|
||||
bl ov28_0238AB5C
|
||||
mov r0, #0
|
||||
bl ov11_022E6E8C
|
||||
ldr r0, _0238AB54 ; =0x0238ADA0
|
||||
ldr r0, [r0]
|
||||
cmp r0, #5
|
||||
addls pc, pc, r0, lsl #2
|
||||
b _0238AB2C
|
||||
_0238AAE4: ; jump table
|
||||
b _0238AAFC ; case 0
|
||||
b _0238AB04 ; case 1
|
||||
b _0238AB0C ; case 2
|
||||
b _0238AB14 ; case 3
|
||||
b _0238AB1C ; case 4
|
||||
b _0238AB24 ; case 5
|
||||
_0238AAFC:
|
||||
mov r0, #0
|
||||
b _0238AB30
|
||||
_0238AB04:
|
||||
mov r0, #1
|
||||
b _0238AB30
|
||||
_0238AB0C:
|
||||
mov r0, #2
|
||||
b _0238AB30
|
||||
_0238AB14:
|
||||
mov r0, #3
|
||||
b _0238AB30
|
||||
_0238AB1C:
|
||||
mov r0, #4
|
||||
b _0238AB30
|
||||
_0238AB24:
|
||||
mov r0, #5
|
||||
b _0238AB30
|
||||
_0238AB2C:
|
||||
mvn r0, #0
|
||||
_0238AB30:
|
||||
bl sub_02025B90
|
||||
ldr r0, _0238AB50 ; =0x0238AD80
|
||||
mov r1, #0
|
||||
ldr r0, [r0]
|
||||
str r1, [r0]
|
||||
_0238AB44:
|
||||
mov r0, #1
|
||||
_0238AB48:
|
||||
add sp, sp, #0x18
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
.align 2, 0
|
||||
_0238AB50: .word 0x0238AD80
|
||||
_0238AB54: .word 0x0238ADA0
|
||||
_0238AB58: .word 0x0238AD0C
|
||||
arm_func_end ov28_0238A5CC
|
||||
|
||||
arm_func_start ov28_0238AB5C
|
||||
ov28_0238AB5C: ; 0x0238AB5C
|
||||
|
||||
Reference in New Issue
Block a user