mirror of
https://github.com/pret/pmd-sky.git
synced 2026-03-21 17:25:15 -05:00
Decomp options funcs
This commit is contained in:
parent
4a78adb0fa
commit
852ad2c5da
|
|
@ -465,6 +465,7 @@
|
|||
.public sub_0203931C
|
||||
.public DebugPrintEventFlagSize
|
||||
.public SetSpecialEpisodeOpenOld
|
||||
.public sub_0204AF98
|
||||
.public sub_0204CDB8
|
||||
.public sub_0204E154
|
||||
.public sub_0204E19C
|
||||
|
|
|
|||
2
asm/include/main_0204AF98.inc
Normal file
2
asm/include/main_0204AF98.inc
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
#pragma once
|
||||
.public _022AB0A0
|
||||
|
|
@ -156,7 +156,7 @@
|
|||
.public sub_020483D8
|
||||
.public sub_02048400
|
||||
.public sub_0204AEA0
|
||||
.public sub_0204AF58
|
||||
.public IsTeamStatsOnTopScreen
|
||||
.public SubstitutePlaceholderStringTags
|
||||
.public TOP_SCREEN_STATUS_PTR
|
||||
.public UnloadFile
|
||||
|
|
|
|||
|
|
@ -189,9 +189,9 @@
|
|||
.public sub_0204AEA0
|
||||
.public sub_0204AEB0
|
||||
.public sub_0204AEC0
|
||||
.public sub_0204AF10
|
||||
.public sub_0204AF20
|
||||
.public sub_0204AF78
|
||||
.public GetDPadAttackOption
|
||||
.public GetCheckDirectionOption
|
||||
.public IsTextLogOnTopScreen
|
||||
.public SubstitutePlaceholderStringTags
|
||||
.public TryAddMonsterToActiveTeam
|
||||
.public TryLeaderItemPickUp
|
||||
|
|
|
|||
|
|
@ -106,7 +106,7 @@
|
|||
.public SetPokemonBattled
|
||||
.public ShouldDisplayEntityWrapper
|
||||
.public SpawnDroppedItemWrapper
|
||||
.public sub_0204AF00
|
||||
.public GetDamageTurnOption
|
||||
.public SubInitMonster
|
||||
.public SubstitutePlaceholderStringTags
|
||||
.public TryEndPetrifiedOrSleepStatus
|
||||
|
|
|
|||
|
|
@ -90,7 +90,7 @@
|
|||
.public sub_0201F2A0
|
||||
.public sub_0204AEA0
|
||||
.public sub_0204AEC0
|
||||
.public sub_0204AF30
|
||||
.public IsMapShownOnEitherScreen
|
||||
.public TeamMemberHasExclusiveItemEffectActive
|
||||
.public TILESET_PROPERTIES
|
||||
.public UnloadFile
|
||||
|
|
|
|||
|
|
@ -62,7 +62,7 @@
|
|||
.public sub_0200B3D4
|
||||
.public sub_020282F4
|
||||
.public sub_0202AAE8
|
||||
.public sub_0204AF20
|
||||
.public GetCheckDirectionOption
|
||||
.public TeamMenu
|
||||
.public TryPointCameraToMonster
|
||||
.public UnloadOverlay
|
||||
|
|
|
|||
|
|
@ -17970,91 +17970,3 @@ sub_0204AEF0: ; 0x0204AEF0
|
|||
.align 2, 0
|
||||
_0204AEFC: .word _022AB0A0
|
||||
arm_func_end sub_0204AEF0
|
||||
|
||||
arm_func_start sub_0204AF00
|
||||
sub_0204AF00: ; 0x0204AF00
|
||||
ldr r0, _0204AF0C ; =_022AB0A0
|
||||
ldrb r0, [r0, #6]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0204AF0C: .word _022AB0A0
|
||||
arm_func_end sub_0204AF00
|
||||
|
||||
arm_func_start sub_0204AF10
|
||||
sub_0204AF10: ; 0x0204AF10
|
||||
ldr r0, _0204AF1C ; =_022AB0A0
|
||||
ldrb r0, [r0, #7]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0204AF1C: .word _022AB0A0
|
||||
arm_func_end sub_0204AF10
|
||||
|
||||
arm_func_start sub_0204AF20
|
||||
sub_0204AF20: ; 0x0204AF20
|
||||
ldr r0, _0204AF2C ; =_022AB0A0
|
||||
ldrb r0, [r0, #8]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0204AF2C: .word _022AB0A0
|
||||
arm_func_end sub_0204AF20
|
||||
|
||||
arm_func_start sub_0204AF30
|
||||
sub_0204AF30: ; 0x0204AF30
|
||||
ldr r0, _0204AF54 ; =_022AB0A0
|
||||
ldrb r1, [r0, #1]
|
||||
cmp r1, #1
|
||||
cmpne r1, #2
|
||||
ldrneb r0, [r0, #2]
|
||||
cmpne r0, #3
|
||||
moveq r0, #1
|
||||
movne r0, #0
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0204AF54: .word _022AB0A0
|
||||
arm_func_end sub_0204AF30
|
||||
|
||||
arm_func_start sub_0204AF58
|
||||
sub_0204AF58: ; 0x0204AF58
|
||||
ldr r0, _0204AF74 ; =_022AB0A0
|
||||
ldrb r0, [r0, #2]
|
||||
cmp r0, #1
|
||||
moveq r0, #1
|
||||
movne r0, #0
|
||||
and r0, r0, #0xff
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0204AF74: .word _022AB0A0
|
||||
arm_func_end sub_0204AF58
|
||||
|
||||
arm_func_start sub_0204AF78
|
||||
sub_0204AF78: ; 0x0204AF78
|
||||
ldr r0, _0204AF94 ; =_022AB0A0
|
||||
ldrb r0, [r0, #2]
|
||||
cmp r0, #2
|
||||
moveq r0, #1
|
||||
movne r0, #0
|
||||
and r0, r0, #0xff
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0204AF94: .word _022AB0A0
|
||||
arm_func_end sub_0204AF78
|
||||
|
||||
arm_func_start sub_0204AF98
|
||||
sub_0204AF98: ; 0x0204AF98
|
||||
ldr r1, _0204AFA8 ; =_022AB0A0
|
||||
ldrb r1, [r1, #9]
|
||||
strb r1, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0204AFA8: .word _022AB0A0
|
||||
arm_func_end sub_0204AF98
|
||||
|
||||
arm_func_start sub_0204AFAC
|
||||
sub_0204AFAC: ; 0x0204AFAC
|
||||
ldrb r1, [r0]
|
||||
ldr r0, _0204AFBC ; =_022AB0A0
|
||||
strb r1, [r0, #9]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0204AFBC: .word _022AB0A0
|
||||
arm_func_end sub_0204AFAC
|
||||
|
|
|
|||
24
asm/main_0204AF98.s
Normal file
24
asm/main_0204AF98.s
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
.include "asm/macros.inc"
|
||||
.include "main_0204AF98.inc"
|
||||
|
||||
.text
|
||||
|
||||
arm_func_start sub_0204AF98
|
||||
sub_0204AF98: ; 0x0204AF98
|
||||
ldr r1, _0204AFA8 ; =_022AB0A0
|
||||
ldrb r1, [r1, #9]
|
||||
strb r1, [r0]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0204AFA8: .word _022AB0A0
|
||||
arm_func_end sub_0204AF98
|
||||
|
||||
arm_func_start sub_0204AFAC
|
||||
sub_0204AFAC: ; 0x0204AFAC
|
||||
ldrb r1, [r0]
|
||||
ldr r0, _0204AFBC ; =_022AB0A0
|
||||
strb r1, [r0, #9]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0204AFBC: .word _022AB0A0
|
||||
arm_func_end sub_0204AFAC
|
||||
|
|
@ -6068,7 +6068,7 @@ FreeTeamStatsWrapper: ; 0x022E81E8
|
|||
arm_func_start ov29_022E81F8
|
||||
ov29_022E81F8: ; 0x022E81F8
|
||||
stmdb sp!, {r3, lr}
|
||||
bl sub_0204AF58
|
||||
bl IsTeamStatsOnTopScreen
|
||||
cmp r0, #0
|
||||
bne _022E8210
|
||||
bl ov29_022E8104
|
||||
|
|
|
|||
|
|
@ -1311,7 +1311,7 @@ _022F16A4:
|
|||
mov r2, #4
|
||||
bl ChangeMonsterAnimation
|
||||
_022F16F4:
|
||||
bl sub_0204AF10
|
||||
bl GetDPadAttackOption
|
||||
cmp r0, #0
|
||||
moveq r1, #0
|
||||
beq _022F17E0
|
||||
|
|
@ -1618,7 +1618,7 @@ _022F1B5C:
|
|||
_022F1B64:
|
||||
cmp r3, #4
|
||||
bne _022F1B9C
|
||||
bl sub_0204AF20
|
||||
bl GetCheckDirectionOption
|
||||
cmp r0, #0
|
||||
beq _022F1B8C
|
||||
mov r0, r6
|
||||
|
|
@ -1663,7 +1663,7 @@ _022F1BE0:
|
|||
bl sub_02006B70
|
||||
b _022F2970
|
||||
_022F1C04:
|
||||
bl sub_0204AF20
|
||||
bl GetCheckDirectionOption
|
||||
cmp r0, #0
|
||||
beq _022F1C28
|
||||
add r1, sb, #0x124 + SET_LEADER_ACTION_OFFSET
|
||||
|
|
@ -1825,13 +1825,13 @@ _022F1E3C:
|
|||
ldrh r0, [r0, #2]
|
||||
tst r0, #2
|
||||
beq _022F1E90
|
||||
bl sub_0204AF78
|
||||
bl IsTextLogOnTopScreen
|
||||
mov r0, #4
|
||||
bl PlaySeVolumeWrapper
|
||||
mov r0, #0
|
||||
mov r1, #1
|
||||
bl OpenMessageLog
|
||||
bl sub_0204AF78
|
||||
bl IsTextLogOnTopScreen
|
||||
cmp r0, #0
|
||||
beq _022F1E88
|
||||
bl ov29_0234BB38
|
||||
|
|
@ -2026,7 +2026,7 @@ _022F2118:
|
|||
movs fp, r0
|
||||
bmi _022F2180
|
||||
mov r8, #1
|
||||
bl sub_0204AF20
|
||||
bl GetCheckDirectionOption
|
||||
cmp r0, #0
|
||||
beq _022F2150
|
||||
mov r0, r6
|
||||
|
|
@ -3904,7 +3904,7 @@ ov29_022F3B98: ; 0x022F3B98
|
|||
mov r8, r2
|
||||
mov fp, r4
|
||||
str r4, [sp]
|
||||
bl sub_0204AF20
|
||||
bl GetCheckDirectionOption
|
||||
cmp r0, #0
|
||||
moveq r0, r4
|
||||
beq _022F3E88
|
||||
|
|
|
|||
|
|
@ -604,7 +604,7 @@ _0230A24C:
|
|||
mov r6, #0
|
||||
cmp r0, #0
|
||||
beq _0230A2CC
|
||||
bl sub_0204AF00
|
||||
bl GetDamageTurnOption
|
||||
cmp r0, #0
|
||||
beq _0230A2CC
|
||||
mov r0, sb
|
||||
|
|
@ -1708,7 +1708,7 @@ _02309820:
|
|||
mov sl, #0
|
||||
cmp r0, #0
|
||||
beq _023098A0
|
||||
bl sub_0204AF00
|
||||
bl GetDamageTurnOption
|
||||
cmp r0, #0
|
||||
beq _023098A0
|
||||
mov r0, r7
|
||||
|
|
|
|||
|
|
@ -1133,7 +1133,7 @@ _02339318:
|
|||
streq r8, [sp, #0x14]
|
||||
moveq r8, #1
|
||||
_02339344:
|
||||
bl sub_0204AF30
|
||||
bl IsMapShownOnEitherScreen
|
||||
cmp r0, #0
|
||||
ldreq r0, _023398CC ; =ov29_0235376C
|
||||
ldreqb r1, [r0, #1]
|
||||
|
|
|
|||
|
|
@ -206,7 +206,7 @@ _0234E0B8:
|
|||
cmpne r0, #0x27
|
||||
cmpne r0, #0x41
|
||||
bne _0234E0EC
|
||||
bl sub_0204AF20
|
||||
bl GetCheckDirectionOption
|
||||
cmp r0, #0
|
||||
beq _0234E140
|
||||
bl GetLeaderAction
|
||||
|
|
@ -218,7 +218,7 @@ _0234E0B8:
|
|||
_0234E0EC:
|
||||
cmp r0, #0x31
|
||||
bne _0234E140
|
||||
bl sub_0204AF20
|
||||
bl GetCheckDirectionOption
|
||||
cmp r0, #0
|
||||
beq _0234E140
|
||||
bl GetLeaderAction
|
||||
|
|
@ -479,7 +479,7 @@ _0234E45C:
|
|||
cmp r0, #0x15
|
||||
bne _0234E4CC
|
||||
_0234E48C:
|
||||
bl sub_0204AF20
|
||||
bl GetCheckDirectionOption
|
||||
cmp r0, #0
|
||||
beq _0234E4CC
|
||||
bl GetLeaderAction
|
||||
|
|
@ -625,7 +625,7 @@ _0234E698:
|
|||
cmpne r0, #0x27
|
||||
cmpne r0, #0x41
|
||||
bne _0234E6CC
|
||||
bl sub_0204AF20
|
||||
bl GetCheckDirectionOption
|
||||
cmp r0, #0
|
||||
beq _0234E720
|
||||
bl GetLeaderAction
|
||||
|
|
@ -637,7 +637,7 @@ _0234E698:
|
|||
_0234E6CC:
|
||||
cmp r0, #0x31
|
||||
bne _0234E720
|
||||
bl sub_0204AF20
|
||||
bl GetCheckDirectionOption
|
||||
cmp r0, #0
|
||||
beq _0234E720
|
||||
bl GetLeaderAction
|
||||
|
|
|
|||
|
|
@ -3481,4 +3481,18 @@ enum compare_operation { // Taken from pmd-red's FlagJudgeOperation
|
|||
CMP_BIT_SET,
|
||||
};
|
||||
|
||||
enum top_screen_options {
|
||||
TOP_SCREEN_CONTROLS = 0,
|
||||
TOP_SCREEN_TEAM_STATS = 1,
|
||||
TOP_SCREEN_TEXT_LOG = 2,
|
||||
TOP_SCREEN_MAP_AND_TEAM = 3,
|
||||
TOP_SCREEN_JOB = 4
|
||||
};
|
||||
|
||||
enum bottom_screen_option {
|
||||
BOTTOM_SCREEN_NO_MAP = 0,
|
||||
BOTTOM_SCREEN_CLEAR_MAP = 1,
|
||||
BOTTOM_SCREEN_SHADED_MAP = 2
|
||||
};
|
||||
|
||||
#endif //PMDSKY_ENUMS_H
|
||||
|
|
|
|||
27
include/options.h
Normal file
27
include/options.h
Normal file
|
|
@ -0,0 +1,27 @@
|
|||
#ifndef PMDSKY_OPTIONS
|
||||
#define PMDSKY_OPTIONS
|
||||
|
||||
#include "util.h"
|
||||
|
||||
// See enums for values
|
||||
struct options {
|
||||
u8 touch_screen;
|
||||
u8 bottom_screen;
|
||||
u8 top_screen;
|
||||
u8 unk0;
|
||||
u8 speed;
|
||||
u8 far_off_pals;
|
||||
u8 damage_turn;
|
||||
u8 d_pad_attack;
|
||||
u8 check_direction;
|
||||
u8 unk1;
|
||||
};
|
||||
|
||||
u8 GetDamageTurnOption();
|
||||
u8 GetDPadAttackOption();
|
||||
u8 GetCheckDirectionOption();
|
||||
bool8 IsMapShownOnEitherScreen();
|
||||
bool8 IsTeamStatsOnTopScreen();
|
||||
bool8 IsTextLogOnTopScreen();
|
||||
|
||||
#endif //PMDSKY_OPTIONS
|
||||
2
main.lsf
2
main.lsf
|
|
@ -78,6 +78,8 @@ Static main
|
|||
Object asm/main_02034974.o
|
||||
Object src/main_0203C760.o
|
||||
Object asm/main_0203C774.o
|
||||
Object src/options.o
|
||||
Object asm/main_0204AF98.o
|
||||
Object src/game_mode.o
|
||||
Object src/script_variable.o
|
||||
Object asm/main_rodata_0209CECC.o
|
||||
|
|
|
|||
40
src/options.c
Normal file
40
src/options.c
Normal file
|
|
@ -0,0 +1,40 @@
|
|||
#include "enums.h"
|
||||
#include "options.h"
|
||||
|
||||
extern struct options _022AB0A0;
|
||||
|
||||
u8 GetDamageTurnOption() {
|
||||
return _022AB0A0.damage_turn;
|
||||
}
|
||||
|
||||
u8 GetDPadAttackOption() {
|
||||
return _022AB0A0.d_pad_attack;
|
||||
}
|
||||
|
||||
u8 GetCheckDirectionOption() {
|
||||
return _022AB0A0.check_direction;
|
||||
}
|
||||
|
||||
bool8 IsMapShownOnEitherScreen() {
|
||||
if (_022AB0A0.bottom_screen == BOTTOM_SCREEN_CLEAR_MAP ||
|
||||
_022AB0A0.bottom_screen == BOTTOM_SCREEN_SHADED_MAP ||
|
||||
_022AB0A0.top_screen == TOP_SCREEN_MAP_AND_TEAM) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 IsTeamStatsOnTopScreen() {
|
||||
if (_022AB0A0.top_screen == TOP_SCREEN_TEAM_STATS) {
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
bool8 IsTextLogOnTopScreen() {
|
||||
if (_022AB0A0.top_screen == TOP_SCREEN_TEXT_LOG) {
|
||||
return TRUE;
|
||||
} else {
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user