Import w_037 data and normalize weapon palette (#1777)
Some checks are pending
Format code / format (push) Waiting to run
Build C code / extract-assets (push) Waiting to run
Build C code / build-linux (Debug, clang, custom) (push) Blocked by required conditions
Build C code / build-linux (Debug, clang, lle) (push) Blocked by required conditions
Build C code / build-linux (Debug, gcc, custom) (push) Blocked by required conditions
Build C code / build-linux (Debug, gcc, lle) (push) Blocked by required conditions
Build C code / build-linux (RelWithDebInfo, clang, custom) (push) Blocked by required conditions
Build C code / build-linux (RelWithDebInfo, clang, lle) (push) Blocked by required conditions
Build C code / build-linux (RelWithDebInfo, gcc, custom) (push) Blocked by required conditions
Build C code / build-linux (RelWithDebInfo, gcc, lle) (push) Blocked by required conditions
Build C code / build-macos (Debug) (push) Blocked by required conditions
Build C code / build-macos (RelWithDebInfo) (push) Blocked by required conditions
Build C code / build-windows (Debug) (push) Blocked by required conditions
Build C code / build-windows (RelWithDebInfo) (push) Blocked by required conditions
Build Saturn version / build-and-test-saturn (push) Waiting to run
Build Saturn version / function-finder-saturn (push) Waiting to run
Build Debug Module tool / build (push) Waiting to run
Build PSX and PSP version / build-and-test (pspeu, hd) (push) Waiting to run
Build PSX and PSP version / build-and-test (pspeu, pspeu) (push) Waiting to run
Build PSX and PSP version / build-and-test (us, us) (push) Waiting to run
Build PSX and PSP version / generate-progress-report (pspeu, hd) (push) Blocked by required conditions
Build PSX and PSP version / generate-progress-report (pspeu, pspeu) (push) Blocked by required conditions
Build PSX and PSP version / generate-progress-report (us, us) (push) Blocked by required conditions
Build PSX and PSP version / generate-duplicates-report (us, us) (push) Blocked by required conditions
Build PSX and PSP version / generate-duplicates-report-psp (pspeu, pspeu) (push) Blocked by required conditions

This PR also allows to being able to import the BSS section by tweaking
the linker script
This commit is contained in:
Luciano Ciccariello 2024-10-11 18:36:59 +01:00 committed by GitHub
parent 67a6f1cf72
commit f015a76577
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
15 changed files with 506 additions and 434 deletions

View File

@ -336,6 +336,7 @@ set(SOURCE_FILES_WEAPON
src/weapon/w_007.c
src/weapon/w_012.c
src/weapon/w_034.c
src/weapon/w_037.c
src/weapon/w_041.c
src/weapon/w_045.c
src/weapon/w_046.c
@ -349,6 +350,7 @@ set_source_files_properties(src/weapon/w_002.c PROPERTIES COMPILE_DEFINITIONS WE
set_source_files_properties(src/weapon/w_007.c PROPERTIES COMPILE_DEFINITIONS WEAPON_ID=w_007)
set_source_files_properties(src/weapon/w_012.c PROPERTIES COMPILE_DEFINITIONS WEAPON_ID=w_012)
set_source_files_properties(src/weapon/w_034.c PROPERTIES COMPILE_DEFINITIONS WEAPON_ID=w_034)
set_source_files_properties(src/weapon/w_037.c PROPERTIES COMPILE_DEFINITIONS WEAPON_ID=w_037)
set_source_files_properties(src/weapon/w_041.c PROPERTIES COMPILE_DEFINITIONS WEAPON_ID=w_041)
set_source_files_properties(src/weapon/w_045.c PROPERTIES COMPILE_DEFINITIONS WEAPON_ID=w_045)
set_source_files_properties(src/weapon/w_046.c PROPERTIES COMPILE_DEFINITIONS WEAPON_ID=w_046)

View File

@ -266,7 +266,7 @@ segments:
- [0x582B0, animset, w_012_2]
- [0x582B0, .data, w_012]
- [0x58ACC, c, w_012]
- [0x59B28, sbss, w_012]
- [0x59B28, .bss, w_012]
- name: f_013
type: grey4
start: 0x5B000
@ -726,9 +726,9 @@ segments:
subsegments:
- [0x107040, animset, w_037_1]
- [0x107504, animset, w_037_2]
- [0x107504, data, w_037]
- [0x107504, .data, w_037]
- [0x1077C4, c, w_037]
- [0x108BE4, sbss, w_037]
- [0x108BE4, .bss, w_037]
- name: f_038
type: grey4
start: 0x10A000
@ -801,7 +801,7 @@ segments:
- [0x123284, .data, w_041]
- [0x123560, .rodata, w_041]
- [0x123574, c, w_041]
- [0x124200, sbss, w_041]
- [0x124200, .bss, w_041]
- name: f_042
type: grey4
start: 0x126000
@ -1002,7 +1002,7 @@ segments:
- [0x170808, .data, w_052]
- [0x170C24, .rodata, w_052]
- [0x170CB0, c, w_052]
- [0x172B84, sbss, w_052]
- [0x172B84, .bss, w_052]
- name: f_053
type: grey4
start: 0x173000

View File

@ -27,3 +27,13 @@ typedef struct {
#define N_WEAPON_PAL 12
extern u16 D_8006EDCC[2][N_WEAPON_PAL * PALETTE_LEN];
#endif
#ifdef VERSION_PC
// LoadWeaponPalette reads a predetermined amount of bytes from the weapon
// palette, often going out of the array boundaries. This is not a problem on
// PSX, but on any other platform we need to force each weapon palette to be
// `N_ARRAY_PAL` long to account for the extra data read.
#define N_ARRAY_PAL LEN(*D_8006EDCC)
#else
#define N_ARRAY_PAL
#endif

View File

@ -63,19 +63,26 @@ static Weapon dummy_header = {
extern Weapon w_000_header;
extern Weapon w_002_header;
extern Weapon w_007_header;
extern Weapon w_012_header;
extern Weapon w_034_header;
extern Weapon w_037_header;
extern Weapon w_041_header;
extern Weapon w_046_header;
extern Weapon w_051_header;
extern Weapon w_052_header;
Weapon* g_Weapons[] = {
&w_000_header, &dummy_header, &w_002_header, &dummy_header, &dummy_header,
&dummy_header, &dummy_header, &w_007_header, &dummy_header, &dummy_header,
&dummy_header, &dummy_header, &w_012_header, &dummy_header, &dummy_header,
&dummy_header, &dummy_header, &dummy_header, &dummy_header, &dummy_header,
&dummy_header, &dummy_header, &dummy_header, &dummy_header, &dummy_header,
&dummy_header, &dummy_header, &dummy_header, &dummy_header, &dummy_header,
&dummy_header, &dummy_header, &dummy_header, &dummy_header, &dummy_header,
&dummy_header, &dummy_header, &dummy_header, &dummy_header, &dummy_header,
&dummy_header, &dummy_header, &dummy_header, &dummy_header, &dummy_header,
&dummy_header, &dummy_header, &dummy_header, &dummy_header, &dummy_header,
&dummy_header, &dummy_header, &dummy_header, &dummy_header, &dummy_header,
&dummy_header, &dummy_header, &dummy_header, &dummy_header, &w_034_header,
&dummy_header, &dummy_header, &w_037_header, &dummy_header, &dummy_header,
&dummy_header, &w_041_header, &dummy_header, &dummy_header, &dummy_header,
&dummy_header, &w_046_header, &dummy_header, &dummy_header, &dummy_header,
&dummy_header, &dummy_header, &dummy_header, &dummy_header, &dummy_header,
&dummy_header, &w_051_header, &w_052_header, &dummy_header, &dummy_header,
&dummy_header, &dummy_header, &dummy_header, &dummy_header,
};
@ -115,7 +122,6 @@ int readSubsetToBuf(char* filename, char* dest, size_t start, size_t size) {
void HandleWeapon0Prg(int fileId) {
memcpy(&D_8017A000, g_Weapons[fileId], sizeof(Weapon));
// todo animsets
}
void HandleWeapon0Chr(int fileId) {

View File

@ -20,12 +20,7 @@ static void LoadWeaponPalette(s32 clutIndex) {
return;
}
// I think dst is longer than src so this reads out of bounds
#ifndef VERSION_PC
for (i = 0; i < LEN(*D_8006EDCC); i++) {
#else
for (i = 0; i < 112; i++) {
#endif
*dst++ = *src++;
}

View File

@ -12,90 +12,81 @@
#define g_Animset2 w_000_2
#include "sfx.h"
static u16 g_Clut0[] = {
0x0000, 0x8000, 0xA821, 0x9DC0, 0xA821, 0xA821, 0xA821, 0xA821, // 0
0x843F, 0xB0E4, 0x9CA4, 0x0000, 0x0000, 0x0000, 0xD294, 0xF2F3,
0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0xED8C, 0xED8C, 0xED8C, // 1
0x843F, 0xBC00, 0xBC00, 0xED8C, 0xED8C, 0xED8C, 0xD294, 0xFFFF,
0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0xE021, 0xE021, // 2
0x801F, 0x9C00, 0xB800, 0xE021, 0x0000, 0x0000, 0xD294, 0xEAD3,
0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0xA0C0, 0x0000, // 3
0x843F, 0x0000, 0xA800, 0x0000, 0xF608, 0x0000, 0xD294, 0xE24C,
0x0000, 0x8000, 0x9C00, 0x9DC0, 0x9C00, 0x9C00, 0x9C00, 0x9C00, // 4
0x843F, 0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF2D1,
0x0000, 0x8000, 0x0000, 0x9DC0, 0xD400, 0xD400, 0xD400, 0xD400, // 5
0x843F, 0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C,
0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0xCCA0, 0x0000, // 6
0x843F, 0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xEA90,
};
static u16 g_Clut1[] = {
0x0000, 0x8007, 0xAD6B, 0xAD6B, 0xAD6B, 0xAD6B, 0xAD6B, 0xAD6B, // 0
0x843F, 0xB148, 0xA928, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C,
0x0000, 0x8007, 0x0000, 0x0000, 0x0000, 0xE717, 0xE717, 0xE717, // 1
0x843F, 0xA0E6, 0xA0E6, 0xE717, 0xE717, 0xE717, 0xD294, 0xF39C,
0x0000, 0x8007, 0x0000, 0x9DC0, 0x0000, 0x0000, 0xB56A, 0xA927, // 2
0x801F, 0x9062, 0x98C6, 0xB148, 0x0000, 0x0000, 0xD294, 0xF39C,
0x0000, 0x8007, 0x0000, 0x9DC0, 0x0000, 0x0000, 0xA4E6, 0x0000, // 3
0x843F, 0x0000, 0x9483, 0x0000, 0xA0C4, 0x0000, 0xD294, 0xF39C,
0x0000, 0x8007, 0x98C6, 0x9DC0, 0x98C6, 0x98C6, 0x98C6, 0x98C6, // 4
0x843F, 0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C,
0x0000, 0x8007, 0x0000, 0x9DC0, 0xA94A, 0xA94A, 0xA94A, 0xA94A, // 5
0x843F, 0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C,
0x0000, 0x8007, 0x0000, 0x9DC0, 0x0000, 0x0000, 0x94A5, 0x0000, // 6
0x843F, 0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xEB5A,
};
static u16 g_Clut2[] = {
0x0000, 0x8000, 0x800F, 0x800F, 0x800F, 0x800F, 0x800F, 0x800F, // 0
0x83E0, 0x800F, 0x8CB4, 0x0000, 0x0000, 0x0000, 0xD294, 0xCF1C,
0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0xA818, 0xB0B8, 0xAC38, // 1
0x83E0, 0x800E, 0x8450, 0x9418, 0x9418, 0x9818, 0xD294, 0xFFFF,
0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0x8014, 0x940C, // 2
0x83E0, 0x8005, 0x844E, 0x807D, 0x0000, 0x0000, 0xD294, 0xE35C,
0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0xA008, 0x0000, // 3
0x83E0, 0x0000, 0x8008, 0x0000, 0x806C, 0x0000, 0xD294, 0xBEBC,
0x0000, 0x8000, 0x800B, 0x9DC0, 0x800B, 0x800B, 0x800B, 0x800B, // 4
0x83E0, 0xB9C0, 0x800B, 0x0000, 0x0000, 0x0000, 0xD294, 0xAABC,
0x0000, 0x8000, 0x0000, 0x9DC0, 0x8011, 0x8011, 0x8011, 0x8011, // 5
0x83E0, 0xB9C0, 0x8011, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C,
0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0x8008, 0x0000, // 6
0x83E0, 0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0x9E1C,
};
static u16 g_Clut3[] = {
0x0000, 0x8000, 0x8900, 0x8900, 0x8900, 0x8900, 0x8902, 0x8904, // 0
0x843F, 0x9541, 0x95E1, 0x0000, 0x0000, 0x0000, 0xD294, 0xF2D1,
0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0xA208, 0xA208, 0xA208, // 1
0x843F, 0x9541, 0x9541, 0xA208, 0xA208, 0xA208, 0xD294, 0xF39C,
0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0x8160, 0x8920, // 2
0x801F, 0x8080, 0x88E1, 0x8160, 0x0000, 0x0000, 0xD294, 0xE796,
0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0x94A0, 0x0000, // 3
0x843F, 0x0000, 0x8080, 0x0000, 0xA264, 0x0000, 0xD294, 0xAB8D,
0x0000, 0x8000, 0x80E0, 0x80E0, 0x80E0, 0x80E0, 0x80E0, 0x80E0, // 4
0x843F, 0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF2B2,
0x0000, 0x8000, 0x0000, 0x9DC0, 0x8200, 0x8200, 0x8200, 0x8200, // 5
0x843F, 0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C,
0x0000, 0x8000, 0x0000, 0xA686, 0x0000, 0x0000, 0xA520, 0x0000, // 6
0x843F, 0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xB792,
};
static u16 g_Clut4[] = {
0x0000, 0x8000, 0x817F, 0x81B6, 0x81DF, 0x827F, 0xA2FE, 0xD77F, // 0
0x843F, 0x819E, 0x9A1F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C,
0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0xB77D, 0xB77D, 0xB77D, // 1
0x843F, 0x811E, 0x811E, 0xB77D, 0xB77D, 0xB77D, 0xD294, 0xFFFF,
0x0000, 0x8000, 0x0000, 0x9A1F, 0x0000, 0x0000, 0x8E3F, 0x99DF, // 2
0x801F, 0x80B0, 0x811A, 0x9ADF, 0x0000, 0x0000, 0xD294, 0xE35C,
0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0x80FE, 0x0000, // 3
0x843F, 0x0000, 0x80B1, 0x0000, 0x8157, 0x0000, 0xD294, 0xD31C,
0x0000, 0x8000, 0x8158, 0x81B6, 0x819B, 0x823D, 0xA2FF, 0xD31F, // 4
0x843F, 0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C,
0x0000, 0x8000, 0x0000, 0xB77D, 0xB77D, 0xB77D, 0xB77D, 0xB77D, // 5
0x843F, 0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C,
0x0000, 0x8000, 0x0000, 0x819E, 0x0000, 0x0000, 0x811E, 0x0000, // 6
0x843F, 0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C,
};
static u16 g_Clut0[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0x8000, 0xA821, 0x9DC0, 0xA821, 0xA821, 0xA821, 0xA821, 0x843F,
0xB0E4, 0x9CA4, 0x0000, 0x0000, 0x0000, 0xD294, 0xF2F3},
{0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0xED8C, 0xED8C, 0xED8C, 0x843F,
0xBC00, 0xBC00, 0xED8C, 0xED8C, 0xED8C, 0xD294, 0xFFFF},
{0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0xE021, 0xE021, 0x801F,
0x9C00, 0xB800, 0xE021, 0x0000, 0x0000, 0xD294, 0xEAD3},
{0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0xA0C0, 0x0000, 0x843F,
0x0000, 0xA800, 0x0000, 0xF608, 0x0000, 0xD294, 0xE24C},
{0x0000, 0x8000, 0x9C00, 0x9DC0, 0x9C00, 0x9C00, 0x9C00, 0x9C00, 0x843F,
0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF2D1},
{0x0000, 0x8000, 0x0000, 0x9DC0, 0xD400, 0xD400, 0xD400, 0xD400, 0x843F,
0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C},
{0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0xCCA0, 0x0000, 0x843F,
0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xEA90}};
static u16 g_Clut1[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0x8007, 0xAD6B, 0xAD6B, 0xAD6B, 0xAD6B, 0xAD6B, 0xAD6B, 0x843F,
0xB148, 0xA928, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C},
{0x0000, 0x8007, 0x0000, 0x0000, 0x0000, 0xE717, 0xE717, 0xE717, 0x843F,
0xA0E6, 0xA0E6, 0xE717, 0xE717, 0xE717, 0xD294, 0xF39C},
{0x0000, 0x8007, 0x0000, 0x9DC0, 0x0000, 0x0000, 0xB56A, 0xA927, 0x801F,
0x9062, 0x98C6, 0xB148, 0x0000, 0x0000, 0xD294, 0xF39C},
{0x0000, 0x8007, 0x0000, 0x9DC0, 0x0000, 0x0000, 0xA4E6, 0x0000, 0x843F,
0x0000, 0x9483, 0x0000, 0xA0C4, 0x0000, 0xD294, 0xF39C},
{0x0000, 0x8007, 0x98C6, 0x9DC0, 0x98C6, 0x98C6, 0x98C6, 0x98C6, 0x843F,
0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C},
{0x0000, 0x8007, 0x0000, 0x9DC0, 0xA94A, 0xA94A, 0xA94A, 0xA94A, 0x843F,
0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C},
{0x0000, 0x8007, 0x0000, 0x9DC0, 0x0000, 0x0000, 0x94A5, 0x0000, 0x843F,
0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xEB5A}};
static u16 g_Clut2[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0x8000, 0x800F, 0x800F, 0x800F, 0x800F, 0x800F, 0x800F, 0x83E0,
0x800F, 0x8CB4, 0x0000, 0x0000, 0x0000, 0xD294, 0xCF1C},
{0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0xA818, 0xB0B8, 0xAC38, 0x83E0,
0x800E, 0x8450, 0x9418, 0x9418, 0x9818, 0xD294, 0xFFFF},
{0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0x8014, 0x940C, 0x83E0,
0x8005, 0x844E, 0x807D, 0x0000, 0x0000, 0xD294, 0xE35C},
{0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0xA008, 0x0000, 0x83E0,
0x0000, 0x8008, 0x0000, 0x806C, 0x0000, 0xD294, 0xBEBC},
{0x0000, 0x8000, 0x800B, 0x9DC0, 0x800B, 0x800B, 0x800B, 0x800B, 0x83E0,
0xB9C0, 0x800B, 0x0000, 0x0000, 0x0000, 0xD294, 0xAABC},
{0x0000, 0x8000, 0x0000, 0x9DC0, 0x8011, 0x8011, 0x8011, 0x8011, 0x83E0,
0xB9C0, 0x8011, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C},
{0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0x8008, 0x0000, 0x83E0,
0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0x9E1C}};
static u16 g_Clut3[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0x8000, 0x8900, 0x8900, 0x8900, 0x8900, 0x8902, 0x8904, 0x843F,
0x9541, 0x95E1, 0x0000, 0x0000, 0x0000, 0xD294, 0xF2D1},
{0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0xA208, 0xA208, 0xA208, 0x843F,
0x9541, 0x9541, 0xA208, 0xA208, 0xA208, 0xD294, 0xF39C},
{0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0x8160, 0x8920, 0x801F,
0x8080, 0x88E1, 0x8160, 0x0000, 0x0000, 0xD294, 0xE796},
{0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0x94A0, 0x0000, 0x843F,
0x0000, 0x8080, 0x0000, 0xA264, 0x0000, 0xD294, 0xAB8D},
{0x0000, 0x8000, 0x80E0, 0x80E0, 0x80E0, 0x80E0, 0x80E0, 0x80E0, 0x843F,
0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF2B2},
{0x0000, 0x8000, 0x0000, 0x9DC0, 0x8200, 0x8200, 0x8200, 0x8200, 0x843F,
0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C},
{0x0000, 0x8000, 0x0000, 0xA686, 0x0000, 0x0000, 0xA520, 0x0000, 0x843F,
0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xB792}};
static u16 g_Clut4[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0x8000, 0x817F, 0x81B6, 0x81DF, 0x827F, 0xA2FE, 0xD77F, 0x843F,
0x819E, 0x9A1F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C},
{0x0000, 0x8000, 0x0000, 0x0000, 0x0000, 0xB77D, 0xB77D, 0xB77D, 0x843F,
0x811E, 0x811E, 0xB77D, 0xB77D, 0xB77D, 0xD294, 0xFFFF},
{0x0000, 0x8000, 0x0000, 0x9A1F, 0x0000, 0x0000, 0x8E3F, 0x99DF, 0x801F,
0x80B0, 0x811A, 0x9ADF, 0x0000, 0x0000, 0xD294, 0xE35C},
{0x0000, 0x8000, 0x0000, 0x9DC0, 0x0000, 0x0000, 0x80FE, 0x0000, 0x843F,
0x0000, 0x80B1, 0x0000, 0x8157, 0x0000, 0xD294, 0xD31C},
{0x0000, 0x8000, 0x8158, 0x81B6, 0x819B, 0x823D, 0xA2FF, 0xD31F, 0x843F,
0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C},
{0x0000, 0x8000, 0x0000, 0xB77D, 0xB77D, 0xB77D, 0xB77D, 0xB77D, 0x843F,
0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C},
{0x0000, 0x8000, 0x0000, 0x819E, 0x0000, 0x0000, 0x811E, 0x0000, 0x843F,
0xB9C0, 0x801F, 0x0000, 0x0000, 0x0000, 0xD294, 0xF39C}};
static u8 g_Anim0Frame0[] = {
0x01, 0x02, 0x02, 0x04, 0x03, 0x04, 0x04, 0x04, 0x05, 0x04,

View File

@ -9,38 +9,41 @@
#define g_Animset2 w_002_2
#include "sfx.h"
static u16 clut0[] = {
0x0000, 0x1484, 0x8000, 0x0449, 0x2570, 0x3A33, 0x148F, 0x30D3, 0x217A,
0x1EBA, 0x0842, 0x18C6, 0x294A, 0x41EF, 0x5694, 0x6F59, 0x0000, 0x7440,
0x7D60, 0x7EA0, 0x7F83, 0x3969, 0x59B0, 0x1C10, 0x1D7A, 0x1F5F, 0x0842,
0x18C6, 0x294A, 0x41EF, 0x5694, 0x6F99, 0x0000, 0xB544, 0xC5A8, 0x14A9,
0x214D, 0x2217, 0x36DC, 0x1CA4, 0x30E5, 0x4988, 0x2E75, 0x1DEE, 0x2507,
0x358A, 0x4A0E, 0x5AD4, 0x0000, 0x2E40, 0x3340, 0x4BF0, 0x3BFB, 0x3969,
0x59B0, 0x2D22, 0x3DE5, 0x53D7, 0x0842, 0x18C6, 0x294A, 0x41EF, 0x5694,
0x6F99, 0x0000, 0x2E40, 0x3340, 0x4BF0, 0x3BFB, 0x3969, 0x59B0, 0x2D22,
0x3DE5, 0x53D7, 0x0842, 0x18C6, 0x294A, 0x41EF, 0x5694, 0x6F99, 0x0000,
0x1484, 0x8000, 0x0446, 0x38E9, 0x454B, 0x148F, 0x07E0, 0x03E0, 0x03E0,
0x0842, 0x20A3, 0x2D27, 0x41CD, 0x5694, 0x7B99, 0x0000, 0x059F, 0x2A3F,
0x3B9F, 0x5FFF, 0x1171, 0x21F7, 0x1C10, 0x1D7A, 0x1F5F, 0x0842, 0x18C6,
0x294A, 0x41EF, 0x5694, 0x6F99, 0x0000, 0x1041, 0x7CA6, 0x6C26, 0x5986,
0x5846, 0x58A8, 0x590A, 0x598C, 0x59EE, 0x5A50, 0x5AD2, 0x6E6B, 0x5F49,
0x40A7, 0x598A, 0x0000, 0x2061, 0x7085, 0x5C24, 0x5AD2, 0x5986, 0x5846,
0x58A8, 0x590A, 0x598C, 0x59EE, 0x5A50, 0x5F49, 0x777A, 0x40A7, 0x598A,
0x0000, 0x1041, 0x6464, 0x4C23, 0x5A50, 0x5AD2, 0x5986, 0x5846, 0x58A8,
0x590A, 0x598C, 0x59EE, 0x6E6B, 0x5F49, 0x40A7, 0x598A, 0x0000, 0x2061,
0x5843, 0x3C22, 0x59EE, 0x5A50, 0x5AD2, 0x5986, 0x5846, 0x58A8, 0x590A,
0x598C, 0x5F49, 0x777A, 0x40A7, 0x598A, 0x0000, 0x1041, 0x4C23, 0x3041,
0x598C, 0x59EE, 0x5A50, 0x5AD2, 0x5986, 0x5846, 0x58A8, 0x590A, 0x6E6B,
0x5F49, 0x40A7, 0x598A, 0x0000, 0x2061, 0x5843, 0x3C22, 0x590A, 0x598C,
0x59EE, 0x5A50, 0x5AD2, 0x5986, 0x5846, 0x58A8, 0x5F49, 0x777A, 0x40A7,
0x598A, 0x0000, 0x1041, 0x6464, 0x4C23, 0x58A8, 0x590A, 0x598C, 0x59EE,
0x5A50, 0x5AD2, 0x5986, 0x5846, 0x6E6B, 0x5F49, 0x40A7, 0x598A, 0x0000,
0x2061, 0x7085, 0x5C24, 0x5846, 0x58A8, 0x590A, 0x598C, 0x59EE, 0x5A50,
0x5AD2, 0x5986, 0x5F49, 0x777A, 0x40A7, 0x598A, 0x0000, 0x0C41, 0x1BE3,
0x3D8A, 0x2CA1, 0x4503, 0x59A7, 0x5E2B, 0x62AF, 0x1084, 0x1D08, 0x296C,
0x39F0, 0x4654, 0x52D8, 0x635C, 0x0000, 0x3C00, 0x4800, 0x5923, 0x6DC8,
0x7ED1, 0x7F73, 0x7FFF, 0x0400, 0x3DAD, 0x4E10, 0x66D6, 0x735A, 0x8000,
0x7FB5, 0x0400};
static u16 clut0[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0x1484, 0x8000, 0x0449, 0x2570, 0x3A33, 0x148F, 0x30D3, 0x217A,
0x1EBA, 0x0842, 0x18C6, 0x294A, 0x41EF, 0x5694, 0x6F59},
{0x0000, 0x7440, 0x7D60, 0x7EA0, 0x7F83, 0x3969, 0x59B0, 0x1C10, 0x1D7A,
0x1F5F, 0x0842, 0x18C6, 0x294A, 0x41EF, 0x5694, 0x6F99},
{0x0000, 0xB544, 0xC5A8, 0x14A9, 0x214D, 0x2217, 0x36DC, 0x1CA4, 0x30E5,
0x4988, 0x2E75, 0x1DEE, 0x2507, 0x358A, 0x4A0E, 0x5AD4},
{0x0000, 0x2E40, 0x3340, 0x4BF0, 0x3BFB, 0x3969, 0x59B0, 0x2D22, 0x3DE5,
0x53D7, 0x0842, 0x18C6, 0x294A, 0x41EF, 0x5694, 0x6F99},
{0x0000, 0x2E40, 0x3340, 0x4BF0, 0x3BFB, 0x3969, 0x59B0, 0x2D22, 0x3DE5,
0x53D7, 0x0842, 0x18C6, 0x294A, 0x41EF, 0x5694, 0x6F99},
{0x0000, 0x1484, 0x8000, 0x0446, 0x38E9, 0x454B, 0x148F, 0x07E0, 0x03E0,
0x03E0, 0x0842, 0x20A3, 0x2D27, 0x41CD, 0x5694, 0x7B99},
{0x0000, 0x059F, 0x2A3F, 0x3B9F, 0x5FFF, 0x1171, 0x21F7, 0x1C10, 0x1D7A,
0x1F5F, 0x0842, 0x18C6, 0x294A, 0x41EF, 0x5694, 0x6F99},
{0x0000, 0x1041, 0x7CA6, 0x6C26, 0x5986, 0x5846, 0x58A8, 0x590A, 0x598C,
0x59EE, 0x5A50, 0x5AD2, 0x6E6B, 0x5F49, 0x40A7, 0x598A},
{0x0000, 0x2061, 0x7085, 0x5C24, 0x5AD2, 0x5986, 0x5846, 0x58A8, 0x590A,
0x598C, 0x59EE, 0x5A50, 0x5F49, 0x777A, 0x40A7, 0x598A},
{0x0000, 0x1041, 0x6464, 0x4C23, 0x5A50, 0x5AD2, 0x5986, 0x5846, 0x58A8,
0x590A, 0x598C, 0x59EE, 0x6E6B, 0x5F49, 0x40A7, 0x598A},
{0x0000, 0x2061, 0x5843, 0x3C22, 0x59EE, 0x5A50, 0x5AD2, 0x5986, 0x5846,
0x58A8, 0x590A, 0x598C, 0x5F49, 0x777A, 0x40A7, 0x598A},
{0x0000, 0x1041, 0x4C23, 0x3041, 0x598C, 0x59EE, 0x5A50, 0x5AD2, 0x5986,
0x5846, 0x58A8, 0x590A, 0x6E6B, 0x5F49, 0x40A7, 0x598A},
{0x0000, 0x2061, 0x5843, 0x3C22, 0x590A, 0x598C, 0x59EE, 0x5A50, 0x5AD2,
0x5986, 0x5846, 0x58A8, 0x5F49, 0x777A, 0x40A7, 0x598A},
{0x0000, 0x1041, 0x6464, 0x4C23, 0x58A8, 0x590A, 0x598C, 0x59EE, 0x5A50,
0x5AD2, 0x5986, 0x5846, 0x6E6B, 0x5F49, 0x40A7, 0x598A},
{0x0000, 0x2061, 0x7085, 0x5C24, 0x5846, 0x58A8, 0x590A, 0x598C, 0x59EE,
0x5A50, 0x5AD2, 0x5986, 0x5F49, 0x777A, 0x40A7, 0x598A},
{0x0000, 0x0C41, 0x1BE3, 0x3D8A, 0x2CA1, 0x4503, 0x59A7, 0x5E2B, 0x62AF,
0x1084, 0x1D08, 0x296C, 0x39F0, 0x4654, 0x52D8, 0x635C},
{0x0000, 0x3C00, 0x4800, 0x5923, 0x6DC8, 0x7ED1, 0x7F73, 0x7FFF, 0x0400,
0x3DAD, 0x4E10, 0x66D6, 0x735A, 0x8000, 0x7FB5, 0x0400}};
static u8 D_12000_8017AAA4[] = {
0x01, 0x02, 0x02, 0x02, 0x03, 0x04, 0x04, 0x06, 0x05, 0x06,
0x06, 0x08, 0x07, 0x08, 0x08, 0x08, 0x09, 0x08, 0x0A, 0x0A,

View File

@ -9,98 +9,109 @@
#define g_Animset2 w_007_2
#include "sfx.h"
static u16 D_35000_8017A884[] = {
COLOR16(0, 0, 0, 0), COLOR16(4, 4, 5, 0), COLOR16(0, 0, 0, 1),
static u16 D_35000_8017A884[N_ARRAY_PAL][COLORS_PER_PAL] = {
{COLOR16(0, 0, 0, 0), COLOR16(4, 4, 5, 0), COLOR16(0, 0, 0, 1),
COLOR16(9, 2, 1, 0), COLOR16(16, 11, 9, 0), COLOR16(19, 17, 14, 0),
COLOR16(15, 4, 5, 0), COLOR16(19, 6, 12, 0), COLOR16(26, 11, 8, 0),
COLOR16(26, 21, 7, 0), COLOR16(2, 2, 2, 0), COLOR16(6, 6, 6, 0),
COLOR16(10, 10, 10, 0), COLOR16(15, 15, 16, 0), COLOR16(20, 20, 21, 0),
COLOR16(25, 26, 27, 0), COLOR16(0, 0, 0, 0), COLOR16(0, 2, 29, 0),
COLOR16(0, 11, 31, 0), COLOR16(0, 21, 31, 0), COLOR16(3, 28, 31, 0),
COLOR16(9, 11, 14, 0), COLOR16(16, 13, 22, 0), COLOR16(16, 0, 7, 0),
COLOR16(26, 11, 7, 0), COLOR16(31, 26, 7, 0), COLOR16(2, 2, 2, 0),
COLOR16(6, 6, 6, 0), COLOR16(10, 10, 10, 0), COLOR16(15, 15, 16, 0),
COLOR16(20, 20, 21, 0), COLOR16(25, 28, 27, 0), COLOR16(0, 0, 0, 0),
COLOR16(4, 10, 13, 1), COLOR16(8, 13, 17, 1), COLOR16(9, 5, 5, 0),
COLOR16(13, 10, 8, 0), COLOR16(23, 16, 8, 0), COLOR16(28, 22, 13, 0),
COLOR16(4, 5, 7, 0), COLOR16(5, 7, 12, 0), COLOR16(8, 12, 18, 0),
COLOR16(21, 19, 11, 0), COLOR16(14, 15, 7, 0), COLOR16(7, 8, 9, 0),
COLOR16(10, 12, 13, 0), COLOR16(14, 16, 18, 0), COLOR16(20, 22, 22, 0),
COLOR16(0, 0, 0, 0), COLOR16(0, 18, 11, 0), COLOR16(0, 26, 12, 0),
COLOR16(25, 26, 27, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(0, 2, 29, 0), COLOR16(0, 11, 31, 0),
COLOR16(0, 21, 31, 0), COLOR16(3, 28, 31, 0), COLOR16(9, 11, 14, 0),
COLOR16(16, 13, 22, 0), COLOR16(16, 0, 7, 0), COLOR16(26, 11, 7, 0),
COLOR16(31, 26, 7, 0), COLOR16(2, 2, 2, 0), COLOR16(6, 6, 6, 0),
COLOR16(10, 10, 10, 0), COLOR16(15, 15, 16, 0), COLOR16(20, 20, 21, 0),
COLOR16(25, 28, 27, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(4, 10, 13, 1), COLOR16(8, 13, 17, 1),
COLOR16(9, 5, 5, 0), COLOR16(13, 10, 8, 0), COLOR16(23, 16, 8, 0),
COLOR16(28, 22, 13, 0), COLOR16(4, 5, 7, 0), COLOR16(5, 7, 12, 0),
COLOR16(8, 12, 18, 0), COLOR16(21, 19, 11, 0), COLOR16(14, 15, 7, 0),
COLOR16(7, 8, 9, 0), COLOR16(10, 12, 13, 0), COLOR16(14, 16, 18, 0),
COLOR16(20, 22, 22, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(0, 18, 11, 0), COLOR16(0, 26, 12, 0),
COLOR16(16, 31, 18, 0), COLOR16(27, 31, 14, 0), COLOR16(9, 11, 14, 0),
COLOR16(16, 13, 22, 0), COLOR16(2, 9, 11, 0), COLOR16(5, 15, 15, 0),
COLOR16(23, 30, 20, 0), COLOR16(2, 2, 2, 0), COLOR16(6, 6, 6, 0),
COLOR16(10, 10, 10, 0), COLOR16(15, 15, 16, 0), COLOR16(20, 20, 21, 0),
COLOR16(25, 28, 27, 0), COLOR16(0, 0, 0, 0), COLOR16(0, 18, 11, 0),
COLOR16(0, 26, 12, 0), COLOR16(16, 31, 18, 0), COLOR16(27, 31, 14, 0),
COLOR16(9, 11, 14, 0), COLOR16(16, 13, 22, 0), COLOR16(2, 9, 11, 0),
COLOR16(5, 15, 15, 0), COLOR16(23, 30, 20, 0), COLOR16(2, 2, 2, 0),
COLOR16(6, 6, 6, 0), COLOR16(10, 10, 10, 0), COLOR16(15, 15, 16, 0),
COLOR16(20, 20, 21, 0), COLOR16(25, 28, 27, 0), COLOR16(0, 0, 0, 0),
COLOR16(4, 4, 5, 0), COLOR16(0, 0, 0, 1), COLOR16(6, 2, 1, 0),
COLOR16(9, 7, 14, 0), COLOR16(11, 10, 17, 0), COLOR16(15, 4, 5, 0),
COLOR16(0, 31, 1, 0), COLOR16(0, 31, 0, 0), COLOR16(0, 31, 0, 0),
COLOR16(2, 2, 2, 0), COLOR16(3, 5, 8, 0), COLOR16(7, 9, 11, 0),
COLOR16(13, 14, 16, 0), COLOR16(20, 20, 21, 0), COLOR16(25, 28, 30, 0),
COLOR16(0, 0, 0, 0), COLOR16(31, 12, 1, 0), COLOR16(31, 17, 10, 0),
COLOR16(25, 28, 27, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(0, 18, 11, 0), COLOR16(0, 26, 12, 0),
COLOR16(16, 31, 18, 0), COLOR16(27, 31, 14, 0), COLOR16(9, 11, 14, 0),
COLOR16(16, 13, 22, 0), COLOR16(2, 9, 11, 0), COLOR16(5, 15, 15, 0),
COLOR16(23, 30, 20, 0), COLOR16(2, 2, 2, 0), COLOR16(6, 6, 6, 0),
COLOR16(10, 10, 10, 0), COLOR16(15, 15, 16, 0), COLOR16(20, 20, 21, 0),
COLOR16(25, 28, 27, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(4, 4, 5, 0), COLOR16(0, 0, 0, 1),
COLOR16(6, 2, 1, 0), COLOR16(9, 7, 14, 0), COLOR16(11, 10, 17, 0),
COLOR16(15, 4, 5, 0), COLOR16(0, 31, 1, 0), COLOR16(0, 31, 0, 0),
COLOR16(0, 31, 0, 0), COLOR16(2, 2, 2, 0), COLOR16(3, 5, 8, 0),
COLOR16(7, 9, 11, 0), COLOR16(13, 14, 16, 0), COLOR16(20, 20, 21, 0),
COLOR16(25, 28, 30, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(31, 12, 1, 0), COLOR16(31, 17, 10, 0),
COLOR16(31, 28, 14, 0), COLOR16(31, 31, 23, 0), COLOR16(17, 11, 4, 0),
COLOR16(23, 15, 8, 0), COLOR16(16, 0, 7, 0), COLOR16(26, 11, 7, 0),
COLOR16(31, 26, 7, 0), COLOR16(2, 2, 2, 0), COLOR16(6, 6, 6, 0),
COLOR16(10, 10, 10, 0), COLOR16(15, 15, 16, 0), COLOR16(20, 20, 21, 0),
COLOR16(25, 28, 27, 0), COLOR16(0, 0, 0, 0), COLOR16(1, 2, 4, 0),
COLOR16(6, 5, 31, 0), COLOR16(6, 1, 27, 0), COLOR16(6, 12, 22, 0),
COLOR16(25, 28, 27, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(1, 2, 4, 0), COLOR16(6, 5, 31, 0),
COLOR16(6, 1, 27, 0), COLOR16(6, 12, 22, 0), COLOR16(6, 2, 22, 0),
COLOR16(8, 5, 22, 0), COLOR16(10, 8, 22, 0), COLOR16(12, 12, 22, 0),
COLOR16(14, 15, 22, 0), COLOR16(16, 18, 22, 0), COLOR16(18, 22, 22, 0),
COLOR16(11, 19, 27, 0), COLOR16(9, 26, 23, 0), COLOR16(7, 5, 16, 0),
COLOR16(10, 12, 22, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(1, 3, 8, 0), COLOR16(5, 4, 28, 0),
COLOR16(4, 1, 23, 0), COLOR16(18, 22, 22, 0), COLOR16(6, 12, 22, 0),
COLOR16(6, 2, 22, 0), COLOR16(8, 5, 22, 0), COLOR16(10, 8, 22, 0),
COLOR16(12, 12, 22, 0), COLOR16(14, 15, 22, 0), COLOR16(16, 18, 22, 0),
COLOR16(18, 22, 22, 0), COLOR16(11, 19, 27, 0), COLOR16(9, 26, 23, 0),
COLOR16(7, 5, 16, 0), COLOR16(10, 12, 22, 0), COLOR16(0, 0, 0, 0),
COLOR16(1, 3, 8, 0), COLOR16(5, 4, 28, 0), COLOR16(4, 1, 23, 0),
COLOR16(18, 22, 22, 0), COLOR16(6, 12, 22, 0), COLOR16(6, 2, 22, 0),
COLOR16(8, 5, 22, 0), COLOR16(10, 8, 22, 0), COLOR16(12, 12, 22, 0),
COLOR16(14, 15, 22, 0), COLOR16(16, 18, 22, 0), COLOR16(9, 26, 23, 0),
COLOR16(26, 27, 29, 0), COLOR16(7, 5, 16, 0), COLOR16(10, 12, 22, 0),
COLOR16(0, 0, 0, 0), COLOR16(1, 2, 4, 0), COLOR16(4, 3, 25, 0),
COLOR16(9, 26, 23, 0), COLOR16(26, 27, 29, 0), COLOR16(7, 5, 16, 0),
COLOR16(10, 12, 22, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(1, 2, 4, 0), COLOR16(4, 3, 25, 0),
COLOR16(3, 1, 19, 0), COLOR16(16, 18, 22, 0), COLOR16(18, 22, 22, 0),
COLOR16(6, 12, 22, 0), COLOR16(6, 2, 22, 0), COLOR16(8, 5, 22, 0),
COLOR16(10, 8, 22, 0), COLOR16(12, 12, 22, 0), COLOR16(14, 15, 22, 0),
COLOR16(11, 19, 27, 0), COLOR16(9, 26, 23, 0), COLOR16(7, 5, 16, 0),
COLOR16(10, 12, 22, 0), COLOR16(0, 0, 0, 0), COLOR16(1, 3, 8, 0),
COLOR16(3, 2, 22, 0), COLOR16(2, 1, 15, 0), COLOR16(14, 15, 22, 0),
COLOR16(10, 12, 22, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(1, 3, 8, 0), COLOR16(3, 2, 22, 0),
COLOR16(2, 1, 15, 0), COLOR16(14, 15, 22, 0), COLOR16(16, 18, 22, 0),
COLOR16(18, 22, 22, 0), COLOR16(6, 12, 22, 0), COLOR16(6, 2, 22, 0),
COLOR16(8, 5, 22, 0), COLOR16(10, 8, 22, 0), COLOR16(12, 12, 22, 0),
COLOR16(9, 26, 23, 0), COLOR16(26, 27, 29, 0), COLOR16(7, 5, 16, 0),
COLOR16(10, 12, 22, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(1, 2, 4, 0), COLOR16(3, 1, 19, 0),
COLOR16(1, 2, 12, 0), COLOR16(12, 12, 22, 0), COLOR16(14, 15, 22, 0),
COLOR16(16, 18, 22, 0), COLOR16(18, 22, 22, 0), COLOR16(6, 12, 22, 0),
COLOR16(6, 2, 22, 0), COLOR16(8, 5, 22, 0), COLOR16(10, 8, 22, 0),
COLOR16(12, 12, 22, 0), COLOR16(9, 26, 23, 0), COLOR16(26, 27, 29, 0),
COLOR16(7, 5, 16, 0), COLOR16(10, 12, 22, 0), COLOR16(0, 0, 0, 0),
COLOR16(1, 2, 4, 0), COLOR16(3, 1, 19, 0), COLOR16(1, 2, 12, 0),
COLOR16(12, 12, 22, 0), COLOR16(14, 15, 22, 0), COLOR16(16, 18, 22, 0),
COLOR16(18, 22, 22, 0), COLOR16(6, 12, 22, 0), COLOR16(6, 2, 22, 0),
COLOR16(8, 5, 22, 0), COLOR16(10, 8, 22, 0), COLOR16(11, 19, 27, 0),
COLOR16(9, 26, 23, 0), COLOR16(7, 5, 16, 0), COLOR16(10, 12, 22, 0),
COLOR16(0, 0, 0, 0), COLOR16(1, 3, 8, 0), COLOR16(3, 2, 22, 0),
COLOR16(11, 19, 27, 0), COLOR16(9, 26, 23, 0), COLOR16(7, 5, 16, 0),
COLOR16(10, 12, 22, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(1, 3, 8, 0), COLOR16(3, 2, 22, 0),
COLOR16(2, 1, 15, 0), COLOR16(10, 8, 22, 0), COLOR16(12, 12, 22, 0),
COLOR16(14, 15, 22, 0), COLOR16(16, 18, 22, 0), COLOR16(18, 22, 22, 0),
COLOR16(6, 12, 22, 0), COLOR16(6, 2, 22, 0), COLOR16(8, 5, 22, 0),
COLOR16(9, 26, 23, 0), COLOR16(26, 27, 29, 0), COLOR16(7, 5, 16, 0),
COLOR16(10, 12, 22, 0), COLOR16(0, 0, 0, 0), COLOR16(1, 2, 4, 0),
COLOR16(4, 3, 25, 0), COLOR16(3, 1, 19, 0), COLOR16(8, 5, 22, 0),
COLOR16(10, 12, 22, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(1, 2, 4, 0), COLOR16(4, 3, 25, 0),
COLOR16(3, 1, 19, 0), COLOR16(8, 5, 22, 0), COLOR16(10, 8, 22, 0),
COLOR16(12, 12, 22, 0), COLOR16(14, 15, 22, 0), COLOR16(16, 18, 22, 0),
COLOR16(18, 22, 22, 0), COLOR16(6, 12, 22, 0), COLOR16(6, 2, 22, 0),
COLOR16(11, 19, 27, 0), COLOR16(9, 26, 23, 0), COLOR16(7, 5, 16, 0),
COLOR16(10, 12, 22, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(1, 3, 8, 0), COLOR16(5, 4, 28, 0),
COLOR16(4, 1, 23, 0), COLOR16(6, 2, 22, 0), COLOR16(8, 5, 22, 0),
COLOR16(10, 8, 22, 0), COLOR16(12, 12, 22, 0), COLOR16(14, 15, 22, 0),
COLOR16(16, 18, 22, 0), COLOR16(18, 22, 22, 0), COLOR16(6, 12, 22, 0),
COLOR16(6, 2, 22, 0), COLOR16(11, 19, 27, 0), COLOR16(9, 26, 23, 0),
COLOR16(7, 5, 16, 0), COLOR16(10, 12, 22, 0), COLOR16(0, 0, 0, 0),
COLOR16(1, 3, 8, 0), COLOR16(5, 4, 28, 0), COLOR16(4, 1, 23, 0),
COLOR16(6, 2, 22, 0), COLOR16(8, 5, 22, 0), COLOR16(10, 8, 22, 0),
COLOR16(12, 12, 22, 0), COLOR16(14, 15, 22, 0), COLOR16(16, 18, 22, 0),
COLOR16(18, 22, 22, 0), COLOR16(6, 12, 22, 0), COLOR16(9, 26, 23, 0),
COLOR16(26, 27, 29, 0), COLOR16(7, 5, 16, 0), COLOR16(10, 12, 22, 0),
COLOR16(0, 0, 0, 0), COLOR16(1, 2, 3, 0), COLOR16(3, 31, 6, 0),
COLOR16(9, 26, 23, 0), COLOR16(26, 27, 29, 0), COLOR16(7, 5, 16, 0),
COLOR16(10, 12, 22, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(1, 2, 3, 0), COLOR16(3, 31, 6, 0),
COLOR16(10, 12, 15, 0), COLOR16(1, 5, 11, 0), COLOR16(3, 8, 17, 0),
COLOR16(7, 13, 22, 0), COLOR16(11, 17, 23, 0), COLOR16(15, 21, 24, 0),
COLOR16(4, 4, 4, 0), COLOR16(8, 8, 7, 0), COLOR16(12, 11, 10, 0),
COLOR16(16, 15, 14, 0), COLOR16(20, 18, 17, 0), COLOR16(24, 22, 20, 0),
COLOR16(28, 26, 24, 0), COLOR16(0, 0, 0, 0), COLOR16(0, 0, 15, 0),
COLOR16(0, 0, 18, 0), COLOR16(3, 9, 22, 0), COLOR16(8, 14, 27, 0),
COLOR16(17, 22, 31, 0), COLOR16(19, 27, 31, 0), COLOR16(31, 31, 31, 0),
COLOR16(0, 0, 1, 0), COLOR16(13, 13, 15, 0), COLOR16(16, 16, 19, 0),
COLOR16(22, 22, 25, 0), COLOR16(26, 26, 28, 0), COLOR16(0, 0, 0, 1),
COLOR16(21, 29, 31, 0), COLOR16(0, 0, 1, 0)};
COLOR16(28, 26, 24, 0)},
{COLOR16(0, 0, 0, 0), COLOR16(0, 0, 15, 0), COLOR16(0, 0, 18, 0),
COLOR16(3, 9, 22, 0), COLOR16(8, 14, 27, 0), COLOR16(17, 22, 31, 0),
COLOR16(19, 27, 31, 0), COLOR16(31, 31, 31, 0), COLOR16(0, 0, 1, 0),
COLOR16(13, 13, 15, 0), COLOR16(16, 16, 19, 0), COLOR16(22, 22, 25, 0),
COLOR16(26, 26, 28, 0), COLOR16(0, 0, 0, 1), COLOR16(21, 29, 31, 0),
COLOR16(0, 0, 1, 0)}};
static u16 D_35000_8017AAA4[] = {
0x2A01, 0x2C02, 0x0403, 0x2E04, 0x3005, 0x3206, 0x0807,

View File

@ -7,138 +7,139 @@
#define g_Animset w_012_1
#define g_Animset2 w_012_2
extern s32 D_58000_8017BB28;
static u16 D_58000_8017A2B0[] = {
0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xE670,
0xDDEE, 0xD58C, 0xC54A, 0xB508, 0xA8C6, 0x9884, 0x8C42, 0x0000, 0xAD54,
0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xCD2B, 0xD58C, 0xDE0E,
0xE670, 0xEEF1, 0xF753, 0xFFD5, 0xFFFF, 0x0000, 0xAD54, 0xB5D6, 0xBE58,
0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8C42, 0x9884, 0xA8C6, 0xB508, 0xC54A,
0xD58C, 0xDDEE, 0xE670, 0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D,
0xD7DF, 0xFFFF, 0x8000, 0x8C42, 0x9884, 0xA8C6, 0xB508, 0xC54A, 0xD58C,
0xDDEE, 0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF,
0x8000, 0x8000, 0x8C42, 0x9884, 0xA8C6, 0xB508, 0xC54A, 0xD58C, 0x0000,
0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8000, 0x8000,
0x8000, 0x8C42, 0x9884, 0xA8C6, 0xB508, 0xC54A, 0x0000, 0xAD54, 0xB5D6,
0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8000, 0x8000, 0x8000, 0x8000,
0x8C42, 0x9884, 0xA8C6, 0xB508, 0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB,
0xCF5D, 0xD7DF, 0xFFFF, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8C42,
0x9884, 0xA8C6, 0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF,
0xFFFF, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8C42, 0x9884,
0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8C42,
};
static u16 D_58000_8017A3F0[] = {
0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xA1C8, 0xC290, 0xD7DF, 0xFFFF, 0xA1C8,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0xAD54,
0xB5D6, 0xBE58, 0xA5A8, 0xC270, 0xD7DF, 0xFFFF, 0x90C4, 0xA5A8, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0xAD54, 0xB5D6, 0xBE58,
0xA988, 0xC650, 0xD7DF, 0xFFFF, 0x8000, 0x94C4, 0xA988, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xAD68, 0xCA50,
0xD7DF, 0xFFFF, 0x8000, 0x8000, 0x94A4, 0xAD68, 0x8000, 0x8000, 0x8000,
0x8000, 0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xB148, 0xCA30, 0xD7DF, 0xFFFF,
0x8000, 0x8000, 0x8000, 0x98A4, 0xB148, 0x8000, 0x8000, 0x8000, 0x0000,
0xAD54, 0xB5D6, 0xBE58, 0xB528, 0xCE10, 0xD7DF, 0xFFFF, 0x8000, 0x8000,
0x8000, 0x8000, 0x9884, 0xB528, 0x8000, 0x8000, 0x0000, 0xAD54, 0xB5D6,
0xBE58, 0xB908, 0xD210, 0xD7DF, 0xFFFF, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x9C84, 0xB908, 0x8000, 0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xBCE8,
0xD1F0, 0xD7DF, 0xFFFF, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x9C64, 0xBCE8, 0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xACA6, 0xC9CE, 0xD7DF,
0xFFFF, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0xACA6,
0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
};
static u16 D_58000_8017A530[] = {
0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x8087,
0x84A7, 0x88C7, 0x94E7, 0x9CE7, 0x9CE7, 0x9CE7, 0x9CE7, 0x0000, 0x99A6,
0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x810F, 0x8D6F, 0x91AF,
0xA9CF, 0xBDEF, 0xBDEF, 0xBDEF, 0xBDEF, 0x0000, 0x99A6, 0xAA0A, 0xBA6E,
0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x8000, 0x8087, 0x84A7, 0x88C7, 0x94E7,
0x9CE7, 0x9CE7, 0x9CE7, 0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37,
0xEF9B, 0xFFFF, 0x8000, 0x8000, 0x810F, 0x8D6F, 0x91AF, 0xA9CF, 0xBDEF,
0xBDEF, 0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF,
0x8000, 0x8000, 0x8000, 0x8087, 0x84A7, 0x88C7, 0x94E7, 0x9CE7, 0x0000,
0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x8000, 0x8000,
0x8000, 0x8000, 0x810F, 0x8D6F, 0x91AF, 0xA9CF, 0x0000, 0x99A6, 0xAA0A,
0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8087, 0x84A7, 0x88C7, 0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3,
0xDF37, 0xEF9B, 0xFFFF, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x810F, 0x8D6F, 0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B,
0xFFFF, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8087,
0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
};
static u16 D_58000_8017A670[] = {
0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xCD2B,
0xD58C, 0xDE0E, 0xE670, 0xEEF1, 0xF753, 0xFFD5, 0xFFFF, 0x0000, 0xAD54,
0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xD6B5, 0xD68E, 0xCA0C,
0xC18A, 0xB928, 0xB0C7, 0xA886, 0xA085, 0x0000, 0xAD54, 0xB5D6, 0xBE58,
0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xD28F, 0xC60D, 0xBD8B, 0xB529, 0xACC8,
0xA487, 0xA086, 0x8000, 0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D,
0xD7DF, 0xFFFF, 0xC20E, 0xBDAD, 0xB54B, 0xACEA, 0xA4A9, 0xA088, 0x8000,
0x8000, 0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF,
0xB9CE, 0xB56D, 0xAD0B, 0xA4AA, 0xA089, 0x8000, 0x8000, 0x8000, 0x0000,
0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xB18E, 0xAD2D,
0xA4CC, 0xA08B, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0xAD54, 0xB5D6,
0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xAD4E, 0xA4CD, 0xA08C, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB,
0xCF5D, 0xD7DF, 0xFFFF, 0xA4EF, 0xA08E, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF,
0xFFFF, 0xA0B0, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
};
static u16 D_58000_8017A7B0[] = {
0x0000, 0x8821, 0x9484, 0x84C6, 0x814C, 0x9E36, 0x9EDB, 0x8C8D, 0xA174,
0xAC85, 0xC0CC, 0xC96E, 0xD610, 0xDA93, 0xDF37, 0xEF59, 0x0000, 0xE040,
0xE080, 0xE0C0, 0xE100, 0xE140, 0xE180, 0xE1C0, 0xE200, 0xE240, 0xE280,
0xE2C0, 0xE300, 0xE340, 0xE380, 0xE3C0, 0x0000, 0xE044, 0xE084, 0xE0C4,
0xE104, 0xE144, 0xE184, 0xE1C4, 0xE204, 0xE244, 0xE284, 0xE2C4, 0xE304,
0xE344, 0xE384, 0xE3C4, 0x0000, 0xE048, 0xE088, 0xE0C8, 0xE108, 0xE148,
0xE188, 0xE1C8, 0xE208, 0xE248, 0xE288, 0xE2C8, 0xE308, 0xE348, 0xE388,
0xE3C8, 0x0000, 0xE04C, 0xE08C, 0xE0CC, 0xE10C, 0xE14C, 0xE18C, 0xE1CC,
0xE20C, 0xE24C, 0xE28C, 0xE2CC, 0xE30C, 0xE34C, 0xE38C, 0xE3CC, 0x0000,
0xE050, 0xE090, 0xE0D0, 0xE110, 0xE150, 0xE190, 0xE1D0, 0xE210, 0xE250,
0xE290, 0xE2D0, 0xE310, 0xE350, 0xE390, 0xE3D0, 0x0000, 0xE054, 0xE094,
0xE0D4, 0xE114, 0xE154, 0xE194, 0xE1D4, 0xE214, 0xE254, 0xE294, 0xE2D4,
0xE314, 0xE354, 0xE394, 0xE3D4, 0x0000, 0xE058, 0xE098, 0xE0D8, 0xE118,
0xE158, 0xE198, 0xE1D8, 0xE218, 0xE258, 0xE298, 0xE2D8, 0xE318, 0xE358,
0xE398, 0xE3D8, 0x0000, 0xE05C, 0xE09C, 0xE0DC, 0xE11C, 0xE15C, 0xE19C,
0xE1DC, 0xE21C, 0xE25C, 0xE29C, 0xE2DC, 0xE31C, 0xE35C, 0xE39C, 0xE3DC,
0x0000, 0x8821, 0xB5AD, 0xD6B5, 0x8148, 0x9E31, 0x801F, 0xA08C, 0xC192,
0xA4A7, 0xB0C7, 0xBD28, 0xC98A, 0xD1CC, 0xDA4D, 0xE2D0, 0x0000, 0x8C25,
0x9C68, 0xA0CD, 0xAD30, 0xAD93, 0xADF6, 0xC699, 0xE800, 0x8000, 0xA507,
0xB149, 0xBDAC, 0xCA0F, 0xD672, 0xE2D5, 0x0000, 0x9444, 0xC255, 0xA94B,
0xA5AD, 0x9189, 0xA316, 0xA087, 0xB509, 0xBDAC, 0x9CE7, 0xB18C, 0xC631,
0xD6B5, 0xEB5A, 0xFFFF, 0x0000, 0x0421, 0x0C60, 0x08A7, 0x090B, 0x1DF4,
0x4AF9, 0x5100, 0x69E6, 0x2316, 0x1884, 0x2D27, 0x3DAC, 0x5251, 0x5EB4,
0x6F38, 0x0000, 0x8000, 0x8820, 0x9041, 0x9C81, 0xA4A2, 0xB0E2, 0xB903,
0xC544, 0xC986, 0xCDC9, 0xD60C, 0xDA4F, 0xE292, 0xE6D5, 0xEF38, 0x0000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x0000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
};
static u16 D_58000_8017A2B0[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xE670,
0xDDEE, 0xD58C, 0xC54A, 0xB508, 0xA8C6, 0x9884, 0x8C42},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xCD2B,
0xD58C, 0xDE0E, 0xE670, 0xEEF1, 0xF753, 0xFFD5, 0xFFFF},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8C42,
0x9884, 0xA8C6, 0xB508, 0xC54A, 0xD58C, 0xDDEE, 0xE670},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8000,
0x8C42, 0x9884, 0xA8C6, 0xB508, 0xC54A, 0xD58C, 0xDDEE},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8C42, 0x9884, 0xA8C6, 0xB508, 0xC54A, 0xD58C},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8C42, 0x9884, 0xA8C6, 0xB508, 0xC54A},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8C42, 0x9884, 0xA8C6, 0xB508},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8C42, 0x9884, 0xA8C6},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8C42, 0x9884},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8C42}};
static u16 D_58000_8017A3F0[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xA1C8, 0xC290, 0xD7DF, 0xFFFF, 0xA1C8,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xA5A8, 0xC270, 0xD7DF, 0xFFFF, 0x90C4,
0xA5A8, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xA988, 0xC650, 0xD7DF, 0xFFFF, 0x8000,
0x94C4, 0xA988, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xAD68, 0xCA50, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x94A4, 0xAD68, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xB148, 0xCA30, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x98A4, 0xB148, 0x8000, 0x8000, 0x8000},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xB528, 0xCE10, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x9884, 0xB528, 0x8000, 0x8000},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xB908, 0xD210, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x9C84, 0xB908, 0x8000},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xBCE8, 0xD1F0, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x9C64, 0xBCE8},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xACA6, 0xC9CE, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0xACA6},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000}};
static u16 D_58000_8017A530[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x8087,
0x84A7, 0x88C7, 0x94E7, 0x9CE7, 0x9CE7, 0x9CE7, 0x9CE7},
{0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x810F,
0x8D6F, 0x91AF, 0xA9CF, 0xBDEF, 0xBDEF, 0xBDEF, 0xBDEF},
{0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x8000,
0x8087, 0x84A7, 0x88C7, 0x94E7, 0x9CE7, 0x9CE7, 0x9CE7},
{0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x8000,
0x8000, 0x810F, 0x8D6F, 0x91AF, 0xA9CF, 0xBDEF, 0xBDEF},
{0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8087, 0x84A7, 0x88C7, 0x94E7, 0x9CE7},
{0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x810F, 0x8D6F, 0x91AF, 0xA9CF},
{0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8087, 0x84A7, 0x88C7},
{0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x810F, 0x8D6F},
{0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8087},
{0x0000, 0x99A6, 0xAA0A, 0xBA6E, 0xCED3, 0xDF37, 0xEF9B, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000}};
static u16 D_58000_8017A670[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xCD2B,
0xD58C, 0xDE0E, 0xE670, 0xEEF1, 0xF753, 0xFFD5, 0xFFFF},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xD6B5,
0xD68E, 0xCA0C, 0xC18A, 0xB928, 0xB0C7, 0xA886, 0xA085},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xD28F,
0xC60D, 0xBD8B, 0xB529, 0xACC8, 0xA487, 0xA086, 0x8000},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xC20E,
0xBDAD, 0xB54B, 0xACEA, 0xA4A9, 0xA088, 0x8000, 0x8000},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xB9CE,
0xB56D, 0xAD0B, 0xA4AA, 0xA089, 0x8000, 0x8000, 0x8000},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xB18E,
0xAD2D, 0xA4CC, 0xA08B, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xAD4E,
0xA4CD, 0xA08C, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xA4EF,
0xA08E, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0xA0B0,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0xAD54, 0xB5D6, 0xBE58, 0xC6DB, 0xCF5D, 0xD7DF, 0xFFFF, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000}};
static u16 D_58000_8017A7B0[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0x8821, 0x9484, 0x84C6, 0x814C, 0x9E36, 0x9EDB, 0x8C8D, 0xA174,
0xAC85, 0xC0CC, 0xC96E, 0xD610, 0xDA93, 0xDF37, 0xEF59},
{0x0000, 0xE040, 0xE080, 0xE0C0, 0xE100, 0xE140, 0xE180, 0xE1C0, 0xE200,
0xE240, 0xE280, 0xE2C0, 0xE300, 0xE340, 0xE380, 0xE3C0},
{0x0000, 0xE044, 0xE084, 0xE0C4, 0xE104, 0xE144, 0xE184, 0xE1C4, 0xE204,
0xE244, 0xE284, 0xE2C4, 0xE304, 0xE344, 0xE384, 0xE3C4},
{0x0000, 0xE048, 0xE088, 0xE0C8, 0xE108, 0xE148, 0xE188, 0xE1C8, 0xE208,
0xE248, 0xE288, 0xE2C8, 0xE308, 0xE348, 0xE388, 0xE3C8},
{0x0000, 0xE04C, 0xE08C, 0xE0CC, 0xE10C, 0xE14C, 0xE18C, 0xE1CC, 0xE20C,
0xE24C, 0xE28C, 0xE2CC, 0xE30C, 0xE34C, 0xE38C, 0xE3CC},
{0x0000, 0xE050, 0xE090, 0xE0D0, 0xE110, 0xE150, 0xE190, 0xE1D0, 0xE210,
0xE250, 0xE290, 0xE2D0, 0xE310, 0xE350, 0xE390, 0xE3D0},
{0x0000, 0xE054, 0xE094, 0xE0D4, 0xE114, 0xE154, 0xE194, 0xE1D4, 0xE214,
0xE254, 0xE294, 0xE2D4, 0xE314, 0xE354, 0xE394, 0xE3D4},
{0x0000, 0xE058, 0xE098, 0xE0D8, 0xE118, 0xE158, 0xE198, 0xE1D8, 0xE218,
0xE258, 0xE298, 0xE2D8, 0xE318, 0xE358, 0xE398, 0xE3D8},
{0x0000, 0xE05C, 0xE09C, 0xE0DC, 0xE11C, 0xE15C, 0xE19C, 0xE1DC, 0xE21C,
0xE25C, 0xE29C, 0xE2DC, 0xE31C, 0xE35C, 0xE39C, 0xE3DC},
{0x0000, 0x8821, 0xB5AD, 0xD6B5, 0x8148, 0x9E31, 0x801F, 0xA08C, 0xC192,
0xA4A7, 0xB0C7, 0xBD28, 0xC98A, 0xD1CC, 0xDA4D, 0xE2D0},
{0x0000, 0x8C25, 0x9C68, 0xA0CD, 0xAD30, 0xAD93, 0xADF6, 0xC699, 0xE800,
0x8000, 0xA507, 0xB149, 0xBDAC, 0xCA0F, 0xD672, 0xE2D5},
{0x0000, 0x9444, 0xC255, 0xA94B, 0xA5AD, 0x9189, 0xA316, 0xA087, 0xB509,
0xBDAC, 0x9CE7, 0xB18C, 0xC631, 0xD6B5, 0xEB5A, 0xFFFF},
{0x0000, 0x0421, 0x0C60, 0x08A7, 0x090B, 0x1DF4, 0x4AF9, 0x5100, 0x69E6,
0x2316, 0x1884, 0x2D27, 0x3DAC, 0x5251, 0x5EB4, 0x6F38},
{0x0000, 0x8000, 0x8820, 0x9041, 0x9C81, 0xA4A2, 0xB0E2, 0xB903, 0xC544,
0xC986, 0xCDC9, 0xD60C, 0xDA4F, 0xE292, 0xE6D5, 0xEF38},
{0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000},
{0x0000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000,
0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000, 0x8000}};
static u16* g_WeaponCluts[] = {
D_58000_8017A2B0, D_58000_8017A3F0, D_58000_8017A530,
D_58000_8017A670, D_58000_8017A7B0, D_58000_8017A2B0,
@ -146,6 +147,8 @@ static u16* g_WeaponCluts[] = {
static s32 g_HandId = HAND_ID;
static s32 D_58000_8017BB28;
#include "shared.h"
static void EntityWeaponAttack(Entity* self) {

View File

@ -2,17 +2,82 @@
// Weapon ID #37. Used by weapons:
// Short sword, Jewel sword, Stone sword, Unknown#198
#include "weapon_private.h"
extern u16* g_WeaponCluts[];
extern s32 g_HandId;
#include "shared.h"
#include "w_037_1.h"
#include "w_037_2.h"
#define g_Animset w_037_1
#define g_Animset2 w_037_2
#include "sfx.h"
extern WeaponAnimation D_107000_8017A6A4[];
extern s32 D_107000_8017BBE4;
u16 D_107000_8017A504[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0x0421, 0x18C6, 0x2D6B, 0x4210, 0x5EB4, 0x6F37, 0x7FFF, 0x7C42,
0x1084, 0x10EB, 0x2173, 0x2E18, 0x433C, 0x18DF, 0x07E1},
{0x0000, 0x08C0, 0x10C0, 0x18C0, 0x20C0, 0x28C0, 0x30C0, 0x38C0, 0x40C0,
0x48C0, 0x50C0, 0x58C0, 0x60C0, 0x68C0, 0x70C0, 0x78C0},
{0x0000, 0x08C0, 0x10C0, 0x18C0, 0x20C0, 0x28C0, 0x30C0, 0x38C0, 0x40C0,
0x48C0, 0x50C0, 0x58C0, 0x60C0, 0x68C0, 0x70C0, 0x78C0},
{0x0000, 0x08C0, 0x10C0, 0x18C0, 0x20C0, 0x28C0, 0x30C0, 0x38C0, 0x40C0,
0x48C0, 0x50C0, 0x58C0, 0x60C0, 0x68C0, 0x70C0, 0x78C0},
{0x0000, 0x0900, 0x1100, 0x1900, 0x2100, 0x2900, 0x3100, 0x3900, 0x4100,
0x4900, 0x5100, 0x5900, 0x6100, 0x6900, 0x7100, 0x7900}};
u16 D_107000_8017A5A4[] = {0x0201, 0x0402, 0x0403, 0x0604, 0x0605,
0x0606, 0x0607, 0x0608, 0x0609, 0xFFFF};
u16 D_107000_8017A5B8[] = {0x080A, 0x0A0B, 0x0A0C, 0x060D, 0x060E,
0x0613, 0x0614, 0x0615, 0x0616, 0xFFFF};
u16 D_107000_8017A5CC[] = {0x080A, 0x0C0F, 0x0E10, 0x1011, 0x0612,
0x0613, 0x0614, 0x0615, 0x0616, 0xFFFF};
u16 D_107000_8017A5E0[] = {
0x1217, 0x1418, 0x1419, 0x061A, 0x061B, 0x061C, 0xFFFF, 0x0000};
u16 D_107000_8017A5F0[] = {
0x161D, 0x181E, 0x181F, 0x0620, 0x0621, 0x0626, 0xFFFF, 0x0000};
u16 D_107000_8017A600[] = {
0x161D, 0x1A22, 0x1C23, 0x0624, 0x0625, 0x0626, 0xFFFF, 0x0000};
u8 D_107000_8017A610[] = {
0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x05, 0x04, 0x19, 0xF3, 0x18, 0x03,
0xE0, 0xE1, 0x00, 0x00, 0xFB, 0xFB, 0x05, 0x04, 0x11, 0x04, 0x18, 0x03,
0x07, 0x0F, 0x0E, 0x08, 0x13, 0x15, 0x0F, 0x07, 0x0D, 0x12, 0x11, 0x05,
0xFF, 0xE7, 0x05, 0x04, 0x17, 0xF1, 0x18, 0x07, 0xF7, 0xE5, 0x05, 0x04,
0x13, 0xF2, 0x18, 0x07, 0x0F, 0x02, 0x13, 0x0A, 0x1D, 0x08, 0x0B, 0x08};
u8 D_107000_8017A64C[] = {
0x00, 0x00, 0x00, 0x00, 0x03, 0xE8, 0x05, 0x06, 0x19, 0xF3, 0x1C, 0x05,
0xE0, 0xE1, 0x00, 0x00, 0xFB, 0xFB, 0x09, 0x06, 0x11, 0x04, 0x1C, 0x05,
0x07, 0x0F, 0x12, 0x0A, 0x13, 0x15, 0x13, 0x09, 0x0D, 0x12, 0x15, 0x07,
0xFF, 0xE7, 0x09, 0x06, 0x17, 0xF1, 0x1C, 0x09, 0xF7, 0xE5, 0x09, 0x06,
0x13, 0xF2, 0x1C, 0x09, 0x0F, 0x02, 0x17, 0x0C, 0x1D, 0x08, 0x0F, 0x0A};
static u16* D_107000_8017A688[] = {
D_107000_8017A5A4, D_107000_8017A5A4, D_107000_8017A5B8, D_107000_8017A5CC,
D_107000_8017A5E0, D_107000_8017A5F0, D_107000_8017A600};
static WeaponAnimation D_107000_8017A6A4[] = {
{D_107000_8017A688, D_107000_8017A610, 0, SFX_WEAPON_SWISH_B, 0xA7, 4, 0},
{D_107000_8017A688, D_107000_8017A64C, 0, SFX_WEAPON_SWISH_B, 0xA7, 4, 0},
{D_107000_8017A688, D_107000_8017A64C, 0, SFX_WEAPON_SWISH_B, 0xA7, 4, 0},
{D_107000_8017A688, D_107000_8017A610, 0, SFX_WEAPON_SWISH_B, 0xA7, 4, 0}};
static u8 D_107000_8017A6E4[][8] = {
{0x00, 0x50, 0x10, 0x50, 0x00, 0x60, 0x10, 0x60},
{0x10, 0x50, 0x20, 0x50, 0x10, 0x60, 0x20, 0x60},
{0x70, 0x40, 0x80, 0x40, 0x70, 0x50, 0x80, 0x50},
{0x70, 0x30, 0x78, 0x30, 0x70, 0x38, 0x78, 0x38},
{0x78, 0x30, 0x80, 0x30, 0x78, 0x38, 0x80, 0x38},
{0x70, 0x38, 0x78, 0x38, 0x77, 0x40, 0x78, 0x40}};
static s16 D_107000_8017A714[] = {
0x0018, 0xFFF2, 0x0040, 0x0000, 0x0018, 0xFFF2, 0x0040,
0x0000, 0x0014, 0x0002, 0x0040, 0x0000, 0x0012, 0x000E,
0x0030, 0x0022, 0x0018, 0xFFF0, 0x0040, 0x0000, 0x0018,
0xFFF2, 0x0040, 0x0000, 0x0018, 0x0004, 0x0030, 0x0022};
static s16 D_107000_8017A74C[] = {
0x01B0, 0x01B2, 0x01B4, 0x01B6, 0x01B8, 0x01BA};
static s32 D_107000_8017A758[] = {
0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1};
static AnimationFrame D_107000_8017A798[] = {
{0x0004, 0x0014}, {0x0007, 0x0015}, {0x0006, 0x0016}, {0x0003, 0x0017},
{0x0003, 0x0018}, {0x0006, 0x0019}, {0x0002, 0x0015}, {0x0000, 0x0000}};
static u16* g_WeaponCluts[] = {D_107000_8017A504, D_107000_8017A504};
static s32 g_HandId = HAND_ID;
s32 D_107000_8017BBE4;
Point16 D_107000_8017BBE8[0x50];
s32 D_107000_8017BD28;
#include "shared.h"
static void EntityWeaponAttack(Entity* self) {
WeaponAnimation* anim;
@ -73,8 +138,6 @@ static void EntityWeaponAttack(Entity* self) {
self->rotPivotY = PLAYER.rotPivotY;
}
extern u8 D_107000_8017A6E4[6][8];
s32 func_107000_8017ADF8(Primitive* prim, s32 x, s32 y) {
s32 size;
s32 left;
@ -123,8 +186,6 @@ s32 func_107000_8017ADF8(Primitive* prim, s32 x, s32 y) {
return 0;
}
extern s16 D_107000_8017A714[];
void func_107000_8017AEF0(Entity* ent, Point16* outPoint, bool arg2) {
s32 idx;
@ -179,11 +240,6 @@ void func_107000_8017B0AC(Entity* ent, Point16* outPoint, bool arg2) {
}
}
extern s16 D_107000_8017A74C[];
extern s32 D_107000_8017A758[];
extern Point16 D_107000_8017BBE8[];
extern s32 D_107000_8017BD28;
s32 func_ptr_80170004(Entity* self) {
Point16 basePoint;
Primitive* prim;
@ -329,8 +385,6 @@ s32 func_ptr_80170004(Entity* self) {
}
}
extern AnimationFrame D_107000_8017A798[];
static void func_ptr_80170008(Entity* self) {
Collider collider;
s16 distX;

View File

@ -145,7 +145,9 @@ static s32 g_HandId = HAND_ID;
#include "shared.h"
extern s32 D_123000_8017B200;
s32 D_123000_8017B200;
s32 D_123000_8017B204;
s32 D_123000_8017B208;
void func_123000_8017A914(void) {
RECT rect;
@ -238,11 +240,6 @@ Entity* func_123000_8017A994(Entity* self, s16 angleTarget, s16 tolerance) {
return NULL;
}
extern s32 D_123000_8017A53C[];
extern s32 D_123000_8017A54C[];
extern s32 D_123000_8017B204;
extern s32 D_123000_8017B208;
void EntityWeaponAttack(Entity* self) {
u8 pad[38];
s32 speedX;

View File

@ -9,12 +9,11 @@
#define g_Animset2 w_045_2
#include "sfx.h"
static u16 D_13F000_8017A330[] = {
0x0000, 0x8822, 0x83E0, 0xECE5, 0xF68A, 0x8048, 0x884C, 0x88B5,
0x8D39, 0x821C, 0x9CA4, 0xAD29, 0xBDAD, 0xD231, 0xE6B5, 0xEB7A,
0x0000, 0xEB5A, 0xEAB1, 0xDE29, 0xE4E4, 0xA884, 0x8C00, 0x83E0,
0x802D, 0x80DD, 0xAA5F, 0x84D1, 0x98C6, 0xB5AD, 0xC631, 0x8421,
};
static u16 D_13F000_8017A330[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0x8822, 0x83E0, 0xECE5, 0xF68A, 0x8048, 0x884C, 0x88B5, 0x8D39,
0x821C, 0x9CA4, 0xAD29, 0xBDAD, 0xD231, 0xE6B5, 0xEB7A},
{0x0000, 0xEB5A, 0xEAB1, 0xDE29, 0xE4E4, 0xA884, 0x8C00, 0x83E0, 0x802D,
0x80DD, 0xAA5F, 0x84D1, 0x98C6, 0xB5AD, 0xC631, 0x8421}};
static u16* g_WeaponCluts[] = {D_13F000_8017A330};
static s32 g_HandId = HAND_ID;

View File

@ -9,29 +9,25 @@
#define g_Animset2 w_051_2
#include "sfx.h"
static u16 D_169000_8017A950[] = {
0x0000, 0x0421, 0x04CA, 0x152F, 0x2173, 0x1218, 0x1EDF, 0x20A4,
0x03E0, 0x3BF6, 0x0623, 0x0000, 0x45A7, 0x5A4F, 0x5F37, 0x6F99,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
};
static u16 D_169000_8017A990[] = {
0x0000, 0x0421, 0x04CA, 0x152F, 0x2173, 0x1218, 0x1EDF, 0x20A4,
0x03E0, 0x3BF6, 0x0623, 0x0000, 0x01DB, 0x0131, 0x00CB, 0x4215,
0x0000, 0x821F, 0x81FD, 0x81DB, 0x81B9, 0x8197, 0x8175, 0x8153,
0x8131, 0x810F, 0x80ED, 0x80CB, 0x80A9, 0x8087, 0x8065, 0x8044,
};
static u16 D_169000_8017A9D0[] = {
0x0000, 0x0421, 0x04CA, 0x152F, 0x2173, 0x1218, 0x1EDF, 0x20A4,
0x03E0, 0x3BF6, 0x0623, 0x0000, 0x45A7, 0x5A4F, 0x5F37, 0x6F99,
0x0000, 0xFE00, 0xF5E0, 0xEDC0, 0xE5A0, 0xDD80, 0xD560, 0xCD40,
0xC520, 0xBD00, 0xB4E0, 0xACC0, 0xA4A0, 0x9C80, 0x9460, 0x9040,
0x0000, 0x0421, 0x04CA, 0x152F, 0x2173, 0x1218, 0x1EDF, 0x20A4,
0x03E0, 0x3BF6, 0x0623, 0x0000, 0x08A2, 0x0882, 0x0862, 0x0842,
0x0000, 0x83E0, 0x83A0, 0x8360, 0x8320, 0x82E0, 0x82A0, 0x8260,
0x8220, 0x81E0, 0x81A0, 0x8160, 0x8120, 0x80E0, 0x80A0, 0x8080,
};
static u16 D_169000_8017A950[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0x0421, 0x04CA, 0x152F, 0x2173, 0x1218, 0x1EDF, 0x20A4, 0x03E0,
0x3BF6, 0x0623, 0x0000, 0x45A7, 0x5A4F, 0x5F37, 0x6F99},
{0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000,
0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000, 0x0000}};
static u16 D_169000_8017A990[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0x0421, 0x04CA, 0x152F, 0x2173, 0x1218, 0x1EDF, 0x20A4, 0x03E0,
0x3BF6, 0x0623, 0x0000, 0x01DB, 0x0131, 0x00CB, 0x4215},
{0x0000, 0x821F, 0x81FD, 0x81DB, 0x81B9, 0x8197, 0x8175, 0x8153, 0x8131,
0x810F, 0x80ED, 0x80CB, 0x80A9, 0x8087, 0x8065, 0x8044}};
static u16 D_169000_8017A9D0[N_ARRAY_PAL][COLORS_PER_PAL] = {
{0x0000, 0x0421, 0x04CA, 0x152F, 0x2173, 0x1218, 0x1EDF, 0x20A4, 0x03E0,
0x3BF6, 0x0623, 0x0000, 0x45A7, 0x5A4F, 0x5F37, 0x6F99},
{0x0000, 0xFE00, 0xF5E0, 0xEDC0, 0xE5A0, 0xDD80, 0xD560, 0xCD40, 0xC520,
0xBD00, 0xB4E0, 0xACC0, 0xA4A0, 0x9C80, 0x9460, 0x9040},
{0x0000, 0x0421, 0x04CA, 0x152F, 0x2173, 0x1218, 0x1EDF, 0x20A4, 0x03E0,
0x3BF6, 0x0623, 0x0000, 0x08A2, 0x0882, 0x0862, 0x0842},
{0x0000, 0x83E0, 0x83A0, 0x8360, 0x8320, 0x82E0, 0x82A0, 0x8260, 0x8220,
0x81E0, 0x81A0, 0x8160, 0x8120, 0x80E0, 0x80A0, 0x8080}};
static s16 D_169000_8017AA50[] = {
0x201, 0x402, 0x3203, 0x3204, 0x3205, 0x3206, 0x3407,
@ -211,10 +207,7 @@ static u16 D_169000_8017AEA4[] = {
};
static u16* g_WeaponCluts[] = {
D_169000_8017A950,
D_169000_8017A990,
D_169000_8017A9D0,
};
D_169000_8017A950, D_169000_8017A990, D_169000_8017A9D0};
static s32 g_HandId = 0;

View File

@ -167,11 +167,16 @@ static s32 g_HandId = HAND_ID;
#include "shared.h"
extern s32 D_170000_8017CB84;
extern s16 D_170000_8017CB88[];
extern s16 D_170000_8017CBA0[];
extern s16 D_170000_8017CBB8[];
extern f32 D_170000_8017CBD0[11][4];
#define NUM_UNK 11
s32 D_170000_8017CB84;
s16 D_170000_8017CB88[NUM_UNK];
STATIC_PAD_BSS(2);
s16 D_170000_8017CBA0[NUM_UNK];
STATIC_PAD_BSS(2);
s16 D_170000_8017CBB8[NUM_UNK];
STATIC_PAD_BSS(2);
f32 D_170000_8017CBD0[NUM_UNK][4];
static void EntityWeaponAttack(Entity* self) {
s32 anim;
@ -421,7 +426,7 @@ static void EntityWeaponShieldSpell(Entity* self) {
DRAW_UNK_40 | DRAW_TPAGE2 | DRAW_TPAGE | DRAW_COLORS | DRAW_TRANSP;
prim = prim->next;
uvPtr = &D_170000_8017ABC4;
for (i = 0; i < 11; i++) {
for (i = 0; i < NUM_UNK; i++) {
prim->u0 = prim->u2 = *uvPtr++;
prim->v0 = prim->v1 = *uvPtr++;
prim->u1 = prim->u3 = *uvPtr++;
@ -438,13 +443,13 @@ static void EntityWeaponShieldSpell(Entity* self) {
prim->r0 = (rand() & 0xF) + 1;
prim = prim->next;
}
for (i = 0; i < 11; i++) {
for (i = 0; i < NUM_UNK; i++) {
prim->r0 = prim->r2 = D_170000_8017ABF0[i * 4 + 0];
prim->g0 = prim->g2 = D_170000_8017ABF0[i * 4 + 1];
prim->b0 = prim->b2 = D_170000_8017ABF0[i * 4 + 2];
prim->r1 = prim->r3 = D_170000_8017ABF0[(i + 1) % 11 * 4 + 0];
prim->g1 = prim->g3 = D_170000_8017ABF0[(i + 1) % 11 * 4 + 1];
prim->b1 = prim->b3 = D_170000_8017ABF0[(i + 1) % 11 * 4 + 2];
prim->r1 = prim->r3 = D_170000_8017ABF0[(i + 1) % NUM_UNK * 4 + 0];
prim->g1 = prim->g3 = D_170000_8017ABF0[(i + 1) % NUM_UNK * 4 + 1];
prim->b1 = prim->b3 = D_170000_8017ABF0[(i + 1) % NUM_UNK * 4 + 2];
prim->drawMode = DRAW_HIDE;
prim->type = PRIM_G4;
prim = prim->next;
@ -543,7 +548,7 @@ static void EntityWeaponShieldSpell(Entity* self) {
self->ext.shield.unk92 += self->ext.shield.unk86;
if (--self->ext.shield.unk80 == 0) {
prim = prim->next;
for (i = 0; i < 11; i++) {
for (i = 0; i < NUM_UNK; i++) {
prim->g0 = 5;
prim = prim->next;
}
@ -597,10 +602,10 @@ static void EntityWeaponShieldSpell(Entity* self) {
selfY = PLAYER.posY.i.hi - playerYOffset;
primXScale = self->ext.shield.unk90;
primYScale = self->ext.shield.unk90 * self->ext.shield.unk98 / 256;
for (i = 0; i < 11; i++) {
for (i = 0; i < NUM_UNK; i++) {
switch (prim->g0) {
case 0:
angle = self->ext.shield.unk92 + ((i << 0xC) / 11);
angle = self->ext.shield.unk92 + ((i << 0xC) / NUM_UNK);
primXCenter = selfX + (((rcos(angle) >> 4) * primXScale) >> 8);
primYCenter = selfY - (((rsin(angle) >> 4) * primYScale) >> 8);
if (i == 6) {
@ -647,7 +652,7 @@ static void EntityWeaponShieldSpell(Entity* self) {
if (var_s8 == 0) {
return;
}
for (i = 0; i < 11; i++) {
for (i = 0; i < NUM_UNK; i++) {
if (var_s8 == 2) {
if (prim->r0 > 8) {
prim->r0 -= 4;
@ -687,11 +692,13 @@ static void EntityWeaponShieldSpell(Entity* self) {
}
} else {
prim->x0 = prim->x2 = D_170000_8017CB88[i];
prim->x1 = prim->x3 = D_170000_8017CB88[(i + 1) % 11];
prim->x1 = prim->x3 = D_170000_8017CB88[(i + 1) % NUM_UNK];
prim->y0 = D_170000_8017CBA0[i] - self->ext.shield.unk96;
prim->y2 = D_170000_8017CBA0[i] + self->ext.shield.unk96;
prim->y1 = D_170000_8017CBA0[(i + 1) % 11] - self->ext.shield.unk96;
prim->y3 = D_170000_8017CBA0[(i + 1) % 11] + self->ext.shield.unk96;
prim->y1 =
D_170000_8017CBA0[(i + 1) % NUM_UNK] - self->ext.shield.unk96;
prim->y3 =
D_170000_8017CBA0[(i + 1) % NUM_UNK] + self->ext.shield.unk96;
prim->priority = D_170000_8017CBB8[i];
}
prim->drawMode = DRAW_TPAGE2 | DRAW_TPAGE | DRAW_TRANSP;
@ -713,7 +720,7 @@ s32 func_ptr_80170004(Entity* self) {
switch (self->step) {
case 0:
self->primIndex = g_api.AllocPrimitives(PRIM_GT4, 11);
self->primIndex = g_api.AllocPrimitives(PRIM_GT4, NUM_UNK);
if (self->primIndex == -1) {
DestroyEntity(self);
return;
@ -731,7 +738,7 @@ s32 func_ptr_80170004(Entity* self) {
self->flags =
FLAG_KEEP_ALIVE_OFFCAMERA | FLAG_HAS_PRIMS | FLAG_UNK_10000;
prim = &g_PrimBuf[self->primIndex];
for (i = 0; i < 11; i++) {
for (i = 0; i < NUM_UNK; i++) {
prim->u0 = prim->u2 = *uvPtr++;
prim->v0 = prim->v1 = *uvPtr++;
prim->u1 = prim->u3 = *uvPtr++;
@ -760,14 +767,14 @@ s32 func_ptr_80170004(Entity* self) {
if (self->ext.shield.unk94 > 0xC0) {
self->ext.shield.unk94 = 0xC0;
}
for (i = 0; i < 11; i++) {
for (i = 0; i < NUM_UNK; i++) {
D_170000_8017CBD0[i][0].val += D_170000_8017CBD0[i][2].val;
D_170000_8017CBD0[i][1].val += D_170000_8017CBD0[i][3].val;
D_170000_8017CBD0[i][3].val += 0x2000;
}
if (--self->ext.shield.unk80 == 0) {
prim = &g_PrimBuf[self->primIndex];
for (i = 0; i < 11; i++) {
for (i = 0; i < NUM_UNK; i++) {
prim->g0 = 1;
prim = prim->next;
}
@ -787,7 +794,7 @@ s32 func_ptr_80170004(Entity* self) {
break;
}
prim = &g_PrimBuf[self->primIndex];
for (i = 0; i < 11; i++) {
for (i = 0; i < NUM_UNK; i++) {
switch (prim->g0) {
case 0:
primXCenter = D_170000_8017CBD0[i][0].i.hi;

View File

@ -4,6 +4,7 @@ SECTIONS {
*(.data)
*(.rodata)
*(.text)
*(.bss)
}
end = .;