Files
NextOp-Next 7a82158b17 (Cleanup) Fix wrongly formatted offset comments. (#2147)
* (Cleanup) offset comments for DinoPackun

* (Cleanup) offset comments for SkeletalFishBoss

* (Cleanup) offset comments for CameraTranslators

* (Cleanup) offset comments for Demos

* (Cleanup) offset comments for Enemies

* (Cleanup) offset comments for Gravities

* (Cleanup) offset comments for LiveActors

* (Cleanup) offset comments for Maps

* (Cleanup) offset comments for MapObjs

* (Cleanup) offset comments for NameObjs

* (Cleanup) offset comments for NPCs

* (Cleanup) offset comments for Player

* (Cleanup) offset comments for Scenes

* (Cleanup) offset comments for System

* (Cleanup) offset comments for Utils

* (Cleanup) offset comments for JSystem

* (Cleanup) offset comments for MetroTRK

* forgot the union comments

* (Cleanup) offset comments for MSL_C

* (Cleanup) offset comments for nw4r

* (Cleanup) offset comments for the SDK

* (Cleanup) offset comments for all that was left
2026-10-10 14:47:49 -07:00

49 lines
1.5 KiB
C++

#pragma once
#include "Game/NameObj/NameObj.hpp"
#include <JSystem/JGeometry/TVec.hpp>
class CameraShakeTask;
#define NR_VERTICAL_TASKS 7
#define NR_HORIZONTAL_TASKS 3
#define NR_INFINITY_TASKS 4
class CameraShaker : public NameObj {
public:
enum ESinglyVerticalPower {
SINGLY_VERTICAL_POWER_VERY_WEAK = 0,
SINGLY_VERTICAL_POWER_WEAK = 1,
SINGLY_VERTICAL_POWER_NORMAL_WEAK = 2,
SINGLY_VERTICAL_POWER_NORMAL = 3,
SINGLY_VERTICAL_POWER_NORMAL_STRONG = 4,
SINGLY_VERTICAL_POWER_STRONG = 5,
SINGLY_VERTICAL_POWER_VERY_STRONG = 6
};
CameraShaker(const char*);
virtual void movement();
void shakeVertical(ESinglyVerticalPower);
void shakeInfinity(NameObj*, f32, f32);
void stopShakingInfinity(NameObj*);
void createSinglyVerticalTask();
void createSinglyHorizontalTask();
void createInfinityTask();
void updateSinglyVerticalTask();
void updateSinglyHorizontalTask();
void updateInfinityTask();
void setOffset();
void addSinglyVerticalTaskOffset(TVec2f*);
void addSinglyHorizontalTaskOffset(TVec2f*);
void addInfinityTaskOffset(TVec2f*);
void adjustOffsetToScreen(TVec2f*); // TODO
void startInfinity(u32, f32, f32);
/* 0x0C */ CameraShakeTask* mVerticalTasks[NR_VERTICAL_TASKS];
/* 0x28 */ CameraShakeTask* mHorizontalTasks[NR_HORIZONTAL_TASKS];
/* 0x34 */ CameraShakeTask* mInfinityTasks[NR_INFINITY_TASKS];
/* 0x44 */ NameObj* mInfinityNameObjs[NR_INFINITY_TASKS];
};