Files
fs2open.github.com/code/scripting/api/objs/model.h
T

117 lines
1.6 KiB
C++

#pragma once
#include "scripting/ade_api.h"
#include "model/model.h"
namespace scripting {
namespace api {
//**********HANDLE: model
class model_h
{
protected:
int mid;
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 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);
}
}