mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2024-08-13 17:03:47 -04:00
39cc86c260
subrepo: subdir: "soh" merged: "ba904bbd0" upstream: origin: "https://github.com/HarbourMasters/soh.git" branch: "master" commit: "ba904bbd0" git-subrepo: version: "0.4.1" origin: "???" commit: "???"
60 lines
1.6 KiB
C
60 lines
1.6 KiB
C
/*
|
|
* File: z_item_inbox.c
|
|
* Overlay: ovl_Item_Inbox
|
|
* Description: Zelda's magic effect when opening gates in castle collapse
|
|
*/
|
|
|
|
#include "z_item_inbox.h"
|
|
|
|
#define FLAGS (ACTOR_FLAG_0 | ACTOR_FLAG_3)
|
|
|
|
void ItemInbox_Init(Actor* thisx, GlobalContext* globalCtx);
|
|
void ItemInbox_Destroy(Actor* thisx, GlobalContext* globalCtx);
|
|
void ItemInbox_Update(Actor* thisx, GlobalContext* globalCtx);
|
|
void ItemInbox_Draw(Actor* thisx, GlobalContext* globalCtx);
|
|
|
|
void ItemInbox_Wait(ItemInbox* this, GlobalContext* globalCtx);
|
|
|
|
const ActorInit Item_Inbox_InitVars = {
|
|
ACTOR_ITEM_INBOX,
|
|
ACTORCAT_NPC,
|
|
FLAGS,
|
|
OBJECT_GAMEPLAY_KEEP,
|
|
sizeof(ItemInbox),
|
|
(ActorFunc)ItemInbox_Init,
|
|
(ActorFunc)ItemInbox_Destroy,
|
|
(ActorFunc)ItemInbox_Update,
|
|
(ActorFunc)ItemInbox_Draw,
|
|
NULL,
|
|
};
|
|
|
|
void ItemInbox_Init(Actor* thisx, GlobalContext* globalCtx) {
|
|
ItemInbox* this = (ItemInbox*)thisx;
|
|
|
|
this->actionFunc = ItemInbox_Wait;
|
|
Actor_SetScale(&this->actor, 0.2);
|
|
}
|
|
|
|
void ItemInbox_Destroy(Actor* thisx, GlobalContext* globalCtx) {
|
|
}
|
|
|
|
void ItemInbox_Wait(ItemInbox* this, GlobalContext* globalCtx) {
|
|
if (Flags_GetTreasure(globalCtx, (this->actor.params >> 8) & 0x1F)) {
|
|
Actor_Kill(&this->actor);
|
|
}
|
|
}
|
|
|
|
void ItemInbox_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|
ItemInbox* this = (ItemInbox*)thisx;
|
|
|
|
this->actionFunc(this, globalCtx);
|
|
}
|
|
|
|
void ItemInbox_Draw(Actor* thisx, GlobalContext* globalCtx) {
|
|
ItemInbox* this = (ItemInbox*)thisx;
|
|
|
|
func_8002EBCC(&this->actor, globalCtx, 0);
|
|
func_8002ED80(&this->actor, globalCtx, 0);
|
|
GetItem_Draw(globalCtx, this->actor.params & 0xFF);
|
|
}
|