Add localize entry to iw4 and skip snddriverglobals since the asset is not loaded but is still in the asset list of fastfiles

This commit is contained in:
Jan 2020-09-08 13:10:54 +02:00
parent e7898a1f3c
commit c1d2ac6604
6 changed files with 33 additions and 16 deletions

View File

@ -26,7 +26,7 @@ ZoneCode.Assets = {
-- "Font_s", -- "Font_s",
-- "MenuList", -- "MenuList",
-- "menuDef_t", -- "menuDef_t",
-- "LocalizeEntry", "LocalizeEntry",
-- "WeaponCompleteDef", -- "WeaponCompleteDef",
-- "SndDriverGlobals", -- "SndDriverGlobals",
-- "FxEffectDef", -- "FxEffectDef",

View File

@ -26,7 +26,7 @@ asset LoadedSound ASSET_TYPE_LOADED_SOUND;
// asset Font_s ASSET_TYPE_FONT; // asset Font_s ASSET_TYPE_FONT;
// asset MenuList ASSET_TYPE_MENULIST; // asset MenuList ASSET_TYPE_MENULIST;
// asset menuDef_t ASSET_TYPE_MENU; // asset menuDef_t ASSET_TYPE_MENU;
// asset LocalizeEntry ASSET_TYPE_LOCALIZE_ENTRY; asset LocalizeEntry ASSET_TYPE_LOCALIZE_ENTRY;
// asset WeaponCompleteDef ASSET_TYPE_WEAPON; // asset WeaponCompleteDef ASSET_TYPE_WEAPON;
// asset SndDriverGlobals ASSET_TYPE_SNDDRIVER_GLOBALS; // asset SndDriverGlobals ASSET_TYPE_SNDDRIVER_GLOBALS;
// asset FxEffectDef ASSET_TYPE_FX; // asset FxEffectDef ASSET_TYPE_FX;
@ -399,6 +399,14 @@ set condition info::data_ptr never;
set condition info::initial_ptr never; set condition info::initial_ptr never;
set action SetSoundData(MssSound); set action SetSoundData(MssSound);
// =========================================
// LocalizeEntry
// =========================================
use LocalizeEntry;
set string name;
set name name;
set string value;
// ========================================= // =========================================
// RawFile // RawFile
// ========================================= // =========================================

View File

@ -127,7 +127,7 @@ GameAssetPoolIW4::GameAssetPoolIW4(const int priority)
// m_font = nullptr; // m_font = nullptr;
// m_menu_list = nullptr; // m_menu_list = nullptr;
// m_menu_def = nullptr; // m_menu_def = nullptr;
// m_localize = nullptr; m_localize = nullptr;
// m_weapon = nullptr; // m_weapon = nullptr;
// m_snd_driver_globals = nullptr; // m_snd_driver_globals = nullptr;
// m_fx = nullptr; // m_fx = nullptr;
@ -180,7 +180,7 @@ void GameAssetPoolIW4::InitPoolStatic(const asset_type_t type, const size_t capa
// CASE_INIT_POOL_STATIC(ASSET_TYPE_FONT, m_font, Font_s); // CASE_INIT_POOL_STATIC(ASSET_TYPE_FONT, m_font, Font_s);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_MENULIST, m_menu_list, MenuList); // CASE_INIT_POOL_STATIC(ASSET_TYPE_MENULIST, m_menu_list, MenuList);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_MENU, m_menu_def, menuDef_t); // CASE_INIT_POOL_STATIC(ASSET_TYPE_MENU, m_menu_def, menuDef_t);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_LOCALIZE_ENTRY, m_localize, LocalizeEntry); CASE_INIT_POOL_STATIC(ASSET_TYPE_LOCALIZE_ENTRY, m_localize, LocalizeEntry);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_WEAPON, m_weapon, WeaponCompleteDef); // CASE_INIT_POOL_STATIC(ASSET_TYPE_WEAPON, m_weapon, WeaponCompleteDef);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals, SndDriverGlobals); // CASE_INIT_POOL_STATIC(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals, SndDriverGlobals);
// CASE_INIT_POOL_STATIC(ASSET_TYPE_FX, m_fx, FxEffectDef); // CASE_INIT_POOL_STATIC(ASSET_TYPE_FX, m_fx, FxEffectDef);
@ -240,7 +240,7 @@ void GameAssetPoolIW4::InitPoolDynamic(const asset_type_t type)
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_FONT, m_font, Font_s); // CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_FONT, m_font, Font_s);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_MENULIST, m_menu_list, MenuList); // CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_MENULIST, m_menu_list, MenuList);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_MENU, m_menu_def, menuDef_t); // CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_MENU, m_menu_def, menuDef_t);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_LOCALIZE_ENTRY, m_localize, LocalizeEntry); CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_LOCALIZE_ENTRY, m_localize, LocalizeEntry);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_WEAPON, m_weapon, WeaponCompleteDef); // CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_WEAPON, m_weapon, WeaponCompleteDef);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals, SndDriverGlobals); // CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals, SndDriverGlobals);
// CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_FX, m_fx, FxEffectDef); // CASE_INIT_POOL_DYNAMIC(ASSET_TYPE_FX, m_fx, FxEffectDef);
@ -309,7 +309,7 @@ XAssetInfoGeneric* GameAssetPoolIW4::AddAsset(asset_type_t type, std::string nam
// CASE_ADD_TO_POOL(ASSET_TYPE_FONT, m_font, font); // CASE_ADD_TO_POOL(ASSET_TYPE_FONT, m_font, font);
// CASE_ADD_TO_POOL(ASSET_TYPE_MENULIST, m_menu_list, menuList); // CASE_ADD_TO_POOL(ASSET_TYPE_MENULIST, m_menu_list, menuList);
// CASE_ADD_TO_POOL(ASSET_TYPE_MENU, m_menu_def, menu); // CASE_ADD_TO_POOL(ASSET_TYPE_MENU, m_menu_def, menu);
// CASE_ADD_TO_POOL(ASSET_TYPE_LOCALIZE_ENTRY, m_localize, localize); CASE_ADD_TO_POOL(ASSET_TYPE_LOCALIZE_ENTRY, m_localize, localize);
// CASE_ADD_TO_POOL(ASSET_TYPE_WEAPON, m_weapon, weapon); // CASE_ADD_TO_POOL(ASSET_TYPE_WEAPON, m_weapon, weapon);
// CASE_ADD_TO_POOL(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals, sndDriverGlobals); // CASE_ADD_TO_POOL(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals, sndDriverGlobals);
// CASE_ADD_TO_POOL(ASSET_TYPE_FX, m_fx, fx); // CASE_ADD_TO_POOL(ASSET_TYPE_FX, m_fx, fx);
@ -369,7 +369,7 @@ XAssetInfoGeneric* GameAssetPoolIW4::GetAsset(const asset_type_t type, std::stri
// CASE_GET_ASSET(ASSET_TYPE_FONT, m_font); // CASE_GET_ASSET(ASSET_TYPE_FONT, m_font);
// CASE_GET_ASSET(ASSET_TYPE_MENULIST, m_menu_list); // CASE_GET_ASSET(ASSET_TYPE_MENULIST, m_menu_list);
// CASE_GET_ASSET(ASSET_TYPE_MENU, m_menu_def); // CASE_GET_ASSET(ASSET_TYPE_MENU, m_menu_def);
// CASE_GET_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, m_localize); CASE_GET_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, m_localize);
// CASE_GET_ASSET(ASSET_TYPE_WEAPON, m_weapon); // CASE_GET_ASSET(ASSET_TYPE_WEAPON, m_weapon);
// CASE_GET_ASSET(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals); // CASE_GET_ASSET(ASSET_TYPE_SNDDRIVER_GLOBALS, m_snd_driver_globals);
// CASE_GET_ASSET(ASSET_TYPE_FX, m_fx); // CASE_GET_ASSET(ASSET_TYPE_FX, m_fx);

View File

@ -39,7 +39,7 @@ public:
// std::unique_ptr<AssetPool<IW4::Font_s>> m_font; // std::unique_ptr<AssetPool<IW4::Font_s>> m_font;
// std::unique_ptr<AssetPool<IW4::MenuList>> m_menu_list; // std::unique_ptr<AssetPool<IW4::MenuList>> m_menu_list;
// std::unique_ptr<AssetPool<IW4::menuDef_t>> m_menu_def; // std::unique_ptr<AssetPool<IW4::menuDef_t>> m_menu_def;
// std::unique_ptr<AssetPool<IW4::LocalizeEntry>> m_localize; std::unique_ptr<AssetPool<IW4::LocalizeEntry>> m_localize;
// std::unique_ptr<AssetPool<IW4::WeaponCompleteDef>> m_weapon; // std::unique_ptr<AssetPool<IW4::WeaponCompleteDef>> m_weapon;
// std::unique_ptr<AssetPool<IW4::SndDriverGlobals>> m_snd_driver_globals; // std::unique_ptr<AssetPool<IW4::SndDriverGlobals>> m_snd_driver_globals;
// std::unique_ptr<AssetPool<IW4::FxEffectDef>> m_fx; // std::unique_ptr<AssetPool<IW4::FxEffectDef>> m_fx;

View File

@ -98,7 +98,7 @@ namespace IW4
// struct Font_s; // struct Font_s;
// struct MenuList; // struct MenuList;
// struct menuDef_t; // struct menuDef_t;
// struct LocalizeEntry; struct LocalizeEntry;
// struct WeaponCompleteDef; // struct WeaponCompleteDef;
// struct SndDriverGlobals; // struct SndDriverGlobals;
// struct FxEffectDef; // struct FxEffectDef;
@ -138,7 +138,7 @@ namespace IW4
// Font_s* font; // Font_s* font;
// MenuList* menuList; // MenuList* menuList;
// menuDef_t* menu; // menuDef_t* menu;
// LocalizeEntry* localize; LocalizeEntry* localize;
// WeaponCompleteDef* weapon; // WeaponCompleteDef* weapon;
// SndDriverGlobals* sndDriverGlobals; // SndDriverGlobals* sndDriverGlobals;
// FxEffectDef* fx; // FxEffectDef* fx;
@ -971,6 +971,12 @@ namespace IW4
float knots[16][2]; float knots[16][2];
}; };
struct LocalizeEntry
{
const char* value;
const char* name;
};
#ifndef __zonecodegenerator #ifndef __zonecodegenerator
} }
#endif #endif

View File

@ -18,7 +18,7 @@
//#include "Game/IW4/XAssets/gfxworld/gfxworld_load_db.h" //#include "Game/IW4/XAssets/gfxworld/gfxworld_load_db.h"
//#include "Game/IW4/XAssets/leaderboarddef/leaderboarddef_load_db.h" //#include "Game/IW4/XAssets/leaderboarddef/leaderboarddef_load_db.h"
#include "Game/IW4/XAssets/loadedsound/loadedsound_load_db.h" #include "Game/IW4/XAssets/loadedsound/loadedsound_load_db.h"
//#include "Game/IW4/XAssets/localizeentry/localizeentry_load_db.h" #include "Game/IW4/XAssets/localizeentry/localizeentry_load_db.h"
//#include "Game/IW4/XAssets/mapents/mapents_load_db.h" //#include "Game/IW4/XAssets/mapents/mapents_load_db.h"
#include "Game/IW4/XAssets/material/material_load_db.h" #include "Game/IW4/XAssets/material/material_load_db.h"
#include "Game/IW4/XAssets/materialpixelshader/materialpixelshader_load_db.h" #include "Game/IW4/XAssets/materialpixelshader/materialpixelshader_load_db.h"
@ -92,6 +92,9 @@ void ContentLoaderIW4::LoadXAsset(const bool atStreamStart)
loader.Load(&varXAsset->header.headerEntry); \ loader.Load(&varXAsset->header.headerEntry); \
break; \ break; \
} }
#define SKIP_ASSET(type_index, typeName, headerEntry) \
case type_index: \
break;
assert(varXAsset != nullptr); assert(varXAsset != nullptr);
@ -110,9 +113,9 @@ void ContentLoaderIW4::LoadXAsset(const bool atStreamStart)
LOAD_ASSET(ASSET_TYPE_VERTEXDECL, MaterialVertexDeclaration, vertexDecl); LOAD_ASSET(ASSET_TYPE_VERTEXDECL, MaterialVertexDeclaration, vertexDecl);
LOAD_ASSET(ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet, techniqueSet); LOAD_ASSET(ASSET_TYPE_TECHNIQUE_SET, MaterialTechniqueSet, techniqueSet);
LOAD_ASSET(ASSET_TYPE_IMAGE, GfxImage, image); LOAD_ASSET(ASSET_TYPE_IMAGE, GfxImage, image);
LOAD_ASSET(ASSET_TYPE_SOUND, snd_alias_list_t, sound); LOAD_ASSET(ASSET_TYPE_SOUND, snd_alias_list_t, sound);
LOAD_ASSET(ASSET_TYPE_SOUND_CURVE, SndCurve, sndCurve); LOAD_ASSET(ASSET_TYPE_SOUND_CURVE, SndCurve, sndCurve);
LOAD_ASSET(ASSET_TYPE_LOADED_SOUND, LoadedSound, loadSnd); LOAD_ASSET(ASSET_TYPE_LOADED_SOUND, LoadedSound, loadSnd);
// LOAD_ASSET(ASSET_TYPE_CLIPMAP_SP, clipMap_t, clipMap); // LOAD_ASSET(ASSET_TYPE_CLIPMAP_SP, clipMap_t, clipMap);
// LOAD_ASSET(ASSET_TYPE_CLIPMAP_MP, clipMap_t, clipMap); // LOAD_ASSET(ASSET_TYPE_CLIPMAP_MP, clipMap_t, clipMap);
// LOAD_ASSET(ASSET_TYPE_COMWORLD, ComWorld, comWorld); // LOAD_ASSET(ASSET_TYPE_COMWORLD, ComWorld, comWorld);
@ -125,9 +128,9 @@ void ContentLoaderIW4::LoadXAsset(const bool atStreamStart)
// LOAD_ASSET(ASSET_TYPE_FONT, Font_s, font); // LOAD_ASSET(ASSET_TYPE_FONT, Font_s, font);
// LOAD_ASSET(ASSET_TYPE_MENULIST, MenuList, menuList); // LOAD_ASSET(ASSET_TYPE_MENULIST, MenuList, menuList);
// LOAD_ASSET(ASSET_TYPE_MENU, menuDef_t, menu); // LOAD_ASSET(ASSET_TYPE_MENU, menuDef_t, menu);
// LOAD_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry, localize); LOAD_ASSET(ASSET_TYPE_LOCALIZE_ENTRY, LocalizeEntry, localize);
// LOAD_ASSET(ASSET_TYPE_WEAPON, WeaponCompleteDef, weapon); // LOAD_ASSET(ASSET_TYPE_WEAPON, WeaponCompleteDef, weapon);
// LOAD_ASSET(ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals, sndDriverGlobals); SKIP_ASSET(ASSET_TYPE_SNDDRIVER_GLOBALS, SndDriverGlobals, sndDriverGlobals);
// LOAD_ASSET(ASSET_TYPE_FX, FxEffectDef, fx); // LOAD_ASSET(ASSET_TYPE_FX, FxEffectDef, fx);
// LOAD_ASSET(ASSET_TYPE_IMPACT_FX, FxImpactTable, impactFx); // LOAD_ASSET(ASSET_TYPE_IMPACT_FX, FxImpactTable, impactFx);
LOAD_ASSET(ASSET_TYPE_RAWFILE, RawFile, rawfile); LOAD_ASSET(ASSET_TYPE_RAWFILE, RawFile, rawfile);