mirror of
https://github.com/pret/pokeruby.git
synced 2026-08-09 19:07:50 -05:00
ResetGabbyAndTy (nonmatching)
This commit is contained in:
parent
e78a3021bb
commit
2cd382d3c6
79
asm/tv.s
79
asm/tv.s
|
|
@ -7,85 +7,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start special_0x4a
|
||||
special_0x4a: @ 80BDA78
|
||||
push {lr}
|
||||
ldr r2, _080BDAA4 @ =gSpecialVar_0x8004
|
||||
ldrh r1, [r2]
|
||||
lsls r0, r1, 3
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
ldr r1, _080BDAA8 @ =gSaveBlock1 + 0x2738
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x29
|
||||
bne _080BDAAC
|
||||
movs r3, 0xF1
|
||||
lsls r3, 2
|
||||
adds r0, r1, r3
|
||||
ldrh r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _080BDAAC
|
||||
bl sub_80BDA30
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
b _080BDAAE
|
||||
.align 2, 0
|
||||
_080BDAA4: .4byte gSpecialVar_0x8004
|
||||
_080BDAA8: .4byte gSaveBlock1 + 0x2738
|
||||
_080BDAAC:
|
||||
ldrb r0, [r2]
|
||||
_080BDAAE:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end special_0x4a
|
||||
|
||||
thumb_func_start ResetGabbyAndTy
|
||||
ResetGabbyAndTy: @ 80BDAB4
|
||||
push {r4,lr}
|
||||
ldr r2, _080BDAF8 @ =gSaveBlock1
|
||||
ldr r1, _080BDAFC @ =0x00002b10
|
||||
adds r0, r2, r1
|
||||
movs r3, 0
|
||||
movs r1, 0
|
||||
strh r1, [r0]
|
||||
ldr r4, _080BDB00 @ =0x00002b12
|
||||
adds r0, r2, r4
|
||||
strh r1, [r0]
|
||||
adds r4, 0x2
|
||||
adds r0, r2, r4
|
||||
strh r1, [r0]
|
||||
ldr r0, _080BDB04 @ =0x00002b16
|
||||
adds r1, r2, r0
|
||||
ldr r0, _080BDB08 @ =0x0000ffff
|
||||
strh r0, [r1]
|
||||
adds r4, 0x6
|
||||
adds r1, r2, r4
|
||||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
ldr r0, _080BDB0C @ =0x00002b1b
|
||||
adds r1, r2, r0
|
||||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
ldr r1, _080BDB10 @ =0x00002b18
|
||||
adds r0, r2, r1
|
||||
strb r3, [r0]
|
||||
subs r4, 0x1
|
||||
adds r2, r4
|
||||
strb r3, [r2]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080BDAF8: .4byte gSaveBlock1
|
||||
_080BDAFC: .4byte 0x00002b10
|
||||
_080BDB00: .4byte 0x00002b12
|
||||
_080BDB04: .4byte 0x00002b16
|
||||
_080BDB08: .4byte 0x0000ffff
|
||||
_080BDB0C: .4byte 0x00002b1b
|
||||
_080BDB10: .4byte 0x00002b18
|
||||
thumb_func_end ResetGabbyAndTy
|
||||
|
||||
thumb_func_start GabbyAndTyBeforeInterview
|
||||
GabbyAndTyBeforeInterview: @ 80BDB14
|
||||
push {r4,r5,lr}
|
||||
|
|
|
|||
|
|
@ -94,7 +94,7 @@ struct UCoords16
|
|||
|
||||
struct SecretBaseRecord
|
||||
{
|
||||
/*0x1A08*/ u8 sbr_field_0; // ID?
|
||||
/*ID?*/ /*0x1A08*/ u8 sbr_field_0;
|
||||
/*0x1A09*/ u8 sbr_field_1_0:4;
|
||||
/*0x1A09*/ u8 gender:1;
|
||||
/*0x1A09*/ u8 sbr_field_1_5:1;
|
||||
|
|
@ -445,18 +445,18 @@ struct UnknownSaveStruct2ABC {
|
|||
};
|
||||
|
||||
struct GabbyAndTyData {
|
||||
u16 mon1;
|
||||
u16 mon2;
|
||||
u16 move1;
|
||||
u16 move2;
|
||||
u8 mapnum;
|
||||
u8 val9;
|
||||
u8 valA_0:1;
|
||||
u8 valA_1:1;
|
||||
u8 valA_2:1;
|
||||
u8 valA_3:1;
|
||||
u8 valA_4:4;
|
||||
u8 valB;
|
||||
/*2b10*/ u16 mon1;
|
||||
/*2b12*/ u16 mon2;
|
||||
/*2b14*/ u16 move1;
|
||||
/*2b16*/ u16 move2;
|
||||
/*2b18*/ u8 mapnum;
|
||||
/*2b19*/ u8 val9;
|
||||
/*2b1a*/ u8 valA_0:1;
|
||||
/*2b1a*/ u8 valA_1:1;
|
||||
/*2b1a*/ u8 valA_2:1;
|
||||
/*2b1a*/ u8 valA_3:1;
|
||||
/*2b1a*/ u8 valA_4:4;
|
||||
/*2b1b*/ u8 valB;
|
||||
};
|
||||
|
||||
struct RecordMixing_UnknownStruct {
|
||||
|
|
@ -524,7 +524,7 @@ struct SaveBlock1 /* 0x02025734 */
|
|||
/*0x2B0C*/ u8 outbreakUnk4;
|
||||
/*0x2B0D*/ u8 outbreakPokemonProbability;
|
||||
/*0x2B0E*/ u16 outbreakUnk5;
|
||||
/*0x2B18*/ struct GabbyAndTyData gabbyAndTyData;
|
||||
/*0x2B10*/ struct GabbyAndTyData gabbyAndTyData;
|
||||
/*0x2B1C*/ u16 unk2B1C[6];
|
||||
/*0x2B28*/ u16 unk2B28[6];
|
||||
/*0x2B34*/ u16 unk2B34[6];
|
||||
|
|
@ -607,11 +607,11 @@ struct SaveBlock2 /* 0x02024EA4 */
|
|||
/*0x10*/ u8 playTimeMinutes;
|
||||
/*0x11*/ u8 playTimeSeconds;
|
||||
/*0x12*/ u8 playTimeVBlanks;
|
||||
/*0x13*/ u8 optionsButtonMode; // OPTIONS_BUTTON_MODE_[NORMAL/LR/L_EQUALS_A]
|
||||
/*0x14*/ u16 optionsTextSpeed:3; // OPTIONS_TEXT_SPEED_[SLOW/MID/FAST]
|
||||
/*OPTIONS_BUTTON_MODE_[NORMAL/LR/L_EQUALS_A]*/ /*0x13*/ u8 optionsButtonMode;
|
||||
/*OPTIONS_TEXT_SPEED_[SLOW/MID/FAST]*/ /*0x14*/ u16 optionsTextSpeed:3;
|
||||
u16 optionsWindowFrameType:5; // Specifies one of the 20 decorative borders for text boxes
|
||||
u16 optionsSound:1; // OPTIONS_SOUND_[MONO/STEREO]
|
||||
u16 optionsBattleStyle:1; // OPTIONS_BATTLE_STYLE_[SHIFT/SET]
|
||||
/*OPTIONS_SOUND_[MONO/STEREO]*/ u16 optionsSound:1;
|
||||
/*OPTIONS_BATTLE_STYLE_[SHIFT/SET]*/ u16 optionsBattleStyle:1;
|
||||
u16 optionsBattleSceneOff:1; // whether battle animations are disabled
|
||||
u16 regionMapZoom:1; // whether the map is zoomed in
|
||||
/*0x18*/ struct Pokedex pokedex;
|
||||
|
|
|
|||
79
src/tv.c
79
src/tv.c
|
|
@ -365,6 +365,85 @@ u8 sub_80BDA30(void)
|
|||
return 0xff;
|
||||
}
|
||||
|
||||
u8 special_0x4a(void)
|
||||
{
|
||||
TVShow *tvShow;
|
||||
tvShow = &gSaveBlock1.tvShows[gSpecialVar_0x8004];
|
||||
if (tvShow->common.var00 == TVSHOW_MASS_OUTBREAK && gSaveBlock1.outbreakPokemonSpecies)
|
||||
{
|
||||
return sub_80BDA30();
|
||||
}
|
||||
return gSpecialVar_0x8004;
|
||||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
void ResetGabbyAndTy(void)
|
||||
{
|
||||
gSaveBlock1.gabbyAndTyData.mon1 = 0;
|
||||
gSaveBlock1.gabbyAndTyData.mon2 = 0;
|
||||
gSaveBlock1.gabbyAndTyData.move1 = 0;
|
||||
gSaveBlock1.gabbyAndTyData.move2 = 0xffff;
|
||||
gSaveBlock1.gabbyAndTyData.valA_0 = 0;
|
||||
gSaveBlock1.gabbyAndTyData.valA_1 = 0;
|
||||
gSaveBlock1.gabbyAndTyData.valA_2 = 0;
|
||||
gSaveBlock1.gabbyAndTyData.valA_3 = 0;
|
||||
gSaveBlock1.gabbyAndTyData.valA_4 = 0;
|
||||
gSaveBlock1.gabbyAndTyData.valB = 0;
|
||||
gSaveBlock1.gabbyAndTyData.mapnum = 0;
|
||||
gSaveBlock1.gabbyAndTyData.val9 = 0;
|
||||
}
|
||||
#else
|
||||
__attribute__((naked))
|
||||
void ResetGabbyAndTy(void)
|
||||
{
|
||||
asm(".syntax unified\n"
|
||||
"\tpush {r4,lr}\n"
|
||||
"\tldr r2, _080BDAF8 @ =gSaveBlock1\n"
|
||||
"\tldr r1, _080BDAFC @ =0x00002b10\n"
|
||||
"\tadds r0, r2, r1\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tstrh r1, [r0]\n"
|
||||
"\tldr r4, _080BDB00 @ =0x00002b12\n"
|
||||
"\tadds r0, r2, r4\n"
|
||||
"\tstrh r1, [r0]\n"
|
||||
"\tadds r4, 0x2\n"
|
||||
"\tadds r0, r2, r4\n"
|
||||
"\tstrh r1, [r0]\n"
|
||||
"\tldr r0, _080BDB04 @ =0x00002b16\n"
|
||||
"\tadds r1, r2, r0\n"
|
||||
"\tldr r0, _080BDB08 @ =0x0000ffff\n"
|
||||
"\tstrh r0, [r1]\n"
|
||||
"\tadds r4, 0x6\n"
|
||||
"\tadds r1, r2, r4\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tstrb r0, [r1]\n"
|
||||
"\tldr r0, _080BDB0C @ =0x00002b1b\n"
|
||||
"\tadds r1, r2, r0\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tstrb r0, [r1]\n"
|
||||
"\tldr r1, _080BDB10 @ =0x00002b18\n"
|
||||
"\tadds r0, r2, r1\n"
|
||||
"\tstrb r3, [r0]\n"
|
||||
"\tsubs r4, 0x1\n"
|
||||
"\tadds r2, r4\n"
|
||||
"\tstrb r3, [r2]\n"
|
||||
"\tpop {r4}\n"
|
||||
"\tpop {r0}\n"
|
||||
"\tbx r0\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_080BDAF8: .4byte gSaveBlock1\n"
|
||||
"_080BDAFC: .4byte 0x00002b10\n"
|
||||
"_080BDB00: .4byte 0x00002b12\n"
|
||||
"_080BDB04: .4byte 0x00002b16\n"
|
||||
"_080BDB08: .4byte 0x0000ffff\n"
|
||||
"_080BDB0C: .4byte 0x00002b1b\n"
|
||||
"_080BDB10: .4byte 0x00002b18\n"
|
||||
".syntax divided\n");
|
||||
}
|
||||
#endif
|
||||
|
||||
|
||||
asm(".section .text_a");
|
||||
s8 sub_80BF74C(TVShow tvShow[]);
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user