Introduce DamageTable formatting and macros (#211)

* Improve match in EnFirefly_Draw

* Vestigial fishing files, add enums

* Improve scripts, add ColChkInfo one

* Some minor actor cleanup (static etc)

* C file for Fishing, remove some local vars from variables.h

* Remove comma and format

* Newline

* Review suggestions

* Fix colchkinfoinit, add damage_table

* DMG macros, format existing DamageTables

* Convert preset damage tables to new format
This commit is contained in:
EllipticEllipsis 2021-07-17 05:35:29 +01:00 committed by GitHub
parent e1219e7351
commit 184e67c841
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
14 changed files with 1290 additions and 67 deletions

View File

@ -391,4 +391,41 @@ typedef enum {
#define OCLINE_NONE 0 // Did not have an OcLine collision
#define OCLINE_HIT (1 << 0) // Had an OcLine collision
#define DMG_ENTRY(damage, effect) ((damage) | ((effect) << 4))
// These flags are not to be used in code until we figure out how we want to format them. They are only here for reference
#define DMG_DEKU_NUT (1 << 0x00)
#define DMG_DEKU_STICK (1 << 0x01)
#define DMG_HORSE_TRAMPLE (1 << 0x02)
#define DMG_EXPLOSIVES (1 << 0x03)
#define DMG_ZORA_BOOMERANG (1 << 0x04)
#define DMG_NORMAL_ARROW (1 << 0x05)
#define DMG_UNK_0x06 (1 << 0x06)
#define DMG_HOOKSHOT (1 << 0x07)
#define DMG_GORON_PUNCH (1 << 0x08)
#define DMG_SWORD (1 << 0x09)
#define DMG_GORON_POUND (1 << 0x0A)
#define DMG_FIRE_ARROW (1 << 0x0B)
#define DMG_ICE_ARROW (1 << 0x0C)
#define DMG_LIGHT_ARROW (1 << 0x0D)
#define DMG_GORON_SPIKES (1 << 0x0E)
#define DMG_DEKU_SPIN (1 << 0x0F)
#define DMG_DEKU_BUBBLE (1 << 0x10)
#define DMG_DEKU_LAUNCH (1 << 0x11)
#define DMG_UNK_0x12 (1 << 0x12)
#define DMG_ZORA_BARRIER (1 << 0x13)
#define DMG_NORMAL_SHIELD (1 << 0x14)
#define DMG_LIGHT_RAY (1 << 0x15)
#define DMG_THROWN_OBJECT (1 << 0x16)
#define DMG_ZORA_PUNCH (1 << 0x17)
#define DMG_SPIN_ATTACK (1 << 0x18)
#define DMG_SWORD_BEAM (1 << 0x19)
#define DMG_NORMAL_ROLL (1 << 0x1A)
#define DMG_UNK_0x1B (1 << 0x1B)
#define DMG_UNK_0x1C (1 << 0x1C)
#define DMG_UNBLOCKABLE (1 << 0x1D)
#define DMG_UNK_0x1E (1 << 0x1E)
#define DMG_POWDER_KEG (1 << 0x1F)
#endif

View File

@ -2,52 +2,788 @@
#include <global.h>
DamageTable sDamageTablePresets[] = {
{ { 0x10, 0x01, 0x01, 0x02, 0xE0, 0x01, 0xF2, 0x10, 0xF1, 0xF2, 0xF2, 0x22, 0x01, 0x01, 0x00, 0x00,
0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x10, 0x01, 0x01, 0x02, 0xE0, 0x01, 0xF2, 0x10, 0xF1, 0xF2, 0xF2, 0x22, 0x01, 0x01, 0x00, 0x00,
0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x10, 0x02, 0x01, 0x02, 0x10, 0x02, 0x02, 0x02, 0x01, 0x02, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00,
0x00, 0x04, 0x03, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x10, 0x01, 0x01, 0x02, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x02, 0x02, 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x10, 0x02, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02, 0x01, 0x02, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x10, 0x01, 0x01, 0x00, 0x10, 0x01, 0x01, 0x10, 0x01, 0x01, 0x01, 0x01, 0x31, 0x01, 0x00, 0x00,
0x00, 0x00, 0x31, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x00, 0x03, 0x00, 0x06, 0x00, 0x04, 0x04, 0x00, 0x02, 0x06, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00,
0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x00, 0x03, 0x00, 0x06, 0x00, 0x04, 0x04, 0x00, 0x02, 0x06, 0x00, 0x06, 0x06, 0x00, 0x00, 0x00,
0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x00, 0x03, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x00, 0x02, 0x00, 0x00, 0x01, 0x00, 0x02, 0x02, 0x01, 0x02, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00,
0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x10, 0x01, 0x00, 0xE2, 0x10, 0x01, 0x02, 0x10, 0xF1, 0xF2, 0xF2, 0x22, 0x32, 0x01, 0x00, 0x00,
0x00, 0x22, 0x32, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x00, 0x01, 0x00, 0x00, 0x00, 0x04, 0x04, 0x00, 0x02, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x04, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x10, 0x01, 0x01, 0x02, 0x10, 0x01, 0x02, 0x10, 0x01, 0x02, 0x02, 0x22, 0x01, 0x01, 0x00, 0x00,
0x00, 0x22, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x01, 0x02, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02, 0x01, 0x02, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00,
0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x00, 0x02, 0x01, 0x02, 0x01, 0x02, 0x02, 0x02, 0x01, 0x02, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00,
0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x01, 0x02, 0x04, 0x02, 0x04, 0x08, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x10, 0x01, 0x00, 0x02, 0x10, 0x01, 0x02, 0x10, 0xF1, 0xF2, 0xF2, 0x22, 0x32, 0x01, 0x00, 0x00,
0x00, 0x22, 0x32, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x10, 0x01, 0x01, 0xF2, 0xE0, 0x01, 0xD2, 0x10, 0x01, 0x02, 0x02, 0x00, 0x32, 0x00, 0x00, 0x00,
0x00, 0x00, 0x32, 0x00, 0x00, 0x00, 0x01, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x10, 0x01, 0x00, 0xF0, 0x10, 0x01, 0xF0, 0x10, 0x01, 0x02, 0x02, 0x00, 0x12, 0x00, 0x00, 0x00,
0x00, 0x00, 0x12, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 } },
{ { 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01 } },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x1),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(1, 0x0),
/* Explosives */ DMG_ENTRY(2, 0x0),
/* Zora boomerang */ DMG_ENTRY(0, 0xE),
/* Normal arrow */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(2, 0xF),
/* Hookshot */ DMG_ENTRY(0, 0x1),
/* Goron punch */ DMG_ENTRY(1, 0xF),
/* Sword */ DMG_ENTRY(2, 0xF),
/* Goron pound */ DMG_ENTRY(2, 0xF),
/* Fire arrow */ DMG_ENTRY(2, 0x2),
/* Ice arrow */ DMG_ENTRY(1, 0x0),
/* Light arrow */ DMG_ENTRY(1, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(2, 0x2),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(2, 0x0),
/* Spin attack */ DMG_ENTRY(2, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x1),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(1, 0x0),
/* Explosives */ DMG_ENTRY(2, 0x0),
/* Zora boomerang */ DMG_ENTRY(0, 0xE),
/* Normal arrow */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(2, 0xF),
/* Hookshot */ DMG_ENTRY(0, 0x1),
/* Goron punch */ DMG_ENTRY(1, 0xF),
/* Sword */ DMG_ENTRY(2, 0xF),
/* Goron pound */ DMG_ENTRY(2, 0xF),
/* Fire arrow */ DMG_ENTRY(2, 0x2),
/* Ice arrow */ DMG_ENTRY(1, 0x0),
/* Light arrow */ DMG_ENTRY(1, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(2, 0x2),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(2, 0x0),
/* Spin attack */ DMG_ENTRY(2, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x1),
/* Deku Stick */ DMG_ENTRY(2, 0x0),
/* Horse trample */ DMG_ENTRY(1, 0x0),
/* Explosives */ DMG_ENTRY(2, 0x0),
/* Zora boomerang */ DMG_ENTRY(0, 0x1),
/* Normal arrow */ DMG_ENTRY(2, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(2, 0x0),
/* Hookshot */ DMG_ENTRY(2, 0x0),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(2, 0x0),
/* Goron pound */ DMG_ENTRY(4, 0x0),
/* Fire arrow */ DMG_ENTRY(4, 0x0),
/* Ice arrow */ DMG_ENTRY(4, 0x0),
/* Light arrow */ DMG_ENTRY(4, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(3, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(2, 0x0),
/* Spin attack */ DMG_ENTRY(4, 0x0),
/* Sword beam */ DMG_ENTRY(2, 0x0),
/* Normal Roll */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(8, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x1),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(1, 0x0),
/* Explosives */ DMG_ENTRY(2, 0x0),
/* Zora boomerang */ DMG_ENTRY(1, 0x0),
/* Normal arrow */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(1, 0x0),
/* Hookshot */ DMG_ENTRY(1, 0x0),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(1, 0x0),
/* Goron pound */ DMG_ENTRY(1, 0x0),
/* Fire arrow */ DMG_ENTRY(1, 0x0),
/* Ice arrow */ DMG_ENTRY(1, 0x0),
/* Light arrow */ DMG_ENTRY(1, 0x0),
/* Goron spikes */ DMG_ENTRY(1, 0x0),
/* Deku spin */ DMG_ENTRY(1, 0x0),
/* Deku bubble */ DMG_ENTRY(1, 0x0),
/* Deku launch */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(1, 0x0),
/* Zora barrier */ DMG_ENTRY(1, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(2, 0x0),
/* Zora punch */ DMG_ENTRY(2, 0x0),
/* Spin attack */ DMG_ENTRY(2, 0x0),
/* Sword beam */ DMG_ENTRY(2, 0x0),
/* Normal Roll */ DMG_ENTRY(2, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(2, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x1),
/* Deku Stick */ DMG_ENTRY(2, 0x0),
/* Horse trample */ DMG_ENTRY(1, 0x0),
/* Explosives */ DMG_ENTRY(2, 0x0),
/* Zora boomerang */ DMG_ENTRY(1, 0x0),
/* Normal arrow */ DMG_ENTRY(2, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(2, 0x0),
/* Hookshot */ DMG_ENTRY(2, 0x0),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(2, 0x0),
/* Goron pound */ DMG_ENTRY(4, 0x0),
/* Fire arrow */ DMG_ENTRY(4, 0x0),
/* Ice arrow */ DMG_ENTRY(4, 0x0),
/* Light arrow */ DMG_ENTRY(4, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(2, 0x0),
/* Spin attack */ DMG_ENTRY(4, 0x0),
/* Sword beam */ DMG_ENTRY(2, 0x0),
/* Normal Roll */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(8, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x1),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(1, 0x0),
/* Explosives */ DMG_ENTRY(0, 0x0),
/* Zora boomerang */ DMG_ENTRY(0, 0x1),
/* Normal arrow */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(1, 0x0),
/* Hookshot */ DMG_ENTRY(0, 0x1),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(1, 0x0),
/* Goron pound */ DMG_ENTRY(1, 0x0),
/* Fire arrow */ DMG_ENTRY(1, 0x0),
/* Ice arrow */ DMG_ENTRY(1, 0x3),
/* Light arrow */ DMG_ENTRY(1, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(1, 0x3),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(1, 0x0),
/* Spin attack */ DMG_ENTRY(1, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x0),
/* Deku Stick */ DMG_ENTRY(3, 0x0),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(6, 0x0),
/* Zora boomerang */ DMG_ENTRY(0, 0x0),
/* Normal arrow */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(4, 0x0),
/* Hookshot */ DMG_ENTRY(0, 0x0),
/* Goron punch */ DMG_ENTRY(2, 0x0),
/* Sword */ DMG_ENTRY(6, 0x0),
/* Goron pound */ DMG_ENTRY(0, 0x0),
/* Fire arrow */ DMG_ENTRY(6, 0x0),
/* Ice arrow */ DMG_ENTRY(0, 0x0),
/* Light arrow */ DMG_ENTRY(0, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(0, 0x0),
/* Zora punch */ DMG_ENTRY(0, 0x0),
/* Spin attack */ DMG_ENTRY(0, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x0),
/* Deku Stick */ DMG_ENTRY(3, 0x0),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(6, 0x0),
/* Zora boomerang */ DMG_ENTRY(0, 0x0),
/* Normal arrow */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(4, 0x0),
/* Hookshot */ DMG_ENTRY(0, 0x0),
/* Goron punch */ DMG_ENTRY(2, 0x0),
/* Sword */ DMG_ENTRY(6, 0x0),
/* Goron pound */ DMG_ENTRY(0, 0x0),
/* Fire arrow */ DMG_ENTRY(6, 0x0),
/* Ice arrow */ DMG_ENTRY(6, 0x0),
/* Light arrow */ DMG_ENTRY(0, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(4, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(0, 0x0),
/* Zora punch */ DMG_ENTRY(0, 0x0),
/* Spin attack */ DMG_ENTRY(0, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x0),
/* Deku Stick */ DMG_ENTRY(3, 0x0),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(0, 0x0),
/* Zora boomerang */ DMG_ENTRY(0, 0x0),
/* Normal arrow */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(4, 0x0),
/* Hookshot */ DMG_ENTRY(0, 0x0),
/* Goron punch */ DMG_ENTRY(2, 0x0),
/* Sword */ DMG_ENTRY(0, 0x0),
/* Goron pound */ DMG_ENTRY(0, 0x0),
/* Fire arrow */ DMG_ENTRY(0, 0x0),
/* Ice arrow */ DMG_ENTRY(0, 0x0),
/* Light arrow */ DMG_ENTRY(0, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(4, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(0, 0x0),
/* Zora punch */ DMG_ENTRY(0, 0x0),
/* Spin attack */ DMG_ENTRY(0, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x0),
/* Deku Stick */ DMG_ENTRY(2, 0x0),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(0, 0x0),
/* Zora boomerang */ DMG_ENTRY(1, 0x0),
/* Normal arrow */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(2, 0x0),
/* Hookshot */ DMG_ENTRY(2, 0x0),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(2, 0x0),
/* Goron pound */ DMG_ENTRY(4, 0x0),
/* Fire arrow */ DMG_ENTRY(0, 0x0),
/* Ice arrow */ DMG_ENTRY(4, 0x0),
/* Light arrow */ DMG_ENTRY(0, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(2, 0x0),
/* Spin attack */ DMG_ENTRY(4, 0x0),
/* Sword beam */ DMG_ENTRY(2, 0x0),
/* Normal Roll */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(8, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x1),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(2, 0xE),
/* Zora boomerang */ DMG_ENTRY(0, 0x1),
/* Normal arrow */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(2, 0x0),
/* Hookshot */ DMG_ENTRY(0, 0x1),
/* Goron punch */ DMG_ENTRY(1, 0xF),
/* Sword */ DMG_ENTRY(2, 0xF),
/* Goron pound */ DMG_ENTRY(2, 0xF),
/* Fire arrow */ DMG_ENTRY(2, 0x2),
/* Ice arrow */ DMG_ENTRY(2, 0x3),
/* Light arrow */ DMG_ENTRY(1, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(2, 0x2),
/* UNK_DMG_0x12 */ DMG_ENTRY(2, 0x3),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(2, 0x0),
/* Spin attack */ DMG_ENTRY(2, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x0),
/* Deku Stick */ DMG_ENTRY(0, 0x0),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(0, 0x0),
/* Zora boomerang */ DMG_ENTRY(0, 0x0),
/* Normal arrow */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(0, 0x0),
/* Hookshot */ DMG_ENTRY(0, 0x0),
/* Goron punch */ DMG_ENTRY(9, 0x0),
/* Sword */ DMG_ENTRY(0, 0x0),
/* Goron pound */ DMG_ENTRY(0, 0x0),
/* Fire arrow */ DMG_ENTRY(0, 0x0),
/* Ice arrow */ DMG_ENTRY(0, 0x0),
/* Light arrow */ DMG_ENTRY(0, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(0, 0x0),
/* Zora punch */ DMG_ENTRY(0, 0x0),
/* Spin attack */ DMG_ENTRY(0, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x0),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(0, 0x0),
/* Zora boomerang */ DMG_ENTRY(0, 0x0),
/* Normal arrow */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(4, 0x0),
/* Hookshot */ DMG_ENTRY(0, 0x0),
/* Goron punch */ DMG_ENTRY(2, 0x0),
/* Sword */ DMG_ENTRY(4, 0x0),
/* Goron pound */ DMG_ENTRY(4, 0x0),
/* Fire arrow */ DMG_ENTRY(0, 0x0),
/* Ice arrow */ DMG_ENTRY(0, 0x0),
/* Light arrow */ DMG_ENTRY(0, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(4, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(0, 0x0),
/* Zora punch */ DMG_ENTRY(0, 0x0),
/* Spin attack */ DMG_ENTRY(0, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x1),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(1, 0x0),
/* Explosives */ DMG_ENTRY(2, 0x0),
/* Zora boomerang */ DMG_ENTRY(0, 0x1),
/* Normal arrow */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(2, 0x0),
/* Hookshot */ DMG_ENTRY(0, 0x1),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(2, 0x0),
/* Goron pound */ DMG_ENTRY(2, 0x0),
/* Fire arrow */ DMG_ENTRY(2, 0x2),
/* Ice arrow */ DMG_ENTRY(1, 0x0),
/* Light arrow */ DMG_ENTRY(1, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(2, 0x2),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(1, 0x0),
/* Spin attack */ DMG_ENTRY(1, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(1, 0x0),
/* Deku Stick */ DMG_ENTRY(2, 0x0),
/* Horse trample */ DMG_ENTRY(1, 0x0),
/* Explosives */ DMG_ENTRY(2, 0x0),
/* Zora boomerang */ DMG_ENTRY(1, 0x0),
/* Normal arrow */ DMG_ENTRY(2, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(2, 0x0),
/* Hookshot */ DMG_ENTRY(2, 0x0),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(2, 0x0),
/* Goron pound */ DMG_ENTRY(4, 0x0),
/* Fire arrow */ DMG_ENTRY(4, 0x0),
/* Ice arrow */ DMG_ENTRY(4, 0x0),
/* Light arrow */ DMG_ENTRY(4, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(2, 0x0),
/* Spin attack */ DMG_ENTRY(4, 0x0),
/* Sword beam */ DMG_ENTRY(2, 0x0),
/* Normal Roll */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(8, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x0),
/* Deku Stick */ DMG_ENTRY(0, 0x0),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(0, 0x0),
/* Zora boomerang */ DMG_ENTRY(0, 0x0),
/* Normal arrow */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(0, 0x0),
/* Hookshot */ DMG_ENTRY(0, 0x0),
/* Goron punch */ DMG_ENTRY(0, 0x0),
/* Sword */ DMG_ENTRY(0, 0x0),
/* Goron pound */ DMG_ENTRY(0, 0x0),
/* Fire arrow */ DMG_ENTRY(0, 0x0),
/* Ice arrow */ DMG_ENTRY(0, 0x0),
/* Light arrow */ DMG_ENTRY(0, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(0, 0x0),
/* Zora punch */ DMG_ENTRY(0, 0x0),
/* Spin attack */ DMG_ENTRY(0, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x0),
/* Deku Stick */ DMG_ENTRY(2, 0x0),
/* Horse trample */ DMG_ENTRY(1, 0x0),
/* Explosives */ DMG_ENTRY(2, 0x0),
/* Zora boomerang */ DMG_ENTRY(1, 0x0),
/* Normal arrow */ DMG_ENTRY(2, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(2, 0x0),
/* Hookshot */ DMG_ENTRY(2, 0x0),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(2, 0x0),
/* Goron pound */ DMG_ENTRY(4, 0x0),
/* Fire arrow */ DMG_ENTRY(4, 0x0),
/* Ice arrow */ DMG_ENTRY(4, 0x0),
/* Light arrow */ DMG_ENTRY(4, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(2, 0x0),
/* Spin attack */ DMG_ENTRY(4, 0x0),
/* Sword beam */ DMG_ENTRY(2, 0x0),
/* Normal Roll */ DMG_ENTRY(4, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(8, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(1, 0x0),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(1, 0x0),
/* Explosives */ DMG_ENTRY(1, 0x0),
/* Zora boomerang */ DMG_ENTRY(1, 0x0),
/* Normal arrow */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(1, 0x0),
/* Hookshot */ DMG_ENTRY(1, 0x0),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(1, 0x0),
/* Goron pound */ DMG_ENTRY(1, 0x0),
/* Fire arrow */ DMG_ENTRY(1, 0x0),
/* Ice arrow */ DMG_ENTRY(1, 0x0),
/* Light arrow */ DMG_ENTRY(1, 0x0),
/* Goron spikes */ DMG_ENTRY(1, 0x0),
/* Deku spin */ DMG_ENTRY(1, 0x0),
/* Deku bubble */ DMG_ENTRY(1, 0x0),
/* Deku launch */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(1, 0x0),
/* Zora barrier */ DMG_ENTRY(1, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(0, 0x0),
/* Zora punch */ DMG_ENTRY(0, 0x0),
/* Spin attack */ DMG_ENTRY(0, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(1, 0x0),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(1, 0x0),
/* Explosives */ DMG_ENTRY(1, 0x0),
/* Zora boomerang */ DMG_ENTRY(1, 0x0),
/* Normal arrow */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(1, 0x0),
/* Hookshot */ DMG_ENTRY(1, 0x0),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(1, 0x0),
/* Goron pound */ DMG_ENTRY(1, 0x0),
/* Fire arrow */ DMG_ENTRY(1, 0x0),
/* Ice arrow */ DMG_ENTRY(1, 0x0),
/* Light arrow */ DMG_ENTRY(1, 0x0),
/* Goron spikes */ DMG_ENTRY(1, 0x0),
/* Deku spin */ DMG_ENTRY(1, 0x0),
/* Deku bubble */ DMG_ENTRY(1, 0x0),
/* Deku launch */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(1, 0x0),
/* Zora barrier */ DMG_ENTRY(1, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(0, 0x0),
/* Zora punch */ DMG_ENTRY(0, 0x0),
/* Spin attack */ DMG_ENTRY(0, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x1),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(2, 0x0),
/* Zora boomerang */ DMG_ENTRY(0, 0x1),
/* Normal arrow */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(2, 0x0),
/* Hookshot */ DMG_ENTRY(0, 0x1),
/* Goron punch */ DMG_ENTRY(1, 0xF),
/* Sword */ DMG_ENTRY(2, 0xF),
/* Goron pound */ DMG_ENTRY(2, 0xF),
/* Fire arrow */ DMG_ENTRY(2, 0x2),
/* Ice arrow */ DMG_ENTRY(2, 0x3),
/* Light arrow */ DMG_ENTRY(1, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(2, 0x2),
/* UNK_DMG_0x12 */ DMG_ENTRY(2, 0x3),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(2, 0x0),
/* Spin attack */ DMG_ENTRY(2, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x1),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(1, 0x0),
/* Explosives */ DMG_ENTRY(2, 0xF),
/* Zora boomerang */ DMG_ENTRY(0, 0xE),
/* Normal arrow */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(2, 0xD),
/* Hookshot */ DMG_ENTRY(0, 0x1),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(2, 0x0),
/* Goron pound */ DMG_ENTRY(2, 0x0),
/* Fire arrow */ DMG_ENTRY(0, 0x0),
/* Ice arrow */ DMG_ENTRY(2, 0x3),
/* Light arrow */ DMG_ENTRY(0, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(2, 0x3),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(2, 0x0),
/* Spin attack */ DMG_ENTRY(2, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(0, 0x1),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(0, 0xF),
/* Zora boomerang */ DMG_ENTRY(0, 0x1),
/* Normal arrow */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(0, 0xF),
/* Hookshot */ DMG_ENTRY(0, 0x1),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(2, 0x0),
/* Goron pound */ DMG_ENTRY(2, 0x0),
/* Fire arrow */ DMG_ENTRY(0, 0x0),
/* Ice arrow */ DMG_ENTRY(2, 0x1),
/* Light arrow */ DMG_ENTRY(0, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(2, 0x1),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(0, 0x0),
/* Spin attack */ DMG_ENTRY(0, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
} },
{ {
/* Deku Nut */ DMG_ENTRY(1, 0x0),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(1, 0x0),
/* Explosives */ DMG_ENTRY(1, 0x0),
/* Zora boomerang */ DMG_ENTRY(1, 0x0),
/* Normal arrow */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(1, 0x0),
/* Hookshot */ DMG_ENTRY(1, 0x0),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(1, 0x0),
/* Goron pound */ DMG_ENTRY(1, 0x0),
/* Fire arrow */ DMG_ENTRY(1, 0x0),
/* Ice arrow */ DMG_ENTRY(1, 0x0),
/* Light arrow */ DMG_ENTRY(1, 0x0),
/* Goron spikes */ DMG_ENTRY(1, 0x0),
/* Deku spin */ DMG_ENTRY(1, 0x0),
/* Deku bubble */ DMG_ENTRY(1, 0x0),
/* Deku launch */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(1, 0x0),
/* Zora barrier */ DMG_ENTRY(1, 0x0),
/* Normal shield */ DMG_ENTRY(1, 0x0),
/* Light ray */ DMG_ENTRY(1, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(1, 0x0),
/* Spin attack */ DMG_ENTRY(1, 0x0),
/* Sword beam */ DMG_ENTRY(1, 0x0),
/* Normal Roll */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(1, 0x0),
/* Unblockable */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(1, 0x0),
/* Powder Keg */ DMG_ENTRY(1, 0x0),
} },
};
/**

View File

@ -57,8 +57,38 @@ static ColliderJntSphInit sJntSphInit = {
};
static DamageTable sDamageTable = {
0xF0, 0xF0, 0x00, 0xF0, 0xE1, 0xE1, 0x00, 0xE1, 0xF0, 0xF0, 0xF0, 0xE1, 0xE1, 0xE1, 0xF0, 0xF0,
0xE1, 0xF0, 0xF0, 0xF0, 0x00, 0x00, 0xE1, 0xF0, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
/* Deku Nut */ DMG_ENTRY(0, 0xF),
/* Deku Stick */ DMG_ENTRY(0, 0xF),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(0, 0xF),
/* Zora boomerang */ DMG_ENTRY(1, 0xE),
/* Normal arrow */ DMG_ENTRY(1, 0xE),
/* UNK_DMG_0x06 */ DMG_ENTRY(0, 0x0),
/* Hookshot */ DMG_ENTRY(1, 0xE),
/* Goron punch */ DMG_ENTRY(0, 0xF),
/* Sword */ DMG_ENTRY(0, 0xF),
/* Goron pound */ DMG_ENTRY(0, 0xF),
/* Fire arrow */ DMG_ENTRY(1, 0xE),
/* Ice arrow */ DMG_ENTRY(1, 0xE),
/* Light arrow */ DMG_ENTRY(1, 0xE),
/* Goron spikes */ DMG_ENTRY(0, 0xF),
/* Deku spin */ DMG_ENTRY(0, 0xF),
/* Deku bubble */ DMG_ENTRY(1, 0xE),
/* Deku launch */ DMG_ENTRY(0, 0xF),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0xF),
/* Zora barrier */ DMG_ENTRY(0, 0xF),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0xE),
/* Zora punch */ DMG_ENTRY(0, 0xF),
/* Spin attack */ DMG_ENTRY(0, 0xF),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0xF),
};
void EnEncount2_Init(Actor* thisx, GlobalContext* globalCtx) {

View File

@ -75,8 +75,38 @@ static CollisionCheckInfoInit2 sColChkInfoInit2 = {
};
static DamageTable sDamageTable = {
0x00, 0x11, 0x00, 0x01, 0x00, 0xE1, 0x11, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x31, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Deku Nut */ DMG_ENTRY(0, 0x0),
/* Deku Stick */ DMG_ENTRY(1, 0x1),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(1, 0x0),
/* Zora boomerang */ DMG_ENTRY(0, 0x0),
/* Normal arrow */ DMG_ENTRY(1, 0xE),
/* UNK_DMG_0x06 */ DMG_ENTRY(1, 0x1),
/* Hookshot */ DMG_ENTRY(0, 0xF),
/* Goron punch */ DMG_ENTRY(0, 0x0),
/* Sword */ DMG_ENTRY(0, 0x0),
/* Goron pound */ DMG_ENTRY(0, 0x0),
/* Fire arrow */ DMG_ENTRY(0, 0x0),
/* Ice arrow */ DMG_ENTRY(1, 0x3),
/* Light arrow */ DMG_ENTRY(0, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(0, 0x0),
/* Zora punch */ DMG_ENTRY(0, 0x0),
/* Spin attack */ DMG_ENTRY(0, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
};
static ActorAnimationEntryS sAnimations[] = {

View File

@ -78,8 +78,38 @@ static ColliderSphereInit sSphereInit = {
static CollisionCheckInfoInit sColChkInfoInit = { 1, 10, 10, 10 };
static DamageTable sDamageTable = {
0x10, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x22, 0x32, 0x42, 0x01, 0x01,
0x01, 0x02, 0x10, 0x50, 0x00, 0x00, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
/* Deku Nut */ DMG_ENTRY(0, 0x1),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(1, 0x0),
/* Zora boomerang */ DMG_ENTRY(1, 0x0),
/* Normal arrow */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(0, 0x0),
/* Hookshot */ DMG_ENTRY(1, 0x0),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(1, 0x0),
/* Goron pound */ DMG_ENTRY(1, 0x0),
/* Fire arrow */ DMG_ENTRY(2, 0x2),
/* Ice arrow */ DMG_ENTRY(2, 0x3),
/* Light arrow */ DMG_ENTRY(2, 0x4),
/* Goron spikes */ DMG_ENTRY(1, 0x0),
/* Deku spin */ DMG_ENTRY(1, 0x0),
/* Deku bubble */ DMG_ENTRY(1, 0x0),
/* Deku launch */ DMG_ENTRY(2, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x1),
/* Zora barrier */ DMG_ENTRY(0, 0x5),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(1, 0x0),
/* Spin attack */ DMG_ENTRY(1, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(1, 0x0),
};
static InitChainEntry sInitChain[] = {

View File

@ -144,8 +144,38 @@ static ColliderJntSphInit sJntSphInit = {
static CollisionCheckInfoInit2 sColChkInfoInit2 = { 0, 0, 0, 0, MASS_HEAVY };
static DamageTable sDamageTable = {
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Deku Nut */ DMG_ENTRY(0, 0x0),
/* Deku Stick */ DMG_ENTRY(0, 0x0),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(0, 0x0),
/* Zora boomerang */ DMG_ENTRY(0, 0x0),
/* Normal arrow */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(0, 0x0),
/* Hookshot */ DMG_ENTRY(0, 0x0),
/* Goron punch */ DMG_ENTRY(0, 0x0),
/* Sword */ DMG_ENTRY(0, 0x0),
/* Goron pound */ DMG_ENTRY(0, 0x0),
/* Fire arrow */ DMG_ENTRY(0, 0x0),
/* Ice arrow */ DMG_ENTRY(0, 0x0),
/* Light arrow */ DMG_ENTRY(0, 0x0),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(0, 0x0),
/* Zora punch */ DMG_ENTRY(0, 0x0),
/* Spin attack */ DMG_ENTRY(0, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
};
static ActorAnimationEntryS sAnimations[] = {

View File

@ -52,8 +52,38 @@ static ColliderSphereInit sSphereInit = {
};
static DamageTable sDamageTable = {
0x01, 0x01, 0x01, 0x01, 0x01, 0xF1, 0x01, 0x01, 0x01, 0x01, 0x01, 0xF1, 0xF1, 0xF1, 0x01, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
/* Deku Nut */ DMG_ENTRY(1, 0x0),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(1, 0x0),
/* Explosives */ DMG_ENTRY(1, 0x0),
/* Zora boomerang */ DMG_ENTRY(1, 0x0),
/* Normal arrow */ DMG_ENTRY(1, 0xF),
/* UNK_DMG_0x06 */ DMG_ENTRY(1, 0x0),
/* Hookshot */ DMG_ENTRY(1, 0x0),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(1, 0x0),
/* Goron pound */ DMG_ENTRY(1, 0x0),
/* Fire arrow */ DMG_ENTRY(1, 0xF),
/* Ice arrow */ DMG_ENTRY(1, 0xF),
/* Light arrow */ DMG_ENTRY(1, 0xF),
/* Goron spikes */ DMG_ENTRY(1, 0x0),
/* Deku spin */ DMG_ENTRY(1, 0x0),
/* Deku bubble */ DMG_ENTRY(1, 0x0),
/* Deku launch */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(1, 0x0),
/* Zora barrier */ DMG_ENTRY(1, 0x0),
/* Normal shield */ DMG_ENTRY(1, 0x0),
/* Light ray */ DMG_ENTRY(1, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(1, 0x0),
/* Spin attack */ DMG_ENTRY(1, 0x0),
/* Sword beam */ DMG_ENTRY(1, 0x0),
/* Normal Roll */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(1, 0x0),
/* Unblockable */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(1, 0x0),
/* Powder Keg */ DMG_ENTRY(1, 0x0),
};
extern Gfx D_06000390[];

View File

@ -99,8 +99,38 @@ const ActorInit En_Pametfrog_InitVars = {
};
static DamageTable sDamageTable = {
0x10, 0x01, 0x00, 0x01, 0x01, 0x01, 0x00, 0x10, 0x01, 0x01, 0x01, 0x22, 0x32, 0x42, 0x01, 0x10,
0x01, 0x02, 0x10, 0x50, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01,
/* Deku Nut */ DMG_ENTRY(0, 0x1),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(1, 0x0),
/* Zora boomerang */ DMG_ENTRY(1, 0x0),
/* Normal arrow */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(0, 0x0),
/* Hookshot */ DMG_ENTRY(0, 0x1),
/* Goron punch */ DMG_ENTRY(1, 0x0),
/* Sword */ DMG_ENTRY(1, 0x0),
/* Goron pound */ DMG_ENTRY(1, 0x0),
/* Fire arrow */ DMG_ENTRY(2, 0x2),
/* Ice arrow */ DMG_ENTRY(2, 0x3),
/* Light arrow */ DMG_ENTRY(2, 0x4),
/* Goron spikes */ DMG_ENTRY(1, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x1),
/* Deku bubble */ DMG_ENTRY(1, 0x0),
/* Deku launch */ DMG_ENTRY(2, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x1),
/* Zora barrier */ DMG_ENTRY(0, 0x5),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(1, 0x0),
/* Spin attack */ DMG_ENTRY(1, 0x0),
/* Sword beam */ DMG_ENTRY(1, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(1, 0x0),
};
static ColliderJntSphElementInit sJntSphElementsInit[2] = {

View File

@ -64,8 +64,38 @@ static ColliderSphereInit sSphereInit = {
};
static DamageTable sDamageTable = {
0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1, 0xF1, 0xF1, 0xF1, 0x00,
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
/* Deku Nut */ DMG_ENTRY(0, 0x0),
/* Deku Stick */ DMG_ENTRY(0, 0x0),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(0, 0x0),
/* Zora boomerang */ DMG_ENTRY(0, 0x0),
/* Normal arrow */ DMG_ENTRY(1, 0xF),
/* UNK_DMG_0x06 */ DMG_ENTRY(0, 0x0),
/* Hookshot */ DMG_ENTRY(0, 0x0),
/* Goron punch */ DMG_ENTRY(0, 0x0),
/* Sword */ DMG_ENTRY(0, 0x0),
/* Goron pound */ DMG_ENTRY(0, 0x0),
/* Fire arrow */ DMG_ENTRY(1, 0xF),
/* Ice arrow */ DMG_ENTRY(1, 0xF),
/* Light arrow */ DMG_ENTRY(1, 0xF),
/* Goron spikes */ DMG_ENTRY(1, 0xF),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(0, 0x0),
/* Deku launch */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x0),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(0, 0x0),
/* Zora punch */ DMG_ENTRY(0, 0x0),
/* Spin attack */ DMG_ENTRY(0, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0x0),
};
void EnPoFusen_Init(Actor* thisx, GlobalContext* globalCtx) {

View File

@ -56,8 +56,38 @@ static ColliderCylinderInitType1 sCylinderInit = {
};
static DamageTable sDamageTable = {
0x00, 0x00, 0x00, 0xF1, 0xF1, 0xF1, 0x00, 0xF1, 0x00, 0x00, 0x00, 0xF1, 0xF1, 0xF1, 0x00, 0x00,
0xF1, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0xF1, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF1,
/* Deku Nut */ DMG_ENTRY(0, 0x0),
/* Deku Stick */ DMG_ENTRY(0, 0x0),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(1, 0xF),
/* Zora boomerang */ DMG_ENTRY(1, 0xF),
/* Normal arrow */ DMG_ENTRY(1, 0xF),
/* UNK_DMG_0x06 */ DMG_ENTRY(0, 0x0),
/* Hookshot */ DMG_ENTRY(1, 0xF),
/* Goron punch */ DMG_ENTRY(0, 0x0),
/* Sword */ DMG_ENTRY(0, 0x0),
/* Goron pound */ DMG_ENTRY(0, 0x0),
/* Fire arrow */ DMG_ENTRY(1, 0xF),
/* Ice arrow */ DMG_ENTRY(1, 0xF),
/* Light arrow */ DMG_ENTRY(1, 0xF),
/* Goron spikes */ DMG_ENTRY(0, 0x0),
/* Deku spin */ DMG_ENTRY(0, 0x0),
/* Deku bubble */ DMG_ENTRY(1, 0xF),
/* Deku launch */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0x0),
/* Zora barrier */ DMG_ENTRY(1, 0xF),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0x0),
/* Thrown object */ DMG_ENTRY(0, 0x0),
/* Zora punch */ DMG_ENTRY(1, 0xF),
/* Spin attack */ DMG_ENTRY(0, 0x0),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(1, 0xF),
};
static InitChainEntry sInitChain[] = {

View File

@ -25,8 +25,38 @@ const ActorInit En_Tanron6_InitVars = {
};
static DamageTable sDamageTable = {
0xF0, 0xF0, 0x00, 0xF1, 0xE1, 0xE1, 0x00, 0xE1, 0xF0, 0xF0, 0xF0, 0xE1, 0xE1, 0x46, 0xF0, 0xF0,
0xE1, 0xF0, 0xF0, 0x00, 0x00, 0xF0, 0xE1, 0x00, 0xF0, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xF0,
/* Deku Nut */ DMG_ENTRY(0, 0xF),
/* Deku Stick */ DMG_ENTRY(0, 0xF),
/* Horse trample */ DMG_ENTRY(0, 0x0),
/* Explosives */ DMG_ENTRY(1, 0xF),
/* Zora boomerang */ DMG_ENTRY(1, 0xE),
/* Normal arrow */ DMG_ENTRY(1, 0xE),
/* UNK_DMG_0x06 */ DMG_ENTRY(0, 0x0),
/* Hookshot */ DMG_ENTRY(1, 0xE),
/* Goron punch */ DMG_ENTRY(0, 0xF),
/* Sword */ DMG_ENTRY(0, 0xF),
/* Goron pound */ DMG_ENTRY(0, 0xF),
/* Fire arrow */ DMG_ENTRY(1, 0xE),
/* Ice arrow */ DMG_ENTRY(1, 0xE),
/* Light arrow */ DMG_ENTRY(6, 0x4),
/* Goron spikes */ DMG_ENTRY(0, 0xF),
/* Deku spin */ DMG_ENTRY(0, 0xF),
/* Deku bubble */ DMG_ENTRY(1, 0xE),
/* Deku launch */ DMG_ENTRY(0, 0xF),
/* UNK_DMG_0x12 */ DMG_ENTRY(0, 0xF),
/* Zora barrier */ DMG_ENTRY(0, 0x0),
/* Normal shield */ DMG_ENTRY(0, 0x0),
/* Light ray */ DMG_ENTRY(0, 0xF),
/* Thrown object */ DMG_ENTRY(1, 0xE),
/* Zora punch */ DMG_ENTRY(0, 0x0),
/* Spin attack */ DMG_ENTRY(0, 0xF),
/* Sword beam */ DMG_ENTRY(0, 0x0),
/* Normal Roll */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(0, 0x0),
/* Unblockable */ DMG_ENTRY(0, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(0, 0x0),
/* Powder Keg */ DMG_ENTRY(0, 0xF),
};
void EnTanron6_Init(Actor* thisx, GlobalContext* globalCtx) {

View File

@ -77,8 +77,38 @@ static CollisionCheckInfoInit2 sColChkInfoInit2 = {
};
static DamageTable sDamageTable = {
0x01, 0x01, 0x01, 0xE1, 0x01, 0x01, 0x01, 0x01, 0xF1, 0x01, 0x01, 0x01, 0x01, 0x01, 0xF1, 0x01,
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0xE1,
/* Deku Nut */ DMG_ENTRY(1, 0x0),
/* Deku Stick */ DMG_ENTRY(1, 0x0),
/* Horse trample */ DMG_ENTRY(1, 0x0),
/* Explosives */ DMG_ENTRY(1, 0xE),
/* Zora boomerang */ DMG_ENTRY(1, 0x0),
/* Normal arrow */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x06 */ DMG_ENTRY(1, 0x0),
/* Hookshot */ DMG_ENTRY(1, 0x0),
/* Goron punch */ DMG_ENTRY(1, 0xF),
/* Sword */ DMG_ENTRY(1, 0x0),
/* Goron pound */ DMG_ENTRY(1, 0x0),
/* Fire arrow */ DMG_ENTRY(1, 0x0),
/* Ice arrow */ DMG_ENTRY(1, 0x0),
/* Light arrow */ DMG_ENTRY(1, 0x0),
/* Goron spikes */ DMG_ENTRY(1, 0xF),
/* Deku spin */ DMG_ENTRY(1, 0x0),
/* Deku bubble */ DMG_ENTRY(1, 0x0),
/* Deku launch */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x12 */ DMG_ENTRY(1, 0x0),
/* Zora barrier */ DMG_ENTRY(1, 0x0),
/* Normal shield */ DMG_ENTRY(1, 0x0),
/* Light ray */ DMG_ENTRY(1, 0x0),
/* Thrown object */ DMG_ENTRY(1, 0x0),
/* Zora punch */ DMG_ENTRY(1, 0x0),
/* Spin attack */ DMG_ENTRY(1, 0x0),
/* Sword beam */ DMG_ENTRY(1, 0x0),
/* Normal Roll */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x1B */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x1C */ DMG_ENTRY(1, 0x0),
/* Unblockable */ DMG_ENTRY(1, 0x0),
/* UNK_DMG_0x1E */ DMG_ENTRY(1, 0x0),
/* Powder Keg */ DMG_ENTRY(1, 0xE),
};
extern CollisionHeader D_06001BA8;

2
tools/overlayhelpers/colchkinfoinit.py Normal file → Executable file
View File

@ -31,7 +31,7 @@ def main():
NameMass(info)
output="// colChkInfoInit\nstatic CollisionCheckInfoInit D_{0:08X} = {{ ".format(args.address) + ", ".join(map(str,info)) + "};"
else:
info = struct.unpack(">B3hB", filedata[file_offset:file_offset+9])
info = list(struct.unpack(">Bx3hB", filedata[file_offset:file_offset+9]))
NameMass(info)
output="// sColChkInfoInit\nstatic CollisionCheckInfoInit2 D_{0:08X} = {{ ".format(args.address) + ", ".join(map(str,info)) + "};"

View File

@ -0,0 +1,150 @@
#!/usr/bin/env python3
import os
import argparse
from actor_symbols import resolve_symbol
damage_types = [
'Deku Nut',
'Deku Stick',
'Horse trample',
'Explosives',
'Zora boomerang',
'Normal arrow',
'UNK_DMG_0x06',
'Hookshot',
'Goron punch',
'Sword',
'Goron pound',
'Fire arrow',
'Ice arrow',
'Light arrow',
'Goron spikes',
'Deku spin',
'Deku bubble',
'Deku launch',
'UNK_DMG_0x12',
'Zora barrier',
'Normal shield',
'Light ray',
'Thrown object',
'Zora punch',
'Spin attack',
'Sword beam',
'Normal Roll',
'UNK_DMG_0x1B',
'UNK_DMG_0x1C',
'Unblockable',
'UNK_DMG_0x1E',
'Powder Keg'
]
def convert_dmg_table_str(dmg_table_str):
split_data = dmg_table_str.replace(' ','').replace('\n','').replace('{',',').replace('}',',').split(',')
hex_data = [int(x, 16) for x in split_data if '0x' in x]
name = dmg_table_str.split('=')[0].split()[-1]
return make_table(name, hex_data)
def replace_damage_table_all(repo):
actors = 'src' + os.sep + 'overlays' + os.sep + 'actors'
for subdir, dirs, files in os.walk(repo + os.sep + actors):
for filename in files:
if(filename.endswith('.c')):
file = subdir + os.sep + filename
status = replace_damage_table(file)
if(status < 0):
print('Encountered error in', file)
elif(status > 0):
print('Updated', status, 'table' + ('s' if status > 1 else ''), file)
return 1
def replace_damage_table(src):
with open(src, 'r', encoding = 'utf-8') as srcfile:
srcdata = srcfile.readlines()
read_table = False
replacements = []
for i, line in enumerate(srcdata):
if("DamageTable" in line and "= {" in line):
if(read_table):
print('Bad formatting in', file, 'at line', i)
return -1
else:
read_table = True
start = i
if(read_table and "DMG_" in line):
read_table = False
if(read_table and ";" in line):
dmg_table_str = "".join(srcdata[start:i+1])
damage_table = convert_dmg_table_str(dmg_table_str)
replacements += [[dmg_table_str, damage_table]]
read_table = False
if len(replacements) == 0:
return 0
with open(src,'r', encoding = 'utf-8') as srcfile:
srcstr = srcfile.read()
for replace in replacements:
srcstr = srcstr.replace(replace[0], replace[1])
with open(src,'w', encoding = 'utf-8', newline = '\n') as outfile:
outfile.write(srcstr)
return len(replacements)
def make_table(name, data):
damage_table = "static DamageTable " + name + " = {\n"
linestart = " /* "
padlen = max([len(x) for x in damage_types])
for i, dbyte in enumerate(data):
typestr = damage_types[i]
typestr += ' ' * (padlen - len(typestr)) + ' */ '
damage_table += linestart + typestr + format_damage_byte(dbyte)
damage_table += '};\n'
return damage_table
def format_damage_byte(dbyte):
effect = (dbyte >> 4) & 0xF
damage = dbyte & 0xF
effstr = format(effect, 'X')
dstr = str(damage)
dtentry = 'DMG_ENTRY(' + dstr + ', 0x' + effstr + '),\n'
return dtentry
def get_damage_bytes(address):
file_name, file_offset = resolve_symbol(address)
print(hex(file_offset), "in", file_name.split(os.sep)[-1], "\n")
with open(file_name, "rb") as ovl_file:
ovl_data = bytearray(ovl_file.read())
damage_data = ovl_data[file_offset:file_offset+0x20]
damage_table = make_table('D_' + format(address, 'X'), damage_data)
return damage_table
def hex_parse(s):
return int(s, 16)
parser = argparse.ArgumentParser(description = "Converts raw bytes into a formatted damage table")
parser.add_argument('-a', metavar='address', dest='address', help="VRam or Rom address of the damage table", type=hex_parse)
parser.add_argument('-f', metavar='file', dest='file', help='C file with unformatted damage tables')
if __name__ == "__main__":
args = parser.parse_args()
script_dir = os.path.dirname(os.path.realpath(__file__))
repo = script_dir + os.sep + ".." + os.sep + ".."
if(args.address):
print(get_damage_bytes(args.address))
elif(args.file):
replace_damage_table(args.file)
else:
print('Error: address or file required. Use -h for more detail.')