1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
#pragma once
#include "scripting/ade_api.h"
#include "model/model.h"
namespace scripting {
namespace api {
//**********HANDLE: model
class model_h
{
protected:
polymodel *model;
public:
explicit model_h(int n_modelnum);
explicit model_h(polymodel *n_model);
model_h();
polymodel *Get();
int GetID();
bool IsValid();
};
DECLARE_ADE_OBJ(l_Model, model_h);
class submodel_h
{
protected:
polymodel *model;
int submodel_num;
public:
explicit submodel_h(int n_modelnum, int n_submodelnum);
explicit submodel_h(polymodel *n_model, int n_submodelnum);
submodel_h();
polymodel *GetModel();
int GetModelID();
bsp_info *GetSubmodel();
int GetSubmodelIndex();
bool IsValid();
};
DECLARE_ADE_OBJ(l_Submodel, submodel_h);
class modelsubmodels_h : public model_h
{
public:
modelsubmodels_h(polymodel *pm);
modelsubmodels_h();
};
DECLARE_ADE_OBJ(l_ModelSubmodels, modelsubmodels_h);
class modeltextures_h : public model_h
{
public:
modeltextures_h(polymodel *pm);
modeltextures_h();
};
DECLARE_ADE_OBJ(l_ModelTextures, modeltextures_h);
class eyepoints_h : public model_h
{
public:
eyepoints_h(polymodel *pm);
eyepoints_h();
};
DECLARE_ADE_OBJ(l_Eyepoints, eyepoints_h);
// Thrusters:
class thrusters_h : public model_h
{
public:
thrusters_h(polymodel *pm);
thrusters_h();
};
DECLARE_ADE_OBJ(l_Thrusters, thrusters_h);
// Thrusterbank:
struct thrusterbank_h
{
thruster_bank *bank;
thrusterbank_h();
thrusterbank_h(thruster_bank* ba);
thruster_bank *Get();
bool isValid();
};
DECLARE_ADE_OBJ(l_Thrusterbank, thrusterbank_h);
// Glowpoint:
struct glowpoint_h
{
glow_point *point;
glowpoint_h();
glowpoint_h(glow_point* np);
glow_point* Get();
bool isValid();
};
DECLARE_ADE_OBJ(l_Glowpoint, glowpoint_h);
// Glowbanks:
class dockingbays_h : public model_h
{
public:
dockingbays_h(polymodel *pm);
dockingbays_h();
};
DECLARE_ADE_OBJ(l_Dockingbays, dockingbays_h);
class dockingbay_h : public model_h
{
private:
int dock_id;
public:
dockingbay_h(polymodel *pm, int dock_idx);
dockingbay_h();
bool IsValid();
dock_bay* getDockingBay();
};
DECLARE_ADE_OBJ(l_Dockingbay, dockingbay_h);
}
}
|