Complete code decomp of fieldmap.s
This commit is contained in:
-237
@@ -1,237 +0,0 @@
|
|||||||
.include "asm/macros.inc"
|
|
||||||
.include "constants/constants.inc"
|
|
||||||
|
|
||||||
.syntax unified
|
|
||||||
|
|
||||||
thumb_func_start sub_8059948
|
|
||||||
sub_8059948: @ 8059948
|
|
||||||
push {r4-r6,lr}
|
|
||||||
lsls r0, 24
|
|
||||||
lsrs r4, r0, 24
|
|
||||||
lsls r1, 24
|
|
||||||
lsrs r6, r1, 24
|
|
||||||
ldr r0, _08059968 @ =gUnknown_2036E28
|
|
||||||
ldrb r0, [r0]
|
|
||||||
cmp r0, 0x1
|
|
||||||
beq _0805996C
|
|
||||||
cmp r0, 0x1
|
|
||||||
ble _080599B8
|
|
||||||
cmp r0, 0x2
|
|
||||||
beq _08059980
|
|
||||||
cmp r0, 0x3
|
|
||||||
beq _08059994
|
|
||||||
b _080599B8
|
|
||||||
.align 2, 0
|
|
||||||
_08059968: .4byte gUnknown_2036E28
|
|
||||||
_0805996C:
|
|
||||||
lsls r4, 5
|
|
||||||
ldr r0, _0805997C @ =gPlttBufferUnfaded
|
|
||||||
adds r0, r4, r0
|
|
||||||
lsls r1, r6, 4
|
|
||||||
bl TintPalette_GrayScale
|
|
||||||
b _080599AA
|
|
||||||
.align 2, 0
|
|
||||||
_0805997C: .4byte gPlttBufferUnfaded
|
|
||||||
_08059980:
|
|
||||||
lsls r4, 5
|
|
||||||
ldr r0, _08059990 @ =gPlttBufferUnfaded
|
|
||||||
adds r0, r4, r0
|
|
||||||
lsls r1, r6, 4
|
|
||||||
bl TintPalette_SepiaTone
|
|
||||||
b _080599AA
|
|
||||||
.align 2, 0
|
|
||||||
_08059990: .4byte gPlttBufferUnfaded
|
|
||||||
_08059994:
|
|
||||||
lsls r0, r4, 4
|
|
||||||
lsls r5, r6, 4
|
|
||||||
adds r1, r5, 0
|
|
||||||
bl sub_8111F38
|
|
||||||
lsls r4, 5
|
|
||||||
ldr r0, _080599C0 @ =gPlttBufferUnfaded
|
|
||||||
adds r0, r4, r0
|
|
||||||
adds r1, r5, 0
|
|
||||||
bl TintPalette_GrayScale
|
|
||||||
_080599AA:
|
|
||||||
ldr r0, _080599C0 @ =gPlttBufferUnfaded
|
|
||||||
adds r0, r4, r0
|
|
||||||
ldr r1, _080599C4 @ =gPlttBufferFaded
|
|
||||||
adds r1, r4, r1
|
|
||||||
lsls r2, r6, 3
|
|
||||||
bl CpuFastSet
|
|
||||||
_080599B8:
|
|
||||||
pop {r4-r6}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
.align 2, 0
|
|
||||||
_080599C0: .4byte gPlttBufferUnfaded
|
|
||||||
_080599C4: .4byte gPlttBufferFaded
|
|
||||||
thumb_func_end sub_8059948
|
|
||||||
|
|
||||||
thumb_func_start apply_map_tileset_palette
|
|
||||||
apply_map_tileset_palette: @ 80599C8
|
|
||||||
push {r4-r7,lr}
|
|
||||||
mov r7, r8
|
|
||||||
push {r7}
|
|
||||||
sub sp, 0x4
|
|
||||||
adds r4, r0, 0
|
|
||||||
lsls r1, 16
|
|
||||||
lsrs r5, r1, 16
|
|
||||||
mov r8, r5
|
|
||||||
lsls r6, r2, 16
|
|
||||||
lsrs r7, r6, 16
|
|
||||||
adds r2, r7, 0
|
|
||||||
movs r1, 0
|
|
||||||
mov r0, sp
|
|
||||||
strh r1, [r0]
|
|
||||||
cmp r4, 0
|
|
||||||
beq _08059A46
|
|
||||||
ldrb r0, [r4, 0x1]
|
|
||||||
cmp r0, 0
|
|
||||||
bne _08059A1C
|
|
||||||
mov r0, sp
|
|
||||||
adds r1, r5, 0
|
|
||||||
movs r2, 0x2
|
|
||||||
bl LoadPalette
|
|
||||||
ldr r0, [r4, 0x8]
|
|
||||||
adds r0, 0x2
|
|
||||||
adds r5, 0x1
|
|
||||||
lsls r5, 16
|
|
||||||
lsrs r5, 16
|
|
||||||
subs r4, r7, 0x2
|
|
||||||
lsls r2, r4, 16
|
|
||||||
lsrs r2, 16
|
|
||||||
adds r1, r5, 0
|
|
||||||
bl LoadPalette
|
|
||||||
lsls r4, 15
|
|
||||||
lsrs r4, 16
|
|
||||||
adds r0, r5, 0
|
|
||||||
adds r1, r4, 0
|
|
||||||
bl sub_80598CC
|
|
||||||
b _08059A46
|
|
||||||
_08059A1C:
|
|
||||||
cmp r0, 0x1
|
|
||||||
bne _08059A36
|
|
||||||
ldr r0, [r4, 0x8]
|
|
||||||
adds r0, 0xE0
|
|
||||||
adds r1, r5, 0
|
|
||||||
adds r2, r7, 0
|
|
||||||
bl LoadPalette
|
|
||||||
lsrs r1, r6, 17
|
|
||||||
adds r0, r5, 0
|
|
||||||
bl sub_80598CC
|
|
||||||
b _08059A46
|
|
||||||
_08059A36:
|
|
||||||
ldr r0, [r4, 0x8]
|
|
||||||
mov r1, r8
|
|
||||||
bl LoadCompressedPalette
|
|
||||||
lsrs r1, r6, 17
|
|
||||||
mov r0, r8
|
|
||||||
bl sub_80598CC
|
|
||||||
_08059A46:
|
|
||||||
add sp, 0x4
|
|
||||||
pop {r3}
|
|
||||||
mov r8, r3
|
|
||||||
pop {r4-r7}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end apply_map_tileset_palette
|
|
||||||
|
|
||||||
thumb_func_start sub_8059A54
|
|
||||||
sub_8059A54: @ 8059A54
|
|
||||||
push {lr}
|
|
||||||
ldr r0, [r0, 0x10]
|
|
||||||
movs r1, 0xA0
|
|
||||||
lsls r1, 2
|
|
||||||
movs r2, 0
|
|
||||||
bl copy_tileset_patterns_to_vram
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_8059A54
|
|
||||||
|
|
||||||
thumb_func_start sub_8059A68
|
|
||||||
sub_8059A68: @ 8059A68
|
|
||||||
push {lr}
|
|
||||||
ldr r0, [r0, 0x14]
|
|
||||||
movs r1, 0xC0
|
|
||||||
lsls r1, 1
|
|
||||||
movs r2, 0xA0
|
|
||||||
lsls r2, 2
|
|
||||||
bl copy_tileset_patterns_to_vram
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_8059A68
|
|
||||||
|
|
||||||
thumb_func_start copy_map_tileset2_to_vram_2
|
|
||||||
copy_map_tileset2_to_vram_2: @ 8059A7C
|
|
||||||
push {lr}
|
|
||||||
ldr r0, [r0, 0x14]
|
|
||||||
movs r1, 0xC0
|
|
||||||
lsls r1, 1
|
|
||||||
movs r2, 0xA0
|
|
||||||
lsls r2, 2
|
|
||||||
bl copy_tileset_patterns_to_vram2
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end copy_map_tileset2_to_vram_2
|
|
||||||
|
|
||||||
thumb_func_start sub_8059A90
|
|
||||||
sub_8059A90: @ 8059A90
|
|
||||||
push {lr}
|
|
||||||
ldr r0, [r0, 0x10]
|
|
||||||
movs r1, 0
|
|
||||||
movs r2, 0xE0
|
|
||||||
bl apply_map_tileset_palette
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_8059A90
|
|
||||||
|
|
||||||
thumb_func_start sub_8059AA0
|
|
||||||
sub_8059AA0: @ 8059AA0
|
|
||||||
push {lr}
|
|
||||||
ldr r0, [r0, 0x14]
|
|
||||||
movs r1, 0x70
|
|
||||||
movs r2, 0xC0
|
|
||||||
bl apply_map_tileset_palette
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end sub_8059AA0
|
|
||||||
|
|
||||||
thumb_func_start copy_map_tileset1_tileset2_to_vram
|
|
||||||
copy_map_tileset1_tileset2_to_vram: @ 8059AB0
|
|
||||||
push {r4,r5,lr}
|
|
||||||
adds r5, r0, 0
|
|
||||||
cmp r5, 0
|
|
||||||
beq _08059AD2
|
|
||||||
ldr r0, [r5, 0x10]
|
|
||||||
movs r4, 0xA0
|
|
||||||
lsls r4, 2
|
|
||||||
adds r1, r4, 0
|
|
||||||
movs r2, 0
|
|
||||||
bl copy_tileset_patterns_to_vram2
|
|
||||||
ldr r0, [r5, 0x14]
|
|
||||||
movs r1, 0xC0
|
|
||||||
lsls r1, 1
|
|
||||||
adds r2, r4, 0
|
|
||||||
bl copy_tileset_patterns_to_vram2
|
|
||||||
_08059AD2:
|
|
||||||
pop {r4,r5}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end copy_map_tileset1_tileset2_to_vram
|
|
||||||
|
|
||||||
thumb_func_start apply_map_tileset1_tileset2_palette
|
|
||||||
apply_map_tileset1_tileset2_palette: @ 8059AD8
|
|
||||||
push {r4,lr}
|
|
||||||
adds r4, r0, 0
|
|
||||||
cmp r4, 0
|
|
||||||
beq _08059AEA
|
|
||||||
bl sub_8059A90
|
|
||||||
adds r0, r4, 0
|
|
||||||
bl sub_8059AA0
|
|
||||||
_08059AEA:
|
|
||||||
pop {r4}
|
|
||||||
pop {r0}
|
|
||||||
bx r0
|
|
||||||
thumb_func_end apply_map_tileset1_tileset2_palette
|
|
||||||
|
|
||||||
.align 2, 0 @ Don't pad with nop.
|
|
||||||
+11
-11
@@ -1723,7 +1723,7 @@ sub_8055864: @ 8055864
|
|||||||
ldr r0, [r4]
|
ldr r0, [r4]
|
||||||
bl copy_map_tileset2_to_vram_2
|
bl copy_map_tileset2_to_vram_2
|
||||||
ldr r0, [r4]
|
ldr r0, [r4]
|
||||||
bl sub_8059AA0
|
bl apply_map_tileset2_palette
|
||||||
movs r4, 0x7
|
movs r4, 0x7
|
||||||
_080558D4:
|
_080558D4:
|
||||||
lsls r0, r4, 24
|
lsls r0, r4, 24
|
||||||
@@ -4024,14 +4024,14 @@ _08056AEE:
|
|||||||
_08056AF4:
|
_08056AF4:
|
||||||
ldr r0, _08056B00 @ =gMapHeader
|
ldr r0, _08056B00 @ =gMapHeader
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
bl sub_8059A54
|
bl copy_map_tileset1_to_vram
|
||||||
b _08056B62
|
b _08056B62
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08056B00: .4byte gMapHeader
|
_08056B00: .4byte gMapHeader
|
||||||
_08056B04:
|
_08056B04:
|
||||||
ldr r0, _08056B10 @ =gMapHeader
|
ldr r0, _08056B10 @ =gMapHeader
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
bl sub_8059A68
|
bl copy_map_tileset2_to_vram
|
||||||
b _08056B62
|
b _08056B62
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08056B10: .4byte gMapHeader
|
_08056B10: .4byte gMapHeader
|
||||||
@@ -4166,14 +4166,14 @@ _08056C2A:
|
|||||||
_08056C30:
|
_08056C30:
|
||||||
ldr r0, _08056C3C @ =gMapHeader
|
ldr r0, _08056C3C @ =gMapHeader
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
bl sub_8059A54
|
bl copy_map_tileset1_to_vram
|
||||||
b _08056CCA
|
b _08056CCA
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08056C3C: .4byte gMapHeader
|
_08056C3C: .4byte gMapHeader
|
||||||
_08056C40:
|
_08056C40:
|
||||||
ldr r0, _08056C4C @ =gMapHeader
|
ldr r0, _08056C4C @ =gMapHeader
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
bl sub_8059A68
|
bl copy_map_tileset2_to_vram
|
||||||
b _08056CCA
|
b _08056CCA
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08056C4C: .4byte gMapHeader
|
_08056C4C: .4byte gMapHeader
|
||||||
@@ -4355,14 +4355,14 @@ _08056DCA:
|
|||||||
_08056DD0:
|
_08056DD0:
|
||||||
ldr r0, _08056DDC @ =gMapHeader
|
ldr r0, _08056DDC @ =gMapHeader
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
bl sub_8059A54
|
bl copy_map_tileset1_to_vram
|
||||||
b _08056E3E
|
b _08056E3E
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08056DDC: .4byte gMapHeader
|
_08056DDC: .4byte gMapHeader
|
||||||
_08056DE0:
|
_08056DE0:
|
||||||
ldr r0, _08056DEC @ =gMapHeader
|
ldr r0, _08056DEC @ =gMapHeader
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
bl sub_8059A68
|
bl copy_map_tileset2_to_vram
|
||||||
b _08056E3E
|
b _08056E3E
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_08056DEC: .4byte gMapHeader
|
_08056DEC: .4byte gMapHeader
|
||||||
@@ -5066,14 +5066,14 @@ _080573C2:
|
|||||||
_080573C8:
|
_080573C8:
|
||||||
ldr r0, _080573D4 @ =gMapHeader
|
ldr r0, _080573D4 @ =gMapHeader
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
bl sub_8059A54
|
bl copy_map_tileset1_to_vram
|
||||||
b _08057412
|
b _08057412
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080573D4: .4byte gMapHeader
|
_080573D4: .4byte gMapHeader
|
||||||
_080573D8:
|
_080573D8:
|
||||||
ldr r0, _080573E4 @ =gMapHeader
|
ldr r0, _080573E4 @ =gMapHeader
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
bl sub_8059A68
|
bl copy_map_tileset2_to_vram
|
||||||
b _08057412
|
b _08057412
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080573E4: .4byte gMapHeader
|
_080573E4: .4byte gMapHeader
|
||||||
@@ -5415,14 +5415,14 @@ _080576CC:
|
|||||||
_080576D2:
|
_080576D2:
|
||||||
ldr r0, _080576DC @ =gMapHeader
|
ldr r0, _080576DC @ =gMapHeader
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
bl sub_8059A54
|
bl copy_map_tileset1_to_vram
|
||||||
b _0805772A
|
b _0805772A
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080576DC: .4byte gMapHeader
|
_080576DC: .4byte gMapHeader
|
||||||
_080576E0:
|
_080576E0:
|
||||||
ldr r0, _080576EC @ =gMapHeader
|
ldr r0, _080576EC @ =gMapHeader
|
||||||
ldr r0, [r0]
|
ldr r0, [r0]
|
||||||
bl sub_8059A68
|
bl copy_map_tileset2_to_vram
|
||||||
b _0805772A
|
b _0805772A
|
||||||
.align 2, 0
|
.align 2, 0
|
||||||
_080576EC: .4byte gMapHeader
|
_080576EC: .4byte gMapHeader
|
||||||
|
|||||||
+3
-3
@@ -3,11 +3,11 @@
|
|||||||
|
|
||||||
#include "global.h"
|
#include "global.h"
|
||||||
|
|
||||||
#define NUM_TILES_IN_PRIMARY 512
|
#define NUM_TILES_IN_PRIMARY 640
|
||||||
#define NUM_TILES_TOTAL 1024
|
#define NUM_TILES_TOTAL 1024
|
||||||
#define NUM_METATILES_IN_PRIMARY 512
|
#define NUM_METATILES_IN_PRIMARY 640
|
||||||
#define NUM_METATILES_TOTAL 1024
|
#define NUM_METATILES_TOTAL 1024
|
||||||
#define NUM_PALS_IN_PRIMARY 6
|
#define NUM_PALS_IN_PRIMARY 7
|
||||||
#define NUM_PALS_TOTAL 13
|
#define NUM_PALS_TOTAL 13
|
||||||
#define VIRTUAL_MAP_SIZE 0x2800
|
#define VIRTUAL_MAP_SIZE 0x2800
|
||||||
|
|
||||||
|
|||||||
@@ -92,7 +92,6 @@ SECTIONS {
|
|||||||
asm/new_game.o(.text);
|
asm/new_game.o(.text);
|
||||||
asm/overworld.o(.text);
|
asm/overworld.o(.text);
|
||||||
src/fieldmap.o(.text);
|
src/fieldmap.o(.text);
|
||||||
asm/fieldmap.o(.text);
|
|
||||||
src/metatile_behavior.o(.text);
|
src/metatile_behavior.o(.text);
|
||||||
asm/field_camera.o(.text);
|
asm/field_camera.o(.text);
|
||||||
asm/field_door.o(.text);
|
asm/field_door.o(.text);
|
||||||
|
|||||||
+92
-2
@@ -509,7 +509,7 @@ u32 GetBehaviorByMetatileIdAndMapData(struct MapData *mapData, u16 metatile, u8
|
|||||||
{
|
{
|
||||||
u32 * attributes;
|
u32 * attributes;
|
||||||
|
|
||||||
if (metatile < 0x280)
|
if (metatile < NUM_METATILES_IN_PRIMARY)
|
||||||
{
|
{
|
||||||
attributes = mapData->primaryTileset->metatileAttributes;
|
attributes = mapData->primaryTileset->metatileAttributes;
|
||||||
return sub_8058F1C(attributes[metatile], attr);
|
return sub_8058F1C(attributes[metatile], attr);
|
||||||
@@ -517,7 +517,7 @@ u32 GetBehaviorByMetatileIdAndMapData(struct MapData *mapData, u16 metatile, u8
|
|||||||
else if (metatile < 0x400)
|
else if (metatile < 0x400)
|
||||||
{
|
{
|
||||||
attributes = mapData->secondaryTileset->metatileAttributes;
|
attributes = mapData->secondaryTileset->metatileAttributes;
|
||||||
return sub_8058F1C(attributes[metatile - 0x280], attr);
|
return sub_8058F1C(attributes[metatile - NUM_METATILES_IN_PRIMARY], attr);
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
@@ -932,3 +932,93 @@ void sub_80598CC(u16 a0, u16 a1)
|
|||||||
}
|
}
|
||||||
CpuCopy16(gPlttBufferUnfaded + a0, gPlttBufferFaded + a0, a1 * sizeof(u16));
|
CpuCopy16(gPlttBufferUnfaded + a0, gPlttBufferFaded + a0, a1 * sizeof(u16));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void sub_8059948(u8 a0, u8 a1)
|
||||||
|
{
|
||||||
|
switch (gUnknown_2036E28)
|
||||||
|
{
|
||||||
|
case 0:
|
||||||
|
return;
|
||||||
|
case 1:
|
||||||
|
TintPalette_GrayScale(gPlttBufferUnfaded + a0 * 16, a1 * 16);
|
||||||
|
break;
|
||||||
|
case 2:
|
||||||
|
TintPalette_SepiaTone(gPlttBufferUnfaded + a0 * 16, a1 * 16);
|
||||||
|
break;
|
||||||
|
case 3:
|
||||||
|
sub_8111F38(a0 * 16, a1 * 16);
|
||||||
|
TintPalette_GrayScale(gPlttBufferUnfaded + a0 * 16, a1 * 16);
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
CpuFastCopy(gPlttBufferUnfaded + a0 * 16, gPlttBufferFaded + a0 * 16, a1 * 16 * sizeof(u16));
|
||||||
|
}
|
||||||
|
|
||||||
|
void apply_map_tileset_palette(struct Tileset const *tileset, u16 destOffset, u16 size)
|
||||||
|
{
|
||||||
|
u16 black = RGB_BLACK;
|
||||||
|
|
||||||
|
if (tileset)
|
||||||
|
{
|
||||||
|
if (tileset->isSecondary == FALSE)
|
||||||
|
{
|
||||||
|
LoadPalette(&black, destOffset, 2);
|
||||||
|
LoadPalette(((u16*)tileset->palettes) + 1, destOffset + 1, size - 2);
|
||||||
|
sub_80598CC(destOffset + 1, (size - 2) >> 1);
|
||||||
|
}
|
||||||
|
else if (tileset->isSecondary == TRUE)
|
||||||
|
{
|
||||||
|
LoadPalette(((u16*)tileset->palettes) + (NUM_PALS_IN_PRIMARY * 16), destOffset, size);
|
||||||
|
sub_80598CC(destOffset, size >> 1);
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
LoadCompressedPalette((u32*)tileset->palettes, destOffset, size);
|
||||||
|
sub_80598CC(destOffset, size >> 1);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void copy_map_tileset1_to_vram(const struct MapData *mapData)
|
||||||
|
{
|
||||||
|
copy_tileset_patterns_to_vram(mapData->primaryTileset, NUM_TILES_IN_PRIMARY, 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void copy_map_tileset2_to_vram(const struct MapData *mapData)
|
||||||
|
{
|
||||||
|
copy_tileset_patterns_to_vram(mapData->secondaryTileset, NUM_TILES_TOTAL - NUM_TILES_IN_PRIMARY, NUM_TILES_IN_PRIMARY);
|
||||||
|
}
|
||||||
|
|
||||||
|
void copy_map_tileset2_to_vram_2(const struct MapData *mapData)
|
||||||
|
{
|
||||||
|
copy_tileset_patterns_to_vram2(mapData->secondaryTileset, NUM_TILES_TOTAL - NUM_TILES_IN_PRIMARY, NUM_TILES_IN_PRIMARY);
|
||||||
|
}
|
||||||
|
|
||||||
|
void apply_map_tileset1_palette(const struct MapData *mapData)
|
||||||
|
{
|
||||||
|
apply_map_tileset_palette(mapData->primaryTileset, 0, NUM_PALS_IN_PRIMARY * 16 * 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void apply_map_tileset2_palette(const struct MapData *mapData)
|
||||||
|
{
|
||||||
|
apply_map_tileset_palette(mapData->secondaryTileset, NUM_PALS_IN_PRIMARY * 16, (NUM_PALS_TOTAL - NUM_PALS_IN_PRIMARY) * 16 * 2);
|
||||||
|
}
|
||||||
|
|
||||||
|
void copy_map_tileset1_tileset2_to_vram(struct MapData const *mapData)
|
||||||
|
{
|
||||||
|
if (mapData)
|
||||||
|
{
|
||||||
|
copy_tileset_patterns_to_vram2(mapData->primaryTileset, NUM_TILES_IN_PRIMARY, 0);
|
||||||
|
copy_tileset_patterns_to_vram2(mapData->secondaryTileset, NUM_TILES_TOTAL - NUM_TILES_IN_PRIMARY, NUM_TILES_IN_PRIMARY);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void apply_map_tileset1_tileset2_palette(struct MapData const *mapData)
|
||||||
|
{
|
||||||
|
if (mapData)
|
||||||
|
{
|
||||||
|
apply_map_tileset1_palette(mapData);
|
||||||
|
apply_map_tileset2_palette(mapData);
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in New Issue
Block a user