mirror of
https://github.com/pret/pokeheartgold.git
synced 2026-04-26 16:37:04 -05:00
Merge pull request #460 from Askedis/decomp/overlay_13_thumb_1
Decomp/overlay 13 thumb 1
This commit is contained in:
commit
a6a9655094
|
|
@ -1,15 +0,0 @@
|
|||
#include <nitro/fs/overlay.h>
|
||||
#pragma once
|
||||
.public Heap_Alloc
|
||||
.public Heap_Free
|
||||
.public sub_02034D8C
|
||||
.public NNS_SndPlayerSetPlayerVolume
|
||||
.public NNS_SndPlayerSetPlayableSeqCount
|
||||
.public NNS_SndPlayerSetAllocatableChannel
|
||||
.public OS_InitTick
|
||||
.public OS_InitAlarm
|
||||
.public OS_DisableInterrupts
|
||||
.public OS_RestoreInterrupts
|
||||
.public ov00_021EC454
|
||||
.public ov13_0221BA00
|
||||
.public ov13_0222B430
|
||||
|
|
@ -1,54 +0,0 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "overlay_13_thumb_1.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start ov13_0221BA00
|
||||
ov13_0221BA00: ; 0x0221BA00
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
mov r5, #0
|
||||
str r0, [sp]
|
||||
mov r4, #0x7f
|
||||
mov r6, #1
|
||||
add r7, r5, #0
|
||||
_0221BA0C:
|
||||
add r0, r5, #0
|
||||
add r1, r4, #0
|
||||
bl NNS_SndPlayerSetPlayerVolume
|
||||
add r0, r5, #0
|
||||
add r1, r6, #0
|
||||
bl NNS_SndPlayerSetPlayableSeqCount
|
||||
add r0, r5, #0
|
||||
add r1, r7, #0
|
||||
bl NNS_SndPlayerSetAllocatableChannel
|
||||
add r5, r5, #1
|
||||
cmp r5, #0x20
|
||||
blt _0221BA0C
|
||||
bl sub_02034D8C
|
||||
bl OS_InitTick
|
||||
bl OS_InitAlarm
|
||||
bl OS_DisableInterrupts
|
||||
add r5, r0, #0
|
||||
mov r0, #2
|
||||
bl ov00_021EC454
|
||||
mov r1, #1
|
||||
ldr r0, [sp]
|
||||
lsl r1, r1, #0x12
|
||||
bl Heap_Alloc
|
||||
add r4, r0, #0
|
||||
mov r1, #1
|
||||
mov r2, #0
|
||||
bl ov13_0222B430
|
||||
add r0, r4, #0
|
||||
bl Heap_Free
|
||||
add r0, r5, #0
|
||||
bl OS_RestoreInterrupts
|
||||
ldr r1, _0221BA6C ; =0x04000208
|
||||
ldrh r0, [r1]
|
||||
mov r0, #1
|
||||
strh r0, [r1]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
_0221BA6C: .word 0x04000208
|
||||
thumb_func_end ov13_0221BA00
|
||||
|
|
@ -3,5 +3,6 @@
|
|||
|
||||
s32 ov00_021E6A70(u32, u32);
|
||||
int ov00_021E6EBC(void);
|
||||
void ov00_021EC454(s32);
|
||||
|
||||
#endif // POKEHEARTGOLD_OVERLAY_00_THUMB_H
|
||||
|
|
|
|||
6
include/overlay_13_arm_2.h
Normal file
6
include/overlay_13_arm_2.h
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#ifndef POKEHEARTGOLD_OVERLAY_13_ARM_2_H
|
||||
#define POKEHEARTGOLD_OVERLAY_13_ARM_2_H
|
||||
|
||||
BOOL ov13_0222B430(void *, s32, s32);
|
||||
|
||||
#endif // POKEHEARTGOLD_OVERLAY_13_ARM_2_H
|
||||
9
include/overlay_13_thumb_1.h
Normal file
9
include/overlay_13_thumb_1.h
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
#ifndef POKEHEARTGOLD_OVERLAY_13_THUMB_1_H
|
||||
#define POKEHEARTGOLD_OVERLAY_13_THUMB_1_H
|
||||
|
||||
#include "heap.h"
|
||||
#include "sound.h"
|
||||
|
||||
void ov13_0221BA00(enum HeapID HeapID);
|
||||
|
||||
#endif // POKEHEARTGOLD_OVERLAY_13_THUMB_1_H
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
#ifndef POKEHEARTGOLD_UNK_02034B0C_H
|
||||
#define POKEHEARTGOLD_UNK_02034B0C_H
|
||||
|
||||
void sub_02034D8C(void);
|
||||
BOOL sub_02035650(void);
|
||||
|
||||
#endif // POKEHEARTGOLD_UNK_02034B0C_H
|
||||
|
|
|
|||
|
|
@ -1,9 +1,8 @@
|
|||
#ifndef GUARD_PLAYER_H
|
||||
#define GUARD_PLAYER_H
|
||||
|
||||
typedef struct NNSSndHandle
|
||||
{
|
||||
struct NNSSndSeqPlayer* player;
|
||||
typedef struct NNSSndHandle {
|
||||
struct NNSSndSeqPlayer *player;
|
||||
} NNSSndHandle;
|
||||
|
||||
void NNS_SndHandleInit(NNSSndHandle *handle);
|
||||
|
|
@ -14,5 +13,6 @@ void NNS_SndPlayerSetPlayableSeqCount(int playerNo, int seqCount);
|
|||
BOOL NNS_SndPlayerCreateHeap(int playerNo, NNSSndHeapHandle heap, u32 size);
|
||||
void NNS_SndPlayerPauseByPlayerNo(int playerNo, BOOL flag);
|
||||
int NNS_SndPlayerCountPlayingSeqByPlayerNo(int playerNo);
|
||||
void NNS_SndPlayerSetPlayerVolume(int playerNo, u8 volume);
|
||||
|
||||
#endif //GUARD_PLAYER_H
|
||||
#endif // GUARD_PLAYER_H
|
||||
|
|
|
|||
2
main.lsf
2
main.lsf
|
|
@ -643,7 +643,7 @@ Overlay OVY_12
|
|||
Overlay OVY_13
|
||||
{
|
||||
After OVY_0
|
||||
Object asm/overlay_13_thumb_1.o
|
||||
Object src/overlay_13_thumb_1.o
|
||||
Object lib/NitroSDK/asm/mb.o
|
||||
Object asm/overlay_13_thumb_2.o
|
||||
Object lib/NitroDWC/asm/overlay_13_arm_2.o
|
||||
|
|
|
|||
29
src/overlay_13_thumb_1.c
Normal file
29
src/overlay_13_thumb_1.c
Normal file
|
|
@ -0,0 +1,29 @@
|
|||
#include "overlay_13_thumb_1.h"
|
||||
|
||||
#include <nitro/hw/common/io_reg.h>
|
||||
|
||||
#include "global.h"
|
||||
|
||||
#include "overlay_00_thumb.h"
|
||||
#include "overlay_13_arm_2.h"
|
||||
#include "unk_02034B0C.h"
|
||||
|
||||
void ov13_0221BA00(enum HeapID HeapID) {
|
||||
for (int playerNo = 0; playerNo < 32; playerNo++) {
|
||||
NNS_SndPlayerSetPlayerVolume(playerNo, 127);
|
||||
NNS_SndPlayerSetPlayableSeqCount(playerNo, 1);
|
||||
NNS_SndPlayerSetAllocatableChannel(playerNo, 0);
|
||||
}
|
||||
sub_02034D8C();
|
||||
OS_InitTick();
|
||||
OS_InitAlarm();
|
||||
OSIntrMode interrupts = OS_DisableInterrupts();
|
||||
ov00_021EC454(2);
|
||||
void *buffer = Heap_Alloc(HeapID, 0x40000);
|
||||
ov13_0222B430(buffer, 1, 0);
|
||||
Heap_Free(buffer);
|
||||
OS_RestoreInterrupts(interrupts);
|
||||
|
||||
u16 oldValue = reg_OS_IME;
|
||||
reg_OS_IME = 1;
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user