mirror of
https://github.com/pret/pmd-red.git
synced 2026-04-24 15:07:09 -05:00
through sub_80063D8
This commit is contained in:
parent
91c6c24400
commit
8bff047871
123
asm/text.s
123
asm/text.s
|
|
@ -5,129 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start xxx_update_some_bg_tiles
|
||||
xxx_update_some_bg_tiles:
|
||||
push {r4,r5,lr}
|
||||
adds r1, r0, 0
|
||||
ldr r0, _08006360
|
||||
ldr r5, [r0]
|
||||
ldr r4, _08006364
|
||||
str r1, [r0]
|
||||
cmp r1, 0
|
||||
beq _08006354
|
||||
cmp r1, 0x2
|
||||
bne _0800636C
|
||||
_08006354:
|
||||
movs r0, 0x2
|
||||
bl sub_800CDA8
|
||||
ldr r2, _08006368
|
||||
b _08006374
|
||||
.align 2, 0
|
||||
_08006360: .4byte gUnknown_20274B0
|
||||
_08006364: .4byte 0x06004f40
|
||||
_08006368: .4byte gUnknown_80B87C4
|
||||
_0800636C:
|
||||
movs r0, 0x1
|
||||
bl sub_800CDA8
|
||||
ldr r2, _080063A4
|
||||
_08006374:
|
||||
ldr r1, _080063A8
|
||||
ldr r0, _080063AC
|
||||
str r0, [r1]
|
||||
ldm r2!, {r0}
|
||||
stm r4!, {r0}
|
||||
ldm r2!, {r0}
|
||||
stm r4!, {r0}
|
||||
ldm r2!, {r0}
|
||||
stm r4!, {r0}
|
||||
ldm r2!, {r0}
|
||||
stm r4!, {r0}
|
||||
ldm r2!, {r0}
|
||||
stm r4!, {r0}
|
||||
ldm r2!, {r0}
|
||||
stm r4!, {r0}
|
||||
ldm r2!, {r0}
|
||||
stm r4!, {r0}
|
||||
ldr r0, [r2]
|
||||
str r0, [r4]
|
||||
adds r0, r5, 0
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080063A4: .4byte gUnknown_80B87E4
|
||||
_080063A8: .4byte gUnknown_202B030
|
||||
_080063AC: .4byte 0x88888888
|
||||
thumb_func_end xxx_update_some_bg_tiles
|
||||
|
||||
thumb_func_start sub_80063B0
|
||||
sub_80063B0:
|
||||
ldr r0, _080063B8
|
||||
ldr r0, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080063B8: .4byte gUnknown_20274B0
|
||||
thumb_func_end sub_80063B0
|
||||
|
||||
thumb_func_start sub_80063BC
|
||||
sub_80063BC:
|
||||
ldr r1, _080063C8
|
||||
ldrb r2, [r1]
|
||||
strb r0, [r1]
|
||||
adds r0, r2, 0
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080063C8: .4byte gUnknown_202B034
|
||||
thumb_func_end sub_80063BC
|
||||
|
||||
thumb_func_start sub_80063CC
|
||||
sub_80063CC:
|
||||
ldr r1, _080063D4
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_080063D4: .4byte gUnknown_20274AC
|
||||
thumb_func_end sub_80063CC
|
||||
|
||||
thumb_func_start sub_80063D8
|
||||
sub_80063D8:
|
||||
push {lr}
|
||||
adds r1, r0, 0
|
||||
cmp r1, 0
|
||||
bne _080063F0
|
||||
ldr r0, _080063E8
|
||||
ldr r0, [r0]
|
||||
ldr r2, _080063EC
|
||||
b _08006410
|
||||
.align 2, 0
|
||||
_080063E8: .4byte gUnknown_20274B0
|
||||
_080063EC: .4byte 0x88888888
|
||||
_080063F0:
|
||||
movs r0, 0xF
|
||||
ands r0, r1
|
||||
lsls r2, r0, 4
|
||||
orrs r2, r0
|
||||
lsls r1, r0, 8
|
||||
orrs r2, r1
|
||||
lsls r1, r0, 12
|
||||
orrs r2, r1
|
||||
lsls r1, r0, 16
|
||||
orrs r2, r1
|
||||
lsls r1, r0, 20
|
||||
orrs r2, r1
|
||||
lsls r1, r0, 24
|
||||
orrs r2, r1
|
||||
lsls r0, 28
|
||||
orrs r2, r0
|
||||
_08006410:
|
||||
ldr r0, _08006418
|
||||
str r2, [r0]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08006418: .4byte gUnknown_202B030
|
||||
thumb_func_end sub_80063D8
|
||||
|
||||
thumb_func_start sub_800641C
|
||||
sub_800641C:
|
||||
push {lr}
|
||||
|
|
|
|||
6
include/code_800B540.h
Normal file
6
include/code_800B540.h
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#ifndef GUARD_code_800B540_H
|
||||
#define GUARD_code_800B540_H
|
||||
|
||||
void sub_800CDA8(int a0);
|
||||
|
||||
#endif //GUARD_code_800B540_H
|
||||
72
src/text.c
72
src/text.c
|
|
@ -6,6 +6,7 @@
|
|||
#include "global.h"
|
||||
#include "file_system.h"
|
||||
#include "code_800558C.h"
|
||||
#include "code_800B540.h"
|
||||
|
||||
struct UnkTextStruct1 {
|
||||
u8 fill00[4];
|
||||
|
|
@ -21,6 +22,7 @@ EWRAM_DATA u8 *gUnknown_2027490[2];
|
|||
EWRAM_DATA u16 gUnknown_2027498;
|
||||
EWRAM_DATA u8 gUnknown_20274A5;
|
||||
EWRAM_DATA u32 gUnknown_20274AC;
|
||||
EWRAM_DATA vu32 gUnknown_20274B0;
|
||||
EWRAM_DATA struct OpenedFile *gUnknown_202AFB4[2];
|
||||
EWRAM_DATA u32 gUnknown_202B020;
|
||||
EWRAM_DATA u32 gUnknown_202B024;
|
||||
|
|
@ -29,11 +31,13 @@ EWRAM_DATA u32 gUnknown_202B030;
|
|||
EWRAM_DATA u8 gUnknown_202B034;
|
||||
EWRAM_DATA u16 gUnknown_202B038[2][32][32];
|
||||
|
||||
void xxx_update_some_bg_tiles(int a0);
|
||||
u32 xxx_update_some_bg_tiles(u32 a0);
|
||||
|
||||
extern const char gUnknown_80B87B4[];
|
||||
extern const char gUnknown_80B87BC[];
|
||||
extern const struct FileArchive gUnknown_8300500;
|
||||
extern const u32 gUnknown_80B87C4[8];
|
||||
extern const u32 gUnknown_80B87E4[8];
|
||||
|
||||
void sub_8006218(void)
|
||||
{
|
||||
|
|
@ -73,3 +77,69 @@ void sub_8006218(void)
|
|||
gUnknown_202B024 = 20;
|
||||
xxx_update_some_bg_tiles(0);
|
||||
}
|
||||
|
||||
u32 xxx_update_some_bg_tiles(u32 a0)
|
||||
{
|
||||
u32 r5 = gUnknown_20274B0;
|
||||
u32 *r4 = (u32 *)(VRAM + 0x4f40);
|
||||
const u32 *r2;
|
||||
gUnknown_20274B0 = a0;
|
||||
if (a0 == 0 || a0 == 2)
|
||||
{
|
||||
sub_800CDA8(2);
|
||||
r2 = gUnknown_80B87C4;
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_800CDA8(1);
|
||||
r2 = gUnknown_80B87E4;
|
||||
}
|
||||
gUnknown_202B030 = 0x88888888;
|
||||
*r4++ = *r2++;
|
||||
*r4++ = *r2++;
|
||||
*r4++ = *r2++;
|
||||
*r4++ = *r2++;
|
||||
*r4++ = *r2++;
|
||||
*r4++ = *r2++;
|
||||
*r4++ = *r2++;
|
||||
*r4++ = *r2++;
|
||||
return r5;
|
||||
}
|
||||
|
||||
u32 sub_80063B0(void)
|
||||
{
|
||||
return gUnknown_20274B0;
|
||||
}
|
||||
|
||||
u8 sub_80063BC(u8 a0)
|
||||
{
|
||||
u8 retval = gUnknown_202B034;
|
||||
gUnknown_202B034 = a0;
|
||||
return retval;
|
||||
}
|
||||
|
||||
void sub_80063CC(u32 a0)
|
||||
{
|
||||
gUnknown_20274AC = a0;
|
||||
}
|
||||
|
||||
void sub_80063D8(int a0)
|
||||
{
|
||||
u32 retval;
|
||||
if (a0 == 0)
|
||||
{
|
||||
gUnknown_20274B0;
|
||||
retval = 0x88888888;
|
||||
}
|
||||
else
|
||||
{
|
||||
retval = (a0 & 0xf) | ((a0 & 0xf) << 4);
|
||||
retval |= ((a0 & 0xf) << 8);
|
||||
retval |= ((a0 & 0xf) << 12);
|
||||
retval |= ((a0 & 0xf) << 16);
|
||||
retval |= ((a0 & 0xf) << 20);
|
||||
retval |= ((a0 & 0xf) << 24);
|
||||
retval |= ((a0 & 0xf) << 28);
|
||||
}
|
||||
gUnknown_202B030 = retval;
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user