diff options
Diffstat (limited to 'src/engine/objects/Trophy.h')
| -rw-r--r-- | src/engine/objects/Trophy.h | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/src/engine/objects/Trophy.h b/src/engine/objects/Trophy.h new file mode 100644 index 000000000..76834d77e --- /dev/null +++ b/src/engine/objects/Trophy.h @@ -0,0 +1,55 @@ +#pragma once + +#include <libultraship.h> +#include <vector> +#include "Object.h" + +extern "C" { +#include "macros.h" +#include "main.h" +#include "vehicles.h" +#include "waypoints.h" +#include "common_structs.h" +#include "objects.h" +#include "course_offsets.h" +#include "some_data.h" +} + + +class OTrophy : public OObject { +public: + enum TrophyType { + BRONZE, + SILVER, + GOLD, + BRONZE_150, + SILVER_150, + GOLD_150, + }; + + enum Behaviour { + PODIUM_CEREMONY, + STATIONARY, + ROTATE, // A dual-axis opposing rotation + ROTATE2, // A single-axis rotation + GO_FISH, + }; + + explicit OTrophy(const FVector& pos, TrophyType trophy, Behaviour bhv); + + virtual void Tick() override; + virtual void Draw(s32 cameraId) override; + void func_80086700(s32 objectIndex); + void func_80086940(s32 objectIndex); + void func_80086C14(s32 objectIndex); + void func_80086C6C(s32 objectIndex); + +private: + + s32 _idx; + TrophyType _trophy; + FVector _spawnPos; + Behaviour _bhv; + int8_t *_toggleVisibility; + Vec3f _oldPos; +}; |
