manager27 OK

This commit is contained in:
theo3 2020-06-21 01:40:18 -07:00
parent beded558bf
commit 8f0c917ab5
21 changed files with 120 additions and 185 deletions

View File

@ -499,7 +499,7 @@ _0801981A:
b _0801982E b _0801982E
_08019824: _08019824:
ldrh r0, [r4] ldrh r0, [r4]
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
bl sub_080533CC bl sub_080533CC
_0801982E: _0801982E:
adds r4, #0xc adds r4, #0xc

View File

@ -41,7 +41,7 @@ _0801C398:
lsrs r0, r0, #1 lsrs r0, r0, #1
strb r0, [r5, #4] strb r0, [r5, #4]
movs r0, #0xc movs r0, #0xc
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
movs r0, #0x10 movs r0, #0x10
bl sub_0801D7EC bl sub_0801D7EC
ldr r4, _0801C478 @ =gUnk_02034CB0 ldr r4, _0801C478 @ =gUnk_02034CB0

View File

@ -5,8 +5,8 @@
.text .text
thumb_func_start sub_0801D714 thumb_func_start LoadPalettesByPaletteGroupIndex
sub_0801D714: @ 0x0801D714 LoadPalettesByPaletteGroupIndex: @ 0x0801D714
push {r4, lr} push {r4, lr}
ldr r1, _0801D748 @ =gUnk_080FF850 ldr r1, _0801D748 @ =gUnk_080FF850
lsls r0, r0, #2 lsls r0, r0, #2

View File

@ -158,7 +158,7 @@ _0804ABA4:
ldr r0, _0804AC0C @ =gUnk_080D4138 ldr r0, _0804AC0C @ =gUnk_080D4138
adds r4, r4, r0 adds r4, r4, r0
ldrb r0, [r4] ldrb r0, [r4]
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
ldrb r0, [r4, #1] ldrb r0, [r4, #1]
bl sub_0801D7EC bl sub_0801D7EC
ldr r0, _0804AC10 @ =gUnk_02017700 ldr r0, _0804AC10 @ =gUnk_02017700

View File

@ -2378,7 +2378,7 @@ sub_0804C918: @ 0x0804C918
adds r2, r5, #0 adds r2, r5, #0
bl sub_08000E96 bl sub_08000E96
movs r0, #0x19 movs r0, #0x19
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
pop {r4, r5, pc} pop {r4, r5, pc}
.align 2, 0 .align 2, 0
_0804C940: .4byte gUnk_086D4460 _0804C940: .4byte gUnk_086D4460

View File

@ -678,7 +678,7 @@ _08050546:
movs r0, #5 movs r0, #5
bl sub_080503A8 bl sub_080503A8
movs r0, #9 movs r0, #9
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
movs r4, #0 movs r4, #0
_08050586: _08050586:
movs r0, #0x48 movs r0, #0x48
@ -3990,7 +3990,7 @@ sub_08052010: @ 0x08052010
bl sub_0801D630 bl sub_0801D630
bl sub_080A4D34 bl sub_080A4D34
movs r0, #0xa movs r0, #0xa
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
movs r0, #0 movs r0, #0
movs r1, #0 movs r1, #0
bl sub_0801D79C bl sub_0801D79C

View File

@ -1594,9 +1594,9 @@ sub_08053320: @ 0x08053320
_08053362: _08053362:
bl sub_08053390 bl sub_08053390
movs r0, #0xb movs r0, #0xb
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
movs r0, #0xc movs r0, #0xc
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
movs r0, #0 movs r0, #0
movs r1, #0 movs r1, #0
bl sub_0801D79C bl sub_0801D79C
@ -2215,7 +2215,7 @@ sub_08053800: @ 0x08053800
strb r2, [r1, #7] strb r2, [r1, #7]
adds r0, r5, #0 adds r0, r5, #0
adds r0, #0x8a adds r0, #0x8a
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
adds r0, r5, #0 adds r0, r5, #0
adds r0, #0x3a adds r0, #0x3a
bl sub_0801D7EC bl sub_0801D7EC

View File

@ -1058,7 +1058,7 @@ sub_0805EE88: @ 0x0805EE88
ands r1, r0 ands r1, r0
lsrs r0, r1, #2 lsrs r0, r1, #2
adds r0, #0x2f adds r0, #0x2f
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
_0805EEAC: _0805EEAC:
pop {pc} pop {pc}
.align 2, 0 .align 2, 0

View File

@ -268,9 +268,9 @@ _080A365E:
movs r0, #0 movs r0, #0
bl sub_0801DA90 bl sub_0801DA90
movs r0, #0xb movs r0, #0xb
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
movs r0, #0xc movs r0, #0xc
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
movs r0, #0 movs r0, #0
movs r1, #0 movs r1, #0
bl sub_0801D79C bl sub_0801D79C
@ -348,7 +348,7 @@ sub_080A36F8: @ 0x080A36F8
ldr r0, _080A375C @ =gUnk_08127CEC ldr r0, _080A375C @ =gUnk_08127CEC
adds r4, r4, r0 adds r4, r4, r0
ldrb r0, [r4] ldrb r0, [r4]
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
ldrb r0, [r4, #1] ldrb r0, [r4, #1]
bl sub_0801D7EC bl sub_0801D7EC
ldr r0, _080A3760 @ =gUnk_02021F30 ldr r0, _080A3760 @ =gUnk_02021F30
@ -703,7 +703,7 @@ _080A39C8:
bl sub_080A3210 bl sub_080A3210
bl sub_080A4D34 bl sub_080A4D34
movs r0, #0xa movs r0, #0xa
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
movs r0, #0 movs r0, #0
movs r1, #0 movs r1, #0
bl sub_0801D79C bl sub_0801D79C

View File

@ -17,7 +17,7 @@ sub_080A3BD0: @ 0x080A3BD0
strb r1, [r0] strb r1, [r0]
bl sub_080A4D34 bl sub_080A4D34
movs r0, #0xcb movs r0, #0xcb
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
movs r0, #0x75 movs r0, #0x75
bl sub_0801D7EC bl sub_0801D7EC
bl sub_080A4494 bl sub_080A4494
@ -2242,7 +2242,7 @@ sub_080A4D34: @ 0x080A4D34
push {lr} push {lr}
bl sub_08053320 bl sub_08053320
movs r0, #0xb5 movs r0, #0xb5
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
ldr r1, _080A4D50 @ =gUnk_02002A40 ldr r1, _080A4D50 @ =gUnk_02002A40
adds r2, r1, #0 adds r2, r1, #0
adds r2, #0xaa adds r2, #0xaa
@ -2371,7 +2371,7 @@ sub_080A4DB8: @ 0x080A4DB8
ldrb r0, [r4] ldrb r0, [r4]
cmp r0, #0 cmp r0, #0
beq _080A4E4A beq _080A4E4A
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
_080A4E4A: _080A4E4A:
ldrb r0, [r4, #1] ldrb r0, [r4, #1]
cmp r0, #0 cmp r0, #0

View File

@ -2344,7 +2344,7 @@ sub_080A67C4: @ 0x080A67C4
push {r4, r5, r6, r7, lr} push {r4, r5, r6, r7, lr}
adds r4, r0, #0 adds r4, r0, #0
adds r0, #0xba adds r0, #0xba
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
adds r5, r4, #0 adds r5, r4, #0
adds r5, #0x5f adds r5, #0x5f
cmp r4, #0xb cmp r4, #0xb

View File

@ -547,7 +547,7 @@ sub_08059994: @ 0x08059994
cmp r0, #0 cmp r0, #0
beq _080599AE beq _080599AE
movs r0, #0x5b movs r0, #0x5b
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
ldr r0, _080599B0 @ =gArea ldr r0, _080599B0 @ =gArea
ldr r1, _080599B4 @ =0x00000864 ldr r1, _080599B4 @ =0x00000864
adds r0, r0, r1 adds r0, r0, r1

View File

@ -5,158 +5,3 @@
.syntax unified .syntax unified
.text .text
thumb_func_start sub_0805C81C
sub_0805C81C: @ 0x0805C81C
push {r4, lr}
adds r4, r0, #0
ldr r1, _0805C854 @ =gUnk_08108D10
ldrb r0, [r4, #0xc]
lsls r0, r0, #2
adds r0, r0, r1
ldr r1, [r0]
adds r0, r4, #0
bl _call_via_r1
movs r0, #0xc0
lsls r0, r0, #2
ldrb r1, [r4, #0xa]
adds r1, #0x67
bl CheckLocalFlagByOffset
cmp r0, #0
beq _0805C85C
ldr r0, _0805C858 @ =gUnk_030010A0
adds r0, #0xac
movs r1, #1
ldrb r4, [r4, #0xa]
lsls r1, r4
ldrh r2, [r0]
orrs r1, r2
strh r1, [r0]
b _0805C86C
.align 2, 0
_0805C854: .4byte gUnk_08108D10
_0805C858: .4byte gUnk_030010A0
_0805C85C:
ldr r2, _0805C870 @ =gUnk_030010A0
adds r2, #0xac
movs r1, #1
ldrb r4, [r4, #0xa]
lsls r1, r4
ldrh r0, [r2]
bics r0, r1
strh r0, [r2]
_0805C86C:
pop {r4, pc}
.align 2, 0
_0805C870: .4byte gUnk_030010A0
thumb_func_start sub_0805C874
sub_0805C874: @ 0x0805C874
push {r4, lr}
adds r4, r0, #0
bl sub_0805C920
cmp r0, #0
beq _0805C884
movs r0, #2
b _0805C886
_0805C884:
movs r0, #1
_0805C886:
strb r0, [r4, #0xc]
movs r1, #0
movs r0, #1
strb r0, [r4, #0xe]
strb r1, [r4, #0xf]
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805C894
sub_0805C894: @ 0x0805C894
push {r4, lr}
adds r4, r0, #0
bl sub_0805C920
cmp r0, #0
beq _0805C8B0
movs r0, #2
strb r0, [r4, #0xc]
movs r0, #1
strb r0, [r4, #0xe]
movs r0, #0x8d
lsls r0, r0, #1
bl PlaySFX
_0805C8B0:
pop {r4, pc}
.align 2, 0
thumb_func_start sub_0805C8B4
sub_0805C8B4: @ 0x0805C8B4
push {r4, lr}
adds r4, r0, #0
ldrb r0, [r4, #0xe]
subs r0, #1
strb r0, [r4, #0xe]
movs r2, #0xff
lsls r0, r0, #0x18
lsrs r1, r0, #0x18
cmp r1, #0
bne _0805C8F4
movs r0, #0x14
strb r0, [r4, #0xe]
ldrb r0, [r4, #0xf]
adds r0, #1
strb r0, [r4, #0xf]
ands r0, r2
cmp r0, #5
bls _0805C8DA
strb r1, [r4, #0xf]
_0805C8DA:
ldr r1, _0805C904 @ =gUnk_08108D20
ldrb r0, [r4, #0xf]
adds r0, r0, r1
ldrb r0, [r0]
bl sub_0801D714
ldrb r0, [r4, #0xf]
cmp r0, #0
bne _0805C8F4
movs r0, #0x8d
lsls r0, r0, #1
bl PlaySFX
_0805C8F4:
adds r0, r4, #0
bl sub_0805C920
cmp r0, #0
bne _0805C902
movs r0, #3
strb r0, [r4, #0xc]
_0805C902:
pop {r4, pc}
.align 2, 0
_0805C904: .4byte gUnk_08108D20
thumb_func_start sub_0805C908
sub_0805C908: @ 0x0805C908
push {lr}
adds r1, r0, #0
ldrb r0, [r1, #0xf]
cmp r0, #0
bne _0805C918
movs r0, #1
strb r0, [r1, #0xc]
b _0805C91E
_0805C918:
adds r0, r1, #0
bl sub_0805C8B4
_0805C91E:
pop {pc}
thumb_func_start sub_0805C920
sub_0805C920: @ 0x0805C920
push {lr}
movs r2, #0xc0
lsls r2, r2, #2
ldrb r1, [r0, #0xa]
adds r1, #0x67
adds r0, r2, #0
bl CheckLocalFlagByOffset
pop {pc}
.align 2, 0

View File

@ -85,7 +85,7 @@ _08057DD6:
ldr r0, _08057E00 @ =gUnk_081081E4 ldr r0, _08057E00 @ =gUnk_081081E4
adds r0, r5, r0 adds r0, r5, r0
ldrb r0, [r0] ldrb r0, [r0]
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
b _08057E24 b _08057E24
.align 2, 0 .align 2, 0
_08057DF8: .4byte gUnk_02034490 _08057DF8: .4byte gUnk_02034490
@ -169,7 +169,7 @@ sub_08057E7C: @ 0x08057E7C
ldr r0, _08057EB8 @ =gUnk_081081E4 ldr r0, _08057EB8 @ =gUnk_081081E4
adds r0, r4, r0 adds r0, r4, r0
ldrb r0, [r0] ldrb r0, [r0]
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
lsls r1, r4, #6 lsls r1, r4, #6
ldr r0, _08057EBC @ =gUnk_081080A4 ldr r0, _08057EBC @ =gUnk_081080A4
adds r1, r1, r0 adds r1, r1, r0

View File

@ -185,7 +185,7 @@ sub_08058324: @ 0x08058324
str r0, [r1] str r0, [r1]
adds r0, r4, #0 adds r0, r4, #0
adds r0, #0x86 adds r0, #0x86
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
adds r0, r4, #0 adds r0, r4, #0
adds r0, #0x36 adds r0, #0x36
bl sub_0801D7EC bl sub_0801D7EC

View File

@ -647,7 +647,7 @@ _08058D30: .4byte gRoomControls
sub_08058D34: @ 0x08058D34 sub_08058D34: @ 0x08058D34
push {r4, lr} push {r4, lr}
movs r0, #0x28 movs r0, #0x28
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
ldr r0, _08058DAC @ =gUnk_02017700 ldr r0, _08058DAC @ =gUnk_02017700
movs r2, #0x90 movs r2, #0x90
lsls r2, r2, #2 lsls r2, r2, #2

View File

@ -34,7 +34,7 @@ sub_080AD3F4: @ 0x080AD3F4
movs r1, #1 movs r1, #1
_080AD42C: _080AD42C:
adds r0, r1, #0 adds r0, r1, #0
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
ldr r0, _080AD454 @ =gScreen ldr r0, _080AD454 @ =gScreen
ldrh r1, [r0] ldrh r1, [r0]
movs r3, #0x80 movs r3, #0x80

View File

@ -57,7 +57,7 @@ _080AD49C:
movs r1, #3 movs r1, #3
_080AD4D2: _080AD4D2:
adds r0, r1, #0 adds r0, r1, #0
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
ldrb r0, [r4, #7] ldrb r0, [r4, #7]
cmp r0, #0 cmp r0, #0
bne _080AD524 bne _080AD524

View File

@ -21,7 +21,7 @@ sub_080AD89C: @ 0x080AD89C
strb r0, [r4, #0x10] strb r0, [r4, #0x10]
ldrb r0, [r4, #0x10] ldrb r0, [r4, #0x10]
adds r0, #5 adds r0, #5
bl sub_0801D714 bl LoadPalettesByPaletteGroupIndex
_080AD8BC: _080AD8BC:
ldrb r1, [r4, #0x12] ldrb r1, [r4, #0x12]
movs r0, #0x1f movs r0, #0x1f

View File

@ -499,7 +499,7 @@ SECTIONS {
asm/manager24.o(.text); asm/manager24.o(.text);
asm/manager25.o(.text); asm/manager25.o(.text);
asm/manager26.o(.text); asm/manager26.o(.text);
asm/manager27.o(.text); src/manager27.o(.text);
asm/manager28.o(.text); asm/manager28.o(.text);
asm/manager29.o(.text); asm/manager29.o(.text);
asm/manager2A.o(.text); asm/manager2A.o(.text);

90
src/manager27.c Normal file
View File

@ -0,0 +1,90 @@
#include "global.h"
#include "entity.h"
#include "flags.h"
#include "functions.h"
typedef struct {
u8 filler[0xAC];
u16 unk;
} struct_030010A0;
extern u32 sub_0805C920(Entity*);
extern void LoadPalettesByPaletteGroupIndex(u32);
extern void (*const gUnk_08108D10[])(Entity*);
extern struct_030010A0 gUnk_030010A0;
extern u8 gUnk_08108D20[];
void Manager27(Entity *this)
{
gUnk_08108D10[this->action](this);
if (CheckLocalFlagByOffset(0x300, this->entityType.form + 0x67)) {
gUnk_030010A0.unk |= (1 << (this->entityType).form);
}
else {
gUnk_030010A0.unk &= ~(1 << (this->entityType).form);
}
}
void sub_0805C874(Entity *this)
{
u8 bVar1;
if (sub_0805C920(this)) {
this->action = 2;
}
else {
this->action = 1;
}
this->actionDelay = 1;
this->field_0xf = 0;
}
void sub_0805C894(Entity *this)
{
if (sub_0805C920(this)) {
this->action = 2;
this->actionDelay = 1;
PlaySFX(0x11a);
}
}
void sub_0805C8B4(Entity *this)
{
u8 bVar1;
int iVar2;
if (--this->actionDelay == 0) {
this->actionDelay = 0x14;
if (5 < ++this->field_0xf) {
this->field_0xf = 0;
}
LoadPalettesByPaletteGroupIndex(gUnk_08108D20[this->field_0xf]);
if (this->field_0xf == 0) {
PlaySFX(0x11a);
}
}
if (sub_0805C920(this) == 0) {
this->action = 3;
}
}
void sub_0805C908(Entity *this)
{
if (this->field_0xf == 0) {
this->action = 1;
}
else {
sub_0805C8B4(this);
}
}
u32 sub_0805C920(Entity *this)
{
return CheckLocalFlagByOffset(0x300, (this->entityType).form + 0x67);
}