* more fold

* fold render modes

* fold rename 1

* fold rename 2

* fold rename 3

* imgfx struct reorg

* post merge

* the rest

* extras

* forgot these

* done

* ImgFx

* ImgFX

* check

* misc cam stuff

* ws

---------

Co-authored-by: HailSanta <Hail2Santa@gmail.com>
This commit is contained in:
HailSanta 2023-04-20 04:15:58 -04:00 committed by GitHub
parent 12a30b4ee8
commit e41923e55d
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
211 changed files with 2311 additions and 2208 deletions

View File

@ -251,12 +251,12 @@ typedef struct Npc {
/* 0x08E */ s16 duration; // TODO: name less vaguely
/* 0x090 */ Vec3s homePos;
/* 0x096 */ s16 unk_96;
/* 0x098 */ s16 foldType;
/* 0x09A */ s16 foldArg1;
/* 0x09C */ s16 foldArg2;
/* 0x09E */ s16 foldArg3;
/* 0x0A0 */ s16 foldArg4;
/* 0x0A2 */ u16 foldFlags;
/* 0x098 */ s16 imgfxType;
/* 0x09A */ s16 imgfxArg1;
/* 0x09C */ s16 imgfxArg2;
/* 0x09E */ s16 imgfxArg3;
/* 0x0A0 */ s16 imgfxArg4;
/* 0x0A2 */ u16 imgfxFlags;
/* 0x0A4 */ s8 npcID;
/* 0x0A5 */ char unk_A5;
/* 0x0A6 */ s16 collisionDiameter;
@ -764,7 +764,7 @@ typedef struct Camera {
/* 0x000 */ u16 flags;
/* 0x002 */ s16 moveFlags;
/* 0x004 */ s16 updateMode;
/* 0x006 */ s16 unk_06;
/* 0x006 */ s16 needsInit;
/* 0x008 */ s16 isChangingMap;
/* 0x00A */ s16 viewportW;
/* 0x00C */ s16 viewportH;
@ -2273,17 +2273,17 @@ typedef struct SpriteRasterInfo {
/* 0x0C */ s32 height;
} SpriteRasterInfo; // size = 0x10
typedef struct UnkEntityStruct {
/* 0x00 */ s32 foldID;
/* 0x04 */ s32 entityID;
typedef struct KnockdownData {
/* 0x00 */ s32 imgfxIdx;
/* 0x04 */ s32 workerID;
/* 0x08 */ s32 spriteIndex;
/* 0x0C */ s32 rasterIndex;
/* 0x10 */ Vec3f pos;
/* 0x1C */ Vec3f rot;
/* 0x28 */ Vec3f scale;
/* 0x34 */ f32 unk_34;
/* 0x38 */ f32 unk_38;
} UnkEntityStruct; // size = 0x3C
/* 0x34 */ f32 width;
/* 0x38 */ f32 height;
} KnockdownData; // size = 0x3C
typedef struct VirtualEntity {
/* 0x00 */ s32 entityModelIndex;
@ -2358,33 +2358,36 @@ typedef struct SpriteShadingProfile {
/* 0xAF */ u8 ambientPower; // ?
} SpriteShadingProfile; // size = 0xB0
typedef struct FoldImageRecPart {
typedef struct ImgFXOverlayTexture {
/* 0x00 */ IMG_PTR raster;
/* 0x04 */ PAL_PTR palette;
/* 0x08 */ u16 width;
/* 0x0A */ u16 height;
/* 0x0C */ s32 offsetX;
/* 0x10 */ s32 offsetY;
/* 0x14 */ Gfx* displayList;
} ImgFXOverlayTexture; // size = 0x18
typedef struct ImgFXTexture {
/* 0x00 */ IMG_PTR raster;
/* 0x04 */ PAL_PTR palette;
/* 0x08 */ u16 width;
/* 0x0A */ u16 height;
/* 0x0C */ s16 xOffset;
/* 0x0E */ s16 yOffset;
/* 0x10 */ u8 opacity; // alpha?
/* 0x10 */ u8 alpha;
/* 0x11 */ char unk_11[3];
/* 0x14 */ Gfx* dlist;
} FoldImageRecPart; // size = 0x18
} ImgFXTexture; // size = 0x18
typedef struct FoldImageRec {
/* 0x00 */ IMG_PTR raster;
/* 0x04 */ PAL_PTR palette;
/* 0x08 */ u16 width;
/* 0x0A */ u16 height;
/* 0x0C */ s16 xOffset;
/* 0x0E */ s16 yOffset;
/* 0x10 */ u8 unk_10; // alpha?
/* 0x11 */ char unk_11[0x7];
typedef struct ImgFXWorkingTexture {
/* 0x00 */ ImgFXTexture tex;
/* 0x18 */ s16 unk_18;
/* 0x1A */ char unk_1A[0x4];
/* 0x1E */ s16 unk_1E;
/* 0x20 */ char unk_20[0x4];
/* 0x24 */ u8 alphaMultiplier;
} FoldImageRec; // size = 0x25
} ImgFXWorkingTexture; // size = 0x25
typedef struct SongUpdateEvent {
/* 0x00 */ s32 songName;

View File

@ -275,8 +275,8 @@
#define GetSelfVar dead_GetSelfVar
#define GetPlayerTargetYaw dead_GetPlayerTargetYaw
#define HidePlayerShadow dead_HidePlayerShadow
#define SetPlayerFoldFlags dead_SetPlayerFoldFlags
#define UpdatePlayerFold dead_UpdatePlayerFold
#define SetPlayerImgFXFlags dead_SetPlayerImgFXFlags
#define UpdatePlayerImgFX dead_UpdatePlayerImgFX
#define SetPlayerFlagBits dead_SetPlayerFlagBits
#define func_80044238 dead_func_80044238
#define SetCamType dead_SetCamType
@ -322,7 +322,7 @@
#define GetSelfAnimationFromTable dead_GetSelfAnimationFromTable
#define EVS_NpcHitRecoil dead_EVS_NpcHitRecoil
#define SelfEnemyOverrideSyncPos dead_SelfEnemyOverrideSyncPos
#define SetNpcFoldParams dead_SetNpcFoldParams
#define SetNpcImgFXParams dead_SetNpcImgFXParams
#define SetGroupVisibility dead_SetGroupVisibility
#define Entity_HeartBlock dead_Entity_HeartBlock
#define GetCamDistance dead_GetCamDistance

View File

@ -5461,7 +5461,7 @@ enum CameraInitDataFlags {
enum CameraFlags {
CAMERA_FLAG_1 = 0x00000001,
CAMERA_FLAG_ENABLED = 0x00000002,
CAMERA_FLAG_DISABLED = 0x00000002,
CAMERA_FLAG_LEAD_PLAYER = 0x00000004,
CAMERA_FLAG_SHAKING = 0x00000008,
CAMERA_FLAG_ORTHO = 0x00000010,
@ -5501,12 +5501,12 @@ enum CameraMoveFlags {
};
enum CameraUpdateType {
CAM_UPDATE_MODE_0 = 0,
CAM_UPDATE_MODE_1 = 1,
CAM_UPDATE_MODE_INIT = 0,
CAM_UPDATE_UNUSED_1 = 1,
CAM_UPDATE_MODE_2 = 2,
CAM_UPDATE_MODE_3 = 3,
CAM_UPDATE_MODE_4 = 4,
CAM_UPDATE_MODE_5 = 5,
CAM_UPDATE_FROM_ZONE = 3,
CAM_UPDATE_UNUSED_4 = 4,
CAM_UPDATE_UNUSED_5 = 5,
CAM_UPDATE_MODE_6 = 6,
};
@ -5959,101 +5959,119 @@ enum NpcDropFlags {
NPC_DROP_FLAG_80 = 0x80,
};
enum FoldStateFlags {
FOLD_STATE_FLAG_ENABLED = 0x00000001,
FOLD_STATE_FLAG_G_CULL_BACK = 0x00000002,
FOLD_STATE_FLAG_G_CULL_FRONT = 0x00000004,
FOLD_STATE_FLAG_8 = 0x00000008,
FOLD_STATE_FLAG_SKIP_GFX_SETUP = 0x00000010,
FOLD_STATE_FLAG_SKIP_TEX_SETUP = 0x00000020,
FOLD_STATE_FLAG_40 = 0x00000040,
FOLD_STATE_FLAG_LOOP_ANIM = 0x00000080,
FOLD_STATE_FLAG_REVERSE_ANIM = 0x00000100, // fold animation plays backwards (from end to start)
FOLD_STATE_FLAG_200 = 0x00000200,
FOLD_STATE_FLAG_400 = 0x00000400,
FOLD_STATE_FLAG_800 = 0x00000800,
FOLD_STATE_FLAG_ANIM_DONE = 0x00001000,
FOLD_STATE_FLAG_2000 = 0x00002000,
FOLD_STATE_FLAG_4000 = 0x00004000,
FOLD_STATE_FLAG_8000 = 0x00008000,
FOLD_STATE_FLAG_NO_FILTERING = 0x00010000,
FOLD_STATE_FLAG_20000 = 0x00020000,
FOLD_STATE_FLAG_40000 = 0x00040000,
FOLD_STATE_FLAG_80000 = 0x00080000,
FOLD_STATE_FLAG_100000 = 0x00100000,
enum ImgFXStateFlags {
IMGFX_FLAG_IN_USE = 0x00000001,
IMGFX_FLAG_G_CULL_BACK = 0x00000002,
IMGFX_FLAG_G_CULL_FRONT = 0x00000004,
IMGFX_FLAG_8 = 0x00000008,
IMGFX_FLAG_SKIP_GFX_SETUP = 0x00000010,
IMGFX_FLAG_SKIP_TEX_SETUP = 0x00000020,
IMGFX_FLAG_40 = 0x00000040,
IMGFX_FLAG_LOOP_ANIM = 0x00000080,
IMGFX_FLAG_REVERSE_ANIM = 0x00000100, // fold animation plays backwards (from end to start)
IMGFX_FLAG_200 = 0x00000200,
IMGFX_FLAG_400 = 0x00000400,
IMGFX_FLAG_800 = 0x00000800,
IMGFX_FLAG_ANIM_DONE = 0x00001000,
IMGFX_FLAG_2000 = 0x00002000,
IMGFX_FLAG_4000 = 0x00004000,
IMGFX_FLAG_8000 = 0x00008000,
IMGFX_FLAG_NO_FILTERING = 0x00010000,
IMGFX_FLAG_20000 = 0x00020000,
IMGFX_FLAG_40000 = 0x00040000,
IMGFX_FLAG_80000 = 0x00080000,
IMGFX_FLAG_100000 = 0x00100000,
};
typedef enum FoldType {
FOLD_UPD_CLEAR = 0x0, // or FOLD_UPD_INIT?
FOLD_TYPE_1 = 0x1, // unused?
FOLD_TYPE_2 = 0x2, // unused?
FOLD_TYPE_3 = 0x3, // after goomba 'sticker' ambush in kmr_09 unfurls
FOLD_UPD_WAVY = 0x4, // Kolorado when injured and Sushie when underwater (* note: Sushie fold rendering is bugged and only occurs *before* going underwater)
FOLD_UPD_SET_ANIM = 0x5,
FOLD_UPD_SET_COLOR = 0x6, // modulate color (args: R, G, B)
FOLD_UPD_SET_ALPHA = 0x7, // modulate alpha (args: A)
FOLD_UPD_SET_TINT = 0x8, // modulate color+alpha (args: R, G, B, A)
FOLD_TYPE_9 = 0x9,
FOLD_TYPE_A = 0xA,
FOLD_UPD_COLOR_BUF_SET_B = 0xB,
FOLD_UPD_COLOR_BUF_SET_C = 0xC,
FOLD_UPD_HOLOGRAM = 0xD, // ghostly star spirits and merlar (args: ???, staticAmt, ???, alphaAmt)
FOLD_TYPE_E = 0xE,
FOLD_TYPE_F = 0xF,
FOLD_TYPE_10 = 0x10, // unused?
FOLD_UPD_ALLOC_COLOR_BUF = 0x11, // args: count
} FoldType;
typedef enum ImgFXType {
IMGFX_CLEAR = 0x0,
IMGFX_UNK_1 = 0x1, // unused?
IMGFX_UNK_2 = 0x2, // unused?
IMGFX_RESET = 0x3, // after goomba 'sticker' ambush in kmr_09 unfurls. might be to force-terminate ANIM.
IMGFX_SET_WAVY = 0x4, // Kolorado when injured and Sushie when underwater (* note: Sushie fold rendering is bugged and only occurs *before* going underwater)
IMGFX_SET_ANIM = 0x5,
IMGFX_SET_COLOR = 0x6, // modulate color (args: R, G, B)
IMGFX_SET_ALPHA = 0x7, // modulate alpha (args: A)
IMGFX_SET_TINT = 0x8, // modulate color+alpha (args: R, G, B, A)
IMGFX_SET_WHITE_FADE = 0x9,
IMGFX_SET_CREDITS_FADE = 0xA,
IMGFX_COLOR_BUF_SET_MULTIPLY = 0xB,
IMGFX_COLOR_BUF_SET_MODULATE = 0xC,
IMGFX_HOLOGRAM = 0xD, // ghostly star spirits and merlar (args: ???, staticAmt, ???, alphaAmt)
IMGFX_FILL_COLOR = 0xE, // used to create boss silhouettes in chapter introduction sceens
IMGFX_OVERLAY = 0xF,
IMGFX_OVERLAY_XLU = 0x10, // unused?
IMGFX_ALLOC_COLOR_BUF = 0x11, // args: count
} ImgFXType;
typedef enum FoldAnim {
FOLD_ANIM_SHOCK = 0x00, // used for Goombaria and Goompapa when Kammy drops the hammer block
FOLD_ANIM_SHIVER = 0x01, // used when Goombaria gives Mario a kiss
FOLD_ANIM_VERTICAL_PIPE_CURL = 0x02, // vertical pipe curl
FOLD_ANIM_HORIZONTAL_PIPE_CURL = 0x03, // horizontal pipe curl
FOLD_ANIM_STARTLE = 0x04, // used when Koopa Bros are surprised by Mario
FOLD_ANIM_FLUTTER_DOWN = 0x05, // player falling like paper
FOLD_ANIM_UNFURL = 0x06, // used by Goomba 'stickers' that ambush Mario in area_kmr
FOLD_ANIM_GET_IN_BED = 0x07, // Mario gets into bed
FOLD_ANIM_SPIRIT_CAPTURE = 0x08, // Eldstar being captured
FOLD_ANIM_UNUSED_1 = 0x09, // unused
FOLD_ANIM_UNUSED_2 = 0x0A, // unused
FOLD_ANIM_UNUSED_3 = 0x0B, // unused
FOLD_ANIM_TUTANKOOPA_GATHER = 0x0C, // tutankoopa 3
FOLD_ANIM_TUTANKOOPA_SWIRL_2 = 0x0D, // tutankoopa 2
FOLD_ANIM_TUTANKOOPA_SWIRL_1 = 0x0E, // tutankoopa 1
FOLD_ANIM_SHUFFLE_CARDS = 0x0F, // merlee spell-casting card shuffle
FOLD_ANIM_FLIP_CARD_1 = 0x10, // merlee spell-casting card flip 1
FOLD_ANIM_FLIP_CARD_2 = 0x11, // merlee spell-casting card flip 2
FOLD_ANIM_FLIP_CARD_3 = 0x12, // merlee spell-casting card flip 3
FOLD_ANIM_CYMBAL_CRUSH = 0x13, // used when Mario is crushed in a Cymbal Plant
} FoldAnim;
typedef enum ImgFXAnim {
IMGFX_ANIM_SHOCK = 0x00, // used for Goombaria and Goompapa when Kammy drops the hammer block
IMGFX_ANIM_SHIVER = 0x01, // used when Goombaria gives Mario a kiss
IMGFX_ANIM_VERTICAL_PIPE_CURL = 0x02, // vertical pipe curl
IMGFX_ANIM_HORIZONTAL_PIPE_CURL = 0x03, // horizontal pipe curl
IMGFX_ANIM_STARTLE = 0x04, // used when Koopa Bros are surprised by Mario
IMGFX_ANIM_FLUTTER_DOWN = 0x05, // player falling like paper
IMGFX_ANIM_UNFURL = 0x06, // used by Goomba 'stickers' that ambush Mario in area_kmr
IMGFX_ANIM_GET_IN_BED = 0x07, // Mario gets into bed
IMGFX_ANIM_SPIRIT_CAPTURE = 0x08, // Eldstar being captured
IMGFX_ANIM_UNUSED_1 = 0x09, // unused
IMGFX_ANIM_UNUSED_2 = 0x0A, // unused
IMGFX_ANIM_UNUSED_3 = 0x0B, // unused
IMGFX_ANIM_TUTANKOOPA_GATHER = 0x0C, // tutankoopa 3
IMGFX_ANIM_TUTANKOOPA_SWIRL_2 = 0x0D, // tutankoopa 2
IMGFX_ANIM_TUTANKOOPA_SWIRL_1 = 0x0E, // tutankoopa 1
IMGFX_ANIM_SHUFFLE_CARDS = 0x0F, // merlee spell-casting card shuffle
IMGFX_ANIM_FLIP_CARD_1 = 0x10, // merlee spell-casting card flip 1
IMGFX_ANIM_FLIP_CARD_2 = 0x11, // merlee spell-casting card flip 2
IMGFX_ANIM_FLIP_CARD_3 = 0x12, // merlee spell-casting card flip 3
IMGFX_ANIM_CYMBAL_CRUSH = 0x13, // used when Mario is crushed in a Cymbal Plant
} ImgFXAnim;
typedef enum FoldRenderType {
FOLD_RENDER_TYPE_0 = 0x0,
FOLD_RENDER_TYPE_1 = 0x1,
FOLD_RENDER_TYPE_2 = 0x2,
FOLD_RENDER_TYPE_3 = 0x3,
FOLD_RENDER_TYPE_4 = 0x4,
FOLD_RENDER_TYPE_5 = 0x5,
FOLD_RENDER_TYPE_6 = 0x6,
FOLD_RENDER_TYPE_7 = 0x7,
FOLD_RENDER_TYPE_8 = 0x8,
FOLD_RENDER_TYPE_9 = 0x9,
FOLD_RENDER_TYPE_A = 0xA,
FOLD_RENDER_TYPE_B = 0xB,
FOLD_RENDER_HOLOGRAM = 0xC,
FOLD_RENDER_TYPE_D = 0xD,
FOLD_RENDER_TYPE_E = 0xE,
FOLD_RENDER_TYPE_F = 0xF,
FOLD_RENDER_TYPE_10 = 0x10,
} FoldRenderType;
typedef enum ImgFXRenderType {
IMGFX_RENDER_DEFAULT = 0x00,
IMGFX_RENDER_MULTIPLY_RGB = 0x01,
IMGFX_RENDER_MULTIPLY_ALPHA = 0x02,
IMGFX_RENDER_MULTIPLY_RGBA = 0x03,
IMGFX_RENDER_MODULATE_PRIM_RGB = 0x04,
IMGFX_RENDER_MODULATE_PRIM_RGBA = 0x05,
IMGFX_RENDER_MULTIPLY_SHADE_RGB = 0x06,
IMGFX_RENDER_MULTIPLY_SHADE_ALPHA = 0x07,
IMGFX_RENDER_MULTIPLY_SHADE_RGBA = 0x08,
IMGFX_RENDER_MODULATE_SHADE_RGB = 0x09,
IMGFX_RENDER_MODULATE_SHADE_RGBA = 0x0A,
IMGFX_RENDER_ANIM = 0x0B,
IMGFX_RENDER_HOLOGRAM = 0x0C,
IMGFX_RENDER_COLOR_FILL = 0x0D,
IMGFX_RENDER_OVERLAY_RGB = 0x0E,
IMGFX_RENDER_OVERLAY_RGBA = 0x0F,
IMGFX_RENDER_UNUSED = 0x10,
} ImgFXRenderType;
typedef enum FoldMeshType {
FOLD_MESH_TYPE_0 = 0x0,
FOLD_MESH_TYPE_1 = 0x1,
FOLD_MESH_ANIMATED = 0x2,
FOLD_MESH_TYPE_3 = 0x3,
FOLD_MESH_TYPE_4 = 0x4,
} FoldMeshType;
enum ImgFXRenderModeFlags {
IMGFX_RENDER_NO_OVERRIDE = 1,
};
typedef enum ImgFXMeshType {
IMGFX_MESH_DEFAULT = 0x0,
IMGFX_MESH_GRID_WAVY = 0x1,
IMGFX_MESH_ANIMATED = 0x2,
IMGFX_MESH_GRID_UNUSED = 0x3,
IMGFX_MESH_STRIP = 0x4,
} ImgFXMeshType;
enum ImgFXHologramTypes {
IMGFX_HOLOGRAM_NOISE = 0,
IMGFX_HOLOGRAM_DITHER = 1,
IMGFX_HOLOGRAM_THRESHOLD = 2,
};
enum SpriteCompImgFXFlags {
SPR_IMGFX_FLAG_10000000 = 0x10000000,
SPR_IMGFX_FLAG_20000000 = 0x20000000,
SPR_IMGFX_FLAG_40000000 = 0x40000000,
SPR_IMGFX_FLAG_80000000 = 0x80000000,
SPR_IMGFX_FLAG_ALL = 0xF0000000,
};
enum MoveType {
MOVE_TYPE_NONE = 0,

View File

@ -791,10 +791,10 @@ s32 create_worker_world(WorldArgs, WorldArgs);
void init_entity_models(void);
f32 phys_get_spin_history(s32 lag, s32* x, s32* y, s32* z);
void fold_update(u32, FoldType, s32, s32, s32, s32, s32);
s32 fold_appendGfx_component(s32, FoldImageRecPart*, u32, Matrix4f);
void func_8013A6E8(void);
s32 func_8013A704(s32);
void imgfx_update(u32, ImgFXType, s32, s32, s32, s32, s32);
s32 imgfx_appendGfx_component(s32, ImgFXTexture*, u32, Matrix4f);
void imgfx_update_cache(void);
s32 imgfx_get_free_instances(s32);
void free_worker(s32);
s32 ai_check_fwd_collisions(Npc* npc, f32 arg1, f32* arg2, f32* arg3, f32* arg4, f32* arg5);
@ -983,7 +983,7 @@ void func_8025DBC8(ActorPart*, s32);
void func_8025DD40(ActorPart*, s32);
void func_8025DE88(ActorPart*, s32);
void status_menu_ignore_changes(void);
void func_8013A854(u32);
void imgfx_release_instance(u32);
void set_script_flags(Evt* script, s32 flags);
void clear_script_flags(Evt* script, s32 flags);

View File

@ -94,7 +94,7 @@
#define MAX_WORKERS 16
#define MAX_TEX_PANNERS 16
#define MAX_ITEM_ENTITIES 256
#define MAX_FOLD_STATES 90
#define MAX_IMGFX_INSTANCES 90
#define MAX_STAR_PIECES 222

View File

@ -594,7 +594,7 @@ s32 npc_get_collider_below(Npc* npc);
void func_8003D3BC(Npc* npc);
void npc_set_fold_params(Npc* npc, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6);
void npc_set_imgfx_params(Npc* npc, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6);
void spawn_surface_effects(Npc* npc, SurfaceInteractMode mode);

View File

@ -292,8 +292,8 @@ ApiStatus func_802D2484(Evt* script, s32 isInitialCall);
ApiStatus WaitForPlayerTouchingFloor(Evt* script, s32 isInitialCall);
ApiStatus IsPlayerOnValidFloor(Evt* script, s32 isInitialCall);
ApiStatus WaitForPlayerMoveToComplete(Evt* script, s32 isInitialCall);
ApiStatus SetNpcFoldFlags(Evt* script, s32 isInitialCall);
ApiStatus SetNpcFoldParams(Evt* script, s32 isInitialCall);
ApiStatus SetNpcImgFXFlags(Evt* script, s32 isInitialCall);
ApiStatus SetNpcImgFXParams(Evt* script, s32 isInitialCall);
ApiStatus IsStartingConversation(Evt* script, s32 isInitialCall);
ApiStatus SetTimeFreezeMode(Evt* script, s32 isInitialCall);
ApiStatus CreateVirtualEntity(Evt* script, s32 isInitialCall);
@ -327,8 +327,8 @@ ApiStatus func_802CF56C(Evt* script, s32 isInitialCall);
ApiStatus func_802CA988(Evt* script, s32 isInitialCall);
ApiStatus SetNpcRotationPivot(Evt* script, s32 isInitialCall);
ApiStatus SetSleepBubbleTimeLeft(Evt* script, s32 isInitialCall);
ApiStatus SetPlayerFoldFlags(Evt* script, s32 isInitialCall);
ApiStatus UpdatePlayerFold(Evt* script, s32 isInitialCall);
ApiStatus SetPlayerImgFXFlags(Evt* script, s32 isInitialCall);
ApiStatus UpdatePlayerImgFX(Evt* script, s32 isInitialCall);
ApiStatus PushSong(Evt* script, s32 isInitialCall);
ApiStatus PopSong(Evt* script, s32 isInitialCall);
ApiStatus func_802D62E4(Evt* script, s32 isInitialCall);

View File

@ -724,22 +724,22 @@
// only set perspective to standard values
#define EVT_SETUP_CAMERA_MINIMAL() \
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_MODE_3, 25, 16, 4096)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_FROM_ZONE, 25, 16, 4096)
#define EVT_SETUP_CAMERA_DEFAULT() \
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_MODE_3, 25, 16, 4096) \
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_FROM_ZONE, 25, 16, 4096) \
EVT_CALL(SetCamBGColor, CAM_DEFAULT, 0, 0, 0) \
EVT_CALL(SetCamEnabled, CAM_DEFAULT, TRUE)
#define EVT_SETUP_CAMERA_NO_LEAD() \
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_MODE_3, 25, 16, 4096) \
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_FROM_ZONE, 25, 16, 4096) \
EVT_CALL(SetCamBGColor, CAM_DEFAULT, 0, 0, 0) \
EVT_CALL(SetCamEnabled, CAM_DEFAULT, TRUE) \
EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE)
// same as EVT_SETUP_CAMERA_NO_LEAD with calls reordered
#define EVT_SETUP_CAMERA_ALT_NO_LEAD() \
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_MODE_3, 25, 16, 4096) \
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_FROM_ZONE, 25, 16, 4096) \
EVT_CALL(SetCamBGColor, CAM_DEFAULT, 0, 0, 0) \
EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE) \
EVT_CALL(SetCamEnabled, CAM_DEFAULT, TRUE)

View File

@ -255,9 +255,9 @@ void btl_state_update_normal_start(void) {
battleStatus->damageTaken = 0;
battleStatus->nextMerleeSpellType = MERLEE_SPELL_0;
battleStatus->actionCommandMode = ACTION_COMMAND_MODE_NOT_LEARNED;
gCameras[CAM_DEFAULT].flags |= CAMERA_FLAG_ENABLED;
gCameras[CAM_BATTLE].flags |= CAMERA_FLAG_ENABLED;
gCameras[CAM_TATTLE].flags |= CAMERA_FLAG_ENABLED;
gCameras[CAM_DEFAULT].flags |= CAMERA_FLAG_DISABLED;
gCameras[CAM_BATTLE].flags |= CAMERA_FLAG_DISABLED;
gCameras[CAM_TATTLE].flags |= CAMERA_FLAG_DISABLED;
if (is_ability_active(ABILITY_MYSTERY_SCROLL)) {
battleStatus->actionCommandMode = ACTION_COMMAND_MODE_LEARNED;
}

View File

@ -1132,7 +1132,7 @@ void btl_delete_actor(Actor* actor) {
}
if (part->idleAnimations != NULL) {
func_802DE894(part->spriteInstanceID, FOLD_UPD_CLEAR, 0, 0, 0, 0, 0);
set_npc_imgfx_all(part->spriteInstanceID, IMGFX_CLEAR, 0, 0, 0, 0, 0);
ASSERT(spr_free_sprite(part->spriteInstanceID) == 0);

View File

@ -3223,9 +3223,9 @@ void func_8025C8A0(s32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) {
if (part->decorationTable->unk_751 != 0) {
part->decorationTable->unk_751 = 0;
if (isNpcSprite == SPRITE_MODE_PLAYER) {
func_802DDFF8(PLAYER_SPRITE_MAIN, FOLD_UPD_CLEAR, 0, 0, 0, 0, 0);
set_player_imgfx_all(PLAYER_SPRITE_MAIN, IMGFX_CLEAR, 0, 0, 0, 0, 0);
} else {
func_802DE894(part->spriteInstanceID, FOLD_UPD_CLEAR, 0, 0, 0, 0, 0);
set_npc_imgfx_all(part->spriteInstanceID, IMGFX_CLEAR, 0, 0, 0, 0, 0);
}
}
}
@ -3246,9 +3246,9 @@ void func_8025C918(s32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) {
decor->unk_751 = 0;
decor->unk758 = 0;
if (isNpcSprite == SPRITE_MODE_PLAYER) {
func_802DDFF8(PLAYER_SPRITE_MAIN, FOLD_UPD_ALLOC_COLOR_BUF, 20, 0, 0, 255, 0);
set_player_imgfx_all(PLAYER_SPRITE_MAIN, IMGFX_ALLOC_COLOR_BUF, 20, 0, 0, 255, 0);
} else {
func_802DE894(part->spriteInstanceID, FOLD_UPD_ALLOC_COLOR_BUF, 20, 0, 0, 255, 0);
set_npc_imgfx_all(part->spriteInstanceID, IMGFX_ALLOC_COLOR_BUF, 20, 0, 0, 255, 0);
}
}
@ -3276,9 +3276,9 @@ void func_8025C918(s32 isNpcSprite, ActorPart* part, s32 yaw, s32 arg3) {
for (i = 0; i < ARRAY_COUNT(rbuf); i++) {
color = (rbuf[i] << 0x18) | (gbuf[i] << 0x10) | (bbuf[i] << 8) | alpha;
if (isNpcSprite == SPRITE_MODE_PLAYER) {
func_802DDFF8(PLAYER_SPRITE_MAIN, FOLD_UPD_COLOR_BUF_SET_C, i, color, 0, 255, 0);
set_player_imgfx_all(PLAYER_SPRITE_MAIN, IMGFX_COLOR_BUF_SET_MODULATE, i, color, 0, 255, 0);
} else {
func_802DE894(part->spriteInstanceID, FOLD_UPD_COLOR_BUF_SET_C, i, color, 0, 255, 0);
set_npc_imgfx_all(part->spriteInstanceID, IMGFX_COLOR_BUF_SET_MODULATE, i, color, 0, 255, 0);
}
}

View File

@ -3336,7 +3336,7 @@ ApiStatus EnableActorGlow(Evt* script, s32 isInitialCall) {
while (it != NULL) {
if (it->idleAnimations != NULL) {
func_802DE894(it->spriteInstanceID, FOLD_UPD_CLEAR, 0, 0, 0, 0, 0);
set_npc_imgfx_all(it->spriteInstanceID, IMGFX_CLEAR, 0, 0, 0, 0, 0);
}
it = it->nextPart;
}

View File

@ -70,12 +70,12 @@ EvtScript D_800939B4 = {
EVT_LOOP(30)
EVT_CALL(SetNpcRotation, NPC_SELF, 0, LVar0, 0)
EVT_CALL(func_8005DD54)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_SET_COLOR, LVar2, LVar2, LVar2, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_SET_COLOR, LVar2, LVar2, LVar2, 0)
EVT_ADD(LVar0, 30)
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(SetNpcRotation, NPC_SELF, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_SET_COLOR, 255, 255, 255, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_SET_COLOR, 255, 255, 255, 0)
EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_CAMERA_FOR_YAW, FALSE)
EVT_CALL(SetSelfVar, 0, 0)
EVT_CALL(func_8005DDF0)

View File

@ -1480,11 +1480,11 @@ void render_player_model(void) {
}
playerStatus->renderMode = renderModeTemp;
func_802DDEE4(PLAYER_SPRITE_MAIN, -1, 7, 0, 0, 0, playerStatus->alpha1, 0);
set_player_imgfx_comp(PLAYER_SPRITE_MAIN, -1, IMGFX_SET_ALPHA, 0, 0, 0, playerStatus->alpha1, 0);
} else {
playerStatus->renderMode = RENDER_MODE_ALPHATEST;
func_802DDEE4(PLAYER_SPRITE_MAIN, -1, 0, 0, 0, 0, 0, 0);
set_player_imgfx_comp(PLAYER_SPRITE_MAIN, -1, IMGFX_CLEAR, 0, 0, 0, 0, 0);
}
}
@ -1542,7 +1542,7 @@ void appendGfx_player(void* data) {
guMtxCatF(sp20, spA0, sp20);
guTranslateF(sp60, 0.0f, playerStatus->colliderHeight * 0.5f, 0.0f);
guMtxCatF(sp20, sp60, sp20);
guScaleF(spE0, SPRITE_WORLD_SCALE_F, SPRITE_WORLD_SCALE_D, SPRITE_WORLD_SCALE_D);
guScaleF(spE0, SPRITE_WORLD_SCALE_D, SPRITE_WORLD_SCALE_D, SPRITE_WORLD_SCALE_D);
guMtxCatF(sp20, spE0, sp20);
guTranslateF(sp60, playerStatus->position.x, playerStatus->position.y, playerStatus->position.z);
guMtxCatF(sp20, sp60, sp20);
@ -1550,14 +1550,14 @@ void appendGfx_player(void* data) {
if (playerStatus->animFlags & PA_FLAG_SHIVERING) {
playerStatus->animFlags = playerStatus->animFlags & ~PA_FLAG_SHIVERING;
playerStatus->shiverTime = 22;
func_802DDEE4(PLAYER_SPRITE_MAIN, -1, 0, 0, 0, 0, 0, 0);
func_802DDFF8(playerStatus->anim, FOLD_UPD_SET_ANIM, FOLD_ANIM_SHIVER, 1, 1, 0, 0);
set_player_imgfx_comp(PLAYER_SPRITE_MAIN, -1, IMGFX_CLEAR, 0, 0, 0, 0, 0);
set_player_imgfx_all(playerStatus->anim, IMGFX_SET_ANIM, IMGFX_ANIM_SHIVER, 1, 1, 0, 0);
}
if (playerStatus->shiverTime != 0) {
playerStatus->shiverTime--;
if (playerStatus->shiverTime == 0) {
func_802DDEE4(PLAYER_SPRITE_MAIN, -1, 0, 0, 0, 0, 0, 0);
set_player_imgfx_comp(PLAYER_SPRITE_MAIN, -1, IMGFX_CLEAR, 0, 0, 0, 0, 0);
}
}
@ -1614,7 +1614,7 @@ void appendGfx_player_spin(void* data) {
tint = 100;
}
func_802DDFF8(PLAYER_SPRITE_MAIN, FOLD_UPD_SET_COLOR, tint, tint, tint, 255, 0);
set_player_imgfx_all(PLAYER_SPRITE_MAIN, IMGFX_SET_COLOR, tint, tint, tint, 255, 0);
guRotateF(rotation, yaw, 0.0f, -1.0f, 0.0f);
guRotateF(mtx, clamp_angle(playerStatus->pitch), 0.0f, 0.0f, 1.0f);
@ -1633,7 +1633,7 @@ void appendGfx_player_spin(void* data) {
px = playerStatus->position.x;
pz = playerStatus->position.z;
func_802DDEE4(PLAYER_SPRITE_MAIN, -1, 7, 0, 0, 0, 64, 0);
set_player_imgfx_comp(PLAYER_SPRITE_MAIN, -1, IMGFX_SET_ALPHA, 0, 0, 0, 64, 0);
guRotateF(mtx, yaw, 0.0f, -1.0f, 0.0f);
guRotateF(rotation, yaw, 0.0f, -1.0f, 0.0f);
guRotateF(mtx, blurAngle, 0.0f, 1.0f, 0.0f);

View File

@ -31,8 +31,8 @@ void func_800E6860(void) {
if (gPartnerStatus.partnerActionState != PARTNER_ACTION_NONE && gPartnerStatus.actingPartner == PARTNER_BOW) {
Npc* partner = get_npc_unsafe(NPC_PARTNER);
func_802DDEE4(PLAYER_SPRITE_MAIN, -1, FOLD_UPD_SET_ALPHA, 0, 0, 0, playerStatus->alpha1, 0);
npc_set_fold_params(partner, FOLD_UPD_SET_ALPHA, playerStatus->alpha1, 0, 0, 0, 0);
set_player_imgfx_comp(PLAYER_SPRITE_MAIN, -1, IMGFX_SET_ALPHA, 0, 0, 0, playerStatus->alpha1, 0);
npc_set_imgfx_params(partner, IMGFX_SET_ALPHA, playerStatus->alpha1, 0, 0, 0, 0);
playerStatus->alpha2 = 0;
}
}

View File

@ -15,213 +15,217 @@ void update_cameras(void) {
for (i = 0; i < ARRAY_COUNT(gCameras); i++) {
Camera* cam = &gCameras[i];
s32 sx;
s32 sy;
s32 sz;
if (cam->flags != 0 && !(cam->flags & CAMERA_FLAG_ENABLED)) {
s32 sx;
s32 sy;
s32 sz;
gCurrentCamID = i;
switch (cam->updateMode) {
case CAM_UPDATE_MODE_3:
update_camera_zone_interp(cam);
break;
case CAM_UPDATE_MODE_0:
update_camera_mode_0(cam);
break;
case CAM_UPDATE_MODE_1:
update_camera_mode_1(cam);
break;
case CAM_UPDATE_MODE_2:
update_camera_mode_2(cam);
break;
case CAM_UPDATE_MODE_4:
update_camera_mode_4(cam);
break;
case CAM_UPDATE_MODE_5:
update_camera_mode_5(cam);
break;
case CAM_UPDATE_MODE_6:
default:
update_camera_mode_6(cam);
break;
}
guLookAtReflectF(cam->viewMtxPlayer, &gDisplayContext->lookAt, cam->lookAt_eye.x, cam->lookAt_eye.y, cam->lookAt_eye.z, cam->lookAt_obj.x, cam->lookAt_obj.y, cam->lookAt_obj.z, 0, 1.0f, 0);
if (!(cam->flags & CAMERA_FLAG_ORTHO)) {
if (cam->flags & CAMERA_FLAG_LEAD_PLAYER) {
create_camera_leadplayer_matrix(cam);
}
guPerspectiveF(cam->perspectiveMatrix, &cam->perspNorm, cam->vfov, (f32) cam->viewportW / (f32) cam->viewportH, (f32) cam->nearClip, (f32) cam->farClip, 1.0f);
if (cam->flags & CAMERA_FLAG_SHAKING) {
guMtxCatF(cam->viewMtxShaking, cam->perspectiveMatrix, cam->perspectiveMatrix);
}
if (cam->flags & CAMERA_FLAG_LEAD_PLAYER) {
guMtxCatF(cam->viewMtxLeading, cam->perspectiveMatrix, cam->perspectiveMatrix);
}
guMtxCatF(cam->viewMtxPlayer, cam->perspectiveMatrix, cam->perspectiveMatrix);
} else {
f32 w = cam->viewportW;
f32 h = cam->viewportH;
guOrthoF(cam->perspectiveMatrix, -w * 0.5, w * 0.5, -h * 0.5, h * 0.5, -1000.0f, 1000.0f, 1.0f);
}
get_screen_coords(0, cam->targetPos.x, cam->targetPos.y, cam->targetPos.z, &sx, &sy, &sz);
cam->targetScreenCoords.x = sx;
cam->targetScreenCoords.y = sy;
cam->targetScreenCoords.z = sz;
if (cam->flags == 0 || cam->flags & CAMERA_FLAG_DISABLED) {
continue;
}
gCurrentCamID = i;
switch (cam->updateMode) {
case CAM_UPDATE_FROM_ZONE:
update_camera_zone_interp(cam);
break;
case CAM_UPDATE_MODE_INIT:
update_camera_mode_0(cam);
break;
case CAM_UPDATE_UNUSED_1:
update_camera_mode_1(cam);
break;
case CAM_UPDATE_MODE_2:
update_camera_mode_2(cam);
break;
case CAM_UPDATE_UNUSED_4:
update_camera_mode_4(cam);
break;
case CAM_UPDATE_UNUSED_5:
update_camera_mode_5(cam);
break;
case CAM_UPDATE_MODE_6:
default:
update_camera_mode_6(cam);
break;
}
guLookAtReflectF(cam->viewMtxPlayer, &gDisplayContext->lookAt, cam->lookAt_eye.x, cam->lookAt_eye.y, cam->lookAt_eye.z, cam->lookAt_obj.x, cam->lookAt_obj.y, cam->lookAt_obj.z, 0, 1.0f, 0);
if (!(cam->flags & CAMERA_FLAG_ORTHO)) {
if (cam->flags & CAMERA_FLAG_LEAD_PLAYER) {
create_camera_leadplayer_matrix(cam);
}
guPerspectiveF(cam->perspectiveMatrix, &cam->perspNorm, cam->vfov, (f32) cam->viewportW / (f32) cam->viewportH, (f32) cam->nearClip, (f32) cam->farClip, 1.0f);
if (cam->flags & CAMERA_FLAG_SHAKING) {
guMtxCatF(cam->viewMtxShaking, cam->perspectiveMatrix, cam->perspectiveMatrix);
}
if (cam->flags & CAMERA_FLAG_LEAD_PLAYER) {
guMtxCatF(cam->viewMtxLeading, cam->perspectiveMatrix, cam->perspectiveMatrix);
}
guMtxCatF(cam->viewMtxPlayer, cam->perspectiveMatrix, cam->perspectiveMatrix);
} else {
f32 w = cam->viewportW;
f32 h = cam->viewportH;
guOrthoF(cam->perspectiveMatrix, -w * 0.5, w * 0.5, -h * 0.5, h * 0.5, -1000.0f, 1000.0f, 1.0f);
}
get_screen_coords(0, cam->targetPos.x, cam->targetPos.y, cam->targetPos.z, &sx, &sy, &sz);
cam->targetScreenCoords.x = sx;
cam->targetScreenCoords.y = sy;
cam->targetScreenCoords.z = sz;
}
gCurrentCamID = 0;
gCurrentCamID = CAM_DEFAULT;
}
void render_frame(s32 flag) {
void render_frame(s32 isSecondPass) {
s32 camID;
if (!flag) {
gCurrentCamID = 0;
if (!isSecondPass) {
gCurrentCamID = CAM_DEFAULT;
func_80116698();
}
if (flag) {
if (isSecondPass) {
camID = CAM_3;
} else {
camID = CAM_DEFAULT;
}
flag = 1 - flag; // toggle flag 0/1
// first pass: loop uses camIDs from CAM_DEFAULT to CAM_3 - 1
// second pass: loop only uses CAM_3
isSecondPass = 1 - isSecondPass;
for (; camID < ARRAY_COUNT(gCameras) - flag; camID++) {
for (; camID < ARRAY_COUNT(gCameras) - isSecondPass; camID++) {
Camera* camera = &gCameras[camID];
u16 matrixListPos;
if (camera->flags != 0 && !(camera->flags & (CAMERA_FLAG_80 | CAMERA_FLAG_ENABLED))) {
u16 matrixListPos;
if (camera->flags == 0 || (camera->flags & (CAMERA_FLAG_80 | CAMERA_FLAG_DISABLED))) {
continue;
}
gCurrentCamID = camID;
gCurrentCamID = camID;
if (camera->fpDoPreRender != NULL) {
camera->fpDoPreRender(camera);
} else {
s32 ulx;
s32 uly;
s32 lrx;
s32 lry;
if (camera->fpDoPreRender != NULL) {
camera->fpDoPreRender(camera);
} else {
s32 ulx;
s32 uly;
s32 lrx;
s32 lry;
gSPViewport(gMainGfxPos++, &camera->vp);
gSPClearGeometryMode(gMainGfxPos++, G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH);
gSPTexture(gMainGfxPos++, 0, 0, 0, G_TX_RENDERTILE, G_OFF);
gDPSetCycleType(gMainGfxPos++, G_CYC_1CYCLE);
gDPPipelineMode(gMainGfxPos++, G_PM_NPRIMITIVE);
gSPViewport(gMainGfxPos++, &camera->vp);
gSPClearGeometryMode(gMainGfxPos++, G_SHADE | G_CULL_BOTH | G_FOG | G_LIGHTING | G_TEXTURE_GEN |
G_TEXTURE_GEN_LINEAR | G_LOD | G_SHADING_SMOOTH);
gSPTexture(gMainGfxPos++, 0, 0, 0, G_TX_RENDERTILE, G_OFF);
gDPSetCycleType(gMainGfxPos++, G_CYC_1CYCLE);
gDPPipelineMode(gMainGfxPos++, G_PM_NPRIMITIVE);
ulx = camera->viewportStartX;
uly = camera->viewportStartY;
lrx = ulx + camera->viewportW;
lry = uly + camera->viewportH;
ulx = camera->viewportStartX;
uly = camera->viewportStartY;
lrx = ulx + camera->viewportW;
lry = uly + camera->viewportH;
if (ulx < 0) {
ulx = 0;
}
if (uly < 0) {
uly = 0;
}
if (lrx < 1) {
lrx = 1;
}
if (lry < 1) {
lry = 1;
}
if (ulx > SCREEN_WIDTH - 1) {
ulx = SCREEN_WIDTH - 1;
}
if (uly > SCREEN_HEIGHT - 1) {
uly = SCREEN_HEIGHT - 1;
}
if (lrx > SCREEN_WIDTH) {
lrx = SCREEN_WIDTH;
}
if (lry > SCREEN_HEIGHT) {
lry = SCREEN_HEIGHT;
}
gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, ulx, uly, lrx, lry);
gDPSetTextureLOD(gMainGfxPos++, G_TL_TILE);
gDPSetTextureLUT(gMainGfxPos++, G_TT_NONE);
gDPSetTextureDetail(gMainGfxPos++, G_TD_CLAMP);
gDPSetTexturePersp(gMainGfxPos++, G_TP_PERSP);
gDPSetTextureFilter(gMainGfxPos++, G_TF_BILERP);
gDPSetTextureConvert(gMainGfxPos++, G_TC_FILT);
gDPSetCombineMode(gMainGfxPos++, G_CC_SHADE, G_CC_SHADE);
gDPSetCombineKey(gMainGfxPos++, G_CK_NONE);
gDPSetAlphaCompare(gMainGfxPos++, G_AC_NONE);
gDPSetRenderMode(gMainGfxPos++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
gDPSetColorDither(gMainGfxPos++, G_CD_DISABLE);
gSPClipRatio(gMainGfxPos++, FRUSTRATIO_2);
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH,
osVirtualToPhysical(nuGfxCfb_ptr));
gDPPipeSync(gMainGfxPos++);
if (!(camera->flags & CAMERA_FLAG_ORTHO)) {
gSPPerspNormalize(gMainGfxPos++, camera->perspNorm);
}
guMtxF2L(camera->perspectiveMatrix, &gDisplayContext->camPerspMatrix[gCurrentCamID]);
gSPMatrix(gMainGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCamID], G_MTX_NOPUSH | G_MTX_LOAD |
G_MTX_PROJECTION);
if (ulx < 0) {
ulx = 0;
}
if (uly < 0) {
uly = 0;
}
if (lrx < 1) {
lrx = 1;
}
if (lry < 1) {
lry = 1;
}
camera->unkMatrix = &gDisplayContext->matrixStack[gMatrixListPos];
matrixListPos = gMatrixListPos++;
guRotate(&gDisplayContext->matrixStack[matrixListPos], -camera->trueRotation.x, 0.0f, 1.0f, 0.0f);
camera->vpAlt.vp.vtrans[0] = camera->vp.vp.vtrans[0] + gGameStatusPtr->unk_82;
camera->vpAlt.vp.vtrans[1] = camera->vp.vp.vtrans[1] + gGameStatusPtr->unk_83;
if (ulx > SCREEN_WIDTH - 1) {
ulx = SCREEN_WIDTH - 1;
}
if (uly > SCREEN_HEIGHT - 1) {
uly = SCREEN_HEIGHT - 1;
}
if (lrx > SCREEN_WIDTH) {
lrx = SCREEN_WIDTH;
}
if (lry > SCREEN_HEIGHT) {
lry = SCREEN_HEIGHT;
}
gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, ulx, uly, lrx, lry);
gDPSetTextureLOD(gMainGfxPos++, G_TL_TILE);
gDPSetTextureLUT(gMainGfxPos++, G_TT_NONE);
gDPSetTextureDetail(gMainGfxPos++, G_TD_CLAMP);
gDPSetTexturePersp(gMainGfxPos++, G_TP_PERSP);
gDPSetTextureFilter(gMainGfxPos++, G_TF_BILERP);
gDPSetTextureConvert(gMainGfxPos++, G_TC_FILT);
gDPSetCombineMode(gMainGfxPos++, G_CC_SHADE, G_CC_SHADE);
gDPSetCombineKey(gMainGfxPos++, G_CK_NONE);
gDPSetAlphaCompare(gMainGfxPos++, G_AC_NONE);
gDPSetRenderMode(gMainGfxPos++, G_RM_OPA_SURF, G_RM_OPA_SURF2);
gDPSetColorDither(gMainGfxPos++, G_CD_DISABLE);
gSPClipRatio(gMainGfxPos++, FRUSTRATIO_2);
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH,
osVirtualToPhysical(nuGfxCfb_ptr));
gDPPipeSync(gMainGfxPos++);
if (!(camera->flags & CAMERA_FLAG_ORTHO)) {
if (gCurrentCamID != CAM_3) {
if (!(camera->flags & CAMERA_FLAG_RENDER_ENTITIES)) {
render_entities();
}
if (!(camera->flags & CAMERA_FLAG_RENDER_MODELS)) {
render_models();
}
render_player();
render_npcs();
render_workers_world();
render_effects_world();
execute_render_tasks();
render_hud_elements_world();
} else {
guOrthoF(camera->perspectiveMatrix, 0.0f, SCREEN_WIDTH, -SCREEN_HEIGHT, 0.0f, -1000.0f, 1000.0f,
1.0f);
guMtxF2L(camera->perspectiveMatrix, &gDisplayContext->camPerspMatrix[gCurrentCamID]);
gSPMatrix(gMainGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCamID], G_MTX_NOPUSH |
G_MTX_LOAD | G_MTX_PROJECTION);
render_hud_elements_world();
render_item_entities();
}
} else {
render_workers_world();
execute_render_tasks();
gSPPerspNormalize(gMainGfxPos++, camera->perspNorm);
}
if (camera->fpDoPostRender != NULL) {
camera->fpDoPostRender(camera);
}
gDPPipeSync(gMainGfxPos++);
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH,
osVirtualToPhysical(nuGfxCfb_ptr));
gDPPipeSync(gMainGfxPos++);
guMtxF2L(camera->perspectiveMatrix, &gDisplayContext->camPerspMatrix[gCurrentCamID]);
gSPMatrix(gMainGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCamID], G_MTX_NOPUSH | G_MTX_LOAD |
G_MTX_PROJECTION);
}
camera->unkMatrix = &gDisplayContext->matrixStack[gMatrixListPos];
matrixListPos = gMatrixListPos++;
guRotate(&gDisplayContext->matrixStack[matrixListPos], -camera->trueRotation.x, 0.0f, 1.0f, 0.0f);
camera->vpAlt.vp.vtrans[0] = camera->vp.vp.vtrans[0] + gGameStatusPtr->unk_82;
camera->vpAlt.vp.vtrans[1] = camera->vp.vp.vtrans[1] + gGameStatusPtr->unk_83;
if (!(camera->flags & CAMERA_FLAG_ORTHO)) {
if (gCurrentCamID != CAM_3) {
if (!(camera->flags & CAMERA_FLAG_RENDER_ENTITIES)) {
render_entities();
}
if (!(camera->flags & CAMERA_FLAG_RENDER_MODELS)) {
render_models();
}
render_player();
render_npcs();
render_workers_world();
render_effects_world();
execute_render_tasks();
render_hud_elements_world();
} else {
guOrthoF(camera->perspectiveMatrix, 0.0f, SCREEN_WIDTH, -SCREEN_HEIGHT, 0.0f, -1000.0f, 1000.0f,
1.0f);
guMtxF2L(camera->perspectiveMatrix, &gDisplayContext->camPerspMatrix[gCurrentCamID]);
gSPMatrix(gMainGfxPos++, &gDisplayContext->camPerspMatrix[gCurrentCamID], G_MTX_NOPUSH |
G_MTX_LOAD | G_MTX_PROJECTION);
render_hud_elements_world();
render_item_entities();
}
} else {
render_workers_world();
execute_render_tasks();
}
if (camera->fpDoPostRender != NULL) {
camera->fpDoPostRender(camera);
}
gDPPipeSync(gMainGfxPos++);
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH,
osVirtualToPhysical(nuGfxCfb_ptr));
gDPPipeSync(gMainGfxPos++);
}
}
@ -236,8 +240,8 @@ void create_cameras_a(void) {
gCameras[i].flags = 0;
}
camDataPtr->flags = CAMERA_FLAG_ENABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_0;
camDataPtr->flags = CAMERA_FLAG_DISABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_INIT;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
camDataPtr->viewStartX = 0;
@ -247,8 +251,8 @@ void create_cameras_a(void) {
camDataPtr->vfov = 50;
initialize_next_camera(camDataPtr);
camDataPtr->flags = CAMERA_FLAG_ENABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_0;
camDataPtr->flags = CAMERA_FLAG_DISABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_INIT;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
camDataPtr->viewStartX = 160;
@ -258,8 +262,8 @@ void create_cameras_a(void) {
camDataPtr->vfov = 50;
initialize_next_camera(camDataPtr);
camDataPtr->flags = CAMERA_FLAG_ENABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_0;
camDataPtr->flags = CAMERA_FLAG_DISABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_INIT;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
camDataPtr->viewStartX = 0;
@ -269,8 +273,8 @@ void create_cameras_a(void) {
camDataPtr->vfov = 50;
initialize_next_camera(camDataPtr);
camDataPtr->flags = CAMERA_FLAG_ENABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_0;
camDataPtr->flags = CAMERA_FLAG_DISABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_INIT;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
camDataPtr->viewStartX = 160;
@ -290,8 +294,8 @@ void create_cameras_b(void) {
gCameras[i].flags = 0;
}
camDataPtr->flags = CAMERA_FLAG_ENABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_0;
camDataPtr->flags = CAMERA_FLAG_DISABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_INIT;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
camDataPtr->viewStartX = 0;
@ -301,8 +305,8 @@ void create_cameras_b(void) {
camDataPtr->vfov = 50;
initialize_next_camera(camDataPtr);
camDataPtr->flags = CAMERA_FLAG_ENABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_0;
camDataPtr->flags = CAMERA_FLAG_DISABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_INIT;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
camDataPtr->viewStartX = 160;
@ -312,8 +316,8 @@ void create_cameras_b(void) {
camDataPtr->vfov = 50;
initialize_next_camera(camDataPtr);
camDataPtr->flags = CAMERA_FLAG_ENABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_0;
camDataPtr->flags = CAMERA_FLAG_DISABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_INIT;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
camDataPtr->viewStartX = 0;
@ -323,8 +327,8 @@ void create_cameras_b(void) {
camDataPtr->vfov = 50;
initialize_next_camera(camDataPtr);
camDataPtr->flags = CAMERA_FLAG_ENABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_0;
camDataPtr->flags = CAMERA_FLAG_DISABLED;
camDataPtr->updateMode = CAM_UPDATE_MODE_INIT;
camDataPtr->viewWidth = 160;
camDataPtr->viewHeight = 120;
camDataPtr->viewStartX = 160;
@ -364,7 +368,7 @@ Camera* initialize_next_camera(CameraInitData* initData) {
camera->trueRotation.y = 0.0f;
camera->trueRotation.z = 0.0f;
camera->updateMode = initData->updateMode;
camera->unk_06 = TRUE;
camera->needsInit = TRUE;
camera->nearClip = initData->nearClip;
camera->farClip = initData->farClip;
camera->vfov = initData->vfov;

View File

@ -39,8 +39,8 @@ void update_camera_mode_4(Camera* camera) {
camera->trueRotation.x = camera->unk_70;
camera->currentBoomLength = camera->lookAt_dist * D_8009A5EC;
camera->currentYOffset = camera->auxBoomPitch * D_8009A5EC;
if (camera->unk_06) {
camera->unk_06 = FALSE;
if (camera->needsInit) {
camera->needsInit = FALSE;
camera->unk_98 = 0.0f;
camera->unk_9C = 0.0f;
camera->lookAt_obj.x = camera->lookAt_obj_target.x;
@ -124,8 +124,8 @@ void update_camera_mode_2(Camera *camera) {
camera->currentYOffset = camera->auxBoomPitch * D_8009A5EC;
camera->currentBoomYaw = camera->auxPitch;
camera->trueRotation.x = camera->unk_70;
if (camera->unk_06) {
camera->unk_06 = 0;
if (camera->needsInit) {
camera->needsInit = FALSE;
camera->unk_98 = 0.0f;
camera->unk_9C = 0.0f;
@ -278,8 +278,8 @@ void update_camera_mode_1(Camera* camera) {
f32 new_var2;
f32 tmp1;
if (camera->unk_06) {
camera->unk_06 = FALSE;
if (camera->needsInit) {
camera->needsInit = FALSE;
deltaX = camera->lookAt_obj_target.x;
deltaZ2 = camera->lookAt_obj_target.z;
@ -413,25 +413,25 @@ void update_camera_mode_1(Camera* camera) {
}
void update_camera_mode_0(Camera* camera) {
f32 xTemp;
f32 yTemp;
f32 zTemp;
f32 dx;
f32 dy;
f32 dz;
if (camera->unk_06) {
if (camera->needsInit) {
camera->lookAt_obj.x = 0.0f;
camera->lookAt_obj.y = 0.0f;
camera->lookAt_obj.z = 0.0f;
camera->unk_06 = FALSE;
camera->needsInit = FALSE;
camera->lookAt_eye.x = camera->lookAt_obj.x;
camera->lookAt_eye.y = camera->lookAt_obj.y;
camera->lookAt_eye.z = camera->lookAt_obj.z - (1000.0f / D_8009A5EC);
}
camera->currentYaw = atan2(camera->lookAt_eye.x, camera->lookAt_eye.z, camera->lookAt_obj.x, camera->lookAt_obj.z);
xTemp = camera->lookAt_obj.x - camera->lookAt_eye.x;
yTemp = camera->lookAt_obj.y - camera->lookAt_eye.y;
zTemp = camera->lookAt_obj.z - camera->lookAt_eye.z;
camera->currentBlendedYawNegated = -atan2(0.0f, 0.0f, xTemp, zTemp);
xTemp = -sqrtf(SQ(xTemp) + SQ(zTemp));
camera->currentPitch = atan2(0.0f, 0.0f, yTemp, xTemp);
dx = camera->lookAt_obj.x - camera->lookAt_eye.x;
dy = camera->lookAt_obj.y - camera->lookAt_eye.y;
dz = camera->lookAt_obj.z - camera->lookAt_eye.z;
camera->currentBlendedYawNegated = -atan2(0.0f, 0.0f, dx, dz);
dx = -sqrtf(SQ(dx) + SQ(dz));
camera->currentPitch = atan2(0.0f, 0.0f, dy, dx);
}

View File

@ -22,8 +22,8 @@ void update_camera_mode_unused(Camera* camera) {
f32 deltaZ2;
f32 boomYaw;
if (camera->unk_06 || camera->isChangingMap) {
camera->unk_06 = FALSE;
if (camera->needsInit || camera->isChangingMap) {
camera->needsInit = FALSE;
camera->isChangingMap = FALSE;
camera->auxPitch = 0;
camera->auxBoomLength = 100;
@ -91,11 +91,11 @@ void update_camera_mode_5(Camera* camera) {
camera->currentBoomLength = 690.0f;
camera->currentYOffset = 47.0f;
if (camera->unk_06) {
if (camera->needsInit) {
camera->unk_550 = 0.0f;
camera->unk_70 = 0.0f;
camera->trueRotation.x = 0.0f;
camera->unk_06 = FALSE;
camera->needsInit = FALSE;
camera->unk_554 = 0;
camera->lookAt_obj.x = camera->targetPos.x;
camera->lookAt_obj.y = camera->targetPos.y + camera->currentYOffset;

View File

@ -658,7 +658,7 @@ void draw_coin_sparkles(ItemEntity* itemEntity) {
Matrix4f sp58;
Matrix4f sp98;
Matrix4f spD8;
FoldImageRecPart foldImage;
ImgFXTexture ifxImg;
x = D_80155D8C;
y = D_80155D8E;
@ -687,14 +687,14 @@ void draw_coin_sparkles(ItemEntity* itemEntity) {
gDPSetCombineKey(gMainGfxPos++, G_CK_NONE);
gDPSetAlphaCompare(gMainGfxPos++, G_AC_NONE);
foldImage.raster = itemEntity->sparkleRaster;
foldImage.palette = itemEntity->sparklePalette;
foldImage.width = itemEntity->sparkleWidth;
foldImage.height = itemEntity->sparkleHeight;
foldImage.xOffset = -itemEntity->sparkleWidth / 2;
foldImage.yOffset = itemEntity->sparkleHeight / 2;
foldImage.opacity = 255;
fold_appendGfx_component(0, &foldImage, 0, spD8);
ifxImg.raster = itemEntity->sparkleRaster;
ifxImg.palette = itemEntity->sparklePalette;
ifxImg.width = itemEntity->sparkleWidth;
ifxImg.height = itemEntity->sparkleHeight;
ifxImg.xOffset = -itemEntity->sparkleWidth / 2;
ifxImg.yOffset = itemEntity->sparkleHeight / 2;
ifxImg.alpha = 255;
imgfx_appendGfx_component(0, &ifxImg, 0, spD8);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
gDPPipeSync(gMainGfxPos++);

View File

@ -11,9 +11,10 @@ void update_camera_mode_6(Camera* camera) {
f32 deltaZ2;
f32 boomYaw;
f32 new_var;
f32 planarDist;
if (camera->unk_06 != 0 || camera->isChangingMap) {
camera->unk_06 = 0;
if (camera->needsInit || camera->isChangingMap) {
camera->needsInit = FALSE;
camera->isChangingMap = FALSE;
camera->auxPitch = 0;
camera->auxBoomLength = 100;
@ -30,7 +31,7 @@ void update_camera_mode_6(Camera* camera) {
}
if (camera->auxPitch == 0) {
camera->lookAt_obj.x = camera->lookAt_obj_target.x + camera->targetPos.x;
camera->lookAt_obj.y = camera->lookAt_obj_target.y + camera->targetPos.y + camera->auxBoomZOffset * 0.00390625;
camera->lookAt_obj.y = camera->lookAt_obj_target.y + camera->targetPos.y + camera->auxBoomZOffset / 256.0;
camera->lookAt_obj.z = camera->lookAt_obj_target.z + camera->targetPos.z;
camera->trueRotation.x = camera->auxBoomYaw;
camera->currentBoomYaw = camera->auxBoomPitch;
@ -42,10 +43,10 @@ void update_camera_mode_6(Camera* camera) {
deltaX = 0.0f;
deltaY = 0.0f;
deltaZ = camera->currentBoomLength;
deltaX2 = deltaX;
deltaY2 = deltaY;
deltaX2 = 0.0f;
deltaY2 = 0.0f;
boomYaw = deltaX = -deltaY2;
deltaZ2 = deltaZ;
deltaZ2 = camera->currentBoomLength;
new_var = boomYaw;
deltaX = deltaX2;
deltaY = cosBoom * deltaY2 + deltaZ2 * sinBoom;
@ -66,7 +67,8 @@ void update_camera_mode_6(Camera* camera) {
deltaY = camera->lookAt_obj.y - camera->lookAt_eye.y;
deltaZ = camera->lookAt_obj.z - camera->lookAt_eye.z;
camera->currentBlendedYawNegated = -atan2(0.0f, 0.0f, deltaX, deltaZ);
camera->currentPitch = atan2(0.0f, 0.0f, deltaY, -sqrtf(SQ(deltaX) + SQ(deltaZ)));
planarDist = sqrtf(SQ(deltaX) + SQ(deltaZ));
camera->currentPitch = atan2(0.0f, 0.0f, deltaY, -planarDist);
gBattleStatus.camLookatObjPos.x = camera->lookAt_obj.x;
gBattleStatus.camLookatObjPos.y = camera->lookAt_obj.y;
gBattleStatus.camLookatObjPos.z = camera->lookAt_obj.z;

View File

@ -199,12 +199,11 @@ API_CALLABLE(N(update_effect)) {
actorPart = get_actor_part(actor, 1);
if (actorPart->currentAnimation == ANIM_BigLanternGhost_Anim0C) {
func_802DE8DC(actor->partsTable->spriteInstanceID, 0, &partX, &partY, &partZ);
spr_get_comp_position(actor->partsTable->spriteInstanceID, 0, &partX, &partY, &partZ);
} else {
func_802DE8DC(actor->partsTable->spriteInstanceID, 1, &partX, &partY, &partZ);
spr_get_comp_position(actor->partsTable->spriteInstanceID, 1, &partX, &partY, &partZ);
}
partY += 20;
f24 = (f32)partX * SPRITE_WORLD_SCALE_D;

View File

@ -135,15 +135,14 @@ EvtScript N(init) = {
#include "battle/area/sam2/actor/img.png.inc.c"
#include "battle/area/sam2/actor/img.pal.inc.c"
FoldImageRecPart D_8021A2B8_63F498 = {
ImgFXOverlayTexture N(MonstarDetailTexture) = {
.raster = battle_area_sam2_actor_img_png,
.palette = battle_area_sam2_actor_img_pal,
.width = battle_area_sam2_actor_img_png_width,
.height = battle_area_sam2_actor_img_png_height,
.xOffset = -1,
.yOffset = -4,
.opacity = 0,
.dlist = N(dlist),
.offsetX = -4,
.offsetY = 0,
.displayList = N(dlist),
};
API_CALLABLE(func_80218000_63D1E0) {
@ -158,10 +157,10 @@ API_CALLABLE(func_80218000_63D1E0) {
script->functionTemp[1] = 0;
script->functionTemp[2] = 0;
script->functionTemp[0] = 0;
func_802DE780(part->spriteInstanceID, 0, FOLD_UPD_ALLOC_COLOR_BUF, 20, 0, 0, 255, 0);
set_npc_imgfx_comp(part->spriteInstanceID, 0, IMGFX_ALLOC_COLOR_BUF, 20, 0, 0, 255, 0);
}
func_802DE780(part->spriteInstanceID, 1, FOLD_TYPE_F, (s32)&D_8021A2B8_63F498, 255, 0, 255, 0);
set_npc_imgfx_comp(part->spriteInstanceID, 1, IMGFX_OVERLAY, (s32)&N(MonstarDetailTexture), 255, 0, 255, 0);
script->functionTemp[1] += 10;
if (script->functionTemp[1] >= 360) {
script->functionTemp[1] %= 360;
@ -174,7 +173,7 @@ API_CALLABLE(func_80218000_63D1E0) {
}
for (i = 0; i < 20; i++) {
func_802DE780(part->spriteInstanceID, 0, FOLD_UPD_COLOR_BUF_SET_C, i, colR[i] << 0x18 | colG[i] << 0x10 | colB[i] << 8 | 255, 0, 255, 0);
set_npc_imgfx_comp(part->spriteInstanceID, 0, IMGFX_COLOR_BUF_SET_MODULATE, i, colR[i] << 0x18 | colG[i] << 0x10 | colB[i] << 8 | 255, 0, 255, 0);
}
return ApiStatus_BLOCK;

View File

@ -30,7 +30,7 @@ API_CALLABLE(N(UnkBowserFunc1)) {
script->functionTemp[0] = 0;
for (i = 0; i < 10; i++) {
func_802DE780(part->spriteInstanceID, i, FOLD_UPD_ALLOC_COLOR_BUF, 20, 0, 0, 255, 0);
set_npc_imgfx_comp(part->spriteInstanceID, i, IMGFX_ALLOC_COLOR_BUF, 20, 0, 0, 255, 0);
}
}
@ -50,7 +50,7 @@ API_CALLABLE(N(UnkBowserFunc1)) {
for (j = 0; j < 20; j++) {
colorRGBA = sp20[j] << 0x18 | sp38[j] << 0x10 | sp50[j] << 8 | 0xFF;
for (i = 0; i < 10; i++) {
func_802DE780(part->spriteInstanceID, i, FOLD_UPD_COLOR_BUF_SET_C, j, colorRGBA, 0, 255, 0);
set_npc_imgfx_comp(part->spriteInstanceID, i, IMGFX_COLOR_BUF_SET_MODULATE, j, colorRGBA, 0, 255, 0);
}
}
return ApiStatus_BLOCK;
@ -60,7 +60,7 @@ API_CALLABLE(N(UnkBowserFunc1)) {
colorRGBA = 255;
for (i = 0; i < 10; i++) {
// TODO find better match for opacity
func_802DE780(part->spriteInstanceID, i, FOLD_UPD_COLOR_BUF_SET_C, j, colorRGBA, 0, opacity & 0xFFFF, 0);
set_npc_imgfx_comp(part->spriteInstanceID, i, IMGFX_COLOR_BUF_SET_MODULATE, j, colorRGBA, 0, opacity & 0xFFFF, 0);
}
}
script->functionTemp[1] = 0;

File diff suppressed because it is too large Load Diff

View File

@ -115,7 +115,7 @@ void entity_BlueWarpPipe_enter_pipe_init(Entity* bluePipe) {
pipeData->timer = 25;
playerStatus->renderMode = RENDER_MODE_ALPHATEST;
func_802DDFF8(ANIM_Mario1_Idle, FOLD_UPD_SET_ANIM, FOLD_ANIM_VERTICAL_PIPE_CURL, 1, 1, 0, 0);
set_player_imgfx_all(ANIM_Mario1_Idle, IMGFX_SET_ANIM, IMGFX_ANIM_VERTICAL_PIPE_CURL, 1, 1, 0, 0);
sfx_play_sound(SOUND_ENTER_PIPE);
disable_player_shadow();
}
@ -130,7 +130,7 @@ void entity_BlueWarpPipe_enter_pipe_update(Entity* entity) {
if (pipeData->timer == -1) {
playerStatus->renderMode = RENDER_MODE_ALPHATEST;
playerStatus->position.y -= 50.0f;
func_802DDFF8(ANIM_Mario1_Idle, FOLD_UPD_CLEAR, 0, 0, 0, 0, 0);
set_player_imgfx_all(ANIM_Mario1_Idle, IMGFX_CLEAR, 0, 0, 0, 0, 0);
exec_entity_commandlist(entity);
}
}

View File

@ -308,8 +308,8 @@ void entity_CymbalPlant_idle(Entity* entity) {
case 2:
if (--data->timer == 0) {
data->state++;
func_802DDEE4(PLAYER_SPRITE_MAIN, -1, 0, 0, 0, 0, 0, 0);
func_802DDFF8(ANIM_Mario1_Idle, FOLD_UPD_SET_ANIM, FOLD_ANIM_CYMBAL_CRUSH, 1, 1, 0, 0);
set_player_imgfx_comp(PLAYER_SPRITE_MAIN, -1, IMGFX_CLEAR, 0, 0, 0, 0, 0);
set_player_imgfx_all(ANIM_Mario1_Idle, IMGFX_SET_ANIM, IMGFX_ANIM_CYMBAL_CRUSH, 1, 1, 0, 0);
}
break;
case 3:
@ -328,7 +328,7 @@ void entity_CymbalPlant_idle(Entity* entity) {
case 5:
if (--data->timer == 0) {
data->state++;
func_802DDEE4(PLAYER_SPRITE_MAIN, -1, 0, 0, 0, 0, 0, 0);
set_player_imgfx_comp(PLAYER_SPRITE_MAIN, -1, IMGFX_CLEAR, 0, 0, 0, 0, 0);
enable_player_input();
playerStatus->flags &= ~PS_FLAG_ROTATION_LOCKED;
}

View File

@ -244,8 +244,8 @@ void make_entity_model_mtx_flipZ(Matrix4f mtx) {
void appendGfx_entity_model(EntityModel* model) {
Matrix4f mtx;
Matrix4f mtx2;
FoldImageRecPart foldImage;
Matrix4f foldMtx;
ImgFXTexture ifxImg;
Matrix4f imgfxMtx;
gDisplayContext->matrixStack[gMatrixListPos] = model->transform;
gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
@ -393,15 +393,15 @@ void appendGfx_entity_model(EntityModel* model) {
gSPSetOtherMode(gMainGfxPos++, G_SETOTHERMODE_H, G_MDSFT_ALPHADITHER, 18, G_AD_DISABLE | G_CD_DISABLE | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE);
imageData = model->gfx.imageData;
foldImage.raster = imageData->raster;
foldImage.palette = imageData->defaultPal;
foldImage.width = imageData->width;
foldImage.height = imageData->height;
foldImage.xOffset = -imageData->width / 2;
foldImage.yOffset = imageData->height / 2;
foldImage.opacity = 255;
guMtxL2F(foldMtx, &model->transform);
fold_appendGfx_component(0, &foldImage, 0, foldMtx);
ifxImg.raster = imageData->raster;
ifxImg.palette = imageData->defaultPal;
ifxImg.width = imageData->width;
ifxImg.height = imageData->height;
ifxImg.xOffset = -imageData->width / 2;
ifxImg.yOffset = imageData->height / 2;
ifxImg.alpha = 255;
guMtxL2F(imgfxMtx, &model->transform);
imgfx_appendGfx_component(0, &ifxImg, 0, imgfxMtx);
}
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
@ -551,8 +551,8 @@ void draw_entity_model_E(s32 modelIdx, Mtx* transformMtx) {
EntityModel* model = (*gCurrentEntityModelList)[modelIdx & ~0x800];
Matrix4f mtx;
Matrix4f mtx2;
FoldImageRecPart foldImage;
Matrix4f foldMtx;
ImgFXTexture ifxImg;
Matrix4f imgfxMtx;
if (model == NULL) {
return;
@ -702,15 +702,15 @@ void draw_entity_model_E(s32 modelIdx, Mtx* transformMtx) {
gSPSetOtherMode(gMainGfxPos++, G_SETOTHERMODE_H, G_MDSFT_ALPHADITHER, 18, G_AD_DISABLE | G_CD_DISABLE | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_NONE | G_TL_TILE | G_TD_CLAMP | G_TP_PERSP | G_CYC_1CYCLE);
imageData = model->gfx.imageData;
foldImage.raster = imageData->raster;
foldImage.palette = imageData->defaultPal;
foldImage.width = imageData->width;
foldImage.height = imageData->height;
foldImage.xOffset = -imageData->width / 2;
foldImage.yOffset = imageData->height / 2;
foldImage.opacity = 255;
guMtxL2F(foldMtx, &model->transform);
fold_appendGfx_component(0, &foldImage, 0, foldMtx);
ifxImg.raster = imageData->raster;
ifxImg.palette = imageData->defaultPal;
ifxImg.width = imageData->width;
ifxImg.height = imageData->height;
ifxImg.xOffset = -imageData->width / 2;
ifxImg.yOffset = imageData->height / 2;
ifxImg.alpha = 255;
guMtxL2F(imgfxMtx, &model->transform);
imgfx_appendGfx_component(0, &ifxImg, 0, imgfxMtx);
}
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);

View File

@ -21,9 +21,9 @@ ApiStatus SetCamEnabled(Evt* script, s32 isInitialCall) {
s32 enabled = evt_get_variable(script, *args++);
if (!enabled) {
gCameras[id].flags |= CAMERA_FLAG_ENABLED;
gCameras[id].flags |= CAMERA_FLAG_DISABLED;
} else {
gCameras[id].flags &= ~CAMERA_FLAG_ENABLED;
gCameras[id].flags &= ~CAMERA_FLAG_DISABLED;
}
return ApiStatus_DONE2;
}
@ -51,7 +51,7 @@ ApiStatus SetCamPerspective(Evt* script, s32 isInitialCall) {
Camera* camera = &gCameras[id];
camera->updateMode = mode;
camera->unk_06 = TRUE;
camera->needsInit = TRUE;
camera->isChangingMap = TRUE;
camera->vfov = vfov;
@ -67,7 +67,7 @@ ApiStatus func_802CA90C(Evt* script, s32 isInitialCall) {
Camera* camera = &gCameras[id];
camera->updateMode = mode;
camera->unk_06 = FALSE;
camera->needsInit = FALSE;
return ApiStatus_DONE2;
}
@ -81,7 +81,7 @@ ApiStatus func_802CA988(Evt* script, s32 isInitialCall) {
f32 dx, dy, dz;
gCameras[id].updateMode = CAM_UPDATE_MODE_2;
gCameras[id].unk_06 = FALSE;
gCameras[id].needsInit = FALSE;
gCameras[id].auxPitch = -round(gCameras[id].currentPitch);
gCameras[id].auxBoomLength = -gCameras[id].currentBlendedYawNegated;

View File

@ -965,10 +965,10 @@ ApiStatus PartnerIsFlying(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
ApiStatus SetNpcFoldParams(Evt* script, s32 isInitialCall) {
ApiStatus SetNpcImgFXParams(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 npcId = evt_get_variable(script, *args++);
Bytecode foldType = evt_get_variable(script, *args++);
Bytecode imgfxType = evt_get_variable(script, *args++);
Bytecode var2 = evt_get_variable(script, *args++);
Bytecode var3 = evt_get_variable(script, *args++);
Bytecode var4 = evt_get_variable(script, *args++);
@ -979,11 +979,11 @@ ApiStatus SetNpcFoldParams(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
npc_set_fold_params(npc, foldType, var2, var3, var4, var5, npc->foldFlags);
npc_set_imgfx_params(npc, imgfxType, var2, var3, var4, var5, npc->imgfxFlags);
return ApiStatus_DONE2;
}
ApiStatus SetNpcFoldFlags(Evt* script, s32 isInitialCall) {
ApiStatus SetNpcImgFXFlags(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
s32 npcId = evt_get_variable(script, *args++);
Bytecode flags = *args;
@ -993,7 +993,7 @@ ApiStatus SetNpcFoldFlags(Evt* script, s32 isInitialCall) {
return ApiStatus_DONE2;
}
npc->foldFlags = flags;
npc->imgfxFlags = flags;
return ApiStatus_DONE2;
}

View File

@ -4,7 +4,7 @@
#include "world/partners.h"
extern Npc playerNpcData;
extern u16 PlayerFoldFlags;
extern u16 PlayerImgFXFlags;
extern s32 D_802DB5B4[3]; // unused
Npc* playerNpc = &playerNpcData;
@ -630,78 +630,78 @@ ApiStatus WaitForPlayerInputEnabled(Evt* script, s32 isInitialCall) {
}
}
ApiStatus UpdatePlayerFold(Evt* script, s32 isInitialCall) {
ApiStatus UpdatePlayerImgFX(Evt* script, s32 isInitialCall) {
Bytecode* args = script->ptrReadPos;
PlayerStatus* playerStatus = &gPlayerStatus;
s32 a0 = *args++;
s32 foldType = evt_get_variable(script, *args++);
s32 imgfxType = evt_get_variable(script, *args++);
s32 a2, a3, a4, a5;
func_802DDFF8(a0, FOLD_UPD_CLEAR, 0, 0, 0, 0, 0);
set_player_imgfx_all(a0, IMGFX_CLEAR, 0, 0, 0, 0, 0);
switch (foldType) {
case FOLD_UPD_CLEAR:
switch (imgfxType) {
case IMGFX_CLEAR:
playerStatus->renderMode = RENDER_MODE_ALPHATEST;
func_802DDFF8(a0, FOLD_UPD_CLEAR, 0, 0, 0, 0, PlayerFoldFlags);
set_player_imgfx_all(a0, IMGFX_CLEAR, 0, 0, 0, 0, PlayerImgFXFlags);
break;
case FOLD_TYPE_2:
case FOLD_TYPE_3:
case IMGFX_UNK_2:
case IMGFX_RESET:
playerStatus->renderMode = RENDER_MODE_ALPHATEST;
case FOLD_TYPE_1:
func_802DDFF8(a0, foldType, 0, 0, 0, 0, PlayerFoldFlags);
case IMGFX_UNK_1:
set_player_imgfx_all(a0, imgfxType, 0, 0, 0, 0, PlayerImgFXFlags);
break;
case FOLD_UPD_WAVY:
case IMGFX_SET_WAVY:
playerStatus->renderMode = RENDER_MODE_ALPHATEST;
a2 = evt_get_variable(script, *args++);
a3 = evt_get_variable(script, *args++);
a4 = evt_get_variable(script, *args++);
func_802DDFF8(a0, FOLD_UPD_WAVY, a2, a3, a4, 0, PlayerFoldFlags);
set_player_imgfx_all(a0, IMGFX_SET_WAVY, a2, a3, a4, 0, PlayerImgFXFlags);
break;
case FOLD_UPD_SET_COLOR:
case IMGFX_SET_COLOR:
playerStatus->renderMode = RENDER_MODE_ALPHATEST;
a2 = evt_get_variable(script, *args++);
a3 = evt_get_variable(script, *args++);
a4 = evt_get_variable(script, *args++);
func_802DDFF8(a0, FOLD_UPD_SET_COLOR, a2, a3, a4, 255, PlayerFoldFlags);
set_player_imgfx_all(a0, IMGFX_SET_COLOR, a2, a3, a4, 255, PlayerImgFXFlags);
break;
case FOLD_UPD_SET_ALPHA:
case IMGFX_SET_ALPHA:
playerStatus->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2;
a5 = evt_get_variable(script, *args++);
func_802DDFF8(a0, FOLD_UPD_SET_ALPHA, 255, 255, 255, a5, PlayerFoldFlags);
set_player_imgfx_all(a0, IMGFX_SET_ALPHA, 255, 255, 255, a5, PlayerImgFXFlags);
break;
case FOLD_UPD_SET_TINT:
case IMGFX_SET_TINT:
playerStatus->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2;
a2 = evt_get_variable(script, *args++);
a3 = evt_get_variable(script, *args++);
a4 = evt_get_variable(script, *args++);
a5 = evt_get_variable(script, *args++);
func_802DDFF8(a0, FOLD_UPD_SET_TINT, a2, a3, a4, a5, PlayerFoldFlags);
set_player_imgfx_all(a0, IMGFX_SET_TINT, a2, a3, a4, a5, PlayerImgFXFlags);
break;
case FOLD_UPD_SET_ANIM:
case IMGFX_SET_ANIM:
playerStatus->renderMode = RENDER_MODE_ALPHATEST;
a2 = evt_get_variable(script, *args++);
a3 = evt_get_variable(script, *args++);
a4 = evt_get_variable(script, *args++);
func_802DDFF8(a0, FOLD_UPD_SET_ANIM, a2, a3, a4, 0, PlayerFoldFlags);
set_player_imgfx_all(a0, IMGFX_SET_ANIM, a2, a3, a4, 0, PlayerImgFXFlags);
break;
case FOLD_UPD_HOLOGRAM:
case IMGFX_HOLOGRAM:
playerStatus->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2;
a2 = evt_get_variable(script, *args++);
a3 = evt_get_variable(script, *args++);
a4 = evt_get_variable(script, *args++);
a5 = evt_get_variable(script, *args++);
func_802DDFF8(a0, FOLD_UPD_HOLOGRAM, a2, a3, a4, a5, PlayerFoldFlags);
set_player_imgfx_all(a0, IMGFX_HOLOGRAM, a2, a3, a4, a5, PlayerImgFXFlags);
break;
}
PlayerFoldFlags = 0;
PlayerImgFXFlags = 0;
return ApiStatus_DONE2;
}
ApiStatus SetPlayerFoldFlags(Evt* script, s32 isInitialCall) {
s32 foldFlags = *script->ptrReadPos;
ApiStatus SetPlayerImgFXFlags(Evt* script, s32 isInitialCall) {
s32 imgfxFlags = *script->ptrReadPos;
PlayerFoldFlags = foldFlags;
PlayerImgFXFlags = imgfxFlags;
return ApiStatus_DONE2;
}

View File

@ -50,7 +50,7 @@ BSS s32 D_802DB26C; // unused?
// player_api
BSS Npc playerNpcData;
BSS u16 PlayerFoldFlags;
BSS u16 PlayerImgFXFlags;
BSS s32 D_802DB5B4[3]; // unused
BSS VirtualEntityList bBattleVirtualEntityList;
BSS VirtualEntityList wWorldVirtualEntityList;

View File

@ -688,7 +688,7 @@ void init_hud_element_list(void) {
void func_801413F8(void) {
set_cam_viewport(CAM_3, 0, 0, SCREEN_WIDTH - 1, SCREEN_HEIGHT - 1);
gCameras[CAM_3].updateMode = CAM_UPDATE_MODE_2;
gCameras[CAM_3].unk_06 = TRUE;
gCameras[CAM_3].needsInit = TRUE;
gCameras[CAM_3].lookAt_dist = 15551;
gCameras[CAM_3].nearClip = CAM_NEAR_CLIP;
gCameras[CAM_3].auxPitch = 0;
@ -1417,7 +1417,7 @@ void render_hud_element(HudElement* hudElement) {
Matrix4f sp1E0;
Matrix4f sp220;
Matrix4f sp260;
FoldImageRecPart sp2A0;
ImgFXTexture ifxImg;
f32 xScaleFactor, yScaleFactor;
s32 height, width;
HudTransform* transform;
@ -1511,35 +1511,35 @@ void render_hud_element(HudElement* hudElement) {
case 1:
if (hudElement->flags & HUD_ELEMENT_FLAG_NO_FOLD) {
if (hudElement->flags & HUD_ELEMENT_FLAG_TRANSPARENT) {
fold_update(0, FOLD_UPD_SET_ALPHA, 255, 255, 255, hudElement->opacity, 0);
imgfx_update(0, IMGFX_SET_ALPHA, 255, 255, 255, hudElement->opacity, 0);
} else {
fold_update(0, FOLD_UPD_CLEAR, 0, 0, 0, 0, 0);
imgfx_update(0, IMGFX_CLEAR, 0, 0, 0, 0, 0);
}
} else {
if (hudElement->flags & HUD_ELEMENT_FLAG_TRANSPARENT) {
fold_update(transform->foldIdx, FOLD_UPD_SET_ALPHA, 255, 255, 255, hudElement->opacity, 0);
imgfx_update(transform->imgfxIdx, IMGFX_SET_ALPHA, 255, 255, 255, hudElement->opacity, 0);
} else {
fold_update(transform->foldIdx, FOLD_UPD_CLEAR, 0, 0, 0, 0, 0);
imgfx_update(transform->imgfxIdx, IMGFX_CLEAR, 0, 0, 0, 0, 0);
}
}
sp2A0.raster = hudElement->imageAddr;
ifxImg.raster = hudElement->imageAddr;
palette = (u16*) hudElement->paletteAddr;
sp2A0.width = width;
sp2A0.height = height;
sp2A0.xOffset = -width / 2;
sp2A0.yOffset = height / 2;
sp2A0.opacity = 255;
sp2A0.palette = palette;
ifxImg.width = width;
ifxImg.height = height;
ifxImg.xOffset = -width / 2;
ifxImg.yOffset = height / 2;
ifxImg.alpha = 255;
ifxImg.palette = palette;
if (hudElement->flags & HUD_ELEMENT_FLAG_NO_FOLD) {
if (hudElement->flags & HUD_ELEMENT_FLAG_ANTIALIASING) {
fold_appendGfx_component(0, &sp2A0, FOLD_STATE_FLAG_40, sp60);
imgfx_appendGfx_component(0, &ifxImg, IMGFX_FLAG_40, sp60);
} else {
fold_appendGfx_component(0, &sp2A0, FOLD_STATE_FLAG_40, sp60);
imgfx_appendGfx_component(0, &ifxImg, IMGFX_FLAG_40, sp60);
}
} else {
fold_appendGfx_component(transform->foldIdx, &sp2A0, FOLD_STATE_FLAG_40, sp60);
imgfx_appendGfx_component(transform->imgfxIdx, &ifxImg, IMGFX_FLAG_40, sp60);
}
break;
case 2:
@ -1722,7 +1722,7 @@ void func_80143C48(s32 elemID, s32 arg1, s32 camID) {
Camera* camera = &gCameras[camID];
if (arg1 > 0) {
if (!camera->flags || (camera->flags & CAMERA_FLAG_ENABLED)) {
if (camera->flags == 0 || (camera->flags & CAMERA_FLAG_DISABLED)) {
return;
}
@ -2116,7 +2116,7 @@ void hud_element_create_transform_A(s32 id) {
element->hudTransform = transform;
ASSERT(transform != NULL);
element->flags |= HUD_ELEMENT_FLAG_TRANSFORM;
transform->foldIdx = func_8013A704(1);
transform->imgfxIdx = imgfx_get_free_instances(1);
transform->position.x = 0.0f;
transform->position.y = 0.0f;
transform->position.z = 0.0f;
@ -2138,7 +2138,7 @@ void hud_element_create_transform_B(s32 id) {
element->hudTransform = transform;
ASSERT(transform != NULL);
element->flags |= HUD_ELEMENT_FLAG_TRANSFORM | HUD_ELEMENT_FLAG_NO_FOLD;
transform->foldIdx = 0;
transform->imgfxIdx = 0;
transform->position.x = 0.0f;
transform->position.y = 0.0f;
transform->position.z = 0.0f;
@ -2158,7 +2158,7 @@ void hud_element_create_transform_C(s32 id) {
element->hudTransform = transform;
ASSERT(transform != NULL);
element->flags |= HUD_ELEMENT_FLAG_40000000 | HUD_ELEMENT_FLAG_NO_FOLD | HUD_ELEMENT_FLAG_TRANSFORM;
transform->foldIdx = 0;
transform->imgfxIdx = 0;
transform->position.x = 0.0f;
transform->position.y = 0.0f;
transform->position.z = 0.0f;
@ -2176,7 +2176,7 @@ void hud_element_free_transform(s32 id) {
HudTransform* hudTransform = hudElement->hudTransform;
if (!(hudElement->flags & HUD_ELEMENT_FLAG_NO_FOLD)) {
func_8013A854(hudTransform->foldIdx);
imgfx_release_instance(hudTransform->imgfxIdx);
}
heap_free(hudElement->hudTransform);

View File

@ -167,7 +167,7 @@ typedef struct VtxRect {
} VtxRect; // size = 0x40
typedef struct HudTransform {
/* 0x00 */ s32 foldIdx;
/* 0x00 */ s32 imgfxIdx;
/* 0x04 */ Vec3f position;
/* 0x10 */ Vec3f rotation;
/* 0x1C */ Vec3f scale;

View File

@ -33,7 +33,7 @@ void ispy_notification_update(void);
void appendGfx_ispy_icon(void) {
Matrix4f matrix1;
Matrix4f matrix2;
FoldImageRecPart foldImage;
ImgFXTexture ifxImg;
s32 flashPhase;
if (gPlayerStatus.animFlags & PA_FLAG_ISPY_VISIBLE) {
@ -58,31 +58,31 @@ void appendGfx_ispy_icon(void) {
case 1:
case 2:
case 3:
foldImage.palette = ispy_icon_1_pal;
ifxImg.palette = ispy_icon_1_pal;
break;
case 4:
case 5:
case 6:
case 7:
foldImage.palette = ispy_icon_2_pal;
ifxImg.palette = ispy_icon_2_pal;
break;
case 8:
case 9:
case 10:
case 11:
foldImage.palette = ispy_icon_3_pal;
ifxImg.palette = ispy_icon_3_pal;
break;
}
fold_update(0, FOLD_UPD_SET_ALPHA, 255, 255, 255, ISpyPtr->alpha, 0);
imgfx_update(0, IMGFX_SET_ALPHA, 255, 255, 255, ISpyPtr->alpha, 0);
foldImage.raster = ispy_icon_img;
foldImage.width = ispy_icon_img_width;
foldImage.height = ispy_icon_img_height;
foldImage.xOffset = -28;
foldImage.yOffset = 46;
foldImage.opacity = 255;
ifxImg.raster = ispy_icon_img;
ifxImg.width = ispy_icon_img_width;
ifxImg.height = ispy_icon_img_height;
ifxImg.xOffset = -28;
ifxImg.yOffset = 46;
ifxImg.alpha = 255;
fold_appendGfx_component(0, &foldImage, 0, matrix2);
imgfx_appendGfx_component(0, &ifxImg, 0, matrix2);
gSPPopMatrix(gMainGfxPos++, 0);
}
}

View File

@ -58,7 +58,7 @@ void interact_inspect_setup(void) {
}
void appendGfx_interact_prompt(void) {
FoldImageRecPart sp20;
ImgFXTexture ifxImg;
Matrix4f sp38, sp78;
if (gPlayerStatus.animFlags & PA_FLAG_INTERACT_PROMPT_AVAILABLE) {
@ -73,18 +73,18 @@ void appendGfx_interact_prompt(void) {
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gMainGfxPos++, &inspect_icon_gfx);
sp20.raster = inspect_icon_img;
sp20.palette = inspect_icon_pal;
sp20.width = inspect_icon_img_width;
sp20.height = inspect_icon_img_height;
sp20.xOffset = -16;
sp20.yOffset = 26;
sp20.opacity = 255;
fold_update(0, FOLD_UPD_CLEAR, 0, 0, 0, 0, FOLD_STATE_FLAG_400 | FOLD_STATE_FLAG_40);
fold_update(0, FOLD_UPD_SET_COLOR,
ifxImg.raster = inspect_icon_img;
ifxImg.palette = inspect_icon_pal;
ifxImg.width = inspect_icon_img_width;
ifxImg.height = inspect_icon_img_height;
ifxImg.xOffset = -16;
ifxImg.yOffset = 26;
ifxImg.alpha = 255;
imgfx_update(0, IMGFX_CLEAR, 0, 0, 0, 0, IMGFX_FLAG_400 | IMGFX_FLAG_40);
imgfx_update(0, IMGFX_SET_COLOR,
InspectIconPtr->brightness, InspectIconPtr->brightness, InspectIconPtr->brightness, 255,
FOLD_STATE_FLAG_400 | FOLD_STATE_FLAG_40 | FOLD_STATE_FLAG_8);
fold_appendGfx_component(0, &sp20, 0, sp78);
IMGFX_FLAG_400 | IMGFX_FLAG_40 | IMGFX_FLAG_8);
imgfx_appendGfx_component(0, &ifxImg, 0, sp78);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -187,7 +187,7 @@ void gfx_draw_frame(void) {
spr_render_init();
if (!(gOverrideFlags & GLOBAL_OVERRIDES_DISABLE_RENDER_WORLD)) {
render_frame(0);
render_frame(FALSE);
}
player_render_interact_prompts();
@ -203,7 +203,7 @@ void gfx_draw_frame(void) {
}
if (!(gOverrideFlags & GLOBAL_OVERRIDES_DISABLE_RENDER_WORLD) && !gGameStatusPtr->disableScripts) {
render_frame(1);
render_frame(TRUE);
}
if (!(gOverrideFlags & (GLOBAL_OVERRIDES_MESSAGES_IN_FRONT_OF_CURTAINS | GLOBAL_OVERRIDES_10))) {

View File

@ -140,8 +140,8 @@ s32 create_npc_impl(NpcBlueprint* blueprint, AnimID* animList, s32 isPeachNpc) {
npc->currentAnim = blueprint->initialAnim;
npc->animationSpeed = 1.0f;
npc->renderYaw = 0.0f;
npc->foldType = 0;
npc->foldFlags = 0;
npc->imgfxType = IMGFX_CLEAR;
npc->imgfxFlags = 0;
npc->collisionChannel = COLLISION_CHANNEL_20000;
npc->isFacingAway = FALSE;
npc->yawCamOffset = 0;
@ -864,7 +864,7 @@ void appendGfx_npc(void* data) {
}
} else {
npc_draw_with_palswap(npc, renderYaw, mtx1);
npc->animNotifyValue = func_802DDEC4(1);
npc->animNotifyValue = func_802DDEC4(PLAYER_SPRITE_AUX1);
}
if (npc->flags & NPC_FLAG_REFLECT_WALL) {
@ -1147,7 +1147,7 @@ void appendGfx_npc_blur(void* data) {
x = blur->x[index];
y = blur->y[index];
z = blur->z[index];
func_802DE894(npc->spriteInstanceID, FOLD_UPD_SET_ALPHA, 255, 255, 255, 120 - (var_s5 * 20), 0);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_SET_ALPHA, 255, 255, 255, 120 - (var_s5 * 20), 0);
yaw = npc->renderYaw;
guTranslateF(sp20, x, y, z);
@ -1927,7 +1927,7 @@ void npc_update_decoration_charged(Npc* npc, s32 idx) {
s32 temp3;
if (!npc->decorationInitialised[idx]) {
func_802DE894(npc->spriteInstanceID, FOLD_UPD_ALLOC_COLOR_BUF, 20, 0, 0, 255, 0);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_ALLOC_COLOR_BUF, 20, 0, 0, 255, 0);
npc->decorationInitialised[idx] = TRUE;
}
if (npc->decorationInitialised[idx] == TRUE) {
@ -1943,7 +1943,7 @@ void npc_update_decoration_charged(Npc* npc, s32 idx) {
}
for (temp3 = 255, i = 0; i < 20; i++) {
func_802DE894(npc->spriteInstanceID, FOLD_UPD_COLOR_BUF_SET_C, i, (sp50[i] << 24) | (sp38[i] << 16) | (sp20[i] << 8) | temp3, 0, 255, 0);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_COLOR_BUF_SET_MODULATE, i, (sp50[i] << 24) | (sp38[i] << 16) | (sp20[i] << 8) | temp3, 0, 255, 0);
}
}
}
@ -2080,81 +2080,81 @@ s32 npc_get_collider_below(Npc* npc) {
}
void func_8003D3BC(Npc* npc) {
s32 foldType = npc->foldType;
s32 foldArg1 = npc->foldArg1;
s32 foldArg2 = npc->foldArg2;
s32 foldArg3 = npc->foldArg3;
s32 foldArg4 = npc->foldArg4;
s32 foldFlags = npc->foldFlags;
s32 imgfxType = npc->imgfxType;
s32 imgfxArg1 = npc->imgfxArg1;
s32 imgfxArg2 = npc->imgfxArg2;
s32 imgfxArg3 = npc->imgfxArg3;
s32 imgfxArg4 = npc->imgfxArg4;
s32 imgfxFlags = npc->imgfxFlags;
func_802DE894(npc->spriteInstanceID, FOLD_UPD_CLEAR, 0, 0, 0, 0, 0);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_CLEAR, 0, 0, 0, 0, 0);
switch (foldType) {
case FOLD_UPD_CLEAR:
switch (imgfxType) {
case IMGFX_CLEAR:
npc->renderMode = RENDER_MODE_ALPHATEST;
func_802DE894(npc->spriteInstanceID, FOLD_UPD_CLEAR, 0, 0, 0, 0, foldFlags);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_CLEAR, 0, 0, 0, 0, imgfxFlags);
break;
case FOLD_TYPE_2:
case FOLD_TYPE_3:
case IMGFX_UNK_2:
case IMGFX_RESET:
npc->renderMode = RENDER_MODE_ALPHATEST;
// fallthrough
case FOLD_TYPE_1:
func_802DE894(npc->spriteInstanceID, foldType, 0, 0, 0, 0, foldFlags);
case IMGFX_UNK_1:
set_npc_imgfx_all(npc->spriteInstanceID, imgfxType, 0, 0, 0, 0, imgfxFlags);
break;
case FOLD_UPD_WAVY:
case IMGFX_SET_WAVY:
npc->renderMode = RENDER_MODE_ALPHATEST;
func_802DE894(npc->spriteInstanceID, FOLD_UPD_WAVY, foldArg1, foldArg2, foldArg3, 0, foldFlags);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_SET_WAVY, imgfxArg1, imgfxArg2, imgfxArg3, 0, imgfxFlags);
break;
case FOLD_UPD_SET_COLOR:
case IMGFX_SET_COLOR:
npc->renderMode = RENDER_MODE_ALPHATEST;
func_802DE894(npc->spriteInstanceID, FOLD_UPD_SET_COLOR, foldArg1, foldArg2, foldArg3, 255, foldFlags);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_SET_COLOR, imgfxArg1, imgfxArg2, imgfxArg3, 255, imgfxFlags);
break;
case FOLD_UPD_SET_ALPHA:
case IMGFX_SET_ALPHA:
npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2;
func_802DE894(npc->spriteInstanceID, FOLD_UPD_SET_ALPHA, 255, 255, 255, foldArg1, foldFlags);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_SET_ALPHA, 255, 255, 255, imgfxArg1, imgfxFlags);
break;
case FOLD_UPD_SET_TINT:
case IMGFX_SET_TINT:
npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2;
func_802DE894(npc->spriteInstanceID, FOLD_UPD_SET_TINT, foldArg1, foldArg2, foldArg3, foldArg4, foldFlags);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_SET_TINT, imgfxArg1, imgfxArg2, imgfxArg3, imgfxArg4, imgfxFlags);
break;
case FOLD_TYPE_9:
case IMGFX_SET_WHITE_FADE:
npc->renderMode = RENDER_MODE_ALPHATEST;
func_802DE894(npc->spriteInstanceID, FOLD_TYPE_9, foldArg1, foldArg2, foldArg3, 255, foldFlags);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_SET_WHITE_FADE, imgfxArg1, imgfxArg2, imgfxArg3, 255, imgfxFlags);
break;
case FOLD_TYPE_A:
case IMGFX_SET_CREDITS_FADE:
npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2;
func_802DE894(npc->spriteInstanceID, FOLD_TYPE_A, foldArg1, foldArg2, foldArg3, foldArg4, foldFlags);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_SET_CREDITS_FADE, imgfxArg1, imgfxArg2, imgfxArg3, imgfxArg4, imgfxFlags);
break;
case FOLD_UPD_SET_ANIM:
case IMGFX_SET_ANIM:
npc->renderMode = RENDER_MODE_ALPHATEST;
func_802DE894(npc->spriteInstanceID, FOLD_UPD_SET_ANIM, foldArg1, foldArg2, foldArg3, 0, foldFlags);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_SET_ANIM, imgfxArg1, imgfxArg2, imgfxArg3, 0, imgfxFlags);
break;
case FOLD_UPD_HOLOGRAM:
case IMGFX_HOLOGRAM:
npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2;
func_802DE894(npc->spriteInstanceID, FOLD_UPD_HOLOGRAM, foldArg1, foldArg2, foldArg3, foldArg4, foldFlags);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_HOLOGRAM, imgfxArg1, imgfxArg2, imgfxArg3, imgfxArg4, imgfxFlags);
break;
case FOLD_TYPE_E:
case IMGFX_FILL_COLOR:
npc->renderMode = RENDER_MODE_ALPHATEST;
func_802DE894(npc->spriteInstanceID, FOLD_TYPE_E, foldArg1, foldArg2, foldArg3, 255, foldFlags);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_FILL_COLOR, imgfxArg1, imgfxArg2, imgfxArg3, 255, imgfxFlags);
break;
case FOLD_TYPE_F:
case IMGFX_OVERLAY:
npc->renderMode = RENDER_MODE_ALPHATEST;
func_802DE894(npc->spriteInstanceID, FOLD_TYPE_F, foldArg1, 255, 0, 255, foldFlags);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_OVERLAY, imgfxArg1, 255, 0, 255, imgfxFlags);
break;
case FOLD_TYPE_10:
case IMGFX_OVERLAY_XLU:
npc->renderMode = RENDER_MODE_SURFACE_XLU_LAYER2;
func_802DE894(npc->spriteInstanceID, FOLD_TYPE_F, foldArg1, foldArg2, 0, foldArg2, foldFlags);
set_npc_imgfx_all(npc->spriteInstanceID, IMGFX_OVERLAY, imgfxArg1, imgfxArg2, 0, imgfxArg2, imgfxFlags);
break;
}
}
void npc_set_fold_params(Npc* npc, s32 foldType, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) {
npc->foldType = foldType;
npc->foldArg1 = arg2;
npc->foldArg2 = arg3;
npc->foldArg3 = arg4;
npc->foldArg4 = arg5;
npc->foldFlags = arg6;
void npc_set_imgfx_params(Npc* npc, s32 imgfxType, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) {
npc->imgfxType = imgfxType;
npc->imgfxArg1 = arg2;
npc->imgfxArg2 = arg3;
npc->imgfxArg3 = arg4;
npc->imgfxArg4 = arg5;
npc->imgfxFlags = arg6;
func_8003D3BC(npc);
}

View File

@ -578,7 +578,7 @@ void pause_tutorial_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 wid
guMtxCatF(matrix2ptr, matrix1, matrix1);
guMtxF2L(matrix1, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMainGfxPos++, &gDisplayContext->matrixStack[gMatrixListPos++], G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
func_802DE894(gPauseTutorialSprites[i], FOLD_UPD_SET_COLOR, 255, 255, 255, 255, 64);
set_npc_imgfx_all(gPauseTutorialSprites[i], IMGFX_SET_COLOR, 255, 255, 255, 255, 64);
spr_draw_npc_sprite(gPauseTutorialSprites[i], 0, 0, 0, matrix1);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -341,7 +341,7 @@ void pause_partners_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 wid
} else {
color = 255.0f - offsetZ * 95.0f * 0.125f;
}
func_802DE894(gPausePartnersSpriteIDs[gPausePartnersPartnerIdx[index]], FOLD_UPD_SET_COLOR, color, color, color, 255, 64);
set_npc_imgfx_all(gPausePartnersSpriteIDs[gPausePartnersPartnerIdx[index]], IMGFX_SET_COLOR, color, color, color, 255, 64);
spr_draw_npc_sprite(gPausePartnersSpriteIDs[gPausePartnersPartnerIdx[index]], 0, 0, NULL, matrix);
}

View File

@ -196,7 +196,7 @@ void pause_spirits_draw_contents(MenuPanel* menu, s32 baseX, s32 baseY, s32 widt
}
func_802DE894(gPauseSpiritsSpriteIDs[gPauseSpiritsIndexes[index]], FOLD_UPD_SET_TINT, color, color, color, alpha, 64);
set_npc_imgfx_all(gPauseSpiritsSpriteIDs[gPauseSpiritsIndexes[index]], IMGFX_SET_TINT, color, color, color, alpha, 64);
guTranslateF(matrix1, baseX + 22 + x, baseY + 77 + y + offsetY, 0.0f);
guRotateF(matrix2, 180.0f, 0.0f, 0.0f, 1.0f);
guMtxCatF(matrix2, matrix1, matrix1);

View File

@ -80,7 +80,7 @@ void pulse_stone_notification_setup(void) {
void appendGfx_pulse_stone_icon(void) {
PlayerStatus* playerStatus = &gPlayerStatus;
Matrix4f sp18, sp58;
FoldImageRecPart part;
ImgFXTexture ifxImg;
s32 pingDelay;
s32 dx, dy;
@ -124,7 +124,7 @@ void appendGfx_pulse_stone_icon(void) {
break;
}
part.palette = pulse_stone_icon_1_pal;
ifxImg.palette = pulse_stone_icon_1_pal;
if (pingDelay >= 0) {
PulseStonePtr->pingTime++;
if (PulseStonePtr->pingTime >= pingDelay + 2) {
@ -132,19 +132,19 @@ void appendGfx_pulse_stone_icon(void) {
sfx_play_sound_at_player(SOUND_7D, SOUND_SPACE_MODE_0);
}
if (PulseStonePtr->pingTime < 2) {
part.palette = pulse_stone_icon_2_pal;
ifxImg.palette = pulse_stone_icon_2_pal;
} else {
part.palette = pulse_stone_icon_1_pal;
ifxImg.palette = pulse_stone_icon_1_pal;
}
}
part.raster = pulse_stone_icon_img;
part.width = pulse_stone_icon_img_width;
part.height = pulse_stone_icon_img_height;
part.xOffset = -28;
part.yOffset = 46;
part.opacity = 255;
fold_appendGfx_component(0, &part, 0, sp58);
ifxImg.raster = pulse_stone_icon_img;
ifxImg.width = pulse_stone_icon_img_width;
ifxImg.height = pulse_stone_icon_img_height;
ifxImg.xOffset = -28;
ifxImg.yOffset = 46;
ifxImg.alpha = 255;
imgfx_appendGfx_component(0, &ifxImg, 0, sp58);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}
}

View File

@ -45,7 +45,7 @@ void interact_speech_setup(void) {
}
void appendGfx_speech_bubble(void) {
FoldImageRecPart foldImg;
ImgFXTexture ifxImg;
Matrix4f mtxTemp, mtxTransform;
if (gPlayerStatus.animFlags & PA_FLAG_SPEECH_PROMPT_AVAILABLE) {
@ -60,17 +60,17 @@ void appendGfx_speech_bubble(void) {
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
gSPDisplayList(gMainGfxPos++, &speech_bubble_gfx);
foldImg.raster = speech_bubble_img;
foldImg.palette = speech_bubble_pal;
foldImg.width = speech_bubble_img_width;
foldImg.height = speech_bubble_img_height;
foldImg.xOffset = -16;
foldImg.yOffset = 26;
foldImg.opacity = 255;
fold_update(0, FOLD_UPD_CLEAR, 0, 0, 0, 0, FOLD_STATE_FLAG_400 | FOLD_STATE_FLAG_40);
fold_update(0, FOLD_UPD_SET_COLOR,
ifxImg.raster = speech_bubble_img;
ifxImg.palette = speech_bubble_pal;
ifxImg.width = speech_bubble_img_width;
ifxImg.height = speech_bubble_img_height;
ifxImg.xOffset = -16;
ifxImg.yOffset = 26;
ifxImg.alpha = 255;
imgfx_update(0, IMGFX_CLEAR, 0, 0, 0, 0, IMGFX_FLAG_400 | IMGFX_FLAG_40);
imgfx_update(0, IMGFX_SET_COLOR,
SpeechBubblePtr->brightness, SpeechBubblePtr->brightness, SpeechBubblePtr->brightness, 255, 0x440);
fold_appendGfx_component(0, &foldImg, FOLD_STATE_FLAG_40, mtxTransform);
imgfx_appendGfx_component(0, &ifxImg, IMGFX_FLAG_40, mtxTransform);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -326,7 +326,7 @@ void spr_appendGfx_component(
{
Matrix4f mtxTransform;
Matrix4f mtxTemp;
FoldImageRecPart foldImg;
ImgFXTexture ifxImg;
s32 quadIndex;
Quad* quad;
s32 width;
@ -376,7 +376,7 @@ void spr_appendGfx_component(
height = cache->height;
quadIndex = cache->quadCacheIndex;
quad = NULL;
if (!(D_802DF540 & (0x80000000 | 0x40000000 | 0x20000000 | 0x10000000))) {
if (!(D_802DF540 & SPR_IMGFX_FLAG_ALL)) {
quad = spr_get_quad_for_size(&quadIndex, width, height);
cache->quadCacheIndex = quadIndex;
}
@ -384,15 +384,15 @@ void spr_appendGfx_component(
if (quad != NULL) {
spr_appendGfx_component_flat(quad, cache->image, palette, width, height, rotY, mtxTransform, (u8) opacity);
} else {
foldImg.raster = cache->image;
foldImg.palette = palette;
foldImg.width = width;
foldImg.height = height;
foldImg.xOffset = -(width / 2);
foldImg.yOffset = height;
foldImg.opacity = opacity;
if (fold_appendGfx_component((u8) (u16) D_802DF540, &foldImg, FOLD_STATE_FLAG_80000, mtxTransform) == 1) { // todo bitfield?
D_802DF540 &= ~(0x80000000 | 0x40000000 | 0x20000000 | 0x10000000);
ifxImg.raster = cache->image;
ifxImg.palette = palette;
ifxImg.width = width;
ifxImg.height = height;
ifxImg.xOffset = -(width / 2);
ifxImg.yOffset = height;
ifxImg.alpha = opacity;
if (imgfx_appendGfx_component((u8) D_802DF540, &ifxImg, IMGFX_FLAG_80000, mtxTransform) == 1) {
D_802DF540 &= ~SPR_IMGFX_FLAG_ALL;
}
}
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
@ -452,7 +452,7 @@ void spr_draw_component(s32 drawOpts, SpriteComponent* component, SpriteAnimComp
if (drawOpts & DRAW_SPRITE_USE_PLAYER_RASTERS) {
cacheEntry->image = spr_get_player_raster(component->currentRaster & 0xFFF, D_802DF57C);
}
D_802DF540 = component->unk_4C;
D_802DF540 = component->imgfxIdx;
pal = palettes[paletteIdx];
spr_appendGfx_component(
@ -466,7 +466,7 @@ void spr_draw_component(s32 drawOpts, SpriteComponent* component, SpriteAnimComp
component->scale.z,
drawOpts, pal, mtx
);
component->unk_4C = D_802DF540;
component->imgfxIdx = D_802DF540;
}
}
@ -774,7 +774,7 @@ void spr_init_sprites(s32 playerSpriteSet) {
spr_allocateBtlComponentsOnWorldHeap = FALSE;
_heap_create(&heap_spriteHead, 0x40000);
fold_init();
imgfx_init();
for (i = 0; i < ARRAY_COUNT(spr_playerSprites); i++) {
SpriteAnimData** playerSprites = spr_playerSprites;
@ -843,7 +843,7 @@ s32 spr_update_player_sprite(s32 spriteInstanceID, s32 animID, f32 timeScale) {
spr_playerCurrentAnimInfo[instanceIdx].componentList = compList;
while (*compList != PTR_LIST_END) {
component = *compList;
component->unk_4C = func_8013A704(1);
component->imgfxIdx = imgfx_get_free_instances(1);
compList++;
}
}
@ -969,11 +969,11 @@ s32 spr_draw_player_sprite(s32 spriteInstanceID, s32 yaw, s32 alphaIn, PAL_PTR*
return TRUE;
}
s32 func_802DDEC4(s32 arg0) {
return spr_playerCurrentAnimInfo[arg0].notifyValue;
s32 func_802DDEC4(s32 spriteIdx) {
return spr_playerCurrentAnimInfo[spriteIdx].notifyValue;
}
void func_802DDEE4(s32 spriteIdx, s32 compIdx, FoldType foldType, s32 arg3, s32 arg4, s32 arg5, s32 arg6, s32 arg7) {
void set_player_imgfx_comp(s32 spriteIdx, s32 compIdx, ImgFXType imgfx, s32 imgfxArg1, s32 imgfxArg2, s32 imgfxArg3, s32 imgfxArg4, s32 flags) {
SpriteComponent* component;
SpriteComponent** componentListIt;
s32 i;
@ -985,11 +985,11 @@ void func_802DDEE4(s32 spriteIdx, s32 compIdx, FoldType foldType, s32 arg3, s32
while (*componentListIt != PTR_LIST_END) {
component = *componentListIt;
if (compIdx == -1 || i == compIdx) {
fold_update(component->unk_4C & 0xFF, foldType, arg3, arg4, arg5, arg6, arg7);
if (foldType != 0) {
component->unk_4C |= 0x10000000;
imgfx_update(component->imgfxIdx & 0xFF, imgfx, imgfxArg1, imgfxArg2, imgfxArg3, imgfxArg4, flags);
if (imgfx != IMGFX_CLEAR) {
component->imgfxIdx |= SPR_IMGFX_FLAG_10000000;
} else {
component->unk_4C &= ~0xF0000000;
component->imgfxIdx &= ~SPR_IMGFX_FLAG_ALL;
}
}
componentListIt++;
@ -998,8 +998,9 @@ void func_802DDEE4(s32 spriteIdx, s32 compIdx, FoldType foldType, s32 arg3, s32
}
}
void func_802DDFF8(s32 animID, FoldType foldType, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) {
func_802DDEE4(PLAYER_SPRITE_MAIN, -1, foldType, arg2, arg3, arg4, arg5, arg6);
// applied to all components
void set_player_imgfx_all(s32 animID, ImgFXType imgfxType, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6) {
set_player_imgfx_comp(PLAYER_SPRITE_MAIN, -1, imgfxType, arg2, arg3, arg4, arg5, arg6);
}
void spr_get_player_raster_info(SpriteRasterInfo* out, s32 playerSpriteID, s32 rasterIndex) {
@ -1067,7 +1068,7 @@ s32 spr_load_npc_sprite(s32 animID, u32* extraAnimList) {
SpriteInstances[listIndex].componentList = compList;
while (*compList != PTR_LIST_END) {
SpriteComponent* comp = *compList;
comp->unk_4C = func_8013A704(1);
comp->imgfxIdx = imgfx_get_free_instances(1);
compList++;
}
SpriteInstances[listIndex].spriteIndex = spriteIndex;
@ -1194,7 +1195,7 @@ s32 spr_free_sprite(s32 spriteInstanceID) {
compList = sprite->componentList;
while (*compList != PTR_LIST_END) {
SpriteComponent* comp = *compList;
func_8013A854(comp->unk_4C & 0xFF);
imgfx_release_instance(comp->imgfxIdx & 0xFF);
compList++;
}
@ -1218,17 +1219,17 @@ s32 spr_free_sprite(s32 spriteInstanceID) {
return 0;
}
s32 func_802DE748(s32 spriteIdx, s32 compIdx) {
s32 get_npc_comp_imgfx_idx(s32 spriteIdx, s32 compIdx) {
SpriteComponent** componentList = SpriteInstances[spriteIdx].componentList;
if (componentList == NULL) {
return -1;
} else {
return componentList[compIdx]->unk_4C & 0xFF;
return componentList[compIdx]->imgfxIdx & 0xFF;
}
}
void func_802DE780(s32 spriteIdx, s32 compIdx, FoldType foldType, s32 foldArg1, s32 foldArg2, s32 foldArg3, s32 foldArg4, s32 foldArg5) {
void set_npc_imgfx_comp(s32 spriteIdx, s32 compIdx, ImgFXType imgfx, s32 imgfxArg1, s32 imgfxArg2, s32 imgfxArg3, s32 imgfxArg4, s32 imgfxArg5) {
SpriteInstance* sprite = &SpriteInstances[spriteIdx];
SpriteComponent** componentList;
s32 i;
@ -1241,11 +1242,11 @@ void func_802DE780(s32 spriteIdx, s32 compIdx, FoldType foldType, s32 foldArg1,
SpriteComponent* comp = *componentList;
if (compIdx == -1 || i == compIdx) {
fold_update((u8)comp->unk_4C, foldType, foldArg1, foldArg2, foldArg3, foldArg4, foldArg5);
if (foldType != FOLD_UPD_CLEAR) {
comp->unk_4C |= 0x10000000;
imgfx_update((u8)comp->imgfxIdx, imgfx, imgfxArg1, imgfxArg2, imgfxArg3, imgfxArg4, imgfxArg5);
if (imgfx != IMGFX_CLEAR) {
comp->imgfxIdx |= SPR_IMGFX_FLAG_10000000;
} else {
comp->unk_4C &= ~0xF0000000;
comp->imgfxIdx &= ~SPR_IMGFX_FLAG_ALL;
}
}
componentList++;
@ -1254,11 +1255,11 @@ void func_802DE780(s32 spriteIdx, s32 compIdx, FoldType foldType, s32 foldArg1,
}
}
void func_802DE894(s32 spriteIdx, FoldType foldType, s32 foldArg1, s32 foldArg2, s32 foldArg3, s32 foldArg4, s32 foldArg5) {
func_802DE780(spriteIdx, -1, foldType, foldArg1, foldArg2, foldArg3, foldArg4, foldArg5);
void set_npc_imgfx_all(s32 spriteIdx, ImgFXType imgfxType, s32 imgfxArg1, s32 imgfxArg2, s32 imgfxArg3, s32 imgfxArg4, s32 imgfxArg5) {
set_npc_imgfx_comp(spriteIdx, -1, imgfxType, imgfxArg1, imgfxArg2, imgfxArg3, imgfxArg4, imgfxArg5);
}
s32 func_802DE8DC(s32 spriteIdx, s32 compListIdx, s32* outX, s32* outY, s32* outZ) {
s32 spr_get_comp_position(s32 spriteIdx, s32 compListIdx, s32* outX, s32* outY, s32* outZ) {
SpriteInstance* sprite = &SpriteInstances[spriteIdx];
SpriteAnimComponent** animCompList;
SpriteAnimComponent* anim;

View File

@ -45,7 +45,7 @@ typedef struct SpriteComponent {
/* 0x28 */ Vec3f compPos;
/* 0x34 */ Vec3i rotation;
/* 0x40 */ Vec3f scale;
/* 0x4C */ s32 unk_4C;
/* 0x4C */ s32 imgfxIdx;
} SpriteComponent; // size = 0x50
typedef struct PlayerCurrentAnimInfo {
@ -119,7 +119,7 @@ extern Gfx D_802DF490[];
extern f32 spr_animUpdateTimeScale;
extern PlayerSpriteSet spr_playerSpriteSets[7];
void fold_init(void);
void imgfx_init(void);
void spr_init_sprites(s32 playerSpriteSet);
@ -133,9 +133,9 @@ s32 spr_draw_player_sprite(s32 spriteInstanceID, s32 yaw, s32 arg2, PAL_PTR* pal
s32 func_802DDEC4(s32 arg0);
void func_802DDEE4(s32, s32, FoldType, s32, s32, s32, s32, s32);
void set_player_imgfx_comp(s32, s32, ImgFXType, s32, s32, s32, s32, s32);
void func_802DDFF8(s32, FoldType, s32, s32, s32, s32, s32);
void set_player_imgfx_all(s32, ImgFXType, s32, s32, s32, s32, s32);
IMG_PTR spr_get_player_raster(s32 rasterIndex, s32 playerSpriteID);
@ -154,13 +154,13 @@ s32 spr_get_notify_value(s32 arg0);
s32 spr_free_sprite(s32 spriteInstanceID);
s32 func_802DE748(s32, s32); // TODO
s32 get_npc_comp_imgfx_idx(s32, s32);
void func_802DE780(s32, s32, FoldType, s32, s32, s32, s32, s32);
void set_npc_imgfx_comp(s32, s32, ImgFXType, s32, s32, s32, s32, s32);
void func_802DE894(s32 arg0, FoldType arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6);
void set_npc_imgfx_all(s32 arg0, ImgFXType arg1, s32 arg2, s32 arg3, s32 arg4, s32 arg5, s32 arg6);
s32 func_802DE8DC(s32 spriteIdx, s32 compListIdx, s32* outX, s32* outY, s32* outZ);
s32 spr_get_comp_position(s32 spriteIdx, s32 compListIdx, s32* outX, s32* outY, s32* outZ);
s32 spr_get_npc_raster_info(SpriteRasterInfo* out, s32 npcSpriteID, s32 rasterIndex);

View File

@ -6,7 +6,7 @@ extern SpriteShadingProfile wSpriteShadingProfile;
extern SpriteShadingProfile bSpriteShadingProfile;
extern SpriteShadingProfile wSpriteShadingProfileAux;
extern SpriteShadingProfile bSpriteShadingProfileAux;
extern s8 D_80159880[0x20];
extern PAL_BIN SpriteShadingPalette[16];
void appendGfx_shading_palette(Matrix4f mtx, s32 uls, s32 ult, s32 lrs, s32 lrt, s32 alpha,
f32 shadowX, f32 shadowY, f32 shadowZ,
@ -384,7 +384,7 @@ void appendGfx_shading_palette(
gDPSetPrimColor(gMainGfxPos++, 0, 0, shadowR, shadowG, shadowB, alpha);
gDPSetCombineLERP(gMainGfxPos++, TEXEL1, 0, PRIMITIVE, 0, 0, 0, 0, TEXEL0, COMBINED, TEXEL0, COMBINED_ALPHA,
TEXEL0, PRIMITIVE, 0, TEXEL0, 0);
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, D_80159880);
gDPSetColorImage(gMainGfxPos++, G_IM_FMT_RGBA, G_IM_SIZ_16b, SCREEN_WIDTH, SpriteShadingPalette);
gDPSetScissor(gMainGfxPos++, G_SC_NON_INTERLACE, 0, 0, 16, 1);
gSPSetOtherMode(gMainGfxPos++, G_SETOTHERMODE_H, 4, 18,
@ -409,7 +409,7 @@ void appendGfx_shading_palette(
camera->viewportStartY + camera->viewportH
);
gDPLoadTLUT_pal16(gMainGfxPos++, 1, D_80159880);
gDPLoadTLUT_pal16(gMainGfxPos++, 1, SpriteShadingPalette);
gSPSetOtherMode(gMainGfxPos++, G_SETOTHERMODE_H, 4, 18,
G_AD_DISABLE | G_CD_MAGICSQ | G_CK_NONE | G_TC_FILT | G_TF_BILERP | G_TT_RGBA16 | G_TL_TILE |
@ -442,8 +442,12 @@ void func_801491E4(Matrix4f mtx, s32 arg1, s32 arg2, s32 arg3, s32 arg4, s32 alp
gDPSetPrimColor(gMainGfxPos++, 0, 0, 0, 0, 0, alpha);
if (alpha == 255) {
gDPSetCombineLERP(gMainGfxPos++, 0, 0, 0, TEXEL1, 0, 0, 0, TEXEL1, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED);
gDPSetCombineLERP(gMainGfxPos++,
0, 0, 0, TEXEL1, 0, 0, 0, TEXEL1,
0, 0, 0, COMBINED, 0, 0, 0, COMBINED);
} else {
gDPSetCombineLERP(gMainGfxPos++, 0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, 0, 0, 0, 0, COMBINED, 0, 0, 0, COMBINED);
gDPSetCombineLERP(gMainGfxPos++,
0, 0, 0, TEXEL0, TEXEL0, 0, PRIMITIVE, 0,
0, 0, 0, COMBINED, 0, 0, 0, COMBINED);
}
}

View File

@ -59,14 +59,14 @@ void state_init_file_select(void) {
hud_element_clear_cache();
load_model_textures(0, 0, 0);
gCameras[CAM_DEFAULT].updateMode = CAM_UPDATE_MODE_6;
gCameras[CAM_DEFAULT].unk_06 = 1;
gCameras[CAM_DEFAULT].needsInit = TRUE;
gCameras[CAM_DEFAULT].nearClip = 16;
gCameras[CAM_DEFAULT].farClip = 4096;
gCameras[CAM_DEFAULT].flags |= CAMERA_FLAG_ENABLED;
gCameras[CAM_DEFAULT].flags |= CAMERA_FLAG_DISABLED;
gCurrentCameraID = CAM_DEFAULT;
gCameras[CAM_BATTLE].flags |= CAMERA_FLAG_ENABLED;
gCameras[CAM_TATTLE].flags |= CAMERA_FLAG_ENABLED;
gCameras[CAM_3].flags |= CAMERA_FLAG_ENABLED;
gCameras[CAM_BATTLE].flags |= CAMERA_FLAG_DISABLED;
gCameras[CAM_TATTLE].flags |= CAMERA_FLAG_DISABLED;
gCameras[CAM_3].flags |= CAMERA_FLAG_DISABLED;
gCameras[CAM_DEFAULT].vfov = 25.0f;
set_cam_viewport(0, 12, 28, 296, 184);
gCameras[CAM_DEFAULT].auxBoomLength = 40;

View File

@ -69,15 +69,15 @@ void state_init_logos(void) {
nuContRmbForceStop();
create_cameras_a();
gCameras[CAM_DEFAULT].updateMode = CAM_UPDATE_MODE_6;
gCameras[CAM_DEFAULT].unk_06 = TRUE;
gCameras[CAM_DEFAULT].needsInit = TRUE;
gCameras[CAM_DEFAULT].nearClip = 16;
gCameras[CAM_DEFAULT].farClip = 4096;
gCurrentCameraID = CAM_DEFAULT;
gCameras[CAM_DEFAULT].vfov = 25.0f;
gCameras[CAM_DEFAULT].flags |= CAMERA_FLAG_ENABLED;
gCameras[CAM_BATTLE].flags |= CAMERA_FLAG_ENABLED;
gCameras[CAM_TATTLE].flags |= CAMERA_FLAG_ENABLED;
gCameras[CAM_3].flags |= CAMERA_FLAG_ENABLED;
gCameras[CAM_DEFAULT].flags |= CAMERA_FLAG_DISABLED;
gCameras[CAM_BATTLE].flags |= CAMERA_FLAG_DISABLED;
gCameras[CAM_TATTLE].flags |= CAMERA_FLAG_DISABLED;
gCameras[CAM_3].flags |= CAMERA_FLAG_DISABLED;
set_cam_viewport(0, 12, 28, 296, 184);
gCameras[CAM_DEFAULT].auxBoomLength = 40;
gCameras[CAM_DEFAULT].bgColor[0] = 0;

View File

@ -117,15 +117,15 @@ void state_init_title_screen(void) {
create_cameras_a();
gCameras[CAM_DEFAULT].updateMode = CAM_UPDATE_MODE_6;
gCameras[CAM_DEFAULT].unk_06 = TRUE;
gCameras[CAM_DEFAULT].needsInit = TRUE;
gCameras[CAM_DEFAULT].nearClip = CAM_NEAR_CLIP;
gCameras[CAM_DEFAULT].farClip = CAM_FAR_CLIP;
gCurrentCameraID = CAM_DEFAULT;
gCameras[CAM_DEFAULT].vfov = 25.0f;
gCameras[CAM_DEFAULT].flags |= CAMERA_FLAG_ENABLED;
gCameras[CAM_BATTLE].flags |= CAMERA_FLAG_ENABLED;
gCameras[CAM_TATTLE].flags |= CAMERA_FLAG_ENABLED;
gCameras[CAM_3].flags |= CAMERA_FLAG_ENABLED;
gCameras[CAM_DEFAULT].flags |= CAMERA_FLAG_DISABLED;
gCameras[CAM_BATTLE].flags |= CAMERA_FLAG_DISABLED;
gCameras[CAM_TATTLE].flags |= CAMERA_FLAG_DISABLED;
gCameras[CAM_3].flags |= CAMERA_FLAG_DISABLED;
set_cam_viewport(0, 12, 28, 296, 184);
gCameras[CAM_DEFAULT].auxBoomLength = 40;
gCameras[CAM_DEFAULT].bgColor[0] = 0;
@ -370,8 +370,8 @@ void appendGfx_title_screen(void) {
gDPSetTextureConvert(gMainGfxPos++, G_TC_FILT);
gDPSetCombineKey(gMainGfxPos++, G_CK_NONE);
gDPSetAlphaCompare(gMainGfxPos++, G_AC_NONE);
render_frame(0);
render_frame(1);
render_frame(FALSE);
render_frame(TRUE);
}
void draw_title_screen_NOP(void) {

View File

@ -20,7 +20,7 @@ void state_step_world(void) {
void state_drawUI_world(void) {
draw_status_ui();
draw_encounter_ui();
func_8013A6E8();
imgfx_update_cache();
}
void state_world_draw_aux_ui(void) {

View File

@ -192,7 +192,7 @@ EvtScript N(802428CC) = {
EVT_END_IF
EVT_ADD(LVar1, 20)
EVT_CALL(SetNpcPos, NPC_Boo_05, LVar0, LVar1, LVar2)
EVT_CALL(SetNpcFoldParams, NPC_Boo_05, FOLD_UPD_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_05, IMGFX_SET_ALPHA, 0, 0, 0, 0)
EVT_WAIT(1)
EVT_RETURN
EVT_END
@ -210,7 +210,7 @@ EvtScript N(802429D4) = {
EVT_CALL(MakeLerp, 0, 255, 40, EASING_LINEAR)
EVT_LABEL(10)
EVT_CALL(UpdateLerp)
EVT_CALL(SetNpcFoldParams, NPC_Boo_05, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_05, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 1)
EVT_GOTO(10)
@ -233,7 +233,7 @@ EvtScript N(80242B0C) = {
EVT_CALL(MakeLerp, 255, 0, 40, EASING_LINEAR)
EVT_LABEL(10)
EVT_CALL(UpdateLerp)
EVT_CALL(SetNpcFoldParams, NPC_Boo_05, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_05, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 1)
EVT_GOTO(10)

View File

@ -370,9 +370,9 @@ EvtScript N(EVS_Scene_TubbaRaid) = {
EVT_SETF(LVar0, EVT_FLOAT(240.0))
EVT_LOOP(20 * DT)
EVT_SUBF(LVar0, EVT_FLOAT(240.0 / (s32) (20 * DT)))
EVT_CALL(SetNpcFoldParams, NPC_Boo_01, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Boo_02, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Boo_05, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_01, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_02, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_05, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(SetNpcPos, NPC_Boo_01, 420, 300, 220)
@ -385,8 +385,8 @@ EvtScript N(EVS_Scene_TubbaRaid) = {
EVT_SETF(LVar0, EVT_FLOAT(0.0))
EVT_LOOP(20 * DT)
EVT_ADDF(LVar0, EVT_FLOAT(240.0 / (s32) (20 * DT)))
EVT_CALL(SetNpcFoldParams, NPC_Boo_01, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Boo_02, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_01, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_02, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(SpeakToPlayer, NPC_Boo_03, ANIM_Boo_Tan_Flail, ANIM_Boo_Tan_Flail, 0, MSG_CH3_00A1)
@ -445,8 +445,8 @@ EvtScript N(EVS_Scene_TubbaRaid) = {
EVT_SETF(LVar0, EVT_FLOAT(240.0))
EVT_LOOP(20 * DT)
EVT_SUBF(LVar0, EVT_FLOAT(240.0 / (s32) (20 * DT)))
EVT_CALL(SetNpcFoldParams, NPC_Boo_01, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Boo_02, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_01, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_02, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(SetNpcPos, NPC_Boo_01, NPC_DISPOSE_LOCATION)
@ -565,14 +565,14 @@ EvtScript N(EVS_Scene_TubbaRaid) = {
EVT_SETF(LVar0, EVT_FLOAT(0.0))
EVT_LOOP(20 * DT)
EVT_ADDF(LVar0, EVT_FLOAT(250.0 / (s32) (20 * DT)))
EVT_CALL(SetNpcFoldParams, NPC_Boo_01, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Boo_02, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Boo_05, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_01, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_02, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_05, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(SetNpcFoldParams, NPC_Boo_01, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Boo_02, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Boo_05, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_01, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_02, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo_05, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_WAIT(10 * DT)
EVT_CALL(SetCamType, CAM_DEFAULT, 4, FALSE)
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(3.0 / DT))

View File

@ -133,12 +133,12 @@ EvtScript N(EVS_Scene_BossDefeated) = {
EVT_IF_NE(LVar6, PARTNER_BOW)
EVT_SET(LVar5, 8)
EVT_CALL(SetNpcPos, NPC_Bow, 257, 25, 0)
EVT_CALL(SetNpcFoldParams, NPC_Bow, FOLD_UPD_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Bow, IMGFX_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(NpcFacePlayer, NPC_Bow, 0)
EVT_CALL(MakeLerp, 0, 240, 20 * DT, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(SetNpcFoldParams, NPC_Bow, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Bow, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
@ -217,7 +217,7 @@ EvtScript N(EVS_Scene_BossDefeated) = {
EVT_CALL(MakeLerp, 240, 0, 20 * DT, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(SetNpcFoldParams, NPC_Bow, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Bow, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP
@ -282,7 +282,7 @@ EvtScript N(EVS_NpcIdle_Boo) = {
EVT_CALL(MakeLerp, LVar2, 240, LVar3, EASING_LINEAR)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP

View File

@ -16,7 +16,7 @@ API_CALLABLE(N(AwaitFallDownHole)) {
EvtScript N(EVS_SetupHole) = {
EVT_CALL(N(AwaitFallInHole))
EVT_CALL(func_802CA988, 0, LVar2, LVar3, LVar4, LVar5)
EVT_CALL(func_802CA988, CAM_DEFAULT, LVar2, LVar3, LVar4, LVar5)
EVT_CALL(N(AwaitFallDownHole))
EVT_SET(GF_DGB05_BoardedFloor, TRUE)
EVT_CALL(GotoMap, EVT_PTR("dgb_06"), dgb_06_ENTRY_1)

View File

@ -32,7 +32,7 @@ API_CALLABLE(N(AwaitFallDownHole)) {
EvtScript N(EVS_SetupHoles) = {
EVT_CALL(N(AwaitFallInHole))
EVT_CALL(func_802CA988, 0, LVar2, LVar3, LVar4, LVar5)
EVT_CALL(func_802CA988, CAM_DEFAULT, LVar2, LVar3, LVar4, LVar5)
EVT_CALL(N(AwaitFallDownHole))
#if VERSION_PAL
EVT_CALL(SetPlayerActionState, ACTION_STATE_IDLE)

View File

@ -318,8 +318,8 @@ EvtScript N(EVS_ToadHouse_GetInBed) = {
EVT_CALL(InterpPlayerYaw, 230, 1)
EVT_CALL(HidePlayerShadow, TRUE)
EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Idle)
EVT_CALL(SetPlayerFoldFlags, FOLD_STATE_FLAG_800)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_SET_ANIM, FOLD_ANIM_GET_IN_BED, 1, 1, 0)
EVT_CALL(SetPlayerImgFXFlags, IMGFX_FLAG_800)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_SET_ANIM, IMGFX_ANIM_GET_IN_BED, 1, 1, 0)
EVT_THREAD
EVT_WAIT(60)
EVT_CALL(SetPlayerAnimation, ANIM_MarioW2_SleepStanding)
@ -339,7 +339,7 @@ EvtScript N(EVS_ToadHouse_GetInBed) = {
EvtScript N(EVS_ToadHouse_ReturnFromRest) = {
EVT_CALL(HidePlayerShadow, FALSE)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetPlayerPos, -187, 0, -240)
EVT_CALL(SetPlayerSpeed, EVT_FLOAT(3.0))
EVT_CALL(PlayerMoveTo, -168, -195, 0)

View File

@ -168,22 +168,22 @@ API_CALLABLE(N(UndarkenWorld)) {
}
API_CALLABLE(N(CreateRitualCards)) {
s32 ret;
s32 imgfxIdx;
N(CreatorScript) = script;
ret = func_8013A704(1);
fold_update(ret, FOLD_UPD_SET_ANIM, FOLD_ANIM_SHUFFLE_CARDS, 1, 1, 0, FOLD_STATE_FLAG_800);
evt_set_variable(script, RITUAL_VAR_FOLDER_1, ret);
ret = func_8013A704(1);
fold_update(ret, FOLD_UPD_SET_ANIM, FOLD_ANIM_FLIP_CARD_1, 1, 1, 0, FOLD_STATE_FLAG_800);
evt_set_variable(script, RITUAL_VAR_FOLDER_2, ret);
ret = func_8013A704(1);
fold_update(ret, FOLD_UPD_SET_ANIM, FOLD_ANIM_FLIP_CARD_2, 1, 1, 0, FOLD_STATE_FLAG_800);
evt_set_variable(script, RITUAL_VAR_FOLDER_3, ret);
ret = func_8013A704(1);
fold_update(ret, FOLD_UPD_SET_ANIM, FOLD_ANIM_FLIP_CARD_3, 1, 1, 0, FOLD_STATE_FLAG_800);
evt_set_variable(script, RITUAL_VAR_FOLDER_4, ret);
imgfxIdx = imgfx_get_free_instances(1);
imgfx_update(imgfxIdx, IMGFX_SET_ANIM, IMGFX_ANIM_SHUFFLE_CARDS, 1, 1, 0, IMGFX_FLAG_800);
evt_set_variable(script, RITUAL_VAR_FOLDER_1, imgfxIdx);
imgfxIdx = imgfx_get_free_instances(1);
imgfx_update(imgfxIdx, IMGFX_SET_ANIM, IMGFX_ANIM_FLIP_CARD_1, 1, 1, 0, IMGFX_FLAG_800);
evt_set_variable(script, RITUAL_VAR_FOLDER_2, imgfxIdx);
imgfxIdx = imgfx_get_free_instances(1);
imgfx_update(imgfxIdx, IMGFX_SET_ANIM, IMGFX_ANIM_FLIP_CARD_2, 1, 1, 0, IMGFX_FLAG_800);
evt_set_variable(script, RITUAL_VAR_FOLDER_3, imgfxIdx);
imgfxIdx = imgfx_get_free_instances(1);
imgfx_update(imgfxIdx, IMGFX_SET_ANIM, IMGFX_ANIM_FLIP_CARD_3, 1, 1, 0, IMGFX_FLAG_800);
evt_set_variable(script, RITUAL_VAR_FOLDER_4, imgfxIdx);
evt_set_variable(script, RITUAL_VAR_WORKER, create_worker_world(
N(card_worker_update),
@ -192,10 +192,10 @@ API_CALLABLE(N(CreateRitualCards)) {
}
API_CALLABLE(N(DestroyRitualCards)) {
func_8013A854(evt_get_variable(script, RITUAL_VAR_FOLDER_1));
func_8013A854(evt_get_variable(script, RITUAL_VAR_FOLDER_2));
func_8013A854(evt_get_variable(script, RITUAL_VAR_FOLDER_3));
func_8013A854(evt_get_variable(script, RITUAL_VAR_FOLDER_4));
imgfx_release_instance(evt_get_variable(script, RITUAL_VAR_FOLDER_1));
imgfx_release_instance(evt_get_variable(script, RITUAL_VAR_FOLDER_2));
imgfx_release_instance(evt_get_variable(script, RITUAL_VAR_FOLDER_3));
imgfx_release_instance(evt_get_variable(script, RITUAL_VAR_FOLDER_4));
free_worker(evt_get_variable(script, RITUAL_VAR_WORKER));
return ApiStatus_DONE2;
}
@ -203,7 +203,7 @@ API_CALLABLE(N(DestroyRitualCards)) {
u32 N(appendGfx_ritual_card)(RitualCard* card, Matrix4f mtxParent) {
Matrix4f mtxTransform;
Matrix4f mtxTemp;
FoldImageRecPart foldImage;
ImgFXTexture ifxImg;
SpriteRasterInfo rasterInfo;
s32 ret;
@ -250,7 +250,7 @@ u32 N(appendGfx_ritual_card)(RitualCard* card, Matrix4f mtxParent) {
guMtxCatF(mtxTemp, mtxParent, mtxTransform);
guMtxF2L(mtxTransform, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMainGfxPos++, VIRTUAL_TO_PHYSICAL(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
ret = fold_appendGfx_component(evt_get_variable(N(CreatorScript), RITUAL_VAR_FOLDER_1), &foldImage, FOLD_STATE_FLAG_SKIP_GFX_SETUP | FOLD_STATE_FLAG_SKIP_TEX_SETUP, mtxTransform);
ret = imgfx_appendGfx_component(evt_get_variable(N(CreatorScript), RITUAL_VAR_FOLDER_1), &ifxImg, IMGFX_FLAG_SKIP_GFX_SETUP | IMGFX_FLAG_SKIP_TEX_SETUP, mtxTransform);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
return ret;
}
@ -261,22 +261,22 @@ u32 N(appendGfx_ritual_card)(RitualCard* card, Matrix4f mtxParent) {
guMtxCatF(mtxTemp, mtxParent, mtxTransform);
guMtxF2L(mtxTransform, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMainGfxPos++, VIRTUAL_TO_PHYSICAL(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
fold_appendGfx_component(evt_get_variable(N(CreatorScript), RITUAL_VAR_FOLDER_2), &foldImage, FOLD_STATE_FLAG_SKIP_GFX_SETUP | FOLD_STATE_FLAG_SKIP_TEX_SETUP, mtxTransform);
fold_appendGfx_component(evt_get_variable(N(CreatorScript), RITUAL_VAR_FOLDER_3), &foldImage, FOLD_STATE_FLAG_SKIP_GFX_SETUP | FOLD_STATE_FLAG_SKIP_TEX_SETUP, mtxTransform);
imgfx_appendGfx_component(evt_get_variable(N(CreatorScript), RITUAL_VAR_FOLDER_2), &ifxImg, IMGFX_FLAG_SKIP_GFX_SETUP | IMGFX_FLAG_SKIP_TEX_SETUP, mtxTransform);
imgfx_appendGfx_component(evt_get_variable(N(CreatorScript), RITUAL_VAR_FOLDER_3), &ifxImg, IMGFX_FLAG_SKIP_GFX_SETUP | IMGFX_FLAG_SKIP_TEX_SETUP, mtxTransform);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
guTranslateF(mtxTemp, N(RitualCards)[0].pos.x, N(RitualCards)[0].pos.y, N(RitualCards)[0].pos.z);
guMtxCatF(mtxTemp, mtxParent, mtxTransform);
guMtxF2L(mtxTransform, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMainGfxPos++, VIRTUAL_TO_PHYSICAL(&gDisplayContext->matrixStack[gMatrixListPos++]), G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
spr_get_player_raster_info(&rasterInfo, card->spriteID, card->rasterIndex);
foldImage.raster = rasterInfo.raster;
foldImage.palette = rasterInfo.defaultPal;
foldImage.width = rasterInfo.width;
foldImage.height = rasterInfo.height;
foldImage.xOffset = -(rasterInfo.width / 2);
foldImage.yOffset = rasterInfo.height / 2;
foldImage.opacity = 255;
ret = fold_appendGfx_component(evt_get_variable(N(CreatorScript), RITUAL_VAR_FOLDER_4), &foldImage, FOLD_STATE_FLAG_SKIP_GFX_SETUP, mtxTransform);
ifxImg.raster = rasterInfo.raster;
ifxImg.palette = rasterInfo.defaultPal;
ifxImg.width = rasterInfo.width;
ifxImg.height = rasterInfo.height;
ifxImg.xOffset = -(rasterInfo.width / 2);
ifxImg.yOffset = rasterInfo.height / 2;
ifxImg.alpha = 255;
ret = imgfx_appendGfx_component(evt_get_variable(N(CreatorScript), RITUAL_VAR_FOLDER_4), &ifxImg, IMGFX_FLAG_SKIP_GFX_SETUP, mtxTransform);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
return ret;
}

View File

@ -107,7 +107,7 @@ s32 N(CreditsBufferIndex) = 0;
// unused
void N(CharAnim_FadeIn_0)(CreditsLine* line, CreditsChar* chr) {
FoldImageRecPart foldImg;
ImgFXTexture ifxImg;
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
Matrix4f transformMtx;
@ -119,7 +119,7 @@ void N(CharAnim_FadeIn_0)(CreditsLine* line, CreditsChar* chr) {
if (alpha > 255.0f) {
alpha = 255.0;
}
fold_update(0, FOLD_UPD_SET_ALPHA, 255, 255, 255, alpha, 0);
imgfx_update(0, IMGFX_SET_ALPHA, 255, 255, 255, alpha, 0);
msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr);
posX += (glyphPtr->charWidth * 0.5);
@ -128,21 +128,21 @@ void N(CharAnim_FadeIn_0)(CreditsLine* line, CreditsChar* chr) {
gSPMatrix(gMainGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
foldImg.raster = glyphPtr->raster;
foldImg.palette = glyphPtr->palette;
foldImg.width = glyphPtr->texSize.x;
foldImg.height = glyphPtr->texSize.y;
foldImg.xOffset = -(glyphPtr->charWidth * 0.5);
foldImg.yOffset = 0;
foldImg.opacity = 255;
fold_appendGfx_component(0, &foldImg, FOLD_STATE_FLAG_40000 | FOLD_STATE_FLAG_NO_FILTERING | FOLD_STATE_FLAG_40, transformMtx);
ifxImg.raster = glyphPtr->raster;
ifxImg.palette = glyphPtr->palette;
ifxImg.width = glyphPtr->texSize.x;
ifxImg.height = glyphPtr->texSize.y;
ifxImg.xOffset = -(glyphPtr->charWidth * 0.5);
ifxImg.yOffset = 0;
ifxImg.alpha = 255;
imgfx_appendGfx_component(0, &ifxImg, IMGFX_FLAG_40000 | IMGFX_FLAG_NO_FILTERING | IMGFX_FLAG_40, transformMtx);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}
void N(CharAnim_FadeIn_1)(CreditsLine* line, CreditsChar* chr) {
FoldImageRecPart foldImg;
ImgFXTexture ifxImg;
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
Matrix4f transformMtx;
@ -155,15 +155,15 @@ void N(CharAnim_FadeIn_1)(CreditsLine* line, CreditsChar* chr) {
alpha = 255.0;
}
if (chr->fadeInTime == (line->appearTime - 4)) {
fold_update(0, FOLD_TYPE_A, 64, 64, 64, alpha, 0);
imgfx_update(0, IMGFX_SET_CREDITS_FADE, 64, 64, 64, alpha, 0);
} else if (chr->fadeInTime == (line->appearTime - 3)) {
fold_update(0, FOLD_TYPE_A, 96, 96, 96, alpha, 0);
imgfx_update(0, IMGFX_SET_CREDITS_FADE, 96, 96, 96, alpha, 0);
} else if (chr->fadeInTime == (line->appearTime - 2)) {
fold_update(0, FOLD_TYPE_A, 127, 127, 127, alpha, 0);
imgfx_update(0, IMGFX_SET_CREDITS_FADE, 127, 127, 127, alpha, 0);
} else if (chr->fadeInTime == (line->appearTime - 1)) {
fold_update(0, FOLD_TYPE_A, 80, 80, 80, alpha, 0);
imgfx_update(0, IMGFX_SET_CREDITS_FADE, 80, 80, 80, alpha, 0);
} else {
fold_update(0, FOLD_UPD_SET_ALPHA, 255, 255, 255, alpha, 0);
imgfx_update(0, IMGFX_SET_ALPHA, 255, 255, 255, alpha, 0);
}
msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr);
@ -173,19 +173,19 @@ void N(CharAnim_FadeIn_1)(CreditsLine* line, CreditsChar* chr) {
gSPMatrix(gMainGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
foldImg.raster = glyphPtr->raster;
foldImg.palette = glyphPtr->palette;
foldImg.width = glyphPtr->texSize.x;
foldImg.height = glyphPtr->texSize.y;
foldImg.xOffset = -(glyphPtr->charWidth * 0.5);
foldImg.yOffset = 0;
foldImg.opacity = 255;
fold_appendGfx_component(0, &foldImg, FOLD_STATE_FLAG_40000 | FOLD_STATE_FLAG_NO_FILTERING | FOLD_STATE_FLAG_40, transformMtx);
ifxImg.raster = glyphPtr->raster;
ifxImg.palette = glyphPtr->palette;
ifxImg.width = glyphPtr->texSize.x;
ifxImg.height = glyphPtr->texSize.y;
ifxImg.xOffset = -(glyphPtr->charWidth * 0.5);
ifxImg.yOffset = 0;
ifxImg.alpha = 255;
imgfx_appendGfx_component(0, &ifxImg, IMGFX_FLAG_40000 | IMGFX_FLAG_NO_FILTERING | IMGFX_FLAG_40, transformMtx);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}
void N(CharAnim_FadeIn_2)(CreditsLine* line, CreditsChar* chr) {
FoldImageRecPart foldImg;
ImgFXTexture ifxImg;
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
Matrix4f transformMtx, tempMtx;
@ -198,7 +198,7 @@ void N(CharAnim_FadeIn_2)(CreditsLine* line, CreditsChar* chr) {
if (alpha > 255.0f) {
alpha = 255.0f;
}
fold_update(0, FOLD_UPD_SET_ALPHA, 255, 255, 255, alpha, 0);
imgfx_update(0, IMGFX_SET_ALPHA, 255, 255, 255, alpha, 0);
scaleAmt = update_lerp(EASING_LINEAR, 0.2f, 2.0f, chr->fadeInTime, line->appearTime);
if (scaleAmt > 1.0) {
@ -216,20 +216,20 @@ void N(CharAnim_FadeIn_2)(CreditsLine* line, CreditsChar* chr) {
gSPMatrix(gMainGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
foldImg.raster = glyphPtr->raster;
foldImg.palette = glyphPtr->palette;
foldImg.width = glyphPtr->texSize.x;
foldImg.height = glyphPtr->texSize.y;
foldImg.xOffset = -(glyphPtr->charWidth * 0.5);
foldImg.yOffset = 0;
foldImg.opacity = 255;
fold_appendGfx_component(0, &foldImg, FOLD_STATE_FLAG_40, transformMtx);
ifxImg.raster = glyphPtr->raster;
ifxImg.palette = glyphPtr->palette;
ifxImg.width = glyphPtr->texSize.x;
ifxImg.height = glyphPtr->texSize.y;
ifxImg.xOffset = -(glyphPtr->charWidth * 0.5);
ifxImg.yOffset = 0;
ifxImg.alpha = 255;
imgfx_appendGfx_component(0, &ifxImg, IMGFX_FLAG_40, transformMtx);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}
void N(CharAnim_FadeIn_3)(CreditsLine* line, CreditsChar* chr) {
FoldImageRecPart foldImg;
ImgFXTexture ifxImg;
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
Matrix4f transformMtx, tempMtx;
@ -241,7 +241,7 @@ void N(CharAnim_FadeIn_3)(CreditsLine* line, CreditsChar* chr) {
if (alpha > 255.0f) {
alpha = 255.0f;
}
fold_update(0, FOLD_UPD_SET_ALPHA, 255, 255, 255, alpha, 0);
imgfx_update(0, IMGFX_SET_ALPHA, 255, 255, 255, alpha, 0);
rotAngle = update_lerp(EASING_LINEAR, -75.0f, 30.0f, chr->fadeInTime, line->appearTime);
if (rotAngle >= 0.0f) {
@ -260,27 +260,27 @@ void N(CharAnim_FadeIn_3)(CreditsLine* line, CreditsChar* chr) {
gSPMatrix(gMainGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
foldImg.raster = glyphPtr->raster;
foldImg.palette = glyphPtr->palette;
foldImg.width = glyphPtr->texSize.x;
foldImg.height = glyphPtr->texSize.y;
foldImg.xOffset = -(glyphPtr->charWidth * 0.5);
foldImg.yOffset = 0;
foldImg.opacity = 255;
fold_appendGfx_component(0, &foldImg, FOLD_STATE_FLAG_NO_FILTERING | FOLD_STATE_FLAG_40, transformMtx);
ifxImg.raster = glyphPtr->raster;
ifxImg.palette = glyphPtr->palette;
ifxImg.width = glyphPtr->texSize.x;
ifxImg.height = glyphPtr->texSize.y;
ifxImg.xOffset = -(glyphPtr->charWidth * 0.5);
ifxImg.yOffset = 0;
ifxImg.alpha = 255;
imgfx_appendGfx_component(0, &ifxImg, IMGFX_FLAG_NO_FILTERING | IMGFX_FLAG_40, transformMtx);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}
void N(CharAnim_FadeIn_4)(CreditsLine* line, CreditsChar* chr) {
FoldImageRecPart foldImg;
ImgFXTexture ifxImg;
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
Matrix4f transformMtx, tempMtx;
f32 posX, posY, scaleAmt, rotAngle;
f32 startX = (line->posX + line->msgWidth) - 16;
f32 startY = line->posY + 60;
u32 foldFlags = FOLD_STATE_FLAG_40;
u32 imgfxFlags = IMGFX_FLAG_40;
posX = update_lerp(EASING_COS_IN_OUT, startX, chr->posX, chr->fadeInTime, line->appearTime);
posY = update_lerp(EASING_CUBIC_OUT, startY, chr->posY, chr->fadeInTime, line->appearTime);
@ -292,14 +292,14 @@ void N(CharAnim_FadeIn_4)(CreditsLine* line, CreditsChar* chr) {
scaleAmt = update_lerp(EASING_QUADRATIC_OUT, 2.0f, 1.0f, chr->fadeInTime, line->appearTime);
if (chr->fadeInTime == line->appearTime) {
fold_update(0, FOLD_UPD_CLEAR, 0, 0, 0, 0, 0);
foldFlags |= FOLD_STATE_FLAG_NO_FILTERING;
imgfx_update(0, IMGFX_CLEAR, 0, 0, 0, 0, 0);
imgfxFlags |= IMGFX_FLAG_NO_FILTERING;
} else {
f32 alpha = update_lerp(EASING_LINEAR, 16.0f, 300.0f, chr->fadeInTime, line->appearTime);
if (alpha > 255.0f) {
alpha = 255.0f;
}
fold_update(0, FOLD_UPD_SET_ALPHA, 255, 255, 255, alpha, 0);
imgfx_update(0, IMGFX_SET_ALPHA, 255, 255, 255, alpha, 0);
}
msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr);
@ -313,14 +313,14 @@ void N(CharAnim_FadeIn_4)(CreditsLine* line, CreditsChar* chr) {
gSPMatrix(gMainGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
foldImg.raster = glyphPtr->raster;
foldImg.palette = glyphPtr->palette;
foldImg.width = glyphPtr->texSize.x;
foldImg.height = glyphPtr->texSize.y;
foldImg.xOffset = -(glyphPtr->charWidth * 0.5);
foldImg.yOffset = 0;
foldImg.opacity = 255;
fold_appendGfx_component(0, &foldImg, foldFlags, transformMtx);
ifxImg.raster = glyphPtr->raster;
ifxImg.palette = glyphPtr->palette;
ifxImg.width = glyphPtr->texSize.x;
ifxImg.height = glyphPtr->texSize.y;
ifxImg.xOffset = -(glyphPtr->charWidth * 0.5);
ifxImg.yOffset = 0;
ifxImg.alpha = 255;
imgfx_appendGfx_component(0, &ifxImg, imgfxFlags, transformMtx);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}
@ -341,29 +341,29 @@ void N(CharAnim_FadeIn_5)(CreditsLine* line, CreditsChar* chr) {
}
// unused
void N(CharAnim_HoldClearFold)(CreditsLine* line, CreditsChar* chr) {
FoldImageRecPart foldImg;
void N(CharAnim_HoldClearImgFX)(CreditsLine* line, CreditsChar* chr) {
ImgFXTexture ifxImg;
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
Matrix4f transformMtx;
f32 posX = chr->posX;
f32 posY = chr->posY;
fold_update(0, FOLD_UPD_CLEAR, 0, 0, 0, 0, 0);
imgfx_update(0, IMGFX_CLEAR, 0, 0, 0, 0, 0);
guTranslateF(transformMtx, posX, -posY, 0.0f);
guMtxF2L (transformMtx, &gDisplayContext->matrixStack[gMatrixListPos]);
gSPMatrix(gMainGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr);
foldImg.raster = glyphPtr->raster;
foldImg.palette = glyphPtr->palette;
foldImg.width = glyphPtr->texSize.x;
foldImg.height = glyphPtr->texSize.y;
foldImg.xOffset = -(glyphPtr->charWidth * 0.5);
foldImg.yOffset = 0;
foldImg.opacity = 255;
fold_appendGfx_component(0, &foldImg, FOLD_STATE_FLAG_40000 | FOLD_STATE_FLAG_NO_FILTERING | FOLD_STATE_FLAG_40, transformMtx);
ifxImg.raster = glyphPtr->raster;
ifxImg.palette = glyphPtr->palette;
ifxImg.width = glyphPtr->texSize.x;
ifxImg.height = glyphPtr->texSize.y;
ifxImg.xOffset = -(glyphPtr->charWidth * 0.5);
ifxImg.yOffset = 0;
ifxImg.alpha = 255;
imgfx_appendGfx_component(0, &ifxImg, IMGFX_FLAG_40000 | IMGFX_FLAG_NO_FILTERING | IMGFX_FLAG_40, transformMtx);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}
@ -382,7 +382,7 @@ void N(CharAnim_Hold)(CreditsLine* line, CreditsChar* chr) {
// unused
void N(CharAnim_FadeOut_0)(CreditsLine* line, CreditsChar* chr) {
FoldImageRecPart foldImg;
ImgFXTexture ifxImg;
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
Matrix4f transformMtx;
@ -391,7 +391,7 @@ void N(CharAnim_FadeOut_0)(CreditsLine* line, CreditsChar* chr) {
f32 alpha;
alpha = update_lerp(EASING_SIN_OUT, 255.0f, 0.0f, chr->fadeInTime, line->vanishTime);
fold_update(0, FOLD_UPD_SET_ALPHA, 255, 255, 255, alpha, 0);
imgfx_update(0, IMGFX_SET_ALPHA, 255, 255, 255, alpha, 0);
msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr);
@ -401,20 +401,20 @@ void N(CharAnim_FadeOut_0)(CreditsLine* line, CreditsChar* chr) {
gSPMatrix(gMainGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
foldImg.raster = glyphPtr->raster;
foldImg.palette = glyphPtr->palette;
foldImg.width = glyphPtr->texSize.x;
foldImg.height = glyphPtr->texSize.y;
foldImg.xOffset = -(glyphPtr->charWidth * 0.5);
foldImg.yOffset = 0;
foldImg.opacity = 255;
fold_appendGfx_component(0, &foldImg, FOLD_STATE_FLAG_NO_FILTERING | FOLD_STATE_FLAG_40, transformMtx);
ifxImg.raster = glyphPtr->raster;
ifxImg.palette = glyphPtr->palette;
ifxImg.width = glyphPtr->texSize.x;
ifxImg.height = glyphPtr->texSize.y;
ifxImg.xOffset = -(glyphPtr->charWidth * 0.5);
ifxImg.yOffset = 0;
ifxImg.alpha = 255;
imgfx_appendGfx_component(0, &ifxImg, IMGFX_FLAG_NO_FILTERING | IMGFX_FLAG_40, transformMtx);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}
void N(CharAnim_FadeOut_1)(CreditsLine* line, CreditsChar* chr) {
FoldImageRecPart foldImg;
ImgFXTexture ifxImg;
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
Matrix4f transformMtx, tempMtx;
@ -423,7 +423,7 @@ void N(CharAnim_FadeOut_1)(CreditsLine* line, CreditsChar* chr) {
f32 posY = chr->posY;
alpha = update_lerp(EASING_SIN_OUT, 255.0f, 0.0f, chr->fadeInTime, line->vanishTime);
fold_update(0, FOLD_UPD_SET_ALPHA, 255, 255, 255, alpha, 0);
imgfx_update(0, IMGFX_SET_ALPHA, 255, 255, 255, alpha, 0);
scaleAmt = update_lerp(EASING_LINEAR, 1.0f, 0.2f, chr->fadeInTime, line->vanishTime);
msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr);
@ -436,20 +436,20 @@ void N(CharAnim_FadeOut_1)(CreditsLine* line, CreditsChar* chr) {
gSPMatrix(gMainGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
foldImg.raster = glyphPtr->raster;
foldImg.palette = glyphPtr->palette;
foldImg.width = glyphPtr->texSize.x;
foldImg.height = glyphPtr->texSize.y;
foldImg.xOffset = -(glyphPtr->charWidth * 0.5);
foldImg.yOffset = 0;
foldImg.opacity = 255;
fold_appendGfx_component(0, &foldImg, FOLD_STATE_FLAG_40, transformMtx);
ifxImg.raster = glyphPtr->raster;
ifxImg.palette = glyphPtr->palette;
ifxImg.width = glyphPtr->texSize.x;
ifxImg.height = glyphPtr->texSize.y;
ifxImg.xOffset = -(glyphPtr->charWidth * 0.5);
ifxImg.yOffset = 0;
ifxImg.alpha = 255;
imgfx_appendGfx_component(0, &ifxImg, IMGFX_FLAG_40, transformMtx);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}
void N(CharAnim_FadeOut_2)(CreditsLine* line, CreditsChar* chr) {
FoldImageRecPart foldImg;
ImgFXTexture ifxImg;
MesasgeFontGlyphData glyph;
MesasgeFontGlyphData* glyphPtr = &glyph;
Matrix4f transformMtx, tempMtx;
@ -458,7 +458,7 @@ void N(CharAnim_FadeOut_2)(CreditsLine* line, CreditsChar* chr) {
f32 posY = chr->posY;
alpha = update_lerp(EASING_SIN_OUT, 255.0f, 0.0f, chr->fadeInTime, line->vanishTime);
fold_update(0, FOLD_UPD_SET_ALPHA, 255, 255, 255, alpha, 0);
imgfx_update(0, IMGFX_SET_ALPHA, 255, 255, 255, alpha, 0);
rotAngle = update_lerp(EASING_LINEAR, 0.0f, 60.0f, chr->fadeInTime, line->vanishTime);
msg_get_glyph(chr->font, chr->variation, chr->charIndex, chr->palette, glyphPtr);
@ -471,14 +471,14 @@ void N(CharAnim_FadeOut_2)(CreditsLine* line, CreditsChar* chr) {
gSPMatrix(gMainGfxPos++, OS_PHYSICAL_TO_K0(&gDisplayContext->matrixStack[gMatrixListPos++]),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
foldImg.raster = glyphPtr->raster;
foldImg.palette = glyphPtr->palette;
foldImg.width = glyphPtr->texSize.x;
foldImg.height = glyphPtr->texSize.y;
foldImg.xOffset = -(glyphPtr->charWidth * 0.5);
foldImg.yOffset = 0;
foldImg.opacity = 255;
fold_appendGfx_component(0, &foldImg, FOLD_STATE_FLAG_NO_FILTERING | FOLD_STATE_FLAG_40, transformMtx);
ifxImg.raster = glyphPtr->raster;
ifxImg.palette = glyphPtr->palette;
ifxImg.width = glyphPtr->texSize.x;
ifxImg.height = glyphPtr->texSize.y;
ifxImg.xOffset = -(glyphPtr->charWidth * 0.5);
ifxImg.yOffset = 0;
ifxImg.alpha = 255;
imgfx_appendGfx_component(0, &ifxImg, IMGFX_FLAG_NO_FILTERING | IMGFX_FLAG_40, transformMtx);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}

View File

@ -1,7 +1,7 @@
#include "end_00.h"
EvtScript N(EVS_Main) = {
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_MODE_3, 35, 16, 4096)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_FROM_ZONE, 35, 16, 4096)
EVT_CALL(SetCamViewport, CAM_DEFAULT, 15, 28, 290, 128)
EVT_CALL(SetCamBGColor, CAM_DEFAULT, 0, 0, 0)
EVT_CALL(SetCamEnabled, CAM_DEFAULT, TRUE)

View File

@ -77,9 +77,9 @@ EvtScript N(EVS_ParadePhase_Boos) = {
EVT_END_LOOP
EVT_WAIT(10 * DT)
EVT_CALL(N(SetUnusedAlpha), 255)
EVT_CALL(SetNpcFoldParams, NPC_Boo1, FOLD_UPD_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Boo2, FOLD_UPD_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Boo3, FOLD_UPD_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo1, IMGFX_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo2, IMGFX_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo3, IMGFX_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(EnableNpcShadow, NPC_Boo1, FALSE)
EVT_CALL(EnableNpcShadow, NPC_Boo2, FALSE)
EVT_CALL(EnableNpcShadow, NPC_Boo3, FALSE)
@ -97,9 +97,9 @@ EvtScript N(EVS_ParadePhase_Boos) = {
EVT_CALL(MakeLerp, 0, 255, 30 * DT, EASING_LINEAR)
EVT_LOOP(30 * DT)
EVT_CALL(UpdateLerp)
EVT_CALL(SetNpcFoldParams, NPC_Boo1, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Boo2, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Boo3, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo1, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo2, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Boo3, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(EnableNpcShadow, NPC_Boo1, TRUE)

View File

@ -6,7 +6,7 @@ API_CALLABLE(N(WidenCameraFOV)) {
}
EvtScript N(EVS_Main) = {
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_MODE_3, 25, 16, 4096)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_FROM_ZONE, 25, 16, 4096)
EVT_CALL(SetCamViewport, CAM_DEFAULT, 15, 28, 290, 128)
EVT_CALL(SetCamBGColor, CAM_DEFAULT, 0, 0, 0)
EVT_CALL(SetCamEnabled, CAM_DEFAULT, TRUE)

View File

@ -294,9 +294,9 @@ EvtScript N(EVS_HuffNPuff_Defeat_Flashing) = {
EVT_CALL(MakeLerp, 0, 255, 10, EASING_QUADRATIC_OUT)
EVT_LOOP(0)
EVT_CALL(UpdateLerp)
EVT_CALL(SetNpcFoldParams, NPC_HuffNPuff_01, FOLD_TYPE_9, LVar0, LVar0, LVar0, 0)
EVT_CALL(SetNpcFoldParams, NPC_HuffNPuff_02, FOLD_TYPE_9, LVar0, LVar0, LVar0, 0)
EVT_CALL(SetNpcFoldParams, NPC_HuffNPuff_03, FOLD_TYPE_9, LVar0, LVar0, LVar0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_HuffNPuff_01, IMGFX_SET_WHITE_FADE, LVar0, LVar0, LVar0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_HuffNPuff_02, IMGFX_SET_WHITE_FADE, LVar0, LVar0, LVar0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_HuffNPuff_03, IMGFX_SET_WHITE_FADE, LVar0, LVar0, LVar0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 0)
EVT_BREAK_LOOP

View File

@ -386,13 +386,13 @@ EvtScript N(EVS_NpcAux_Eldstar) = {
EVT_IF_LT(LVar3, 0)
EVT_SETF(LVar3, EVT_FLOAT(0.0))
EVT_END_IF
EVT_CALL(SetNpcFoldParams, NPC_Eldstar, FOLD_UPD_HOLOGRAM, 0, AB_HOS_StatcAmt_Eldstar, 1, LVar2)
EVT_CALL(SetNpcFoldParams, NPC_Mamar, FOLD_UPD_HOLOGRAM, 0, AB_HOS_StatcAmt_Mamar, 1, LVar3)
EVT_CALL(SetNpcFoldParams, NPC_Skolar, FOLD_UPD_HOLOGRAM, 0, AB_HOS_StatcAmt_Skolar, 1, LVar3)
EVT_CALL(SetNpcFoldParams, NPC_Muskular, FOLD_UPD_HOLOGRAM, 0, AB_HOS_StatcAmt_Muskular, 1, LVar3)
EVT_CALL(SetNpcFoldParams, NPC_Misstar, FOLD_UPD_HOLOGRAM, 0, AB_HOS_StatcAmt_Misstar, 1, LVar3)
EVT_CALL(SetNpcFoldParams, NPC_Klevar, FOLD_UPD_HOLOGRAM, 0, AB_HOS_StatcAmt_Klevar, 1, LVar3)
EVT_CALL(SetNpcFoldParams, NPC_Kalmar, FOLD_UPD_HOLOGRAM, 0, AB_HOS_StatcAmt_Kalmar, 1, LVar3)
EVT_CALL(SetNpcImgFXParams, NPC_Eldstar, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, AB_HOS_StatcAmt_Eldstar, 1, LVar2)
EVT_CALL(SetNpcImgFXParams, NPC_Mamar, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, AB_HOS_StatcAmt_Mamar, 1, LVar3)
EVT_CALL(SetNpcImgFXParams, NPC_Skolar, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, AB_HOS_StatcAmt_Skolar, 1, LVar3)
EVT_CALL(SetNpcImgFXParams, NPC_Muskular, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, AB_HOS_StatcAmt_Muskular, 1, LVar3)
EVT_CALL(SetNpcImgFXParams, NPC_Misstar, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, AB_HOS_StatcAmt_Misstar, 1, LVar3)
EVT_CALL(SetNpcImgFXParams, NPC_Klevar, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, AB_HOS_StatcAmt_Klevar, 1, LVar3)
EVT_CALL(SetNpcImgFXParams, NPC_Kalmar, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, AB_HOS_StatcAmt_Kalmar, 1, LVar3)
EVT_WAIT(1)
EVT_END_LOOP
EVT_LOOP(20)
@ -408,13 +408,13 @@ EvtScript N(EVS_NpcAux_Eldstar) = {
EVT_IF_LT(LVar3, 0)
EVT_SETF(LVar3, EVT_FLOAT(0.0))
EVT_END_IF
EVT_CALL(SetNpcFoldParams, NPC_Eldstar, FOLD_UPD_HOLOGRAM, 0, AB_HOS_StatcAmt_Eldstar, 1, LVar2)
EVT_CALL(SetNpcFoldParams, NPC_Mamar, FOLD_UPD_HOLOGRAM, 0, AB_HOS_StatcAmt_Mamar, 1, LVar3)
EVT_CALL(SetNpcFoldParams, NPC_Skolar, FOLD_UPD_HOLOGRAM, 0, AB_HOS_StatcAmt_Skolar, 1, LVar3)
EVT_CALL(SetNpcFoldParams, NPC_Muskular, FOLD_UPD_HOLOGRAM, 0, AB_HOS_StatcAmt_Muskular, 1, LVar3)
EVT_CALL(SetNpcFoldParams, NPC_Misstar, FOLD_UPD_HOLOGRAM, 0, AB_HOS_StatcAmt_Misstar, 1, LVar3)
EVT_CALL(SetNpcFoldParams, NPC_Klevar, FOLD_UPD_HOLOGRAM, 0, AB_HOS_StatcAmt_Klevar, 1, LVar3)
EVT_CALL(SetNpcFoldParams, NPC_Kalmar, FOLD_UPD_HOLOGRAM, 0, AB_HOS_StatcAmt_Kalmar, 1, LVar3)
EVT_CALL(SetNpcImgFXParams, NPC_Eldstar, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, AB_HOS_StatcAmt_Eldstar, 1, LVar2)
EVT_CALL(SetNpcImgFXParams, NPC_Mamar, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, AB_HOS_StatcAmt_Mamar, 1, LVar3)
EVT_CALL(SetNpcImgFXParams, NPC_Skolar, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, AB_HOS_StatcAmt_Skolar, 1, LVar3)
EVT_CALL(SetNpcImgFXParams, NPC_Muskular, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, AB_HOS_StatcAmt_Muskular, 1, LVar3)
EVT_CALL(SetNpcImgFXParams, NPC_Misstar, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, AB_HOS_StatcAmt_Misstar, 1, LVar3)
EVT_CALL(SetNpcImgFXParams, NPC_Klevar, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, AB_HOS_StatcAmt_Klevar, 1, LVar3)
EVT_CALL(SetNpcImgFXParams, NPC_Kalmar, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, AB_HOS_StatcAmt_Kalmar, 1, LVar3)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_LOOP

View File

@ -90,8 +90,8 @@ EvtScript N(EVS_ToadHouse_GetInBed) = {
EVT_CALL(InterpPlayerYaw, 204, 1)
EVT_CALL(HidePlayerShadow, TRUE)
EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Idle)
EVT_CALL(SetPlayerFoldFlags, FOLD_STATE_FLAG_800)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_SET_ANIM, FOLD_ANIM_GET_IN_BED, 1, 1, 0)
EVT_CALL(SetPlayerImgFXFlags, IMGFX_FLAG_800)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_SET_ANIM, IMGFX_ANIM_GET_IN_BED, 1, 1, 0)
EVT_WAIT(61)
EVT_CALL(SetPlayerAnimation, ANIM_MarioW2_SleepStanding)
EVT_THREAD
@ -108,7 +108,7 @@ EvtScript N(EVS_ToadHouse_GetInBed) = {
EvtScript N(EVS_ToadHouse_ReturnFromRest) = {
EVT_EXEC(N(EVS_SetupMusic))
EVT_CALL(N(ToadHouse_CamSetFOV), 0, 25)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetPlayerPos, 445, 25, 185)
EVT_CALL(PlayerMoveTo, 440, 215, 20)
EVT_RETURN

View File

@ -26,7 +26,7 @@ EvtScript N(EVS_Starship_FlyingAway) = {
EVT_CALL(SetPlayerActionState, ACTION_STATE_LAND)
EVT_CALL(DisablePartnerAI, 0)
EVT_CALL(SetNpcFlagBits, NPC_PARTNER, NPC_FLAG_GRAVITY, FALSE)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_MODE_3, 45, 16, 4096)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_FROM_ZONE, 45, 16, 4096)
EVT_CALL(UseSettingsFrom, CAM_DEFAULT, -280, 0, 0)
EVT_CALL(SetPanTarget, CAM_DEFAULT, -280, 0, 0)
EVT_CALL(SetCamType, CAM_DEFAULT, 0, FALSE)

View File

@ -278,7 +278,7 @@ EvtScript N(EVS_Scene_RecieveStarBeam) = {
EVT_CALL(SetNpcAnimation, NPC_Klevar, ANIM_WorldKlevar_Back)
EVT_CALL(ModifyColliderFlags, MODIFY_COLLIDER_FLAGS_SET_BITS, COLLIDER_o616, COLLIDER_FLAGS_UPPER_MASK)
EVT_CALL(SetZoneEnabled, ZONE_o622, FALSE)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_MODE_3, 25, 16, 4096)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_FROM_ZONE, 25, 16, 4096)
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(90.0))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 0)
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.5))

View File

@ -1108,7 +1108,7 @@ EvtScript N(EVS_CaptureSpirits) = {
EVT_END_IF
EVT_CALL(N(SetCardCaptureState1))
EVT_CALL(SetNpcAnimation, NPC_Klevar, ANIM_WorldKlevar_Panic)
EVT_CALL(SetNpcFoldParams, NPC_Klevar, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Klevar, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcFlagBits, NPC_Klevar, NPC_FLAG_INVISIBLE, TRUE)
EVT_CALL(func_802D7B10, ArrayVar(13))
EVT_END_THREAD
@ -1136,7 +1136,7 @@ EvtScript N(EVS_CaptureSpirits) = {
EVT_END_IF
EVT_CALL(N(SetCardCaptureState1))
EVT_CALL(SetNpcAnimation, NPC_Skolar, ANIM_WorldSkolar_IdleSad)
EVT_CALL(SetNpcFoldParams, NPC_Skolar, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Skolar, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcFlagBits, NPC_Skolar, NPC_FLAG_INVISIBLE, TRUE)
EVT_CALL(func_802D7B10, ArrayVar(10))
EVT_END_THREAD
@ -1164,7 +1164,7 @@ EvtScript N(EVS_CaptureSpirits) = {
EVT_END_IF
EVT_CALL(N(SetCardCaptureState1))
EVT_CALL(SetNpcAnimation, NPC_Muskular, ANIM_WorldMuskular_Panic)
EVT_CALL(SetNpcFoldParams, NPC_Muskular, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Muskular, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcFlagBits, NPC_Muskular, NPC_FLAG_INVISIBLE, TRUE)
EVT_CALL(func_802D7B10, ArrayVar(11))
EVT_END_THREAD
@ -1192,7 +1192,7 @@ EvtScript N(EVS_CaptureSpirits) = {
EVT_END_IF
EVT_CALL(N(SetCardCaptureState1))
EVT_CALL(SetNpcAnimation, NPC_Kalmar, ANIM_WorldKalmar_Panic)
EVT_CALL(SetNpcFoldParams, NPC_Kalmar, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Kalmar, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcFlagBits, NPC_Kalmar, NPC_FLAG_INVISIBLE, TRUE)
EVT_CALL(func_802D7B10, ArrayVar(14))
EVT_END_THREAD
@ -1220,7 +1220,7 @@ EvtScript N(EVS_CaptureSpirits) = {
EVT_END_IF
EVT_CALL(N(SetCardCaptureState1))
EVT_CALL(SetNpcAnimation, NPC_Misstar, ANIM_WorldMisstar_Panic)
EVT_CALL(SetNpcFoldParams, NPC_Misstar, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Misstar, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcFlagBits, NPC_Misstar, NPC_FLAG_INVISIBLE, TRUE)
EVT_CALL(func_802D7B10, ArrayVar(12))
EVT_END_THREAD
@ -1248,7 +1248,7 @@ EvtScript N(EVS_CaptureSpirits) = {
EVT_END_IF
EVT_CALL(N(SetCardCaptureState1))
EVT_CALL(SetNpcAnimation, NPC_Mamar, ANIM_WorldMamar_Panic)
EVT_CALL(SetNpcFoldParams, NPC_Mamar, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Mamar, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcFlagBits, NPC_Mamar, NPC_FLAG_INVISIBLE, TRUE)
EVT_CALL(func_802D7B10, ArrayVar(9))
EVT_END_THREAD
@ -1743,7 +1743,7 @@ API_CALLABLE(N(AnimateStorybookPages)) {
N(StoryGraphicsPtr)->frontImgPosX = 0;
N(StoryGraphicsPtr)->frontImgPosY = 0;
}
gCameras[CAM_DEFAULT].flags &= ~CAMERA_FLAG_ENABLED;
gCameras[CAM_DEFAULT].flags &= ~CAMERA_FLAG_DISABLED;
N(StoryPageState)++;
}
}
@ -2037,8 +2037,8 @@ EvtScript N(EVS_Scene_IntroStory) = {
EVT_CALL(LoadSettings, CAM_DEFAULT, EVT_PTR(N(IntroCamSettings6)))
EVT_CALL(N(AnimateStorybookPages))
EVT_WAIT(50 * DT)
EVT_CALL(SetNpcFoldParams, NPC_Bowser_Body, FOLD_UPD_SET_TINT, 0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Bowser_Prop, FOLD_UPD_SET_TINT, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Bowser_Body, IMGFX_SET_TINT, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Bowser_Prop, IMGFX_SET_TINT, 0, 0, 0, 0)
EVT_CALL(SetNpcPos, NPC_Bowser_Body, -64, 135, 85)
EVT_CALL(SetNpcPos, NPC_Bowser_Prop, -64, 135, 85)
EVT_THREAD
@ -2048,8 +2048,8 @@ EvtScript N(EVS_Scene_IntroStory) = {
EVT_IF_GT(LVar0, 255)
EVT_SET(LVar0, 255)
EVT_END_IF
EVT_CALL(SetNpcFoldParams, NPC_Bowser_Body, FOLD_UPD_SET_TINT, 0, 0, 0, LVar0)
EVT_CALL(SetNpcFoldParams, NPC_Bowser_Prop, FOLD_UPD_SET_TINT, 0, 0, 0, LVar0)
EVT_CALL(SetNpcImgFXParams, NPC_Bowser_Body, IMGFX_SET_TINT, 0, 0, 0, LVar0)
EVT_CALL(SetNpcImgFXParams, NPC_Bowser_Prop, IMGFX_SET_TINT, 0, 0, 0, LVar0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_THREAD
@ -2088,8 +2088,8 @@ EvtScript N(EVS_Scene_IntroStory) = {
EVT_WAIT(5)
EVT_END_LOOP
EVT_WAIT(30 * DT)
EVT_CALL(SetNpcFoldParams, NPC_Bowser_Body, FOLD_UPD_SET_TINT, 0, 0, 0, 255)
EVT_CALL(SetNpcFoldParams, NPC_Bowser_Prop, FOLD_UPD_SET_TINT, 0, 0, 0, 255)
EVT_CALL(SetNpcImgFXParams, NPC_Bowser_Body, IMGFX_SET_TINT, 0, 0, 0, 255)
EVT_CALL(SetNpcImgFXParams, NPC_Bowser_Prop, IMGFX_SET_TINT, 0, 0, 0, 255)
EVT_THREAD
EVT_SET(LVar0, 0)
EVT_LOOP(4)
@ -2097,8 +2097,8 @@ EvtScript N(EVS_Scene_IntroStory) = {
EVT_IF_GT(LVar0, 255)
EVT_SET(LVar0, 255)
EVT_END_IF
EVT_CALL(SetNpcFoldParams, NPC_Bowser_Body, FOLD_UPD_SET_TINT, LVar0, LVar0, LVar0, 255)
EVT_CALL(SetNpcFoldParams, NPC_Bowser_Prop, FOLD_UPD_SET_TINT, LVar0, LVar0, LVar0, 255)
EVT_CALL(SetNpcImgFXParams, NPC_Bowser_Body, IMGFX_SET_TINT, LVar0, LVar0, LVar0, 255)
EVT_CALL(SetNpcImgFXParams, NPC_Bowser_Prop, IMGFX_SET_TINT, LVar0, LVar0, LVar0, 255)
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_THREAD
@ -2421,20 +2421,20 @@ EvtScript N(EVS_Scene_IntroStory) = {
EVT_END_THREAD
EVT_THREAD
EVT_WAIT(28)
EVT_CALL(SetNpcFoldParams, NPC_Eldstar, FOLD_UPD_SET_ANIM, FOLD_ANIM_SPIRIT_CAPTURE, 1, 1, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Eldstar, IMGFX_SET_ANIM, IMGFX_ANIM_SPIRIT_CAPTURE, 1, 1, 0)
EVT_END_THREAD
EVT_SET(LVar0, 255)
EVT_LOOP(20)
EVT_CALL(SetNpcFoldParams, NPC_Mamar, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Skolar, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Muskular, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Misstar, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Klevar, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Kalmar, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Mamar, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Skolar, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Muskular, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Misstar, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Klevar, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Kalmar, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_WAIT(15 * DT)
EVT_CALL(SetNpcFoldParams, NPC_Eldstar, FOLD_UPD_SET_ALPHA, 255, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Eldstar, IMGFX_SET_ALPHA, 255, 0, 0, 0)
EVT_PLAY_EFFECT(EFFECT_SOMETHING_ROTATING, 2, -130, 220, 130, 1, 0)
EVT_SET(ArrayVar(0), LVarF)
EVT_SET(LVar0, -130)
@ -2466,7 +2466,7 @@ EvtScript N(EVS_Scene_IntroStory) = {
EVT_END_IF
EVT_CALL(N(SetCardCaptureState1))
EVT_CALL(SetNpcAnimation, NPC_Eldstar, ANIM_WorldEldstar_Panic)
EVT_CALL(SetNpcFoldParams, NPC_Eldstar, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Eldstar, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcFlagBits, NPC_Eldstar, NPC_FLAG_INVISIBLE, TRUE)
EVT_CALL(func_802D7B10, ArrayVar(8))
EVT_END_THREAD

View File

@ -4,7 +4,7 @@
#include "world/common/enemy/StoneChomp.inc.c"
typedef struct StoneChompAmbushIsk05 {
/* 0x00 */ s32 foldID;
/* 0x00 */ s32 imgfxIdx;
/* 0x04 */ s32 workerID;
/* 0x08 */ s32 spriteIndex;
/* 0x0C */ s32 rasterIndex;
@ -22,7 +22,7 @@ StoneChompAmbushIsk05 N(ChompAmbush) = {};
void N(func_80241610_97F0E0)(void) {
StoneChompAmbushIsk05* ambush = &N(ChompAmbush);
Camera* cam = &gCameras[gCurrentCameraID];
FoldImageRecPart foldImg;
ImgFXTexture ifxImg;
SpriteRasterInfo spriteRaster;
Matrix4f transformMtx, tempMtx;
@ -63,16 +63,16 @@ void N(func_80241610_97F0E0)(void) {
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
spr_get_npc_raster_info(&spriteRaster, ambush->spriteIndex, ambush->rasterIndex);
foldImg.raster = spriteRaster.raster;
foldImg.palette = spriteRaster.defaultPal;
ambush->width = foldImg.width = spriteRaster.width;
ambush->height = foldImg.height = spriteRaster.height;
foldImg.xOffset = -(spriteRaster.width / 2);
foldImg.yOffset = (spriteRaster.height / 2);
foldImg.opacity = 255;
ifxImg.raster = spriteRaster.raster;
ifxImg.palette = spriteRaster.defaultPal;
ambush->width = ifxImg.width = spriteRaster.width;
ambush->height = ifxImg.height = spriteRaster.height;
ifxImg.xOffset = -(spriteRaster.width / 2);
ifxImg.yOffset = (spriteRaster.height / 2);
ifxImg.alpha = 255;
fold_update(ambush->foldID, FOLD_UPD_SET_ALPHA, 255, 255, 255, ambush->alpha, 0);
fold_appendGfx_component(ambush->foldID, &foldImg, 0, transformMtx);
imgfx_update(ambush->imgfxIdx, IMGFX_SET_ALPHA, 255, 255, 255, ambush->alpha, 0);
imgfx_appendGfx_component(ambush->imgfxIdx, &ifxImg, 0, transformMtx);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}
@ -99,7 +99,7 @@ API_CALLABLE(N(func_80241B28_97F5F8)) {
ambush->renderYaw = 85.0f;
ambush->alpha = 0.0f;
ambush->foldID = 0;
ambush->imgfxIdx = 0;
ambush->workerID = create_worker_frontUI(NULL, N(func_80241610_97F0E0));
return ApiStatus_DONE2;
}
@ -218,7 +218,7 @@ EvtScript N(EVS_NpcIdle_StoneChomp) = {
EVT_CALL(EnableNpcShadow, NPC_SELF, TRUE)
EVT_WAIT(1)
EVT_CALL(N(DestroyAmbushWorker))
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(DisablePlayerInput, FALSE)
EVT_CALL(BindNpcAI, NPC_SELF, EVT_PTR(N(EVS_NpcAI_StoneChomp)))
EVT_RETURN

View File

@ -28,10 +28,10 @@ EvtScript N(EVS_SetupSarcophagi) = {
EVT_WAIT(12)
EVT_CALL(InterpPlayerYaw, 109, 0)
EVT_WAIT(3)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_SET_ANIM, FOLD_ANIM_SHOCK, 1, 1, 0)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_SET_ANIM, IMGFX_ANIM_SHOCK, 1, 1, 0)
EVT_CALL(SetPlayerAnimation, ANIM_MarioW2_Shocked)
EVT_WAIT(20)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Idle)
EVT_END_THREAD
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(2.0))

View File

@ -5,7 +5,7 @@
typedef struct StoneChompAmbushIsk13 {
/* 0x00 */ s32 useBitingAnim;
/* 0x04 */ s32 foldID;
/* 0x04 */ s32 imgfxIdx;
/* 0x08 */ s32 workerID;
/* 0x0C */ s32 spriteIndex;
/* 0x10 */ s32 rasterIndex;
@ -21,7 +21,7 @@ typedef struct StoneChompAmbushIsk13 {
void N(func_80241610_990DF0)(void) {
StoneChompAmbushIsk13* ambush = (StoneChompAmbushIsk13*) evt_get_variable(NULL, MV_AmbushPtr);
Camera* cam = &gCameras[gCurrentCameraID];
FoldImageRecPart foldImg;
ImgFXTexture ifxImg;
SpriteRasterInfo spriteRaster;
Matrix4f transformMtx, tempMtx;
@ -69,16 +69,16 @@ void N(func_80241610_990DF0)(void) {
}
}
spr_get_npc_raster_info(&spriteRaster, ambush->spriteIndex, ambush->rasterIndex);
foldImg.raster = spriteRaster.raster;
foldImg.palette = spriteRaster.defaultPal;
ambush->width = foldImg.width = spriteRaster.width;
ambush->height = foldImg.height = spriteRaster.height;
foldImg.xOffset = -(spriteRaster.width / 2);
foldImg.yOffset = (spriteRaster.height / 2);
foldImg.opacity = 255;
ifxImg.raster = spriteRaster.raster;
ifxImg.palette = spriteRaster.defaultPal;
ambush->width = ifxImg.width = spriteRaster.width;
ambush->height = ifxImg.height = spriteRaster.height;
ifxImg.xOffset = -(spriteRaster.width / 2);
ifxImg.yOffset = (spriteRaster.height / 2);
ifxImg.alpha = 255;
fold_update(ambush->foldID, FOLD_UPD_SET_TINT, ambush->color.r, ambush->color.g, ambush->color.b, ambush->color.a, 0);
fold_appendGfx_component(ambush->foldID, &foldImg, 0, transformMtx);
imgfx_update(ambush->imgfxIdx, IMGFX_SET_TINT, ambush->color.r, ambush->color.g, ambush->color.b, ambush->color.a, 0);
imgfx_appendGfx_component(ambush->imgfxIdx, &ifxImg, 0, transformMtx);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}
@ -109,7 +109,7 @@ API_CALLABLE(N(func_80241BA8_991388)) {
ambush->color.g = 128.0f;
ambush->color.b = 255.0f;
ambush->color.a = 0.0f;
ambush->foldID = 0;
ambush->imgfxIdx = 0;
ambush->workerID = create_worker_frontUI(NULL, N(func_80241610_990DF0));
evt_set_variable(script, MV_AmbushPtr, (s32) ambush);
@ -268,7 +268,7 @@ EvtScript N(EVS_NpcDefeat_StoneChomp_Override) = {
EVT_SET(GF_ISK13_Defeated_StoneChomp, TRUE)
EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_INVISIBLE, FALSE)
EVT_CALL(EnableNpcShadow, NPC_SELF, TRUE)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(N(DestroyAmbushWorker))
EVT_CALL(GetBattleOutcome, LVar0)
EVT_SWITCH(LVar0)

View File

@ -4,7 +4,7 @@
#include "world/common/enemy/StoneChomp.inc.c"
typedef struct StoneChompAmbushIsk14 {
/* 0x00 */ s32 foldID;
/* 0x00 */ s32 imgfxIdx;
/* 0x04 */ s32 workerID;
/* 0x08 */ s32 spriteIndex;
/* 0x0C */ s32 rasterIndex;
@ -21,7 +21,7 @@ static StoneChompAmbushIsk14 N(ChompAmbush);
void N(func_80241610_993D40)(void) {
StoneChompAmbushIsk14* ambush = &N(ChompAmbush);
Camera* cam = &gCameras[gCurrentCameraID];
FoldImageRecPart foldImg;
ImgFXTexture ifxImg;
SpriteRasterInfo spriteRaster;
Matrix4f transformMtx, tempMtx;
@ -62,15 +62,15 @@ void N(func_80241610_993D40)(void) {
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
spr_get_npc_raster_info(&spriteRaster, ambush->spriteIndex, ambush->rasterIndex);
foldImg.raster = spriteRaster.raster;
foldImg.palette = spriteRaster.defaultPal;
ambush->width = foldImg.width = spriteRaster.width;
ambush->height = foldImg.height = spriteRaster.height;
foldImg.xOffset = -(spriteRaster.width / 2);
foldImg.yOffset = spriteRaster.height;
foldImg.opacity = 255;
ifxImg.raster = spriteRaster.raster;
ifxImg.palette = spriteRaster.defaultPal;
ambush->width = ifxImg.width = spriteRaster.width;
ambush->height = ifxImg.height = spriteRaster.height;
ifxImg.xOffset = -(spriteRaster.width / 2);
ifxImg.yOffset = spriteRaster.height;
ifxImg.alpha = 255;
fold_appendGfx_component(ambush->foldID, &foldImg, 0, transformMtx);
imgfx_appendGfx_component(ambush->imgfxIdx, &ifxImg, 0, transformMtx);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}
@ -96,7 +96,7 @@ API_CALLABLE(N(func_80241AF0_994220)) {
ambush->scale.z = SPRITE_WORLD_SCALE_F;
ambush->renderYaw = 270.0f;
ambush->foldID = 0;
ambush->imgfxIdx = 0;
ambush->workerID = create_worker_frontUI(NULL, N(func_80241610_993D40));
return ApiStatus_DONE2;
}
@ -165,7 +165,7 @@ EvtScript N(EVS_NpcIdle_StoneChomp) = {
EVT_CALL(EnableNpcShadow, NPC_SELF, TRUE)
EVT_WAIT(1)
EVT_CALL(N(DestroyAmbushWorker))
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_4 | ENEMY_FLAG_100000, 0)
EVT_WAIT(3)
EVT_CALL(GetPlayerPos, LVar0, LVar1, LVar2)

View File

@ -48,18 +48,18 @@ EvtScript N(EVS_Scene_TutankoopaAppears) = {
EVT_WAIT(30 * DT)
EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Idle)
EVT_END_THREAD
EVT_CALL(SetNpcFoldParams, NPC_Tutankoopa_02, FOLD_UPD_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Tutankoopa_02, IMGFX_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcPos, NPC_Tutankoopa_02, 410, -905, 410)
EVT_CALL(SetNpcAnimation, NPC_Tutankoopa_02, ANIM_Tutankoopa_Anim10)
EVT_CALL(MakeLerp, 0, 255, 100 * DT, EASING_QUADRATIC_IN)
EVT_LABEL(2)
EVT_CALL(UpdateLerp)
EVT_CALL(SetNpcFoldParams, NPC_Tutankoopa_02, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Tutankoopa_02, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 1)
EVT_GOTO(2)
EVT_END_IF
EVT_CALL(SetNpcFoldParams, NPC_Tutankoopa_02, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Tutankoopa_02, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_WAIT(30 * DT)
EVT_SET(LVar0, 255)
EVT_LOOP(60 * DT)
@ -110,17 +110,17 @@ EvtScript N(EVS_Scene_TutankoopaAppears) = {
EVT_WAIT(59)
EVT_CALL(PlaySoundAtNpc, NPC_Tutankoopa_01, SOUND_3EF, SOUND_SPACE_MODE_0)
EVT_END_THREAD
EVT_CALL(SetNpcFoldParams, NPC_Tutankoopa_01, FOLD_UPD_SET_ALPHA, 255, 0, 0, 0)
EVT_CALL(SetNpcFoldFlags, NPC_Tutankoopa_01, FOLD_STATE_FLAG_800)
EVT_CALL(SetNpcFoldParams, NPC_Tutankoopa_01, FOLD_UPD_SET_ANIM, FOLD_ANIM_TUTANKOOPA_SWIRL_1, 2, 1, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Tutankoopa_01, IMGFX_SET_ALPHA, 255, 0, 0, 0)
EVT_CALL(SetNpcImgFXFlags, NPC_Tutankoopa_01, IMGFX_FLAG_800)
EVT_CALL(SetNpcImgFXParams, NPC_Tutankoopa_01, IMGFX_SET_ANIM, IMGFX_ANIM_TUTANKOOPA_SWIRL_1, 2, 1, 0)
EVT_WAIT(39)
EVT_CALL(SetNpcFoldFlags, NPC_Tutankoopa_01, FOLD_STATE_FLAG_800)
EVT_CALL(SetNpcFoldParams, NPC_Tutankoopa_01, FOLD_UPD_SET_ANIM, FOLD_ANIM_TUTANKOOPA_SWIRL_2, 2, 1, 0)
EVT_CALL(SetNpcImgFXFlags, NPC_Tutankoopa_01, IMGFX_FLAG_800)
EVT_CALL(SetNpcImgFXParams, NPC_Tutankoopa_01, IMGFX_SET_ANIM, IMGFX_ANIM_TUTANKOOPA_SWIRL_2, 2, 1, 0)
EVT_WAIT(39)
EVT_CALL(SetNpcFoldFlags, NPC_Tutankoopa_01, FOLD_STATE_FLAG_800)
EVT_CALL(SetNpcFoldParams, NPC_Tutankoopa_01, FOLD_UPD_SET_ANIM, FOLD_ANIM_TUTANKOOPA_GATHER, 2, 1, 0)
EVT_CALL(SetNpcImgFXFlags, NPC_Tutankoopa_01, IMGFX_FLAG_800)
EVT_CALL(SetNpcImgFXParams, NPC_Tutankoopa_01, IMGFX_SET_ANIM, IMGFX_ANIM_TUTANKOOPA_GATHER, 2, 1, 0)
EVT_WAIT(55)
EVT_CALL(SetNpcFoldParams, NPC_Tutankoopa_01, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Tutankoopa_01, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcPos, NPC_Tutankoopa_02, 457, -1300, 316)
EVT_WAIT(10 * DT)
EVT_CALL(SetPanTarget, CAM_DEFAULT, 438, -800, 332)

View File

@ -28,7 +28,7 @@ EvtScript N(EVS_MonitorSceneSkip) = {
EvtScript N(EVS_Main) = {
EVT_SET(GB_WorldLocation, LOCATION_MT_RUGGED)
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_MODE_3, 30, 16, 4096) // uses fov 25 instead of 30
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_FROM_ZONE, 30, 16, 4096) // uses fov 25 instead of 30
EVT_CALL(SetCamBGColor, CAM_DEFAULT, 0, 0, 0)
EVT_CALL(SetCamEnabled, CAM_DEFAULT, TRUE)
EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE)

View File

@ -30,7 +30,7 @@ EvtScript N(EVS_BindExitTriggers) = {
EvtScript N(EVS_Main) = {
EVT_SET(GB_WorldLocation, LOCATION_JADE_JUNGLE)
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_MODE_3, 25, 16, 4096)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_FROM_ZONE, 25, 16, 4096)
EVT_CALL(SetCamBGColor, CAM_DEFAULT, 0, 0, 0)
EVT_CALL(SetCamEnabled, CAM_DEFAULT, TRUE)
EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE)

View File

@ -175,8 +175,8 @@ EvtScript N(EVS_ToadHouse_GetInBed) = {
EVT_CALL(InterpPlayerYaw, 229, 1)
EVT_CALL(HidePlayerShadow, TRUE)
EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Idle)
EVT_CALL(SetPlayerFoldFlags, FOLD_STATE_FLAG_800)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_SET_ANIM, FOLD_ANIM_GET_IN_BED, 1, 1, 0)
EVT_CALL(SetPlayerImgFXFlags, IMGFX_FLAG_800)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_SET_ANIM, IMGFX_ANIM_GET_IN_BED, 1, 1, 0)
EVT_THREAD
EVT_WAIT(60)
EVT_CALL(SetPlayerAnimation, ANIM_MarioW2_SleepStanding)
@ -196,7 +196,7 @@ EvtScript N(EVS_ToadHouse_GetInBed) = {
EvtScript N(EVS_ToadHouse_ReturnFromRest) = {
EVT_CALL(HidePlayerShadow, FALSE)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetPlayerPos, 345, 0, -186)
EVT_CALL(SetPlayerSpeed, EVT_FLOAT(3.0))
EVT_CALL(PlayerMoveTo, 291, -100, 0)

View File

@ -150,8 +150,8 @@ EvtScript N(EVS_ToadHouse_GetInBed) = {
EVT_CALL(InterpPlayerYaw, 229, 1)
EVT_CALL(HidePlayerShadow, TRUE)
EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Idle)
EVT_CALL(SetPlayerFoldFlags, FOLD_STATE_FLAG_800)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_SET_ANIM, FOLD_ANIM_GET_IN_BED, 1, 1, 0)
EVT_CALL(SetPlayerImgFXFlags, IMGFX_FLAG_800)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_SET_ANIM, IMGFX_ANIM_GET_IN_BED, 1, 1, 0)
EVT_THREAD
EVT_WAIT(60)
EVT_CALL(SetPlayerAnimation, ANIM_MarioW2_SleepStanding)
@ -172,7 +172,7 @@ EvtScript N(EVS_ToadHouse_GetInBed) = {
EvtScript N(EVS_ToadHouse_ReturnFromRest) = {
EVT_CALL(HidePlayerShadow, FALSE)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetPlayerPos, 85, 0, -85)
EVT_CALL(SetPlayerSpeed, EVT_FLOAT(3.0))
EVT_CALL(PlayerMoveTo, 60, -50, 0)

View File

@ -61,8 +61,8 @@ EvtScript N(EVS_NpcIdle_Kammy_Broom) = {
EVT_END_IF
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(SetPlayerFoldFlags, FOLD_STATE_FLAG_2000)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_SET_TINT, 0, 0, 0, 0)
EVT_CALL(SetPlayerImgFXFlags, IMGFX_FLAG_2000)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_SET_TINT, 0, 0, 0, 0)
EVT_CALL(HidePlayerShadow, TRUE)
EVT_CALL(DisablePartnerAI, 0)
EVT_WAIT(1)

View File

@ -109,7 +109,7 @@ EvtScript N(EVS_NpcInit_Twink) = {
};
EvtScript N(EVS_NpcInit_Eldstar) = {
EVT_CALL(SetNpcFoldParams, NPC_Eldstar, FOLD_UPD_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Eldstar, IMGFX_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(EnableNpcShadow, NPC_Eldstar, FALSE)
EVT_CALL(SetNpcPos, NPC_Eldstar, 100, 45, 0)
EVT_RETURN
@ -117,7 +117,7 @@ EvtScript N(EVS_NpcInit_Eldstar) = {
};
EvtScript N(EVS_NpcInit_Mamar) = {
EVT_CALL(SetNpcFoldParams, NPC_Mamar, FOLD_UPD_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Mamar, IMGFX_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(EnableNpcShadow, NPC_Mamar, FALSE)
EVT_CALL(SetNpcPos, NPC_Mamar, 46, 45, -27)
EVT_RETURN
@ -125,7 +125,7 @@ EvtScript N(EVS_NpcInit_Mamar) = {
};
EvtScript N(EVS_NpcInit_Skolar) = {
EVT_CALL(SetNpcFoldParams, NPC_Skolar, FOLD_UPD_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Skolar, IMGFX_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(EnableNpcShadow, NPC_Skolar, FALSE)
EVT_CALL(SetNpcPos, NPC_Skolar, 33, 45, -95)
EVT_RETURN
@ -133,7 +133,7 @@ EvtScript N(EVS_NpcInit_Skolar) = {
};
EvtScript N(EVS_NpcInit_Muskular) = {
EVT_CALL(SetNpcFoldParams, NPC_Muskular, FOLD_UPD_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Muskular, IMGFX_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(EnableNpcShadow, NPC_Muskular, FALSE)
EVT_CALL(SetNpcPos, NPC_Muskular, 71, 45, -132)
EVT_RETURN
@ -141,7 +141,7 @@ EvtScript N(EVS_NpcInit_Muskular) = {
};
EvtScript N(EVS_NpcInit_Misstar) = {
EVT_CALL(SetNpcFoldParams, NPC_Misstar, FOLD_UPD_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Misstar, IMGFX_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(EnableNpcShadow, NPC_Misstar, FALSE)
EVT_CALL(SetNpcPos, NPC_Misstar, 131, 45, -132)
EVT_RETURN
@ -149,7 +149,7 @@ EvtScript N(EVS_NpcInit_Misstar) = {
};
EvtScript N(EVS_NpcInit_Klevar) = {
EVT_CALL(SetNpcFoldParams, NPC_Klevar, FOLD_UPD_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Klevar, IMGFX_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(EnableNpcShadow, NPC_Klevar, FALSE)
EVT_CALL(SetNpcPos, NPC_Klevar, 169, 45, -95)
EVT_RETURN
@ -157,7 +157,7 @@ EvtScript N(EVS_NpcInit_Klevar) = {
};
EvtScript N(EVS_NpcInit_Kalmar) = {
EVT_CALL(SetNpcFoldParams, NPC_Kalmar, FOLD_UPD_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Kalmar, IMGFX_SET_ALPHA, 0, 0, 0, 0)
EVT_CALL(EnableNpcShadow, NPC_Kalmar, FALSE)
EVT_CALL(SetNpcPos, NPC_Kalmar, 156, 45, -27)
EVT_RETURN

View File

@ -200,7 +200,7 @@ EvtScript N(EVS_Scene_KammyDefeated) = {
EVT_SETF(LVar0, 0)
EVT_LOOP(20)
EVT_ADDF(LVar0, EVT_FLOAT(12.0))
EVT_CALL(SetNpcFoldParams, NPC_Eldstar, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Eldstar, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_WAIT(10)
@ -236,21 +236,21 @@ EvtScript N(EVS_Scene_KammyDefeated) = {
EVT_SETF(LVar0, 0)
EVT_LOOP(20)
EVT_ADDF(LVar0, EVT_FLOAT(12.0))
EVT_CALL(SetNpcFoldParams, NPC_Mamar, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Skolar, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Muskular, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Misstar, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Klevar, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Kalmar, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Mamar, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Skolar, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Muskular, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Misstar, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Klevar, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Kalmar, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_CALL(SetNpcFoldParams, NPC_Eldstar, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Mamar, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Skolar, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Muskular, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Misstar, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Klevar, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcFoldParams, NPC_Kalmar, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Eldstar, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Mamar, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Skolar, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Muskular, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Misstar, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Klevar, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Kalmar, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcJumpscale, NPC_Twink_01, EVT_FLOAT(0.0))
EVT_CALL(NpcJump0, NPC_Twink_01, 140, 65, 30, 20)
EVT_CALL(GetNpcPos, NPC_Eldstar, LVar0, LVar1, LVar2)

View File

@ -75,12 +75,12 @@ EvtScript N(EVS_NpcAux_StarSpirit) = {
EVT_LABEL(1)
EVT_LOOP(50)
EVT_ADDF(LVar0, EVT_FLOAT(0.8))
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_HOLOGRAM, 0, ArrayVar(0), MV_Unk_01, LVar0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, ArrayVar(0), MV_Unk_01, LVar0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_LOOP(50)
EVT_ADDF(LVar0, EVT_FLOAT(-0.8))
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_HOLOGRAM, 0, ArrayVar(0), MV_Unk_01, LVar0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, ArrayVar(0), MV_Unk_01, LVar0)
EVT_WAIT(1)
EVT_END_LOOP
EVT_GOTO(1)

View File

@ -231,11 +231,11 @@ EvtScript N(EVS_Goombaria_RequestDolly) = {
EVT_CALL(SetNpcJumpscale, NPC_Goombaria, EVT_FLOAT(1.0))
EVT_CALL(NpcJump0, NPC_Goombaria, LVar0, LVar1, LVar2, 10)
EVT_WAIT(10)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_SET_ANIM, FOLD_ANIM_SHIVER, 1, 1, 0)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_SET_ANIM, IMGFX_ANIM_SHIVER, 1, 1, 0)
EVT_WAIT(35)
EVT_CALL(SetNpcAnimation, NPC_Goombaria, ANIM_Goombaria_Idle)
EVT_CALL(NpcFacePlayer, NPC_Goombaria, 3)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_WAIT(20)
EVT_ELSE
EVT_CALL(ContinueSpeech, NPC_Goombaria, ANIM_Goombaria_Talk, ANIM_Goombaria_Idle, 0, MSG_CH0_0099)
@ -559,14 +559,14 @@ EvtScript N(EVS_ReturnToVillage) = {
EVT_CALL(SetNpcJumpscale, NPC_Goombaria, EVT_FLOAT(1.0))
EVT_CALL(NpcJump0, NPC_Goombaria, -30, 0, -19, 10)
EVT_WAIT(10 * DT)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_SET_ANIM, FOLD_ANIM_SHIVER, 1, 1, 0)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_SET_ANIM, IMGFX_ANIM_SHIVER, 1, 1, 0)
EVT_WAIT(35 * DT)
EVT_CALL(SetNpcSpeed, NPC_Goombaria, EVT_FLOAT(3.0 / DT))
EVT_CALL(SetNpcAnimation, NPC_Goombaria, ANIM_Goombaria_Walk)
EVT_CALL(NpcMoveTo, NPC_Goombaria, -23, -21, 0)
EVT_CALL(SetNpcAnimation, NPC_Goombaria, ANIM_Goombaria_Idle)
EVT_CALL(NpcFacePlayer, NPC_Goombaria, 3)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(PlayerMoveTo, -85, -10, 0)
EVT_CALL(PlayerFaceNpc, NPC_Goombaria, TRUE)
EVT_WAIT(20 * DT)
@ -1457,7 +1457,7 @@ EvtScript N(EVS_Scene_EldstarsPlea) = {
EVT_CALL(MakeLerp, 0, 120, 80 * DT, EASING_LINEAR)
EVT_LABEL(0)
EVT_CALL(UpdateLerp)
EVT_CALL(SetNpcFoldParams, NPC_Eldstar_02, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Eldstar_02, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 1)
EVT_GOTO(0)
@ -1517,7 +1517,7 @@ EvtScript N(EVS_Scene_EldstarsPlea) = {
EVT_CALL(MakeLerp, 60, 0, 40 * DT, EASING_LINEAR)
EVT_LABEL(6)
EVT_CALL(UpdateLerp)
EVT_CALL(SetNpcFoldParams, NPC_Eldstar_02, FOLD_UPD_SET_ALPHA, LVar0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Eldstar_02, IMGFX_SET_ALPHA, LVar0, 0, 0, 0)
EVT_WAIT(1)
EVT_IF_EQ(LVar1, 1)
EVT_GOTO(6)
@ -1727,11 +1727,11 @@ EvtScript N(EVS_NpcAI_Eldstar_02) = {
EVT_SETF(LVar0, EVT_FLOAT(100.0))
EVT_LABEL(1)
EVT_LOOP(50)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_HOLOGRAM, 0, ArrayVar(0), 0, MV_Unk_01)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, ArrayVar(0), 0, MV_Unk_01)
EVT_WAIT(1)
EVT_END_LOOP
EVT_LOOP(50)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_HOLOGRAM, 0, ArrayVar(0), 0, MV_Unk_01)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_HOLOGRAM, IMGFX_HOLOGRAM_NOISE, ArrayVar(0), 0, MV_Unk_01)
EVT_WAIT(1)
EVT_END_LOOP
EVT_GOTO(1)

View File

@ -276,8 +276,8 @@ EvtScript N(EVS_ToadHouse_GetInBed) = {
EVT_CALL(InterpPlayerYaw, 114, 1)
EVT_CALL(HidePlayerShadow, TRUE)
EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Idle)
EVT_CALL(SetPlayerFoldFlags, FOLD_STATE_FLAG_800)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_SET_ANIM, FOLD_ANIM_GET_IN_BED, 1, 1, 0)
EVT_CALL(SetPlayerImgFXFlags, IMGFX_FLAG_800)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_SET_ANIM, IMGFX_ANIM_GET_IN_BED, 1, 1, 0)
EVT_WAIT(61)
EVT_CALL(SetPlayerAnimation, ANIM_MarioW2_SleepStanding)
EVT_THREAD
@ -295,7 +295,7 @@ EvtScript N(EVS_ToadHouse_GetInBed) = {
EvtScript N(EVS_ToadHouse_ReturnFromRest) = {
EVT_EXEC(N(EVS_SetupMusic))
EVT_CALL(HidePlayerShadow, FALSE)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetPlayerPos, -183, 19, -341)
EVT_CALL(PlayerMoveTo, -132, -325, 20)
EVT_RETURN

View File

@ -216,15 +216,15 @@ EvtScript N(EVS_Scene_KammyStrikes) = {
EVT_EXEC_WAIT(N(EVS_SummonGateBlock))
EVT_THREAD
EVT_CALL(SetPlayerAnimation, ANIM_MarioW2_PanicHoverStill)
EVT_CALL(SetPlayerFoldFlags, FOLD_STATE_FLAG_REVERSE_ANIM)
EVT_CALL(UpdatePlayerFold, ANIM_MarioW2_PanicHoverStill, FOLD_UPD_SET_ANIM, FOLD_ANIM_SHOCK, 1, 1, 0)
EVT_CALL(SetPlayerImgFXFlags, IMGFX_FLAG_REVERSE_ANIM)
EVT_CALL(UpdatePlayerImgFX, ANIM_MarioW2_PanicHoverStill, IMGFX_SET_ANIM, IMGFX_ANIM_SHOCK, 1, 1, 0)
EVT_WAIT(13 * DT)
EVT_CALL(UpdatePlayerFold, ANIM_MarioW2_PanicHoverStill, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(UpdatePlayerImgFX, ANIM_MarioW2_PanicHoverStill, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetPlayerAnimation, ANIM_MarioW2_PanicHover)
EVT_CALL(SetPlayerFoldFlags, FOLD_STATE_FLAG_REVERSE_ANIM)
EVT_CALL(UpdatePlayerFold, ANIM_MarioW2_PanicHover, FOLD_UPD_SET_ANIM, FOLD_ANIM_SHOCK, 1, 1, 0)
EVT_CALL(SetPlayerImgFXFlags, IMGFX_FLAG_REVERSE_ANIM)
EVT_CALL(UpdatePlayerImgFX, ANIM_MarioW2_PanicHover, IMGFX_SET_ANIM, IMGFX_ANIM_SHOCK, 1, 1, 0)
EVT_WAIT(13 * DT)
EVT_CALL(UpdatePlayerFold, ANIM_MarioW2_PanicHover, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(UpdatePlayerImgFX, ANIM_MarioW2_PanicHover, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_END_THREAD
EVT_THREAD
EVT_CALL(SetPlayerJumpscale, EVT_FLOAT(0.8))
@ -234,22 +234,22 @@ EvtScript N(EVS_Scene_KammyStrikes) = {
EVT_END_THREAD
EVT_THREAD
EVT_CALL(SetNpcAnimation, NPC_Goombaria, ANIM_Goombaria_Shock)
EVT_CALL(SetNpcFoldFlags, NPC_Goombaria, FOLD_STATE_FLAG_REVERSE_ANIM)
EVT_CALL(SetNpcFoldParams, NPC_Goombaria, FOLD_UPD_SET_ANIM, FOLD_ANIM_SHOCK, 1, 1, 0)
EVT_CALL(SetNpcImgFXFlags, NPC_Goombaria, IMGFX_FLAG_REVERSE_ANIM)
EVT_CALL(SetNpcImgFXParams, NPC_Goombaria, IMGFX_SET_ANIM, IMGFX_ANIM_SHOCK, 1, 1, 0)
EVT_CALL(SetNpcJumpscale, NPC_Goombaria, EVT_FLOAT(1.5))
EVT_CALL(GetNpcPos, NPC_Goombaria, LVar0, LVar1, LVar2)
EVT_CALL(NpcJump0, NPC_Goombaria, LVar0, LVar1, LVar2, 25 * DT)
EVT_CALL(SetNpcAnimation, NPC_Goombaria, ANIM_Goombaria_LookUp)
EVT_CALL(SetNpcFoldParams, NPC_Goombaria, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Goombaria, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_END_THREAD
EVT_CALL(SetNpcFoldFlags, NPC_Goompapa, FOLD_STATE_FLAG_REVERSE_ANIM)
EVT_CALL(SetNpcFoldParams, NPC_Goompapa, FOLD_UPD_SET_ANIM, FOLD_ANIM_SHOCK, 1, 1, 0)
EVT_CALL(SetNpcImgFXFlags, NPC_Goompapa, IMGFX_FLAG_REVERSE_ANIM)
EVT_CALL(SetNpcImgFXParams, NPC_Goompapa, IMGFX_SET_ANIM, IMGFX_ANIM_SHOCK, 1, 1, 0)
EVT_CALL(SetNpcAnimation, NPC_Goompapa, ANIM_Goompapa_Shock)
EVT_CALL(SetNpcJumpscale, NPC_Goompapa, EVT_FLOAT(1.2))
EVT_CALL(GetNpcPos, NPC_Goompapa, LVar0, LVar1, LVar2)
EVT_CALL(NpcJump0, NPC_Goompapa, LVar0, LVar1, LVar2, 25 * DT)
EVT_CALL(SetNpcAnimation, NPC_Goompapa, ANIM_Goompapa_LookUp)
EVT_CALL(SetNpcFoldParams, NPC_Goompapa, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_Goompapa, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_WAIT(10 * DT)
EVT_CALL(SetNpcAnimation, NPC_Kammy, ANIM_WorldKammy_Anim13)
EVT_CALL(SetCamType, CAM_DEFAULT, 4, FALSE)

View File

@ -62,11 +62,11 @@ EvtScript N(EVS_Scene_FallingDown) = {
EVT_CALL(SetCamSpeed, CAM_DEFAULT, EVT_FLOAT(0.2 / DT))
EVT_CALL(PanToTarget, CAM_DEFAULT, 0, 1)
EVT_END_THREAD
EVT_CALL(SetPlayerFoldFlags, FOLD_STATE_FLAG_2000 | FOLD_STATE_FLAG_800)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_SET_ANIM, FOLD_ANIM_FLUTTER_DOWN, 1, 1, 0)
EVT_CALL(SetPlayerImgFXFlags, IMGFX_FLAG_2000 | IMGFX_FLAG_800)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_SET_ANIM, IMGFX_ANIM_FLUTTER_DOWN, 1, 1, 0)
EVT_WAIT(100 * DT)
EVT_CALL(WaitForCam, CAM_DEFAULT, EVT_FLOAT(1.0))
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(HidePlayerShadow, FALSE)
EVT_CALL(SetPlayerAnimation, ANIM_Mario1_BeforeJump)
EVT_WAIT(10 * DT)

View File

@ -5,7 +5,7 @@ extern s32 gItemIconRasterOffsets[];
extern s32 gItemIconPaletteOffsets[];
typedef struct StickerData {
/* 0x00 */ s32 folderID;
/* 0x00 */ s32 imgfxIdx;
/* 0x04 */ s32 workerID;
/* 0x08 */ Vec3f pos;
/* 0x14 */ f32 pitch;
@ -20,14 +20,14 @@ typedef struct StickerData {
} StickerData;
void N(appendGfx_sticker)(void* renderData) {
FoldImageRecPart foldImage;
ImgFXTexture ifxImg;
Matrix4f mtxTransform;
Matrix4f mtxTemp;
StickerData* sticker = (StickerData*) evt_get_variable(NULL, MV_StickerData);
IMG_PTR img = (IMG_PTR) evt_get_variable(NULL, MV_StickerImage);
PAL_PTR pal = (PAL_PTR) evt_get_variable(NULL, MV_StickerPalette);
u32 foldFlags = FOLD_STATE_FLAG_400;
u32 imgfxFlags = IMGFX_FLAG_400;
gDPPipeSync(gMainGfxPos++);
guTranslateF(mtxTransform, sticker->pos.x, sticker->pos.y, sticker->pos.z);
@ -41,19 +41,19 @@ void N(appendGfx_sticker)(void* renderData) {
gSPMatrix(gMainGfxPos++, VIRTUAL_TO_PHYSICAL(&gDisplayContext->matrixStack[gMatrixListPos++]),
G_MTX_PUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
foldImage.raster = img;
foldImage.palette = pal;
foldImage.width = 32;
foldImage.height = 32;
foldImage.xOffset = -16;
foldImage.yOffset = 16;
foldImage.opacity = 255;
ifxImg.raster = img;
ifxImg.palette = pal;
ifxImg.width = 32;
ifxImg.height = 32;
ifxImg.xOffset = -16;
ifxImg.yOffset = 16;
ifxImg.alpha = 255;
if (sticker->yaw != 0.0 || sticker->pitch != 0.0) {
foldFlags |= FOLD_STATE_FLAG_2000;
imgfxFlags |= IMGFX_FLAG_2000;
}
fold_update(0, FOLD_UPD_CLEAR, 0, 0, 0, 0, 0);
fold_appendGfx_component(0, &foldImage, foldFlags, mtxTransform);
imgfx_update(0, IMGFX_CLEAR, 0, 0, 0, 0, 0);
imgfx_appendGfx_component(0, &ifxImg, imgfxFlags, mtxTransform);
gSPPopMatrix(gMainGfxPos++, G_MTX_MODELVIEW);
}
@ -107,7 +107,7 @@ API_CALLABLE(N(CreateSticker)) {
(u8*) (iconPalEnd + gItemIconPaletteOffsets[itemID]),
iconPal);
sticker->folderID = func_8013A704(1);
sticker->imgfxIdx = imgfx_get_free_instances(1);
sticker->workerID = create_worker_world(NULL, N(worker_render_sticker));
evt_set_variable(script, MV_StickerData, (s32) sticker);
evt_set_variable(script, MV_StickerImage, (s32) iconImg);

View File

@ -88,11 +88,11 @@ EvtScript N(EVS_NpcIdle_Goomba_Ambush) = {
EVT_GOTO(0)
EVT_END_IF
EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_F8, SOUND_SPACE_MODE_0)
EVT_CALL(SetNpcFoldFlags, NPC_SELF, FOLD_STATE_FLAG_2000)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_SET_ANIM, FOLD_ANIM_UNFURL, 1, 1, 0)
EVT_CALL(SetNpcImgFXFlags, NPC_SELF, IMGFX_FLAG_2000)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_SET_ANIM, IMGFX_ANIM_UNFURL, 1, 1, 0)
EVT_WAIT(15)
EVT_CALL(SetNpcFoldFlags, NPC_SELF, FOLD_STATE_FLAG_2000)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_TYPE_3, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXFlags, NPC_SELF, IMGFX_FLAG_2000)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_RESET, 0, 0, 0, 0)
EVT_THREAD
EVT_WAIT(2)
EVT_SETF(LVar0, EVT_FLOAT(0.0))
@ -107,7 +107,7 @@ EvtScript N(EVS_NpcIdle_Goomba_Ambush) = {
EVT_CALL(EnableNpcShadow, NPC_SELF, TRUE)
EVT_CALL(SetNpcJumpscale, NPC_SELF, EVT_FLOAT(0.6))
EVT_CALL(NpcJump0, NPC_SELF, -35, 0, 25, 23)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 0)
EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_NO_SHADOW_RAYCAST, TRUE)
EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_WORLD_COLLISION, FALSE)

View File

@ -62,15 +62,15 @@ EvtScript N(EVS_NpcIdle_Goomba) = {
EVT_WAIT(20)
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Goomba_Idle)
EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_F8, SOUND_SPACE_MODE_0)
EVT_CALL(SetNpcFoldFlags, NPC_SELF, FOLD_STATE_FLAG_2000)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_SET_ANIM, FOLD_ANIM_UNFURL, 1, 1, 0)
EVT_CALL(SetNpcImgFXFlags, NPC_SELF, IMGFX_FLAG_2000)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_SET_ANIM, IMGFX_ANIM_UNFURL, 1, 1, 0)
EVT_WAIT(12)
EVT_WAIT(5)
EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_32C, SOUND_SPACE_MODE_0)
EVT_CALL(EnableNpcShadow, NPC_SELF, TRUE)
EVT_CALL(SetNpcJumpscale, NPC_SELF, EVT_FLOAT(0.6))
EVT_CALL(NpcJump0, NPC_SELF, -35, 0, 30, 23)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(InterpNpcYaw, NPC_SELF, 90, 0)
EVT_CALL(SetNpcFlagBits, NPC_SELF, NPC_FLAG_IGNORE_CAMERA_FOR_YAW | NPC_FLAG_200000, FALSE)
EVT_CALL(SetSelfEnemyFlagBits, ENEMY_FLAG_DISABLE_AI, 0)

View File

@ -675,8 +675,8 @@ EvtScript N(EVS_NpcAI_ShyGuy) = {
EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_32C, SOUND_SPACE_MODE_0)
EVT_CALL(NpcJump0, NPC_SELF, 594, 30, -220, 15)
EVT_CALL(PlaySoundAtNpc, NPC_SELF, SOUND_ENTER_PIPE, SOUND_SPACE_MODE_0)
EVT_CALL(SetNpcFoldFlags, NPC_SELF, FOLD_STATE_FLAG_800)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_SET_ANIM, FOLD_ANIM_VERTICAL_PIPE_CURL, 1, 1, 0)
EVT_CALL(SetNpcImgFXFlags, NPC_SELF, IMGFX_FLAG_800)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_SET_ANIM, IMGFX_ANIM_VERTICAL_PIPE_CURL, 1, 1, 0)
EVT_CALL(GetNpcPos, NPC_SELF, LVar0, LVar1, LVar2)
EVT_SUB(LVar1, 10)
EVT_LOOP(30)

View File

@ -77,8 +77,8 @@ EvtScript N(EVS_Player_EnterPipe_Intro) = {
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(SetPlayerFoldFlags, FOLD_STATE_FLAG_800)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_SET_ANIM, FOLD_ANIM_VERTICAL_PIPE_CURL, 1, 1, 0)
EVT_CALL(SetPlayerImgFXFlags, IMGFX_FLAG_800)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_SET_ANIM, IMGFX_ANIM_VERTICAL_PIPE_CURL, 1, 1, 0)
EVT_WAIT(25)
EVT_RETURN
EVT_END
@ -107,8 +107,8 @@ EvtScript N(EVS_Luigi_EnterPipe_Intro) = {
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(SetNpcFoldFlags, NPC_Scene_Luigi, FOLD_STATE_FLAG_800)
EVT_CALL(SetNpcFoldParams, NPC_Scene_Luigi, FOLD_UPD_SET_ANIM, FOLD_ANIM_VERTICAL_PIPE_CURL, 1, 1, 0)
EVT_CALL(SetNpcImgFXFlags, NPC_Scene_Luigi, IMGFX_FLAG_800)
EVT_CALL(SetNpcImgFXParams, NPC_Scene_Luigi, IMGFX_SET_ANIM, IMGFX_ANIM_VERTICAL_PIPE_CURL, 1, 1, 0)
EVT_WAIT(25)
EVT_RETURN
EVT_END

View File

@ -149,8 +149,8 @@ EvtScript N(EVS_Player_EnterPipe_Epilogue) = {
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(SetPlayerFoldFlags, FOLD_STATE_FLAG_800)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_SET_ANIM, FOLD_ANIM_VERTICAL_PIPE_CURL, 1, 1, 0)
EVT_CALL(SetPlayerImgFXFlags, IMGFX_FLAG_800)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_SET_ANIM, IMGFX_ANIM_VERTICAL_PIPE_CURL, 1, 1, 0)
EVT_WAIT(25)
EVT_RETURN
EVT_END
@ -179,8 +179,8 @@ EvtScript N(EVS_Luigi_EnterPipe_Epilogue) = {
EVT_WAIT(1)
EVT_END_LOOP
EVT_END_THREAD
EVT_CALL(SetNpcFoldFlags, NPC_Luigi_1, FOLD_STATE_FLAG_800)
EVT_CALL(SetNpcFoldParams, NPC_Luigi_1, FOLD_UPD_SET_ANIM, FOLD_ANIM_VERTICAL_PIPE_CURL, 1, 1, 0)
EVT_CALL(SetNpcImgFXFlags, NPC_Luigi_1, IMGFX_FLAG_800)
EVT_CALL(SetNpcImgFXParams, NPC_Luigi_1, IMGFX_SET_ANIM, IMGFX_ANIM_VERTICAL_PIPE_CURL, 1, 1, 0)
EVT_WAIT(25)
EVT_RETURN
EVT_END

View File

@ -64,8 +64,8 @@ EvtScript N(EVS_ToadHouse_GetInBed) = {
EVT_END_LOOP
EVT_CALL(HidePlayerShadow, TRUE)
EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Idle)
EVT_CALL(SetPlayerFoldFlags, FOLD_STATE_FLAG_800)
EVT_CALL(UpdatePlayerFold, 0x00010002, FOLD_UPD_SET_ANIM, FOLD_ANIM_GET_IN_BED, 1, 1, 0)
EVT_CALL(SetPlayerImgFXFlags, IMGFX_FLAG_800)
EVT_CALL(UpdatePlayerImgFX, 0x00010002, IMGFX_SET_ANIM, IMGFX_ANIM_GET_IN_BED, 1, 1, 0)
EVT_THREAD
EVT_WAIT(60)
EVT_CALL(SetPlayerAnimation, ANIM_MarioW2_SleepStanding)
@ -99,7 +99,7 @@ EvtScript N(EVS_ToadHouse_ReturnFromRest) = {
EVT_CALL(N(SetAmbienceVolumeHalf_Bed))
EVT_CALL(SetPlayerAnimation, ANIM_Mario1_Idle)
EVT_CALL(HidePlayerShadow, FALSE)
EVT_CALL(UpdatePlayerFold, ANIM_Mario1_Idle, FOLD_UPD_CLEAR, 0, 0, 0, 0)
EVT_CALL(UpdatePlayerImgFX, ANIM_Mario1_Idle, IMGFX_CLEAR, 0, 0, 0, 0)
EVT_CALL(SetPlayerPos, -45, 30, -70)
EVT_CALL(InterpPlayerYaw, 90, 0)
EVT_CALL(SetNpcPos, NPC_PARTNER, -75, 30, -70)

View File

@ -141,7 +141,7 @@ EvtScript N(EVS_Main) = {
EVT_CALL(SetNpcPos, NPC_PARTNER, NPC_DISPOSE_LOCATION)
EVT_END_IF
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_MODE_3, 25, 16, 4096)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_FROM_ZONE, 25, 16, 4096)
EVT_CALL(SetCamBGColor, CAM_DEFAULT, 208, 208, 208)
EVT_CALL(SetCamEnabled, CAM_DEFAULT, TRUE)
EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE)

View File

@ -157,7 +157,7 @@ EvtScript N(EVS_Main) = {
EVT_CALL(SetNpcPos, NPC_PARTNER, NPC_DISPOSE_LOCATION)
EVT_END_IF
EVT_CALL(SetSpriteShading, SHADING_NONE)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_MODE_3, 25, 16, 4096)
EVT_CALL(SetCamPerspective, CAM_DEFAULT, CAM_UPDATE_FROM_ZONE, 25, 16, 4096)
EVT_CALL(SetCamBGColor, CAM_DEFAULT, 208, 208, 208)
EVT_CALL(SetCamEnabled, CAM_DEFAULT, TRUE)
EVT_CALL(SetCamLeadPlayer, CAM_DEFAULT, FALSE)

View File

@ -1,13 +1,13 @@
EvtScript N(EVS_NpcInit_Eldstar) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldEldstar_Still)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_SET_TINT, 0, 0, 0, 128)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_SET_TINT, 0, 0, 0, 128)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_KoopaBros) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_KoopaBros_Black_Anim1B)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_RETURN
EVT_END
};

View File

@ -1,32 +1,32 @@
EvtScript N(EVS_NpcInit_Mamar) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldMamar_Still)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_SET_TINT, 0, 0, 0, 128)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_SET_TINT, 0, 0, 0, 128)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Tutankoopa) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_Tutankoopa_Anim08)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_ChainChomp) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_ChainChomp_Anim03)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_CALL(SetNpcPos, NPC_SELF, 5, -25, -180)
EVT_CALL(SetNpcAnimation, NPC_ChainChomp_02, ANIM_ChainChomp_Anim02)
EVT_CALL(SetNpcFoldParams, NPC_ChainChomp_02, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_ChainChomp_02, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_CALL(SetNpcPos, NPC_ChainChomp_02, 35, -14, -180)
EVT_CALL(SetNpcAnimation, NPC_ChainChomp_03, ANIM_ChainChomp_Anim02)
EVT_CALL(SetNpcFoldParams, NPC_ChainChomp_03, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_ChainChomp_03, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_CALL(SetNpcPos, NPC_ChainChomp_03, 52, -18, -180)
EVT_CALL(SetNpcAnimation, NPC_ChainChomp_04, ANIM_ChainChomp_Anim02)
EVT_CALL(SetNpcFoldParams, NPC_ChainChomp_04, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_ChainChomp_04, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_CALL(SetNpcPos, NPC_ChainChomp_04, 69, -19, -180)
EVT_CALL(SetNpcAnimation, NPC_ChainChomp_05, ANIM_ChainChomp_Anim02)
EVT_CALL(SetNpcFoldParams, NPC_ChainChomp_05, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_ChainChomp_05, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_CALL(SetNpcPos, NPC_ChainChomp_05, 86, -19, -180)
EVT_RETURN
EVT_END

View File

@ -1,13 +1,13 @@
EvtScript N(EVS_NpcInit_Skolar) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldSkolar_Still)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_SET_TINT, 0, 0, 0, 128)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_SET_TINT, 0, 0, 0, 128)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_Tubba) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldTubba_Anim10)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_RETURN
EVT_END
};

View File

@ -1,20 +1,20 @@
EvtScript N(EVS_NpcInit_Muskular) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldMuskular_Still)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_SET_TINT, 0, 0, 0, 128)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_SET_TINT, 0, 0, 0, 128)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_GeneralGuy) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_GeneralGuy_Anim03)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_ShyGuy) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_ShyGuy_Red_Anim02)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_RETURN
EVT_END
};

View File

@ -1,6 +1,6 @@
EvtScript N(EVS_NpcInit_Misstar) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldMisstar_Still)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_SET_TINT, 0, 0, 0, 128)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_SET_TINT, 0, 0, 0, 128)
EVT_RETURN
EVT_END
};

View File

@ -1,13 +1,13 @@
EvtScript N(EVS_NpcInit_Klevar) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldKlevar_Still)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_SET_TINT, 0, 0, 0, 128)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_SET_TINT, 0, 0, 0, 128)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_HuffNPuff_Body) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_HuffNPuff_Anim1A)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_CALL(SetNpcPos, NPC_SELF, 40, 45, 1)
EVT_RETURN
EVT_END
@ -15,7 +15,7 @@ EvtScript N(EVS_NpcInit_HuffNPuff_Body) = {
EvtScript N(EVS_NpcInit_HuffNPuff_Face) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_HuffNPuff_Anim1B)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_CALL(SetNpcPos, NPC_SELF, 40, 45, 1)
EVT_RETURN
EVT_END
@ -23,7 +23,7 @@ EvtScript N(EVS_NpcInit_HuffNPuff_Face) = {
EvtScript N(EVS_NpcInit_HuffNPuff_Arms) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_HuffNPuff_Anim1C)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_CALL(SetNpcPos, NPC_SELF, 40, 45, 1)
EVT_RETURN
EVT_END
@ -31,10 +31,10 @@ EvtScript N(EVS_NpcInit_HuffNPuff_Arms) = {
EvtScript N(EVS_NpcInit_TuffPuff_01) = {
EVT_CALL(SetNpcAnimation, NPC_TuffPuff_01, ANIM_TuffPuff_Idle)
EVT_CALL(SetNpcFoldParams, NPC_TuffPuff_01, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_TuffPuff_01, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_CALL(SetNpcPos, NPC_TuffPuff_01, 120, -1, -51)
EVT_CALL(SetNpcAnimation, NPC_TuffPuff_02, ANIM_TuffPuff_Idle)
EVT_CALL(SetNpcFoldParams, NPC_TuffPuff_02, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_TuffPuff_02, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_CALL(SetNpcPos, NPC_TuffPuff_02, -40, 59, 1)
EVT_RETURN
EVT_END

View File

@ -1,34 +1,34 @@
EvtScript N(EVS_NpcInit_Kalmar) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldKalmar_Still)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_UPD_SET_TINT, 0, 0, 0, 128)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_SET_TINT, 0, 0, 0, 128)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_CrystalKing) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_CrystalKing_Anim09)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_IceCube) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_CrystalKing_Anim0A)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_IceSphere) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_CrystalKing_Anim0B)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_RETURN
EVT_END
};
EvtScript N(EVS_NpcInit_IceSpike) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_CrystalKing_Anim0C)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_RETURN
EVT_END
};

View File

@ -1,6 +1,6 @@
EvtScript N(EVS_NpcInit_Bowser) = {
EVT_CALL(SetNpcAnimation, NPC_SELF, ANIM_WorldBowser_Talk)
EVT_CALL(SetNpcFoldParams, NPC_SELF, FOLD_TYPE_E, 80, 80, 80, 0)
EVT_CALL(SetNpcImgFXParams, NPC_SELF, IMGFX_FILL_COLOR, 80, 80, 80, 0)
EVT_RETURN
EVT_END
};

Some files were not shown because too many files have changed in this diff Show More