summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPikalaxALT <pikalaxalt@gmail.com>2021-06-28 10:17:32 -0400
committerPikalaxALT <pikalaxalt@gmail.com>2021-06-28 10:17:32 -0400
commitbca00359b763b7df608e0b64b008f06f419da47c (patch)
tree9b153d7cbb0f3183038ad55ef2541242a978fa65
parent1dc19be2c22ef5832742d44376435fc8669d3b02 (diff)
Merge ewram[0] buffers used by battle interface
-rw-r--r--include/ewram.h16
-rw-r--r--src/battle_gfx_sfx_util.c16
-rw-r--r--src/battle_interface.c30
-rw-r--r--src/main_menu.c4
4 files changed, 35 insertions, 31 deletions
diff --git a/include/ewram.h b/include/ewram.h
index 77c54d47f..5fc6884bc 100644
--- a/include/ewram.h
+++ b/include/ewram.h
@@ -10,23 +10,27 @@ extern u8 gSharedMem[];
// seperated.
#define gDecompressionBuffer (gSharedMem + 0x1E000)
+// battle_interface.c
+#define eBattleInterfaceGfxBuffer ((u8 *)EWRAM)
+
+// region_map.c, field_region_map.c
#define eRegionMapState (*(struct RegionMapState *)gSharedMem)
+
+// field_weather.c
#define eDroughtPaletteData (*(struct WeatherPaletteData *)gSharedMem)
+
+// battle etc.
+// This overlaps with so many things it's not even funny
+// The actual data starts at 0x02016000
#define gBattleStruct ((struct BattleStruct *) (gSharedMem + 0x0))
#define namingScreenData (*(struct NamingScreenData *)(gSharedMem + 0x0))
#define ewramBerryPic (gSharedMem + 0x0)
#define eMatsudaDebugVar (gSharedMem[0x0])
-#define eBrendanSprite (gSharedMem + 0x0)
#define eSaveSection (struct SaveSector *)(gSharedMem + 0x0)
-#define eVoidSharedArr (void *)(ewram_addr + 0x0)
#define eSlotMachine ((struct SlotMachineEwramStruct *)(gSharedMem + 0x0))
-#define ewram0_9(i) (u8 *)(ewram_addr + (i * 0x20))
#define ePokemonStorageSystem (*(struct PokemonStorageSystemData *)(gSharedMem + 0))
#define ewram520 ((struct UnknownStruct7 *)(gSharedMem + 0x00520))
#define ewram520_2 (u8 *)(ewram_addr + 0x520)
-#define eMaySprite (gSharedMem + 0x800)
-#define ewram888 (gSharedMem + 0x888)
-#define ewramBlankMapName (gSharedMem + 0xA48)
#define ewramA6E (gSharedMem[0xA6E])
#define ewram01000 (*(struct Unk2001000 *)(gSharedMem + 0x1000))
#define ewramBerryPicTemp (gSharedMem + 0x1000)
diff --git a/src/battle_gfx_sfx_util.c b/src/battle_gfx_sfx_util.c
index 1d45002ca..cf31e7a08 100644
--- a/src/battle_gfx_sfx_util.c
+++ b/src/battle_gfx_sfx_util.c
@@ -312,7 +312,7 @@ void BattleLoadOpponentMonSprite(struct Pokemon *pkmn, u8 b)
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
gMonFrontPicCoords[species].y_offset,
- (void *)EWRAM,
+ eBattleInterfaceGfxBuffer,
gMonSpriteGfx_Sprite_ptr[var],
species,
r7);
@@ -364,7 +364,7 @@ void BattleLoadPlayerMonSprite(struct Pokemon *pkmn, u8 b)
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
gMonBackPicCoords[species].y_offset,
- (void *)EWRAM,
+ eBattleInterfaceGfxBuffer,
gMonSpriteGfx_Sprite_ptr[var],
species,
r7);
@@ -407,7 +407,7 @@ void sub_8031A6C(u16 a, u8 b)
&gTrainerFrontPicTable[a],
gTrainerFrontPicCoords[a].coords,
gTrainerFrontPicCoords[a].y_offset,
- eVoidSharedArr,
+ eBattleInterfaceGfxBuffer,
gMonSpriteGfx_Sprite_ptr[status],
0);
spriteSheet.data = gMonSpriteGfx_Sprite_ptr[status];
@@ -426,7 +426,7 @@ void LoadPlayerTrainerBankSprite(u16 a, u8 b)
&gTrainerBackPicTable[a],
gTrainerBackPicCoords[a].coords,
gTrainerBackPicCoords[a].y_offset,
- eVoidSharedArr,
+ eBattleInterfaceGfxBuffer,
gMonSpriteGfx_Sprite_ptr[status],
0);
LoadCompressedPalette(gTrainerBackPicPaletteTable[a].data, 0x100 + b * 16, 32);
@@ -523,7 +523,7 @@ bool8 sub_8031C30(u8 a)
void load_gfxc_health_bar(u8 a)
{
- LZDecompressWram(gUnknown_08D09C48, eVoidSharedArr);
+ LZDecompressWram(gUnknown_08D09C48, eBattleInterfaceGfxBuffer);
}
u8 battle_load_something(u8 *pState, u8 *b)
@@ -661,7 +661,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
gMonBackPicCoords[species].y_offset,
- (void *)EWRAM,
+ eBattleInterfaceGfxBuffer,
gMonSpriteGfx_Sprite_ptr[0],
species,
gContestResources__moveAnim.unk10);
@@ -681,7 +681,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
&gMonBackPicTable[species],
gMonBackPicCoords[species].coords,
gMonBackPicCoords[species].y_offset,
- (void *)EWRAM,
+ eBattleInterfaceGfxBuffer,
gMonSpriteGfx_Sprite_ptr[r10],
species,
gTransformedPersonalities[a]);
@@ -694,7 +694,7 @@ void sub_8031FC4(u8 a, u8 b, bool8 c)
&gMonFrontPicTable[species],
gMonFrontPicCoords[species].coords,
gMonFrontPicCoords[species].y_offset,
- (void *)EWRAM,
+ eBattleInterfaceGfxBuffer,
gMonSpriteGfx_Sprite_ptr[r10],
species,
gTransformedPersonalities[a]);
diff --git a/src/battle_interface.c b/src/battle_interface.c
index be9554bf2..4db78b65c 100644
--- a/src/battle_interface.c
+++ b/src/battle_interface.c
@@ -815,27 +815,27 @@ void sub_8043F44(u8 a)
else
{
*(ptr++) = EXT_CTRL_CODE_BEGIN;
- *(ptr++) = 0x11;
+ *(ptr++) = EXT_CTRL_CODE_CLEAR;
*(ptr++) = 1;
*(ptr++) = EXT_CTRL_CODE_BEGIN;
- *(ptr++) = 0x14;
+ *(ptr++) = EXT_CTRL_CODE_MIN_LETTER_SPACING;
*(ptr++) = 4;
*(ptr++) = CHAR_LV_SEPARATOR;
*(ptr++) = EXT_CTRL_CODE_BEGIN;
- *(ptr++) = 0x14;
+ *(ptr++) = EXT_CTRL_CODE_MIN_LETTER_SPACING;
*(ptr++) = 0;
ptr = ConvertIntToDecimalStringN(ptr, b, 0, 2);
}
*(ptr++) = EXT_CTRL_CODE_BEGIN;
- *(ptr++) = 0x13;
- *(ptr++) = 0xF;
+ *(ptr++) = EXT_CTRL_CODE_CLEAR_TO;
+ *(ptr++) = 15;
*(ptr++) = EOS;
- sub_80034D4(ewram0_9(0), str);
+ sub_80034D4(eBattleInterfaceGfxBuffer, str);
two = 2;
for (i = 0; i < two; i++)
- CpuCopy32((void *)(ewram0_9(1) + i * 64), r7[i] + gSprites[a].oam.tileNum * 32, 32);
+ CpuCopy32(&eBattleInterfaceGfxBuffer[i * 64 + 32], r7[i] + gSprites[a].oam.tileNum * TILE_SIZE_4BPP, TILE_SIZE_4BPP);
}
#ifdef NONMATCHING
@@ -869,7 +869,7 @@ void sub_80440EC(u8 a, s16 b, u8 c)
ptr = sub_8003504(ptr, b, 0x13, 1);
*(ptr++) = 0xBA;
*(ptr++) = 0xFF;
- sub_80034D4(ewram0_9(0), str);
+ sub_80034D4(eBattleInterfaceGfxBuffer, str);
}
else
{
@@ -879,14 +879,14 @@ void sub_80440EC(u8 a, s16 b, u8 c)
r4 = gUnknown_0820A85C;
c = 2;
sub_8003504(ptr, b, 0xF, 1);
- sub_80034D4(ewram0_9(0), str);
+ sub_80034D4(eBattleInterfaceGfxBuffer, str);
}
//asm(""::"r"(a));
//_080441B6
for (i = 0; i < c; i++) // _080440BC
{
void *temp = r4[i] + gSprites[a].oam.tileNum * 32;
- CpuCopy32((void *)(ewram0_9(1) + i * 0x40), temp, 0x20);
+ CpuCopy32((void *)(&eBattleInterfaceGfxBuffer[i * 64 + 32], temp, 0x20);
}
}
#else
@@ -1070,10 +1070,10 @@ _0804420C: .4byte 0x04000008\n\
}
}
r4 = gSprites[a].data[5];
- sub_80034D4(ewram0_9(0), str);
+ sub_80034D4(eBattleInterfaceGfxBuffer, str);
for (i = 0; i < r10; i++)
{
- CpuCopy32((void *)(ewram0_9(1) + i * 0x40), r7[i] + gSprites[r4].oam.tileNum * 32, 32);
+ CpuCopy32((void *)(&eBattleInterfaceGfxBuffer[i * 64 + 32]), r7[i] + gSprites[r4].oam.tileNum * 32, 32);
}
}
@@ -1130,19 +1130,19 @@ void sub_8044338(u8 a, struct Pokemon *pkmn)
ConvertIntToDecimalStringN(str + 9, ewram16088, 1, 2);
str[5] = 0;
str[8] = 0xBA;
- sub_80034D4(ewram0_9(0), str);
+ sub_80034D4(eBattleInterfaceGfxBuffer, str);
for (r7 = 0; r7 < 5; r7++)
{
if (r7 <= 1)
{
int foo = (gSprites[r5].oam.tileNum + 2 + r7);
- CpuCopy32(ewram0_9(1) + r7 * 0x40, (u8 *)(VRAM + 0x10000) + foo * 32, 32);
+ CpuCopy32(&eBattleInterfaceGfxBuffer[i * 64 + 32], (u8 *)(VRAM + 0x10000) + foo * 32, 32);
}
else
{
int foo = (r7 + gSprites[r5].oam.tileNum);
- CpuCopy32(ewram0_9(1) + r7 * 0x40, (u8 *)(VRAM + 0x100C0) + foo * 32, 32);
+ CpuCopy32(&eBattleInterfaceGfxBuffer[i * 64 + 32], (u8 *)(VRAM + 0x100C0) + foo * 32, 32);
}
}
}
diff --git a/src/main_menu.c b/src/main_menu.c
index fda5db547..0e0e987d8 100644
--- a/src/main_menu.c
+++ b/src/main_menu.c
@@ -1449,14 +1449,14 @@ void AddBirchSpeechObjects(u8 taskId)
gTasks[taskId].tAzurillSpriteId = spriteId;
//Create Brendan sprite
- spriteId = CreateTrainerSprite(0, 120, 60, 0, eBrendanSprite);
+ spriteId = CreateTrainerSprite(0, 120, 60, 0, &gSharedMem[0x000]);
gSprites[spriteId].callback = nullsub_34;
gSprites[spriteId].invisible = TRUE;
gSprites[spriteId].oam.priority = 0;
gTasks[taskId].tBrendanSpriteId = spriteId;
//Create May sprite
- spriteId = CreateTrainerSprite(1, 120, 60, 0, eMaySprite);
+ spriteId = CreateTrainerSprite(1, 120, 60, 0, &gSharedMem[0x800]);
gSprites[spriteId].callback = nullsub_34;
gSprites[spriteId].invisible = TRUE;
gSprites[spriteId].oam.priority = 0;