mirror of
https://github.com/SAT-R/sa2.git
synced 2026-10-28 09:43:38 +00:00
extract collect rings assets
This commit is contained in:
1 parent
0e92bf9b1d
commit
68470e2920
14 files changed
+57
-47
No files matched your search
@@ -1,46 +1,36 @@
|
||||
.section .rodata
|
||||
|
||||
.align 2
|
||||
|
||||
;@ collect_rings tilemaps
|
||||
.global gCollectRingsTilemaps
|
||||
gCollectRingsTilemaps:
|
||||
.incbin "baserom.gba", 0x00C88408, 0x8000
|
||||
|
||||
// it also includes some of the end of the tile maps (I think?)
|
||||
;@ obj_vram
|
||||
.global gCollectRingsTextTiles
|
||||
gCollectRingsTextTiles:
|
||||
.incbin "multi_boot/roms/collect_rings/graphics/obj_tiles/4bpp/text.4bpp" ;@ This is potentially 0x1B10 instead of 0x1E00
|
||||
|
||||
;@ if the above is 0x1B10 then the below would be:
|
||||
;@ 0x8C91f18 -> 0x8C92208 = 0x2f0 potentially some pointers/rodata, not sure
|
||||
.incbin "multi_boot/collect_rings_assets/tilemaps.bin"
|
||||
|
||||
;@ bg map tileset
|
||||
.global gCollectRingsBgStageTileset
|
||||
gCollectRingsBgStageTileset:
|
||||
.incbin "multi_boot/roms/collect_rings/data/tilemaps/stage_tiles.4bpp"
|
||||
.incbin "multi_boot/collect_rings_assets/maps/stage_tiles.4bpp" ;@ CollectRingsTilemaps + 0x9E00
|
||||
|
||||
;@ these might all include the animation scripts
|
||||
|
||||
;@ compressed obj tiles
|
||||
.global gCollectRingsAnimationTiles_Compressed
|
||||
gCollectRingsAnimationTiles_Compressed:
|
||||
.incbin "multi_boot/roms/collect_rings/graphics/obj_tiles/4bpp/animations.4bpp.lz"
|
||||
;@ compressed obj tiles (unused) possibly because they are not needed
|
||||
;@ when the player with the PAK is always sonic so already has these animations
|
||||
.global gCollectRingsAnimations_Unused_Compressed
|
||||
gCollectRingsAnimations_Unused_Compressed:
|
||||
.incbin "multi_boot/collect_rings_assets/animations_sonic.bin.lz"
|
||||
|
||||
;@ compressed obj tiles
|
||||
.global gCollectRings_ObjTiles_1
|
||||
gCollectRings_ObjTiles_1:
|
||||
.incbin "baserom.gba", 0x00CA6760, 0x6A7C
|
||||
.global gCollectRingsAnimations_Cream_Compressed
|
||||
gCollectRingsAnimations_Cream_Compressed:
|
||||
.incbin "multi_boot/collect_rings_assets/animations_cream.bin.lz"
|
||||
|
||||
;@ compressed obj tiles
|
||||
.global gCollectRings_ObjTiles_2
|
||||
gCollectRings_ObjTiles_2:
|
||||
.incbin "baserom.gba", 0x00CAD1DC, 0x6fe4
|
||||
.global gCollectRingsAnimations_Tails_Compressed
|
||||
gCollectRingsAnimations_Tails_Compressed:
|
||||
.incbin "multi_boot/collect_rings_assets/animations_tails.bin.lz"
|
||||
|
||||
;@ compressed obj tiles
|
||||
.global gCollectRings_ObjTiles_3
|
||||
gCollectRings_ObjTiles_3:
|
||||
.incbin "baserom.gba", 0x00CB41C0, 0x6a44
|
||||
.global gCollectRingsAnimations_Knuckles_Compressed
|
||||
gCollectRingsAnimations_Knuckles_Compressed:
|
||||
.incbin "multi_boot/collect_rings_assets/animations_knuckles.bin.lz"
|
||||
|
||||
.global gCollectRingsRom_Compressed
|
||||
gCollectRingsRom_Compressed:
|
||||
|
||||
@@ -3,15 +3,15 @@
|
||||
|
||||
#include "global.h"
|
||||
|
||||
extern const u8 gCollectRingsTilemaps[0x8000];
|
||||
extern const u8 gCollectRingsTilemaps[0xC000];
|
||||
|
||||
extern const u8 gCollectRingsTextTiles[];
|
||||
|
||||
extern const u8 gCollectRingsBgStageTileset[];
|
||||
|
||||
extern const u8 gCollectRings_ObjTiles_1[0x6A7C];
|
||||
extern const u8 gCollectRings_ObjTiles_2[0x6fe4];
|
||||
extern const u8 gCollectRings_ObjTiles_3[0x6a44];
|
||||
extern const u8 gCollectRingsAnimations_Cream_Compressed[0x6A7C];
|
||||
extern const u8 gCollectRingsAnimations_Tails_Compressed[0x6fe4];
|
||||
extern const u8 gCollectRingsAnimations_Knuckles_Compressed[0x6a44];
|
||||
|
||||
extern const u8 gCollectRingsRom_Compressed[];
|
||||
|
||||
|
||||
@@ -0,0 +1,3 @@
|
||||
# Collect rings assets
|
||||
|
||||
This folder will contain the configuration to build the asset payloads used by the collect rings games
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
File renamed without changes.
Binary file not shown.
@@ -112,14 +112,17 @@ void AgbMain()
|
||||
}
|
||||
}
|
||||
|
||||
#define SEGMENT_ROM_FINAL 2
|
||||
#define SEGMENT_BG_TILESET 3
|
||||
#define SEGMENT_ROM_CODE_1 0
|
||||
#define SEGMENT_ROM_CODE_2 1
|
||||
#define SEGMENT_ROM_CODE_3 2
|
||||
|
||||
#define SEGMENT_TILEMAPS_3 3
|
||||
|
||||
#define SEGMENT_COMPRESSED_SPRITE_OBJ_TILES_1 4
|
||||
#define SEGMENT_COMPRESSED_SPRITE_OBJ_TILES_2 5
|
||||
#define SEGMENT_COMPRESSED_SPRITE_OBJ_TILES_3 6
|
||||
#define SEGMENT_TEXT_OBJ_TILES 7
|
||||
#define SEGMENT_TILEMAPS 8
|
||||
#define SEGMENT_TILEMAPS_2 7
|
||||
#define SEGMENT_TILEMAPS_1 8
|
||||
|
||||
static u16 sub_0203b2f0(u16 state, Loader *loader)
|
||||
{
|
||||
@@ -136,11 +139,11 @@ static u16 sub_0203b2f0(u16 state, Loader *loader)
|
||||
} else {
|
||||
state = 2;
|
||||
switch (loader->segment) {
|
||||
case SEGMENT_ROM_FINAL:
|
||||
// When rom has been received, copy into EWRAM
|
||||
case SEGMENT_ROM_CODE_3:
|
||||
// When ROM Code has been received, copy into EWRAM
|
||||
LZ77UnCompWram(PROGRAM_WORK_BUFFER, (void *)EWRAM_START);
|
||||
break;
|
||||
case SEGMENT_BG_TILESET:
|
||||
case SEGMENT_TILEMAPS_3:
|
||||
// When the BG tileset received, copy into BG VRAM
|
||||
CpuCopy16(PROGRAM_WORK_BUFFER, (void *)BG_VRAM, SIO32ML_BLOCK_SIZE);
|
||||
break;
|
||||
@@ -153,14 +156,14 @@ static u16 sub_0203b2f0(u16 state, Loader *loader)
|
||||
LZ77UnCompWram(RECV_BUFFER, PROGRAM_WORK_BUFFER);
|
||||
}
|
||||
break;
|
||||
case SEGMENT_TEXT_OBJ_TILES:
|
||||
case SEGMENT_TILEMAPS_2:
|
||||
|
||||
// When the text obj tiles recieved, copy into obj vram
|
||||
CpuCopy16(RECV_BUFFER, (void *)OBJ_VRAM0, 0x5000);
|
||||
break;
|
||||
|
||||
#if 0 // The tilemaps are left in the RECV_BUFFER so the case is ignored
|
||||
case SEGMENT_TILEMAPS:
|
||||
case SEGMENT_TILEMAPS_1:
|
||||
break;
|
||||
#endif
|
||||
}
|
||||
|
||||
Binary file not shown.
|
Before Width: | Height: | Size: 55 KiB |
Binary file not shown.
|
Before Width: | Height: | Size: 2.8 KiB |
Vendored
+13
@@ -0,0 +1,13 @@
|
||||
import os
|
||||
import sys
|
||||
|
||||
address = int(sys.argv[1], 16)
|
||||
length = int(sys.argv[2], 16)
|
||||
|
||||
with open('baserom.gba', 'rb') as rom:
|
||||
rom.seek(address)
|
||||
base_name = str(hex(0x8000000 + address).upper())[2:]
|
||||
name = base_name+ ".bin.lz"
|
||||
with open(name, "wb") as bin:
|
||||
bin.write(rom.read(length))
|
||||
os.system(f"tools/gbagfx/gbagfx {name} {base_name}.bin")
|
||||
@@ -61,21 +61,22 @@ void *const gCollectRingsSegments[9] = {
|
||||
// Tileset for level
|
||||
&gCollectRingsBgStageTileset,
|
||||
|
||||
// character sprites
|
||||
// Animations for each client
|
||||
|
||||
// cream
|
||||
&gCollectRings_ObjTiles_1,
|
||||
&gCollectRingsAnimations_Cream_Compressed,
|
||||
|
||||
// tails
|
||||
&gCollectRings_ObjTiles_2,
|
||||
&gCollectRingsAnimations_Tails_Compressed,
|
||||
|
||||
// knuckles
|
||||
&gCollectRings_ObjTiles_3,
|
||||
&gCollectRingsAnimations_Knuckles_Compressed,
|
||||
|
||||
// tile maps
|
||||
&gCollectRingsTextTiles,
|
||||
// tile maps copied directly into OBJ_VRAM0
|
||||
(void *)gCollectRingsTilemaps + (SIO32ML_BLOCK_SIZE * 1),
|
||||
|
||||
// tile map pointers
|
||||
&gCollectRingsTilemaps,
|
||||
(void *)gCollectRingsTilemaps + (SIO32ML_BLOCK_SIZE * 0),
|
||||
};
|
||||
|
||||
static const u16 gUnknown_080E018C[7][3] = {
|
||||
|
||||
Reference in new issue
Block a user