Partially aka. weapon stuff.
This commit is contained in:
@ -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());
|
||||
|
@ -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"
|
||||
|
28
src/Components/Modules/Weapon.cpp
Normal file
28
src/Components/Modules/Weapon.cpp
Normal 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
|
||||
}
|
||||
}
|
12
src/Components/Modules/Weapon.hpp
Normal file
12
src/Components/Modules/Weapon.hpp
Normal 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);
|
||||
};
|
||||
}
|
Reference in New Issue
Block a user