mirror of
https://github.com/pret/pmd-sky.git
synced 2026-03-21 17:25:15 -05:00
Decomped sound envelope functions
Contributed by Rhokin in the SkyTemple Discord. https://discord.com/channels/710190644152369162/804247227991326730/1182773685317271634
This commit is contained in:
parent
99b7b9505c
commit
ebd2d093b8
1
Makefile
1
Makefile
|
|
@ -5,6 +5,7 @@ PROC_LD := v5te
|
|||
LCF_TEMPLATE := ARM9-TS.lcf.template
|
||||
LIBS := -Llib -lsyscall -nostdlib
|
||||
OPTFLAGS := -O4,s
|
||||
OPTFLAGS_SDK := -O4,p
|
||||
|
||||
include config.mk
|
||||
|
||||
|
|
|
|||
|
|
@ -176,9 +176,9 @@
|
|||
.public _022A3806
|
||||
.public _022B966C
|
||||
.public __addsf3
|
||||
.public __divsi3
|
||||
.public __floatsisf
|
||||
.public __mulsf3
|
||||
.public _s32_div_f
|
||||
.public abs
|
||||
.public ArrayFill32Fast
|
||||
.public CART_REMOVED_IMG_DATA
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
2020
asm/include/main_0207509C.inc
Normal file
2020
asm/include/main_0207509C.inc
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -10,9 +10,9 @@
|
|||
.public _020AEDB0
|
||||
.public _022B966C
|
||||
.public _022BCA70
|
||||
.public __divsi3
|
||||
.public __udivsi3
|
||||
.public _s32_div_f
|
||||
.public _start_AutoloadDoneCallback
|
||||
.public _u32_div_f
|
||||
.public abs
|
||||
.public ArrayCopy16
|
||||
.public ArrayCopy32
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#pragma once
|
||||
.public _020B0A5C
|
||||
.public __divsi3
|
||||
.public __udivsi3
|
||||
.public _s32_div_f
|
||||
.public _u32_div_f
|
||||
.public ArrayCopy32
|
||||
.public BAG_ITEMS_PTR_MIRROR
|
||||
.public CardBackupError
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#pragma once
|
||||
.public _020AE224
|
||||
.public __divsi3
|
||||
.public __udivsi3
|
||||
.public _s32_div_f
|
||||
.public _u32_div_f
|
||||
.public ArrayCopy16
|
||||
.public ArrayCopy32
|
||||
.public ArrayCopy32Fast
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public CloseCollectionMenu
|
||||
.public CloseOptionsMenu
|
||||
.public CloseTextBox
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#pragma once
|
||||
.public _020AFC4C
|
||||
.public _020B0A5C
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public abs
|
||||
.public AllocAndLoadFileInPack
|
||||
.public BAG_ITEMS_PTR_MIRROR
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@
|
|||
.public _020A548A
|
||||
.public _020A5490
|
||||
.public __divsf3
|
||||
.public __divsi3
|
||||
.public __fixsfsi
|
||||
.public __floatsisf
|
||||
.public _s32_div_f
|
||||
.public abs
|
||||
.public AddBulkItemToStorage
|
||||
.public AddItemToBagNoHeld
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public CloseAdvancedMenu
|
||||
.public CloseDialogueBox
|
||||
.public ClosePortraitBox
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AnimRelatedFunction__022F6F14
|
||||
.public AnimRelatedFunction__022F7064
|
||||
.public CloseAdvancedMenu
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public CloseAdvancedMenu
|
||||
.public CloseDialogueBox
|
||||
.public ClosePortraitBox
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AddItemToBagNoHeld
|
||||
.public AddItemToStorage
|
||||
.public Arm9LoadUnkFieldNa0x2029EC8
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#pragma once
|
||||
.public _020A1868
|
||||
.public _020A18E0
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public CloseCollectionMenu
|
||||
.public CloseDialogueBox
|
||||
.public ClosePortraitBox
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#pragma once
|
||||
.public _020AFC4C
|
||||
.public _020AFC70
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AllocAndLoadFileInPack
|
||||
.public ChangeGiratinaFormIfSkyDungeon
|
||||
.public ClearHiddenStairs
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#pragma once
|
||||
.public _020AFC4C
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public abs
|
||||
.public DIRECTIONS_XY
|
||||
.public DISPLACEMENTS_WITHIN_2_LARGEST_FIRST
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AbilityIsActiveVeneer
|
||||
.public abs
|
||||
.public AdvanceFrame
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AbilityIsActiveVeneer
|
||||
.public AdvanceFrame
|
||||
.public ChangeDungeonMusic
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#pragma once
|
||||
.public _020AFC4C
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public abs
|
||||
.public AddHeldItemToBag
|
||||
.public AddItemToBag
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AbilityIsActiveVeneer
|
||||
.public ApplyItemEffect
|
||||
.public AreMovesEnabled
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#pragma once
|
||||
.public _020A1870
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AbilityIsActiveVeneer
|
||||
.public AdvanceFrame
|
||||
.public AiMovement
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public CanLearnIqSkill
|
||||
.public CanSeeTarget
|
||||
.public CanThrowItems
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AdvanceFrame
|
||||
.public CheckLeaderTile
|
||||
.public CheckNonLeaderTile
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AbilityIsActiveVeneer
|
||||
.public abs
|
||||
.public ActivateMotorDrive
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AbilityIsActiveVeneer
|
||||
.public AdvanceFrame
|
||||
.public AiMovement
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AbilityIsActiveVeneer
|
||||
.public abs
|
||||
.public AiConsiderMove
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AbilityIsActiveVeneer
|
||||
.public AdvanceFrame
|
||||
.public CalcDamageFixedNoCategory
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public abs
|
||||
.public AdvanceFrame
|
||||
.public AreOrbsAllowedVeneer
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AbilityIsActiveVeneer
|
||||
.public abs
|
||||
.public AdvanceFrame
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AbilityIsActiveVeneer
|
||||
.public ActivateStench
|
||||
.public AdvanceFrame
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AbilityIsActiveVeneer
|
||||
.public AddHeldItemToBag
|
||||
.public AdvanceFrame
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AbilityIsActiveVeneer
|
||||
.public ATK_STAT_IDX
|
||||
.public BAG_ITEMS_PTR_MIRROR
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#pragma once
|
||||
.public _020AFC70
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AbilityIsActiveVeneer
|
||||
.public CalcSpeedStageWrapper
|
||||
.public CalcStatusDuration
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
#pragma once
|
||||
.public _020AFC4C
|
||||
.public _020AFC70
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public abs
|
||||
.public AllocAndLoadFileInPack
|
||||
.public CORNER_CARDINAL_NEIGHBOR_IS_OPEN
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
#pragma once
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AddItemToBagNoHeld
|
||||
.public AddMoneyCarried
|
||||
.public AdvanceFrame
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#pragma once
|
||||
.public _020AFC4C
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public AbilityIsActiveVeneer
|
||||
.public abs
|
||||
.public AddMoneyCarried
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#pragma once
|
||||
.public _020A1878
|
||||
.public __divsi3
|
||||
.public _s32_div_f
|
||||
.public abs
|
||||
.public AdvanceFrame
|
||||
.public ApplyItemEffect
|
||||
|
|
|
|||
|
|
@ -5511,14 +5511,14 @@ sub_0200514C: ; 0x0200514C
|
|||
mov r8, r0
|
||||
mla r0, r2, r5, r1
|
||||
add r1, r5, r4
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [r8]
|
||||
ldr r0, [r6, #4]
|
||||
ldr r2, [r7, #4]
|
||||
mul r1, r0, r4
|
||||
mla r0, r2, r5, r1
|
||||
add r1, r5, r4
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [r8, #4]
|
||||
ldmia sp!, {r4, r5, r6, r7, r8, pc}
|
||||
arm_func_end sub_0200514C
|
||||
|
|
@ -12820,17 +12820,17 @@ _0200AF34:
|
|||
mov r1, #0xff
|
||||
mul r0, r2, r8
|
||||
add r5, r5, #2
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrb r2, [r4, #2]
|
||||
str r0, [sp, #4]
|
||||
mov r1, #0xff
|
||||
mul r0, r2, r7
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrb r2, [r4, #1]
|
||||
str r0, [sp, #8]
|
||||
mov r1, #0xff
|
||||
mul r0, r2, r6
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r1, [sp, #4]
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r1, r1, lsl #0x10
|
||||
|
|
@ -12879,17 +12879,17 @@ _0200B014:
|
|||
mov r1, #0xff
|
||||
mul r0, r2, r8
|
||||
add r5, r5, #2
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrb r2, [r4, #2]
|
||||
str r0, [sp, #0xc]
|
||||
mov r1, #0xff
|
||||
mul r0, r2, r7
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrb r2, [r4, #1]
|
||||
str r0, [sp, #0x10]
|
||||
mov r1, #0xff
|
||||
mul r0, r2, r6
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r1, [sp, #0xc]
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r1, r1, lsl #0x10
|
||||
|
|
@ -12966,17 +12966,17 @@ _0200B14C:
|
|||
mov r1, #0xff
|
||||
mul r0, r2, sb
|
||||
add r6, r6, #2
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrb r2, [r4, #2]
|
||||
str r0, [sp, #4]
|
||||
mov r1, #0xff
|
||||
mul r0, r2, r8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrb r2, [r4, #1]
|
||||
str r0, [sp, #8]
|
||||
mov r1, #0xff
|
||||
mul r0, r2, r7
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r1, [sp, #4]
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r1, r1, lsl #0x10
|
||||
|
|
@ -13025,17 +13025,17 @@ _0200B22C:
|
|||
mov r1, #0xff
|
||||
mul r0, r2, sb
|
||||
add r6, r6, #2
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrb r2, [r4, #2]
|
||||
str r0, [sp, #0xc]
|
||||
mov r1, #0xff
|
||||
mul r0, r2, r8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrb r2, [r4, #1]
|
||||
str r0, [sp, #0x10]
|
||||
mov r1, #0xff
|
||||
mul r0, r2, r7
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r1, [sp, #0xc]
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r1, r1, lsl #0x10
|
||||
|
|
@ -13721,7 +13721,7 @@ _0200BA38:
|
|||
ldrsh r0, [r4, #0x12]
|
||||
ldr r1, [r4, #0xc]
|
||||
mul r0, r2, r0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrsh r1, [r4, #0x10]
|
||||
sub r0, r1, r0
|
||||
strh r0, [r4, #0x14]
|
||||
|
|
@ -13741,7 +13741,7 @@ _0200BA80:
|
|||
ldrsh r0, [r4, #0x12]
|
||||
ldr r1, [r4, #0xc]
|
||||
mul r0, r2, r0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrsh r1, [r4, #0x10]
|
||||
add r0, r1, r0
|
||||
strh r0, [r4, #0x14]
|
||||
|
|
@ -13758,7 +13758,7 @@ _0200BAC8:
|
|||
ldrsh r0, [r4, #0x12]
|
||||
ldr r1, [r4, #0xc]
|
||||
mul r0, r2, r0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrsh r1, [r4, #0x10]
|
||||
sub r0, r1, r0
|
||||
_0200BAF8:
|
||||
|
|
@ -13775,7 +13775,7 @@ _0200BB04:
|
|||
ldrsh r0, [r4, #0x12]
|
||||
ldr r1, [r4, #0xc]
|
||||
mul r0, r2, r0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrsh r1, [r4, #0x10]
|
||||
add r0, r1, r0
|
||||
_0200BB34:
|
||||
|
|
|
|||
56856
asm/main_0200C4CC.s
56856
asm/main_0200C4CC.s
File diff suppressed because it is too large
Load Diff
55871
asm/main_0207509C.s
Normal file
55871
asm/main_0207509C.s
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -6080,7 +6080,7 @@ ov00_022C16D4: ; 0x022C16D4
|
|||
stmia r6, {r5, ip}
|
||||
sub r0, r2, #1
|
||||
mov r4, r3
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [r6, #0xc]
|
||||
mov r0, #0
|
||||
str r0, [r6, #8]
|
||||
|
|
@ -6459,7 +6459,7 @@ _022C1BF4:
|
|||
mov r8, #0
|
||||
add r0, r0, r1
|
||||
sub r0, r0, #1
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r2, r8
|
||||
b _022C1C48
|
||||
_022C1C38:
|
||||
|
|
@ -7571,7 +7571,7 @@ ov00_022C2BB8: ; 0x022C2BB8
|
|||
add r0, r1, r2
|
||||
mov r1, r2
|
||||
sub r0, r0, #1
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r0, r0, #0x1f
|
||||
bic r0, r0, #0x1f
|
||||
mov r0, r0, lsl #2
|
||||
|
|
@ -10316,7 +10316,7 @@ _022C50D0:
|
|||
ldr r8, [r7, #8]
|
||||
add r0, r8, r1
|
||||
sub r0, r0, #1
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
mov r1, sb, lsl #1
|
||||
ldrh r3, [r6, r1]
|
||||
mov r2, r0, lsl #0x10
|
||||
|
|
@ -13684,7 +13684,7 @@ ov00_022C7E20: ; 0x022C7E20
|
|||
sub r1, r0, #2
|
||||
mov r0, #0x1e
|
||||
str r1, [r2, #8]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r1, _022C7E4C ; =ov00_02325064
|
||||
mov r2, #0x1e
|
||||
str r0, [r1, #0xc]
|
||||
|
|
@ -21532,7 +21532,7 @@ _022CE6F8:
|
|||
ble _022CE71C
|
||||
mov r0, r4
|
||||
mov r1, r5
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r0, #0
|
||||
mulgt r0, r5, r0
|
||||
ldmgtia sp!, {r3, r4, r5, pc}
|
||||
|
|
@ -30673,7 +30673,7 @@ _022D611C:
|
|||
add r0, r0, #0x2000
|
||||
ldr r6, [r0, #0x284]
|
||||
mov r0, r6
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
cmp r1, #0
|
||||
bne _022D6188
|
||||
ldr r4, _022D62C8 ; =0x00000728
|
||||
|
|
@ -32181,7 +32181,7 @@ _022D7530:
|
|||
add r0, r0, r2
|
||||
blt _022D7530
|
||||
_022D7544:
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
_022D7548:
|
||||
and r0, r0, #0xff
|
||||
ldmia sp!, {r3, pc}
|
||||
|
|
@ -60004,7 +60004,7 @@ ov00_022EEB50: ; 0x022EEB50
|
|||
ldr r0, [r0]
|
||||
ldr r1, [r1, #0x50]
|
||||
mla r0, r2, r0, r3
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
ldr r0, _022EEB8C ; =ov00_02327720
|
||||
mov r2, r1, asr #0x10
|
||||
str r1, [r0]
|
||||
|
|
@ -66693,7 +66693,7 @@ _022F449C:
|
|||
blo _022F44D4
|
||||
mov r0, sb
|
||||
mov r1, r8
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
mul r2, r0, r8
|
||||
cmp sl, #0
|
||||
addne r0, r0, #0x30
|
||||
|
|
@ -67021,7 +67021,7 @@ ov00_022F4870: ; 0x022F4870
|
|||
ldr r2, [r5, #0x14]
|
||||
ldr r1, [r5, #8]
|
||||
sub r0, r0, r2
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r2, r0
|
||||
mov r0, r5
|
||||
mov r1, r4
|
||||
|
|
@ -67131,7 +67131,7 @@ _022F49F0:
|
|||
ldr r2, [r7, #0x14]
|
||||
ldr r1, [r7, #8]
|
||||
sub r0, r0, r2
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add sp, sp, #0xc
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, pc}
|
||||
arm_func_end ov00_022F4968
|
||||
|
|
@ -68187,7 +68187,7 @@ ov00_022F5680: ; 0x022F5680
|
|||
ldmeqia sp!, {r3, r4, r5, pc}
|
||||
bl ov00_022F5644
|
||||
mov r1, r4
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
add r0, r1, r5
|
||||
ldmia sp!, {r3, r4, r5, pc}
|
||||
arm_func_end ov00_022F5680
|
||||
|
|
@ -70539,7 +70539,7 @@ _022F7628:
|
|||
bl ov00_022F75CC
|
||||
mov r1, r7
|
||||
add r0, r5, #1
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r6, r6, #1
|
||||
cmp r6, #0x100
|
||||
and r5, r1, #0xff
|
||||
|
|
@ -89999,7 +89999,7 @@ _023086A0:
|
|||
ov00_023086AC: ; 0x023086AC
|
||||
stmdb sp!, {r3, lr}
|
||||
ldr r0, [r0]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r0, r1
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end ov00_023086AC
|
||||
|
|
@ -94036,7 +94036,7 @@ ov00_0230BFA0: ; 0x0230BFA0
|
|||
bl ov00_0230C24C
|
||||
ldr r0, [r0]
|
||||
ldr r1, [r5]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
bl ov00_0230C16C
|
||||
mov r1, r0
|
||||
mov r0, r4
|
||||
|
|
@ -94112,7 +94112,7 @@ ov00_0230C098: ; 0x0230C098
|
|||
ldr r2, [r7]
|
||||
ldr r0, [r0]
|
||||
mla r0, r1, r0, r2
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
bl ov00_0230C16C
|
||||
mov r1, r0
|
||||
mov r0, r4
|
||||
|
|
@ -95485,11 +95485,11 @@ _0230D284:
|
|||
ldrnesb r6, [r0, #-1]
|
||||
mov r1, r7
|
||||
add r0, sl, sb
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mul r0, r6, r8
|
||||
mov r6, r1
|
||||
mov r1, r7
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, _0230D320 ; =ov00_0231BED4
|
||||
ldrsb r3, [r0, r6]
|
||||
ldrsb r2, [r0, r1]
|
||||
|
|
@ -99155,7 +99155,7 @@ ov00_023102C8: ; 0x023102C8
|
|||
ldrh r0, [r2, #4]
|
||||
ldr r2, [r2]
|
||||
mul r0, r2, r0
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
mov r0, r1
|
||||
ldmia sp!, {r3, pc}
|
||||
arm_func_end ov00_023102C8
|
||||
|
|
@ -102520,7 +102520,7 @@ _02313038:
|
|||
rsb r2, r3, r2, lsl #24
|
||||
add r2, r3, r2, ror #24
|
||||
and r5, r2, #0xff
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
and r4, r1, #0xff
|
||||
mov r0, r6
|
||||
add r1, fp, r5
|
||||
|
|
@ -103992,7 +103992,7 @@ _02314508:
|
|||
and r0, r5, r0
|
||||
bls _02314528
|
||||
mov r1, sb
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
mov r0, r1
|
||||
_02314528:
|
||||
cmp r0, sb
|
||||
|
|
@ -105558,7 +105558,7 @@ _0231595C:
|
|||
bne _02315948
|
||||
_0231596C:
|
||||
mov r0, ip
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
mov r0, r1
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
|
|
@ -106238,7 +106238,7 @@ _02316168:
|
|||
bne _02316154
|
||||
_02316178:
|
||||
mov r0, ip
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
mov r0, r1
|
||||
ldmia sp!, {r3, pc}
|
||||
.align 2, 0
|
||||
|
|
@ -106824,7 +106824,7 @@ ov00_02316920: ; 0x02316920
|
|||
_0231694C:
|
||||
mov r0, r4
|
||||
mov r1, r5
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrsb r1, [r6, r1]
|
||||
mov r2, r4, lsr #0x1f
|
||||
rsb r0, r2, r4, lsl #29
|
||||
|
|
|
|||
|
|
@ -7757,13 +7757,13 @@ ov01_0232F830: ; 0x0232F830
|
|||
bl InitPreprocessorArgs
|
||||
ldr r1, _0232F904 ; =0x00002710
|
||||
mov r0, r4
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
ldr r1, _0232F904 ; =0x00002710
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
str r1, [sp, #0x28]
|
||||
ldr r1, _0232F904 ; =0x00002710
|
||||
mov r0, r4
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
mov r0, r5
|
||||
str r1, [sp, #0x2c]
|
||||
bl sub_02027B1C
|
||||
|
|
@ -14316,11 +14316,11 @@ _023350EC:
|
|||
bge _0233513C
|
||||
mov r0, r5
|
||||
mov r1, #0x12
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r6, r1
|
||||
mov r0, r5
|
||||
mov r1, #0x12
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r1, #0xc
|
||||
mul r2, r6, r1
|
||||
mov r1, r0, lsl #4
|
||||
|
|
@ -14486,13 +14486,13 @@ ov01_02335280: ; 0x02335280
|
|||
mov r0, r0, lsl #0x10
|
||||
mov r4, r0, asr #0x10
|
||||
mov r0, r4
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
movs r6, r1
|
||||
movne r5, #2
|
||||
mov r0, r4
|
||||
mov r1, #6
|
||||
moveq r5, #0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r0, r6, r0, lsl #3
|
||||
add r0, r0, r5
|
||||
mov r0, r0, lsl #0x10
|
||||
|
|
@ -18303,7 +18303,7 @@ _02338438:
|
|||
_02338474:
|
||||
ldr r0, [sb, #0x58]
|
||||
mov r1, #0xa
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r1, #0
|
||||
bne _023384B8
|
||||
ldr r0, _02338844 ; =ov01_0233C210
|
||||
|
|
|
|||
|
|
@ -5556,7 +5556,7 @@ ov02_0232DD08: ; 0x0232DD08
|
|||
ldr r0, [r0, #4]
|
||||
sub r0, r0, r4
|
||||
mul r0, r2, r0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r0, r4, r0
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end ov02_0232DD08
|
||||
|
|
@ -6104,12 +6104,12 @@ _0232E17A:
|
|||
str r0, [sp, #0x60]
|
||||
ldr r0, [sp, #0xc]
|
||||
lsl r1, r1, #2
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [sp, #0x14]
|
||||
mov r1, #0xfa
|
||||
ldr r0, [sp, #0xc]
|
||||
lsl r1, r1, #2
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r0, #0xfa
|
||||
lsl r0, r0, #2
|
||||
mul r0, r1
|
||||
|
|
@ -9352,7 +9352,7 @@ _0232FAF0:
|
|||
ldr r1, [sp]
|
||||
add r0, r7, r0
|
||||
ldr r1, [r1, #0xc]
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
ldrb r0, [r4, r1]
|
||||
add r6, r6, #1
|
||||
strb r7, [r4, r1]
|
||||
|
|
@ -9408,14 +9408,14 @@ ov02_0232FB4C: ; 0x0232FB4C
|
|||
ldr r0, [r5]
|
||||
ldr r1, [sp]
|
||||
add r0, r0, #1
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
lsl r0, r1, #0x18
|
||||
lsr r7, r0, #0x18
|
||||
ldrb r6, [r4, r7]
|
||||
ldr r0, [r5, #4]
|
||||
ldr r1, [sp]
|
||||
add r0, r6, r0
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
lsl r0, r1, #0x18
|
||||
lsr r1, r0, #0x18
|
||||
ldrb r0, [r4, r1]
|
||||
|
|
@ -9425,7 +9425,7 @@ ov02_0232FB4C: ; 0x0232FB4C
|
|||
strb r0, [r4, r7]
|
||||
ldr r1, [r5, #0xc]
|
||||
add r0, r6, r0
|
||||
bl __udivsi3
|
||||
bl _u32_div_f
|
||||
ldrb r0, [r4, r1]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
|
|
@ -9593,7 +9593,7 @@ ov02_0232FCA0: ; 0x0232FCA0
|
|||
asr r4, r1, #1
|
||||
add r1, r6, #0
|
||||
add r7, r3, #0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r0, #0
|
||||
cmp r4, #0
|
||||
ble _0232FCD2
|
||||
|
|
|
|||
|
|
@ -5693,7 +5693,7 @@ _02341688:
|
|||
bge _023416F0
|
||||
mov r0, r7
|
||||
mov r1, #0x1b
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r1, #0
|
||||
bne _023416E4
|
||||
strb r6, [sl, r8]
|
||||
|
|
|
|||
|
|
@ -2498,11 +2498,11 @@ ov10_022BEB2C: ; 0x022BEB2C
|
|||
mul r2, r0, r6
|
||||
strh r2, [r4, #0x26]
|
||||
ldrsh r0, [r4, #0x24]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
strh r0, [r4, #0x24]
|
||||
ldrsh r0, [r4, #0x26]
|
||||
add r1, r6, #1
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
strh r0, [r4, #0x26]
|
||||
ldrsh r0, [r4, #0x26]
|
||||
sub r0, r0, #9
|
||||
|
|
@ -2828,7 +2828,7 @@ ov10_022BF01C: ; 0x022BF01C
|
|||
mov r5, r0
|
||||
mov r0, r6
|
||||
mov r1, #0x258
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r1, r1, lsl #0x10
|
||||
ldrsh r3, [r4, #0x14]
|
||||
mov r2, #0
|
||||
|
|
@ -2861,7 +2861,7 @@ ov10_022BF088: ; 0x022BF088
|
|||
mov r5, r0
|
||||
mov r0, r6
|
||||
mov r1, #0x258
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r1, r1, lsl #0x10
|
||||
ldrsh r3, [r4, #0x14]
|
||||
mov r2, #0
|
||||
|
|
@ -2894,7 +2894,7 @@ ov10_022BF0F4: ; 0x022BF0F4
|
|||
mov r5, r0
|
||||
mov r0, r6
|
||||
mov r1, #0x258
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r1, r1, lsl #0x10
|
||||
ldrsh r3, [r4, #0x14]
|
||||
mov r2, #0
|
||||
|
|
@ -3618,7 +3618,7 @@ ov10_022BFA3C: ; 0x022BFA3C
|
|||
mov r5, r0
|
||||
mov r0, r6
|
||||
mov r1, #0x258
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r1, r1, lsl #0x10
|
||||
ldrsh r3, [r4, #0x14]
|
||||
mov r2, #0
|
||||
|
|
|
|||
|
|
@ -21718,20 +21718,20 @@ _022EEA00:
|
|||
_022EEA18:
|
||||
ldr r0, [r4, #0x3c]
|
||||
mov r1, #3
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [r4, #0x44]
|
||||
ldr r0, [r4, #0x40]
|
||||
mov r1, #3
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [r4, #0x48]
|
||||
ldr r0, [r4, #0x34]
|
||||
mov r1, #0x18
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r0, r1, #0x10
|
||||
str r0, [r4, #0x4c]
|
||||
ldr r0, [r4, #0x38]
|
||||
mov r1, #0x18
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r1, [r4, #0x50]
|
||||
ldmia sp!, {r4, pc}
|
||||
arm_func_end ov11_022EE9B0
|
||||
|
|
@ -26899,14 +26899,14 @@ _022F2B6C:
|
|||
ldr r0, [r5]
|
||||
mov r1, #0x480
|
||||
add sl, sb, r8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, _022F2F10 ; =ov11_023210D4
|
||||
ldr r0, [r0, r4, lsl #2]
|
||||
sub r0, r0, r1
|
||||
str r0, [sb, r8]
|
||||
ldr r0, [r5, #4]
|
||||
ldr r1, _022F2F08 ; =0x0000049C
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, _022F2F10 ; =ov11_023210D4
|
||||
add r0, r0, r4, lsl #2
|
||||
ldr r0, [r0, #0x8c]
|
||||
|
|
@ -26971,7 +26971,7 @@ _022F2C74:
|
|||
mov r0, sl
|
||||
mov r1, #5
|
||||
add sb, r6, r8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, _022F2F14 ; =ov11_023210AC
|
||||
ldr r3, [r0, r1, lsl #2]
|
||||
ldr r1, [r5]
|
||||
|
|
@ -26982,11 +26982,11 @@ _022F2C74:
|
|||
sub r1, r3, r1
|
||||
str r1, [r6, r8]
|
||||
mov r1, #5
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov fp, r0
|
||||
ldr r0, [r5, #4]
|
||||
mov r1, #0x300
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, _022F2F14 ; =ov11_023210AC
|
||||
add r0, r0, fp, lsl #2
|
||||
ldr r0, [r0, #0x14]
|
||||
|
|
@ -27049,7 +27049,7 @@ _022F2D7C:
|
|||
ldrsh r2, [r7, #2]
|
||||
mov r0, #0xa0
|
||||
smulbb r0, r2, r0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
b _022F2DB8
|
||||
_022F2DB4:
|
||||
mov r0, #0xa0
|
||||
|
|
@ -27064,22 +27064,22 @@ _022F2DC8:
|
|||
mov r0, sl
|
||||
mov r1, #5
|
||||
add sb, fp, r8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r7, r1
|
||||
ldr r0, [r5]
|
||||
mov r1, #0xf0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, _022F2F18 ; =ov11_02321098
|
||||
ldr r2, [r0, r7, lsl #2]
|
||||
mov r0, sl
|
||||
sub r1, r2, r1
|
||||
str r1, [fp, r8]
|
||||
mov r1, #5
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r7, r0
|
||||
ldr r0, [r5, #4]
|
||||
mov r1, #0x300
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, _022F2F14 ; =ov11_023210AC
|
||||
add r0, r0, r7, lsl #2
|
||||
ldr r0, [r0, #0x14]
|
||||
|
|
@ -66688,7 +66688,7 @@ _02314080:
|
|||
add r1, r1, r7
|
||||
str r8, [r1, #0x38]
|
||||
mov r1, #0xf
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r3, [r4]
|
||||
ldr r1, _023145FC ; =ov11_02323DD0
|
||||
add r3, r3, r7
|
||||
|
|
@ -66795,7 +66795,7 @@ _02314240:
|
|||
mul sb, sl, r5
|
||||
mov r0, sl
|
||||
mov r1, fp
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r0, sl, asr #2
|
||||
add r0, sl, r0, lsr #29
|
||||
mov r2, r0, asr #3
|
||||
|
|
@ -66907,7 +66907,7 @@ _02314374:
|
|||
ldr r2, [r7, #0x24]
|
||||
rsb r2, r2, #0x64
|
||||
mul r0, r2, r0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r1, r5, asr #4
|
||||
add r2, r7, r4
|
||||
strh r0, [r2, #0x40]
|
||||
|
|
@ -67208,7 +67208,7 @@ _023147F4:
|
|||
ldr r1, [r4, #0x28]
|
||||
ldr r0, [r4, #4]
|
||||
add r1, r1, #8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r1, #1
|
||||
bne _0231482C
|
||||
ldr r0, [r4, #8]
|
||||
|
|
@ -67225,7 +67225,7 @@ _0231482C:
|
|||
ldr r1, [r4, #0x28]
|
||||
ldr r0, [r4, #4]
|
||||
add r1, r1, #8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r1, #0
|
||||
bne _02314D24
|
||||
ldr r1, [r4, #8]
|
||||
|
|
@ -67264,7 +67264,7 @@ _023148CC:
|
|||
ldr r1, [r4, #0x28]
|
||||
ldr r0, [r4, #4]
|
||||
add r1, r1, #6
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r1, #0
|
||||
bne _02314D24
|
||||
ldr r1, [r4, #8]
|
||||
|
|
@ -67275,7 +67275,7 @@ _023148CC:
|
|||
mov r1, #3
|
||||
ldr r4, [r0, #8]
|
||||
mov r0, r4
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r1, #0
|
||||
bne _0231493C
|
||||
add r0, r4, r4, lsr #31
|
||||
|
|
@ -67295,12 +67295,12 @@ _0231493C:
|
|||
ldr r0, [r0]
|
||||
ldr r4, [r0, #8]
|
||||
mov r0, r4
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r1, #0
|
||||
bne _02314988
|
||||
mov r0, r4
|
||||
mov r1, #3
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r1, r0, lsr #0x1f
|
||||
rsb r0, r1, r0, lsl #30
|
||||
add r0, r1, r0, ror #30
|
||||
|
|
@ -67315,12 +67315,12 @@ _02314988:
|
|||
ldr r0, [r0]
|
||||
ldr r4, [r0, #8]
|
||||
mov r0, r4
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r1, #1
|
||||
bne _02314D24
|
||||
mov r0, r4
|
||||
mov r1, #3
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r1, r0, lsr #0x1f
|
||||
rsb r0, r1, r0, lsl #30
|
||||
ldr r2, _02314D3C ; =ov11_02324460
|
||||
|
|
@ -67378,7 +67378,7 @@ _02314A38:
|
|||
mov r0, #0xb7
|
||||
mul r0, r2, r0
|
||||
mov r1, #0x140
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, [sb, #0xc]
|
||||
mov fp, r1
|
||||
add r0, r0, #1
|
||||
|
|
@ -67388,7 +67388,7 @@ _02314A9C:
|
|||
ldr sb, [r4]
|
||||
mov r1, #3
|
||||
ldr r0, [sb, #4]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r1, #1
|
||||
bne _02314CA0
|
||||
ldr r0, [sb, #8]
|
||||
|
|
@ -67405,7 +67405,7 @@ _02314A9C:
|
|||
mov r0, #0x9f
|
||||
mul r0, r2, r0
|
||||
mov r1, #0x140
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, [sb, #0x10]
|
||||
mov fp, r1
|
||||
add r0, r0, #1
|
||||
|
|
@ -67433,7 +67433,7 @@ _02314B04:
|
|||
mov r0, #0x92
|
||||
mul r0, r2, r0
|
||||
mov r1, #0x140
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, [sb, #0x14]
|
||||
mov fp, r1
|
||||
add r0, r0, #1
|
||||
|
|
@ -67443,7 +67443,7 @@ _02314B70:
|
|||
ldr sb, [r4]
|
||||
mov r1, #5
|
||||
ldr r0, [sb, #4]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r1, #2
|
||||
bne _02314CA0
|
||||
ldr r0, [sb, #8]
|
||||
|
|
@ -67460,7 +67460,7 @@ _02314B70:
|
|||
mov r0, #0x9b
|
||||
mul r0, r2, r0
|
||||
mov r1, #0x140
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, [sb, #0x18]
|
||||
mov fp, r1
|
||||
add r0, r0, #1
|
||||
|
|
@ -67471,7 +67471,7 @@ _02314BD8:
|
|||
mov r1, #5
|
||||
ldr sb, [r0, #8]
|
||||
mov r0, sb
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r1, #3
|
||||
bne _02314CA0
|
||||
mov r1, sb, lsr #0x1f
|
||||
|
|
@ -67486,7 +67486,7 @@ _02314BD8:
|
|||
ldr r2, [sb, #0x1c]
|
||||
mov r1, #0x140
|
||||
mul r0, r2, sl
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, [sb, #0x1c]
|
||||
mov fp, r1
|
||||
add r0, r0, #1
|
||||
|
|
@ -67497,7 +67497,7 @@ _02314C3C:
|
|||
mov r1, #6
|
||||
ldr sb, [r0, #8]
|
||||
mov r0, sb
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r1, #3
|
||||
bne _02314CA0
|
||||
mov r1, sb, lsr #0x1f
|
||||
|
|
@ -67513,7 +67513,7 @@ _02314C3C:
|
|||
ldr r0, _02314D40 ; =0x000001BF
|
||||
mov r1, #0x140
|
||||
mul r0, r2, r0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, [sb, #0x20]
|
||||
mov fp, r1
|
||||
add r0, r0, #1
|
||||
|
|
@ -67537,7 +67537,7 @@ _02314CA0:
|
|||
mov r0, #0x3c00
|
||||
mul r0, r2, r0
|
||||
mov r1, r1, lsl #5
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrh r1, [r6, #0x12]
|
||||
rsb r0, r0, #0x200
|
||||
mul r0, r1, r0
|
||||
|
|
@ -68092,18 +68092,18 @@ _02315440:
|
|||
mov r1, r4
|
||||
ldrh r4, [r2, r0]
|
||||
mov r0, #0x1000
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r1, #0xa
|
||||
mul r7, r0, r1
|
||||
mul r0, r5, r4
|
||||
mov r1, r7
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r2, [r8, #4]
|
||||
mov r1, r7
|
||||
add r2, r2, r0
|
||||
mul r0, r6, r4
|
||||
str r2, [r8, #4]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r1, [r8, #8]
|
||||
sub r0, r1, r0
|
||||
str r0, [r8, #8]
|
||||
|
|
@ -68792,7 +68792,7 @@ _02315E68:
|
|||
add r0, r1, r0, lsr #30
|
||||
mov r0, r0, asr #2
|
||||
mov r1, #3
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
sub r1, r1, #0xc4
|
||||
ldr r0, _02315ED4 ; =ov11_02324E34
|
||||
str r1, [r4, #8]
|
||||
|
|
|
|||
|
|
@ -1652,7 +1652,7 @@ _0238B8BC:
|
|||
_0238B910:
|
||||
mov r1, #0x15
|
||||
add r0, r6, r7
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r0, r1, lsl #1
|
||||
ldrsh sl, [fp, r0]
|
||||
mov r1, #0
|
||||
|
|
|
|||
|
|
@ -932,7 +932,7 @@ SentryUpdateDisplay: ; 0x0238ADFC
|
|||
beq _0238AECC
|
||||
ldr r0, [r0, #0x874]
|
||||
mov r1, #0x3c
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r0, r0, asr #0x10
|
||||
cmp r0, #9
|
||||
|
|
@ -2981,7 +2981,7 @@ SentryStateGetUserChoice: ; 0x0238CA94
|
|||
ldr r0, [r2]
|
||||
add r0, r0, #0x3000
|
||||
ldr r0, [r0, #0x874]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r8, r0, asr #0x10
|
||||
mov r1, r8, lsr #0x1f
|
||||
|
|
@ -2993,7 +2993,7 @@ SentryStateGetUserChoice: ; 0x0238CA94
|
|||
ldr r4, [r0]
|
||||
add r0, r4, #0x3000
|
||||
ldr r0, [r0, #0x874]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r0, #0x10
|
||||
bge _0238CDE0
|
||||
mov r4, #0
|
||||
|
|
|
|||
|
|
@ -2425,7 +2425,7 @@ _0238C448:
|
|||
bl ov16_0238CC64
|
||||
bl Rand16Bit
|
||||
mov r1, #0x64
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, _0238CADC ; =OVERLAY16_UNKNOWN_POINTER__NA_238CE40
|
||||
ldr r2, [r0]
|
||||
strb r1, [r2, #6]
|
||||
|
|
|
|||
|
|
@ -1015,7 +1015,7 @@ _0238AEE8:
|
|||
mov r0, r0, lsl #0x10
|
||||
mov r0, r0, lsr #0x10
|
||||
mov r1, #0x64
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r5, r1, lsl #0x10
|
||||
add r0, sb, #0x84
|
||||
bl sub_02011E18
|
||||
|
|
@ -1028,7 +1028,7 @@ _0238AEE8:
|
|||
str r5, [sp]
|
||||
bl Rand16Bit
|
||||
ldr r1, [r5, #4]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r2, [r5]
|
||||
mov r0, #0x18
|
||||
mla r0, r1, r0, r2
|
||||
|
|
|
|||
|
|
@ -957,7 +957,7 @@ _0238AECC:
|
|||
_0238AF00:
|
||||
bl Rand16Bit
|
||||
mov r1, #0x64
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, _0238B3D8 ; =_020A1868
|
||||
ldrsh r0, [r0]
|
||||
cmp r1, r0
|
||||
|
|
@ -1888,7 +1888,7 @@ _0238BCA8:
|
|||
_0238BCDC:
|
||||
bl Rand16Bit
|
||||
mov r1, #0x64
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, _0238C1B4 ; =_020A1868
|
||||
ldrsh r0, [r0]
|
||||
cmp r1, r0
|
||||
|
|
|
|||
|
|
@ -718,7 +718,7 @@ _022DCB24:
|
|||
mov fp, r6, lsl #5
|
||||
mov r0, r2, asr #2
|
||||
mov r6, r3, lsr #0x10
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
str r0, [sp, #4]
|
||||
|
|
@ -1374,7 +1374,7 @@ ov29_022DD518: ; 0x022DD518
|
|||
mov r0, r0, asr #2
|
||||
smulbb r2, r3, r2
|
||||
mov r6, r2, lsl #5
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
mov r0, #0xe
|
||||
|
|
|
|||
|
|
@ -1436,7 +1436,7 @@ _022EA848:
|
|||
bge _022EA910
|
||||
rsb r0, r1, r1, lsl #8
|
||||
mov r1, #0x1f
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
_022EA910:
|
||||
ldr ip, _022EA95C ; =ov29_0237C850
|
||||
mov r1, r4, lsl #0x10
|
||||
|
|
|
|||
|
|
@ -163,7 +163,7 @@ _022EACFC: .word 0x000003E6
|
|||
MusicTableIdxToMusicId: ; 0x022EAD00
|
||||
stmdb sp!, {r4, lr}
|
||||
mov r1, #0xaa
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, _022EAD5C ; =MUSIC_ID_TABLE
|
||||
mov r1, r1, lsl #1
|
||||
ldrh r4, [r0, r1]
|
||||
|
|
|
|||
|
|
@ -199,7 +199,7 @@ ov29_022EC8A8: ; 0x022EC8A8
|
|||
mov r0, r2
|
||||
mov r1, #0x30
|
||||
mov r4, r3
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r3, r1, lsl #1
|
||||
and r0, r3, #0xff
|
||||
mov r2, r0, lsr #1
|
||||
|
|
|
|||
|
|
@ -4067,14 +4067,14 @@ _022F3EE0:
|
|||
ldrsh r0, [r7, r0]
|
||||
mov r1, #0x18
|
||||
add r0, r2, r0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r1, _022F40B4 ; =0x0001A226
|
||||
ldr r3, [sp, #4]
|
||||
ldrsh r2, [r7, r1]
|
||||
mov r7, r0
|
||||
mov r1, #0x18
|
||||
add r0, r3, r2
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r8, r0
|
||||
strh r7, [sb]
|
||||
strh r8, [sb, #2]
|
||||
|
|
|
|||
|
|
@ -711,7 +711,7 @@ _022F5C3C:
|
|||
movgt r1, r0
|
||||
mov r0, r1, lsl #3
|
||||
mov r1, #0xa
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrsh r1, [sb, #0x10]
|
||||
cmp r1, r0
|
||||
movge r4, #0
|
||||
|
|
|
|||
|
|
@ -6000,7 +6000,7 @@ _022FC128:
|
|||
str r0, [sp, #4]
|
||||
mov r0, fp
|
||||
mov r1, #0x258
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, _022FC230 ; =DUNGEON_PTR
|
||||
mov r1, r1, lsl #0x10
|
||||
ldr r0, [r0]
|
||||
|
|
@ -6078,7 +6078,7 @@ InitEnemyStatsAndMoves: ; 0x022FC234
|
|||
mov r8, r2
|
||||
mov r7, r3
|
||||
ldr r6, [sp, #0x34]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r0, r1, lsl #0x10
|
||||
ldr r2, _022FC464 ; =DUNGEON_PTR
|
||||
mov r4, r0, asr #0x10
|
||||
|
|
|
|||
|
|
@ -2797,7 +2797,7 @@ _02302580:
|
|||
mov r1, #0x64
|
||||
ldrsh r0, [r0]
|
||||
mov r0, r0, lsl #8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r1, r0
|
||||
mov r0, r6, lsl #8
|
||||
bl MultiplyByFixedPoint
|
||||
|
|
@ -2812,7 +2812,7 @@ _023025C0:
|
|||
mov r1, #0x64
|
||||
ldrsh r0, [r0]
|
||||
mov r0, r0, lsl #8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r1, r0
|
||||
mov r0, r6, lsl #8
|
||||
bl MultiplyByFixedPoint
|
||||
|
|
@ -2827,7 +2827,7 @@ _023025F8:
|
|||
mov r1, #0x64
|
||||
ldrsh r0, [r0]
|
||||
mov r0, r0, lsl #8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r1, r0
|
||||
mov r0, r6, lsl #8
|
||||
bl MultiplyByFixedPoint
|
||||
|
|
@ -2848,7 +2848,7 @@ _02302650:
|
|||
mov r1, #0x64
|
||||
ldrsh r0, [r0]
|
||||
mov r0, r0, lsl #8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r1, r0
|
||||
mov r0, r6, lsl #8
|
||||
bl MultiplyByFixedPoint
|
||||
|
|
|
|||
|
|
@ -483,7 +483,7 @@ ov29_02304D20: ; 0x02304D20
|
|||
ldr r1, [r5]
|
||||
mov r0, #0x18
|
||||
mov r1, r1, lsl #1
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r1, sb, #0x100
|
||||
strh r0, [r1, #0xb4]
|
||||
ldr r0, [sb, #0x1ac]
|
||||
|
|
@ -496,7 +496,7 @@ ov29_02304D20: ; 0x02304D20
|
|||
str r2, [sb, #0x1b0]
|
||||
ldr r1, [r1]
|
||||
mov r1, r1, lsl #1
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
strh r0, [r7, #0x18]
|
||||
ldr r0, [r7, #0x10]
|
||||
mov r0, r0, lsl #1
|
||||
|
|
@ -516,7 +516,7 @@ _02304E80:
|
|||
ldr r1, [r5]
|
||||
mov r0, r4
|
||||
add r1, r1, r1, lsl #1
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r1, r8, #0x100
|
||||
strh r0, [r1, #0xb4]
|
||||
ldr r0, [r8, #0x1ac]
|
||||
|
|
@ -540,7 +540,7 @@ _02304E80:
|
|||
mov r0, #0x18
|
||||
ldr r1, [r1]
|
||||
add r1, r1, r1, lsl #1
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
strh r0, [r7, #0x18]
|
||||
ldr r0, [r7, #0x10]
|
||||
add r0, r0, r0, lsl #1
|
||||
|
|
@ -561,7 +561,7 @@ _02304F2C:
|
|||
ldr r1, [r5]
|
||||
mov r0, r6
|
||||
mov r1, r1, lsl #2
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r1, sl, #0x100
|
||||
strh r0, [r1, #0xb4]
|
||||
ldr r0, [sl, #0x1ac]
|
||||
|
|
@ -572,11 +572,11 @@ _02304F2C:
|
|||
mov r0, r0, lsl #2
|
||||
str r0, [sl, #0x1b0]
|
||||
ldr r0, [sl, #0x1ac]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [sl, #0x1ac]
|
||||
ldr r0, [sl, #0x1b0]
|
||||
mov r1, #3
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r8, r8, #1
|
||||
str r0, [sl, #0x1b0]
|
||||
cmp r8, #3
|
||||
|
|
@ -585,7 +585,7 @@ _02304F2C:
|
|||
mov r0, #0x18
|
||||
ldr r1, [r1]
|
||||
mov r1, r1, lsl #2
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
strh r0, [r7, #0x18]
|
||||
ldr r0, [r7, #0x10]
|
||||
mov r0, r0, lsl #2
|
||||
|
|
@ -597,7 +597,7 @@ _02304F2C:
|
|||
_02304FC0:
|
||||
ldr r1, [r5]
|
||||
mov r0, #0x18
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
strh r0, [r7, #0x18]
|
||||
ldmia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, fp, pc}
|
||||
.align 2, 0
|
||||
|
|
@ -825,7 +825,7 @@ _02305314:
|
|||
ldr r1, _02305584 ; =ov29_0237C9CC
|
||||
mov r0, #0x18
|
||||
ldr r1, [r1]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r5, r0
|
||||
blt _023051B0
|
||||
_0230532C:
|
||||
|
|
|
|||
|
|
@ -5681,7 +5681,7 @@ _0230C8E0:
|
|||
str r0, [r1]
|
||||
beq _0230C920
|
||||
mov r1, fp
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r1, sp, #0x90
|
||||
str r0, [r1]
|
||||
_0230C920:
|
||||
|
|
@ -5691,7 +5691,7 @@ _0230C920:
|
|||
add r4, sp, #0x94
|
||||
mov r1, r0
|
||||
ldr r0, [r4]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [r4]
|
||||
_0230C940:
|
||||
ldr r0, [sp, #0x90]
|
||||
|
|
|
|||
|
|
@ -165,7 +165,7 @@ _02315348:
|
|||
mov r1, r1, lsl #8
|
||||
bl MultiplyByFixedPoint
|
||||
mov r1, #0x64
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r5, r5, r0, asr #8
|
||||
_0231537C:
|
||||
ldrsh r1, [sb, #0x12]
|
||||
|
|
@ -1929,7 +1929,7 @@ _02316C08:
|
|||
mov r1, r1, lsl #8
|
||||
bl MultiplyByFixedPoint
|
||||
mov r1, #0x64
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
bl sub_02001888
|
||||
ldr r1, _02317108 ; =0x000003E7
|
||||
add r8, r8, r0, asr #8
|
||||
|
|
|
|||
|
|
@ -302,7 +302,7 @@ _0231A3A4:
|
|||
beq _0231A404
|
||||
ldrsh r0, [r5, #2]
|
||||
mov r1, #0x258
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r0, _0231A45C ; =DUNGEON_PTR
|
||||
ldr r0, [r0]
|
||||
add r0, r0, r1
|
||||
|
|
|
|||
|
|
@ -292,7 +292,7 @@ _0231F1B0:
|
|||
ldrsh r0, [r0, r1]
|
||||
mov r1, #3
|
||||
mov r0, r0, lsl #8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrsh sl, [sp, #0x40]
|
||||
mov r1, #0x18
|
||||
ldr r2, _0231F560 ; =ov29_0235171E
|
||||
|
|
@ -303,7 +303,7 @@ _0231F1B0:
|
|||
ldrsh r2, [r2, r3]
|
||||
mov r1, #3
|
||||
mov r0, r2, lsl #8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrsh r2, [sp, #0x42]
|
||||
mov r1, #0x18
|
||||
ldr sl, [r4, #0xc]
|
||||
|
|
@ -313,7 +313,7 @@ _0231F1B0:
|
|||
ldr r0, [r4, #0x10]
|
||||
mov r1, sb
|
||||
sub r0, fp, r0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str sl, [sp, #0x38]
|
||||
ldr r1, [r4, #0x10]
|
||||
str r0, [sp, #0x18]
|
||||
|
|
@ -321,7 +321,7 @@ _0231F1B0:
|
|||
str r1, [sp, #0x3c]
|
||||
mov r1, sb
|
||||
mov sl, #0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [sp, #0x1c]
|
||||
b _0231F31C
|
||||
_0231F294:
|
||||
|
|
@ -357,7 +357,7 @@ _0231F294:
|
|||
_0231F308:
|
||||
mov r0, #0x800
|
||||
mov r1, sb
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r7, r7, r0
|
||||
add sl, sl, #1
|
||||
_0231F31C:
|
||||
|
|
|
|||
|
|
@ -322,7 +322,7 @@ _0231F9C4:
|
|||
smulbb r2, r2, fp
|
||||
add r2, r2, #4
|
||||
rsb r0, r0, r2, lsl #8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r1, r4, sb, lsl #3
|
||||
add r1, r1, #0x1000
|
||||
str r0, [r1, #0x2f4]
|
||||
|
|
@ -334,7 +334,7 @@ _0231F9C4:
|
|||
smulbb r0, r0, r5
|
||||
add r0, r0, #4
|
||||
rsb r0, r2, r0, lsl #8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r1, r4, sb, lsl #3
|
||||
add r1, r1, #0x1000
|
||||
str r0, [r1, #0x2f8]
|
||||
|
|
|
|||
|
|
@ -150,11 +150,11 @@ _02320394:
|
|||
sub r0, r6, r8
|
||||
mov r1, #0xc
|
||||
mov r5, #0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [sp]
|
||||
sub r0, r7, sb
|
||||
mov r1, #0xc
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov fp, r0
|
||||
mov r4, r5
|
||||
_023203C0:
|
||||
|
|
|
|||
|
|
@ -2160,7 +2160,7 @@ _023232E4:
|
|||
ldrsh r2, [r2, r4]
|
||||
str r3, [sp, #0x10]
|
||||
str r2, [sp, #0xc]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r2, [sp, #0x84]
|
||||
str r0, [sp, #0x18]
|
||||
mul r1, r2, r0
|
||||
|
|
@ -2175,7 +2175,7 @@ _0232335C:
|
|||
_02323360:
|
||||
mov r0, #0x80000
|
||||
mov sb, #0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [sp, #0x80]
|
||||
mov r0, #1
|
||||
bl ov29_0234B4CC
|
||||
|
|
@ -2623,7 +2623,7 @@ _02323984:
|
|||
mov r4, r0
|
||||
mov r1, r6
|
||||
mov r0, #0x18
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [sp]
|
||||
cmp r0, #2
|
||||
|
|
@ -2643,7 +2643,7 @@ _02323A18:
|
|||
_02323A20:
|
||||
mov r0, #0x80000
|
||||
mov r5, #0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [sp, #0x1c]
|
||||
ldrb r2, [r7, #0x4c]
|
||||
ldr r1, _02323C38 ; =ov29_02352A8C
|
||||
|
|
|
|||
|
|
@ -453,7 +453,7 @@ _0232A9B8:
|
|||
add r0, r0, #0xc
|
||||
rsb r0, r1, r0, lsl #8
|
||||
mov r1, #0xc
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldrsh r3, [sp, #0x26]
|
||||
mov r1, #0x18
|
||||
ldr r2, [sb, #0x10]
|
||||
|
|
@ -462,7 +462,7 @@ _0232A9B8:
|
|||
mov r5, r0
|
||||
rsb r0, r2, r1, lsl #8
|
||||
mov r1, #0xc
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r4, r0
|
||||
add r0, sb, #4
|
||||
bl ov29_022E2CA0
|
||||
|
|
|
|||
|
|
@ -1320,7 +1320,7 @@ DoMoveTrumpCard: ; 0x0232D560
|
|||
mov r0, #0x64
|
||||
mul r0, r4, r0
|
||||
moveq r1, #1
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r0, #0x19
|
||||
bgt _0232D5BC
|
||||
mov r0, r8
|
||||
|
|
|
|||
|
|
@ -411,7 +411,7 @@ DigitCount: ; 0x02335670
|
|||
b _023356B0
|
||||
_0233569C:
|
||||
mov r1, r4
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r0, r0, asr #0x10
|
||||
add r5, r5, #1
|
||||
|
|
@ -622,7 +622,7 @@ _023358E8:
|
|||
mov r1, #0xa
|
||||
strh r2, [sp]
|
||||
strh fp, [sp, #2]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r0, sb, r1
|
||||
mov r0, r0, lsl #0x10
|
||||
mov r7, r0, asr #0x10
|
||||
|
|
@ -640,7 +640,7 @@ _023358E8:
|
|||
bl sub_0201F2A0
|
||||
mov r0, sl
|
||||
mov r1, #0xa
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r0, r0, lsl #0x10
|
||||
mov sl, r0, asr #0x10
|
||||
add r0, r4, r7, lsl #3
|
||||
|
|
@ -1588,7 +1588,7 @@ _02336094:
|
|||
strh sl, [sp, #2]
|
||||
strh r5, [sp, #8]
|
||||
strh r5, [sp, #0xa]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r0, r1, lsl #3
|
||||
strh r0, [sp, #0x16]
|
||||
add r0, sp, #0
|
||||
|
|
@ -1598,7 +1598,7 @@ _02336094:
|
|||
bl sub_0201F2A0
|
||||
mov r0, sb
|
||||
mov r1, #0xa
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r0, r0, lsl #0x10
|
||||
mov sb, r0, asr #0x10
|
||||
add r6, r6, #1
|
||||
|
|
|
|||
|
|
@ -3502,13 +3502,13 @@ _0233A9DC:
|
|||
_0233A9E4:
|
||||
ldr r1, [sp, #8]
|
||||
mov r0, #0x38
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
cmp r0, #7
|
||||
movle r0, #1
|
||||
strle r0, [sp, #8]
|
||||
ldr r1, [sp, #4]
|
||||
mov r0, #0x20
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r1, [r4]
|
||||
cmp r0, #7
|
||||
add r2, r1, #0x4000
|
||||
|
|
@ -5446,13 +5446,13 @@ _0233C584:
|
|||
_0233C590:
|
||||
add r1, r4, #4
|
||||
mov r0, #0x38
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r6, r0
|
||||
cmp r6, #2
|
||||
add r1, r5, #4
|
||||
mov r0, #0x20
|
||||
movlt r6, #1
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r7, r0
|
||||
cmp r7, #2
|
||||
movlt r7, #1
|
||||
|
|
@ -6158,7 +6158,7 @@ _0233CFA8:
|
|||
mov r0, r5
|
||||
mov r1, r8
|
||||
str r4, [sl, r6, lsl #2]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r4, r4, r0
|
||||
add r6, r6, #1
|
||||
_0233CFC0:
|
||||
|
|
@ -6173,7 +6173,7 @@ _0233CFDC:
|
|||
mov r0, r4
|
||||
mov r1, r7
|
||||
str r6, [sb, r5, lsl #2]
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r6, r6, r0
|
||||
add r5, r5, #1
|
||||
_0233CFF4:
|
||||
|
|
@ -10877,11 +10877,11 @@ _0234113C:
|
|||
beq _02341228
|
||||
add r0, r6, r6, lsl #2
|
||||
mov r1, #0xa
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r4, r0
|
||||
mov r0, r6, lsl #3
|
||||
mov r1, #0xa
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r1, r0
|
||||
mov r0, r4
|
||||
bl DungeonRandRange
|
||||
|
|
@ -11261,11 +11261,11 @@ _023416A0:
|
|||
beq _02341754
|
||||
rsb r0, r7, r7, lsl #3
|
||||
mov r1, #0xa
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r4, r0
|
||||
mov r0, r7, lsl #3
|
||||
mov r1, #0xa
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r1, r0
|
||||
mov r0, r4
|
||||
bl DungeonRandRange
|
||||
|
|
@ -12968,7 +12968,7 @@ _02342E30:
|
|||
beq _02342EA4
|
||||
bl DungeonRand16Bit
|
||||
mov r1, #0x64
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r5, r1
|
||||
ldrb r6, [r6, #0x1b]
|
||||
bl ShouldBoostHiddenStairsSpawnChance
|
||||
|
|
@ -13515,7 +13515,7 @@ _023435BC:
|
|||
mov fp, r0, lsl #0x10
|
||||
ldr r0, [sp, #0x18]
|
||||
mov r1, #0xa
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r3, [sl, #4]
|
||||
ldr r0, [sp, #0x20]
|
||||
str r3, [sp]
|
||||
|
|
|
|||
|
|
@ -113,7 +113,7 @@ _02344C10:
|
|||
bne _02344C10
|
||||
bl DungeonRand16Bit
|
||||
mov r1, #0xc
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r2, sp, #0
|
||||
mov r0, #6
|
||||
smlabb r0, r1, r0, r2
|
||||
|
|
|
|||
|
|
@ -1034,7 +1034,7 @@ _023464C4:
|
|||
ldr r2, [r6, #0xc]
|
||||
add r0, r0, #4
|
||||
rsb r0, r2, r0, lsl #8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r1, sp, #0x6c
|
||||
str r0, [r1, r8, lsl #3]
|
||||
add r0, fp, r8, lsl #2
|
||||
|
|
@ -1045,7 +1045,7 @@ _023464C4:
|
|||
ldr r2, [r6, #0x10]
|
||||
add r0, r0, #4
|
||||
rsb r0, r2, r0, lsl #8
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
add r1, sp, #0x6c
|
||||
add r1, r1, r8, lsl #3
|
||||
str r0, [r1, #4]
|
||||
|
|
@ -2028,7 +2028,7 @@ _02347224:
|
|||
beq _023472B8
|
||||
bl DungeonRand16Bit
|
||||
mov r1, sb
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
mov r0, r1, lsl #0x10
|
||||
add r1, sp, #0
|
||||
mov r0, r0, asr #0x10
|
||||
|
|
@ -2166,12 +2166,12 @@ _02347410:
|
|||
sub r0, r8, r5
|
||||
mov r1, #0x18
|
||||
mov r7, r6
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
ldr r1, [sp, #0x10]
|
||||
str r0, [sp, #8]
|
||||
sub r0, sb, r1
|
||||
mov r1, #0x18
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [sp, #4]
|
||||
mov r5, r6
|
||||
_0234744C:
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ _02347C8C:
|
|||
mov r1, fp
|
||||
mov r0, #0x80000
|
||||
mov r8, #0
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [sp, #0x18]
|
||||
ldrsh r0, [r6, #2]
|
||||
mov r1, #0x1800
|
||||
|
|
@ -103,14 +103,14 @@ _02347C8C:
|
|||
mul r1, r0, r1
|
||||
sub r0, r1, r6
|
||||
mov r1, fp
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [sp, #0x20]
|
||||
ldr r0, [sp, #0xc]
|
||||
mov r1, #0x1800
|
||||
mul r1, r0, r1
|
||||
sub r0, r1, r7
|
||||
mov r1, fp
|
||||
bl __divsi3
|
||||
bl _s32_div_f
|
||||
str r0, [sp, #0x1c]
|
||||
mov r0, r8
|
||||
str r0, [sp, #0x28]
|
||||
|
|
|
|||
11
common.mk
11
common.mk
|
|
@ -77,9 +77,10 @@ PRECOMPILE_OBJ_DIR := $(dir $(PRECOMPILE_OBJ))
|
|||
PRECOMPILE_DEPFILE := $(BUILD_DIR)/precompile/global.d
|
||||
|
||||
# Directories
|
||||
LIB_SUBDIRS := NitroSDK
|
||||
SRC_SUBDIR := src
|
||||
ASM_SUBDIR := asm
|
||||
LIB_SRC_SUBDIR := lib/src
|
||||
LIB_SRC_SUBDIR := lib/src $(LIB_SUBDIRS:%=lib/%/src)
|
||||
LIB_ASM_SUBDIR := lib/asm
|
||||
ALL_SUBDIRS := $(SRC_SUBDIR) $(ASM_SUBDIR) $(LIB_SRC_SUBDIR) $(LIB_ASM_SUBDIR)
|
||||
|
||||
|
|
@ -117,7 +118,7 @@ XMAP := $(NEF).xMAP
|
|||
|
||||
EXCCFLAGS := -Cpp_exceptions off
|
||||
|
||||
MWCFLAGS = $(DEFINES) $(OPTFLAGS) -enum int -lang c99 $(EXCCFLAGS) -gccext,on -proc $(PROC) -msgstyle gcc -gccinc -i ./include -i ./include/library -i $(WORK_DIR)/files -I$(WORK_DIR)/lib/include -interworking -inline on,noauto -char signed -W all -W pedantic -W noimpl_signedunsigned -W noimplicitconv -W nounusedarg -W nomissingreturn -W error
|
||||
MWCFLAGS = $(DEFINES) -enum int -lang c99 $(EXCCFLAGS) -gccext,on -proc $(PROC) -msgstyle gcc -gccinc -i ./include -i ./include/library -i $(WORK_DIR)/files -I$(WORK_DIR)/lib/include -interworking -inline on,noauto -char signed -W all -W pedantic -W noimpl_signedunsigned -W noimplicitconv -W nounusedarg -W nomissingreturn -W error
|
||||
|
||||
MWASFLAGS = $(DEFINES) -proc $(PROC_S) -gccinc -i . -i ./include -i $(WORK_DIR)/asm/include -i $(WORK_DIR)/files -i $(WORK_DIR)/lib/asm/include -i $(WORK_DIR)/lib/syscall/asm/include -I$(WORK_DIR)/lib/include -DSDK_ASM
|
||||
MWLDFLAGS := -proc $(PROC) -nopic -nopid -interworking -map closure,unused -symtab sort -m _start -msgstyle gcc
|
||||
|
|
@ -131,7 +132,8 @@ LIBRARY_INCLUDE_FLAGS := -I$(WORK_DIR)/lib/msl/include/MSL_C $(foreach dname,$(L
|
|||
SRC_INCLUDE_FLAGS := -i ./include -i ./include/library -i $(WORK_DIR)/files $(LIBRARY_INCLUDE_FLAGS)
|
||||
SDK_INCLUDE_FLAGS := $(LIBRARY_INCLUDE_FLAGS)
|
||||
|
||||
MW_COMPILE_SRC = $(WINE) $(MWCC) $(MWCFLAGS) $(SRC_INCLUDE_FLAGS) -i $(PRECOMPILE_OBJ_DIR) -prefix $(PRECOMPILE_OBJ_BASENAME)
|
||||
MW_COMPILE_SRC = $(WINE) $(MWCC) $(OPTFLAGS) $(MWCFLAGS) $(SRC_INCLUDE_FLAGS) -i $(PRECOMPILE_OBJ_DIR) -prefix $(PRECOMPILE_OBJ_BASENAME)
|
||||
MW_COMPILE_LIB = $(WINE) $(MWCC) $(OPTFLAGS_SDK) $(MWCFLAGS) $(SRC_INCLUDE_FLAGS) -i $(PRECOMPILE_OBJ_DIR) -prefix $(PRECOMPILE_OBJ_BASENAME)
|
||||
MW_COMPILE_SRC_PRECOMPILE = $(WINE) $(MWCC) $(MWCFLAGS) $(SRC_INCLUDE_FLAGS)
|
||||
|
||||
MW_ASSEMBLE = $(WINE) $(MWAS) $(MWASFLAGS)
|
||||
|
|
@ -184,6 +186,7 @@ ifeq ($(NODEP),)
|
|||
DEPFILES := $(ALL_OBJS:%.o=%.d)
|
||||
MW_COMPILE_SRC += $(DEPFLAGS)
|
||||
MW_COMPILE_SRC_PRECOMPILE += $(DEPFLAGS)
|
||||
MW_COMPILE_LIB += $(DEPFLAGS)
|
||||
$(GLOBAL_ASM_OBJS): BUILD_C_SRC := $(ASM_PROCESSOR) "$(MW_COMPILE_SRC)" "$(MW_ASSEMBLE)"
|
||||
BUILD_C_SRC ?= $(MW_COMPILE_SRC) -c -o
|
||||
BUILD_C_LIB := $(MW_COMPILE_LIB) -c -o
|
||||
|
|
@ -202,7 +205,7 @@ $(BUILD_DIR)/src/%.o: src/%.c $(BUILD_DIR)/src/%.d $(PRECOMPILE_OBJ)
|
|||
|
||||
$(BUILD_DIR)/lib/%.o: lib/%.c $(NITRO_PRECOMPILE_OBJ)
|
||||
$(BUILD_DIR)/lib/%.o: lib/%.c $(BUILD_DIR)/lib/%.d $(NITRO_PRECOMPILE_OBJ)
|
||||
$(MW_COMPILE_LIB) -I$(dir $<) -c -o $@ $<
|
||||
$(BUILD_C_LIB) $@ $< -I$(dir $<)
|
||||
@$(call fixdep,$(BUILD_DIR)/lib/$*.d)
|
||||
|
||||
$(BUILD_DIR)/%.o: %.s
|
||||
|
|
|
|||
62
lib/NitroSDK/include/dc_envelope.h
Normal file
62
lib/NitroSDK/include/dc_envelope.h
Normal file
|
|
@ -0,0 +1,62 @@
|
|||
#ifndef PMDSKY_DC_ENVELOPE_H
|
||||
#define PMDSKY_DC_ENVELOPE_H
|
||||
|
||||
#define ENVELOPE_STATE_OFF ((u8)0x00)
|
||||
#define ENVELOPE_STATE_CONST ((u8)0x01)
|
||||
#define ENVELOPE_STATE_DONE ((u8)0x02)
|
||||
#define ENVELOPE_STATE_ATTACK ((u8)0x03)
|
||||
#define ENVELOPE_STATE_HOLD ((u8)0x04)
|
||||
#define ENVELOPE_STATE_DECAY ((u8)0x05)
|
||||
#define ENVELOPE_STATE_SUSTAIN ((u8)0x06)
|
||||
#define ENVELOPE_STATE_RELEASE ((u8)0x07)
|
||||
#define ENVELOPE_STATE_RELEASE_END ((u8)0x08)
|
||||
|
||||
struct sound_envelope_parameters
|
||||
{
|
||||
u8 use_envelope;
|
||||
u8 slide_time_multiplier;
|
||||
u16 unknown;
|
||||
u32 unknown_2;
|
||||
//+0x08
|
||||
u8 attack_begin;
|
||||
u8 attack_time;
|
||||
u8 decay_time;
|
||||
u8 sustain_level;
|
||||
u8 hold_time;
|
||||
u8 sustain_time;
|
||||
u8 release_time;
|
||||
u8 unknown_3;
|
||||
//+0x10
|
||||
};
|
||||
|
||||
struct sound_envelope
|
||||
{
|
||||
struct sound_envelope_parameters parameters;
|
||||
//+0x10
|
||||
s32 current_volume;
|
||||
s32 volume_delta;
|
||||
s32 ticks_left;
|
||||
u8 state;
|
||||
u8 target_volume;
|
||||
u8 update_volume;
|
||||
//+0x20
|
||||
};
|
||||
|
||||
struct driver_work {
|
||||
u8 fill0[0x27];
|
||||
s16 usec_per_sound_driver_tick;
|
||||
};
|
||||
|
||||
void SoundEnvelopeReset(struct sound_envelope *envelope);
|
||||
void SoundEnvelopeParametersReset(struct sound_envelope_parameters *parameters);
|
||||
void SoundEnvelopeParametersCheckValidity(struct sound_envelope_parameters *parameters);
|
||||
void SoundEnvelopeSetParameters(struct sound_envelope *envelope, struct sound_envelope_parameters *parameters);
|
||||
void SoundEnvelopeSetSlide(struct sound_envelope *envelope, s32 target_volume, s32 msec_tab_index);
|
||||
void UpdateTrackVolumeEnvelopes(struct sound_envelope *envelope);
|
||||
void SoundEnvelopeRelease(struct sound_envelope *envelope);
|
||||
void SoundEnvelopeStop(struct sound_envelope *envelope);
|
||||
void SoundEnvelopeForceVolume(struct sound_envelope *envelope, s32 volume);
|
||||
void SoundEnvelopeStop2(struct sound_envelope *envelope);
|
||||
s8 SoundEnvelopeTick(struct sound_envelope *envelope);
|
||||
|
||||
#endif //PMDSKY_DC_ENVELOPE_H
|
||||
276
lib/NitroSDK/src/dc_envelope.c
Normal file
276
lib/NitroSDK/src/dc_envelope.c
Normal file
|
|
@ -0,0 +1,276 @@
|
|||
#include "dc_envelope.h"
|
||||
|
||||
extern u16 MUSIC_DURATION_LOOKUP_TABLE_1[128];
|
||||
extern u32 MUSIC_DURATION_LOOKUP_TABLE_2[128];
|
||||
extern struct driver_work DRIVER_WORK;
|
||||
|
||||
void SoundEnvelopeReset(struct sound_envelope *envelope)
|
||||
{
|
||||
envelope->parameters.use_envelope = 0;
|
||||
envelope->state = ENVELOPE_STATE_OFF;
|
||||
envelope->current_volume = 0;
|
||||
}
|
||||
|
||||
void SoundEnvelopeParametersReset(struct sound_envelope_parameters *parameters)
|
||||
{
|
||||
/*
|
||||
parameters->use_envelope = 0;
|
||||
parameters->slide_time_multiplier = 0xff;
|
||||
parameters->unknown = 0xffff;
|
||||
parameters->unknown_2 = 0xffffffff;
|
||||
parameters->attack_begin = 0xff;
|
||||
parameters->attack_time = 0xff;
|
||||
parameters->decay_time = 0xff;
|
||||
parameters->sustain_level = 0xff;
|
||||
parameters->hold_time = 0xff;
|
||||
parameters->sustain_time = 0xff;
|
||||
parameters->release_time = 0xff;
|
||||
parameters->unknown_3 = 0xff;
|
||||
*/
|
||||
((u32 *)parameters)[0] = 0xffffff00;
|
||||
((u32 *)parameters)[1] = 0xffffffff;
|
||||
((u32 *)parameters)[2] = 0xffffffff;
|
||||
((u32 *)parameters)[3] = 0xffffffff;
|
||||
}
|
||||
|
||||
void SoundEnvelopeParametersCheckValidity(struct sound_envelope_parameters *parameters)
|
||||
{
|
||||
parameters->use_envelope = 1;
|
||||
|
||||
if (parameters->slide_time_multiplier > 0x7f &&
|
||||
parameters->attack_begin > 0x7f &&
|
||||
parameters->attack_time > 0x7f &&
|
||||
parameters->decay_time > 0x7f &&
|
||||
parameters->sustain_level > 0x7f &&
|
||||
parameters->hold_time > 0x7f &&
|
||||
parameters->sustain_time > 0x7f &&
|
||||
parameters->release_time > 0x7f)
|
||||
{
|
||||
parameters->use_envelope = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void SoundEnvelopeSetParameters(struct sound_envelope *envelope, struct sound_envelope_parameters *parameters)
|
||||
{
|
||||
if (parameters->slide_time_multiplier <= 0x7f)
|
||||
{
|
||||
envelope->parameters.slide_time_multiplier = parameters->slide_time_multiplier;
|
||||
}
|
||||
if (parameters->attack_begin <= 0x7f)
|
||||
{
|
||||
envelope->parameters.attack_begin = parameters->attack_begin;
|
||||
}
|
||||
if (parameters->attack_time <= 0x7f)
|
||||
{
|
||||
envelope->parameters.attack_time = parameters->attack_time;
|
||||
}
|
||||
if (parameters->decay_time <= 0x7f)
|
||||
{
|
||||
envelope->parameters.decay_time = parameters->decay_time;
|
||||
}
|
||||
if (parameters->sustain_level <= 0x7f)
|
||||
{
|
||||
envelope->parameters.sustain_level = parameters->sustain_level;
|
||||
}
|
||||
if (parameters->hold_time <= 0x7f)
|
||||
{
|
||||
envelope->parameters.hold_time = parameters->hold_time;
|
||||
}
|
||||
if (parameters->sustain_time <= 0x7f)
|
||||
{
|
||||
envelope->parameters.sustain_time = parameters->sustain_time;
|
||||
}
|
||||
if (parameters->release_time <= 0x7f)
|
||||
{
|
||||
envelope->parameters.release_time = parameters->release_time;
|
||||
}
|
||||
}
|
||||
|
||||
void SoundEnvelopeSetSlide(struct sound_envelope *envelope, s32 target_volume, s32 msec_tab_index)
|
||||
{
|
||||
u8 slide_time_multiplier;
|
||||
|
||||
if (msec_tab_index == 0x7f)
|
||||
{
|
||||
envelope->volume_delta = 0;
|
||||
envelope->ticks_left = 0x7fffffff;
|
||||
return;
|
||||
}
|
||||
|
||||
envelope->target_volume = (u8)target_volume;
|
||||
|
||||
slide_time_multiplier = envelope->parameters.slide_time_multiplier;
|
||||
|
||||
if (slide_time_multiplier == 0)
|
||||
{
|
||||
envelope->ticks_left = MUSIC_DURATION_LOOKUP_TABLE_2[msec_tab_index] * 1000 / DRIVER_WORK.usec_per_sound_driver_tick;
|
||||
}
|
||||
else
|
||||
{
|
||||
envelope->ticks_left = slide_time_multiplier * MUSIC_DURATION_LOOKUP_TABLE_1[msec_tab_index] * 1000 / DRIVER_WORK.usec_per_sound_driver_tick;
|
||||
}
|
||||
|
||||
if (envelope->ticks_left != 0)
|
||||
{
|
||||
envelope->volume_delta = ((target_volume << 23) - envelope->current_volume) / envelope->ticks_left;
|
||||
}
|
||||
else
|
||||
{
|
||||
envelope->volume_delta = 0;
|
||||
}
|
||||
}
|
||||
|
||||
void UpdateTrackVolumeEnvelopes(struct sound_envelope *envelope)
|
||||
{
|
||||
if (envelope->parameters.use_envelope)
|
||||
{
|
||||
if (envelope->parameters.attack_time != 0)
|
||||
{
|
||||
envelope->current_volume = envelope->parameters.attack_begin << 23;
|
||||
envelope->state = ENVELOPE_STATE_ATTACK;
|
||||
SoundEnvelopeSetSlide(envelope, 0x7f, envelope->parameters.attack_time);
|
||||
}
|
||||
else
|
||||
{
|
||||
envelope->current_volume = 0x3f800000;
|
||||
|
||||
if (envelope->parameters.hold_time != 0)
|
||||
{
|
||||
SoundEnvelopeSetSlide(envelope, 0x7f, envelope->parameters.hold_time);
|
||||
envelope->state = ENVELOPE_STATE_HOLD;
|
||||
}
|
||||
else if (envelope->parameters.decay_time != 0)
|
||||
{
|
||||
SoundEnvelopeSetSlide(envelope, (s8)envelope->parameters.sustain_level, envelope->parameters.decay_time);
|
||||
|
||||
envelope->state = ENVELOPE_STATE_DECAY;
|
||||
}
|
||||
else
|
||||
{
|
||||
//Do not set volume to sustain level?
|
||||
SoundEnvelopeSetSlide(envelope, 0, envelope->parameters.sustain_time);
|
||||
envelope->state = ENVELOPE_STATE_SUSTAIN;
|
||||
}
|
||||
}
|
||||
|
||||
envelope->update_volume = 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (envelope->state == ENVELOPE_STATE_CONST)
|
||||
return;
|
||||
|
||||
envelope->state = ENVELOPE_STATE_OFF;
|
||||
envelope->current_volume = 0x3f800000;
|
||||
}
|
||||
}
|
||||
|
||||
void SoundEnvelopeRelease(struct sound_envelope *envelope)
|
||||
{
|
||||
if (envelope->state == ENVELOPE_STATE_OFF)
|
||||
return;
|
||||
|
||||
SoundEnvelopeSetSlide(envelope, 0, envelope->parameters.release_time);
|
||||
envelope->state = ENVELOPE_STATE_RELEASE;
|
||||
}
|
||||
|
||||
void SoundEnvelopeStop(struct sound_envelope *envelope)
|
||||
{
|
||||
envelope->state = ENVELOPE_STATE_OFF;
|
||||
envelope->current_volume = 0;
|
||||
envelope->ticks_left = 0;
|
||||
envelope->update_volume = 0;
|
||||
}
|
||||
|
||||
void SoundEnvelopeForceVolume(struct sound_envelope *envelope, s32 volume)
|
||||
{
|
||||
envelope->parameters.use_envelope = 0;
|
||||
envelope->state = ENVELOPE_STATE_CONST;
|
||||
envelope->current_volume = volume;
|
||||
envelope->ticks_left = 0;
|
||||
envelope->update_volume = 1;
|
||||
}
|
||||
|
||||
void SoundEnvelopeStop2(struct sound_envelope *envelope)
|
||||
{
|
||||
envelope->state = ENVELOPE_STATE_OFF;
|
||||
envelope->current_volume = 0;
|
||||
envelope->ticks_left = 0;
|
||||
envelope->update_volume = 0;
|
||||
}
|
||||
|
||||
s8 SoundEnvelopeTick(struct sound_envelope *envelope)
|
||||
{
|
||||
if (envelope->state > ENVELOPE_STATE_DONE) //OFF, CONST, DONE
|
||||
{
|
||||
if (envelope->ticks_left == 0)
|
||||
{
|
||||
envelope->current_volume = envelope->target_volume << 23;
|
||||
|
||||
switch(envelope->state)
|
||||
{
|
||||
u8 hold_time, decay_time, sustain_time;
|
||||
|
||||
case ENVELOPE_STATE_OFF:
|
||||
break;
|
||||
case ENVELOPE_STATE_CONST:
|
||||
break;
|
||||
case ENVELOPE_STATE_DONE:
|
||||
break;
|
||||
case ENVELOPE_STATE_ATTACK:
|
||||
hold_time = envelope->parameters.hold_time;
|
||||
if (hold_time != 0)
|
||||
{
|
||||
SoundEnvelopeSetSlide(envelope, 0x7f, hold_time);
|
||||
envelope->state = ENVELOPE_STATE_HOLD;
|
||||
break;
|
||||
}
|
||||
case ENVELOPE_STATE_HOLD:
|
||||
decay_time = envelope->parameters.decay_time;
|
||||
if (decay_time != 0)
|
||||
{
|
||||
SoundEnvelopeSetSlide(envelope, (s8)envelope->parameters.sustain_level, decay_time);
|
||||
envelope->state = ENVELOPE_STATE_DECAY;
|
||||
break;
|
||||
}
|
||||
envelope->current_volume = envelope->parameters.sustain_level << 23;
|
||||
case ENVELOPE_STATE_DECAY:
|
||||
sustain_time = envelope->parameters.sustain_time;
|
||||
if (sustain_time != 0)
|
||||
{
|
||||
SoundEnvelopeSetSlide(envelope, 0, sustain_time);
|
||||
envelope->state = ENVELOPE_STATE_SUSTAIN;
|
||||
break;
|
||||
}
|
||||
case ENVELOPE_STATE_SUSTAIN:
|
||||
SoundEnvelopeSetSlide(envelope, 0, 0);
|
||||
envelope->state = ENVELOPE_STATE_DONE;
|
||||
break;
|
||||
case ENVELOPE_STATE_RELEASE:
|
||||
envelope->state = ENVELOPE_STATE_RELEASE_END;
|
||||
envelope->current_volume = 0;
|
||||
envelope->ticks_left = 0;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
s32 next_volume = envelope->current_volume + envelope->volume_delta;
|
||||
|
||||
if (next_volume > 0x3fffffff)
|
||||
{
|
||||
next_volume = 0x3fffffff;
|
||||
}
|
||||
if (next_volume < 0)
|
||||
{
|
||||
next_volume = 0;
|
||||
}
|
||||
|
||||
envelope->ticks_left--;
|
||||
envelope->current_volume = next_volume;
|
||||
}
|
||||
}
|
||||
|
||||
return (s8)(envelope->current_volume >> 23);
|
||||
}
|
||||
2
main.lsf
2
main.lsf
|
|
@ -13,6 +13,8 @@ Static main
|
|||
Object src/main_debug.o
|
||||
Object src/main_pack.o
|
||||
Object asm/main_0200C4CC.o
|
||||
Object lib/NitroSDK/src/dc_envelope.o
|
||||
Object asm/main_0207509C.o
|
||||
}
|
||||
|
||||
Autoload ITCM
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
from dataclasses import dataclass
|
||||
|
||||
MIXED_CASE_SYMBOLS_ARM9 = {
|
||||
'_s32_div_f': '__divsi3',
|
||||
'_u32_div_f': '__udivsi3',
|
||||
'_secure': 'SECURE',
|
||||
'_start_AutoloadDoneCallback': 'StartAutoloadDoneCallback',
|
||||
'_start_ModuleParams': 'START_MODULE_PARAMS',
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
import os
|
||||
import re
|
||||
from typing import Any, Dict, List
|
||||
from ruamel.yaml.comments import CommentedMap
|
||||
from ruamel.yaml.scalarint import HexCapsInt
|
||||
|
||||
from pmdsky_debug_reader import LANGUAGE_KEYS_XMAP_TO_PMDSKY_DEBUG, SYMBOLS_FOLDER, get_pmdsky_debug_location, read_pmdsky_debug_symbols
|
||||
|
|
@ -119,7 +120,7 @@ def sync_xmap_symbol(address: int, symbol: SymbolDetails, language: str, yaml_ma
|
|||
if not matching_symbol_entry:
|
||||
matching_symbol_entry = {
|
||||
'name': base_symbol_name,
|
||||
'address': {}
|
||||
'address': CommentedMap()
|
||||
}
|
||||
if insert_index is None:
|
||||
symbol_array.append(matching_symbol_entry)
|
||||
|
|
@ -169,7 +170,7 @@ def sync_xmap_symbol(address: int, symbol: SymbolDetails, language: str, yaml_ma
|
|||
target_line = None
|
||||
if symbol_before is not None:
|
||||
for i, line in enumerate(header_contents):
|
||||
if symbol.is_data and re.search(fr' {symbol_before}[[;]', line) or symbol.is_data and f' {symbol_before}(' in line:
|
||||
if symbol.is_data and re.search(fr' {symbol_before}[[;]', line) or not symbol.is_data and f' {symbol_before}(' in line:
|
||||
target_line = i
|
||||
break
|
||||
if target_line is None:
|
||||
|
|
@ -207,6 +208,8 @@ def sync_xmap_symbol(address: int, symbol: SymbolDetails, language: str, yaml_ma
|
|||
|
||||
# Write the new symbol within the header file.
|
||||
symbol_header_path = os.path.join(HEADER_FOLDER, symbol.file_path.replace('.o', '.h'))
|
||||
if not os.path.exists(symbol_header_path):
|
||||
symbol_header_path = os.path.join('lib', 'NitroSDK', symbol_header_path)
|
||||
if symbol.is_data:
|
||||
if string_length is not None:
|
||||
symbol_header = f'extern char {base_symbol_name}[{string_length}];\n'
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user