mirror of
https://github.com/pmret/papermario.git
synced 2024-11-18 00:42:34 +01:00
entities (#741)
* matched execute_render_tasks * step_entity_command_list * partially migrated entity data * entity blueprints migrated * matched create_entity * matched entity functions * SaveBlock * SaveBlock and Switch * switch model done * matched shattering block functions * shattering block models * matched block funcs * block models * finish Block.c * ItemBlock * HeartBlock * SuperBlock * SimpleSpring * HiddenPanel wip * HiddenPanel * Chest * WoodenCrate * BlueWarpPipe * SignPost * Padlock * Boarded floor and padlocks * BombableRock * Tweester * StarBoxLauncher * wip * ArrowSign * BellbellPlant * TrumpetPlant * munchlesia wip * Munchlesia * UnusedBlock * cleaning * fix warnings * git subrepo pull --force tools/splat subrepo: subdir: "tools/splat" merged: "fd9cbc3a1" upstream: origin: "https://github.com/ethteck/splat.git" branch: "master" commit: "fd9cbc3a1" git-subrepo: version: "0.4.3" origin: "https://github.com/ingydotnet/git-subrepo" commit: "2f68596" * PR suggestions * created vtx splat segments
This commit is contained in:
parent
6a04b6a5fe
commit
ae64b1b5cc
@ -408,207 +408,49 @@ typedef struct Evt {
|
||||
typedef Evt* ScriptList[MAX_SCRIPTS];
|
||||
|
||||
struct Entity;
|
||||
|
||||
// BEGIN ENTITY-SPECIFIC STRUCTS
|
||||
|
||||
typedef struct struct802E2BA4 {
|
||||
/* 0x00 */ char unk_00[2];
|
||||
/* 0x02 */ u16 unk_02[24][2];
|
||||
} struct802E2BA4;
|
||||
|
||||
// from 102c80, size unknown.
|
||||
typedef struct SwitchData {
|
||||
/* 0x000 */ f32 fallVelocity;
|
||||
/* 0x004 */ f32 deltaScaleX;
|
||||
/* 0x008 */ f32 deltaScaleY;
|
||||
/* 0x00C */ char unk_0C[4];
|
||||
/* 0x010 */ s8 animStateScaleX;
|
||||
/* 0x011 */ s8 animStateScaleY;
|
||||
/* 0x014 */ Vec3f baseScale;
|
||||
/* 0x020 */ u16 areaFlagIndex;
|
||||
/* 0x022 */ s16 greenMotionTimer;
|
||||
/* 0x024 */ s16 scaleAnimTimer;
|
||||
/* 0x028 */ struct Entity* linkedSwitch; /* a hidden switch can be linked to a visible one and automatically trigger it on hit */
|
||||
/* 0x02C */ char unk_2C[8];
|
||||
/* 0x034 */ struct802E2BA4* unk_34;
|
||||
/* 0x038 */ f32 unk_38;
|
||||
/* 0x03C */ union {
|
||||
/* */ s16 s;
|
||||
/* */ s8 b[2];
|
||||
} unk_3C;
|
||||
/* 0x03E */ char unk_3E[0x4D];
|
||||
/* 0x08B */ u8 fragmentRotX[24]; // scaled to map [0,255] -> [0,360]
|
||||
/* 0x0A3 */ char unk_A3; // padding?
|
||||
/* 0x0A4 */ u8 fragmentRotY[24]; // scaled to map [0,255] -> [0,360]
|
||||
/* 0x0BC */ char unk_BC[4];
|
||||
/* 0x0C0 */ f32 fragmentPosX[24];
|
||||
/* 0x120 */ char unk_120[4];
|
||||
/* 0x124 */ f32 fragmentPosY[24];
|
||||
/* 0x184 */ char unk_184[4];
|
||||
/* 0x188 */ f32 fragmentPosZ[24];
|
||||
} SwitchData;
|
||||
|
||||
// from 104940_len_dc0, size unknown
|
||||
// appears to belong to the hammer blocks(?)
|
||||
typedef struct BlockData {
|
||||
/* 0x000 */ u8 parentEntityIndex; // for block entities spawned by other block entities
|
||||
/* 0x001 */ char unk_01[2];
|
||||
/* 0x003 */ s8 empty;
|
||||
/* 0x004 */ s16 coinsLeft;
|
||||
/* 0x006 */ s16 timeLeft;
|
||||
/* 0x008 */ char unk_08[2];
|
||||
/* 0x00A */ u16 gameFlagIndex;
|
||||
/* 0x00C */ char unk_0C[2];
|
||||
/* 0x00E */ s16 unk_0E;
|
||||
/* 0x010 */ s16 itemEntityIndex; // for spawned item entities
|
||||
/* 0x012 */ s16 childEntityIndex; // for block entities that spawn other block entities
|
||||
/* 0x014 */ f32 initialY;
|
||||
/* 0x018 */ f32 recoilInterpPhase;
|
||||
/* 0x01C */ char unk_1C[0x10C];
|
||||
/* 0x128 */ UNK_PTR unk_128;
|
||||
/* 0x12C */ UNK_PTR unk_12C;
|
||||
} BlockData;
|
||||
|
||||
typedef struct ItemBlockData {
|
||||
/* 0x00 */ u16 unk_00;
|
||||
/* 0x02 */ char unk_02[8];
|
||||
/* 0x0A */ u16 gameFlagIndex;
|
||||
/* 0x0C */ char unk_C[4];
|
||||
/* 0x10 */ s16 itemID;
|
||||
/* 0x12 */ s16 childEntityIndex; // for block entities that spawn other block entities
|
||||
} ItemBlockData;
|
||||
|
||||
typedef struct SaveBlockData {
|
||||
/* 0x000 */ char unk_0[4];
|
||||
/* 0x004 */ s16 angle;
|
||||
} SaveBlockData;
|
||||
|
||||
// size unknown
|
||||
typedef struct SuperBlockContentData {
|
||||
/* 0x000 */ u8 parentEntityIndex; // for block entities spawned by other block entities
|
||||
/* 0x001 */ u8 unk_01;
|
||||
/* 0x002 */ s8 unk_02;
|
||||
/* 0x003 */ s8 unk_03;
|
||||
/* 0x004 */ f32 unk_04;
|
||||
/* 0x008 */ char unk_08;
|
||||
/* 0x009 */ u8 unk_09;
|
||||
/* 0x00A */ u8 unk_0A;
|
||||
/* 0x00B */ char unk_0B; // padding?
|
||||
/* 0x00C */ s32 unk_0C;
|
||||
/* 0x010 */ s32 unk_10;
|
||||
/* 0x014 */ f32 unk_14;
|
||||
/* 0x018 */ f32 unk_18;
|
||||
/* 0x01C */ f32 unk_1C;
|
||||
/* 0x020 */ f32 unk_20;
|
||||
/* 0x024 */ u16 unk_24;
|
||||
/* 0x024 */ s16 unk_26;
|
||||
/* 0x028 */ f32 unk_28[0xB];
|
||||
/* 0x054 */ f32 unk_54;
|
||||
/* 0x058 */ char unk_58[0x78];
|
||||
/* 0x0D0 */ u16 yawBufferPos;
|
||||
/* 0x0D4 */ f32 yawBuffer[20];
|
||||
/* 0x124 */ s32 unk_124;
|
||||
/* 0x128 */ s32* unk_128;
|
||||
/* 0x12C */ s32* unk_12C;
|
||||
} SuperBlockContentData;
|
||||
|
||||
// size unknown
|
||||
typedef struct HeartBlockContentData {
|
||||
/* 0x000 */ u8 parentEntityIndex; // for block entities spawned by other block entities
|
||||
/* 0x001 */ u8 state;
|
||||
/* 0x002 */ s8 sparkleTimer;
|
||||
/* 0x003 */ s8 sparkleTrailTimer;
|
||||
/* 0x004 */ f32 sparkleTrailPosY;
|
||||
/* 0x008 */ char heartbeatTimer;
|
||||
/* 0x009 */ u8 unk_09;
|
||||
/* 0x00A */ u8 sparkleEffectType;
|
||||
/* 0x00B */ char unk_0B; // padding?
|
||||
/* 0x00C */ s32 unk_0C;
|
||||
/* 0x010 */ s32 unk_10;
|
||||
/* 0x014 */ f32 riseVelocity;
|
||||
/* 0x018 */ f32 sparkleTrailAngle;
|
||||
/* 0x01C */ f32 sparkleTrailRadius;
|
||||
/* 0x020 */ f32 bouncePhase;
|
||||
/* 0x024 */ u16 yawBufferPos;
|
||||
/* 0x024 */ s16 unk_26;
|
||||
/* 0x028 */ f32 yawBuffer[10];
|
||||
/* 0x050 */ f32 unk_50;
|
||||
/* 0x054 */ f32 rotationRate;
|
||||
/* 0x058 */ char unk_58[0x78];
|
||||
/* 0x0D0 */ u16 yawBufferPosX;
|
||||
/* 0x0D4 */ f32 yawBufferX[20];
|
||||
/* 0x124 */ s32 unk_124;
|
||||
/* 0x128 */ s32* unk_128;
|
||||
/* 0x12C */ s32* unk_12C;
|
||||
} HeartBlockContentData;
|
||||
|
||||
typedef struct WoodenCrateData {
|
||||
/* 0x000 */ s32 itemID;
|
||||
/* 0x004 */ u16 globalFlagIndex;
|
||||
/* 0x006 */ u8 unk_06[2];
|
||||
/* 0x008 */ u8* fragmentsGfx; //TODO type when more WoodenCrate.c is done
|
||||
/* 0x00C */ f32 basePosY;
|
||||
/* 0x010 */ u8 fragmentScale[36];
|
||||
/* 0x034 */ s8 fragmentMoveAngle[36]; // X,Z plane -- scaled to map [0,255] -> [0,360]
|
||||
/* 0x058 */ u8 fragmentRotX[36]; // scaled to map [0,255] -> [0,360]
|
||||
/* 0x07C */ u8 fragmentRotY[36]; // scaled to map [0,255] -> [0,360]
|
||||
/* 0x0A0 */ u8 fragmentLateralSpeed[36];
|
||||
/* 0x0C4 */ f32 fragmentFallSpeed[36];
|
||||
/* 0x154 */ f32 fragmentPosX[36];
|
||||
/* 0x1E4 */ f32 fragmentPosY[36];
|
||||
/* 0x274 */ f32 fragmentPosZ[36];
|
||||
/* 0x304 */ f32 unk_304[36];
|
||||
} WoodenCrateData;
|
||||
|
||||
// size unknown
|
||||
typedef struct ChestData {
|
||||
/* 0x00 */ u16 gameFlagIndex;
|
||||
/* 0x02 */ s16 giveItemTimer;
|
||||
/* 0x04 */ u8 state;
|
||||
/* 0x04 */ s8 unk_05;
|
||||
/* 0x06 */ s8 postLidAnimDelay;
|
||||
/* 0x07 */ u8 unk_07;
|
||||
/* 0x08 */ f32 lidAngle;
|
||||
/* 0x0C */ f32 lidAnimInterpPhase;
|
||||
/* 0x10 */ s32 itemID;
|
||||
/* 0x14 */ s32 itemEntityIndex;
|
||||
/* 0x18 */ Vec3f itemEntityPos;
|
||||
/* 0x24 */ f32 giveItemRadiusInterpPhase;
|
||||
/* 0x28 */ f32 giveItemHeightInterpPhase;
|
||||
/* 0x2C */ f32 itemVelY;
|
||||
/* 0x30 */ s8 unk_30;
|
||||
/* 0x31 */ char unk_31[3];
|
||||
/* 0x34 */ struct EffectInstance* gotItemEffect;
|
||||
} ChestData;
|
||||
|
||||
typedef struct BlueWarpPipeData {
|
||||
/* 0x00 */ s32 unk_00; // proably flags
|
||||
/* 0x04 */ s32 timer;
|
||||
/* 0x08 */ s32 isRaised;
|
||||
/* 0x0C */ s32 entryID;
|
||||
/* 0x10 */ EvtScript* onEnterPipeEvt;
|
||||
/* 0x14 */ s32 flagIndex;
|
||||
/* 0x18 */ f32 finalPosY;
|
||||
} BlueWarpPipeData;
|
||||
|
||||
typedef struct SimpleSpringData {
|
||||
/* 0x00 */ s32 launchVelocity;
|
||||
} SimpleSpringData;
|
||||
|
||||
// END ENTITY-SPECIFIC STRUCTS
|
||||
struct SaveBlockData;
|
||||
struct SwitchData;
|
||||
struct ShatteringBlockData;
|
||||
struct BlockData;
|
||||
struct WoodenCrateData;
|
||||
struct ChestData;
|
||||
struct BlueWarpPipeData;
|
||||
struct HeartBlockContentData;
|
||||
struct SuperBlockContentData;
|
||||
struct SimpleSpringData;
|
||||
struct HiddenPanelData;
|
||||
struct SignpostData;
|
||||
struct PadlockData;
|
||||
struct BoardedFloorData;
|
||||
struct BombableRockData;
|
||||
struct TweesterData;
|
||||
struct StarBoxLauncherData;
|
||||
struct CymbalPlantData;
|
||||
struct PinkFlowerData;
|
||||
struct SpinningFlowerData;
|
||||
struct TrumpetPlantData;
|
||||
struct MunchlesiaData;
|
||||
struct ArrowSignData;
|
||||
|
||||
typedef s32 (*EntityCallback)(struct Entity*);
|
||||
|
||||
typedef struct DmaEntry {
|
||||
void* start;
|
||||
void* end;
|
||||
} DmaEntry;
|
||||
|
||||
typedef struct EntityBlueprint {
|
||||
/* 0x00 */ u16 flags;
|
||||
/* 0x02 */ u16 typeDataSize;
|
||||
/* 0x04 */ UNK_PTR renderCommandList;
|
||||
/* 0x08 */ UNK_PTR modelAnimationNodes;
|
||||
/* 0x0C */ EntityCallback(fpInit);
|
||||
/* 0x0C */ void (*fpInit)(struct Entity*);
|
||||
/* 0x10 */ UNK_PTR updateEntityScript;
|
||||
/* 0x14 */ EntityCallback fpHandleCollision;
|
||||
/* 0x18 */ s32 dmaStart;
|
||||
/* 0x1C */ s32 dmaEnd;
|
||||
/* 0x18 */ union {
|
||||
DmaEntry dma;
|
||||
DmaEntry* dmaList;
|
||||
};
|
||||
/* 0x20 */ u8 entityType;
|
||||
/* 0x21 */ u8 aabbSize[3];
|
||||
} EntityBlueprint; // size = 0x24
|
||||
@ -618,9 +460,9 @@ typedef struct Entity {
|
||||
/* 0x04 */ u8 listIndex;
|
||||
/* 0x05 */ s8 unk_05;
|
||||
/* 0x06 */ u8 collisionFlags;
|
||||
/* 0x07 */ s8 unk_07;
|
||||
/* 0x07 */ s8 collisionTimer;
|
||||
/* 0x08 */ u8 unk_08;
|
||||
/* 0x09 */ u8 hasEntityScript;
|
||||
/* 0x09 */ u8 scriptDelay;
|
||||
/* 0x0A */ u8 type;
|
||||
/* 0x0B */ u8 alpha;
|
||||
/* 0x0C */ Vec3s aabb;
|
||||
@ -632,31 +474,42 @@ typedef struct Entity {
|
||||
/* 0x20 */ EntityCallback updateMatrixOverride;
|
||||
/* 0x24 */ Evt* boundScript;
|
||||
/* 0x28 */ EvtScript* boundScriptBytecode;
|
||||
/* 0x2C */ s32* savedReadPos;
|
||||
/* 0x30 */ char unk_30[0x8];
|
||||
/* 0x2C */ s32* savedReadPos[3];
|
||||
/* 0x38 */ EntityBlueprint* blueprint;
|
||||
/* 0x3C */ UNK_PTR renderSetupFunc; // pointer to draw func(?)
|
||||
/* 0x3C */ void (*renderSetupFunc)(s32);
|
||||
/* 0x40 */ union {
|
||||
s32* any;
|
||||
SwitchData* swtch;
|
||||
BlockData* block;
|
||||
ItemBlockData* itemBlock;
|
||||
SaveBlockData* saveBlock;
|
||||
WoodenCrateData* crate;
|
||||
ChestData* chest;
|
||||
BlueWarpPipeData* bluePipe;
|
||||
HeartBlockContentData* heartBlockContent;
|
||||
SuperBlockContentData* superBlockContent;
|
||||
SimpleSpringData* simpleSpring;
|
||||
s32* unk;
|
||||
struct SaveBlockData* saveBlock;
|
||||
struct SwitchData* swtch;
|
||||
struct ShatteringBlockData* shatteringBlock;
|
||||
struct BlockData* block;
|
||||
struct WoodenCrateData* crate;
|
||||
struct ChestData* chest;
|
||||
struct BlueWarpPipeData* bluePipe;
|
||||
struct HeartBlockContentData* heartBlockContent;
|
||||
struct SuperBlockContentData* superBlockContent;
|
||||
struct SimpleSpringData* simpleSpring;
|
||||
struct HiddenPanelData* hiddenPanel;
|
||||
struct SignpostData* signPost;
|
||||
struct PadlockData* padlock;
|
||||
struct BoardedFloorData* boardedFloor;
|
||||
struct BombableRockData* bombableRock;
|
||||
struct TweesterData* tweester;
|
||||
struct StarBoxLauncherData* starBoxLauncher;
|
||||
struct CymbalPlantData* cymbalPlant;
|
||||
struct PinkFlowerData* pinkFlower;
|
||||
struct SpinningFlowerData* spinningFlower;
|
||||
struct TrumpetPlantData* trumpetPlant;
|
||||
struct MunchlesiaData* munchlesia;
|
||||
struct ArrowSignData* arrowSign;
|
||||
} dataBuf;
|
||||
/* 0x44 */ Vec3s* vertexData;
|
||||
/* 0x44 */ void* gfxBaseAddr;
|
||||
/* 0x48 */ Vec3f position;
|
||||
/* 0x54 */ Vec3f scale;
|
||||
/* 0x60 */ Vec3f rotation;
|
||||
/* 0x6C */ f32 shadowPosY;
|
||||
/* 0x70 */ Matrix4f inverseTransformMatrix; /* world-to-local */
|
||||
/* 0xB0 */ float effectiveSize;
|
||||
/* 0xB0 */ f32 effectiveSize;
|
||||
/* 0xB4 */ char unk_B4[4];
|
||||
/* 0xB8 */ Mtx transformMatrix;
|
||||
} Entity; // size = 0xF8
|
||||
@ -665,7 +518,7 @@ typedef Entity* EntityList[MAX_ENTITIES];
|
||||
|
||||
struct Shadow;
|
||||
|
||||
typedef s32 (*ShadowCallback)(struct Shadow*);
|
||||
typedef void (*ShadowCallback)(struct Shadow*);
|
||||
|
||||
// same as EntityBlueprint
|
||||
typedef struct ShadowBlueprint {
|
||||
@ -1174,7 +1027,7 @@ typedef struct ModelAnimator {
|
||||
/* 0x090 */ f32 nextUpdateTime;
|
||||
/* 0x094 */ f32 timeScale;
|
||||
/* 0x098 */ Mtx mtx;
|
||||
/* 0x0D8 */ Vec3s* vertexArray;
|
||||
/* 0x0D8 */ void* baseAddr;
|
||||
/* 0x0DC */ s16* animationBuffer;
|
||||
/* 0x0E0 */ StaticAnimatorNode* staticNodes[0x7A];
|
||||
/* 0x2C8 */ StaticAnimatorNode** staticRoot;
|
||||
@ -2399,9 +2252,9 @@ typedef struct PopupMessage {
|
||||
} PopupMessage; // size = 0x1C
|
||||
|
||||
typedef struct Struct8015A578 {
|
||||
/* 0x00 */ u8 unk_00;
|
||||
/* 0x00 */ s8 unk_00;
|
||||
/* 0x01 */ u8 unk_01;
|
||||
/* 0x02 */ u8 unk_02;
|
||||
/* 0x02 */ s8 unk_02;
|
||||
/* 0x03 */ u8 unk_03[5];
|
||||
/* 0x08 */ f32 unk_08;
|
||||
/* 0x0C */ char unk_0C[0x4];
|
||||
|
@ -976,7 +976,7 @@ void fx_smoke_ring(s32, f32, f32, f32);
|
||||
void fx_damage_stars(s32, f32, f32, f32, f32, f32, f32, s32);
|
||||
void fx_explosion(s32, f32, f32, f32);
|
||||
EffectInstance* fx_lens_flare(s32, f32, f32, f32, s32);
|
||||
EffectInstance* fx_got_item_outline(s32, f32, f32, f32, f32, s32*);
|
||||
EffectInstance* fx_got_item_outline(s32, f32, f32, f32, f32, EffectInstance**);
|
||||
EffectInstance* fx_spiky_white_aura(s32, f32, f32, f32, s32);
|
||||
void fx_smoke_impact(s32, f32, f32, f32, f32, s32, f32, s32);
|
||||
EffectInstance* fx_damage_indicator(s32, f32, f32, f32, f32, f32, s32, EffectInstance**);
|
||||
|
437
include/entity.h
Normal file
437
include/entity.h
Normal file
@ -0,0 +1,437 @@
|
||||
#ifndef ENTITY_H
|
||||
#define ENTITY_H
|
||||
|
||||
#include "common.h"
|
||||
|
||||
typedef s32 EntityScript[0];
|
||||
typedef s32 EntityModelScript[0];
|
||||
|
||||
enum {
|
||||
ENTITY_SCRIPT_OP_End,
|
||||
ENTITY_SCRIPT_OP_Jump,
|
||||
ENTITY_SCRIPT_OP_Call,
|
||||
ENTITY_SCRIPT_OP_SetCallback,
|
||||
ENTITY_SCRIPT_OP_Goto,
|
||||
ENTITY_SCRIPT_OP_Label,
|
||||
ENTITY_SCRIPT_OP_RestartBoundScript,
|
||||
ENTITY_SCRIPT_OP_SetFlags,
|
||||
ENTITY_SCRIPT_OP_ClearFlags,
|
||||
ENTITY_SCRIPT_OP_PlaySound,
|
||||
};
|
||||
|
||||
enum {
|
||||
ENTITY_MODEL_SCRIPT_OP_End,
|
||||
ENTITY_MODEL_SCRIPT_OP_Draw,
|
||||
ENTITY_MODEL_SCRIPT_OP_Restart,
|
||||
ENTITY_MODEL_SCRIPT_OP_Loop,
|
||||
ENTITY_MODEL_SCRIPT_OP_SetRenderMode,
|
||||
ENTITY_MODEL_SCRIPT_OP_SetFlags,
|
||||
ENTITY_MODEL_SCRIPT_OP_ClearFlags,
|
||||
ENTITY_MODEL_SCRIPT_OP_DrawImage,
|
||||
};
|
||||
|
||||
#define es_End ENTITY_SCRIPT_OP_End,
|
||||
#define es_Jump(script) ENTITY_SCRIPT_OP_Jump, (s32)script,
|
||||
#define es_Call(func) ENTITY_SCRIPT_OP_Call, (s32)func,
|
||||
#define es_SetCallback(func, time) ENTITY_SCRIPT_OP_SetCallback, time, (s32)func,
|
||||
#define es_Goto(labelId) ENTITY_SCRIPT_OP_Goto, labelId,
|
||||
#define es_Restart ENTITY_SCRIPT_OP_Goto, 0,
|
||||
#define es_Label(labelId) ENTITY_SCRIPT_OP_Label, labelId,
|
||||
#define es_RestartBoundScript ENTITY_SCRIPT_OP_RestartBoundScript,
|
||||
#define es_SetFlags(flags) ENTITY_SCRIPT_OP_SetFlags, flags,
|
||||
#define es_ClearFlags(flags) ENTITY_SCRIPT_OP_ClearFlags, flags,
|
||||
#define es_PlaySound(soundId) ENTITY_SCRIPT_OP_PlaySound, soundId,
|
||||
|
||||
#define ems_End ENTITY_MODEL_SCRIPT_OP_End,
|
||||
#define ems_Draw(dlist, holdTime) ENTITY_MODEL_SCRIPT_OP_Draw, holdTime, (s32)dlist,
|
||||
#define ems_Restart ENTITY_MODEL_SCRIPT_OP_Restart,
|
||||
#define ems_Loop ENTITY_MODEL_SCRIPT_OP_Loop,
|
||||
#define ems_SetRenderMode(mode) ENTITY_MODEL_SCRIPT_OP_SetRenderMode, mode,
|
||||
#define ems_SetFlags(flags) ENTITY_MODEL_SCRIPT_OP_SetFlags, flags,
|
||||
#define ems_ClearFlags(flags) ENTITY_MODEL_SCRIPT_OP_ClearFlags, flags,
|
||||
#define ems_DrawImage(raster, palette, width, height, holdTime) ENTITY_MODEL_SCRIPT_OP_DrawImage, holdTime, (s32)raster, (s32)palette, width, height,
|
||||
|
||||
#define STANDARD_ENTITY_MODEL_SCRIPT(gfx, renderMode) \
|
||||
{ \
|
||||
ems_SetRenderMode(renderMode) \
|
||||
ems_Draw(gfx, 60) \
|
||||
ems_Restart \
|
||||
ems_End \
|
||||
}
|
||||
|
||||
#define ENTITY_ADDR(entity, type, data) (type)((s32)(entity->gfxBaseAddr) + ((s32)(data) & 0xFFFF))
|
||||
#define ENTITY_ROM(name) { entity_model_##name##_ROM_START, entity_model_##name##_ROM_END }
|
||||
|
||||
typedef struct SaveBlockData {
|
||||
/* 0x000 */ char unk_0[4];
|
||||
/* 0x004 */ s16 angle;
|
||||
/* 0x006 */ char unk_6[0x1A];
|
||||
} SaveBlockData; // size = 0x20
|
||||
|
||||
typedef struct SwitchData {
|
||||
/* 0x000 */ f32 fallVelocity;
|
||||
/* 0x004 */ f32 deltaScaleX;
|
||||
/* 0x008 */ f32 deltaScaleY;
|
||||
/* 0x00C */ char unk_0C[4];
|
||||
/* 0x010 */ s8 animStateScaleX;
|
||||
/* 0x011 */ s8 animStateScaleY;
|
||||
/* 0x014 */ Vec3f baseScale;
|
||||
/* 0x020 */ u16 areaFlagIndex;
|
||||
/* 0x022 */ s16 greenMotionTimer;
|
||||
/* 0x024 */ s16 scaleAnimTimer;
|
||||
/* 0x028 */ struct Entity* linkedSwitch;
|
||||
} SwitchData; // size = 0x2C
|
||||
|
||||
typedef struct ShatteringBlockData {
|
||||
/* 0x000 */ u16 fragmentFlags[25];
|
||||
/* 0x034 */ Gfx** fragmentDisplayLists;
|
||||
/* 0x038 */ f32 originalPosY;
|
||||
/* 0x03C */ s16 alpha;
|
||||
/* 0x03E */ s16 fadeOutCounter;
|
||||
/* 0x040 */ s8 fragmentRebounds[25];
|
||||
/* 0x059 */ s8 fragmentRotSpeed[25];
|
||||
/* 0x072 */ u8 fragmentMoveAngle[25]; // scaled to map [0,255] -> [0,360]
|
||||
/* 0x08B */ u8 fragmentRotX[25]; // scaled to map [0,255] -> [0,360]
|
||||
/* 0x0A4 */ u8 fragmentRotY[25]; // scaled to map [0,255] -> [0,360]
|
||||
/* 0x0C0 */ f32 fragmentPosX[25];
|
||||
/* 0x124 */ f32 fragmentPosY[25];
|
||||
/* 0x188 */ f32 fragmentPosZ[25];
|
||||
/* 0x1EC */ f32 fragmentFallSpeed[25];
|
||||
} ShatteringBlockData; // size = 0x250
|
||||
|
||||
typedef struct BlockData {
|
||||
/* 0x000 */ u8 parentEntityIndex; // for block entities spawned by other block entities
|
||||
/* 0x001 */ char unk_01[2];
|
||||
/* 0x003 */ s8 empty;
|
||||
/* 0x004 */ s16 coinsLeft;
|
||||
/* 0x006 */ s16 timeLeft;
|
||||
/* 0x008 */ char unk_08[2];
|
||||
/* 0x00A */ u16 gameFlagIndex;
|
||||
/* 0x00C */ char unk_0C[2];
|
||||
/* 0x00E */ s16 sinkingTimer;
|
||||
/* 0x010 */ s16 item; // for spawned item entities
|
||||
/* 0x012 */ s16 childEntityIndex; // for block entities that spawn other block entities
|
||||
/* 0x014 */ f32 initialY;
|
||||
/* 0x018 */ f32 recoilInterpPhase;
|
||||
/* 0x01C */ char unk_1C[0x4];
|
||||
} BlockData; // size = 0x20
|
||||
|
||||
typedef struct SuperBlockContentData {
|
||||
/* 0x000 */ u8 parentEntityIndex; // for block entities spawned by other block entities
|
||||
/* 0x001 */ u8 unk_01;
|
||||
/* 0x002 */ s8 effectTimer;
|
||||
/* 0x003 */ s8 unk_03;
|
||||
/* 0x004 */ f32 unk_04;
|
||||
/* 0x008 */ u8 paletteTimer;
|
||||
/* 0x009 */ u8 paletteArrOffset;
|
||||
/* 0x00A */ u8 isHidden;
|
||||
/* 0x00B */ char unk_0B; // padding?
|
||||
/* 0x00C */ s32 unk_0C;
|
||||
/* 0x010 */ Mtx unk_10;
|
||||
/* 0x050 */ Mtx unk_50;
|
||||
/* 0x090 */ Mtx unk_90;
|
||||
/* 0x0D0 */ u16 yawBufferPos;
|
||||
/* 0x0D4 */ f32 yawBuffer[20];
|
||||
/* 0x124 */ s32 unk_124;
|
||||
/* 0x128 */ Gfx* gfx1;
|
||||
/* 0x12C */ Gfx* gfx2;
|
||||
} SuperBlockContentData; // size = 0x130
|
||||
|
||||
// size unknown
|
||||
typedef struct HeartBlockContentData {
|
||||
/* 0x000 */ u8 parentEntityIndex; // for block entities spawned by other block entities
|
||||
/* 0x001 */ u8 state;
|
||||
/* 0x002 */ s8 sparkleTimer;
|
||||
/* 0x003 */ s8 sparkleTrailTimer;
|
||||
/* 0x004 */ f32 sparkleTrailPosY;
|
||||
/* 0x008 */ u8 heartbeatTimer;
|
||||
/* 0x009 */ u8 unk_09;
|
||||
/* 0x00A */ u8 sparkleEffectType;
|
||||
/* 0x00B */ char unk_0B; // padding?
|
||||
/* 0x00C */ s32 unk_0C;
|
||||
/* 0x010 */ s32 unk_10;
|
||||
/* 0x014 */ f32 riseVelocity;
|
||||
/* 0x018 */ f32 sparkleTrailAngle;
|
||||
/* 0x01C */ f32 sparkleTrailRadius;
|
||||
/* 0x020 */ f32 bouncePhase;
|
||||
/* 0x024 */ u16 yawBufferPos;
|
||||
/* 0x024 */ s16 unk_26;
|
||||
/* 0x028 */ f32 yawBuffer[10];
|
||||
/* 0x050 */ f32 unk_50;
|
||||
/* 0x054 */ f32 rotationRate;
|
||||
/* 0x058 */ Mtx unk_58;
|
||||
/* 0x098 */ Mtx unk_98;
|
||||
} HeartBlockContentData; // size = 0xD8
|
||||
|
||||
typedef struct WoodenCrateData {
|
||||
/* 0x000 */ s32 itemID;
|
||||
/* 0x004 */ u16 globalFlagIndex;
|
||||
/* 0x006 */ u8 unk_06[2];
|
||||
/* 0x008 */ Gfx** fragmentsGfx;
|
||||
/* 0x00C */ f32 basePosY;
|
||||
/* 0x010 */ s8 fragmentRebounds[36];
|
||||
/* 0x034 */ u8 fragmentMoveAngle[36]; // X,Z plane -- scaled to map [0,255] -> [0,360], also used as fragment alpha
|
||||
/* 0x058 */ u8 fragmentRotX[36]; // scaled to map [0,255] -> [0,360]
|
||||
/* 0x07C */ u8 fragmentRotY[36]; // scaled to map [0,255] -> [0,360]
|
||||
/* 0x0A0 */ u8 fragmentLateralSpeed[36]; // scaled to map [0,255] -> [0,25.5]
|
||||
/* 0x0C4 */ f32 fragmentRotationSpeed[36];
|
||||
/* 0x154 */ f32 fragmentPosX[36];
|
||||
/* 0x1E4 */ f32 fragmentPosY[36];
|
||||
/* 0x274 */ f32 fragmentPosZ[36];
|
||||
/* 0x304 */ f32 fragmentFallSpeed[36];
|
||||
} WoodenCrateData; // size = 0x394
|
||||
|
||||
// size unknown
|
||||
typedef struct ChestData {
|
||||
/* 0x00 */ u16 gameFlagIndex;
|
||||
/* 0x02 */ s16 giveItemTimer;
|
||||
/* 0x04 */ u8 state;
|
||||
/* 0x05 */ u8 openState;
|
||||
/* 0x06 */ s8 postLidAnimDelay;
|
||||
/* 0x07 */ s8 unk_07;
|
||||
/* 0x08 */ f32 lidAngle;
|
||||
/* 0x0C */ f32 lidAnimInterpPhase;
|
||||
/* 0x10 */ s32 itemID;
|
||||
/* 0x14 */ s32 itemEntityIndex;
|
||||
/* 0x18 */ Vec3f itemEntityPos;
|
||||
/* 0x24 */ f32 giveItemRadiusInterpPhase;
|
||||
/* 0x28 */ f32 giveItemHeightInterpPhase;
|
||||
/* 0x2C */ f32 itemVelY;
|
||||
/* 0x30 */ s8 unk_30;
|
||||
/* 0x31 */ char unk_31[3];
|
||||
/* 0x34 */ struct EffectInstance* gotItemEffect;
|
||||
} ChestData; // size = 0x38
|
||||
|
||||
typedef struct BlueWarpPipeData {
|
||||
/* 0x00 */ s32 unk_00; // proably flags
|
||||
/* 0x04 */ s32 timer;
|
||||
/* 0x08 */ s32 isRaised;
|
||||
/* 0x0C */ s32 entryID;
|
||||
/* 0x10 */ EvtScript* onEnterPipeEvt;
|
||||
/* 0x14 */ s32 flagIndex;
|
||||
/* 0x18 */ f32 finalPosY;
|
||||
} BlueWarpPipeData; // size = 0x1C
|
||||
|
||||
typedef struct SimpleSpringData {
|
||||
/* 0x00 */ s32 launchVelocity;
|
||||
} SimpleSpringData; // size = 0x04
|
||||
|
||||
typedef struct HiddenPanelData {
|
||||
/* 0x00 */ s8 state; // TODO: enum
|
||||
/* 0x01 */ s8 timer;
|
||||
/* 0x02 */ s8 unk_02;
|
||||
/* 0x03 */ s8 needSpawnItem;
|
||||
/* 0x04 */ s8 unk_04;
|
||||
/* 0x05 */ s8 unk_05;
|
||||
/* 0x06 */ u16 pickupVar;
|
||||
/* 0x08 */ s32 standingNpcIndex;
|
||||
/* 0x0C */ s32 npcFlags;
|
||||
/* 0x10 */ s32 itemID;
|
||||
/* 0x14 */ s32 spawnedItemIndex;
|
||||
/* 0x18 */ Vec3i spawnedItemPos;
|
||||
/* 0x24 */ f32 initialY;
|
||||
/* 0x28 */ f32 riseVelocity;
|
||||
/* 0x2C */ f32 riseInterpPhase;
|
||||
/* 0x30 */ f32 rotationSpeed;
|
||||
/* 0x34 */ Matrix4f entityMatrix;
|
||||
/* 0x74 */ u16 modelID;
|
||||
/* 0x76 */ char unk_76[0x2];
|
||||
/* 0x78 */ Gfx* renderDList;
|
||||
} HiddenPanelData; // size = 0x7C
|
||||
|
||||
typedef struct SignpostData {
|
||||
/* 0x00 */ char unk_00[8];
|
||||
} SignpostData; // size = 0x08
|
||||
|
||||
typedef struct PadlockData {
|
||||
/* 0x00 */ f32 pushSpeed;
|
||||
/* 0x04 */ f32 shacklePos;
|
||||
/* 0x08 */ f32 fallSpeed;
|
||||
/* 0x0C */ f32 rotationSpeed;
|
||||
/* 0x10 */ u8 blinkCounter;
|
||||
/* 0x11 */ s8 timer;
|
||||
/* 0x12 */ s8 state;
|
||||
/* 0x13 */ char unk_13;
|
||||
/* 0x14 */ Mtx* shackleMtx;
|
||||
/* 0x18 */ Gfx* shackleGfx;
|
||||
} PadlockData; // size = 0x1C
|
||||
|
||||
typedef struct BoardedFloorData {
|
||||
/* 0x000 */ Gfx** fragmentsGfx;
|
||||
/* 0x004 */ f32 inititalY;
|
||||
/* 0x008 */ s8 fragmentRebounds[13];
|
||||
/* 0x015 */ u8 fragmentMoveAngle[13];
|
||||
/* 0x022 */ u8 fragmentRotX[13];
|
||||
/* 0x02F */ u8 fragmentRotY[13];
|
||||
/* 0x03C */ u8 fragmentLateralSpeed[13];
|
||||
/* 0x04C */ f32 fragmentRotationSpeed[13];
|
||||
/* 0x080 */ f32 fragmentPosX[13];
|
||||
/* 0x0B4 */ f32 fragmentPosY[13];
|
||||
/* 0x0E8 */ f32 fragmentPosZ[13];
|
||||
/* 0x11C */ f32 fragmentFallSpeed[13];
|
||||
} BoardedFloorData; // size = 0x150
|
||||
|
||||
typedef struct BombableRockData {
|
||||
/* 0x00 */ Gfx** fragmentsGfx;
|
||||
/* 0x04 */ f32 inititalY;
|
||||
/* 0x08 */ s8 fragmentRebounds[6];
|
||||
/* 0x0E */ u8 fragmentMoveAngle[6];
|
||||
/* 0x14 */ u8 fragmentRotX[6];
|
||||
/* 0x1A */ u8 fragmentRotY[6];
|
||||
/* 0x20 */ u8 fragmentLateralSpeed[6];
|
||||
/* 0x28 */ f32 fragmentRotationSpeed[6];
|
||||
/* 0x40 */ f32 fragmentPosX[6];
|
||||
/* 0x58 */ f32 fragmentPosY[6];
|
||||
/* 0x70 */ f32 fragmentPosZ[6];
|
||||
/* 0x88 */ f32 fragmentFallSpeed[6];
|
||||
} BombableRockData; // size = 0xA0
|
||||
|
||||
typedef struct TweesterData {
|
||||
/* 0x00 */ s8 unk_00;
|
||||
/* 0x01 */ s8 faceAnimState;
|
||||
/* 0x02 */ s8 faceAnimTimer;
|
||||
/* 0x03 */ s8 faceAnimTexOffset;
|
||||
/* 0x04 */ f32 rotationSpeed;
|
||||
/* 0x08 */ f32 innerWhirlRotY;
|
||||
/* 0x0C */ f32 outerWhirlRotY;
|
||||
/* 0x10 */ Mtx mtxInnerWhirl;
|
||||
/* 0x50 */ Mtx mtxOuterWhirl;
|
||||
/* 0x90 */ s16 innerWhirlTexOffsetX;
|
||||
/* 0x92 */ s16 innerWhirlTexOffsetY;
|
||||
/* 0x94 */ s16 outerWhirlTexOffsetX;
|
||||
/* 0x96 */ s16 outerWhirlTexOffsetY;
|
||||
/* 0x98 */ s16 frameCounter;
|
||||
/* 0x9C */ s32* currentPath;
|
||||
/* 0xA0 */ s32** paths;
|
||||
/* 0xA4 */ s16 targetX;
|
||||
/* 0xA6 */ s16 targetY;
|
||||
/* 0xA8 */ s16 targetZ;
|
||||
/* 0xAA */ s16 pathOffset;
|
||||
/* 0xAC */ char unk_AC[12];
|
||||
/* 0xB8 */ f32 yaw;
|
||||
/* 0xBC */ char unk_BC[4];
|
||||
} TweesterData; // size = 0xC0;
|
||||
|
||||
typedef struct StarBoxLauncherData {
|
||||
/* 0x00 */ s8 state;
|
||||
/* 0x01 */ s8 timer;
|
||||
/* 0x02 */ s8 flags;
|
||||
/* 0x03 */ s8 faceDataIndex;
|
||||
/* 0x04 */ s8 faceAnimTimer;
|
||||
/* 0x05 */ s8 faceTexOffset;
|
||||
/* 0x08 */ f32 basePosX;
|
||||
/* 0x0C */ f32 basePosZ;
|
||||
/* 0x10 */ f32 basePosY;
|
||||
/* 0x14 */ f32 riseSpeedPhase;
|
||||
/* 0x18 */ f32 riseVelocity;
|
||||
/* 0x1C */ f32 rotationZPhase;
|
||||
/* 0x20 */ f32 maxRotationZ;
|
||||
} StarBoxLauncherData; // size = 0x24
|
||||
|
||||
typedef struct CymbalPlantData {
|
||||
/* 0x0 */ u8 state;
|
||||
/* 0x1 */ s8 unk_01;
|
||||
/* 0x2 */ s16 timer;
|
||||
/* 0x4 */ f32 angle;
|
||||
/* 0x8 */ f32 dist;
|
||||
} CymbalPlantData; // size = 0xC
|
||||
|
||||
typedef struct PinkFlowerData {
|
||||
/* 0x0 */ u16 state;
|
||||
/* 0x2 */ u16 timer;
|
||||
/* 0x4 */ u16 linkedEntityIndex;
|
||||
/* 0x8 */ f32 initialRotY;
|
||||
} PinkFlowerData; // size = 0xC
|
||||
|
||||
typedef struct SpinningFlowerData {
|
||||
/* 0x00 */ s16 unk_00;
|
||||
/* 0x02 */ s8 state;
|
||||
/* 0x04 */ Vec3f rotation;
|
||||
/* 0x10 */ s32 unk_10;
|
||||
/* 0x14 */ f32 spinSpeed;
|
||||
/* 0x18 */ s32 unk_18;
|
||||
/* 0x1C */ char unk_1C[0x0C];
|
||||
/* 0x28 */ s16 unk_28;
|
||||
/* 0x2A */ s16 unk_2A;
|
||||
/* 0x2C */ s16 unk_2C;
|
||||
/* 0x30 */ Mtx unk_30;
|
||||
} SpinningFlowerData; // size = 0x70
|
||||
|
||||
typedef struct TrumpetPlantData {
|
||||
/* 0x0 */ s32 numCoins;
|
||||
} TrumpetPlantData; // size = 0x4
|
||||
|
||||
typedef struct MunchlesiaData {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ s8 unk_04[0x8];
|
||||
/* 0x0C */ f32 unk_0C;
|
||||
/* 0x10 */ f32 unk_10;
|
||||
/* 0x14 */ f32 unk_14;
|
||||
/* 0x18 */ f32 unk_18;
|
||||
} MunchlesiaData; // size = 0x1C
|
||||
|
||||
typedef struct ArrowSignData {
|
||||
/* 0x00 */ s32 unk_00;
|
||||
/* 0x04 */ f32 angle;
|
||||
/* 0x08 */ f32 unk_08;
|
||||
/* 0x0C */ f32 unk_0C;
|
||||
} ArrowSignData; // size = 0x10
|
||||
|
||||
extern ShadowBlueprint CircularShadowA;
|
||||
extern ShadowBlueprint CircularShadowB;
|
||||
extern ShadowBlueprint SquareShadow;
|
||||
extern EntityBlueprint Entity_SavePoint;
|
||||
extern EntityBlueprint Entity_RedSwitch;
|
||||
extern EntityBlueprint Entity_BlueSwitch;
|
||||
extern EntityBlueprint Entity_HugeBlueSwitch;
|
||||
extern EntityBlueprint Entity_GreenStompSwitch;
|
||||
extern EntityBlueprint Entity_InertYellowBlock;
|
||||
extern EntityBlueprint Entity_InertRedBlock;
|
||||
extern EntityBlueprint Entity_BrickBlock;
|
||||
extern EntityBlueprint Entity_MulticoinBlock;
|
||||
extern EntityBlueprint Entity_Hammer1Block;
|
||||
extern EntityBlueprint Entity_Hammer1Block_WideHitbox;
|
||||
extern EntityBlueprint Entity_Hammer1Block_TallHitbox;
|
||||
extern EntityBlueprint Entity_Hammer1BlockTiny;
|
||||
extern EntityBlueprint Entity_Hammer2Block;
|
||||
extern EntityBlueprint Entity_Hammer2Block_WideHitbox;
|
||||
extern EntityBlueprint Entity_Hammer2Block_TallHitbox;
|
||||
extern EntityBlueprint Entity_Hammer2BlockTiny;
|
||||
extern EntityBlueprint Entity_Hammer3Block_WideHitbox;
|
||||
extern EntityBlueprint Entity_Hammer3Block_TallHitbox;
|
||||
extern EntityBlueprint Entity_Hammer3BlockTiny;
|
||||
extern EntityBlueprint Entity_PushBlock;
|
||||
extern EntityBlueprint Entity_PowBlock;
|
||||
extern EntityBlueprint Entity_YellowBlock;
|
||||
extern EntityBlueprint Entity_HiddenYellowBlock;
|
||||
extern EntityBlueprint Entity_RedBlock;
|
||||
extern EntityBlueprint Entity_HiddenRedBlock;
|
||||
extern EntityBlueprint Entity_TriggerBlock;
|
||||
extern EntityBlueprint Entity_HeartBlock;
|
||||
extern EntityBlueprint Entity_SuperBlock;
|
||||
extern EntityBlueprint Entity_ScriptSpring;
|
||||
extern EntityBlueprint Entity_SimpleSpring;
|
||||
extern EntityBlueprint Entity_HiddenPanel;
|
||||
extern EntityBlueprint Entity_GiantChest;
|
||||
extern EntityBlueprint Entity_Chest;
|
||||
extern EntityBlueprint Entity_WoodenCrate;
|
||||
extern EntityBlueprint Entity_BlueWarpPipe;
|
||||
extern EntityBlueprint Entity_Signpost;
|
||||
extern EntityBlueprint Entity_Padlock;
|
||||
extern EntityBlueprint Entity_PadlockRedFrame;
|
||||
extern EntityBlueprint Entity_PadlockRedFace;
|
||||
extern EntityBlueprint Entity_PadlockBlueFace;
|
||||
extern EntityBlueprint Entity_BoardedFloor;
|
||||
extern EntityBlueprint Entity_BombableRock;
|
||||
extern EntityBlueprint Entity_BombableRock2;
|
||||
extern EntityBlueprint Entity_Tweester;
|
||||
extern EntityBlueprint Entity_StarBoxLauncher;
|
||||
extern EntityBlueprint Entity_CymbalPlant;
|
||||
extern EntityBlueprint Entity_PinkFlower;
|
||||
extern EntityBlueprint Entity_SpinningFlower;
|
||||
extern EntityBlueprint Entity_BellbellPlant;
|
||||
extern EntityBlueprint Entity_TrumpetPlant;
|
||||
extern EntityBlueprint Entity_Munchlesia;
|
||||
extern EntityBlueprint Entity_ArrowSign;
|
||||
|
||||
#endif
|
@ -536,6 +536,8 @@ enum SoundIDs {
|
||||
SOUND_HIT_FIRE = 0x000000EA,
|
||||
SOUND_HIT_ICE = 0x000000EB,
|
||||
SOUND_F1 = 0x000000F1,
|
||||
SOUND_F3 = 0x000000F3,
|
||||
SOUND_F4 = 0x000000F4,
|
||||
SOUND_FD = 0x000000FD,
|
||||
SOUND_FE = 0x000000FE,
|
||||
SOUND_108 = 0x00000108,
|
||||
@ -558,6 +560,7 @@ enum SoundIDs {
|
||||
SOUND_14F = 0x0000014F,
|
||||
SOUND_150 = 0x00000150,
|
||||
SOUND_151 = 0x00000151,
|
||||
SOUND_152 = 0x00000152,
|
||||
SOUND_SEARCH_BUSH = 0x00000153,
|
||||
SOUND_158 = 0x00000158,
|
||||
SOUND_162 = 0x00000162,
|
||||
@ -603,6 +606,8 @@ enum SoundIDs {
|
||||
SOUND_25C = 0x0000025C,
|
||||
SOUND_25D = 0x0000025D,
|
||||
SOUND_262 = 0x00000262,
|
||||
SOUND_269 = 0x00000269,
|
||||
SOUND_26A = 0x0000026A,
|
||||
SOUND_281 = 0x00000281,
|
||||
SOUND_282 = 0x00000282,
|
||||
SOUND_283 = 0x00000283,
|
||||
@ -673,6 +678,7 @@ enum SoundIDs {
|
||||
SOUND_HIT_PLAYER_SHOCK = 0x0000037A,
|
||||
SOUND_HIT_SHOCK = 0x0000037B,
|
||||
SOUND_392 = 0x00000392,
|
||||
SOUND_393 = 0x00000393,
|
||||
SOUND_GENERAL_WHISTLE = 0x00000395,
|
||||
SOUND_3AB = 0x000003AB,
|
||||
SOUND_3AD = 0x000003AD,
|
||||
@ -745,14 +751,19 @@ enum SoundIDs {
|
||||
SOUND_BOMB_BLAST = 0x00002076,
|
||||
SOUND_JUMP_2081 = 0x00002081,
|
||||
SOUND_JUMP_8BIT_MARIO = 0x00002082,
|
||||
SOUND_2085 = 0x00002085,
|
||||
SOUND_2086 = 0x00002086,
|
||||
SOUND_208C = 0x0000208C,
|
||||
SOUND_208D = 0x0000208D,
|
||||
SOUND_208E = 0x0000208E,
|
||||
SOUND_208F = 0x0000208F,
|
||||
SOUND_2092 = 0x00002092,
|
||||
SOUND_2095 = 0x00002095,
|
||||
SOUND_209B = 0x0000209B,
|
||||
SOUND_20A3 = 0x000020A3,
|
||||
SOUND_20A4 = 0x000020A4,
|
||||
SOUND_20AB = 0x000020AB,
|
||||
SOUND_20AC = 0x000020AC,
|
||||
SOUND_20AE = 0x000020AE,
|
||||
SOUND_20B8 = 0x000020B8,
|
||||
SOUND_20BA = 0x000020BA,
|
||||
@ -1802,11 +1813,11 @@ enum EntityFlags {
|
||||
ENTITY_FLAGS_HAS_DYNAMIC_SHADOW = 0x00000004,
|
||||
ENTITY_FLAGS_HAS_ANIMATED_MODEL = 0x00000008,
|
||||
ENTITY_FLAGS_SKIP_UPDATE_TRANSFORM_MATRIX = 0x00000010,
|
||||
ENTITY_FLAGS_SKIP_UPDATE_INVERSE_ROTATION_MATRIX = 0x00000020,
|
||||
ENTITY_FLAGS_DISABLE_COLLISION = 0x00000020,
|
||||
ENTITY_FLAGS_CONTINUOUS_COLLISION = 0x00000040,
|
||||
ENTITY_FLAGS_80 = 0x00000080,
|
||||
ENTITY_FLAGS_100 = 0x00000100,
|
||||
ENTITY_FLAGS_SET_SHADOW_FLAG200 = 0x00000200,
|
||||
ENTITY_FLAGS_HAS_SHADOW = 0x00000100,
|
||||
ENTITY_FLAGS_FIXED_SHADOW_SIZE = 0x00000200,
|
||||
ENTITY_FLAGS_400 = 0x00000400,
|
||||
ENTITY_FLAGS_SQUARE_SHADOW = 0x00000800,
|
||||
ENTITY_FLAGS_SHOWS_INSPECT_PROMPT = 0x00001000,
|
||||
@ -1814,18 +1825,18 @@ enum EntityFlags {
|
||||
ENTITY_FLAGS_4000 = 0x00004000,
|
||||
ENTITY_FLAGS_8000 = 0x00008000,
|
||||
ENTITY_FLAGS_DETECTED_COLLISION = 0x00010000,
|
||||
ENTITY_FLAGS_BLOCK_BEING_HIT = 0x00020000,
|
||||
ENTITY_FLAGS_PARTNER_COLLISION = 0x00020000,
|
||||
ENTITY_FLAGS_DRAW_IF_CLOSE_HIDE_MODE2 = 0x00040000,
|
||||
ENTITY_FLAGS_IGNORE_DISTANCE_CULLING = 0x00080000,
|
||||
ENTITY_FLAGS_100000 = 0x00100000,
|
||||
ENTITY_FLAGS_200000 = 0x00200000,
|
||||
ENTITY_FLAGS_400000 = 0x00400000,
|
||||
ENTITY_FLAGS_800000 = 0x00800000,
|
||||
ENTITY_FLAGS_SHADOW_POS_DIRTY = 0x00400000,
|
||||
ENTITY_FLAGS_DARK_SHADOW = 0x00800000,
|
||||
ENTITY_FLAGS_BOUND_SCRIPT_DIRTY = 0x01000000,
|
||||
ENTITY_FLAGS_2000000 = 0x02000000,
|
||||
ENTITY_FLAGS_PENDING_FULL_DELETE = 0x04000000,
|
||||
ENTITY_FLAGS_8000000 = 0x08000000,
|
||||
ENTITY_FLAGS_10000000 = 0x10000000,
|
||||
ENTITY_FLAGS_FADING_AWAY = 0x10000000,
|
||||
ENTITY_FLAGS_PENDING_INSTANCE_DELETE = 0x20000000,
|
||||
ENTITY_FLAGS_SKIP_UPDATE = 0x40000000,
|
||||
ENTITY_FLAGS_CREATED = 0x80000000,
|
||||
@ -1839,7 +1850,7 @@ enum EntityCollisionFlags {
|
||||
ENTITY_COLLISION_PLAYER_PUSHING_AGAINST = 0x00000010,
|
||||
ENTITY_COLLISION_FLAGS_20 = 0x00000020,
|
||||
ENTITY_COLLISION_PLAYER_HAMMER = 0x00000040,
|
||||
ENTITY_COLLISION_BLOCK_HIT = 0x00000080,
|
||||
ENTITY_COLLISION_PARTNER = 0x00000080,
|
||||
ENTITY_COLLISION_PLAYER_LAST_FLOOR = 0x00000100
|
||||
};
|
||||
|
||||
@ -2208,22 +2219,40 @@ enum RenderMode {
|
||||
RENDER_MODE_SURFACE_OPA_NO_AA = 0x00000003,
|
||||
RENDER_MODE_SURFACE_OPA_NO_ZB = 0x00000004,
|
||||
RENDER_MODE_DECAL_OPA = 0x00000005,
|
||||
RENDER_MODE_6 = 0x00000006,
|
||||
RENDER_MODE_DECAL_OPA_NO_AA = 0x00000007,
|
||||
RENDER_MODE_8 = 0x00000008,
|
||||
RENDER_MODE_INTERSECTING_OPA = 0x00000009,
|
||||
RENDER_MODE_A = 0x0000000A,
|
||||
RENDER_MODE_B = 0x0000000B,
|
||||
RENDER_MODE_C = 0x0000000C,
|
||||
RENDER_MODE_ALPHATEST = 0x0000000D,
|
||||
RENDER_MODE_E = 0x0000000E,
|
||||
RENDER_MODE_ALPHATEST_ONESIDED = 0x0000000F,
|
||||
RENDER_MODE_ALPHATEST_NO_ZB = 0x00000010,
|
||||
RENDER_MODE_SURFACE_XLU_LAYER1 = 0x00000011,
|
||||
RENDER_MODE_12 = 0x00000012,
|
||||
RENDER_MODE_SURFACE_XLU_NO_AA = 0x00000013,
|
||||
RENDER_MODE_SURFACE_XLU_NO_ZB = 0x00000014,
|
||||
RENDER_MODE_SURFXLU_ZB_ZUPD = 0x00000015,
|
||||
RENDER_MODE_SURFACE_XLU_LAYER2 = 0x00000016,
|
||||
RENDER_MODE_17 = 0x00000017,
|
||||
RENDER_MODE_18 = 0x00000018,
|
||||
RENDER_MODE_19 = 0x00000019,
|
||||
RENDER_MODE_DECAL_XLU = 0x0000001A,
|
||||
RENDER_MODE_1B = 0x0000001B,
|
||||
RENDER_MODE_DECAL_XLU_NOAA = 0x0000001C,
|
||||
RENDER_MODE_1D = 0x0000001D,
|
||||
RENDER_MODE_1E = 0x0000001E,
|
||||
RENDER_MODE_1F = 0x0000001F,
|
||||
RENDER_MODE_SHADOW = 0x00000020,
|
||||
RENDER_MODE_21 = 0x00000021,
|
||||
RENDER_MODE_SURFACE_XLU_LAYER3 = 0x00000022,
|
||||
RENDER_MODE_23 = 0x00000023,
|
||||
RENDER_MODE_24 = 0x00000024,
|
||||
RENDER_MODE_25 = 0x00000025,
|
||||
RENDER_MODE_INTERSECTING_XLU = 0x00000026,
|
||||
RENDER_MODE_27 = 0x00000027,
|
||||
RENDER_MODE_28 = 0x00000028,
|
||||
RENDER_MODE_SURFXLU_AA_ZB_ZUPD = 0x00000029,
|
||||
RENDER_MODE_2A = 0x0000002A,
|
||||
@ -2232,6 +2261,13 @@ enum RenderMode {
|
||||
RENDER_MODE_2D = 0x0000002D,
|
||||
RENDER_MODE_CLOUD = 0x0000002E,
|
||||
RENDER_MODE_CLOUD_NO_ZB = 0x0000002F,
|
||||
RENDER_MODE_COUNT = 0x00000030,
|
||||
};
|
||||
|
||||
enum RenderTaskFlags {
|
||||
RENDER_TASK_FLAG_ENABLED = 0x01,
|
||||
RENDER_TASK_FLAG_2 = 0x02,
|
||||
RENDER_TASK_FLAG_20 = 0x20,
|
||||
};
|
||||
|
||||
enum ActorFlags {
|
||||
@ -3367,41 +3403,6 @@ enum ModelAnimatorFlags {
|
||||
MODEL_ANIMATOR_FLAGS_80000000 = 0x80000000,
|
||||
};
|
||||
|
||||
enum ShadowFlags {
|
||||
SHADOW_FLAGS_HIDDEN = 0x00000001,
|
||||
SHADOW_FLAGS_2 = 0x00000002,
|
||||
SHADOW_FLAGS_4 = 0x00000004,
|
||||
SHADOW_FLAGS_COMPLEX_MODEL = 0x00000008,
|
||||
SHADOW_FLAGS_10 = 0x00000010,
|
||||
SHADOW_FLAGS_20 = 0x00000020,
|
||||
SHADOW_FLAGS_40 = 0x00000040,
|
||||
SHADOW_FLAGS_80 = 0x00000080,
|
||||
SHADOW_FLAGS_100 = 0x00000100,
|
||||
SHADOW_FLAGS_200 = 0x00000200,
|
||||
SHADOW_FLAGS_400 = 0x00000400,
|
||||
SHADOW_FLAGS_800 = 0x00000800,
|
||||
SHADOW_FLAGS_1000 = 0x00001000,
|
||||
SHADOW_FLAGS_ALIGNED_TO_CAMERA = 0x00002000,
|
||||
SHADOW_FLAGS_4000 = 0x00004000,
|
||||
SHADOW_FLAGS_8000 = 0x00008000,
|
||||
SHADOW_FLAGS_10000 = 0x00010000,
|
||||
SHADOW_FLAGS_20000 = 0x00020000,
|
||||
SHADOW_FLAGS_40000 = 0x00040000,
|
||||
SHADOW_FLAGS_80000 = 0x00080000,
|
||||
SHADOW_FLAGS_100000 = 0x00100000,
|
||||
SHADOW_FLAGS_200000 = 0x00200000,
|
||||
SHADOW_FLAGS_POSITION_DIRTY = 0x00400000,
|
||||
SHADOW_FLAGS_800000 = 0x00800000,
|
||||
SHADOW_FLAGS_1000000 = 0x01000000,
|
||||
SHADOW_FLAGS_2000000 = 0x02000000,
|
||||
SHADOW_FLAGS_4000000 = 0x04000000,
|
||||
SHADOW_FLAGS_8000000 = 0x08000000,
|
||||
SHADOW_FLAGS_FADING_AWAY = 0x10000000,
|
||||
SHADOW_FLAGS_READY_TO_DELETE = 0x20000000,
|
||||
SHADOW_FLAGS_40000000 = 0x40000000,
|
||||
SHADOW_FLAGS_80000000 = 0x80000000,
|
||||
};
|
||||
|
||||
enum ShopFlags {
|
||||
SHOP_FLAGS_0 = 0x00000000,
|
||||
SHOP_FLAGS_1 = 0x00000001,
|
||||
@ -3501,7 +3502,7 @@ enum EntityModelFlags {
|
||||
ENTITY_MODEL_FLAGS_40 = 0x00000040,
|
||||
ENTITY_MODEL_FLAGS_80 = 0x00000080,
|
||||
ENTITY_MODEL_FLAGS_100 = 0x00000100,
|
||||
ENTITY_MODEL_FLAGS_200 = 0x00000200,
|
||||
ENTITY_MODEL_FLAGS_REFLECT = 0x00000200,
|
||||
ENTITY_MODEL_FLAGS_USE_IMAGE = 0x00000400,
|
||||
ENTITY_MODEL_FLAGS_FOG_DISABLED = 0x00000800,
|
||||
ENTITY_MODEL_FLAGS_1000 = 0x00001000,
|
||||
|
@ -30,7 +30,7 @@ void* _heap_malloc_tail(HeapNode* head, u32 size);
|
||||
u32 _heap_free(HeapNode* heapNodeList, void* addrToFree);
|
||||
void* _heap_realloc(HeapNode* heapNodeList, void* addr, u32 newSize);
|
||||
HeapNode* _heap_create(HeapNode* addr, u32 size);
|
||||
s32 dma_copy(Addr romStart, Addr romEnd, void* vramDest);
|
||||
u32 dma_copy(Addr romStart, Addr romEnd, void* vramDest);
|
||||
f32 rand_float(void);
|
||||
void copy_matrix(Matrix4f src, Matrix4f dest);
|
||||
|
||||
@ -60,7 +60,7 @@ void intro_logos_update_fade(void);
|
||||
|
||||
u32 get_entity_type(s32 arg0);
|
||||
Entity* get_entity_by_index(s32 index);
|
||||
s32 create_entity(EntityBlueprint* bp, s32 x, s32 y, s32 z, s32 rotY, ...);
|
||||
s32 create_entity(EntityBlueprint* bp, ...);
|
||||
void entity_shattering_idle(Entity* entity);
|
||||
void func_802666E4(Actor* actor, f32 x, f32 y, f32 z, s32 damage);
|
||||
|
||||
@ -84,6 +84,9 @@ void exec_entity_model_commandlist(s32 idx);
|
||||
s32 load_entity_model(s32* cmdList);
|
||||
RenderTask* queue_render_task(RenderTask* task);
|
||||
|
||||
s32 create_mesh_animator(s16* animPos, s16* animBuffer);
|
||||
void load_mesh_animator_tree(s32 index, StaticAnimatorNode** tree);
|
||||
|
||||
void setup_pause_menu_tab(MenuWindowBP* bpArray, s32 arraySize);
|
||||
|
||||
s32 draw_ci_image_with_clipping(s32* raster, s32 width, s32 height, s32 fmt, s32 bitDepth, s32* palette, s16 posX,
|
||||
@ -297,7 +300,7 @@ void clear_virtual_entity_list(void);
|
||||
void reset_model_animators(void);
|
||||
void init_virtual_entity_list(void);
|
||||
void init_model_animators(void);
|
||||
void play_model_animation(s32, s32);
|
||||
void play_model_animation(s32, s16*);
|
||||
s32 heap_free(void* ptr);
|
||||
|
||||
void btl_state_update_normal_start(void);
|
||||
|
@ -169,7 +169,7 @@ void animator_node_update_model_transform(ModelAnimator* animator, f32 (*flipMtx
|
||||
void delete_model_animator_node(AnimatorNode* node);
|
||||
void delete_model_animator_nodes(ModelAnimator* animator);
|
||||
void delete_model_animator(ModelAnimator* animator);
|
||||
void render_animated_model_with_vertices(s32 animatorID, Mtx* rootTransform, s32 vtxSegment, Vec3s* vertexArray);
|
||||
void render_animated_model_with_vertices(s32 animatorID, Mtx* rootTransform, s32 segment, void* baseAddr);
|
||||
void appendGfx_animator(ModelAnimator* animator);
|
||||
ModelAnimator* set_animator_render_callback(s32 animModelID, s32 callbackArg, void (*callbackFunc)(void*));
|
||||
void reload_mesh_animator_tree(ModelAnimator* animator);
|
||||
|
@ -46,7 +46,7 @@ ApiStatus GetSelfAnimationFromTable(Evt* script, s32 isInitialCall);
|
||||
ApiStatus ShowCoinCounter(Evt* script, s32 isInitialCall);
|
||||
ApiStatus MakeEntity(Evt* script, s32 isInitialCall);
|
||||
ApiStatus AssignScript(Evt* script, s32 isInitialCall);
|
||||
ApiStatus AssignAreaFlag(Evt* script, s32 isInitialCall);
|
||||
ApiStatus AssignSwitchFlag(Evt* script, s32 isInitialCall);
|
||||
ApiStatus AssignChestFlag(Evt* script, s32 isInitialCall);
|
||||
ApiStatus AssignBlockFlag(Evt* script, s32 isInitialCall);
|
||||
ApiStatus AssignPanelFlag(Evt* script, s32 isInitialCall);
|
||||
|
@ -88,14 +88,10 @@ extern MessagePrintState* gCurrentPrintContext;
|
||||
extern s32 D_802DB264;
|
||||
extern MessagePrintState* D_802DB268;
|
||||
|
||||
extern ShadowBlueprint CircularShadowA;
|
||||
extern ShadowBlueprint CircularShadowB;
|
||||
extern ShadowBlueprint SquareShadow;
|
||||
extern s32 SaveBlockTutorialPrinterClosed;
|
||||
extern s32 SaveBlockResultPrinterClosed;
|
||||
extern MessagePrintState* SaveBlockTutorialPrinter;
|
||||
extern MessagePrintState* SaveBlockResultPrinter;
|
||||
extern s32 D_802E99DC;
|
||||
|
||||
extern Entity* SwitchToLink;
|
||||
extern s32 CreateEntityVarArgBuffer[4];
|
||||
@ -190,6 +186,7 @@ extern s8 D_8014C248[];
|
||||
extern UNK_FUN_PTR(D_8010C920);
|
||||
extern UNK_FUN_PTR(D_8010C940);
|
||||
extern Entity* TweesterTouchingPartner;
|
||||
extern Entity* TweesterTouchingPlayer;
|
||||
extern UNK_FUN_PTR(D_8010C958);
|
||||
extern s32 D_8010C95C;
|
||||
extern s32 D_8010C96C;
|
||||
@ -225,20 +222,9 @@ extern u32 D_80078174;
|
||||
extern u8 D_800A0963;
|
||||
|
||||
extern struct EffectInstance* TriggerBlockVanishEffect;
|
||||
extern UNK_TYPE D_00000094;
|
||||
extern UNK_TYPE D_00000094_2; // two symbols resolve to the same addr. Required for matching
|
||||
extern EntityBlueprint Entity_InertRedBlock;
|
||||
extern EntityBlueprint Entity_InertYellowBlock;
|
||||
extern UNK_TYPE D_802EA310;
|
||||
extern EntityBlueprint Entity_HitGroundedYellowBlock;
|
||||
extern EntityBlueprint Entity_HitFloatingYellowBlock;
|
||||
extern EntityBlueprint Entity_HitRedBlock;
|
||||
extern s32 D_802EA310[];
|
||||
extern s32 Entity_WoodenCrate_RenderShatteredScript[];
|
||||
|
||||
extern UNK_TYPE D_0A000328;
|
||||
extern UNK_TYPE D_0A000380;
|
||||
extern UNK_TYPE D_0A000750;
|
||||
extern UNK_TYPE D_0A000800;
|
||||
extern UNK_TYPE D_0A000808;
|
||||
|
||||
// Scripts
|
||||
extern EvtScript SCRIPT_NpcDefeat;
|
||||
@ -263,10 +249,6 @@ extern Gfx* gMasterGfxPos;
|
||||
extern u16 gMatrixListPos;
|
||||
extern s32 gCurrentDisplayContextIndex;
|
||||
|
||||
extern UNK_TYPE D_0A004350;
|
||||
extern UNK_TYPE D_0A0026F0;
|
||||
extern u32* D_802EAE7C;
|
||||
|
||||
extern s32 D_80291FA8[];
|
||||
extern s32 D_80291FD0[];
|
||||
extern s32 D_80291FF8[];
|
||||
@ -304,37 +286,6 @@ extern u32 bMarioIdleAnims[];
|
||||
extern s32 bMarioDefendAnims[];
|
||||
extern s32 bPeachIdleAnims[];
|
||||
|
||||
// TODO: name these entity symbols
|
||||
extern EntityBlueprint Entity_SavePoint; // entitySaveBlock
|
||||
extern EntityBlueprint Entity_RedSwitch;
|
||||
extern EntityBlueprint Entity_BlueSwitch; // entityBlueSwitch
|
||||
extern EntityBlueprint Entity_HugeBlueSwitch; // entityHugeBlueSwitch
|
||||
extern EntityBlueprint Entity_GreenStompSwitch;
|
||||
extern EntityBlueprint Entity_ShatteringHammer1Block;
|
||||
extern EntityBlueprint Entity_ShatteringHammer2Block;
|
||||
extern EntityBlueprint Entity_ShatteringHammer3Block;
|
||||
extern EntityBlueprint Entity_ShatteringHammer1BlockTiny;
|
||||
extern EntityBlueprint Entity_ShatteringHammer2BlockTiny;
|
||||
extern EntityBlueprint Entity_ShatteringHammer3BlockTiny;
|
||||
extern EntityBlueprint Entity_ShatteringBrickBlock;
|
||||
extern EntityBlueprint Entity_D_802EA2E0;
|
||||
extern EntityBlueprint Entity_D_802EA564;
|
||||
extern EntityBlueprint Entity_D_802EA0E8;
|
||||
extern EntityBlueprint Entity_D_802EA10C;
|
||||
extern EntityBlueprint Entity_D_802EA130;
|
||||
extern EntityBlueprint Entity_D_802EA154;
|
||||
extern EntityBlueprint Entity_D_802EA178;
|
||||
extern EntityBlueprint Entity_D_802EA19C;
|
||||
extern EntityBlueprint Entity_D_802EA588;
|
||||
extern EntityBlueprint Entity_D_802EA5AC;
|
||||
extern EntityBlueprint Entity_D_802EA5D0; //unused
|
||||
extern EntityBlueprint Entity_D_802EA798; //unused
|
||||
extern EntityBlueprint Entity_HeartBlock; //unused
|
||||
extern EntityBlueprint Entity_D_802EAA30;
|
||||
extern EntityBlueprint Entity_D_802EAA54;
|
||||
extern EntityBlueprint Entity_D_802EA910;
|
||||
|
||||
|
||||
extern s32 D_802EBFF0[];
|
||||
extern s32 D_802EC010[];
|
||||
extern s32 D_802EC030[];
|
||||
|
16
src/182B30.c
16
src/182B30.c
@ -589,7 +589,7 @@ void update_actor_shadow(s32 arg0, Actor* actor) {
|
||||
|
||||
if (actor != NULL) {
|
||||
shadow = get_shadow_by_index(actor->shadow.id);
|
||||
shadow->flags |= SHADOW_FLAGS_HIDDEN;
|
||||
shadow->flags |= ENTITY_FLAGS_HIDDEN;
|
||||
if (!(actor->flags & ACTOR_FLAG_DISABLED)) {
|
||||
if (actor->flags & ACTOR_FLAG_10000000) {
|
||||
if (arg0 == 0) {
|
||||
@ -639,7 +639,7 @@ void update_actor_shadow(s32 arg0, Actor* actor) {
|
||||
|
||||
if (!(actorPart->flags & ACTOR_PART_FLAG_4)) {
|
||||
shadow = get_shadow_by_index(actorPart->shadowIndex);
|
||||
shadow->flags &= ~SHADOW_FLAGS_HIDDEN;
|
||||
shadow->flags &= ~ENTITY_FLAGS_HIDDEN;
|
||||
x1 = actorPart->currentPos.x;
|
||||
if (!(actor->flags & ACTOR_FLAG_HP_OFFSET_BELOW)) {
|
||||
y1 = actorPart->currentPos.y + 12.0;
|
||||
@ -652,7 +652,7 @@ void update_actor_shadow(s32 arg0, Actor* actor) {
|
||||
npc_raycast_down_sides(0, &x1, &y1, &z1, &dist);
|
||||
|
||||
if (200.0f < dist) {
|
||||
shadow->flags |= SHADOW_FLAGS_HIDDEN;
|
||||
shadow->flags |= ENTITY_FLAGS_HIDDEN;
|
||||
}
|
||||
shadow->position.x = x1;
|
||||
shadow->position.y = y1;
|
||||
@ -670,7 +670,7 @@ void update_actor_shadow(s32 arg0, Actor* actor) {
|
||||
|
||||
shadow = get_shadow_by_index(actor->shadow.id);
|
||||
if (!(actor->flags & ACTOR_FLAG_NO_SHADOW)) {
|
||||
shadow->flags &= ~ACTOR_FLAG_DISABLED;
|
||||
shadow->flags &= ~ENTITY_FLAGS_HIDDEN;
|
||||
}
|
||||
|
||||
x1 = actor->currentPos.x + actor->headOffset.x;
|
||||
@ -685,7 +685,7 @@ void update_actor_shadow(s32 arg0, Actor* actor) {
|
||||
npc_raycast_down_sides(0, &x1, &y1, &z1, &dist);
|
||||
|
||||
if (200.0f < dist) {
|
||||
shadow->flags |= SHADOW_FLAGS_HIDDEN;
|
||||
shadow->flags |= ENTITY_FLAGS_HIDDEN;
|
||||
}
|
||||
shadow->position.x = x1;
|
||||
shadow->position.y = y1;
|
||||
@ -751,7 +751,7 @@ void update_player_actor_shadow(void) {
|
||||
}
|
||||
|
||||
shadow = get_shadow_by_index(player->shadow.id);
|
||||
shadow->flags &= ~SHADOW_FLAGS_HIDDEN;
|
||||
shadow->flags &= ~ENTITY_FLAGS_HIDDEN;
|
||||
|
||||
if (!battleStatus->outtaSightActive) {
|
||||
shadow->alpha = 128;
|
||||
@ -766,7 +766,7 @@ void update_player_actor_shadow(void) {
|
||||
npc_raycast_down_sides(0, &x, &y, &z, &distance);
|
||||
|
||||
if (distance > 200.0f) {
|
||||
shadow->flags |= SHADOW_FLAGS_HIDDEN;
|
||||
shadow->flags |= ENTITY_FLAGS_HIDDEN;
|
||||
}
|
||||
shadow->position.x = x;
|
||||
shadow->position.y = y;
|
||||
@ -1941,7 +1941,7 @@ INCLUDE_ASM(s32, "182B30", func_8025CD40);
|
||||
void func_8025CEC8(ActorPart* actorPart) {
|
||||
DecorationTable* decorationTable;
|
||||
s32 i;
|
||||
|
||||
|
||||
if (!(actorPart->flags & 2)) {
|
||||
decorationTable = actorPart->decorationTable;
|
||||
for (i = 0; i < ARRAY_COUNT(decorationTable->decorationType); i++) {
|
||||
|
@ -445,7 +445,7 @@ void copy_matrix(Matrix4f src, Matrix4f dest) {
|
||||
}
|
||||
|
||||
// maybe u32
|
||||
s32 dma_copy(Addr romStart, Addr romEnd, void* vramDest) {
|
||||
u32 dma_copy(Addr romStart, Addr romEnd, void* vramDest) {
|
||||
u32 length = romEnd - romStart;
|
||||
s32 i;
|
||||
|
||||
|
@ -190,7 +190,7 @@ s32 player_raycast_down(f32* x, f32* y, f32* z, f32* length) {
|
||||
if (entityID >= 0) {
|
||||
entity = get_entity_by_index(entityID);
|
||||
if (entity->alpha < 255) {
|
||||
entity->unk_07 = 4;
|
||||
entity->collisionTimer = 4;
|
||||
entity->flags |= ENTITY_FLAGS_CONTINUOUS_COLLISION;
|
||||
} else {
|
||||
ret = entityID | COLLISION_WITH_ENTITY_BIT;
|
||||
@ -420,7 +420,7 @@ s32 player_raycast_general(s32 mode, f32 startX, f32 startY, f32 startZ, f32 dir
|
||||
if (entityID >= 0) {
|
||||
entity = get_entity_by_index(entityID);
|
||||
if (entity->alpha < 255) {
|
||||
entity->unk_07 = 0;
|
||||
entity->collisionTimer = 0;
|
||||
entity->flags |= ENTITY_FLAGS_CONTINUOUS_COLLISION;
|
||||
} else {
|
||||
ret = entityID | COLLISION_WITH_ENTITY_BIT;
|
||||
@ -911,11 +911,11 @@ f32 get_xz_dist_to_player(f32 x, f32 z) {
|
||||
}
|
||||
|
||||
void enable_player_shadow(void) {
|
||||
get_shadow_by_index(gPlayerStatus.shadowID)->flags &= ~1;
|
||||
get_shadow_by_index(gPlayerStatus.shadowID)->flags &= ~ENTITY_FLAGS_HIDDEN;
|
||||
}
|
||||
|
||||
void disable_player_shadow(void) {
|
||||
get_shadow_by_index(gPlayerStatus.shadowID)->flags |= 1;
|
||||
get_shadow_by_index(gPlayerStatus.shadowID)->flags |= ENTITY_FLAGS_HIDDEN;
|
||||
}
|
||||
|
||||
s32 disable_player_static_collisions(void) {
|
||||
|
@ -1198,7 +1198,7 @@ f32 func_800E5348(void) {
|
||||
return clamp_angle(temp_f0 - 90.0f + gCameras[gCurrentCameraID].currentYaw);
|
||||
}
|
||||
|
||||
void player_get_camera_facing_angle(void) {
|
||||
f32 player_get_camera_facing_angle(void) {
|
||||
f32 angle = 0.0f;
|
||||
|
||||
if (gPlayerStatus.spriteFacingAngle >= 90.0f && gPlayerStatus.spriteFacingAngle < 270.0f) {
|
||||
@ -1207,7 +1207,7 @@ void player_get_camera_facing_angle(void) {
|
||||
|
||||
angle = angle + gCameras[CAM_DEFAULT].currentYaw + 90.0f;
|
||||
|
||||
clamp_angle(angle);
|
||||
return clamp_angle(angle);
|
||||
}
|
||||
|
||||
void phys_save_ground_pos(void) {
|
||||
|
32
src/B4580.c
32
src/B4580.c
@ -76,9 +76,9 @@ Vtx* animator_copy_vertices_to_buffer(ModelAnimator* animator, AnimatorNode* nod
|
||||
handle->ttl = 3;
|
||||
nodeVtxList = &node->fcData.vtxList[startIdx];
|
||||
|
||||
if (animator->vertexArray != NULL) {
|
||||
if (animator->baseAddr != NULL) {
|
||||
i = ((s32)buffer & 0xFFFFFF); // needed to match
|
||||
buffer = (Vec3s*)(i + (s32)animator->vertexArray);
|
||||
buffer = (Vec3s*)(i + (s32)animator->baseAddr);
|
||||
}
|
||||
|
||||
for (i = 0; i < vtxCount; i++) {
|
||||
@ -299,7 +299,7 @@ s32 create_model_animator(s16* animPos) {
|
||||
|
||||
animator->savedReadPos = animPos;
|
||||
animator->animationBuffer = NULL;
|
||||
animator->vertexArray = NULL;
|
||||
animator->baseAddr = NULL;
|
||||
animator->fpRenderCallback = NULL;
|
||||
animator->rootNode = NULL;
|
||||
animator->nextUniqueID = 0;
|
||||
@ -314,7 +314,7 @@ s32 create_model_animator(s16* animPos) {
|
||||
return i;
|
||||
}
|
||||
|
||||
s32 create_mesh_animator(s32 animPos, s16* animBuffer) {
|
||||
s32 create_mesh_animator(s16* animPos, s16* animBuffer) {
|
||||
ModelAnimator* animator;
|
||||
s32 i, j;
|
||||
|
||||
@ -333,16 +333,16 @@ s32 create_mesh_animator(s32 animPos, s16* animBuffer) {
|
||||
|
||||
animator->flags = MODEL_ANIMATOR_FLAGS_UPDATE_PENDING | MODEL_ANIMATOR_FLAGS_ENABLED | MODEL_ANIMATOR_FLAGS_CAM_2 | MODEL_ANIMATOR_FLAGS_CAM_1 | MODEL_ANIMATOR_FLAGS_CAM_0;
|
||||
animator->renderMode = RENDER_MODE_ALPHATEST;
|
||||
animator->vertexArray = NULL;
|
||||
animator->baseAddr = NULL;
|
||||
animator->fpRenderCallback = NULL;
|
||||
animator->rootNode = NULL;
|
||||
animator->nextUniqueID = 0;
|
||||
animator->animationBuffer = animBuffer;
|
||||
animator->nextUpdateTime = 1.0f;
|
||||
animator->timeScale = 1.0f;
|
||||
animPos = (animPos & 0xFFFFFF) + (s32)animator->animationBuffer;
|
||||
animator->animReadPos = (s16*)animPos;
|
||||
animator->savedReadPos = (s16*)animPos;
|
||||
animPos = (s16*)(((s32)animPos & 0xFFFFFF) + (s32)animator->animationBuffer);
|
||||
animator->animReadPos = animPos;
|
||||
animator->savedReadPos = animPos;
|
||||
|
||||
for (j = 0; j < ARRAY_COUNT(animator->staticNodeIDs); j++) {
|
||||
animator->staticNodeIDs[j] = j + 1;
|
||||
@ -708,7 +708,7 @@ void render_animated_model(s32 animatorID, Mtx* rootTransform) {
|
||||
animator->flags & (1 << gCurrentCamID) && !(animator->flags & MODEL_ANIMATOR_FLAGS_HIDDEN))
|
||||
{
|
||||
animator->mtx = *rootTransform;
|
||||
animator->vertexArray = NULL;
|
||||
animator->baseAddr = NULL;
|
||||
rtPtr->appendGfxArg = animator;
|
||||
rtPtr->appendGfx = (void (*)(void*))appendGfx_animator;
|
||||
rtPtr->distance = 0;
|
||||
@ -718,7 +718,7 @@ void render_animated_model(s32 animatorID, Mtx* rootTransform) {
|
||||
}
|
||||
}
|
||||
|
||||
void render_animated_model_with_vertices(s32 animatorID, Mtx* rootTransform, s32 vtxSegment, Vec3s* vertexArray) {
|
||||
void render_animated_model_with_vertices(s32 animatorID, Mtx* rootTransform, s32 segment, void* baseAddr) {
|
||||
RenderTask rt;
|
||||
RenderTask* rtPtr = &rt;
|
||||
|
||||
@ -731,8 +731,8 @@ void render_animated_model_with_vertices(s32 animatorID, Mtx* rootTransform, s32
|
||||
animator->flags & (1 << gCurrentCamID) && !(animator->flags & MODEL_ANIMATOR_FLAGS_HIDDEN))
|
||||
{
|
||||
animator->mtx = *rootTransform;
|
||||
gAnimVtxSegment = vtxSegment;
|
||||
animator->vertexArray = vertexArray;
|
||||
gAnimVtxSegment = segment;
|
||||
animator->baseAddr = baseAddr;
|
||||
rtPtr->appendGfxArg = animator;
|
||||
rtPtr->appendGfx = (void (*)(void*))appendGfx_animator;
|
||||
rtPtr->distance = 0;
|
||||
@ -745,8 +745,8 @@ void render_animated_model_with_vertices(s32 animatorID, Mtx* rootTransform, s32
|
||||
void appendGfx_animator(ModelAnimator* animator) {
|
||||
Matrix4f sp10;
|
||||
|
||||
if (animator->vertexArray != NULL) {
|
||||
gSPSegment(gMasterGfxPos++, gAnimVtxSegment, VIRTUAL_TO_PHYSICAL(animator->vertexArray));
|
||||
if (animator->baseAddr != NULL) {
|
||||
gSPSegment(gMasterGfxPos++, gAnimVtxSegment, VIRTUAL_TO_PHYSICAL(animator->baseAddr));
|
||||
}
|
||||
|
||||
gDisplayContext->matrixStack[gMatrixListPos] = animator->mtx;
|
||||
@ -1008,11 +1008,11 @@ void clear_animator_flags(s32 index, s32 bits) {
|
||||
animator->flags &= ~bits;
|
||||
}
|
||||
|
||||
void play_model_animation(s32 index, s32 animPos) {
|
||||
void play_model_animation(s32 index, s16* animPos) {
|
||||
ModelAnimator* animator = (*gCurrentAnimMeshListPtr)[index & ~0x800];
|
||||
|
||||
if (animator->animationBuffer != NULL) {
|
||||
animPos = (animPos & 0xFFFFFF) + (s32)animator->animationBuffer; // TODO: array access?
|
||||
animPos = ((s32)animPos & 0xFFFFFF) + (s32)animator->animationBuffer; // TODO: array access?
|
||||
}
|
||||
animator->animReadPos = (s16*)animPos;
|
||||
animator->savedReadPos = (s16*)animPos;
|
||||
|
10
src/C50A0.c
10
src/C50A0.c
@ -261,7 +261,7 @@ void item_entity_disable_shadow(ItemEntity* itemEntity) {
|
||||
itemEntity->flags |= ITEM_ENTITY_FLAGS_40;
|
||||
if (itemEntity->shadowIndex >= 0) {
|
||||
shadow = get_shadow_by_index(itemEntity->shadowIndex);
|
||||
shadow->flags |= SHADOW_FLAGS_HIDDEN;
|
||||
shadow->flags |= ENTITY_FLAGS_HIDDEN;
|
||||
}
|
||||
}
|
||||
|
||||
@ -271,7 +271,7 @@ void item_entity_enable_shadow(ItemEntity* itemEntity) {
|
||||
itemEntity->flags &= ~ITEM_ENTITY_FLAGS_40;
|
||||
if (itemEntity->shadowIndex >= 0) {
|
||||
shadow = get_shadow_by_index(itemEntity->shadowIndex);
|
||||
shadow->flags &= ~SHADOW_FLAGS_HIDDEN;
|
||||
shadow->flags &= ~ENTITY_FLAGS_HIDDEN;
|
||||
}
|
||||
}
|
||||
|
||||
@ -541,7 +541,7 @@ s32 make_item_entity(s32 itemID, f32 x, f32 y, f32 z, s32 itemSpawnMode, s32 pic
|
||||
shadow = get_shadow_by_index(itemEntity->shadowIndex);
|
||||
|
||||
if (itemEntity->spawnType == ITEM_SPAWN_MODE_ITEM_BLOCK_SPAWN_ALWAYS) {
|
||||
shadow->flags |= SHADOW_FLAGS_HIDDEN;
|
||||
shadow->flags |= ENTITY_FLAGS_HIDDEN;
|
||||
}
|
||||
|
||||
x = itemEntity->position.x;
|
||||
@ -644,7 +644,7 @@ s32 make_item_entity_at_player(s32 itemID, s32 arg1, s32 pickupMsgFlags) {
|
||||
|
||||
item->shadowIndex = create_shadow_type(0, item->position.x, item->position.y, item->position.z);
|
||||
shadow = get_shadow_by_index(item->shadowIndex);
|
||||
shadow->flags |= 1;
|
||||
shadow->flags |= ENTITY_FLAGS_HIDDEN;
|
||||
|
||||
posX = item->position.x;
|
||||
posY = item->position.y + 12.0f;
|
||||
@ -787,7 +787,7 @@ void draw_item_entities(void) {
|
||||
rtPtr->distance = 0;
|
||||
|
||||
retTask = queue_render_task(rtPtr);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
do {} while (0); // required to match
|
||||
|
@ -161,7 +161,7 @@ void func_802B735C_E2290C(void) {
|
||||
}
|
||||
|
||||
if (D_802B7C78_E23228->unk_18++ > 50) {
|
||||
D_8015A578.unk_02 = 0;
|
||||
D_8015A578.unk_02 = FALSE;
|
||||
D_8010C93C = NULL;
|
||||
playerStatus->animFlags &= ~0x100;
|
||||
}
|
||||
|
File diff suppressed because it is too large
Load Diff
@ -29,7 +29,18 @@ enum {
|
||||
};
|
||||
|
||||
#define _AS_ROUND(x) ((int) (x < 0 ? x - 0.5 : x + 0.5))
|
||||
|
||||
#define AS_F(x) (_AS_ROUND((x) * 32767.0 / 180.0))
|
||||
|
||||
#define as_End AS_END,
|
||||
#define as_Wait(time) AS_WAIT, time,
|
||||
#define as_EndLoop AS_END_LOOP,
|
||||
#define as_Restart AS_END_LOOP,
|
||||
#define as_Loop AS_LOOP,
|
||||
#define as_SetRotation(node, x, y, z) AS_SET_ROTATION, node, AS_F(x), AS_F(y), AS_F(z),
|
||||
#define as_SetPos(node, x, y, z) AS_SET_POS, node, x, y, z,
|
||||
#define as_SetScale(node, x, y, z) AS_SET_SCALE, node, AS_F(x), AS_F(y), AS_F(z),
|
||||
#define as_DisableMirroring AS_OP_19,
|
||||
|
||||
// used in entity models
|
||||
#define ANIM_NULL (void*)(0xFFFFFFFF)
|
||||
#endif
|
||||
|
@ -80,13 +80,13 @@ ApiStatus func_8021849C_6DC23C(Evt* script, s32 isInitialCall) {
|
||||
s32 entityIndex = script->varTable[9];
|
||||
Entity* entity = get_entity_by_index(entityIndex);
|
||||
|
||||
entity->unk_07 = 0;
|
||||
entity->collisionTimer = 0;
|
||||
collisionStatus->lastWallHammered = entityIndex | 0x4000;
|
||||
playerStatus->flags |= 0x1000000;
|
||||
entity->collisionFlags = 0x40;
|
||||
entity->collisionFlags = ENTITY_COLLISION_PLAYER_HAMMER;
|
||||
playerStatus->actionState = ACTION_STATE_HAMMER;
|
||||
entity->blueprint->fpHandleCollision(entity);
|
||||
entity->unk_07 = 0xA;
|
||||
entity->collisionTimer = 10;
|
||||
entity->flags |= ENTITY_FLAGS_DETECTED_COLLISION;
|
||||
collisionStatus->lastWallHammered = -1;
|
||||
|
||||
|
@ -51,7 +51,7 @@ EvtScript N(main) = {
|
||||
EVT_SET_CONST(EVT_VAR(10), 0x00000090)
|
||||
EVT_EXEC_WAIT(N(UseItemWithEffect))
|
||||
EVT_WAIT_FRAMES(10)
|
||||
EVT_CALL(MakeEntity, EVT_PTR(Entity_D_802EA2E0), -40, 60, 0, 0, MAKE_ENTITY_END)
|
||||
EVT_CALL(MakeEntity, EVT_PTR(Entity_PowBlock), -40, 60, 0, 0, MAKE_ENTITY_END)
|
||||
EVT_SET(EVT_VAR(10), EVT_VAR(0))
|
||||
EVT_CALL(N(func_802A1318_718B68))
|
||||
EVT_CALL(PlayEffect, 0x7, 2, -40, 60, 20, 0, 0, 0, 0, 0, 0, 0, 0, 0)
|
||||
|
@ -3,6 +3,7 @@
|
||||
|
||||
#include "common.h"
|
||||
#include "script_api/battle.h"
|
||||
#include "entity.h"
|
||||
|
||||
#undef NAMESPACE
|
||||
#define NAMESPACE battle_item_pow_block
|
||||
|
16
src/bss3.c
16
src/bss3.c
@ -12,7 +12,7 @@ BSS s32 D_801512B0;
|
||||
BSS s32 gHudElementsNumber;
|
||||
BSS s32 gCurrentCustomModelGfxBuildersPtr;
|
||||
BSS s32 D_801512BC;
|
||||
BSS s32 D_801512C0;
|
||||
BSS s32 entity_numEntities;
|
||||
BSS s32 gEntityHeapBase;
|
||||
BSS s32 gHudElementCacheTableRaster;
|
||||
BSS s32 gCurrentModels;
|
||||
@ -29,7 +29,7 @@ BSS s32 D_801512F0;
|
||||
BSS s32 gMsgVarImages;
|
||||
BSS s32 ItemEntitiesCreated;
|
||||
BSS s32 gCurrentModelTreeRoot;
|
||||
BSS s32 D_80151300;
|
||||
BSS s32 gEntityHeapBottom;
|
||||
BSS s32 D_80151304;
|
||||
BSS s32 D_80151308;
|
||||
BSS s16 gMsgBGScrollAmtY;
|
||||
@ -39,10 +39,10 @@ BSS s32 gHudElementCacheBuffer;
|
||||
BSS s32 gEntityModelCount;
|
||||
BSS s32 D_8015131C;
|
||||
BSS char D_80151320[0x4];
|
||||
BSS s32 D_80151324;
|
||||
BSS s32 entity_numShadows;
|
||||
BSS s32 D_80151328;
|
||||
BSS s32 D_8015132C;
|
||||
BSS s32 D_80151330;
|
||||
BSS s32 entity_area_specific_data_is_loaded;
|
||||
BSS s32 entity_updateCounter;
|
||||
BSS s32 gTriggerCount;
|
||||
BSS s32 D_80151338;
|
||||
BSS s32 gHudElementCacheSize;
|
||||
@ -56,8 +56,8 @@ BSS char D_80151474[0x4];
|
||||
BSS s8 gWorldShadowList[0xF0];
|
||||
BSS s8 gBattleShadowList[0xF0];
|
||||
BSS s32 gCurrentShadowListPtr;
|
||||
BSS s32 wEntityBlueprintSize;
|
||||
BSS s32 bEntityBlueprintSize;
|
||||
BSS s32 wEntityDataLoadedSize;
|
||||
BSS s32 bEntityDataLoadedSize;
|
||||
BSS char D_80151664[0x4];
|
||||
BSS s8 wEntityBlueprint[0x74];
|
||||
BSS s32 D_801516DC;
|
||||
@ -104,7 +104,7 @@ BSS s16 D_80153376;
|
||||
BSS s8 D_80153378[0x8];
|
||||
BSS s8 D_80153380[0x20];
|
||||
BSS s8 mdl_renderTaskLists[0xC];
|
||||
BSS s32 mdl_renderTaskMode;
|
||||
BSS s32 mdl_renderTaskQueueIdx;
|
||||
BSS s8 mdl_renderTaskCount[0x10];
|
||||
BSS s8 D_801533C0[0x300];
|
||||
BSS s8 D_801536C0[0x300];
|
||||
|
@ -965,7 +965,7 @@ s32 test_ray_entities(f32 startX, f32 startY, f32 startZ, f32 dirX, f32 dirY, f3
|
||||
for (i = 0; i < MAX_ENTITIES; i++) {
|
||||
entity = get_entity_by_index(i);
|
||||
|
||||
if (entity == NULL || (entity->flags & 0x40000020)) {
|
||||
if (entity == NULL || (entity->flags & (ENTITY_FLAGS_SKIP_UPDATE | ENTITY_FLAGS_DISABLE_COLLISION))) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -254,7 +254,7 @@ void aura_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E007684C(void) {
|
||||
|
@ -80,7 +80,7 @@ void balloon_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_SURFACE_OPA;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void balloon_appendGfx(void* effect) {
|
||||
|
@ -116,7 +116,7 @@ void big_smoke_puff_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void big_smoke_puff_appendGfx(void* effect) {
|
||||
|
@ -104,7 +104,7 @@ void big_snowflakes_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void big_snowflakes_appendGfx(void* effect) {
|
||||
|
@ -23,7 +23,7 @@ void blast_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3, f32 arg4, s32 arg5) {
|
||||
|
||||
effect = shim_create_effect_instance(bpPtr);
|
||||
effect->numParts = numParts;
|
||||
|
||||
|
||||
part = effect->data = shim_general_heap_malloc(numParts * sizeof(*part));
|
||||
|
||||
ASSERT(effect->data != NULL);
|
||||
@ -71,7 +71,7 @@ void blast_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_28;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/blast", blast_appendGfx);
|
||||
|
@ -50,7 +50,7 @@ void bombette_breaking_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_28;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/bombette_breaking", bombette_breaking_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void breaking_junk_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/breaking_junk", breaking_junk_appendGfx);
|
||||
|
@ -27,7 +27,7 @@ void bulb_glow_render(EffectInstance* effect) {
|
||||
}
|
||||
|
||||
retTask = shim_queue_render_task(renderTaskPtr);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E0078274(void) {
|
||||
|
@ -157,7 +157,7 @@ void butterflies_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
|
||||
|
@ -22,7 +22,7 @@ void chapter_change_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/chapter_change", chapter_change_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void chomp_drop_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_SURFACE_XLU_LAYER1;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/chomp_drop", chomp_drop_appendGfx);
|
||||
|
@ -109,7 +109,7 @@ void cloud_puff_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_28;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void cloud_puff_appendGfx(void* effect) {
|
||||
|
@ -110,7 +110,7 @@ void cloud_trail_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_28;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void cloud_trail_appendGfx(void* effect) {
|
||||
|
@ -20,7 +20,7 @@ void cold_breath_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/cold_breath", cold_breath_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void damage_stars_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/damage_stars", damage_stars_appendGfx);
|
||||
|
@ -127,7 +127,7 @@ void debuff_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_28;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void debuff_appendGfx(void* effect) {
|
||||
|
@ -20,7 +20,7 @@ void drop_leaves_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/drop_leaves", drop_leaves_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void dust_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_SURFACE_XLU_LAYER1;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/dust", dust_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void fx_3D_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E007A884(void) {
|
||||
|
@ -20,7 +20,7 @@ void fx_46_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/effect_46", fx_46_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void fx_63_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/effect_63", fx_63_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void fx_65_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/effect_65", fx_65_appendGfx);
|
||||
|
@ -44,7 +44,7 @@ void fx_75_render(EffectInstance* effect) {
|
||||
renderTaskPtr->renderMode = RENDER_MODE_SURFACE_XLU_LAYER1;
|
||||
|
||||
retTask = shim_queue_render_task(renderTaskPtr);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E00EA664(void) {
|
||||
|
@ -103,7 +103,7 @@ void fx_86_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void fx_86_appendGfx(void* effect) {
|
||||
|
@ -20,7 +20,7 @@ void embers_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E00E05F8(void) {
|
||||
|
@ -165,7 +165,7 @@ void emote_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
// lots of issues
|
||||
|
@ -28,9 +28,9 @@ void ending_decals_render(EffectInstance* effect) {
|
||||
} else {
|
||||
renderTaskPtr->renderMode = RENDER_MODE_2D;
|
||||
}
|
||||
|
||||
|
||||
retTask = shim_queue_render_task(renderTaskPtr);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/ending_decals", ending_decals_appendGfx);
|
||||
|
@ -30,7 +30,7 @@ void energy_orb_wave_render(EffectInstance* effect) {
|
||||
}
|
||||
|
||||
retTask = shim_queue_render_task(renderTaskPointer);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E00A4648(void) {
|
||||
|
@ -20,7 +20,7 @@ void energy_shockwave_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_SURFACE_XLU_LAYER3;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/energy_shockwave", energy_shockwave_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void falling_leaves_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/falling_leaves", falling_leaves_appendGfx);
|
||||
|
@ -175,7 +175,7 @@ void fire_breath_render(EffectInstance* effect) {
|
||||
|
||||
renderTaskPointer->renderMode = RENDER_MODE_2D;
|
||||
retTask = shim_queue_render_task(renderTaskPointer);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void fire_breath_appendGfx(void* effect) {
|
||||
|
@ -82,7 +82,7 @@ void fire_flower_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/fire_flower", fire_flower_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void firework_rocket_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_SURFACE_OPA;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/firework_rocket", firework_rocket_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void floating_cloud_puff_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E00D227C(void) {
|
||||
|
@ -137,7 +137,7 @@ void floating_flower_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void floating_flower_appendGfx(void* effect) {
|
||||
|
@ -24,9 +24,9 @@ void floating_rock_render(EffectInstance *effect) {
|
||||
renderTask.appendGfxArg = effect;
|
||||
renderTask.distance = effect76->unk_0C;
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/floating_rock", floating_rock_appendGfx);
|
||||
|
@ -130,7 +130,7 @@ void flower_splash_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_28;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E00104F4(EffectInstance* effect) {
|
||||
|
@ -148,7 +148,7 @@ void flower_trail_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_28;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E0012548(EffectInstance* effect) {
|
||||
|
@ -107,7 +107,7 @@ void footprint_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_28;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E00183BC(EffectInstance* effect) {
|
||||
|
@ -20,7 +20,7 @@ void fright_jar_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E00C2214(void) {
|
||||
|
@ -20,7 +20,7 @@ void gather_energy_pink_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/gather_energy_pink", gather_energy_pink_appendGfx);
|
||||
|
@ -82,7 +82,7 @@ void gather_magic_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_SURFACE_XLU_LAYER3;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/gather_magic", gather_magic_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void got_item_outline_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E003621C(void) {
|
||||
|
@ -20,7 +20,7 @@ void hieroglyphs_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E00E2210(void) {
|
||||
|
@ -20,7 +20,7 @@ void ice_pillar_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/ice_pillar", ice_pillar_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void ice_shard_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/ice_shard", ice_shard_appendGfx);
|
||||
|
@ -254,7 +254,7 @@ void landing_dust_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_28;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void landing_dust_appendGfx(void* effect) {
|
||||
|
@ -20,7 +20,7 @@ void lens_flare_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/lens_flare", lens_flare_appendGfx);
|
||||
|
@ -26,7 +26,7 @@ void light_rays_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/light_rays", func_E006A85C);
|
||||
|
@ -20,7 +20,7 @@ void lightning_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_SURFACE_XLU_LAYER3;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/lightning", lightning_appendGfx);
|
||||
|
@ -36,7 +36,7 @@ void lightning_bolt_render(EffectInstance *effect) {
|
||||
|
||||
renderTaskPointer->renderMode = RENDER_MODE_2D;
|
||||
retTask = shim_queue_render_task(renderTaskPointer);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E00BC36C(void) {
|
||||
|
@ -20,7 +20,7 @@ void lil_oink_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/lil_oink", lil_oink_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void merlin_house_stars_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E00A639C(void) {
|
||||
|
@ -20,7 +20,7 @@ void misc_particles_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E00E4954(void) {
|
||||
|
@ -26,7 +26,7 @@ void motion_blur_flame_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E00A2234(void) {
|
||||
|
@ -20,7 +20,7 @@ void moving_cloud_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/moving_cloud", moving_cloud_appendGfx);
|
||||
|
@ -49,7 +49,7 @@ void music_note_main(s32 arg0, f32 arg1, f32 arg2, f32 arg3) {
|
||||
|
||||
effect = shim_create_effect_instance(bpPtr);
|
||||
effect->numParts = numParts;
|
||||
|
||||
|
||||
part = effect->data = shim_general_heap_malloc(numParts * sizeof(*part));
|
||||
|
||||
ASSERT(effect->data != NULL);
|
||||
@ -124,7 +124,7 @@ void music_note_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/music_note", music_note_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void peach_star_beam_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/peach_star_beam", peach_star_beam_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void purple_ring_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/purple_ring", purple_ring_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void quizmo_assistant_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/quizmo_assistant", quizmo_assistant_appendGfx);
|
||||
|
@ -28,7 +28,7 @@ void quizmo_audience_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E00A8318(void) {
|
||||
|
@ -20,7 +20,7 @@ void quizmo_stage_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_SURFACE_OPA;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/quizmo_stage", quizmo_stage_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void radial_shimmer_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/radial_shimmer", radial_shimmer_appendGfx);
|
||||
|
@ -28,7 +28,7 @@ void radiating_energy_orb_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_SURFACE_XLU_LAYER3;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/radiating_energy_orb", radiating_energy_orb_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void red_impact_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_28;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/red_impact", red_impact_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void ring_blast_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_28;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/ring_blast", ring_blast_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void rising_bubble_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/rising_bubble", rising_bubble_appendGfx);
|
||||
|
@ -124,12 +124,12 @@ void shape_spell_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
s32 func_E0024324(s32 arg0, s32 arg1) {
|
||||
s32 frameCounter = gGameStatusPtr->frameCounter * 32;
|
||||
|
||||
|
||||
return (f32)((shim_sin_deg(frameCounter + arg1) * (255 - arg0) + (255 - arg0)) * 0.5 + arg0);
|
||||
}
|
||||
|
||||
|
@ -20,7 +20,7 @@ void shattering_stones_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/shattering_stones", shattering_stones_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void shimmer_burst_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E0070738(void) {
|
||||
|
@ -20,7 +20,7 @@ void shimmer_wave_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/shimmer_wave", shimmer_wave_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void shiny_flare_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E00DA228(void) {
|
||||
|
@ -20,7 +20,7 @@ void shockwave_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_28;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/shockwave", shockwave_appendGfx);
|
||||
|
@ -65,7 +65,7 @@ void sleep_bubble_update(EffectInstance* effect) {
|
||||
shim_remove_effect(effect);
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
unk_20 = part->unk_20;
|
||||
timeLeft = part->timeLeft;
|
||||
|
||||
@ -79,7 +79,7 @@ void sleep_bubble_update(EffectInstance* effect) {
|
||||
|
||||
do {
|
||||
angle = i * 360.0f / 21.0f + 17.0f;
|
||||
|
||||
|
||||
*xPtr = temp2 * shim_sin_deg(angle);
|
||||
*yPtr = -temp2 * shim_cos_deg(angle);
|
||||
|
||||
@ -112,7 +112,7 @@ void sleep_bubble_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/sleep_bubble", sleep_bubble_appendGfx);
|
||||
|
@ -106,7 +106,7 @@ void small_gold_sparkle_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void small_gold_sparkle_appendGfx(void* effect) {
|
||||
|
@ -20,7 +20,7 @@ void smoke_burst_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_28;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/smoke_burst", smoke_burst_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void smoke_impact_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_28;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
INCLUDE_ASM(s32, "effects/smoke_impact", smoke_impact_appendGfx);
|
||||
|
@ -20,7 +20,7 @@ void snaking_static_render(EffectInstance* effect) {
|
||||
renderTask.renderMode = RENDER_MODE_2D;
|
||||
|
||||
retTask = shim_queue_render_task(&renderTask);
|
||||
retTask->renderMode |= RENDER_MODE_2;
|
||||
retTask->renderMode |= RENDER_TASK_FLAG_2;
|
||||
}
|
||||
|
||||
void func_E00AE544(void) {
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue
Block a user