multiple fixes

This commit is contained in:
jiangzhengwenjz
2019-07-02 09:38:28 +08:00
parent 3ec40eb833
commit 5384fd020c
11 changed files with 28 additions and 25 deletions
-1
View File
@@ -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}
+4
View File
@@ -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);
+1 -1
View File
@@ -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
View File
@@ -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
View File
@@ -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;
}
+1 -2
View File
@@ -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;
}
+1 -2
View File
@@ -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;
}
+1 -2
View File
@@ -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;
}
+1 -2
View File
@@ -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
View File
@@ -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
View File
@@ -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
{