9API_CALLABLE(N(InterpCloudTransform)) {
12 s32 outVarX = *args++;
13 s32 outVarY = *args++;
14 s32 outVarZ = *args++;
15 s32 outVarAngle = *args++;
16 f32 interpAngleRad =
DEG_TO_RAD(interpAngleDeg);
17 f32 posX =
sin_rad(interpAngleRad) * 150.0f + 0.0f;
18 f32 posY =
sin_rad(interpAngleRad * 8.0f) * 10.0f + 0.0f;
19 f32 posZ =
cos_rad(interpAngleRad) * 150.0f / 20.0f + -50.0f;
27 if (interpAngleDeg > 90.0f && interpAngleDeg < 270.0f) {
30 if ((s32)
fabsf(90.0f - interpAngleDeg) < 45) {
31 outAngle = 2.0f * (interpAngleDeg - 45.0f);
33 if ((s32)
fabsf(270.0f - interpAngleDeg) < 45) {
34 outAngle = 2.0f * (interpAngleDeg - 225.0f) + 180.0f;
65EvtScript N(EVS_AnimateCloud_WithOffset2D) = {
92EvtScript N(EVS_AnimateCloud_WithOffset3D) = {
s32 evt_get_variable(Evt *script, Bytecode var)
f32 evt_set_float_variable(Evt *script, Bytecode var, f32 value)
s32 evt_set_variable(Evt *script, Bytecode var, s32 value)
ApiStatus TranslateModel(Evt *script, b32 isInitialCall)
Translates the given model's position.
ApiStatus RotateModel(Evt *script, b32 isInitialCall)
Rotates the model the given amount on the selected axis.
#define Mul(VAR, INT_VALUE)
#define Set(VAR, INT_VALUE)
Sets the given variable to a given value casted to an integer.
#define AddF(VAR, FLOAT_VALUE)
#define Sub(VAR, INT_VALUE)
#define End
Signals the end of EVT script data. A script missing this will likely crash on load.
#define Add(VAR, INT_VALUE)
#define Goto(LABEL_ID)
Moves execution to the given label.
#define IfGt(LVAR, RVAR)
Marks the beginning of an if statement that only executes if LVAR <= RVAR.
#define Label(LABEL_ID)
Marks this point in the script as a Goto target.
#define EndIf
Marks the end of an if statement or an else block.
#define Wait(NUM_FRAMES)
Blocks for the given number of frames.
#define Call(FUNC, ARGS...)
Calls a given C EVT API function with any number of arguments.
#define Return
Kills the current EVT thread.