add intro component

This commit is contained in:
quaK 2023-02-12 14:02:09 +02:00
parent a958f23326
commit b2acb99381

View File

@ -0,0 +1,43 @@
#include <std_include.hpp>
#include "loader/component_loader.hpp"
#include "game/game.hpp"
#include <utils/hook.hpp>
namespace intro
{
namespace
{
utils::hook::detour cinematic_start_playback_hook;
void cinematic_start_playback(const char* name, const int playbackFlags, const int startOffsetMsec,
const bool fillerBink, const int pauseState)
{
if (name == "startup"s)
{
#ifdef DEV_BUILD
return;
#endif
const auto* intro_dvar = game::Dvar_FindVar("intro");
if (intro_dvar && !intro_dvar->current.enabled)
{
return;
}
}
cinematic_start_playback_hook.invoke(name, playbackFlags, startOffsetMsec, fillerBink, pauseState);
}
}
class component final : public component_interface
{
public:
void post_unpack() override
{
cinematic_start_playback_hook.create(0xDD6A10_b, cinematic_start_playback);
}
};
}
REGISTER_COMPONENT(intro::component)