Skip to content

Commit e128664

Browse files
committed
feat: Rework TESCellFullyLoaded event to use event source.
1 parent 727cad1 commit e128664

File tree

2 files changed

+7
-12
lines changed

2 files changed

+7
-12
lines changed

Plugin/src/Events/TESCellFullyLoadedEvent.h

Lines changed: 6 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,10 @@ namespace RE
44
{
55
namespace Cascadia
66
{
7-
class CellFullyLoadedListener : public BSTEventSink<TESCellFullyLoadedEvent>
7+
class CellFullyLoadedListener :
8+
public BSTEventSink<TESCellFullyLoadedEvent>
89
{
910
public:
10-
static CellFullyLoadedListener* GetSingleton()
11-
{
12-
static CellFullyLoadedListener instance;
13-
return &instance;
14-
}
15-
1611
virtual BSEventNotifyControl ProcessEvent(const TESCellFullyLoadedEvent& a_event, BSTEventSource<TESCellFullyLoadedEvent>*) override
1712
{
1813
if (a_event.cell)
@@ -24,10 +19,10 @@ namespace RE
2419
}
2520
};
2621

27-
void RegisterForCellFullyLoaded(BSTEventSink<TESCellFullyLoadedEvent>* a_sink) {
28-
using func_t = decltype(&RegisterForCellFullyLoaded);
29-
REL::Relocation<func_t> func{ REL::ID(2201571) };
30-
return func(a_sink);
22+
void RegisterForCellFullyLoaded() {
23+
CellFullyLoadedListener* fullyLoadedCellEvent = new CellFullyLoadedListener();
24+
TESCellFullyLoadedEvent::GetEventSource()->RegisterSink(fullyLoadedCellEvent);
25+
DEBUG("Registered 'TESCellFullLoadedEvent' sink.");
3126
}
3227
}
3328
}

Plugin/src/main.cpp

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ namespace
5858
RE::Cascadia::RegisterTESInitScriptEventSink();
5959
RE::Cascadia::RegisterTESHarvestEventSink();
6060
RE::Cascadia::RegisterTESHitEventSink();
61-
RE::Cascadia::RegisterForCellFullyLoaded(RE::Cascadia::CellFullyLoadedListener::GetSingleton());
61+
RE::Cascadia::RegisterForCellFullyLoaded();
6262
RE::Cascadia::RegisterLevelIncreaseEventSink();
6363
RE::Cascadia::RegisterTESLoadGameEventSink();
6464

0 commit comments

Comments
 (0)