Mario Kart 64
Loading...
Searching...
No Matches
Editor.h
Go to the documentation of this file.
1#ifndef EDITOR_H
2#define EDITOR_H
3
4#include <libultraship/libultraship.h>
5#include <libultra/gbi.h>
6
7
8#ifdef __cplusplus
9#include "GameObject.h"
10extern "C" {
11#include "camera.h"
12}
13
14#include "ObjectPicker.h"
15namespace TrackEditor {
16 class ObjectPicker;
17
18 class Editor {
19public:
20 static Editor* Instance;
21 Editor();
22 ~Editor();
23
24 ObjectPicker eObjectPicker;
25 std::vector<GameObject*> eGameObjects;
26
27 void Load();
28 void Enable();
29 void Disable();
30 bool IsEnabled();
31 void Play();
32 void Pause();
33 bool IsPaused();
34 void TogglePlayState();
35 void Tick();
36 void Draw();
37 void GenerateCollision();
38 GameObject* AddObject(FVector pos, IRotator rot, FVector scale, const char* model, float collScale, GameObject::CollisionType collision, float boundingBoxSize);
39 void AddLight(const char* name, FVector* pos, s8* rot);
40 void ClearObjects();
41 void ResetGizmo();
42 void RemoveObject();
43 void SelectObjectFromSceneExplorer(std::variant<AActor*, OObject*, GameObject*> object);
44 void SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY);
45 void ClearMatrixPool();
46 void DeleteObject();
47private:
48 bool bIsEditorPaused = false;
49 bool bEditorEnabled = false;
50 bool _draw = false;
51 Vec3f _ray;
52
53 s32 Inverse(MtxF* src, MtxF* dest);
54 void Copy(MtxF* src, MtxF* dest);
55 void Clear(MtxF* mf);
56};
57} // namespace TrackEditor
58#endif // __cplusplus
59
60
61#ifdef __cplusplus
62#define EXTERN_C extern "C"
63#else
64#define EXTERN_C
65#endif
66
67EXTERN_C void Editor_Launch(const char* resourceName);
68EXTERN_C void Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY);
71
72#endif // EDITOR_H
void Clear(MtxF *mf)
void Copy(MtxF *src, MtxF *dest)
EXTERN_C bool Editor_IsEnabled()
Definition Editor.cpp:254
EXTERN_C bool Editor_IsPaused()
Definition Editor.cpp:258
EXTERN_C void Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY)
Definition Editor.cpp:250
#define EXTERN_C
Definition Editor.h:64
EXTERN_C void Editor_Launch(const char *resourceName)
Definition Editor.cpp:243
Definition ObjectPicker.h:11
f32 Vec3f[3]
Definition common_structs.h:10
@ s32
Definition GenericArray.h:57
Definition Collision.cpp:17