Partially aka. weapon stuff.

This commit is contained in:
momo5502
2016-01-12 14:27:48 +01:00
parent a016c17e8e
commit 10c8dc9ee0
7 changed files with 49 additions and 1 deletions

View File

@ -17,6 +17,7 @@ namespace Components
Loader::Register(new Colors());
Loader::Register(new D3D9Ex());
Loader::Register(new Logger());
Loader::Register(new Weapon());
Loader::Register(new Window());
Loader::Register(new Command());
Loader::Register(new Console());

View File

@ -28,6 +28,7 @@ namespace Components
#include "Modules\Colors.hpp"
#include "Modules\D3D9Ex.hpp"
#include "Modules\Logger.hpp"
#include "Modules\Weapon.hpp"
#include "Modules\Window.hpp"
#include "Modules\Command.hpp"
#include "Modules\Console.hpp"

View File

@ -0,0 +1,28 @@
#include "STDInclude.hpp"
namespace Components
{
Game::XAssetHeader Weapon::WeaponFileLoad(Game::XAssetType type, const char* filename)
{
Game::XAssetHeader header = { nullptr };
// Try loading raw weapon
if (FileSystem::File(Utils::VA("weapons/mp/%s", filename)).Exists())
{
header.data = Game::BG_LoadWeaponDef_LoadObj(filename);
}
return header;
}
Weapon::Weapon()
{
// Intercept weapon loading
AssetHandler::OnFind(Game::XAssetType::ASSET_TYPE_WEAPON, Weapon::WeaponFileLoad);
// weapon asset existence check
Utils::Hook::Nop(0x408228, 5); // find asset header
Utils::Hook::Nop(0x408230, 5); // is asset default
Utils::Hook::Nop(0x40823A, 2); // jump
}
}

View File

@ -0,0 +1,12 @@
namespace Components
{
class Weapon : public Component
{
public:
Weapon();
const char* GetName() { return "Weapon"; };
private:
static Game::XAssetHeader WeaponFileLoad(Game::XAssetType type, const char* filename);
};
}