Mario Kart 64
Loading...
Searching...
No Matches
Array.h
Go to the documentation of this file.
1#pragma once
2
3#include "resource/Resource.h"
4
5namespace Fast {
6 union F3DVtx;
7}
8
9namespace MK64 {
10typedef union ScalarData {
11 uint8_t u8;
12 int8_t s8;
13 uint16_t u16;
14 int16_t s16;
15 uint32_t u32;
16 int32_t s32;
17 uint64_t u64;
18 int64_t s64;
19 float f32;
20 double f64;
21} ScalarData;
22
40
41// OTRTODO: Replace this with something that can be shared between the exporter and importer...
71
72class Array : public Ship::Resource<void> {
73 public:
74 using Resource::Resource;
75
76 Array();
77
78 void* GetPointer() override;
79 size_t GetPointerSize() override;
80
83 size_t ArrayCount;
84 // OTRTODO: Should be a vector of resource pointers...
85 std::vector<ScalarData> Scalars;
86 std::vector<Fast::F3DVtx> Vertices;
87};
88} // namespace MK64
Definition Array.h:72
size_t ArrayCount
Definition Array.h:83
Array()
Definition Array.cpp:4
std::vector< ScalarData > Scalars
Definition Array.h:85
void * GetPointer() override
Definition Array.cpp:7
ArrayResourceType ArrayType
Definition Array.h:81
std::vector< Fast::F3DVtx > Vertices
Definition Array.h:86
ScalarType ArrayScalarType
Definition Array.h:82
size_t GetPointerSize() override
Definition Array.cpp:22
Definition Array.h:5
Definition ActorSpawnDataFactory.cpp:7
ArrayResourceType
Definition Array.h:42
@ Symbol
Definition Array.h:63
@ LimbTable
Definition Array.h:53
@ String
Definition Array.h:62
@ Vector
Definition Array.h:67
@ Skeleton
Definition Array.h:61
@ Mtx
Definition Array.h:54
@ TextureAnimation
Definition Array.h:65
@ Error
Definition Array.h:43
@ Scene
Definition Array.h:60
@ Texture
Definition Array.h:64
@ Limb
Definition Array.h:52
@ Background
Definition Array.h:47
@ AltHeader
Definition Array.h:46
@ Path
Definition Array.h:55
@ Vertex
Definition Array.h:68
@ Audio
Definition Array.h:69
@ DisplayList
Definition Array.h:51
@ PlayerAnimationData
Definition Array.h:56
@ Cutscene
Definition Array.h:50
@ Room
Definition Array.h:57
@ Animation
Definition Array.h:44
@ Blob
Definition Array.h:48
@ RoomCommand
Definition Array.h:58
@ CollisionHeader
Definition Array.h:49
@ TextureAnimationParams
Definition Array.h:66
@ Scalar
Definition Array.h:59
ScalarType
Definition Array.h:23
@ ZSCALAR_F64
Definition Array.h:38
@ ZSCALAR_X16
Definition Array.h:30
@ ZSCALAR_U16
Definition Array.h:29
@ ZSCALAR_U32
Definition Array.h:32
@ ZSCALAR_S8
Definition Array.h:25
@ ZSCALAR_NONE
Definition Array.h:24
@ ZSCALAR_S32
Definition Array.h:31
@ ZSCALAR_X64
Definition Array.h:36
@ ZSCALAR_X32
Definition Array.h:33
@ ZSCALAR_S16
Definition Array.h:28
@ ZSCALAR_U64
Definition Array.h:35
@ ZSCALAR_S64
Definition Array.h:34
@ ZSCALAR_F32
Definition Array.h:37
@ ZSCALAR_U8
Definition Array.h:26
@ ZSCALAR_X8
Definition Array.h:27
Definition Array.h:10
int64_t s64
Definition Array.h:18
uint32_t u32
Definition Array.h:15
int32_t s32
Definition Array.h:16
int16_t s16
Definition Array.h:14
uint8_t u8
Definition Array.h:11
int8_t s8
Definition Array.h:12
uint64_t u64
Definition Array.h:17
uint16_t u16
Definition Array.h:13
float f32
Definition Array.h:19
double f64
Definition Array.h:20