battle_controller_link_opponent

This commit is contained in:
jiangzhengwenjz
2019-08-22 14:21:56 +08:00
parent 08e8856f10
commit 5f6a55e4fd
14 changed files with 1711 additions and 6291 deletions
File diff suppressed because it is too large Load Diff
+10 -10
View File
@@ -3838,7 +3838,7 @@ sub_80D61C8: @ 80D61C8
movs r7, 0x5A movs r7, 0x5A
_080D61E2: _080D61E2:
ldrb r0, [r6] ldrb r0, [r6]
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
ldr r5, _080D6244 @ =gLinkPlayers ldr r5, _080D6244 @ =gLinkPlayers
lsls r1, r0, 3 lsls r1, r0, 3
subs r1, r0 subs r1, r0
@@ -3849,7 +3849,7 @@ _080D61E2:
cmp r0, 0x2 cmp r0, 0x2
beq _080D6228 beq _080D6228
ldrb r0, [r6] ldrb r0, [r6]
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
lsls r1, r0, 3 lsls r1, r0, 3
subs r1, r0 subs r1, r0
lsls r1, 2 lsls r1, 2
@@ -3860,7 +3860,7 @@ _080D61E2:
cmp r0, 0x1 cmp r0, 0x1
beq _080D6228 beq _080D6228
ldrb r0, [r6] ldrb r0, [r6]
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
lsls r1, r0, 3 lsls r1, r0, 3
subs r1, r0 subs r1, r0
lsls r1, 2 lsls r1, 2
@@ -3872,7 +3872,7 @@ _080D61E2:
_080D6228: _080D6228:
ldr r0, _080D6240 @ =gActiveBattler ldr r0, _080D6240 @ =gActiveBattler
ldrb r0, [r0] ldrb r0, [r0]
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
ldr r2, _080D6244 @ =gLinkPlayers ldr r2, _080D6244 @ =gLinkPlayers
lsls r1, r0, 3 lsls r1, r0, 3
subs r1, r0 subs r1, r0
@@ -3886,7 +3886,7 @@ _080D6240: .4byte gActiveBattler
_080D6244: .4byte gLinkPlayers _080D6244: .4byte gLinkPlayers
_080D6248: _080D6248:
ldrb r0, [r6] ldrb r0, [r6]
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
lsls r1, r0, 3 lsls r1, r0, 3
subs r1, r0 subs r1, r0
lsls r1, 2 lsls r1, 2
@@ -5314,7 +5314,7 @@ sub_80D6CD4: @ 80D6CD4
lsls r0, 24 lsls r0, 24
lsrs r7, r0, 24 lsrs r7, r0, 24
ldrb r0, [r6] ldrb r0, [r6]
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
ldr r4, _080D6DF8 @ =gLinkPlayers ldr r4, _080D6DF8 @ =gLinkPlayers
lsls r1, r0, 3 lsls r1, r0, 3
subs r1, r0 subs r1, r0
@@ -5325,7 +5325,7 @@ sub_80D6CD4: @ 80D6CD4
cmp r0, 0x2 cmp r0, 0x2
beq _080D6DC2 beq _080D6DC2
ldrb r0, [r6] ldrb r0, [r6]
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
lsls r1, r0, 3 lsls r1, r0, 3
subs r1, r0 subs r1, r0
lsls r1, 2 lsls r1, 2
@@ -5336,7 +5336,7 @@ sub_80D6CD4: @ 80D6CD4
cmp r0, 0x1 cmp r0, 0x1
beq _080D6DC2 beq _080D6DC2
ldrb r0, [r6] ldrb r0, [r6]
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
lsls r1, r0, 3 lsls r1, r0, 3
subs r1, r0 subs r1, r0
lsls r1, 2 lsls r1, 2
@@ -5348,7 +5348,7 @@ sub_80D6CD4: @ 80D6CD4
_080D6DC2: _080D6DC2:
ldr r0, _080D6DE0 @ =gActiveBattler ldr r0, _080D6DE0 @ =gActiveBattler
ldrb r0, [r0] ldrb r0, [r0]
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
ldr r2, _080D6DF8 @ =gLinkPlayers ldr r2, _080D6DF8 @ =gLinkPlayers
lsls r1, r0, 3 lsls r1, r0, 3
subs r1, r0 subs r1, r0
@@ -5368,7 +5368,7 @@ _080D6DF4: .4byte 0x0000d6f9
_080D6DF8: .4byte gLinkPlayers _080D6DF8: .4byte gLinkPlayers
_080D6DFC: _080D6DFC:
ldrb r0, [r6] ldrb r0, [r6]
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
lsls r1, r0, 3 lsls r1, r0, 3
subs r1, r0 subs r1, r0
lsls r1, 2 lsls r1, 2
+2 -2
View File
@@ -1871,7 +1871,7 @@ _080D819C:
movs r0, 0x3 movs r0, 0x3
_080D81AA: _080D81AA:
eors r0, r1 eors r0, r1
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
lsls r1, r0, 3 lsls r1, r0, 3
subs r1, r0 subs r1, r0
lsls r1, 2 lsls r1, 2
@@ -1883,7 +1883,7 @@ _080D81BC: .4byte gLinkPlayers
_080D81C0: _080D81C0:
ldr r0, _080D81D4 @ =gBattleScripting ldr r0, _080D81D4 @ =gBattleScripting
ldrb r0, [r0, 0x17] ldrb r0, [r0, 0x17]
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
_080D81C8: _080D81C8:
lsls r1, r0, 3 lsls r1, r0, 3
subs r1, r0 subs r1, r0
+3 -3
View File
@@ -13395,7 +13395,7 @@ _08024204:
_08024228: _08024228:
movs r5, 0 movs r5, 0
ldrb r0, [r4] ldrb r0, [r4]
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
bl GetLinkTrainerFlankId bl GetLinkTrainerFlankId
@@ -21517,7 +21517,7 @@ _08028336:
movs r7, 0 movs r7, 0
movs r6, 0 movs r6, 0
ldrb r0, [r5] ldrb r0, [r5]
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
bl GetLinkTrainerFlankId bl GetLinkTrainerFlankId
@@ -21662,7 +21662,7 @@ _08028458:
lsrs r6, r0, 24 lsrs r6, r0, 24
ldr r0, _08028490 @ =gBattlerTarget ldr r0, _08028490 @ =gBattlerTarget
ldrb r0, [r0] ldrb r0, [r0]
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
lsls r0, 24 lsls r0, 24
lsrs r0, 24 lsrs r0, 24
bl GetLinkTrainerFlankId bl GetLinkTrainerFlankId
+1 -1
View File
@@ -132,7 +132,7 @@ _0804AA12:
beq _0804AA60 beq _0804AA60
ldr r4, _0804AA5C @ =gLinkPlayers ldr r4, _0804AA5C @ =gLinkPlayers
adds r0, r6, 0 adds r0, r6, 0
bl GetBankMultiplayerId bl GetBattlerMultiplayerId
lsls r1, r0, 3 lsls r1, r0, 3
subs r1, r0 subs r1, r0
lsls r1, 2 lsls r1, 2
-5
View File
@@ -346,11 +346,6 @@ gSpriteSheet_EnemyShadow:: @ 8250A0C
gSpriteTemplate_EnemyShadow:: @ 8250A1C gSpriteTemplate_EnemyShadow:: @ 8250A1C
.incbin "baserom.gba", 0x250A1C, 0x18 .incbin "baserom.gba", 0x250A1C, 0x18
.section .rodata.8250B20
gUnknown_8250B20:: @ 8250B20
.incbin "baserom.gba", 0x250B20, 0xE4
.section .rodata.8260270 .section .rodata.8260270
gUnknown_8260270:: @ 8260270 gUnknown_8260270:: @ 8260270
-1
View File
@@ -68,7 +68,6 @@ void sub_8039E44(struct Sprite *sprite);
void sub_8039E60(struct Sprite *sprite); void sub_8039E60(struct Sprite *sprite);
void sub_8039E84(struct Sprite *sprite); void sub_8039E84(struct Sprite *sprite);
void sub_8039E9C(struct Sprite *sprite); void sub_8039E9C(struct Sprite *sprite);
void nullsub_20(void);
void BeginBattleIntro(void); void BeginBattleIntro(void);
void SwitchInClearSetData(void); void SwitchInClearSetData(void);
void FaintClearSetData(void); void FaintClearSetData(void);
+1 -1
View File
@@ -624,7 +624,7 @@ void DrawSpindaSpots(u16 species, u32 personality, u8 *dest, u8 a4);
void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies); void EvolutionRenameMon(struct Pokemon *mon, u16 oldSpecies, u16 newSpecies);
bool8 sub_80435E0(void); bool8 sub_80435E0(void);
bool8 GetLinkTrainerFlankId(u8 linkPlayerId); bool8 GetLinkTrainerFlankId(u8 linkPlayerId);
s32 GetBankMultiplayerId(u16 a1); s32 GetBattlerMultiplayerId(u16 a1);
u8 GetTrainerEncounterMusicId(u16 trainer); u8 GetTrainerEncounterMusicId(u16 trainer);
void AdjustFriendship(struct Pokemon *mon, u8 event); void AdjustFriendship(struct Pokemon *mon, u8 event);
void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies); void MonGainEVs(struct Pokemon *mon, u16 defeatedSpecies);
+2 -2
View File
@@ -74,7 +74,7 @@ SECTIONS {
src/battle_gfx_sfx_util.o(.text); src/battle_gfx_sfx_util.o(.text);
src/battle_controller_opponent.o(.text); src/battle_controller_opponent.o(.text);
src/battle_ai_switch_items.o(.text); src/battle_ai_switch_items.o(.text);
asm/battle_controller_link_opponent.o(.text); src/battle_controller_link_opponent.o(.text);
src/pokemon.o(.text); src/pokemon.o(.text);
src/trig.o(.text); src/trig.o(.text);
src/random.o(.text); src/random.o(.text);
@@ -385,7 +385,7 @@ SECTIONS {
src/battle_controller_player.o(.rodata); src/battle_controller_player.o(.rodata);
data/data.o(.rodata.825098C); data/data.o(.rodata.825098C);
src/battle_controller_opponent.o(.rodata); src/battle_controller_opponent.o(.rodata);
data/data.o(.rodata.8250B20); src/battle_controller_link_opponent.o(.rodata);
src/pokemon.o(.rodata); src/pokemon.o(.rodata);
src/trig.o(.rodata); src/trig.o(.rodata);
src/util.o(.rodata); src/util.o(.rodata);
File diff suppressed because it is too large Load Diff
+1 -1
View File
@@ -178,7 +178,7 @@ static void OpponentBufferRunCommand(void)
{ {
if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) if (gBattleControllerExecFlags & gBitTable[gActiveBattler])
{ {
if (gBattleBufferA[gActiveBattler][0] < ARRAY_COUNT(sOpponentBufferCommands)) if (gBattleBufferA[gActiveBattler][0] < NELEMS(sOpponentBufferCommands))
sOpponentBufferCommands[gBattleBufferA[gActiveBattler][0]](); sOpponentBufferCommands[gBattleBufferA[gActiveBattler][0]]();
else else
OpponentBufferExecCompleted(); OpponentBufferExecCompleted();
+2 -2
View File
@@ -211,7 +211,7 @@ static void PlayerBufferRunCommand(void)
{ {
if (gBattleControllerExecFlags & gBitTable[gActiveBattler]) if (gBattleControllerExecFlags & gBitTable[gActiveBattler])
{ {
if (gBattleBufferA[gActiveBattler][0] < ARRAY_COUNT(sPlayerBufferCommands)) if (gBattleBufferA[gActiveBattler][0] < NELEMS(sPlayerBufferCommands))
sPlayerBufferCommands[gBattleBufferA[gActiveBattler][0]](); sPlayerBufferCommands[gBattleBufferA[gActiveBattler][0]]();
else else
PlayerBufferExecCompleted(); PlayerBufferExecCompleted();
@@ -329,7 +329,7 @@ static void HandleInputChooseTarget(void)
s32 i; s32 i;
u8 identities[4]; u8 identities[4];
memcpy(identities, sTargetIdentities, ARRAY_COUNT(sTargetIdentities)); memcpy(identities, sTargetIdentities, NELEMS(sTargetIdentities));
DoBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX, 15, 1); DoBounceEffect(gMultiUsePlayerCursor, BOUNCE_HEALTHBOX, 15, 1);
i = 0; i = 0;
if (gBattlersCount != 0) if (gBattlersCount != 0)
+1 -1
View File
@@ -1482,7 +1482,7 @@ bool8 HasNoMonsToSwitch(u8 battler, u8 partyIdBattlerOn1, u8 partyIdBattlerOn2)
{ {
if (gBattleTypeFlags & BATTLE_TYPE_MULTI) if (gBattleTypeFlags & BATTLE_TYPE_MULTI)
{ {
playerId = GetBankMultiplayerId(battler); playerId = GetBattlerMultiplayerId(battler);
if (GetBattlerSide(battler) == B_SIDE_PLAYER) if (GetBattlerSide(battler) == B_SIDE_PLAYER)
party = gPlayerParty; party = gPlayerParty;
else else
+2 -2
View File
@@ -6482,7 +6482,7 @@ bool8 GetLinkTrainerFlankId(u8 linkPlayerId)
return retVal; return retVal;
} }
s32 GetBankMultiplayerId(u16 a1) s32 GetBattlerMultiplayerId(u16 a1)
{ {
s32 id; s32 id;
for (id = 0; id < MAX_LINK_PLAYERS; id++) for (id = 0; id < MAX_LINK_PLAYERS; id++)
@@ -7133,7 +7133,7 @@ static bool8 IsShinyOtIdPersonality(u32 otId, u32 personality)
u8 *GetTrainerPartnerName(void) u8 *GetTrainerPartnerName(void)
{ {
u8 id = GetMultiplayerId(); u8 id = GetMultiplayerId();
return gLinkPlayers[GetBankMultiplayerId(gLinkPlayers[id].id ^ 2)].name; return gLinkPlayers[GetBattlerMultiplayerId(gLinkPlayers[id].id ^ 2)].name;
} }
u8 GetPlayerPartyHighestLevel(void) u8 GetPlayerPartyHighestLevel(void)