battle_controller_pokedude data
This commit is contained in:
+372
-372
File diff suppressed because it is too large
Load Diff
@@ -191,30 +191,6 @@ gUnknown_8478EC4:: @ 8478EC4
|
|||||||
gUnknown_8478F14:: @ 8478F14
|
gUnknown_8478F14:: @ 8478F14
|
||||||
.incbin "baserom.gba", 0x478F14, 0x8
|
.incbin "baserom.gba", 0x478F14, 0x8
|
||||||
|
|
||||||
gUnknown_8478F1C:: @ 8478F1C
|
|
||||||
.incbin "baserom.gba", 0x478F1C, 0x144
|
|
||||||
|
|
||||||
gUnknown_8479060:: @ 8479060
|
|
||||||
.incbin "baserom.gba", 0x479060, 0x78
|
|
||||||
|
|
||||||
gUnknown_84790D8:: @ 84790D8
|
|
||||||
.incbin "baserom.gba", 0x4790D8, 0xC0
|
|
||||||
|
|
||||||
gUnknown_8479198:: @ 8479198
|
|
||||||
.incbin "baserom.gba", 0x479198, 0x10
|
|
||||||
|
|
||||||
gUnknown_84791A8:: @ 84791A8
|
|
||||||
.incbin "baserom.gba", 0x4791A8, 0x10
|
|
||||||
|
|
||||||
gUnknown_84791B8:: @ 84791B8
|
|
||||||
.incbin "baserom.gba", 0x4791B8, 0x14
|
|
||||||
|
|
||||||
gUnknown_84791CC:: @ 84791CC
|
|
||||||
.incbin "baserom.gba", 0x4791CC, 0x1C
|
|
||||||
|
|
||||||
gUnknown_84791E8:: @ 84791E8
|
|
||||||
.incbin "baserom.gba", 0x4791E8, 0x18
|
|
||||||
|
|
||||||
.section .rodata.8479668
|
.section .rodata.8479668
|
||||||
|
|
||||||
.align 2
|
.align 2
|
||||||
|
|||||||
@@ -260,7 +260,7 @@ void SetControllerToPlayerPartner(void);
|
|||||||
void SetControllerToSafari(void);
|
void SetControllerToSafari(void);
|
||||||
|
|
||||||
// pokedude controller
|
// pokedude controller
|
||||||
void SetControllerToPokeDude(void);
|
void SetControllerToPokedude(void);
|
||||||
|
|
||||||
// oak and old man controller
|
// oak and old man controller
|
||||||
void SetControllerToOakOrOldMan(void);
|
void SetControllerToOakOrOldMan(void);
|
||||||
|
|||||||
@@ -243,6 +243,28 @@ extern const u8 gUnknown_83FDDEB[];
|
|||||||
extern const u8 gUnknown_83FDCD2[];
|
extern const u8 gUnknown_83FDCD2[];
|
||||||
extern const u8 gUnknown_83FE6FA[];
|
extern const u8 gUnknown_83FE6FA[];
|
||||||
|
|
||||||
|
// battle_controller_pokedude
|
||||||
|
extern const u8 gUnknown_81C5F69[];
|
||||||
|
extern const u8 gUnknown_81C5FA7[];
|
||||||
|
extern const u8 gUnknown_81C5FDC[];
|
||||||
|
extern const u8 gUnknown_81C601C[];
|
||||||
|
extern const u8 gUnknown_81C60FA[];
|
||||||
|
extern const u8 gUnknown_81C615A[];
|
||||||
|
extern const u8 gUnknown_81C6196[];
|
||||||
|
extern const u8 gUnknown_81C61EA[];
|
||||||
|
extern const u8 gUnknown_81C6202[];
|
||||||
|
extern const u8 gUnknown_81C6301[];
|
||||||
|
extern const u8 gUnknown_81C63A9[];
|
||||||
|
extern const u8 gUnknown_81C63F9[];
|
||||||
|
extern const u8 gUnknown_81C6446[];
|
||||||
|
extern const u8 gUnknown_81C657A[];
|
||||||
|
extern const u8 gUnknown_81C6637[];
|
||||||
|
extern const u8 gUnknown_81C6645[];
|
||||||
|
extern const u8 gUnknown_81C66CF[];
|
||||||
|
extern const u8 gUnknown_81C6787[];
|
||||||
|
extern const u8 gUnknown_81C684B[];
|
||||||
|
extern const u8 gUnknown_81C686C[];
|
||||||
|
|
||||||
// credits
|
// credits
|
||||||
extern const u8 gString_Dummy[];
|
extern const u8 gString_Dummy[];
|
||||||
extern const u8 gString_PokemonFireRed_Staff[]; // FR
|
extern const u8 gString_PokemonFireRed_Staff[]; // FR
|
||||||
|
|||||||
+3
-2
@@ -277,8 +277,9 @@ SECTIONS {
|
|||||||
src/text_window.o(.text);
|
src/text_window.o(.text);
|
||||||
src/quest_log_8150454.o(.text);
|
src/quest_log_8150454.o(.text);
|
||||||
asm/dodrio_berry_picking.o(.text);
|
asm/dodrio_berry_picking.o(.text);
|
||||||
|
src/battle_controller_pokedude.o(.text);
|
||||||
asm/battle_controller_pokedude.o(.text);
|
asm/battle_controller_pokedude.o(.text);
|
||||||
src/unk_8159F40.o(.text);
|
src/quest_log_815A008.o(.text);
|
||||||
src/dodrio_berry_picking_2.o(.text);
|
src/dodrio_berry_picking_2.o(.text);
|
||||||
asm/dodrio_berry_picking_2.o(.text);
|
asm/dodrio_berry_picking_2.o(.text);
|
||||||
src/teachy_tv.o(.text);
|
src/teachy_tv.o(.text);
|
||||||
@@ -548,7 +549,7 @@ SECTIONS {
|
|||||||
src/text_window_graphics.o(.rodata);
|
src/text_window_graphics.o(.rodata);
|
||||||
src/quest_log_8150454.o(.rodata);
|
src/quest_log_8150454.o(.rodata);
|
||||||
data/data_8471F00.o(.rodata);
|
data/data_8471F00.o(.rodata);
|
||||||
src/unk_8159F40.o(.rodata);
|
src/battle_controller_pokedude.o(.rodata);
|
||||||
src/teachy_tv.o(.rodata);
|
src/teachy_tv.o(.rodata);
|
||||||
src/unk_815C980.o(.rodata);
|
src/unk_815C980.o(.rodata);
|
||||||
data/data_8471F00.o(.rodata.8479668);
|
data/data_8471F00.o(.rodata.8479668);
|
||||||
|
|||||||
@@ -1003,7 +1003,6 @@ static void CompleteOnHealthbarDone(void)
|
|||||||
s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0);
|
s16 hpValue = MoveBattleBar(gActiveBattler, gHealthboxSpriteIds[gActiveBattler], HEALTH_BAR, 0);
|
||||||
|
|
||||||
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
|
SetHealthboxSpriteVisible(gHealthboxSpriteIds[gActiveBattler]);
|
||||||
|
|
||||||
if (hpValue != -1)
|
if (hpValue != -1)
|
||||||
{
|
{
|
||||||
UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT);
|
UpdateHpTextInHealthbox(gHealthboxSpriteIds[gActiveBattler], hpValue, HP_CURRENT);
|
||||||
|
|||||||
@@ -0,0 +1,537 @@
|
|||||||
|
#include "global.h"
|
||||||
|
#include "task.h"
|
||||||
|
#include "pokemon.h"
|
||||||
|
#include "party_menu.h"
|
||||||
|
#include "bg.h"
|
||||||
|
#include "data.h"
|
||||||
|
#include "palette.h"
|
||||||
|
#include "util.h"
|
||||||
|
#include "m4a.h"
|
||||||
|
#include "link.h"
|
||||||
|
#include "sound.h"
|
||||||
|
#include "item.h"
|
||||||
|
#include "item_menu.h"
|
||||||
|
#include "text.h"
|
||||||
|
#include "strings.h"
|
||||||
|
#include "string_util.h"
|
||||||
|
#include "window.h"
|
||||||
|
#include "battle.h"
|
||||||
|
#include "battle_anim.h"
|
||||||
|
#include "battle_controllers.h"
|
||||||
|
#include "battle_interface.h"
|
||||||
|
#include "battle_message.h"
|
||||||
|
#include "reshow_battle_screen.h"
|
||||||
|
#include "constants/songs.h"
|
||||||
|
#include "constants/items.h"
|
||||||
|
#include "constants/moves.h"
|
||||||
|
#include "constants/pokemon.h"
|
||||||
|
|
||||||
|
struct Unk_84790E8
|
||||||
|
{
|
||||||
|
u8 unk_0;
|
||||||
|
u8 unk_1;
|
||||||
|
u16 unk_2;
|
||||||
|
void (*unk_4)(void);
|
||||||
|
};
|
||||||
|
|
||||||
|
struct PokedudeBattlePartyInfo
|
||||||
|
{
|
||||||
|
u8 side;
|
||||||
|
u8 level;
|
||||||
|
u16 species;
|
||||||
|
u16 moves[4];
|
||||||
|
u8 nature;
|
||||||
|
u8 gender;
|
||||||
|
};
|
||||||
|
|
||||||
|
void PokedudeHandleGetMonData(void);
|
||||||
|
void PokedudeHandleGetRawMonData(void);
|
||||||
|
void PokedudeHandleSetMonData(void);
|
||||||
|
void PokedudeHandleSetRawMonData(void);
|
||||||
|
void PokedudeHandleLoadMonSprite(void);
|
||||||
|
void PokedudeHandleSwitchInAnim(void);
|
||||||
|
void PokedudeHandleReturnMonToBall(void);
|
||||||
|
void PokedudeHandleDrawTrainerPic(void);
|
||||||
|
void PokedudeHandleTrainerSlide(void);
|
||||||
|
void PokedudeHandleTrainerSlideBack(void);
|
||||||
|
void PokedudeHandleFaintAnimation(void);
|
||||||
|
void PokedudeHandlePaletteFade(void);
|
||||||
|
void PokedudeHandleSuccessBallThrowAnim(void);
|
||||||
|
void PokedudeHandleBallThrowAnim(void);
|
||||||
|
void PokedudeHandlePause(void);
|
||||||
|
void PokedudeHandleMoveAnimation(void);
|
||||||
|
void PokedudeHandlePrintString(void);
|
||||||
|
void PokedudeHandlePrintSelectionString(void);
|
||||||
|
void PokedudeHandleChooseAction(void);
|
||||||
|
void PokedudeHandleUnknownYesNoBox(void);
|
||||||
|
void PokedudeHandleChooseMove(void);
|
||||||
|
void PokedudeHandleChooseItem(void);
|
||||||
|
void PokedudeHandleChoosePokemon(void);
|
||||||
|
void PokedudeHandleCmd23(void);
|
||||||
|
void PokedudeHandleHealthBarUpdate(void);
|
||||||
|
void PokedudeHandleExpUpdate(void);
|
||||||
|
void PokedudeHandleStatusIconUpdate(void);
|
||||||
|
void PokedudeHandleStatusAnimation(void);
|
||||||
|
void PokedudeHandleStatusXor(void);
|
||||||
|
void PokedudeHandleDataTransfer(void);
|
||||||
|
void PokedudeHandleDMA3Transfer(void);
|
||||||
|
void PokedudeHandlePlayBGM(void);
|
||||||
|
void PokedudeHandleCmd32(void);
|
||||||
|
void PokedudeHandleTwoReturnValues(void);
|
||||||
|
void PokedudeHandleChosenMonReturnValue(void);
|
||||||
|
void PokedudeHandleOneReturnValue(void);
|
||||||
|
void PokedudeHandleOneReturnValue_Duplicate(void);
|
||||||
|
void PokedudeHandleCmd37(void);
|
||||||
|
void PokedudeHandleCmd38(void);
|
||||||
|
void PokedudeHandleCmd39(void);
|
||||||
|
void PokedudeHandleCmd40(void);
|
||||||
|
void PokedudeHandleHitAnimation(void);
|
||||||
|
void PokedudeHandleCmd42(void);
|
||||||
|
void PokedudeHandlePlaySE(void);
|
||||||
|
void PokedudeHandlePlayFanfare(void);
|
||||||
|
void PokedudeHandleFaintingCry(void);
|
||||||
|
void PokedudeHandleIntroSlide(void);
|
||||||
|
void PokedudeHandleIntroTrainerBallThrow(void);
|
||||||
|
void PokedudeHandleDrawPartyStatusSummary(void);
|
||||||
|
void PokedudeHandleHidePartyStatusSummary(void);
|
||||||
|
void PokedudeHandleEndBounceEffect(void);
|
||||||
|
void PokedudeHandleSpriteInvisibility(void);
|
||||||
|
void PokedudeHandleBattleAnimation(void);
|
||||||
|
void PokedudeHandleLinkStandbyMsg(void);
|
||||||
|
void PokedudeHandleResetActionMoveSelection(void);
|
||||||
|
void PokedudeHandleCmd55(void);
|
||||||
|
void PokedudeCmdEnd(void);
|
||||||
|
|
||||||
|
void sub_8159BA8(void);
|
||||||
|
void sub_8159D04(void);
|
||||||
|
|
||||||
|
void (*const sPokedudeBufferCommands[CONTROLLER_CMDS_COUNT])(void) =
|
||||||
|
{
|
||||||
|
PokedudeHandleGetMonData,
|
||||||
|
PokedudeHandleGetRawMonData,
|
||||||
|
PokedudeHandleSetMonData,
|
||||||
|
PokedudeHandleSetRawMonData,
|
||||||
|
PokedudeHandleLoadMonSprite,
|
||||||
|
PokedudeHandleSwitchInAnim,
|
||||||
|
PokedudeHandleReturnMonToBall,
|
||||||
|
PokedudeHandleDrawTrainerPic,
|
||||||
|
PokedudeHandleTrainerSlide,
|
||||||
|
PokedudeHandleTrainerSlideBack,
|
||||||
|
PokedudeHandleFaintAnimation,
|
||||||
|
PokedudeHandlePaletteFade,
|
||||||
|
PokedudeHandleSuccessBallThrowAnim,
|
||||||
|
PokedudeHandleBallThrowAnim,
|
||||||
|
PokedudeHandlePause,
|
||||||
|
PokedudeHandleMoveAnimation,
|
||||||
|
PokedudeHandlePrintString,
|
||||||
|
PokedudeHandlePrintSelectionString,
|
||||||
|
PokedudeHandleChooseAction,
|
||||||
|
PokedudeHandleUnknownYesNoBox,
|
||||||
|
PokedudeHandleChooseMove,
|
||||||
|
PokedudeHandleChooseItem,
|
||||||
|
PokedudeHandleChoosePokemon,
|
||||||
|
PokedudeHandleCmd23,
|
||||||
|
PokedudeHandleHealthBarUpdate,
|
||||||
|
PokedudeHandleExpUpdate,
|
||||||
|
PokedudeHandleStatusIconUpdate,
|
||||||
|
PokedudeHandleStatusAnimation,
|
||||||
|
PokedudeHandleStatusXor,
|
||||||
|
PokedudeHandleDataTransfer,
|
||||||
|
PokedudeHandleDMA3Transfer,
|
||||||
|
PokedudeHandlePlayBGM,
|
||||||
|
PokedudeHandleCmd32,
|
||||||
|
PokedudeHandleTwoReturnValues,
|
||||||
|
PokedudeHandleChosenMonReturnValue,
|
||||||
|
PokedudeHandleOneReturnValue,
|
||||||
|
PokedudeHandleOneReturnValue_Duplicate,
|
||||||
|
PokedudeHandleCmd37,
|
||||||
|
PokedudeHandleCmd38,
|
||||||
|
PokedudeHandleCmd39,
|
||||||
|
PokedudeHandleCmd40,
|
||||||
|
PokedudeHandleHitAnimation,
|
||||||
|
PokedudeHandleCmd42,
|
||||||
|
PokedudeHandlePlaySE,
|
||||||
|
PokedudeHandlePlayFanfare,
|
||||||
|
PokedudeHandleFaintingCry,
|
||||||
|
PokedudeHandleIntroSlide,
|
||||||
|
PokedudeHandleIntroTrainerBallThrow,
|
||||||
|
PokedudeHandleDrawPartyStatusSummary,
|
||||||
|
PokedudeHandleHidePartyStatusSummary,
|
||||||
|
PokedudeHandleEndBounceEffect,
|
||||||
|
PokedudeHandleSpriteInvisibility,
|
||||||
|
PokedudeHandleBattleAnimation,
|
||||||
|
PokedudeHandleLinkStandbyMsg,
|
||||||
|
PokedudeHandleResetActionMoveSelection,
|
||||||
|
PokedudeHandleCmd55,
|
||||||
|
PokedudeCmdEnd,
|
||||||
|
};
|
||||||
|
|
||||||
|
// not used
|
||||||
|
const u8 gUnknown_8479000[] = { 0x48, 0x48, 0x20, 0x5a, 0x50, 0x50, 0x50, 0x58 };
|
||||||
|
|
||||||
|
const u8 gUnknown_8479008[][8] =
|
||||||
|
{
|
||||||
|
{ 0, 0, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 4, 4, 0, 0, 0, 0, 0, 0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 gUnknown_8479018[][8] =
|
||||||
|
{
|
||||||
|
{ 0, 0, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 1, 0, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 0, 0, 0, 0, 64, 0, 0, 0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 gUnknown_8479030[][8] =
|
||||||
|
{
|
||||||
|
{ 0, 0, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 2, 0, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 0, 0, 0, 0, 64, 0, 0, 0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 gUnknown_8479048[][8] =
|
||||||
|
{
|
||||||
|
{ 0, 0, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 0, 0, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 1, 0, 0, 0, 64, 0, 0, 0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 (*const gUnknown_8479060[])[8] =
|
||||||
|
{
|
||||||
|
gUnknown_8479008,
|
||||||
|
gUnknown_8479018,
|
||||||
|
gUnknown_8479030,
|
||||||
|
gUnknown_8479048,
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 gUnknown_8479070[][8] =
|
||||||
|
{
|
||||||
|
{ 2, 2, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 255, 255, 0, 0, 0, 0, 0, 0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 gUnknown_8479080[][8] =
|
||||||
|
{
|
||||||
|
{ 2, 2, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 2, 0, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 2, 0, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 255, 255, 0, 0, 0, 0, 0, 0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 gUnknown_84790A0[][8] =
|
||||||
|
{
|
||||||
|
{ 2, 0, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 0, 0, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 0, 0, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 255, 255, 0, 0, 0, 0, 0, 0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 gUnknown_84790C0[][8] =
|
||||||
|
{
|
||||||
|
{ 0, 2, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 2, 2, 0, 0, 64, 0, 0, 0 },
|
||||||
|
{ 255, 255, 0, 0, 0, 0, 0, 0 },
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 (*const gUnknown_84790D8[])[8] =
|
||||||
|
{
|
||||||
|
gUnknown_8479070,
|
||||||
|
gUnknown_8479080,
|
||||||
|
gUnknown_84790A0,
|
||||||
|
gUnknown_84790C0,
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct Unk_84790E8 gUnknown_84790E8[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.unk_0 = 18,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 0,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 16,
|
||||||
|
.unk_1 = 1,
|
||||||
|
.unk_2 = 4,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 18,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 0,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 16,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 13,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct Unk_84790E8 gUnknown_8479108[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.unk_0 = 18,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 0,
|
||||||
|
.unk_4 = NULL,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 18,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 0,
|
||||||
|
.unk_4 = sub_8159D04,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 21,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 0,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 16,
|
||||||
|
.unk_1 = 1,
|
||||||
|
.unk_2 = 4,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 16,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 13,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct Unk_84790E8 gUnknown_8479130[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.unk_0 = 16,
|
||||||
|
.unk_1 = 1,
|
||||||
|
.unk_2 = 4,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 18,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 0,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 22,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 0,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 16,
|
||||||
|
.unk_1 = 1,
|
||||||
|
.unk_2 = 4,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 18,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 0,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 20,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 0,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 16,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 13,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct Unk_84790E8 gUnknown_8479168[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.unk_0 = 18,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 0,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 18,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 0,
|
||||||
|
.unk_4 = NULL,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 18,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 0,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 16,
|
||||||
|
.unk_1 = 1,
|
||||||
|
.unk_2 = 107,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 21,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 0,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.unk_0 = 55,
|
||||||
|
.unk_1 = 0,
|
||||||
|
.unk_2 = 0,
|
||||||
|
.unk_4 = sub_8159BA8,
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct Unk_84790E8 *const gUnknown_8479198[] =
|
||||||
|
{
|
||||||
|
gUnknown_84790E8,
|
||||||
|
gUnknown_8479108,
|
||||||
|
gUnknown_8479130,
|
||||||
|
gUnknown_8479168,
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 *const gUnknown_84791A8[] =
|
||||||
|
{
|
||||||
|
gUnknown_81C5F69,
|
||||||
|
gUnknown_81C5FA7,
|
||||||
|
gUnknown_81C5FDC,
|
||||||
|
gUnknown_81C601C,
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 *const gUnknown_84791B8[] =
|
||||||
|
{
|
||||||
|
gUnknown_81C60FA,
|
||||||
|
gUnknown_81C60FA,
|
||||||
|
gUnknown_81C615A,
|
||||||
|
gUnknown_81C6196,
|
||||||
|
gUnknown_81C61EA,
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 *const gUnknown_84791CC[] =
|
||||||
|
{
|
||||||
|
gUnknown_81C6202,
|
||||||
|
gUnknown_81C6301,
|
||||||
|
gUnknown_81C63A9,
|
||||||
|
gUnknown_81C63F9,
|
||||||
|
gUnknown_81C6446,
|
||||||
|
gUnknown_81C657A,
|
||||||
|
gUnknown_81C6637,
|
||||||
|
};
|
||||||
|
|
||||||
|
const u8 *const gUnknown_84791E8[] =
|
||||||
|
{
|
||||||
|
gUnknown_81C6645,
|
||||||
|
gUnknown_81C6645,
|
||||||
|
gUnknown_81C66CF,
|
||||||
|
gUnknown_81C6787,
|
||||||
|
gUnknown_81C684B,
|
||||||
|
gUnknown_81C686C,
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct PokedudeBattlePartyInfo sParties_Battle[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.side = 0,
|
||||||
|
.level = 15,
|
||||||
|
.species = SPECIES_RATTATA,
|
||||||
|
.moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_HYPER_FANG, MOVE_QUICK_ATTACK},
|
||||||
|
.nature = NATURE_LONELY,
|
||||||
|
.gender = MALE,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.side = 1,
|
||||||
|
.level = 18,
|
||||||
|
.species = SPECIES_PIDGEY,
|
||||||
|
.moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK},
|
||||||
|
.nature = NATURE_NAUGHTY,
|
||||||
|
.gender = MALE,
|
||||||
|
},
|
||||||
|
{0xFF}
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct PokedudeBattlePartyInfo sParties_Status[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.side = 0,
|
||||||
|
.level = 15,
|
||||||
|
.species = SPECIES_RATTATA,
|
||||||
|
.moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_HYPER_FANG, MOVE_QUICK_ATTACK},
|
||||||
|
.nature = NATURE_LONELY,
|
||||||
|
.gender = MALE,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.side = 1,
|
||||||
|
.level = 14,
|
||||||
|
.species = SPECIES_ODDISH,
|
||||||
|
.moves = {MOVE_ABSORB, MOVE_SWEET_SCENT, MOVE_POISON_POWDER},
|
||||||
|
.nature = NATURE_RASH,
|
||||||
|
.gender = MALE,
|
||||||
|
},
|
||||||
|
{0xFF}
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct PokedudeBattlePartyInfo sParties_Matchups[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.side = 0,
|
||||||
|
.level = 15,
|
||||||
|
.species = SPECIES_POLIWAG,
|
||||||
|
.moves = {MOVE_WATER_GUN, MOVE_HYPNOSIS, MOVE_BUBBLE},
|
||||||
|
.nature = NATURE_RASH,
|
||||||
|
.gender = MALE,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.side = 0,
|
||||||
|
.level = 15,
|
||||||
|
.species = SPECIES_BUTTERFREE,
|
||||||
|
.moves = {MOVE_CONFUSION, MOVE_POISON_POWDER, MOVE_STUN_SPORE, MOVE_SLEEP_POWDER},
|
||||||
|
.nature = NATURE_RASH,
|
||||||
|
.gender = MALE,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.side = 1,
|
||||||
|
.level = 14,
|
||||||
|
.species = SPECIES_ODDISH,
|
||||||
|
.moves = {MOVE_ABSORB, MOVE_SWEET_SCENT, MOVE_POISON_POWDER},
|
||||||
|
.nature = NATURE_RASH,
|
||||||
|
.gender = MALE,
|
||||||
|
},
|
||||||
|
{0xFF}
|
||||||
|
};
|
||||||
|
|
||||||
|
const struct PokedudeBattlePartyInfo sParties_Catching[] =
|
||||||
|
{
|
||||||
|
{
|
||||||
|
.side = 0,
|
||||||
|
.level = 15,
|
||||||
|
.species = SPECIES_BUTTERFREE,
|
||||||
|
.moves = {MOVE_CONFUSION, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_STUN_SPORE},
|
||||||
|
.nature = NATURE_RASH,
|
||||||
|
.gender = MALE,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
.side = 1,
|
||||||
|
.level = 11,
|
||||||
|
.species = SPECIES_JIGGLYPUFF,
|
||||||
|
.moves = {MOVE_SING, MOVE_DEFENSE_CURL, MOVE_POUND},
|
||||||
|
.nature = NATURE_CAREFUL,
|
||||||
|
.gender = MALE,
|
||||||
|
},
|
||||||
|
{0xFF}
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
const struct PokedudeBattlePartyInfo *const sPokedudeBattlePartyPointers[] =
|
||||||
|
{
|
||||||
|
sParties_Battle,
|
||||||
|
sParties_Status,
|
||||||
|
sParties_Matchups,
|
||||||
|
sParties_Catching,
|
||||||
|
};
|
||||||
@@ -85,9 +85,9 @@ static void InitSinglePlayerBtlControllers(void)
|
|||||||
gBattleMainFunc = BeginBattleIntro;
|
gBattleMainFunc = BeginBattleIntro;
|
||||||
if (gBattleTypeFlags & BATTLE_TYPE_POKEDUDE)
|
if (gBattleTypeFlags & BATTLE_TYPE_POKEDUDE)
|
||||||
{
|
{
|
||||||
gBattlerControllerFuncs[0] = SetControllerToPokeDude;
|
gBattlerControllerFuncs[0] = SetControllerToPokedude;
|
||||||
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||||
gBattlerControllerFuncs[1] = SetControllerToPokeDude;
|
gBattlerControllerFuncs[1] = SetControllerToPokedude;
|
||||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||||
gBattlersCount = 2;
|
gBattlersCount = 2;
|
||||||
}
|
}
|
||||||
@@ -110,13 +110,13 @@ static void InitSinglePlayerBtlControllers(void)
|
|||||||
gBattleMainFunc = BeginBattleIntro;
|
gBattleMainFunc = BeginBattleIntro;
|
||||||
if (gBattleTypeFlags & BATTLE_TYPE_POKEDUDE)
|
if (gBattleTypeFlags & BATTLE_TYPE_POKEDUDE)
|
||||||
{
|
{
|
||||||
gBattlerControllerFuncs[0] = SetControllerToPokeDude;
|
gBattlerControllerFuncs[0] = SetControllerToPokedude;
|
||||||
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
gBattlerPositions[0] = B_POSITION_PLAYER_LEFT;
|
||||||
gBattlerControllerFuncs[1] = SetControllerToPokeDude;
|
gBattlerControllerFuncs[1] = SetControllerToPokedude;
|
||||||
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
gBattlerPositions[1] = B_POSITION_OPPONENT_LEFT;
|
||||||
gBattlerControllerFuncs[2] = SetControllerToPokeDude;
|
gBattlerControllerFuncs[2] = SetControllerToPokedude;
|
||||||
gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT;
|
gBattlerPositions[2] = B_POSITION_PLAYER_RIGHT;
|
||||||
gBattlerControllerFuncs[3] = SetControllerToPokeDude;
|
gBattlerControllerFuncs[3] = SetControllerToPokedude;
|
||||||
gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
gBattlerPositions[3] = B_POSITION_OPPONENT_RIGHT;
|
||||||
gBattlersCount = MAX_BATTLERS_COUNT;
|
gBattlersCount = MAX_BATTLERS_COUNT;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -11,6 +11,9 @@
|
|||||||
#include "constants/moves.h"
|
#include "constants/moves.h"
|
||||||
#include "constants/pokemon.h"
|
#include "constants/pokemon.h"
|
||||||
|
|
||||||
|
// Don't forget to delete these move the function to battle_controller_pokedude.c
|
||||||
|
// and headers
|
||||||
|
// currently I need these for building
|
||||||
struct PokedudeBattlePartyInfo
|
struct PokedudeBattlePartyInfo
|
||||||
{
|
{
|
||||||
u8 side;
|
u8 side;
|
||||||
@@ -20,103 +23,7 @@ struct PokedudeBattlePartyInfo
|
|||||||
u8 nature;
|
u8 nature;
|
||||||
u8 gender;
|
u8 gender;
|
||||||
};
|
};
|
||||||
|
extern const struct PokedudeBattlePartyInfo *const sPokedudeBattlePartyPointers[];
|
||||||
static const struct PokedudeBattlePartyInfo sParties_Battle[] = {
|
|
||||||
{
|
|
||||||
.side = 0,
|
|
||||||
.level = 15,
|
|
||||||
.species = SPECIES_RATTATA,
|
|
||||||
.moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_HYPER_FANG, MOVE_QUICK_ATTACK},
|
|
||||||
.nature = NATURE_LONELY,
|
|
||||||
.gender = MALE
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.side = 1,
|
|
||||||
.level = 18,
|
|
||||||
.species = SPECIES_PIDGEY,
|
|
||||||
.moves = {MOVE_TACKLE, MOVE_SAND_ATTACK, MOVE_GUST, MOVE_QUICK_ATTACK},
|
|
||||||
.nature = NATURE_NAUGHTY,
|
|
||||||
.gender = MALE
|
|
||||||
},
|
|
||||||
{0xFF}
|
|
||||||
};
|
|
||||||
|
|
||||||
static const struct PokedudeBattlePartyInfo sParties_Status[] = {
|
|
||||||
{
|
|
||||||
.side = 0,
|
|
||||||
.level = 15,
|
|
||||||
.species = SPECIES_RATTATA,
|
|
||||||
.moves = {MOVE_TACKLE, MOVE_TAIL_WHIP, MOVE_HYPER_FANG, MOVE_QUICK_ATTACK},
|
|
||||||
.nature = NATURE_LONELY,
|
|
||||||
.gender = MALE
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.side = 1,
|
|
||||||
.level = 14,
|
|
||||||
.species = SPECIES_ODDISH,
|
|
||||||
.moves = {MOVE_ABSORB, MOVE_SWEET_SCENT, MOVE_POISON_POWDER},
|
|
||||||
.nature = NATURE_RASH,
|
|
||||||
.gender = MALE
|
|
||||||
},
|
|
||||||
{0xFF}
|
|
||||||
};
|
|
||||||
|
|
||||||
static const struct PokedudeBattlePartyInfo sParties_Matchups[] = {
|
|
||||||
{
|
|
||||||
.side = 0,
|
|
||||||
.level = 15,
|
|
||||||
.species = SPECIES_POLIWAG,
|
|
||||||
.moves = {MOVE_WATER_GUN, MOVE_HYPNOSIS, MOVE_BUBBLE},
|
|
||||||
.nature = NATURE_RASH,
|
|
||||||
.gender = MALE
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.side = 0,
|
|
||||||
.level = 15,
|
|
||||||
.species = SPECIES_BUTTERFREE,
|
|
||||||
.moves = {MOVE_CONFUSION, MOVE_POISON_POWDER, MOVE_STUN_SPORE, MOVE_SLEEP_POWDER},
|
|
||||||
.nature = NATURE_RASH,
|
|
||||||
.gender = MALE
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.side = 1,
|
|
||||||
.level = 14,
|
|
||||||
.species = SPECIES_ODDISH,
|
|
||||||
.moves = {MOVE_ABSORB, MOVE_SWEET_SCENT, MOVE_POISON_POWDER},
|
|
||||||
.nature = NATURE_RASH,
|
|
||||||
.gender = MALE
|
|
||||||
},
|
|
||||||
{0xFF}
|
|
||||||
};
|
|
||||||
|
|
||||||
static const struct PokedudeBattlePartyInfo sParties_Catching[] = {
|
|
||||||
{
|
|
||||||
.side = 0,
|
|
||||||
.level = 15,
|
|
||||||
.species = SPECIES_BUTTERFREE,
|
|
||||||
.moves = {MOVE_CONFUSION, MOVE_POISON_POWDER, MOVE_SLEEP_POWDER, MOVE_STUN_SPORE},
|
|
||||||
.nature = NATURE_RASH,
|
|
||||||
.gender = MALE
|
|
||||||
},
|
|
||||||
{
|
|
||||||
.side = 1,
|
|
||||||
.level = 11,
|
|
||||||
.species = SPECIES_JIGGLYPUFF,
|
|
||||||
.moves = {MOVE_SING, MOVE_DEFENSE_CURL, MOVE_POUND},
|
|
||||||
.nature = NATURE_CAREFUL,
|
|
||||||
.gender = MALE
|
|
||||||
},
|
|
||||||
{0xFF}
|
|
||||||
};
|
|
||||||
|
|
||||||
|
|
||||||
static const struct PokedudeBattlePartyInfo *const sPokedudeBattlePartyPointers[] = {
|
|
||||||
sParties_Battle,
|
|
||||||
sParties_Status,
|
|
||||||
sParties_Matchups,
|
|
||||||
sParties_Catching
|
|
||||||
};
|
|
||||||
|
|
||||||
void InitPokedudePartyAndOpponent(void)
|
void InitPokedudePartyAndOpponent(void)
|
||||||
{
|
{
|
||||||
s32 i, j;
|
s32 i, j;
|
||||||
Reference in New Issue
Block a user