put const data into pita

This commit is contained in:
Tal Hayon 2022-04-13 23:18:02 +03:00
parent d7fbc73414
commit f1904de1b5
4 changed files with 22 additions and 68 deletions

View File

@ -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,

View File

@ -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"

View File

@ -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);

View File

@ -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;