LTRESULT CWeaponItemPlugin::PreHook_Dims(const char* szRezPath, const char* szPropValue, char* szModelFilenameBuf, int nModelFilenameBufLen, LTVector & vDims ) { if (!szModelFilenameBuf || nModelFilenameBufLen < 1 || !g_pWeaponMgr ) return LT_UNSUPPORTED; szModelFilenameBuf[0] = '\0'; // Remove the , that is put into some weapon names. char szModifiedPropValue[256]; SAFE_STRCPY( szModifiedPropValue, szPropValue ); strtok( szModifiedPropValue, "," ); WEAPON const* pWeapon = g_pWeaponMgr->GetWeapon(( char* )szModifiedPropValue); if( !pWeapon || !pWeapon->szHHModel[0] ) { return LT_UNSUPPORTED; } strcpy( szModelFilenameBuf, pWeapon->szHHModel ); // Need to convert the .ltb filename to one that DEdit understands... ConvertLTBFilename( szModelFilenameBuf ); return LT_OK; }
LTRESULT CModPlugin::PreHook_Dims( const char* szRezPath, const char* szPropValue, char* szModelFilenameBuf, int nModelFilenameBufLen, LTVector & vDims ) { if (!szModelFilenameBuf || nModelFilenameBufLen < 1 || !g_pWeaponMgr ) return LT_UNSUPPORTED; szModelFilenameBuf[0] = '\0'; MOD const* pMod = g_pWeaponMgr->GetMod(( char* )szPropValue ); if( !pMod || !pMod->szPowerupModel[0] ) { return LT_UNSUPPORTED; } strcpy( szModelFilenameBuf, pMod->szPowerupModel ); // Need to convert the .ltb filename to one that DEdit understands... ConvertLTBFilename( szModelFilenameBuf ); return LT_OK; }
LTRESULT CKeyMgrPlugin::PreHook_Dims( const char* szRezPath, const char* szPropValue, char* szModelFilenameBuf, int nModelFilenameBufLen, LTVector & vDims) { if (!szModelFilenameBuf || nModelFilenameBufLen < 1) return LT_UNSUPPORTED; szModelFilenameBuf[0] = '\0'; if (!g_pKeyMgr) { // This will set the g_pKeyMgr...Since this could also be // set elsewhere, just check for the global bute mgr... char szFile[256]; sprintf(szFile, "%s\\%s", szRezPath, KEY_DEFAULT_FILE); sm_KeyMgr.SetInRezFile(LTFALSE); sm_KeyMgr.Init(szFile); } KEY* pKey = g_pKeyMgr->GetKey((char*)szPropValue); if (!pKey || !pKey->szFilename[0]) { return LT_UNSUPPORTED; } strcpy(szModelFilenameBuf, pKey->szFilename); // Need to convert the .ltb filename to one that DEdit understands... ConvertLTBFilename(szModelFilenameBuf); return LT_OK; }
LTRESULT CPropTypeMgrPlugin::PreHook_Dims( const char* szRezPath, const char* szPropValue, char* szModelFilenameBuf, int nModelFilenameBufLen, LTVector & vDims) { if (!szModelFilenameBuf || nModelFilenameBufLen < 1) return LT_UNSUPPORTED; szModelFilenameBuf[0] = '\0'; if (!g_pPropTypeMgr) { // This will set the g_pPropTypeMgr...Since this could also be // set elsewhere, just check for the global bute mgr... char szFile[256]; sprintf(szFile, "%s\\%s", szRezPath, PTMGR_DEFAULT_FILE); sm_PropTypeMgr.SetInRezFile(LTFALSE); sm_PropTypeMgr.Init(szFile); } PROPTYPE* pPropType = g_pPropTypeMgr->GetPropType((char*)szPropValue); if (!pPropType || pPropType->sFilename.empty( )) { return LT_UNSUPPORTED; } strcpy(szModelFilenameBuf, pPropType->sFilename.c_str( )); // Need to convert the .ltb filename to one that DEdit understands... ConvertLTBFilename(szModelFilenameBuf); return LT_OK; }