Merge branch 'master' of https://github.com/pret/pokefirered into cast_test
This commit is contained in:
@@ -98,6 +98,8 @@ FIX := tools/gbafix/gbafix
|
|||||||
MAPJSON := tools/mapjson/mapjson
|
MAPJSON := tools/mapjson/mapjson
|
||||||
JSONPROC := tools/jsonproc/jsonproc
|
JSONPROC := tools/jsonproc/jsonproc
|
||||||
|
|
||||||
|
PERL := perl
|
||||||
|
|
||||||
# Clear the default suffixes
|
# Clear the default suffixes
|
||||||
.SUFFIXES:
|
.SUFFIXES:
|
||||||
# Don't delete intermediate files
|
# Don't delete intermediate files
|
||||||
@@ -354,4 +356,4 @@ modern: ; @$(MAKE) MODERN=1
|
|||||||
###################
|
###################
|
||||||
|
|
||||||
$(SYM): $(ELF)
|
$(SYM): $(ELF)
|
||||||
$(OBJDUMP) -t $< | sort -u | grep -E "^0[2389]" > $@
|
$(OBJDUMP) -t $< | sort -u | grep -E "^0[2389]" | $(PERL) -p -e 's/^(\w{8}) (\w).{6} \S+\t(\w{8}) (\S+)$$/\1 \2 \3 \4/g' > $@
|
||||||
|
|||||||
+19
-11
@@ -1165,7 +1165,8 @@ BattleScript_EffectLeechSeed::
|
|||||||
pause 0x20
|
pause 0x20
|
||||||
ppreduce
|
ppreduce
|
||||||
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
jumpifstatus2 BS_TARGET, STATUS2_SUBSTITUTE, BattleScript_ButItFailed
|
||||||
accuracycheck .+6, ACC_CURR_MOVE
|
accuracycheck BattleScript_DoLeechSeed, ACC_CURR_MOVE
|
||||||
|
BattleScript_DoLeechSeed::
|
||||||
setseeded
|
setseeded
|
||||||
attackanimation
|
attackanimation
|
||||||
waitanimation
|
waitanimation
|
||||||
@@ -1605,10 +1606,11 @@ BattleScript_EffectSandstorm::
|
|||||||
BattleScript_EffectRollout::
|
BattleScript_EffectRollout::
|
||||||
attackcanceler
|
attackcanceler
|
||||||
attackstring
|
attackstring
|
||||||
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_RolloutHit
|
jumpifstatus2 BS_ATTACKER, STATUS2_MULTIPLETURNS, BattleScript_RolloutCheckAccuracy
|
||||||
ppreduce
|
ppreduce
|
||||||
|
BattleScript_RolloutCheckAccuracy::
|
||||||
|
accuracycheck BattleScript_RolloutHit, ACC_CURR_MOVE
|
||||||
BattleScript_RolloutHit::
|
BattleScript_RolloutHit::
|
||||||
accuracycheck .+6, ACC_CURR_MOVE
|
|
||||||
typecalc2
|
typecalc2
|
||||||
rolloutdamagecalculation
|
rolloutdamagecalculation
|
||||||
goto BattleScript_HitFromCritCalc
|
goto BattleScript_HitFromCritCalc
|
||||||
@@ -1640,7 +1642,7 @@ BattleScript_EffectFuryCutter::
|
|||||||
attackcanceler
|
attackcanceler
|
||||||
attackstring
|
attackstring
|
||||||
ppreduce
|
ppreduce
|
||||||
accuracycheck .+6, ACC_CURR_MOVE
|
accuracycheck BattleScript_FuryCutterHit, ACC_CURR_MOVE
|
||||||
BattleScript_FuryCutterHit::
|
BattleScript_FuryCutterHit::
|
||||||
furycuttercalc
|
furycuttercalc
|
||||||
critcalc
|
critcalc
|
||||||
@@ -2247,7 +2249,8 @@ BattleScript_MementoSubstituteInvulnerable::
|
|||||||
BattleScript_MementoNoReduceStats::
|
BattleScript_MementoNoReduceStats::
|
||||||
attackstring
|
attackstring
|
||||||
ppreduce
|
ppreduce
|
||||||
jumpifattackandspecialattackcannotfall .+4
|
jumpifattackandspecialattackcannotfall BattleScript_MementoNoReduceStatsEnd
|
||||||
|
BattleScript_MementoNoReduceStatsEnd::
|
||||||
setatkhptozero
|
setatkhptozero
|
||||||
pause 0x40
|
pause 0x40
|
||||||
effectivenesssound
|
effectivenesssound
|
||||||
@@ -2897,7 +2900,8 @@ BattleScript_FaintedMonEnd::
|
|||||||
end2
|
end2
|
||||||
|
|
||||||
BattleScript_LinkBattleHandleFaint::
|
BattleScript_LinkBattleHandleFaint::
|
||||||
openpartyscreen BS_UNKNOWN_5, .+4
|
openpartyscreen BS_UNKNOWN_5, BattleScript_LinkBattleHandleFaintStart
|
||||||
|
BattleScript_LinkBattleHandleFaintStart::
|
||||||
switchhandleorder BS_FAINTED, 0
|
switchhandleorder BS_FAINTED, 0
|
||||||
openpartyscreen BS_UNKNOWN_6, BattleScript_LinkBattleFaintedMonEnd
|
openpartyscreen BS_UNKNOWN_6, BattleScript_LinkBattleFaintedMonEnd
|
||||||
switchhandleorder BS_FAINTED, 0
|
switchhandleorder BS_FAINTED, 0
|
||||||
@@ -2921,7 +2925,8 @@ BattleScript_LocalTrainerBattleWon::
|
|||||||
trainerslidein BS_ATTACKER
|
trainerslidein BS_ATTACKER
|
||||||
waitstate
|
waitstate
|
||||||
printstring STRINGID_TRAINER1LOSETEXT
|
printstring STRINGID_TRAINER1LOSETEXT
|
||||||
getmoneyreward .+4
|
getmoneyreward BattleScript_LocalTrainerBattleWonGotMoney
|
||||||
|
BattleScript_LocalTrainerBattleWonGotMoney::
|
||||||
printstring STRINGID_PLAYERGOTMONEY
|
printstring STRINGID_PLAYERGOTMONEY
|
||||||
waitmessage 0x40
|
waitmessage 0x40
|
||||||
BattleScript_PayDayMoneyAndPickUpItems::
|
BattleScript_PayDayMoneyAndPickUpItems::
|
||||||
@@ -3183,7 +3188,7 @@ BattleScript_DamagingWeatherLoop::
|
|||||||
healthbarupdate BS_ATTACKER
|
healthbarupdate BS_ATTACKER
|
||||||
datahpupdate BS_ATTACKER
|
datahpupdate BS_ATTACKER
|
||||||
tryfaintmon BS_ATTACKER, 0, NULL
|
tryfaintmon BS_ATTACKER, 0, NULL
|
||||||
atk24 .+4
|
atk24 BattleScript_DamagingWeatherContinuesEnd
|
||||||
BattleScript_DamagingWeatherContinuesEnd::
|
BattleScript_DamagingWeatherContinuesEnd::
|
||||||
jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_WeatherDamageEndedBattle
|
jumpifbyte CMP_NOT_EQUAL, gBattleOutcome, 0, BattleScript_WeatherDamageEndedBattle
|
||||||
addbyte gBattleCommunication, 1
|
addbyte gBattleCommunication, 1
|
||||||
@@ -3494,7 +3499,8 @@ BattleScript_DoFutureAttackHit::
|
|||||||
resultmessage
|
resultmessage
|
||||||
waitmessage 0x40
|
waitmessage 0x40
|
||||||
tryfaintmon BS_TARGET, 0, NULL
|
tryfaintmon BS_TARGET, 0, NULL
|
||||||
atk24 .+4
|
atk24 BattleScript_FutureAttackEnd
|
||||||
|
BattleScript_FutureAttackEnd::
|
||||||
moveendcase 0
|
moveendcase 0
|
||||||
moveendfromto 11, 14
|
moveendfromto 11, 14
|
||||||
setbyte gMoveResultFlags, 0
|
setbyte gMoveResultFlags, 0
|
||||||
@@ -3694,7 +3700,8 @@ BattleScript_DoTurnDmg::
|
|||||||
healthbarupdate BS_ATTACKER
|
healthbarupdate BS_ATTACKER
|
||||||
datahpupdate BS_ATTACKER
|
datahpupdate BS_ATTACKER
|
||||||
tryfaintmon BS_ATTACKER, 0, NULL
|
tryfaintmon BS_ATTACKER, 0, NULL
|
||||||
atk24 .+4
|
atk24 BattleScript_DoTurnDmgEnd
|
||||||
|
BattleScript_DoTurnDmgEnd::
|
||||||
end2
|
end2
|
||||||
|
|
||||||
BattleScript_BurnTurnDmg::
|
BattleScript_BurnTurnDmg::
|
||||||
@@ -4370,7 +4377,8 @@ BattleScript_BerryConfuseHealEnd2::
|
|||||||
|
|
||||||
BattleScript_BerryStatRaiseEnd2::
|
BattleScript_BerryStatRaiseEnd2::
|
||||||
playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
|
playanimation BS_ATTACKER, B_ANIM_ITEM_EFFECT, NULL
|
||||||
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, .+4
|
statbuffchange STAT_CHANGE_BS_PTR | MOVE_EFFECT_AFFECTS_USER, BattleScript_BerryStatRaiseDoStatUp
|
||||||
|
BattleScript_BerryStatRaiseDoStatUp::
|
||||||
setbyte cMULTISTRING_CHOOSER, 4
|
setbyte cMULTISTRING_CHOOSER, 4
|
||||||
call BattleScript_StatUp
|
call BattleScript_StatUp
|
||||||
removeitem BS_ATTACKER
|
removeitem BS_ATTACKER
|
||||||
|
|||||||
@@ -14,6 +14,9 @@ PewterCity_Gym_Text_BrockIntro:: @ 8190CD4
|
|||||||
.string "Fine, then!\n"
|
.string "Fine, then!\n"
|
||||||
.string "Show me your best!{PLAY_BGM}{MUS_ENCOUNTER_GYM_LEADER}$"
|
.string "Show me your best!{PLAY_BGM}{MUS_ENCOUNTER_GYM_LEADER}$"
|
||||||
|
|
||||||
|
@ NOTE: This defeat text actually causes a buffer overflow. It's too long for the gDisplayedStringBattle
|
||||||
|
@ buffer that it's put into, and it stomps all over the gBattleTextBuffs after, as well as the otherwise
|
||||||
|
@ unused array after that, gUnknown_2022AE8. Perhaps that's the reason why said array exists.
|
||||||
PewterCity_Gym_Text_BrockDefeat:: @ 8190E4F
|
PewterCity_Gym_Text_BrockDefeat:: @ 8190E4F
|
||||||
.string "I took you for granted, and so\n"
|
.string "I took you for granted, and so\n"
|
||||||
.string "I lost.\p"
|
.string "I lost.\p"
|
||||||
|
|||||||
+5
-5
@@ -612,13 +612,13 @@ static u8 GetBattleTerrainByMapScene(u8 mapBattleScene)
|
|||||||
if (mapBattleScene == sMapBattleSceneMapping[i].mapScene)
|
if (mapBattleScene == sMapBattleSceneMapping[i].mapScene)
|
||||||
return sMapBattleSceneMapping[i].battleTerrain;
|
return sMapBattleSceneMapping[i].battleTerrain;
|
||||||
}
|
}
|
||||||
return 9;
|
return BATTLE_TERRAIN_PLAIN;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void LoadBattleTerrainGfx(u16 terrain)
|
static void LoadBattleTerrainGfx(u16 terrain)
|
||||||
{
|
{
|
||||||
if (terrain >= NELEMS(sBattleTerrainTable))
|
if (terrain >= NELEMS(sBattleTerrainTable))
|
||||||
terrain = 9;
|
terrain = BATTLE_TERRAIN_PLAIN;
|
||||||
// Copy to bg3
|
// Copy to bg3
|
||||||
LZDecompressVram(sBattleTerrainTable[terrain].tileset, (void *)BG_CHAR_ADDR(2));
|
LZDecompressVram(sBattleTerrainTable[terrain].tileset, (void *)BG_CHAR_ADDR(2));
|
||||||
LZDecompressVram(sBattleTerrainTable[terrain].tilemap, (void *)BG_SCREEN_ADDR(26));
|
LZDecompressVram(sBattleTerrainTable[terrain].tilemap, (void *)BG_SCREEN_ADDR(26));
|
||||||
@@ -628,7 +628,7 @@ static void LoadBattleTerrainGfx(u16 terrain)
|
|||||||
static void LoadBattleTerrainEntryGfx(u16 terrain)
|
static void LoadBattleTerrainEntryGfx(u16 terrain)
|
||||||
{
|
{
|
||||||
if (terrain >= NELEMS(sBattleTerrainTable))
|
if (terrain >= NELEMS(sBattleTerrainTable))
|
||||||
terrain = 9;
|
terrain = BATTLE_TERRAIN_PLAIN;
|
||||||
// Copy to bg1
|
// Copy to bg1
|
||||||
LZDecompressVram(sBattleTerrainTable[terrain].entryTileset, (void *)BG_CHAR_ADDR(1));
|
LZDecompressVram(sBattleTerrainTable[terrain].entryTileset, (void *)BG_CHAR_ADDR(1));
|
||||||
LZDecompressVram(sBattleTerrainTable[terrain].entryTilemap, (void *)BG_SCREEN_ADDR(28));
|
LZDecompressVram(sBattleTerrainTable[terrain].entryTilemap, (void *)BG_SCREEN_ADDR(28));
|
||||||
@@ -636,8 +636,8 @@ static void LoadBattleTerrainEntryGfx(u16 terrain)
|
|||||||
|
|
||||||
UNUSED void GetBattleTerrainGfxPtrs(u8 terrain, const u32 **tilesPtr, const u32 **mapPtr, const u32 **palPtr)
|
UNUSED void GetBattleTerrainGfxPtrs(u8 terrain, const u32 **tilesPtr, const u32 **mapPtr, const u32 **palPtr)
|
||||||
{
|
{
|
||||||
if (terrain > 9)
|
if (terrain > BATTLE_TERRAIN_PLAIN)
|
||||||
terrain = 9;
|
terrain = BATTLE_TERRAIN_PLAIN;
|
||||||
*tilesPtr = sBattleTerrainTable[terrain].tileset;
|
*tilesPtr = sBattleTerrainTable[terrain].tileset;
|
||||||
*mapPtr = sBattleTerrainTable[terrain].tilemap;
|
*mapPtr = sBattleTerrainTable[terrain].tilemap;
|
||||||
*palPtr = sBattleTerrainTable[terrain].palette;
|
*palPtr = sBattleTerrainTable[terrain].palette;
|
||||||
|
|||||||
+1
-1
@@ -125,7 +125,7 @@ EWRAM_DATA u8 gDisplayedStringBattle[300] = {0};
|
|||||||
EWRAM_DATA u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT] = {0};
|
EWRAM_DATA u8 gBattleTextBuff1[TEXT_BUFF_ARRAY_COUNT] = {0};
|
||||||
EWRAM_DATA u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT] = {0};
|
EWRAM_DATA u8 gBattleTextBuff2[TEXT_BUFF_ARRAY_COUNT] = {0};
|
||||||
EWRAM_DATA u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT] = {0};
|
EWRAM_DATA u8 gBattleTextBuff3[TEXT_BUFF_ARRAY_COUNT] = {0};
|
||||||
static EWRAM_DATA u32 gUnknown_2022AE8[25] = {0};
|
static EWRAM_DATA u32 gUnknown_2022AE8[25] = {0}; // Note: This shouldn't be removed without adjusting the size of gDisplayedStringBattle.
|
||||||
EWRAM_DATA u32 gBattleTypeFlags = 0;
|
EWRAM_DATA u32 gBattleTypeFlags = 0;
|
||||||
EWRAM_DATA u8 gBattleTerrain = 0;
|
EWRAM_DATA u8 gBattleTerrain = 0;
|
||||||
EWRAM_DATA u32 gUnknown_2022B54 = 0;
|
EWRAM_DATA u32 gUnknown_2022B54 = 0;
|
||||||
|
|||||||
+2
-2
@@ -192,12 +192,12 @@ void InitHeap(void *heapStart, u32 heapSize)
|
|||||||
|
|
||||||
void *Alloc(u32 size)
|
void *Alloc(u32 size)
|
||||||
{
|
{
|
||||||
AllocInternal(sHeapStart, size);
|
return AllocInternal(sHeapStart, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void *AllocZeroed(u32 size)
|
void *AllocZeroed(u32 size)
|
||||||
{
|
{
|
||||||
AllocZeroedInternal(sHeapStart, size);
|
return AllocZeroedInternal(sHeapStart, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
void Free(void *pointer)
|
void Free(void *pointer)
|
||||||
|
|||||||
+1
-1
@@ -839,7 +839,7 @@ static bool8 DisplayPartyPokemonDataForMoveTutorOrEvolutionItem(u8 slot)
|
|||||||
if (gPartyMenu.action == PARTY_ACTION_MOVE_TUTOR)
|
if (gPartyMenu.action == PARTY_ACTION_MOVE_TUTOR)
|
||||||
{
|
{
|
||||||
gSpecialVar_Result = FALSE;
|
gSpecialVar_Result = FALSE;
|
||||||
if (gSpecialVar_0x8005 > 14)
|
if (gSpecialVar_0x8005 >= TUTOR_MOVE_COUNT)
|
||||||
return FALSE;
|
return FALSE;
|
||||||
DisplayPartyPokemonDataToTeachMove(slot, 0, gSpecialVar_0x8005);
|
DisplayPartyPokemonDataToTeachMove(slot, 0, gSpecialVar_0x8005);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -87,7 +87,7 @@ static u8 ChooseWildMonIndex_Land(void)
|
|||||||
return 8;
|
return 8;
|
||||||
else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_8 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_9)
|
else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_8 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_9)
|
||||||
return 9;
|
return 9;
|
||||||
else if (rand == ENCOUNTER_CHANCE_LAND_MONS_SLOT_9)
|
else if (rand >= ENCOUNTER_CHANCE_LAND_MONS_SLOT_9 && rand < ENCOUNTER_CHANCE_LAND_MONS_SLOT_10)
|
||||||
return 10;
|
return 10;
|
||||||
else
|
else
|
||||||
return 11;
|
return 11;
|
||||||
@@ -147,7 +147,7 @@ static u8 ChooseWildMonIndex_Fishing(u8 rod)
|
|||||||
wildMonIndex = 7;
|
wildMonIndex = 7;
|
||||||
if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_7 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8)
|
if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_7 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8)
|
||||||
wildMonIndex = 8;
|
wildMonIndex = 8;
|
||||||
if (rand == ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8)
|
if (rand >= ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_8 && rand < ENCOUNTER_CHANCE_FISHING_MONS_SUPER_ROD_SLOT_9)
|
||||||
wildMonIndex = 9;
|
wildMonIndex = 9;
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user