multiple fixes
This commit is contained in:
@@ -43,5 +43,4 @@ build/
|
||||
*.pl
|
||||
*.bak
|
||||
src/data/items.h
|
||||
src/data/items.h # Autogenerated by jsonproc
|
||||
tools/br_ips/{br_ips,ips_patch}{,.exe}
|
||||
|
||||
@@ -1,6 +1,10 @@
|
||||
#ifndef GUARD_FLDEFF_H
|
||||
#define GUARD_FLDEFF_H
|
||||
|
||||
#define FLDEFF_SET_FUNC_TO_DATA(func) \
|
||||
gTasks[taskId].data[8] = (u32)func >> 16; \
|
||||
gTasks[taskId].data[9] = (u32)func;
|
||||
|
||||
extern struct MapPosition gPlayerFacingPosition;
|
||||
|
||||
bool8 CheckObjectGraphicsInFrontOfPlayer(u8 graphicsId);
|
||||
|
||||
@@ -983,7 +983,7 @@ static void BattleAICmd_is_most_powerful_move(void)
|
||||
&& sDiscouragedPowerfulMoveEffects[i] == 0xFFFF)
|
||||
{
|
||||
gDynamicBasePower = 0;
|
||||
*(&gBattleStruct->dynamicMoveType) = 0;
|
||||
gBattleStruct->dynamicMoveType = 0;
|
||||
gBattleScripting.dmgMultiplier = 1;
|
||||
gMoveResultFlags = 0;
|
||||
gCritMultiplier = 1;
|
||||
|
||||
+2
-2
@@ -575,7 +575,7 @@ bool8 LoadCompressedSpriteSheetUsingHeap(const struct CompressedSpriteSheet* src
|
||||
struct SpriteSheet dest;
|
||||
void* buffer;
|
||||
|
||||
buffer = AllocZeroed(*((u32*)(&src->data[0])) >> 8);
|
||||
buffer = AllocZeroed(*((u32*)src->data) >> 8);
|
||||
if (!buffer)
|
||||
return TRUE;
|
||||
LZ77UnCompWram(src->data, buffer);
|
||||
@@ -592,7 +592,7 @@ bool8 LoadCompressedSpritePaletteUsingHeap(const struct CompressedSpritePalette
|
||||
struct SpritePalette dest;
|
||||
void* buffer;
|
||||
|
||||
buffer = AllocZeroed(*((u32*)(&src->data[0])) >> 8);
|
||||
buffer = AllocZeroed(*((u32*)src->data) >> 8);
|
||||
if (!buffer)
|
||||
return TRUE;
|
||||
LZ77UnCompWram(src->data, buffer);
|
||||
|
||||
+4
-5
@@ -8,7 +8,7 @@
|
||||
#include "sprite.h"
|
||||
#include "constants/map_objects.h"
|
||||
|
||||
static void hm2_dig(void);
|
||||
static void FieldCallback_Dig(void);
|
||||
static void sub_80C9AFC(void);
|
||||
|
||||
bool8 SetUpFieldMove_Dig(void)
|
||||
@@ -16,13 +16,13 @@ bool8 SetUpFieldMove_Dig(void)
|
||||
if (CanUseEscapeRopeOnCurrMap() == TRUE)
|
||||
{
|
||||
gFieldCallback2 = FieldCallback_PrepareFadeInFromMenu;
|
||||
gPostMenuFieldCallback = hm2_dig;
|
||||
gPostMenuFieldCallback = FieldCallback_Dig;
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
static void hm2_dig(void)
|
||||
static void FieldCallback_Dig(void)
|
||||
{
|
||||
Overworld_ResetStateAfterDigEscRope();
|
||||
FieldEffectStart(FLDEFF_USE_DIG);
|
||||
@@ -33,8 +33,7 @@ bool8 FldEff_UseDig(void)
|
||||
{
|
||||
u8 taskId = oei_task_add();
|
||||
|
||||
gTasks[taskId].data[8] = (u32)sub_80C9AFC >> 16;
|
||||
gTasks[taskId].data[9] = (u32)sub_80C9AFC;
|
||||
FLDEFF_SET_FUNC_TO_DATA(sub_80C9AFC);
|
||||
SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -124,8 +124,7 @@ bool8 FldEff_UseRockSmash(void)
|
||||
{
|
||||
u8 taskId = oei_task_add();
|
||||
|
||||
gTasks[taskId].data[8] = (u32)sub_80C9A60 >> 16;
|
||||
gTasks[taskId].data[9] = (u32)sub_80C9A60;
|
||||
FLDEFF_SET_FUNC_TO_DATA(sub_80C9A60);
|
||||
IncrementGameStat(GAME_STAT_USED_ROCK_SMASH);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -35,8 +35,7 @@ static void FldEff_UseStrength(void)
|
||||
bool8 sub_80D0860(void)
|
||||
{
|
||||
u8 taskId = oei_task_add();
|
||||
gTasks[taskId].data[8] = (u32)sub_80D08A8 >> 16;
|
||||
gTasks[taskId].data[9] = (u32)sub_80D08A8;
|
||||
FLDEFF_SET_FUNC_TO_DATA(sub_80D08A8);
|
||||
GetMonNickname(&gPlayerParty[gFieldEffectArguments[0]], gStringVar1);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
@@ -43,8 +43,7 @@ bool8 FldEff_SweetScent(void)
|
||||
|
||||
SetWeatherScreenFadeOut();
|
||||
taskId = oei_task_add();
|
||||
gTasks[taskId].data[8] = (u32)StartSweetScentFieldEffect >> 16;
|
||||
gTasks[taskId].data[9] = (u32)StartSweetScentFieldEffect;
|
||||
FLDEFF_SET_FUNC_TO_DATA(StartSweetScentFieldEffect);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
|
||||
@@ -29,8 +29,7 @@ static void FieldCallback_Teleport(void)
|
||||
bool8 FldEff_UseTeleport(void)
|
||||
{
|
||||
u8 taskId = oei_task_add();
|
||||
gTasks[taskId].data[8] = (u32)StartTeleportFieldEffect >> 16;
|
||||
gTasks[taskId].data[9] = (u32)StartTeleportFieldEffect;
|
||||
FLDEFF_SET_FUNC_TO_DATA(StartTeleportFieldEffect);
|
||||
SetPlayerAvatarTransitionFlags(PLAYER_AVATAR_FLAG_ON_FOOT);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
+6
-5
@@ -6,6 +6,7 @@
|
||||
#include "random.h"
|
||||
#include "malloc.h"
|
||||
#include "item.h"
|
||||
#include "save_location.h"
|
||||
|
||||
extern void SetBagPocketsPointers(void);
|
||||
extern void sub_8110840(void *oldSave);
|
||||
@@ -132,28 +133,28 @@ void MoveSaveBlocks_ResetHeap(void)
|
||||
|
||||
u32 sav2_x1_query_bit1(void)
|
||||
{
|
||||
return gSaveBlock2Ptr->specialSaveWarpFlags & 1;
|
||||
return gSaveBlock2Ptr->specialSaveWarpFlags & CONTINUE_GAME_WARP;
|
||||
}
|
||||
|
||||
void sav2_x9_clear_bit1(void)
|
||||
{
|
||||
gSaveBlock2Ptr->specialSaveWarpFlags &= ~1;
|
||||
gSaveBlock2Ptr->specialSaveWarpFlags &= ~CONTINUE_GAME_WARP;
|
||||
}
|
||||
|
||||
void sub_804C1AC(void)
|
||||
{
|
||||
gSaveBlock2Ptr->specialSaveWarpFlags |= 1;
|
||||
gSaveBlock2Ptr->specialSaveWarpFlags |= CONTINUE_GAME_WARP;
|
||||
}
|
||||
|
||||
void sub_804C1C0(void)
|
||||
{
|
||||
sub_8055778(0);
|
||||
gSaveBlock2Ptr->specialSaveWarpFlags |= 1;
|
||||
gSaveBlock2Ptr->specialSaveWarpFlags |= CONTINUE_GAME_WARP;
|
||||
}
|
||||
|
||||
void sav2_gender2_inplace_and_xFE(void)
|
||||
{
|
||||
gSaveBlock2Ptr->specialSaveWarpFlags &= ~1;
|
||||
gSaveBlock2Ptr->specialSaveWarpFlags &= ~CONTINUE_GAME_WARP;
|
||||
}
|
||||
|
||||
void SavePlayerParty(void)
|
||||
|
||||
+7
-3
@@ -73,17 +73,21 @@ u8 GiveMailToMon(struct Pokemon *mon, u16 itemId)
|
||||
|
||||
u16 SpeciesToMailSpecies(u16 species, u32 personality)
|
||||
{
|
||||
return species == 0xC9 ? ((GetUnownLetterByPersonality(personality) << 16) + 0x75300000) >> 16 : species;
|
||||
if (species == SPECIES_UNOWN) {
|
||||
u32 mailSpecies = GetUnownLetterByPersonality(personality) + 30000;
|
||||
return mailSpecies;
|
||||
}
|
||||
return species;
|
||||
}
|
||||
|
||||
u16 MailSpeciesToSpecies(u16 mailSpecies, u16 *buffer)
|
||||
u16 MailSpeciesToSpecies(u16 mailSpecies, u16 *unownLetter)
|
||||
{
|
||||
u16 result;
|
||||
|
||||
if (mailSpecies >= 30000 && mailSpecies < (30000 + UNOWN_FORM_COUNT))
|
||||
{
|
||||
result = SPECIES_UNOWN;
|
||||
*buffer = mailSpecies - 30000;
|
||||
*unownLetter = mailSpecies - 30000;
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user