Merge pull request #469 from DizzyEggg/data

Move some data to C
This commit is contained in:
Diegoisawesome
2018-12-23 10:45:19 -06:00
committed by GitHub
13 changed files with 139 additions and 277 deletions
+1 -2
View File
@@ -11,6 +11,7 @@
#include "link.h"
#include "main.h"
#include "menu.h"
#include "overworld.h"
#include "palette.h"
#include "sound.h"
#include "sprite.h"
@@ -31,8 +32,6 @@ struct BattleBackground
const void *palette;
};
extern u8 GetCurrentMapBattleScene(void);
// .rodata
static const u16 sUnrefArray[] = {0x0300, 0x0000}; //OamData?
+76 -14
View File
@@ -68,12 +68,10 @@ extern const u8 *const gBattlescriptsForBallThrow[];
extern const u8 *const gBattlescriptsForRunningByItem[];
extern const u8 *const gBattlescriptsForUsingItem[];
extern const u8 *const gBattlescriptsForSafariActions[];
extern const struct ScanlineEffectParams gBattleIntroSlideScanlineEffectParams;
// strings
extern const u8 gText_LinkStandby3[];
extern const u8 gText_BattleRecordCouldntBeSaved[];
extern const u8 gText_ShedinjaJapaneseName[];
extern const u8 gText_Poison[];
extern const u8 gText_Sleep[];
extern const u8 gText_Paralysis[];
@@ -104,9 +102,9 @@ static void sub_8038F34(void);
static void sub_80392A8(void);
static void sub_803937C(void);
static void sub_803939C(void);
static void sub_803980C(struct Sprite *sprite);
static void sub_8039838(struct Sprite *sprite);
static void sub_8039894(struct Sprite *sprite);
static void SpriteCb_MoveWildMonToRight(struct Sprite *sprite);
static void SpriteCb_WildMonShowHealthbox(struct Sprite *sprite);
static void SpriteCb_WildMonAnimate(struct Sprite *sprite);
static void sub_80398D0(struct Sprite *sprite);
static void SpriteCB_AnimFaintOpponent(struct Sprite *sprite);
static void sub_8039AF4(struct Sprite *sprite);
@@ -283,6 +281,70 @@ u8 gNumberOfMovesToChoose;
u8 gUnknown_03005D7C[MAX_BATTLERS_COUNT];
// rom const data
static const struct ScanlineEffectParams sIntroScanlineParams16Bit =
{
(void *)REG_ADDR_BG3HOFS, SCANLINE_EFFECT_DMACNT_16BIT, 1
};
// unused
static const struct ScanlineEffectParams sIntroScanlineParams32Bit =
{
(void *)REG_ADDR_BG3HOFS, SCANLINE_EFFECT_DMACNT_32BIT, 1
};
const struct SpriteTemplate gUnknown_0831AC88 =
{
.tileTag = 0,
.paletteTag = 0,
.oam = &gDummyOamData,
.anims = gDummySpriteAnimTable,
.images = NULL,
.affineAnims = gDummySpriteAffineAnimTable,
.callback = sub_8038528,
};
static const u8 sText_ShedinjaJpnName[] = _("ヌケニン"); // Nukenin
const struct OamData gOamData_831ACA8 =
{
.y = 0,
.affineMode = 1,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 3,
.tileNum = 0,
.priority = 2,
.paletteNum = 0,
.affineParam = 0
};
const struct OamData gOamData_831ACB0 =
{
.y = 0,
.affineMode = 1,
.objMode = 0,
.mosaic = 0,
.bpp = 0,
.shape = 0,
.x = 0,
.matrixNum = 0,
.size = 3,
.tileNum = 0,
.priority = 2,
.paletteNum = 2,
.affineParam = 0
};
// Unknown and unused data. Feel free to remove.
static const u16 gUnknown_0831ACB8[] = {0, 5, 0xfffe, 0};
static const u16 *const gUnknown_0831ACC0 = gUnknown_0831ACB8;
static const u16 gUnknown_0831ACC4[] = {0xfff0, 0, 0x0400, 0, 0, 0, 0x3c00, 0, 0x7ffe, 1, 0, 0};
static const u16 *const gUnknown_0831ACDC = gUnknown_0831ACC4;
static const s8 gUnknown_0831ACE0[] ={-32, -16, -16, -32, -32, 0, 0, 0};
// format: attacking type, defending type, damage multiplier
@@ -620,7 +682,7 @@ static void CB2_InitBattleInternal(void)
gScanlineEffectRegBuffers[1][i] = 0xFF10;
}
ScanlineEffect_SetParams(gBattleIntroSlideScanlineEffectParams);
ScanlineEffect_SetParams(sIntroScanlineParams16Bit);
}
ResetPaletteFade();
@@ -2592,7 +2654,7 @@ static void TryCorrectShedinjaLanguage(struct Pokemon *mon)
&& GetMonData(mon, MON_DATA_LANGUAGE) != language)
{
GetMonData(mon, MON_DATA_NICKNAME, nickname);
if (StringCompareWithoutExtCtrlCodes(nickname, gText_ShedinjaJapaneseName) == 0)
if (StringCompareWithoutExtCtrlCodes(nickname, sText_ShedinjaJpnName) == 0)
SetMonData(mon, MON_DATA_LANGUAGE, &language);
}
}
@@ -2605,38 +2667,38 @@ u32 sub_80397C4(u32 setId, u32 tableId)
#define sBattler data[0]
#define sSpeciesId data[2]
void oac_poke_opponent(struct Sprite *sprite)
void SpriteCb_WildMon(struct Sprite *sprite)
{
sprite->callback = sub_803980C;
sprite->callback = SpriteCb_MoveWildMonToRight;
StartSpriteAnimIfDifferent(sprite, 0);
BeginNormalPaletteFade(0x20000, 0, 10, 10, RGB(8, 8, 8));
}
static void sub_803980C(struct Sprite *sprite)
static void SpriteCb_MoveWildMonToRight(struct Sprite *sprite)
{
if ((gIntroSlideFlags & 1) == 0)
{
sprite->pos2.x += 2;
if (sprite->pos2.x == 0)
{
sprite->callback = sub_8039838;
sprite->callback = SpriteCb_WildMonShowHealthbox;
}
}
}
static void sub_8039838(struct Sprite *sprite)
static void SpriteCb_WildMonShowHealthbox(struct Sprite *sprite)
{
if (sprite->animEnded)
{
sub_8076918(sprite->sBattler);
SetHealthboxSpriteVisible(gHealthboxSpriteIds[sprite->sBattler]);
sprite->callback = sub_8039894;
sprite->callback = SpriteCb_WildMonAnimate;
StartSpriteAnimIfDifferent(sprite, 0);
BeginNormalPaletteFade(0x20000, 0, 10, 0, RGB(8, 8, 8));
}
}
static void sub_8039894(struct Sprite *sprite)
static void SpriteCb_WildMonAnimate(struct Sprite *sprite)
{
if (!gPaletteFade.active)
{
+16 -2
View File
@@ -1228,13 +1228,11 @@ u32 ShowTreeDisguiseFieldEffect(void)
return ShowDisguiseFieldEffect(FLDEFF_TREE_DISGUISE, 24, 4);
}
u32 ShowMountainDisguiseFieldEffect(void)
{
return ShowDisguiseFieldEffect(FLDEFF_MOUNTAIN_DISGUISE, 25, 3);
}
u32 ShowSandDisguiseFieldEffect(void)
{
return ShowDisguiseFieldEffect(FLDEFF_SAND_DISGUISE, 28, 2);
@@ -1579,3 +1577,19 @@ static void sub_81561FC(struct Sprite *sprite, u8 z, u8 offset)
}
}
}
// Unused data. Feel free to remove.
static const u8 gUnknown_085CDC6E[] =
{
0x01, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x01, 0x02, 0x02,
0x01, 0x02, 0x02, 0x01, 0x02, 0x02, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x02,
0x01, 0x01, 0x02, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00,
0x01, 0x00, 0x01, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01,
0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x01, 0x01, 0x00, 0x00,
0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0x00, 0x00, 0xFF,
0x00, 0x00, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0x00, 0xFF, 0xFF, 0xFF, 0xFF,
0xFF, 0xFF, 0xFF, 0xFE, 0x00, 0x00
};
+20 -10
View File
@@ -72,16 +72,20 @@ void SetGpuReg(u8 regOffset, u16 value)
GPU_REG_BUF(regOffset) = value;
vcount = REG_VCOUNT & 0xFF;
if ((vcount >= 161 && vcount <= 225)
|| (REG_DISPCNT & DISPCNT_FORCED_BLANK)) {
if ((vcount >= 161 && vcount <= 225) || (REG_DISPCNT & DISPCNT_FORCED_BLANK))
{
CopyBufferedValueToGpuReg(regOffset);
} else {
}
else
{
s32 i;
sGpuRegBufferLocked = TRUE;
for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
if (sGpuRegWaitingList[i] == regOffset) {
for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++)
{
if (sGpuRegWaitingList[i] == regOffset)
{
sGpuRegBufferLocked = FALSE;
return;
}
@@ -99,15 +103,20 @@ void SetGpuReg_ForcedBlank(u8 regOffset, u16 value)
{
GPU_REG_BUF(regOffset) = value;
if (REG_DISPCNT & DISPCNT_FORCED_BLANK) {
if (REG_DISPCNT & DISPCNT_FORCED_BLANK)
{
CopyBufferedValueToGpuReg(regOffset);
} else {
}
else
{
s32 i;
sGpuRegBufferLocked = TRUE;
for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++) {
if (sGpuRegWaitingList[i] == regOffset) {
for (i = 0; i < GPU_REG_BUF_SIZE && sGpuRegWaitingList[i] != EMPTY_SLOT; i++)
{
if (sGpuRegWaitingList[i] == regOffset)
{
sGpuRegBufferLocked = FALSE;
return;
}
@@ -144,7 +153,8 @@ void ClearGpuRegBits(u8 regOffset, u16 mask)
static void SyncRegIE(void)
{
if (sShouldSyncRegIE) {
if (sShouldSyncRegIE)
{
u16 temp = REG_IME;
REG_IME = 0;
REG_IE = sRegIE;
+14 -16
View File
@@ -45,8 +45,6 @@ struct SpeciesItem
u16 item;
};
extern const struct OamData gUnknown_0831ACB0;
extern const struct OamData gUnknown_0831ACA8;
extern const struct SpriteFrameImage gUnknown_082FF3A8[];
extern const struct SpriteFrameImage gUnknown_082FF3C8[];
extern const struct SpriteFrameImage gUnknown_082FF3E8[];
@@ -2298,7 +2296,7 @@ const struct SpriteTemplate gUnknown_08329D98[MAX_BATTLERS_COUNT] =
{ // B_POSITION_PLAYER_LEFT
.tileTag = 0xFFFF,
.paletteTag = 0,
.oam = &gUnknown_0831ACB0,
.oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF3A8,
.affineAnims = gUnknown_082FF618,
@@ -2307,16 +2305,16 @@ const struct SpriteTemplate gUnknown_08329D98[MAX_BATTLERS_COUNT] =
{ // B_POSITION_OPPONENT_LEFT
.tileTag = 0xFFFF,
.paletteTag = 0,
.oam = &gUnknown_0831ACA8,
.oam = &gOamData_831ACA8,
.anims = NULL,
.images = gUnknown_082FF3C8,
.affineAnims = gUnknown_082FF694,
.callback = oac_poke_opponent,
.callback = SpriteCb_WildMon,
},
{ // B_POSITION_PLAYER_RIGHT
.tileTag = 0xFFFF,
.paletteTag = 0,
.oam = &gUnknown_0831ACB0,
.oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF3E8,
.affineAnims = gUnknown_082FF618,
@@ -2325,11 +2323,11 @@ const struct SpriteTemplate gUnknown_08329D98[MAX_BATTLERS_COUNT] =
{ // B_POSITION_OPPONENT_RIGHT
.tileTag = 0xFFFF,
.paletteTag = 0,
.oam = &gUnknown_0831ACA8,
.oam = &gOamData_831ACA8,
.anims = NULL,
.images = gUnknown_082FF408,
.affineAnims = gUnknown_082FF694,
.callback = oac_poke_opponent
.callback = SpriteCb_WildMon
},
};
@@ -2338,7 +2336,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
.oam = &gUnknown_0831ACB0,
.oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF428,
.affineAnims = gUnknown_082FF618,
@@ -2347,7 +2345,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
.oam = &gUnknown_0831ACB0,
.oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF448,
.affineAnims = gUnknown_082FF618,
@@ -2356,7 +2354,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
.oam = &gUnknown_0831ACB0,
.oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF468,
.affineAnims = gUnknown_082FF618,
@@ -2365,7 +2363,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
.oam = &gUnknown_0831ACB0,
.oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF490,
.affineAnims = gUnknown_082FF618,
@@ -2374,7 +2372,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
.oam = &gUnknown_0831ACB0,
.oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF4B8,
.affineAnims = gUnknown_082FF618,
@@ -2383,7 +2381,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
.oam = &gUnknown_0831ACB0,
.oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF4D8,
.affineAnims = gUnknown_082FF618,
@@ -2392,7 +2390,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
.oam = &gUnknown_0831ACB0,
.oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF4F8,
.affineAnims = gUnknown_082FF618,
@@ -2401,7 +2399,7 @@ static const struct SpriteTemplate gUnknown_08329DF8[] =
{
.tileTag = 0xFFFF,
.paletteTag = 0,
.oam = &gUnknown_0831ACB0,
.oam = &gOamData_831ACB0,
.anims = NULL,
.images = gUnknown_082FF518,
.affineAnims = gUnknown_082FF618,
+1 -2
View File
@@ -3,6 +3,7 @@
#include "alloc.h"
#include "decompress.h"
#include "main.h"
#include "battle_main.h"
struct UnkStruct2
{
@@ -31,8 +32,6 @@ struct UnkStruct1
struct UnkStruct2 *array;
};
extern const struct SpriteTemplate gUnknown_0831AC88;
// this file's functions
static u8 sub_8035518(u8 arg0);;
static void sub_8034EFC(struct UnkStruct2 *arg0);
+7 -5
View File
@@ -35,11 +35,13 @@ static bool8 sub_81DB290(struct Task *task);
static bool8 sub_81DB328(struct Task *task);
// const rom data
// TODO: move those from .s file to .c
extern const u32 gUnknown_0862AD54[];
extern const u32 gUnknown_0862AF30[];
extern const u32 gUnknown_0862B0DC[];
extern const u16 gUnknown_0862B53C[];
static const u32 gUnknown_0862AD54[] = INCBIN_U32("graphics/battle_transitions/frontier_transition.4bpp.lz");
static const u32 gUnknown_0862AF30[] = INCBIN_U32("graphics/battle_transitions/frontier_transition.bin");
static const u32 gUnknown_0862B0DC[] = INCBIN_U32("graphics/battle_transitions/frontier_transition_circles.4bpp.lz");
static const u16 gUnknown_0862B53C[] = INCBIN_U16("graphics/battle_transitions/frontier_transition.gbapal");
// Unused Empty data. Feel free to delete.
static const u8 sFiller[0x1C0] = {0};
static const struct OamData sOamData_862B71C =
{