Files
SpaghettiKart/src/engine/HM_Intro.h
T
2025-03-28 19:58:35 -06:00

73 lines
1.3 KiB
C++

#ifndef _HM_INTRO_H
#define _HM_INTRO_H
#include <libultraship.h>
#include <libultra/gbi.h>
#include "CoreMath.h"
#ifdef __cplusplus
extern "C" {
#endif
#include "common_structs.h"
#ifdef __cplusplus
}
#endif
#ifdef __cplusplus
class HarbourMastersIntro {
public:
HarbourMastersIntro();
void HM_InitIntro();
void HM_TickIntro();
void HM_DrawIntro();
private:
void Setup();
void Sync();
void Bob(FVector& pos, IRotator& rot, f32 bobAmp, f32 bobSpeed, f32 tiltAmp, f32 tiltSpeed, f32 rollAmp, f32 rollSpeed);
void SpagBob(FVector& pos, IRotator& rot, f32 bobAmp, f32 bobSpeed, f32 tiltAmp, f32 tiltSpeed, f32 rollAmp, f32 rollSpeed);
void MoveCloserToCamera(float moveSpeed);
struct HMCamera {
FVector Pos;
FVector LookAt;
};
HMCamera _camera;
f32 _cameraSpeed;
f32 _cameraMaxSpeed;
f32 _cameraAcceleration;
FVector _pos;
IRotator _rot;
FVector _scale;
FVector _shipPos;
IRotator _shipRot;
FVector _ship2Pos;
IRotator _ship2Rot;
s32 _water = 0;
FVector _posHM64;
IRotator _rotHM64;
FVector _hPos;
IRotator _hRot;
FVector _hScale;
};
extern "C" {
#endif
void HM_InitIntro(void);
void HM_TickIntro(void);
void HM_DrawIntro(void);
#ifdef __cplusplus
}
#endif
#endif // _HM_INTRO_H