first 4 functions in fldeff
This commit is contained in:
parent
032dd251e6
commit
f02cb667bb
3 changed files with 95 additions and 104 deletions
|
@ -5,114 +5,15 @@
|
||||||
|
|
||||||
.text
|
.text
|
||||||
|
|
||||||
thumb_func_start sub_80F9BCC
|
|
||||||
sub_80F9BCC: @ 80F9BCC
|
|
||||||
push {r4,r5,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
adds r5, r1, 0
|
|
||||||
adds r3, r2, 0
|
|
||||||
lsls r4, 16
|
|
||||||
lsrs r4, 16
|
|
||||||
lsls r5, 16
|
|
||||||
lsrs r5, 16
|
|
||||||
lsls r3, 24
|
|
||||||
lsrs r3, 24
|
|
||||||
ldr r0, =sub_80F9C90
|
|
||||||
adds r1, r4, 0
|
|
||||||
adds r2, r5, 0
|
|
||||||
bl sub_80F9C44
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_80F9BCC
|
|
||||||
|
|
||||||
thumb_func_start sub_80F9BF4
|
|
||||||
sub_80F9BF4: @ 80F9BF4
|
|
||||||
push {r4,r5,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
adds r5, r1, 0
|
|
||||||
adds r3, r2, 0
|
|
||||||
lsls r4, 16
|
|
||||||
lsrs r4, 16
|
|
||||||
lsls r5, 16
|
|
||||||
lsrs r5, 16
|
|
||||||
lsls r3, 24
|
|
||||||
lsrs r3, 24
|
|
||||||
ldr r0, =sub_80F9DFC
|
|
||||||
adds r1, r4, 0
|
|
||||||
adds r2, r5, 0
|
|
||||||
bl sub_80F9C44
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_80F9BF4
|
|
||||||
|
|
||||||
thumb_func_start sub_80F9C1C
|
|
||||||
sub_80F9C1C: @ 80F9C1C
|
|
||||||
push {lr}
|
|
||||||
ldr r0, =sub_80F9C90
|
|
||||||
bl FuncIsActiveTask
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_80F9C1C
|
|
||||||
|
|
||||||
thumb_func_start sub_80F9C30
|
|
||||||
sub_80F9C30: @ 80F9C30
|
|
||||||
push {lr}
|
|
||||||
ldr r0, =sub_80F9DFC
|
|
||||||
bl FuncIsActiveTask
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
pop {r1}
|
|
||||||
bx r1
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_80F9C30
|
|
||||||
|
|
||||||
thumb_func_start sub_80F9C44
|
|
||||||
sub_80F9C44: @ 80F9C44
|
|
||||||
push {r4,r5,lr}
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r4, r1, 16
|
|
||||||
adds r5, r4, 0
|
|
||||||
lsls r3, 24
|
|
||||||
lsrs r3, 24
|
|
||||||
adds r1, r3, 0
|
|
||||||
bl CreateTask
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r0, 24
|
|
||||||
adds r2, r0, 0
|
|
||||||
ldr r1, =gTasks
|
|
||||||
lsls r0, r2, 2
|
|
||||||
adds r0, r2
|
|
||||||
lsls r0, 3
|
|
||||||
adds r1, r0, r1
|
|
||||||
movs r0, 0
|
|
||||||
strh r0, [r1, 0x8]
|
|
||||||
movs r0, 0x10
|
|
||||||
cmp r4, 0
|
|
||||||
beq _080F9C72
|
|
||||||
adds r0, r4, 0
|
|
||||||
_080F9C72:
|
|
||||||
strh r0, [r1, 0xA]
|
|
||||||
movs r0, 0x14
|
|
||||||
cmp r5, 0
|
|
||||||
beq _080F9C7C
|
|
||||||
adds r0, r5, 0
|
|
||||||
_080F9C7C:
|
|
||||||
strh r0, [r1, 0xC]
|
|
||||||
ldr r1, [r1]
|
|
||||||
adds r0, r2, 0
|
|
||||||
bl _call_via_r1
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.pool
|
|
||||||
thumb_func_end sub_80F9C44
|
|
||||||
|
|
||||||
thumb_func_start sub_80F9C90
|
thumb_func_start sub_80F9C90
|
||||||
sub_80F9C90: @ 80F9C90
|
sub_80F9C90: @ 80F9C90
|
||||||
|
|
|
@ -150,6 +150,7 @@ SECTIONS {
|
||||||
asm/script_pokemon_util_80F87D8.o(.text);
|
asm/script_pokemon_util_80F87D8.o(.text);
|
||||||
src/field_poison.o(.text);
|
src/field_poison.o(.text);
|
||||||
src/pokemon_size_record.o(.text);
|
src/pokemon_size_record.o(.text);
|
||||||
|
src/fldeff_80F9BCC.o(.text);
|
||||||
asm/fldeff_80F9BCC.o(.text);
|
asm/fldeff_80F9BCC.o(.text);
|
||||||
src/field_special_scene.o(.text);
|
src/field_special_scene.o(.text);
|
||||||
src/rotating_gate.o(.text);
|
src/rotating_gate.o(.text);
|
||||||
|
|
89
src/fldeff_80F9BCC.c
Normal file
89
src/fldeff_80F9BCC.c
Normal file
|
@ -0,0 +1,89 @@
|
||||||
|
#include "global.h"
|
||||||
|
#include "task.h"
|
||||||
|
|
||||||
|
//
|
||||||
|
void sub_80F9C90(u8);
|
||||||
|
void sub_80F9DFC(u8);
|
||||||
|
void sub_80F9C44(TaskFunc, u16, u16, u8);
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
// TODO: name these functions and arguments
|
||||||
|
void sub_80F9BCC(u16 a0, u16 a1, u8 a2)
|
||||||
|
{
|
||||||
|
sub_80F9C44(sub_80F9C90, a0, a1, a2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80F9BF4(u16 a0, u16 a1, u8 a2)
|
||||||
|
{
|
||||||
|
sub_80F9C44(sub_80F9DFC, a0, a1, a2);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 sub_80F9C1C(void)
|
||||||
|
{
|
||||||
|
return FuncIsActiveTask(sub_80F9C90);
|
||||||
|
}
|
||||||
|
|
||||||
|
bool8 sub_80F9C30(void)
|
||||||
|
{
|
||||||
|
return FuncIsActiveTask(sub_80F9DFC);
|
||||||
|
}
|
||||||
|
|
||||||
|
void sub_80F9C44(void (*a0) (u8), u16 a1, u16 a2, u8 a3)
|
||||||
|
{
|
||||||
|
//
|
||||||
|
u8 tempA, tempB;
|
||||||
|
|
||||||
|
u8 taskId = CreateTask(a1, a3);
|
||||||
|
struct Task *task = &gTasks[taskId];
|
||||||
|
task->data[0] = 0;
|
||||||
|
|
||||||
|
tempA = 16;
|
||||||
|
if (a1 != 0)
|
||||||
|
{
|
||||||
|
tempA = a1;
|
||||||
|
}
|
||||||
|
task->data[1] = tempA;
|
||||||
|
|
||||||
|
tempB = 20;
|
||||||
|
if (a1 != 0)
|
||||||
|
{
|
||||||
|
tempB = a1;
|
||||||
|
}
|
||||||
|
task->data[2] = tempB;
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue