// ********************************************************************************** // * "makeanim.c" * // * Written by : Mihaela Tancu * // ********************************************************************************** #define MAKEANIM_C // ********************************************************************************** #include #include #include #include #include "afx.h" #include "SCR.h" #include "l_global_v6.h" #include "makeanim.h" #include "Print.h" #include "Binary.h" #include "Anims.h" #include "Levels.h" #include "stdafx.h" #define D_FIL_StructureDefine #include #include "LST.h" #include "TMP.h" #include "ERM.h" #define C_MakeanimVersion "1.0" #define NombreDanimationsParDirectory 1000 #define FAMILY_NAME_LENGTH 32 #define NO_PROBLEMO 0 #define ERR_WRONG_PARAMETERS 1 #define ERR_NO_CHL_FILE 2 #define ERR_NO_TBL_FILE 3 unsigned short uwNumOfBank= 1; unsigned short uwNumOfAnim, uwAnalysedAnim; tdFileName TabShortFileName[NombreDanimationsParDirectory]; char TabValidAnimations[NombreDanimationsParDirectory]; char LongActorName[600]; char LongChannelName[600]; char LongFileName[600]; char AnimationName[600]; char szFamilyName[FAMILY_NAME_LENGTH]; /* ======================================================================================= Name: fn_vAnimationsOnly Description: binarize animations using alw and lvl files Author: Mihaela Tancu ======================================================================================= */ void fn_vAnimationsOnly(char *szLevel) { char szFile[256], szCurrentDir[_MAX_PATH], szAnimDir[_MAX_PATH], szAnimDest[_MAX_PATH] ; int i; strcpy(szSource, sSource); sprintf(szFile, "%s\\World\\Levels\\%s\\%s.alw", szSource, szLevel, szLevel); MLT_vLoadALWFileInLib(szFile); for(i=0; isLinkCharacter); if (bAll) { strcpy(szAnimDir, sInitialDir); strcat(szAnimDir, "\\gamedata\\world\\graphics\\anims\\"); strcat(szAnimDir, g_hAlwaysInFile[i]->sLinkCharacter); strcpy(szAnimDest, szDestBinDir); strcat(szAnimDest, "\\world\\graphics\\anims\\"); strcat(szAnimDest, g_hAlwaysInFile[i]->sLinkCharacter); SAVE_fn_bCopyDirectory(szAnimDir, szAnimDest, TRUE, "A3I"); } if (bTbl) { strcpy(szAnimDir, sInitialDir); strcat(szAnimDir, "\\gamedata\\world\\levels\\_common\\families\\"); strcat(szAnimDir, g_hAlwaysInFile[i]->sLinkCharacter); strcpy(szAnimDest, szDestBinDir); strcat(szAnimDest, "\\world\\levels\\_common\\families\\"); strcat(szAnimDest, g_hAlwaysInFile[i]->sLinkCharacter); SAVE_fn_bCopyDirectory(szAnimDir, szAnimDest, TRUE, "TBL"); } SetCurrentDirectory(szCurrentDir); } MLT_vEraseALWLib(); sprintf(szFile, "%s\\World\\Levels\\%s\\%s.lvl", szSource, szLevel, szLevel); MLT_vLoadLVLFileInLib(szFile); for(i=0; isLinkCharacter); if (bAll) { strcpy(szAnimDir, sInitialDir); strcat(szAnimDir, "\\gamedata\\world\\graphics\\anims\\"); strcat(szAnimDir, g_hInsertCharacterInFile[i]->sLinkCharacter); strcpy(szAnimDest, szDestBinDir); strcat(szAnimDest, "\\world\\graphics\\anims\\"); strcat(szAnimDest, g_hInsertCharacterInFile[i]->sLinkCharacter); SAVE_fn_bCopyDirectory(szAnimDir, szAnimDest, TRUE, "A3I"); } if (bTbl) { strcpy(szAnimDir, sInitialDir); strcat(szAnimDir, "\\gamedata\\world\\levels\\_common\\families\\"); strcat(szAnimDir, g_hInsertCharacterInFile[i]->sLinkCharacter); strcpy(szAnimDest, szDestBinDir); strcat(szAnimDest, "\\world\\levels\\_common\\families\\"); strcat(szAnimDest, g_hInsertCharacterInFile[i]->sLinkCharacter); SAVE_fn_bCopyDirectory(szAnimDir, szAnimDest, TRUE, "TBL"); } SetCurrentDirectory(szCurrentDir); } MLT_vEraseLVLLib(); } /* ======================================================================================= Name: fn_vTextures Description: binarize textures files using lvl and alw files, and .tex files Author: Mihaela Tancu ======================================================================================= */ void fn_vTextures(char *szLevel) { char szFile[256], szCurrentDir[_MAX_PATH]; int i, j; MLT_vInitALWLoad(); sprintf(szFile, "%s\\World\\Levels\\%s\\%s.alw", sSource, szLevel, szLevel); MLT_vLoadALWFileInLib(szFile); for(i=0; isLinkCharacter, g_hAlwaysInFile[i]->sLinkCharacter); MLT_vInitTEXLoad(); MLT_vLoadTEXFileInLib(szFile); for(j=0; jsLoadTexture); SetCurrentDirectory(szCurrentDir); } MLT_vEraseTEXLib(); } MLT_vEraseALWLib(); MLT_vInitLVLLoad(); sprintf(szFile, "%s\\World\\Levels\\%s\\%s.lvl", sSource, szLevel, szLevel); MLT_vLoadLVLFileInLib(szFile); for(i=0; isLinkCharacter, g_hInsertCharacterInFile[i]->sLinkCharacter); MLT_vInitTEXLoad(); MLT_vLoadTEXFileInLib(szFile); for(j=0; jsLoadTexture); SetCurrentDirectory(szCurrentDir); } MLT_vEraseTEXLib(); } MLT_vEraseLVLLib(); sprintf(szFile, "%s\\World\\Levels\\%s\\%s.tex", sSource, szLevel, szLevel); MLT_vInitTEXLoad(); MLT_vLoadTEXFileInLib(szFile); for(j=0; jsLoadTexture); SetCurrentDirectory(szCurrentDir); } MLT_vEraseTEXLib(); } // ********************************************************************************** #undef MAKEANIM_C