Add T5 basis

This commit is contained in:
Jan 2021-04-27 18:19:32 +02:00
parent 4f212562fc
commit 2edca7a57e
91 changed files with 4357 additions and 4 deletions

View File

@ -192,7 +192,7 @@ namespace IW3
UShortVec* _2;
};
struct type_align(4) XAnimPartTransFrames
struct XAnimPartTransFrames
{
float mins[3];
float size[3];
@ -221,7 +221,7 @@ namespace IW3
uint16_t _2[1];
};
struct type_align(4) XAnimDeltaPartQuatDataFrames
struct XAnimDeltaPartQuatDataFrames
{
XQuat *frames;
XAnimDynamicIndicesQuat indices;
@ -740,7 +740,7 @@ namespace IW3
char platform[2];
};
struct type_align(4) GfxImageLoadDef
struct GfxImageLoadDef
{
char levelCount;
char flags;
@ -1368,7 +1368,7 @@ namespace IW3
float angles[3];
};
struct type_align(4) GfxLightImage
struct GfxLightImage
{
GfxImage* image;
char samplerState;

View File

View File

View File

@ -0,0 +1,58 @@
#include "GameT5.h"
#include <algorithm>
#include "T5.h"
using namespace T5;
GameT5 g_GameT5;
std::string GameT5::GetFullName()
{
return "Call Of Duty: Black Ops";
}
std::string GameT5::GetShortName()
{
return "T5";
}
void GameT5::AddZone(Zone* zone)
{
m_zones.push_back(zone);
}
void GameT5::RemoveZone(Zone* zone)
{
const auto foundEntry = std::find(m_zones.begin(), m_zones.end(), zone);
if (foundEntry != m_zones.end())
m_zones.erase(foundEntry);
}
std::vector<Zone*> GameT5::GetZones()
{
return m_zones;
}
std::vector<GameLanguagePrefix> GameT5::GetLanguagePrefixes()
{
std::vector<GameLanguagePrefix> prefixes;
prefixes.emplace_back(GameLanguage::LANGUAGE_ENGLISH, "en_");
prefixes.emplace_back(GameLanguage::LANGUAGE_FRENCH, "fr_");
prefixes.emplace_back(GameLanguage::LANGUAGE_FRENCH_CAN, "fc_");
prefixes.emplace_back(GameLanguage::LANGUAGE_GERMAN, "ge_");
prefixes.emplace_back(GameLanguage::LANGUAGE_AUSTRIAN, "ge_");
prefixes.emplace_back(GameLanguage::LANGUAGE_ITALIAN, "it_");
prefixes.emplace_back(GameLanguage::LANGUAGE_SPANISH, "sp_");
prefixes.emplace_back(GameLanguage::LANGUAGE_BRITISH, "br_");
prefixes.emplace_back(GameLanguage::LANGUAGE_RUSSIAN, "ru_");
prefixes.emplace_back(GameLanguage::LANGUAGE_POLISH, "po_");
prefixes.emplace_back(GameLanguage::LANGUAGE_KOREAN, "ko_");
prefixes.emplace_back(GameLanguage::LANGUAGE_JAPANESE, "ja_");
prefixes.emplace_back(GameLanguage::LANGUAGE_CZECH, "cz_");
return prefixes;
}

View File

@ -0,0 +1,17 @@
#pragma once
#include "Game/IGame.h"
class GameT5 : public IGame
{
std::vector<Zone*> m_zones;
public:
std::string GetFullName() override;
std::string GetShortName() override;
void AddZone(Zone* zone) override;
void RemoveZone(Zone* zone) override;
std::vector<Zone*> GetZones() override;
std::vector<GameLanguagePrefix> GetLanguagePrefixes() override;
};
extern GameT5 g_GameT5;

113
src/Common/Game/T5/T5.h Normal file
View File

@ -0,0 +1,113 @@
#pragma once
//#include <d3d9.h>
#include "Image/Texture.h"
#include "T5_Assets.h"
namespace T5
{
struct ScriptStringList
{
int count;
const char** strings;
};
struct XAsset
{
XAssetType type;
XAssetHeader header;
};
struct XAssetList
{
ScriptStringList stringList;
int assetCount;
XAsset* assets;
};
struct cspField_t
{
const char* szName;
int iOffset;
int iFieldType;
};
enum csParseFieldType_t
{
CSPFT_STRING,
CSPFT_STRING_MAX_STRING_CHARS,
CSPFT_STRING_MAX_QPATH,
CSPFT_STRING_MAX_OSPATH,
CSPFT_INT,
CSPFT_BOOL,
CSPFT_QBOOLEAN,
CSPFT_FLOAT,
CSPFT_MILLISECONDS,
CSPFT_FX,
CSPFT_XMODEL,
CSPFT_MATERIAL,
CSPFT_MATERIAL_STREAM,
CSPFT_PHYS_PRESET,
CSPFT_SCRIPT_STRING,
CSPFT_NUM_BASE_FIELD_TYPES
};
enum weapFieldType_t
{
WFT_WEAPONTYPE = CSPFT_NUM_BASE_FIELD_TYPES,
WFT_WEAPONCLASS,
WFT_OVERLAYRETICLE,
WFT_PENETRATE_TYPE,
WFT_IMPACT_TYPE,
WFT_STANCE,
WFT_PROJ_EXPLOSION,
WFT_OFFHAND_CLASS,
WFT_OFFHAND_SLOT,
WFT_ANIMTYPE,
WFT_ACTIVE_RETICLE_TYPE,
WFT_GUIDED_MISSILE_TYPE,
WFT_BOUNCE_SOUND,
WFT_STICKINESS,
WFT_ROTATETYPE,
WFT_OVERLAYINTERFACE,
WFT_INVENTORYTYPE,
WFT_FIRETYPE,
WFT_CLIPTYPE,
WFT_AMMOCOUNTER_CLIPTYPE,
WFT_ICONRATIO_HUD,
WFT_ICONRATIO_AMMOCOUNTER,
WFT_ICONRATIO_KILL,
WFT_ICONRATIO_DPAD,
WFT_ICONRATIO_INDICATOR,
WFT_HIDETAGS,
WFT_EXPLOSION_TAG,
WFT_NOTETRACKSOUNDMAP,
WFT_NUM_FIELD_TYPES
};
enum VehicleFieldType
{
VFT_TYPE = CSPFT_NUM_BASE_FIELD_TYPES,
VFT_CAMERAMODE,
VFT_BOOSTMODE,
VFT_TRACTION_TYPE,
VFT_MPH_TO_INCHES_PER_SECOND,
VFT_POUNDS_TO_GAME_MASS,
VFT_SCR_STRING,
VFT_TEAM,
VFT_KEY_BINDING,
VFT_GRAPH,
VFT_NUM
};
enum constraintsFieldType_t
{
CFT_TYPE = CSPFT_NUM_BASE_FIELD_TYPES,
CFT_NUM_FIELD_TYPES
};
}

File diff suppressed because it is too large Load Diff

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

@ -67,6 +67,41 @@ ZoneCode.Assets = {
"AddonMapEnts"
},
T5 = {
"PhysPreset",
"PhysConstraints",
"DestructibleDef",
"XAnimParts",
"XModel",
"Material",
"MaterialTechniqueSet",
"GfxImage",
"SndBank",
"SndPatch",
"clipMap_t",
"ComWorld",
"GameWorldSp",
"GameWorldMp",
"MapEnts",
"GfxWorld",
"GfxLightDef",
"Font_s",
"MenuList",
"menuDef_t",
"LocalizeEntry",
"WeaponVariantDef",
"SndDriverGlobals",
"FxEffectDef",
"FxImpactTable",
"RawFile",
"StringTable",
"PackIndex",
"XGlobals",
"ddlRoot_t",
"Glasses",
"EmblemSet"
},
T6 = {
"PhysPreset",
"PhysConstraints",
@ -243,6 +278,10 @@ function ZoneCode:project()
self:outputForAssets(self.Assets.IW4)
filter {}
filter "files:**/T5.gen"
self:outputForAssets(self.Assets.T5)
filter {}
filter "files:**/T6.gen"
self:outputForAssets(self.Assets.T6)
filter {}

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File

View File