few more decomped funcs

This commit is contained in:
Seth Barberee 2022-01-28 17:37:55 -06:00
parent 617e992dac
commit 8e0ba3615a
3 changed files with 83 additions and 190 deletions

View File

@ -1121,193 +1121,4 @@ _08048DB2:
bx r1
thumb_func_end sub_8048D50
thumb_func_start sub_8048DB8
sub_8048DB8:
push {r4,lr}
sub sp, 0x1C
adds r3, r0, 0
adds r4, r1, 0
lsls r2, 24
cmp r2, 0
beq _08048DF4
ldr r0, _08048DEC
movs r1, 0
ldrsh r2, [r0, r1]
add r0, sp, 0x18
str r0, [sp]
movs r1, 0
str r1, [sp, 0x4]
ldr r0, _08048DF0
str r0, [sp, 0x8]
str r1, [sp, 0xC]
str r1, [sp, 0x10]
str r1, [sp, 0x14]
adds r0, r3, 0
adds r1, r4, 0
movs r3, 0x1
bl sub_806F370
b _08048DFA
.align 2, 0
_08048DEC: .4byte gUnknown_80F4FAC
_08048DF0: .4byte 0x00000217
_08048DF4:
adds r0, r3, 0
bl sub_8051E7C
_08048DFA:
add sp, 0x1C
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_8048DB8
thumb_func_start sub_8048E04
sub_8048E04:
push {r4-r6,lr}
sub sp, 0x8
adds r5, r0, 0
adds r6, r1, 0
movs r0, 0x1
str r0, [sp]
adds r0, r5, 0
movs r2, 0x1E
movs r3, 0
bl sub_8078B5C
movs r0, 0x5
bl DungeonRandomCapped
cmp r0, 0x4
bhi _08048E9E
lsls r0, 2
ldr r1, _08048E30
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08048E30: .4byte _08048E34
.align 2, 0
_08048E34:
.4byte _08048E48
.4byte _08048E54
.4byte _08048E5E
.4byte _08048E6C
.4byte _08048E78
_08048E48:
adds r0, r5, 0
adds r1, r6, 0
movs r2, 0x1
bl sub_80763F8
b _08048E9E
_08048E54:
adds r0, r5, 0
adds r1, r6, 0
bl sub_80769CC
b _08048E9E
_08048E5E:
adds r0, r5, 0
adds r1, r6, 0
movs r2, 0x1
movs r3, 0x1
bl sub_8076210
b _08048E9E
_08048E6C:
adds r0, r5, 0
adds r1, r6, 0
movs r2, 0x1
bl sub_8077780
b _08048E9E
_08048E78:
ldr r0, _08048EA8
ldr r2, [r0]
movs r4, 0x1
str r4, [sp]
str r4, [sp, 0x4]
adds r0, r5, 0
adds r1, r6, 0
movs r3, 0x3
bl sub_8076E20
ldr r0, _08048EAC
ldr r2, [r0]
str r4, [sp]
str r4, [sp, 0x4]
adds r0, r5, 0
adds r1, r6, 0
movs r3, 0x3
bl sub_8076E20
_08048E9E:
add sp, 0x8
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08048EA8: .4byte gUnknown_8106A4C
_08048EAC: .4byte gUnknown_8106A50
thumb_func_end sub_8048E04
thumb_func_start sub_8048EB0
sub_8048EB0:
push {lr}
ldr r1, _08048EC0
ldr r1, [r1]
bl SendMessage
pop {r0}
bx r0
.align 2, 0
_08048EC0: .4byte gPtrIcePartCrumbledMessage
thumb_func_end sub_8048EB0
thumb_func_start sub_8048EC4
sub_8048EC4:
push {lr}
ldr r1, _08048ED4
ldr r1, [r1]
bl SendMessage
pop {r0}
bx r0
.align 2, 0
_08048ED4: .4byte gPtrRockPartCrumbledMessage
thumb_func_end sub_8048EC4
thumb_func_start sub_8048ED8
sub_8048ED8:
push {lr}
ldr r1, _08048EE8
ldr r1, [r1]
bl SendMessage
pop {r0}
bx r0
.align 2, 0
_08048EE8: .4byte gPtrSteelPartCrumbledMessage
thumb_func_end sub_8048ED8
thumb_func_start sub_8048EEC
sub_8048EEC:
push {lr}
ldr r1, _08048EFC
ldr r1, [r1]
bl SendMessage
pop {r0}
bx r0
.align 2, 0
_08048EFC: .4byte gPtrWishStoneCrumbledMessage
thumb_func_end sub_8048EEC
thumb_func_start sub_8048F00
sub_8048F00:
push {r4,lr}
adds r4, r0, 0
movs r1, 0xD6
bl sub_80421C0
ldr r0, _08048F24
ldr r1, [r0]
adds r0, r4, 0
bl SendMessage
movs r0, 0x3C
movs r1, 0x46
bl sub_803E708
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08048F24: .4byte gPtrMusicBoxPlayedCrumbledMessage
thumb_func_end sub_8048F00
.align 2, 0

View File

@ -19,7 +19,7 @@ u32 GetMoveMaxPP(struct PokemonMove *move);
u8 GetMoveUnk12(struct PokemonMove *move);
u8 GetMoveCriticalHitChance(struct PokemonMove *move);
u8 GetMoveCannotHitFrozen(struct PokemonMove *move);
u8 GetMoveDealsDirectDamage(struct PokemonMove *move);
u8 MoveDealsDirectDamage(struct PokemonMove *move);
u32 GetMoveRangeType(struct PokemonMove *move);
void sub_8092C84(u8 *buffer, u16 moveID);
u8 *GetMoveUseText(u16 moveID);

View File

@ -1,16 +1,98 @@
#include "global.h"
#include "dungeon_ai_item_weight.h"
#include "code_80521D0.h"
#include "constants/status.h"
#include "constants/targeting.h"
#include "dungeon_ai_1.h"
#include "dungeon_map_access.h"
#include "dungeon_pokemon_attributes.h"
#include "dungeon_random.h"
#include "dungeon_util.h"
#include "moves.h"
#include "number_util.h"
#include "status_checks_1.h"
extern void sub_803E708(u32, u32);
extern void sub_80421C0(struct DungeonEntity *r0, u16 r1);
extern void sub_8078B5C(struct DungeonEntity *, u32, u32, u32, u32);
extern void sub_80763F8(struct DungeonEntity *, u32, u32);
extern void sub_80769CC(struct DungeonEntity *, u32);
extern void sub_8076210(struct DungeonEntity *, u32, u32, u32);
extern void sub_8077780(struct DungeonEntity *, u32, u32);
extern void sub_8076E20(struct DungeonEntity *, u32, u32, u32, u32, u32);
extern u8 *gPtrMusicBoxPlayedCrumbledMessage[];
extern u8 *gPtrWishStoneCrumbledMessage[];
extern u8 *gPtrIcePartCrumbledMessage[];
extern u8 *gPtrRockPartCrumbledMessage[];
extern u8 *gPtrSteelPartCrumbledMessage[];
extern u32 gUnknown_8106A4C;
extern u32 gUnknown_8106A50;
extern s16 gUnknown_80F4FAC;
extern void sub_806F370(struct DungeonEntity *r0, struct DungeonEntity *r1, u32, u32, u8 *, u8, s32, u32, u32, u32);
extern void sub_8051E7C(struct DungeonEntity *pokemon);
void sub_8048DB8(struct DungeonEntity *pokemon, struct DungeonEntity *r1, u8 r2)
{
u8 temp;
if(r2 != 0)
sub_806F370(pokemon, r1, gUnknown_80F4FAC, 1, &temp, 0, 0x217, 0, 0, 0);
else
sub_8051E7C(pokemon);
}
void sub_8048E04(struct DungeonEntity *pokemon, u32 r1)
{
sub_8078B5C(pokemon, r1, 0x1E, 0, 1);
switch(DungeonRandomCapped(5))
{
case 0:
sub_80763F8(pokemon, r1, 1);
break;
case 1:
sub_80769CC(pokemon, r1);
break;
case 2:
sub_8076210(pokemon, r1, 1, 1);
break;
case 3:
sub_8077780(pokemon, r1, 1);
break;
case 4:
sub_8076E20(pokemon, r1, gUnknown_8106A4C, 3, 1, 1);
sub_8076E20(pokemon, r1, gUnknown_8106A50, 3, 1, 1);
break;
}
}
void sub_8048EB0(struct DungeonEntity *pokemon)
{
SendMessage(pokemon, *gPtrIcePartCrumbledMessage);
}
void sub_8048EC4(struct DungeonEntity *pokemon)
{
SendMessage(pokemon, *gPtrRockPartCrumbledMessage);
}
void sub_8048ED8(struct DungeonEntity *pokemon)
{
SendMessage(pokemon, *gPtrSteelPartCrumbledMessage);
}
void sub_8048EEC(struct DungeonEntity *pokemon)
{
SendMessage(pokemon, *gPtrWishStoneCrumbledMessage);
}
void sub_8048F00(struct DungeonEntity *pokemon)
{
sub_80421C0(pokemon, 0xD6);
SendMessage(pokemon, *gPtrMusicBoxPlayedCrumbledMessage);
sub_803E708(0x3C, 0x46);
}
u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemTargetFlags)
{
struct DungeonEntityData *pokemonData = targetPokemon->entityData;