ksys: Start adding MessageTransceiver

This commit is contained in:
Léo Lam 2021-01-29 18:57:38 +01:00
parent da6709ab83
commit 2e4ecb41cf
No known key found for this signature in database
GPG Key ID: 0DF30F9081000741
8 changed files with 108 additions and 34 deletions

View File

@ -92665,7 +92665,7 @@
0x00000071011f5f50,sub_71011F5F50,20,_ZN4ksys21MessageDispatcherBaseC2Ev
0x00000071011f5f64,nullsub_4672,4,_ZN4ksys21MessageDispatcherBaseD1Ev
0x00000071011f5f68,j__ZdlPv_1224,4,_ZN4ksys21MessageDispatcherBaseD0Ev
0x00000071011f5f6c,GlobalMessage::setGlobalPtr,4,
0x00000071011f5f6c,GlobalMessage::setGlobalPtr,4,_ZN4ksys21MessageDispatcherBase19setAsGlobalInstanceEv
0x00000071011f5f70,sub_71011F5F70,112,_ZNK4ksys21MessageDispatcherBase27checkDerivedRuntimeTypeInfoEPKN4sead15RuntimeTypeInfo9InterfaceE
0x00000071011f5fe0,sub_71011F5FE0,92,_ZNK4ksys21MessageDispatcherBase18getRuntimeTypeInfoEv
0x00000071011f603c,j_j_Struct1A::dtor_0,4,
@ -92681,17 +92681,17 @@
0x00000071011f6474,sub_71011F6474,8,
0x00000071011f647c,sub_71011F647C,204,
0x00000071011f6548,sub_71011F6548,92,
0x00000071011f65a4,getGlobalMessagePtr,36,
0x00000071011f65c8,nullsub_4673,4,
0x00000071011f65cc,j__ZdlPv_1225,4,
0x00000071011f65a4,getGlobalMessagePtr,36,_ZN4ksys18MessageTransceiverC1Ev
0x00000071011f65c8,nullsub_4673,4,_ZN4ksys18MessageTransceiverD1Ev
0x00000071011f65cc,j__ZdlPv_1225,4,_ZN4ksys18MessageTransceiverD0Ev
0x00000071011f65d0,sub_71011F65D0,28,
0x00000071011f65ec,sub_71011F65EC,28,
0x00000071011f6608,sub_71011F6608,8,
0x00000071011f6610,sub_71011F6610,8,
0x00000071011f6618,sub_71011F6618,8,
0x00000071011f6620,sub_71011F6620,8,
0x00000071011f6628,getGlobalMessage,8,
0x00000071011f6630,GlobalMessage::setGlobalPtr_,16,
0x00000071011f6608,sub_71011F6608,8,_ZN4ksys18MessageTransceiver2m2Ev
0x00000071011f6610,sub_71011F6610,8,_ZN4ksys18MessageTransceiver2m3Ev
0x00000071011f6618,sub_71011F6618,8,_ZN4ksys18MessageTransceiver2m4Ev
0x00000071011f6620,sub_71011F6620,8,_ZN4ksys18MessageTransceiver2m5Ev
0x00000071011f6628,getGlobalMessage,8,_ZN4ksys18MessageTransceiver13getDispatcherEv
0x00000071011f6630,GlobalMessage::setGlobalPtr_,16,_ZN4ksys18MessageTransceiver19setGlobalDispatcherEPNS_21MessageDispatcherBaseE
0x00000071011f6640,sub_71011F6640,16,
0x00000071011f6650,j_j_Struct1A::dtor_1,4,
0x00000071011f6654,sub_71011F6654,36,

Can't render this file because it is too large.

View File

@ -9,7 +9,7 @@
#include "KingSystem/ActorSystem/actAiClassDef.h"
#include "KingSystem/ActorSystem/actBaseProcLink.h"
#include "KingSystem/Utils/Thread/MessageTransceiver.h"
#include "KingSystem/Utils/Thread/MessageTransceiverId.h"
#include "KingSystem/Utils/Types.h"
namespace ksys {

View File

@ -9,7 +9,10 @@ target_sources(uking PRIVATE
Thread/ManagedTaskHandle.h
Thread/MessageDispatcherBase.cpp
Thread/MessageDispatcherBase.h
Thread/MessageTransceiver.cpp
Thread/MessageTransceiver.h
Thread/MessageTransceiverId.cpp
Thread/MessageTransceiverId.h
Thread/Task.cpp
Thread/Task.h
Thread/TaskData.h

View File

@ -1,4 +1,5 @@
#include "KingSystem/Utils/Thread/MessageDispatcherBase.h"
#include "KingSystem/Utils/Thread/MessageTransceiver.h"
namespace ksys {
@ -6,4 +7,8 @@ MessageDispatcherBase::MessageDispatcherBase() = default;
MessageDispatcherBase::~MessageDispatcherBase() = default;
void MessageDispatcherBase::setAsGlobalInstance() {
MessageTransceiver::setGlobalDispatcher(this);
}
} // namespace ksys

View File

@ -0,0 +1,33 @@
#include "KingSystem/Utils/Thread/MessageTransceiver.h"
namespace ksys {
MessageTransceiver::MessageTransceiver() = default;
MessageTransceiver::~MessageTransceiver() = default;
bool MessageTransceiver::m2() {
return false;
}
bool MessageTransceiver::m3() {
return false;
}
bool MessageTransceiver::m4() {
return false;
}
bool MessageTransceiver::m5() {
return false;
}
MessageDispatcherBase* MessageTransceiver::getDispatcher() {
return mDispatcher;
}
void MessageTransceiver::setGlobalDispatcher(MessageDispatcherBase* dispatcher) {
sDispatcher = dispatcher;
}
} // namespace ksys

View File

@ -2,34 +2,31 @@
#include <basis/seadTypes.h>
#include "KingSystem/Utils/Types.h"
namespace ksys {
struct MesTransceiverId {
MesTransceiverId() { reset(); }
~MesTransceiverId() { reset(); }
class MessageDispatcherBase;
struct MesTransceiverId;
void reset() {
_0 = -1;
_4 = -1;
_8 = nullptr;
_10 = nullptr;
}
class MessageTransceiver {
public:
MessageTransceiver();
virtual ~MessageTransceiver();
bool checkX();
bool checkY();
virtual bool m2();
virtual bool m3();
virtual bool m4();
virtual bool m5();
virtual void* getSomePtr() = 0;
MessageDispatcherBase* getDispatcher();
MesTransceiverId& operator=(const MesTransceiverId& other) {
_0 = other._0;
_4 = other._4;
_8 = other._8;
_10 = other._10;
return *this;
}
static void setGlobalDispatcher(MessageDispatcherBase* dispatcher);
s32 _0{};
s32 _4{};
void* _8{};
void* _10{};
private:
static MessageDispatcherBase* sDispatcher;
MessageDispatcherBase* mDispatcher = sDispatcher;
MesTransceiverId* mId{};
};
KSYS_CHECK_SIZE_NX150(MesTransceiverId, 0x18);
} // namespace ksys

View File

@ -0,0 +1 @@
#include "KingSystem/Utils/Thread/MessageTransceiverId.h"

View File

@ -0,0 +1,35 @@
#pragma once
#include <basis/seadTypes.h>
#include "KingSystem/Utils/Types.h"
namespace ksys {
struct MesTransceiverId {
MesTransceiverId() { reset(); }
~MesTransceiverId() { reset(); }
void reset() {
_0 = -1;
_4 = -1;
_8 = nullptr;
_10 = nullptr;
}
MesTransceiverId& operator=(const MesTransceiverId& other) {
_0 = other._0;
_4 = other._4;
_8 = other._8;
_10 = other._10;
return *this;
}
s32 _0{};
s32 _4{};
void* _8{};
void* _10{};
};
KSYS_CHECK_SIZE_NX150(MesTransceiverId, 0x18);
} // namespace ksys