#pragma once #include "NiFileTool.h" #include "NiObjects/ExportNiData.h" #define NI_RECORDE_TEMP_FILE ".Rinion_temp_file.rin.$$$" #define NI_FILE_PLAYER_STOP 0 #define NI_FILE_PLAYER_START 1 #define NI_FILE_PLAYER_GO 2 #define NI_FILE_PLAYER_PAUSE 3 #define NI_FILE_PLAYER_RESET 4 using namespace jbxl; using namespace jbxwl; typedef struct _file_dev_parameter { BOOL repeat; BOOL calc_quat; BOOL mirroring; BOOL cm_unit; BOOL init_pos; float time_scale; // int start_frame; int* controler; CEdit* counter; // } FileDevParam; class CExNiFileDev : public CNiFileTool { public: CExNiFileDev::CExNiFileDev(void) { init();} CExNiFileDev::CExNiFileDev(NiSDK_Lib lib):CNiFileTool(lib) { init();} CExNiFileDev::~CExNiFileDev(void){} public: float len_scale; BOOL init_pos; BOOL mirroring; Vector vect_fwrd; public: void init(void); CString tempFilePath; CExportNiData* niExportData; public: void setTempFilePath(void) { tempFilePath = MakeWorkingFolderPath(_T(NI_RECORDE_TEMP_FILE), TRUE, _T("\\NSL\\Rinions\\"), TRUE);} void deleteRecordeTempFile(void) { if (tempFilePath!=_T("")) tunlink(tempFilePath);} BOOL openTempJointsFile(void) { return open_wfile(tempFilePath);} void closeTempJointsFile(void) { close_wfile();} BOOL backupAsOrig(LPCTSTR backup); BOOL backupAsBVH (LPCTSTR backup); int convertJointsData(CNiNetwork* net, FileDevParam param); void correctPosVect(int frame, int cntrlr); void calcRotQaut(void); };