summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--data/fldeff_flash.s71
-rw-r--r--data/money.s31
-rw-r--r--ld_script.txt4
-rw-r--r--src/field/fldeff_flash.c40
-rw-r--r--src/field/money.c49
5 files changed, 78 insertions, 117 deletions
diff --git a/data/fldeff_flash.s b/data/fldeff_flash.s
deleted file mode 100644
index c8b6185f2..000000000
--- a/data/fldeff_flash.s
+++ /dev/null
@@ -1,71 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gUnknown_083F7FC4:: @ 83F7FC4
- .byte 1, 4, 1, 0
- .4byte sub_810CFF8
- .byte 2, 4, 1, 0
- .4byte sub_810CFF8
- .byte 3, 4, 1, 0
- .4byte sub_810CFF8
- .byte 5, 4, 1, 0
- .4byte sub_810CFF8
- .byte 6, 4, 1, 0
- .4byte sub_810CFF8
- .byte 7, 4, 1, 0
- .4byte sub_810CFF8
- .byte 8, 4, 1, 0
- .4byte sub_810CFF8
- .byte 9, 4, 1, 0
- .4byte sub_810CFF8
-
- .byte 4, 1, 0, 1
- .4byte sub_810CE48
- .byte 4, 2, 0, 1
- .4byte sub_810CE48
- .byte 4, 3, 0, 1
- .4byte sub_810CE48
- .byte 4, 5, 0, 1
- .4byte sub_810CE48
- .byte 4, 6, 0, 1
- .4byte sub_810CE48
- .byte 4, 7, 0, 1
- .4byte sub_810CE48
- .byte 4, 8, 0, 1
- .4byte sub_810CE48
- .byte 4, 9, 0, 1
- .4byte sub_810CE48
-
- .byte 0, 0, 0, 0
- .4byte NULL
-
- .align 2
-gCaveTransitionPalette_White:: @ 83F804C
- .rept 16
- .2byte 0x7FFF
- .endr
-
- .align 2
-gCaveTransitionPalette_Black:: @ 83F806C
- .rept 16
- .2byte 0x0000
- .endr
-
- .align 1
-gUnknown_083F808C:: @ 83F808C
- .incbin "graphics/misc/83F808C.gbapal"
-
- .align 1
-gUnknown_083F809C:: @ 83F809C
- .incbin "graphics/misc/83F809C.gbapal"
-
- .align 2
-gCaveTransitionTilemap:: @ 83F80AC
- .incbin "graphics/misc/cave_transition_map.bin.lz"
-
- .align 2
-gCaveTransitionTiles:: @ 83F828C
- .incbin "graphics/misc/cave_transition.4bpp.lz"
diff --git a/data/money.s b/data/money.s
deleted file mode 100644
index 04e54a836..000000000
--- a/data/money.s
+++ /dev/null
@@ -1,31 +0,0 @@
- .include "asm/macros.inc"
- .include "constants/constants.inc"
-
- .section .rodata
-
- .align 2
-gOamData_83CF558:: @ 83CF558
- .2byte 0x4000
- .2byte 0x8000
- .2byte 0x0000
-
- .align 2
-gSpriteAnim_83CF560:: @ 83CF560
- obj_image_anim_frame 0, 0
- obj_image_anim_end
-
- .align 2
-gSpriteAnimTable_83CF568:: @ 83CF568
- .4byte gSpriteAnim_83CF560
-
- .align 2
-gSpriteTemplate_83CF56C:: @ 83CF56C
- spr_template 10018, 10018, gOamData_83CF558, gSpriteAnimTable_83CF568, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy
-
- .align 2
-gUnknown_083CF584:: @ 83CF584
- obj_tiles gMenuMoneyGfx, 256, 0x2722
-
- .align 2
-gUnknown_083CF58C:: @ 83CF58C
- obj_pal gMenuMoneyPal, 0x2722
diff --git a/ld_script.txt b/ld_script.txt
index 268d0690a..88a1dec69 100644
--- a/ld_script.txt
+++ b/ld_script.txt
@@ -392,7 +392,7 @@ SECTIONS {
src/field/script_menu.o(.rodata);
src/engine/naming_screen.o(.rodata);
data/naming_screen.o(.rodata);
- data/money.o(.rodata);
+ src/field/money.o(.rodata);
data/contest_effect.o(.rodata);
src/engine/record_mixing.o(.data);
src/engine/record_mixing.o(.rodata);
@@ -424,7 +424,7 @@ SECTIONS {
src/field/starter_choose.o(.rodata);
src/field/wallclock.o(.rodata);
src/field/pokeblock.o(.rodata);
- data/fldeff_flash.o(.rodata);
+ src/field/fldeff_flash.o(.rodata);
src/engine/time_events.o(.rodata);
src/field/field_specials.o(.rodata);
data/pokedex_area_screen.o(.rodata);
diff --git a/src/field/fldeff_flash.c b/src/field/fldeff_flash.c
index 1ee8a8f05..30423a3f9 100644
--- a/src/field/fldeff_flash.c
+++ b/src/field/fldeff_flash.c
@@ -21,14 +21,6 @@ struct FlashStruct
void (*func)(void);
};
-extern struct FlashStruct gUnknown_083F7FC4[];
-extern u16 gCaveTransitionPalette_White[];
-extern u16 gCaveTransitionPalette_Black[];
-extern u16 gUnknown_083F808C[];
-extern u16 gUnknown_083F809C[];
-extern u16 gCaveTransitionTilemap[];
-extern u8 gCaveTransitionTiles[];
-
extern u8 gLastFieldPokeMenuOpened;
extern void (*gUnknown_03005CE4)(void);
@@ -46,6 +38,38 @@ void sub_810D00C(u8);
void sub_810D028(u8);
void sub_810D0C4(u8);
void sub_810D128(u8);
+void sub_810CFF8(void);
+void sub_810CE48(void);
+
+static const struct FlashStruct gUnknown_083F7FC4[] =
+{
+ {1, 4, 1, 0, sub_810CFF8},
+ {2, 4, 1, 0, sub_810CFF8},
+ {3, 4, 1, 0, sub_810CFF8},
+ {5, 4, 1, 0, sub_810CFF8},
+ {6, 4, 1, 0, sub_810CFF8},
+ {7, 4, 1, 0, sub_810CFF8},
+ {8, 4, 1, 0, sub_810CFF8},
+ {9, 4, 1, 0, sub_810CFF8},
+ {4, 1, 0, 1, sub_810CE48},
+ {4, 2, 0, 1, sub_810CE48},
+ {4, 3, 0, 1, sub_810CE48},
+ {4, 5, 0, 1, sub_810CE48},
+ {4, 6, 0, 1, sub_810CE48},
+ {4, 7, 0, 1, sub_810CE48},
+ {4, 8, 0, 1, sub_810CE48},
+ {4, 9, 0, 1, sub_810CE48},
+ {0, 0, 0, 0, NULL},
+};
+
+// TODO: Make these extracted palettes?
+static const u16 gCaveTransitionPalette_White[] = {0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF, 0x7FFF};
+static const u16 gCaveTransitionPalette_Black[] = {0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000};
+
+static const u16 gUnknown_083F808C[] = INCBIN_U16("graphics/misc/83F808C.gbapal");
+static const u16 gUnknown_083F809C[] = INCBIN_U16("graphics/misc/83F809C.gbapal");
+static const u16 gCaveTransitionTilemap[] = INCBIN_U16("graphics/misc/cave_transition_map.bin.lz");
+static const u8 gCaveTransitionTiles[] = INCBIN_U8("graphics/misc/cave_transition.4bpp.lz");
bool8 SetUpFieldMove_Flash(void)
{
diff --git a/src/field/money.c b/src/field/money.c
index 5d0f0ae8d..f277ac905 100644
--- a/src/field/money.c
+++ b/src/field/money.c
@@ -4,6 +4,7 @@
#include "menu.h"
#include "sprite.h"
#include "string_util.h"
+#include "graphics.h"
#define SPRITE_TAG_MONEY (0x2722)
@@ -11,9 +12,47 @@ extern u16 gSpecialVar_0x8005;
static EWRAM_DATA u8 gUnknown_02038734 = 0;
-extern const struct CompressedSpriteSheet gUnknown_083CF584;
-extern const struct CompressedSpritePalette gUnknown_083CF58C;
-extern const struct SpriteTemplate gSpriteTemplate_83CF56C;
+static const struct OamData gOamData_83CF558 =
+{
+ .y = 0,
+ .affineMode = 0,
+ .objMode = 0,
+ .mosaic = 0,
+ .bpp = 0,
+ .shape = 1,
+ .x = 0,
+ .matrixNum = 0,
+ .size = 2,
+ .tileNum = 0,
+ .priority = 0,
+ .paletteNum = 0,
+ .affineParam = 0,
+};
+
+const union AnimCmd gSpriteAnim_83CF560[] =
+{
+ ANIMCMD_FRAME(0, 0),
+ ANIMCMD_END
+};
+
+const union AnimCmd *const gSpriteAnimTable_83CF568[] =
+{
+ gSpriteAnim_83CF560,
+};
+
+const struct SpriteTemplate gSpriteTemplate_83CF56C =
+{
+ .tileTag = 10018,
+ .paletteTag = 10018,
+ .oam = &gOamData_83CF558,
+ .anims = gSpriteAnimTable_83CF568,
+ .images = NULL,
+ .affineAnims = gDummySpriteAffineAnimTable,
+ .callback = SpriteCallbackDummy,
+};
+
+const struct CompressedSpriteSheet gUnknown_083CF584[] = {gMenuMoneyGfx, 256, SPRITE_TAG_MONEY};
+const struct CompressedSpritePalette gUnknown_083CF58C[] = {gMenuMoneyPal, SPRITE_TAG_MONEY};
bool8 IsEnoughMoney(u32 budget, u32 cost)
{
@@ -239,8 +278,8 @@ void OpenMoneyWindow(u32 amount, u8 x, u8 y)
MenuDrawTextWindow(x, y, x + 13, y + 3);
UpdateMoneyWindow(amount, x, y);
- LoadCompressedObjectPic(&gUnknown_083CF584);
- LoadCompressedObjectPalette(&gUnknown_083CF58C);
+ LoadCompressedObjectPic(gUnknown_083CF584);
+ LoadCompressedObjectPalette(gUnknown_083CF58C);
gUnknown_02038734 = CreateSprite(&gSpriteTemplate_83CF56C, x * 8 + 19, y * 8 + 11, 0);
}