2015-01-25 22:27:03 +01:00
|
|
|
namespace gta {
|
|
|
|
using namespace rw;
|
2015-01-07 23:06:44 +01:00
|
|
|
|
|
|
|
enum
|
|
|
|
{
|
2015-08-17 10:24:24 +02:00
|
|
|
ID_EXTRANORMALS = 0x253f2f2,
|
2015-01-19 13:32:12 +01:00
|
|
|
ID_SPECMAT = 0x253f2f6,
|
2015-01-07 23:06:44 +01:00
|
|
|
ID_EXTRAVERTCOLORS = 0x253f2f9,
|
2015-01-19 13:32:12 +01:00
|
|
|
ID_ENVMAT = 0x253f2fc,
|
2015-01-07 23:06:44 +01:00
|
|
|
ID_BREAKABLE = 0x253f2fd,
|
|
|
|
ID_NODENAME = 0x253f2fe
|
|
|
|
};
|
|
|
|
|
2015-01-19 13:32:12 +01:00
|
|
|
// Node name
|
|
|
|
|
2015-01-25 22:27:03 +01:00
|
|
|
extern int32 nodeNameOffset;
|
|
|
|
void registerNodeNamePlugin(void);
|
2015-01-07 23:06:44 +01:00
|
|
|
|
2015-01-19 13:32:12 +01:00
|
|
|
// Breakable model
|
|
|
|
|
2015-01-07 23:06:44 +01:00
|
|
|
struct Breakable
|
|
|
|
{
|
|
|
|
uint32 position;
|
|
|
|
uint32 numVertices;
|
|
|
|
uint32 numFaces;
|
|
|
|
uint32 numMaterials;
|
|
|
|
|
|
|
|
float32 *vertices;
|
|
|
|
float32 *texCoords;
|
|
|
|
uint8 *colors;
|
|
|
|
uint16 *faces;
|
|
|
|
uint16 *matIDs;
|
|
|
|
char (*texNames)[32];
|
|
|
|
char (*maskNames)[32];
|
|
|
|
float32 (*surfaceProps)[3];
|
|
|
|
};
|
|
|
|
|
2015-01-25 22:27:03 +01:00
|
|
|
extern int32 breakableOffset;
|
|
|
|
void registerBreakableModelPlugin(void);
|
2015-01-07 23:06:44 +01:00
|
|
|
|
2015-08-17 10:24:24 +02:00
|
|
|
// Extra normals (only on Xbox)
|
|
|
|
|
|
|
|
extern int32 extraNormalsOffset;
|
|
|
|
void registerExtraNormalsPlugin(void);
|
|
|
|
|
|
|
|
// Extra vert colors (not on Xbox)
|
2015-01-19 13:32:12 +01:00
|
|
|
|
2015-01-07 23:06:44 +01:00
|
|
|
struct ExtraVertColors
|
|
|
|
{
|
|
|
|
uint8 *nightColors;
|
|
|
|
uint8 *dayColors;
|
|
|
|
float balance;
|
|
|
|
};
|
|
|
|
|
2015-01-25 22:27:03 +01:00
|
|
|
extern int32 extraVertColorOffset;
|
|
|
|
void registerExtraVertColorPlugin(void);
|
2015-01-07 23:06:44 +01:00
|
|
|
|
2015-01-19 13:32:12 +01:00
|
|
|
// Environment mat
|
|
|
|
|
|
|
|
struct EnvMat
|
|
|
|
{
|
|
|
|
int8 scaleX, scaleY;
|
|
|
|
int8 transScaleX, transScaleY;
|
|
|
|
int8 shininess;
|
|
|
|
Texture *texture;
|
|
|
|
};
|
|
|
|
|
2015-01-25 22:27:03 +01:00
|
|
|
extern int32 envMatOffset;
|
2015-01-19 13:32:12 +01:00
|
|
|
|
|
|
|
// Specular mat
|
|
|
|
|
|
|
|
struct SpecMat
|
|
|
|
{
|
|
|
|
float specularity;
|
|
|
|
Texture *texture;
|
|
|
|
};
|
|
|
|
|
2015-01-25 22:27:03 +01:00
|
|
|
extern int32 specMatOffset;
|
2015-01-19 13:32:12 +01:00
|
|
|
|
2015-01-25 22:27:03 +01:00
|
|
|
void registerEnvSpecPlugin(void);
|
2015-01-19 13:32:12 +01:00
|
|
|
|
2015-01-07 23:06:44 +01:00
|
|
|
}
|