Patch create functions to handle progressive items and special circumstances

This commit is contained in:
gymnast86
2026-04-14 03:12:11 -07:00
parent 04a2417f02
commit cc58b41901
4 changed files with 48 additions and 2 deletions
+7
View File
@@ -3,6 +3,7 @@
#include "d/actor/d_a_alink.h"
#include "d/d_item.h"
#include "d/d_item_data.h"
#include "f_op/f_op_actor_mng.h"
bool playerIsInRoomStage(s32 room, const char* stage)
{
@@ -84,4 +85,10 @@ void offWarashibeItem(u8 item)
{
g_dComIfG_gameInfo.info.getSavedata().getPlayer().getGetItem().offFirstBit(item);
setNextWarashibeItem();
}
int initCreatePlayerItem(u32 item, u32 flag, const cXyz* pos, int roomNo, const csXyz* angle, const cXyz* scale)
{
u32 params = 0xFF0000 | ((flag & 0xFF) << 0x8) | (item & 0xFF);
return fopAcM_create(539, params, pos, roomNo, angle, scale, -1);
}
+1
View File
@@ -6,3 +6,4 @@ bool playerIsInRoomStage(s32 room, const char* stage);
void checkTransformFromWolf();
u8 setNextWarashibeItem();
void offWarashibeItem(u8 item);
int initCreatePlayerItem(u32 item, u32 flag, const cXyz* pos, int roomNo, const csXyz* angle, const cXyz* scale);
@@ -11,5 +11,5 @@ u32 getProgressiveKeyShard();
u32 getProgressiveMirrorShard();
u32 getProgressiveFusedShadow();
u8 getWarashibeItemCount();
u32 verifyProgressiveItem();
u32 verifyProgressiveItem(u32 item);