Skip to content

Commit 995a7f2

Browse files
committed
Enemy Unk progress
1 parent 4bf2a9f commit 995a7f2

2 files changed

Lines changed: 25 additions & 225 deletions

File tree

asm/enemy_unknown_code.s

Lines changed: 0 additions & 194 deletions
Original file line numberDiff line numberDiff line change
@@ -6,202 +6,8 @@
66
.arm
77

88
.if 0
9-
thumb_func_start sub_805CE14
10-
sub_805CE14: @ 0x0805CE14
11-
push {r4, r5, r6, r7, lr}
12-
mov r7, sl
13-
mov r6, sb
14-
mov r5, r8
15-
push {r5, r6, r7}
16-
sub sp, #8
17-
adds r6, r0, #0
18-
mov r8, r1
19-
mov sl, r3
20-
movs r7, #0
21-
ldr r0, [r6]
22-
asrs r5, r0, #8
23-
ldr r0, [r6, #4]
24-
asrs r4, r0, #8
25-
cmp r2, #0
26-
beq _0805CE40
27-
ldrh r0, [r2]
28-
lsls r0, r0, #8
29-
adds r5, r5, r0
30-
ldrh r0, [r2, #2]
31-
lsls r0, r0, #8
32-
adds r4, r4, r0
33-
_0805CE40:
34-
str r7, [sp]
35-
ldr r0, _0805CEB8 @ =sub_805217C
36-
mov sb, r0
37-
str r0, [sp, #4]
38-
adds r0, r4, #0
39-
adds r1, r5, #0
40-
movs r2, #1
41-
movs r3, #8
42-
rsbs r3, r3, #0
43-
bl sub_8052394
44-
lsls r0, r0, #0x18
45-
lsrs r7, r0, #0x18
46-
mov r1, sl
47-
movs r0, #0
48-
ldrsb r0, [r1, r0]
49-
cmp r0, #1
50-
bne _0805CE8E
51-
lsls r0, r7, #0x18
52-
asrs r0, r0, #0x18
53-
movs r1, #1
54-
rsbs r1, r1, #0
55-
cmp r0, r1
56-
bne _0805CE8E
57-
adds r0, r4, #1
58-
movs r1, #0
59-
str r1, [sp]
60-
mov r2, sb
61-
str r2, [sp, #4]
62-
adds r1, r5, #0
63-
movs r2, #1
64-
movs r3, #8
65-
rsbs r3, r3, #0
66-
bl sub_8052394
67-
lsls r0, r0, #0x18
68-
asrs r0, r0, #0x18
69-
cmp r0, #1
70-
beq _0805CEA8
71-
_0805CE8E:
72-
mov r0, sl
73-
strb r7, [r0]
74-
lsls r0, r7, #0x18
75-
asrs r1, r0, #0x10
76-
ldr r0, [r6, #4]
77-
subs r0, r0, r1
78-
str r0, [r6, #4]
79-
mov r2, r8
80-
cmp r2, #0
81-
beq _0805CEA8
82-
ldr r0, [r2, #4]
83-
subs r0, r0, r1
84-
str r0, [r2, #4]
85-
_0805CEA8:
86-
add sp, #8
87-
pop {r3, r4, r5}
88-
mov r8, r3
89-
mov sb, r4
90-
mov sl, r5
91-
pop {r4, r5, r6, r7}
92-
pop {r0}
93-
bx r0
94-
.align 2, 0
95-
_0805CEB8: .4byte sub_805217C
969
.endif
9710

98-
thumb_func_start sub_805CEBC
99-
sub_805CEBC: @ 0x0805CEBC
100-
push {r4, r5, r6, r7, lr}
101-
mov r7, sb
102-
mov r6, r8
103-
push {r6, r7}
104-
sub sp, #4
105-
mov r8, r0
106-
mov sb, r1
107-
adds r4, r2, #0
108-
adds r5, r3, #0
109-
ldr r6, [sp, #0x20]
110-
ldr r7, [sp, #0x24]
111-
lsls r4, r4, #0x10
112-
lsrs r4, r4, #0x10
113-
lsls r5, r5, #0x10
114-
lsrs r5, r5, #0x10
115-
lsls r6, r6, #0x18
116-
lsrs r6, r6, #0x18
117-
ldr r0, _0805CF2C @ =Task_40_805C198
118-
ldr r2, _0805CF30 @ =0x00004040
119-
ldr r1, _0805CF34 @ =TaskDestructor_805D09C
120-
str r1, [sp]
121-
movs r1, #0x40
122-
movs r3, #0
123-
bl TaskCreate
124-
ldrh r0, [r0, #6]
125-
movs r1, #0xc0
126-
lsls r1, r1, #0x12
127-
adds r0, r0, r1
128-
movs r2, #0
129-
movs r1, #0x3c
130-
strh r1, [r0, #0xa]
131-
mov r1, r8
132-
str r1, [r0, #0xc]
133-
mov r1, sb
134-
str r1, [r0, #0x10]
135-
strh r4, [r0, #6]
136-
strh r5, [r0, #8]
137-
str r7, [r0, #0x14]
138-
strb r6, [r0, #4]
139-
strb r2, [r0, #5]
140-
bl sub_805C138
141-
cmp r6, #0
142-
bne _0805CF1C
143-
movs r0, #0x8a @ SE_POOF
144-
bl m4aSongNumStart
145-
_0805CF1C:
146-
add sp, #4
147-
pop {r3, r4}
148-
mov r8, r3
149-
mov sb, r4
150-
pop {r4, r5, r6, r7}
151-
pop {r0}
152-
bx r0
153-
.align 2, 0
154-
_0805CF2C: .4byte Task_40_805C198
155-
_0805CF30: .4byte 0x00004040
156-
_0805CF34: .4byte TaskDestructor_805D09C
157-
158-
thumb_func_start sub_805CF38
159-
sub_805CF38: @ 0x0805CF38
160-
push {r4, r5, r6, r7, lr}
161-
sub sp, #4
162-
adds r6, r0, #0
163-
adds r7, r1, #0
164-
lsls r2, r2, #0x10
165-
lsrs r5, r2, #0x10
166-
lsls r3, r3, #0x10
167-
lsrs r4, r3, #0x10
168-
ldr r0, [sp, #0x18]
169-
cmp r0, #0
170-
beq _0805CF76
171-
ldr r0, _0805CF80 @ =Task_14_805C03C
172-
ldr r2, _0805CF84 @ =0x00004040
173-
ldr r1, _0805CF88 @ =TaskDestructor_805C03C
174-
str r1, [sp]
175-
movs r1, #0x14
176-
movs r3, #0
177-
bl TaskCreate
178-
ldrh r0, [r0, #6]
179-
movs r1, #0xc0
180-
lsls r1, r1, #0x12
181-
adds r0, r0, r1
182-
movs r1, #0
183-
strb r1, [r0]
184-
ldr r1, [sp, #0x18]
185-
str r1, [r0, #0x10]
186-
str r6, [r0, #8]
187-
str r7, [r0, #0xc]
188-
strh r5, [r0, #2]
189-
strh r4, [r0, #4]
190-
_0805CF76:
191-
add sp, #4
192-
pop {r4, r5, r6, r7}
193-
pop {r0}
194-
bx r0
195-
.align 2, 0
196-
_0805CF80: .4byte Task_14_805C03C
197-
_0805CF84: .4byte 0x00004040
198-
_0805CF88: .4byte TaskDestructor_805C03C
199-
200-
thumb_func_start TaskDestructor_805C03C
201-
TaskDestructor_805C03C:
202-
bx lr
203-
.align 2 , 0
204-
20511
thumb_func_start sub_805CF90
20612
sub_805CF90: @ 0x0805CF90
20713
push {r4, r5, lr}

src/game/enemies/enemy_unknown_code.c

Lines changed: 25 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -710,45 +710,39 @@ void sub_805CE14(Vec2_32 *qVal, Vec2_32 *param1, u16 region[2], s8 *param3)
710710
}
711711
}
712712

713-
#if 0
714-
void sub_805CEBC(s32 arg0, s32 arg1, u16 arg2, u16 arg3, s32 arg4, s32 arg5) {
715-
u16 temp_r0;
716-
u8 temp_r6;
717-
718-
temp_r6 = (u8) arg4;
719-
temp_r0 = TaskCreate(Task_40_805C198, 0x40U, 0x4040U, 0U, TaskDestructor_805D09C)->data;
720-
temp_r0->unkA = 0x3C;
721-
temp_r0->unkC = arg0;
722-
temp_r0->unk10 = arg1;
723-
temp_r0->unk6 = arg2;
724-
temp_r0->unk8 = arg3;
725-
temp_r0->unk14 = arg5;
726-
temp_r0->unk4 = temp_r6;
727-
temp_r0->unk5 = 0;
728-
sub_805C138();
729-
if (temp_r6 == 0) {
713+
void sub_805CEBC(s32 qWorldX, s32 qWorldY, u16 regionX, u16 regionY, u8 arg4, Player *p)
714+
{
715+
EUC_Strc40 *strc = TASK_DATA(TaskCreate(Task_40_805C198, sizeof(EUC_Strc40), 0x4040U, 0U, TaskDestructor_805D09C));
716+
strc->unkA = 60;
717+
strc->qWorldX = qWorldX;
718+
strc->qWorldY = qWorldY;
719+
strc->regionX = regionX;
720+
strc->regionY = regionY;
721+
strc->p = p;
722+
strc->unk4 = arg4;
723+
strc->unk5 = 0;
724+
sub_805C138(strc);
725+
if (arg4 == 0) {
730726
m4aSongNumStart(SE_POOF);
731727
}
732728
}
733729

734-
static inline void sub_805CF38(s32 arg0, s32 arg1, u16 arg2, u16 arg3, s32 arg4) {
735-
u16 temp_r0;
736-
737-
if (arg4 != 0) {
738-
temp_r0 = TaskCreate(Task_14_805C03C, 0x14U, 0x4040U, 0U, TaskDestructor_805C03C)->data;
739-
temp_r0->unk0 = 0;
740-
temp_r0->unk10 = arg4;
741-
temp_r0->unk8 = arg0;
742-
temp_r0->unkC = arg1;
743-
temp_r0->unk2 = arg2;
744-
temp_r0->unk4 = arg3;
730+
void sub_805CF38(s32 qWorldX, s32 qWorldY, u16 regionX, u16 regionY, Player *p)
731+
{
732+
if (p != 0) {
733+
EUC_Strc14 *strc14 = TASK_DATA(TaskCreate(Task_14_805C03C, sizeof(EUC_Strc14), 0x4040U, 0U, TaskDestructor_805C03C));
734+
strc14->unk0 = 0;
735+
strc14->p = p;
736+
strc14->qWorldX = qWorldX;
737+
strc14->qWorldY = qWorldY;
738+
strc14->regionX = regionX;
739+
strc14->regionY = regionY;
745740
}
746741
}
747742

748-
void TaskDestructor_805C03C(Task *arg0) {
749-
750-
}
743+
void TaskDestructor_805C03C(Task *arg0) { }
751744

745+
#if 0
752746
s32 sub_805CF90(s16 arg0, s16 arg1, s16 arg2, s32 arg3) {
753747
s32 temp_r4;
754748

0 commit comments

Comments
 (0)