mirror of
https://github.com/Ninjdai1/pokeemerald.git
synced 2024-12-26 03:34:15 +01:00
first 4 functions in fldeff
This commit is contained in:
parent
032dd251e6
commit
f02cb667bb
@ -5,114 +5,15 @@
|
||||
|
||||
.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
|
||||
sub_80F9C90: @ 80F9C90
|
||||
|
@ -150,6 +150,7 @@ SECTIONS {
|
||||
asm/script_pokemon_util_80F87D8.o(.text);
|
||||
src/field_poison.o(.text);
|
||||
src/pokemon_size_record.o(.text);
|
||||
src/fldeff_80F9BCC.o(.text);
|
||||
asm/fldeff_80F9BCC.o(.text);
|
||||
src/field_special_scene.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 New Issue
Block a user