From f1904de1b5c273397321753f19eb7ed6ee346923 Mon Sep 17 00:00:00 2001 From: Tal Hayon Date: Wed, 13 Apr 2022 23:18:02 +0300 Subject: [PATCH] put const data into pita --- assets/assets.json | 36 ------------------------------------ data/const/npc/pita.s | 22 ---------------------- linker.ld | 2 +- src/npc/pita.c | 30 +++++++++++++++++++++--------- 4 files changed, 22 insertions(+), 68 deletions(-) delete mode 100644 data/const/npc/pita.s diff --git a/assets/assets.json b/assets/assets.json index 108fbc7a..e3c57a2e 100644 --- a/assets/assets.json +++ b/assets/assets.json @@ -35838,42 +35838,6 @@ "size": 30, "type": "animation" }, - { - "path": "pita/gUnk_0810C428_EU.bin", - "variants": [ - "EU" - ], - "starts": { - "EU": 1096572 - }, - "size": 8 - }, - { - "path": "pita/gUnk_0810C428_1_USA-JP-DEMO_USA-DEMO_JP.bin", - "variants": [ - "USA", - "JP", - "DEMO_USA", - "DEMO_JP" - ], - "start": 1098792, - "size": 8 - }, - { - "path": "pita/gUnk_0810C430.bin", - "start": 1098800, - "size": 5 - }, - { - "path": "pita/gUnk_0810C435.bin", - "start": 1098805, - "size": 8 - }, - { - "path": "pita/gUnk_0810C43D.bin", - "start": 1098813, - "size": 8 - }, { "path": "animations/gSpriteAnimations_MinishEzlo_2.bin", "start": 1098912, diff --git a/data/const/npc/pita.s b/data/const/npc/pita.s deleted file mode 100644 index 3b61c0e2..00000000 --- a/data/const/npc/pita.s +++ /dev/null @@ -1,22 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnk_0810C428:: @ 0810C428 -.ifdef EU - @ TODO only small differences - .incbin "pita/gUnk_0810C428_EU.bin" -.else - .incbin "pita/gUnk_0810C428_1_USA-JP-DEMO_USA-DEMO_JP.bin" -.endif - -gUnk_0810C430:: @ 0810C430 - .incbin "pita/gUnk_0810C430.bin" - -gUnk_0810C435:: @ 0810C435 - .incbin "pita/gUnk_0810C435.bin" - -gUnk_0810C43D:: @ 0810C43D - .incbin "pita/gUnk_0810C43D.bin" diff --git a/linker.ld b/linker.ld index 5df63689..e1ab765c 100644 --- a/linker.ld +++ b/linker.ld @@ -1171,7 +1171,7 @@ SECTIONS { data/animations/npc/marcy.o(.rodata); src/npc/wheaton.o(.rodata); data/animations/npc/wheaton.o(.rodata); - data/const/npc/pita.o(.rodata); + src/npc/pita.o(.rodata); data/animations/npc/pita.o(.rodata); data/const/npc/minishEzlo.o(.rodata); data/animations/npc/minishEzlo.o(.rodata); diff --git a/src/npc/pita.c b/src/npc/pita.c index c4272f5c..030bb1f1 100644 --- a/src/npc/pita.c +++ b/src/npc/pita.c @@ -1,18 +1,27 @@ #include "npc.h" #include "item.h" -extern Hitbox gUnk_0810C428; - -extern u8 gUnk_0810C430[4]; -extern u8 gUnk_0810C435[]; -extern u8 gUnk_0810C43D[]; - void Pita(Entity* this) { + static const Hitbox gUnk_0810C428 = { +#if EU + 0, + 2, + { 0, 0, 0, 0 }, + 6, + 18, +#else + 0, + 2, + { 0, 0, 0, 0 }, + 10, + 18, +#endif + }; if (this->action == 0) { this->action += 1; SetDefaultPriority(this, PRIO_MESSAGE); SortEntityAbove(this, this); - this->hitbox = &gUnk_0810C428; + this->hitbox = (Hitbox*)&gUnk_0810C428; sub_0807DD64(this); } sub_0807DD94(this, NULL); @@ -33,6 +42,9 @@ void RemoveAllBakedGoods(void) { bool32 sub_08062EDC(Entity* this, ScriptExecutionContext* context) { u32 tmp; u32 tmp2; + static const u8 chanceForPrize[] = { 0x20, 0x40, 0x60, 0x80, 0xFF }; + static const u8 gUnk_0810C435[] = { 0x10, 0x10, 0x10, 0x20, 0x20, 0x30, 0x30, 0x30 }; + static const u8 gUnk_0810C43D[] = { 0x6e, 0x6f, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75 }; //! @bug: tmp is uninitialized, in practice player must have an item here if (GetInventoryValue(ITEM_BRIOCHE) != 0) { @@ -51,13 +63,13 @@ bool32 sub_08062EDC(Entity* this, ScriptExecutionContext* context) { SetLocalFlag(SHOP03_PAN_1ST); tmp = 4; } - if ((Random() & 0xff) > gUnk_0810C430[tmp]) { + if ((Random() & 0xff) > chanceForPrize[tmp]) { context->condition = FALSE; return FALSE; } else { tmp = GetRandomByWeight(gUnk_0810C435); tmp2 = gUnk_0810C43D[tmp]; - InitItemGetSequence(0x5c, tmp2, 1); + InitItemGetSequence(ITEM_KINSTONE, tmp2, 1); MessageNoOverlap(0x3c05, this); context->condition = TRUE; return TRUE;