diff options
author | Scott Norton <Scott Norton> | 2017-05-30 08:38:05 -0400 |
---|---|---|
committer | PikalaxALT <pikalax1@gmail.com> | 2017-05-30 08:40:02 -0400 |
commit | 2cd382d3c65c19dbd9812ce977d6cfcc2aef8dff (patch) | |
tree | cf615bac1f38d55636a5b4f6aaacd56a84c38911 | |
parent | e78a3021bbac8f439797265b727803ee5ea40484 (diff) |
ResetGabbyAndTy (nonmatching)
-rwxr-xr-x | asm/tv.s | 79 | ||||
-rw-r--r-- | include/global.h | 36 | ||||
-rwxr-xr-x | src/tv.c | 79 |
3 files changed, 97 insertions, 97 deletions
@@ -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} diff --git a/include/global.h b/include/global.h index efe67c55c..8db05ba9f 100644 --- a/include/global.h +++ b/include/global.h @@ -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; @@ -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[]); |