SpaghettiKart
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#include "defines.h"
8
9#ifdef __cplusplus
10#include "GameObject.h"
11extern "C" {
12#include "camera.h"
13}
14
15#include "ObjectPicker.h"
16namespace TrackEditor {
17 class ObjectPicker;
18
19 class Editor {
20public:
21 static Editor* Instance;
22 Editor();
23 ~Editor();
24
25 ObjectPicker eObjectPicker;
26 std::vector<std::unique_ptr<GameObject>> eGameObjects;
27
28 void Load();
29 void Enable();
30 void Disable();
31 bool IsEnabled();
32 void Play();
33 void Pause();
34 bool IsPaused();
35 void TogglePlayState();
36 void Tick();
37 void Draw();
38 void GenerateCollision();
39 GameObject* AddObject(FVector pos, IRotator rot, FVector scale, const char* model, float collScale, GameObject::CollisionType collision, float boundingBoxSize);
40 void AddLight(const char* name, FVector* pos, s8* rot);
41 void ClearObjects();
42 void ResetGizmo();
43 void RemoveObject();
44 void SelectObjectFromSceneExplorer(std::variant<AActor*, OObject*, GameObject*> object);
45 void SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY);
46 void ClearMatrixPool();
47 void DeleteObject();
48private:
49 bool bIsEditorPaused = false;
50 bool bEditorEnabled = false;
51 bool _draw = false;
52 Vec3f _ray;
53
54 s32 Inverse(MtxF* src, MtxF* dest);
55 void Copy(MtxF* src, MtxF* dest);
56 void Clear(MtxF* mf);
57};
58} // namespace TrackEditor
59#endif // __cplusplus
60
61EXTERN_C void Editor_Launch(const char* resourceName);
62EXTERN_C void Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY);
65
66#endif // EDITOR_H
void Clear(MtxF *mf)
void Copy(MtxF *src, MtxF *dest)
EXTERN_C bool Editor_IsEnabled()
Definition Editor.cpp:255
EXTERN_C bool Editor_IsPaused()
Definition Editor.cpp:259
EXTERN_C void Editor_SetLevelDimensions(s16 minX, s16 maxX, s16 minZ, s16 maxZ, s16 minY, s16 maxY)
Definition Editor.cpp:251
EXTERN_C void Editor_Launch(const char *resourceName)
Definition Editor.cpp:244
Definition ObjectPicker.h:11
f32 Vec3f[3]
Definition common_structs.h:10
#define EXTERN_C
Definition defines.h:9
@ s32
Definition GenericArray.h:57
Definition Collision.cpp:17