added everything
This commit is contained in:
332
tools/ms2dtsExporter/msLIB/msLib.h
Executable file
332
tools/ms2dtsExporter/msLIB/msLib.h
Executable file
@ -0,0 +1,332 @@
|
||||
/**********************************************************************
|
||||
*
|
||||
* MilkShape 3D Model Import/Export API
|
||||
*
|
||||
* May 10 2000, Mete Ciragan, chUmbaLum sOft
|
||||
*
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef __MSLIB_H__
|
||||
#define __MSLIB_H__
|
||||
|
||||
|
||||
|
||||
#ifdef MSLIB_EXPORTS
|
||||
#define MSLIB_API __declspec(dllexport)
|
||||
#else
|
||||
#define MSLIB_API __declspec(dllimport)
|
||||
#endif /* MSLIB_EXPORTS */
|
||||
|
||||
|
||||
|
||||
#ifdef WIN32
|
||||
#include <pshpack1.h>
|
||||
#endif /* WIN32 */
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif /* __cplusplus */
|
||||
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
*
|
||||
* Constants
|
||||
*
|
||||
**********************************************************************/
|
||||
|
||||
#define MS_MAX_NAME 32
|
||||
#define MS_MAX_PATH 256
|
||||
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
*
|
||||
* Types
|
||||
*
|
||||
**********************************************************************/
|
||||
|
||||
#ifndef byte
|
||||
typedef unsigned char byte;
|
||||
#endif /* byte */
|
||||
|
||||
#ifndef word
|
||||
typedef unsigned short word;
|
||||
#endif /* word */
|
||||
|
||||
typedef float msVec4[4];
|
||||
typedef float msVec3[3];
|
||||
typedef float msVec2[2];
|
||||
|
||||
/* msFlag */
|
||||
typedef enum {
|
||||
eSelected = 1, eSelected2 = 2, eHidden = 4, eDirty = 8, eAveraged = 16, eUnused = 32
|
||||
} msFlag;
|
||||
|
||||
/* msVertex */
|
||||
typedef struct msVertex
|
||||
{
|
||||
byte nFlags;
|
||||
msVec3 Vertex;
|
||||
float u, v;
|
||||
char nBoneIndex;
|
||||
} msVertex;
|
||||
|
||||
/* msTriangle */
|
||||
typedef struct
|
||||
{
|
||||
word nFlags;
|
||||
word nVertexIndices[3];
|
||||
word nNormalIndices[3];
|
||||
msVec3 Normal;
|
||||
byte nSmoothingGroup;
|
||||
} msTriangle;
|
||||
|
||||
/* msMesh */
|
||||
typedef struct msMesh
|
||||
{
|
||||
byte nFlags;
|
||||
char szName[MS_MAX_NAME];
|
||||
char nMaterialIndex;
|
||||
|
||||
word nNumVertices;
|
||||
word nNumAllocedVertices;
|
||||
msVertex* pVertices;
|
||||
|
||||
word nNumNormals;
|
||||
word nNumAllocedNormals;
|
||||
msVec3* pNormals;
|
||||
|
||||
word nNumTriangles;
|
||||
word nNumAllocedTriangles;
|
||||
msTriangle* pTriangles;
|
||||
} msMesh;
|
||||
|
||||
/* msMaterial */
|
||||
typedef struct msMaterial
|
||||
{
|
||||
int nFlags;
|
||||
char szName[MS_MAX_NAME];
|
||||
msVec4 Ambient;
|
||||
msVec4 Diffuse;
|
||||
msVec4 Specular;
|
||||
msVec4 Emissive;
|
||||
float fShininess;
|
||||
float fTransparency;
|
||||
char szDiffuseTexture[MS_MAX_PATH];
|
||||
char szAlphaTexture[MS_MAX_PATH];
|
||||
int nName;
|
||||
} msMaterial;
|
||||
|
||||
/* msPositionKey */
|
||||
typedef struct msPositionKey
|
||||
{
|
||||
float fTime;
|
||||
msVec3 Position;
|
||||
} msPositionKey;
|
||||
|
||||
/* msRotationKey */
|
||||
typedef struct msRotationKey
|
||||
{
|
||||
float fTime;
|
||||
msVec3 Rotation;
|
||||
} msRotationKey;
|
||||
|
||||
/* msBone */
|
||||
typedef struct msBone
|
||||
{
|
||||
int nFlags;
|
||||
char szName[MS_MAX_NAME];
|
||||
char szParentName[MS_MAX_NAME];
|
||||
msVec3 Position;
|
||||
msVec3 Rotation;
|
||||
|
||||
int nNumPositionKeys;
|
||||
int nNumAllocedPositionKeys;
|
||||
msPositionKey* pPositionKeys;
|
||||
|
||||
int nNumRotationKeys;
|
||||
int nNumAllocedRotationKeys;
|
||||
msRotationKey* pRotationKeys;
|
||||
} msBone;
|
||||
|
||||
/* msModel */
|
||||
typedef struct msModel
|
||||
{
|
||||
int nNumMeshes;
|
||||
int nNumAllocedMeshes;
|
||||
msMesh* pMeshes;
|
||||
|
||||
int nNumMaterials;
|
||||
int nNumAllocedMaterials;
|
||||
msMaterial* pMaterials;
|
||||
|
||||
int nNumBones;
|
||||
int nNumAllocedBones;
|
||||
msBone* pBones;
|
||||
|
||||
int nFrame;
|
||||
int nTotalFrames;
|
||||
|
||||
msVec3 Position;
|
||||
msVec3 Rotation;
|
||||
} msModel;
|
||||
|
||||
|
||||
|
||||
/**********************************************************************
|
||||
*
|
||||
* MilkShape 3D Interface
|
||||
*
|
||||
**********************************************************************/
|
||||
|
||||
/**********************************************************************
|
||||
* msModel
|
||||
**********************************************************************/
|
||||
|
||||
MSLIB_API void msModel_Destroy (msModel *pModel);
|
||||
|
||||
MSLIB_API int msModel_GetMeshCount (msModel *pModel);
|
||||
MSLIB_API int msModel_AddMesh (msModel *pModel);
|
||||
MSLIB_API msMesh* msModel_GetMeshAt (msModel *pModel, int nIndex);
|
||||
MSLIB_API int msModel_FindMeshByName (msModel *pModel, const char *szName);
|
||||
|
||||
MSLIB_API int msModel_GetMaterialCount (msModel *pModel);
|
||||
MSLIB_API int msModel_AddMaterial (msModel *pModel);
|
||||
MSLIB_API msMaterial* msModel_GetMaterialAt (msModel *pModel, int nIndex);
|
||||
MSLIB_API int msModel_FindMaterialByName (msModel *pModel, const char *szName);
|
||||
|
||||
MSLIB_API int msModel_GetBoneCount (msModel *pModel);
|
||||
MSLIB_API int msModel_AddBone (msModel *pModel);
|
||||
MSLIB_API msBone* msModel_GetBoneAt (msModel *pModel, int nIndex);
|
||||
MSLIB_API int msModel_FindBoneByName (msModel *pModel, const char *szName);
|
||||
|
||||
MSLIB_API int msModel_SetFrame (msModel *pModel, int nFrame);
|
||||
MSLIB_API int msModel_GetFrame (msModel *pModel);
|
||||
MSLIB_API int msModel_SetTotalFrames (msModel *pModel, int nTotalFrames);
|
||||
MSLIB_API int msModel_GetTotalFrames (msModel *pModel);
|
||||
MSLIB_API void msModel_SetPosition (msModel *pModel, msVec3 Position);
|
||||
MSLIB_API void msModel_GetPosition (msModel *pModel, msVec3 Position);
|
||||
MSLIB_API void msModel_SetRotation (msModel *pModel, msVec3 Rotation);
|
||||
MSLIB_API void msModel_GetRotation (msModel *pModel, msVec3 Rotation);
|
||||
|
||||
/**********************************************************************
|
||||
* msMesh
|
||||
**********************************************************************/
|
||||
|
||||
MSLIB_API void msMesh_Destroy (msMesh *pMesh);
|
||||
MSLIB_API void msMesh_SetFlags (msMesh *pMesh, byte nFlags);
|
||||
MSLIB_API byte msMesh_GetFlags (msMesh *pMesh);
|
||||
MSLIB_API void msMesh_SetName (msMesh *pMesh, const char *szName);
|
||||
MSLIB_API void msMesh_GetName (msMesh *pMesh, char *szName, int nMaxLength);
|
||||
MSLIB_API void msMesh_SetMaterialIndex (msMesh *pMesh, int nIndex);
|
||||
MSLIB_API int msMesh_GetMaterialIndex (msMesh *pMesh);
|
||||
|
||||
MSLIB_API int msMesh_GetVertexCount (msMesh *pMesh);
|
||||
MSLIB_API int msMesh_AddVertex (msMesh *pMesh);
|
||||
MSLIB_API msVertex* msMesh_GetVertexAt (msMesh *pMesh, int nIndex);
|
||||
MSLIB_API msVertex* msMesh_GetInterpolatedVertexAt (msMesh *pMesh, int nIndex); // NOT YET IMPLEMENTED
|
||||
|
||||
MSLIB_API int msMesh_GetTriangleCount (msMesh *pMesh);
|
||||
MSLIB_API int msMesh_AddTriangle (msMesh *pMesh);
|
||||
MSLIB_API msTriangle* msMesh_GetTriangleAt (msMesh *pMesh, int nIndex);
|
||||
|
||||
MSLIB_API int msMesh_GetVertexNormalCount (msMesh *pMesh);
|
||||
MSLIB_API int msMesh_AddVertexNormal (msMesh *pMesh);
|
||||
MSLIB_API void msMesh_SetVertexNormalAt (msMesh *pMesh, int nIndex, msVec3 Normal);
|
||||
MSLIB_API void msMesh_GetVertexNormalAt (msMesh *pMesh, int nIndex, msVec3 Normal);
|
||||
MSLIB_API void msMesh_GetInterpolatedVertexNormalAt (msMesh *pMesh, int nIndex, msVec3 Normal); // NOT YET IMPLEMENTED
|
||||
|
||||
/**********************************************************************
|
||||
* msTriangle
|
||||
**********************************************************************/
|
||||
|
||||
MSLIB_API void msTriangle_SetFlags (msTriangle* pTriangle, word nFlags);
|
||||
MSLIB_API word msTriangle_GetFlags (msTriangle* pTriangle);
|
||||
MSLIB_API void msTriangle_SetVertexIndices (msTriangle *pTriangle, word nIndices[]);
|
||||
MSLIB_API void msTriangle_GetVertexIndices (msTriangle *pTriangle, word nIndices[]);
|
||||
MSLIB_API void msTriangle_SetNormalIndices (msTriangle *pTriangle, word nNormalIndices[]);
|
||||
MSLIB_API void msTriangle_GetNormalIndices (msTriangle *pTriangle, word nNormalIndices[]);
|
||||
MSLIB_API void msTriangle_SetSmoothingGroup (msTriangle *pTriangle, byte nSmoothingGroup);
|
||||
MSLIB_API byte msTriangle_GetSmoothingGroup (msTriangle *pTriangle);
|
||||
|
||||
/**********************************************************************
|
||||
* msVertex
|
||||
**********************************************************************/
|
||||
|
||||
MSLIB_API void msVertex_SetFlags (msVertex* pVertex, byte nFlags);
|
||||
MSLIB_API byte msVertex_GetFlags (msVertex* pVertex);
|
||||
MSLIB_API void msVertex_SetVertex (msVertex* pVertex, msVec3 Vertex);
|
||||
MSLIB_API void msVertex_GetVertex (msVertex* pVertex, msVec3 Vertex);
|
||||
MSLIB_API void msVertex_SetTexCoords (msVertex* pVertex, msVec2 st);
|
||||
MSLIB_API void msVertex_GetTexCoords (msVertex* pVertex, msVec2 st);
|
||||
MSLIB_API int msVertex_SetBoneIndex (msVertex* pVertex, int nBoneIndex);
|
||||
MSLIB_API int msVertex_GetBoneIndex (msVertex* pVertex);
|
||||
|
||||
/**********************************************************************
|
||||
* msMaterial
|
||||
**********************************************************************/
|
||||
|
||||
MSLIB_API void msMaterial_SetName (msMaterial *pMaterial, const char *szName);
|
||||
MSLIB_API void msMaterial_GetName (msMaterial *pMaterial, char *szName, int nMaxLength);
|
||||
MSLIB_API void msMaterial_SetAmbient (msMaterial *pMaterial, msVec4 Ambient);
|
||||
MSLIB_API void msMaterial_SetAmbient (msMaterial *pMaterial, msVec4 Ambient);
|
||||
MSLIB_API void msMaterial_GetAmbient (msMaterial *pMaterial, msVec4 Ambient);
|
||||
MSLIB_API void msMaterial_SetDiffuse (msMaterial *pMaterial, msVec4 Diffuse);
|
||||
MSLIB_API void msMaterial_GetDiffuse (msMaterial *pMaterial, msVec4 Diffuse);
|
||||
MSLIB_API void msMaterial_SetSpecular (msMaterial *pMaterial, msVec4 Specular);
|
||||
MSLIB_API void msMaterial_GetSpecular (msMaterial *pMaterial, msVec4 Specular);
|
||||
MSLIB_API void msMaterial_SetEmissive (msMaterial *pMaterial, msVec4 Emissive);
|
||||
MSLIB_API void msMaterial_GetEmissive (msMaterial *pMaterial, msVec4 Emissive);
|
||||
MSLIB_API void msMaterial_SetShininess (msMaterial *pMaterial, float fShininess);
|
||||
MSLIB_API float msMaterial_GetShininess (msMaterial *pMaterial);
|
||||
MSLIB_API void msMaterial_SetTransparency (msMaterial *pMaterial, float fTransparency);
|
||||
MSLIB_API float msMaterial_GetTransparency (msMaterial *pMaterial);
|
||||
MSLIB_API void msMaterial_SetDiffuseTexture (msMaterial *pMaterial, const char *szDiffuseTexture);
|
||||
MSLIB_API void msMaterial_GetDiffuseTexture (msMaterial *pMaterial, char *szDiffuseTexture, int nMaxLength);
|
||||
MSLIB_API void msMaterial_SetAlphaTexture (msMaterial *pMaterial, const char *szAlphaTexture);
|
||||
MSLIB_API void msMaterial_GetAlphaTexture (msMaterial *pMaterial, char *szAlphaTexture, int nMaxLength);
|
||||
|
||||
/**********************************************************************
|
||||
* msBone
|
||||
**********************************************************************/
|
||||
|
||||
MSLIB_API void msBone_Destroy (msBone *pBone);
|
||||
MSLIB_API void msBone_SetFlags (msBone *pBone, int nFlags);
|
||||
MSLIB_API int msBone_GetFlags (msBone *pBone);
|
||||
MSLIB_API void msBone_SetName (msBone *pBone, const char *szName);
|
||||
MSLIB_API void msBone_GetName (msBone *pBone, char *szName, int nMaxLength);
|
||||
MSLIB_API void msBone_SetParentName (msBone *pBone, const char *szParentName);
|
||||
MSLIB_API void msBone_GetParentName (msBone *pBone, char *szParentName, int nMaxLength);
|
||||
MSLIB_API void msBone_SetPosition (msBone *pBone, msVec3 Position);
|
||||
MSLIB_API void msBone_GetPosition (msBone *pBone, msVec3 Position);
|
||||
MSLIB_API void msBone_GetInterpolatedPosition (msBone *pBone, msVec3 Position); // NOT YET IMPLEMENTED
|
||||
MSLIB_API void msBone_SetRotation (msBone *pBone, msVec3 Rotation);
|
||||
MSLIB_API void msBone_GetRotation (msBone *pBone, msVec3 Rotation);
|
||||
MSLIB_API void msBone_GetInterpolatedRotation (msBone *pBone, msVec3 Rotation); // NOT YET IMPLEMENTED
|
||||
|
||||
MSLIB_API int msBone_GetPositionKeyCount (msBone *pBone);
|
||||
MSLIB_API int msBone_AddPositionKey (msBone *pBone, float fTime, msVec3 Position);
|
||||
MSLIB_API msPositionKey* msBone_GetPositionKeyAt (msBone *pBone, int nIndex);
|
||||
|
||||
MSLIB_API int msBone_GetRotationKeyCount (msBone *pBone);
|
||||
MSLIB_API int msBone_AddRotationKey (msBone *pBone, float fTime, msVec3 Rotation);
|
||||
MSLIB_API msRotationKey* msBone_GetRotationKeyAt (msBone *pBone, int nIndex);
|
||||
|
||||
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif /* __cplusplus */
|
||||
|
||||
|
||||
|
||||
#ifdef WIN32
|
||||
#include <poppack.h>
|
||||
#endif /* WIN32 */
|
||||
|
||||
|
||||
|
||||
#endif /* __MSLIB_H__ */
|
BIN
tools/ms2dtsExporter/msLIB/msModelLib.lib
Executable file
BIN
tools/ms2dtsExporter/msLIB/msModelLib.lib
Executable file
Binary file not shown.
35
tools/ms2dtsExporter/msLIB/msPlugIn.h
Executable file
35
tools/ms2dtsExporter/msLIB/msPlugIn.h
Executable file
@ -0,0 +1,35 @@
|
||||
#ifndef __MS_PLUGIN_H__
|
||||
#define __MS_PLUGIN_H__
|
||||
|
||||
|
||||
|
||||
struct msModel;
|
||||
class cMsPlugIn
|
||||
{
|
||||
public:
|
||||
enum
|
||||
{
|
||||
eTypeImport = 1,
|
||||
eTypeExport = 2,
|
||||
eTypeTool = 3,
|
||||
};
|
||||
|
||||
public:
|
||||
cMsPlugIn () {};
|
||||
virtual ~cMsPlugIn () {};
|
||||
|
||||
public:
|
||||
virtual int GetType () = 0;
|
||||
virtual const char * GetTitle () = 0;
|
||||
virtual int Execute (msModel* pModel) = 0;
|
||||
};
|
||||
|
||||
|
||||
|
||||
typedef cMsPlugIn* (*FN_CREATE_PLUGIN)();
|
||||
|
||||
///cMsPlugIn *CreatePlugIn ();
|
||||
|
||||
|
||||
|
||||
#endif // __MS_PLUGIN_H__
|
Reference in New Issue
Block a user