2021-04-05 11:55:36 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <stdint.h>
|
2022-09-30 14:25:21 +00:00
|
|
|
#include "model.h"
|
|
|
|
#include "model_kvx.h"
|
|
|
|
#include "intvec.h"
|
2021-04-05 11:55:36 +00:00
|
|
|
|
2022-09-30 14:25:21 +00:00
|
|
|
constexpr int MAXVOXELS = 1024;
|
|
|
|
|
|
|
|
struct voxmodel_t // : public mdmodel_t
|
2021-04-05 11:55:36 +00:00
|
|
|
{
|
|
|
|
FVoxelModel* model = nullptr;
|
2022-09-30 14:25:21 +00:00
|
|
|
float scale, bscale, zadd, yoffset;
|
2021-04-05 11:55:36 +00:00
|
|
|
vec3_t siz;
|
2021-12-14 08:58:01 +00:00
|
|
|
FVector3 piv;
|
2021-04-05 11:55:36 +00:00
|
|
|
int32_t is8bit;
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
extern int16_t tiletovox[];
|
|
|
|
extern float voxscale[];
|
|
|
|
extern voxmodel_t* voxmodels[MAXVOXELS];
|
|
|
|
extern FixedBitArray<MAXVOXELS> voxrotate;
|
|
|
|
|
2022-09-30 14:25:21 +00:00
|
|
|
inline int32_t nextvoxid;
|
|
|
|
inline FixedBitArray<MAXVOXELS>voxreserve;
|
|
|
|
|
2021-04-05 11:55:36 +00:00
|
|
|
void voxInit();
|
|
|
|
void voxClear();
|
|
|
|
int voxDefine(int voxindex, const char* filename);
|