more JStudio progress

This commit is contained in:
LagoLunatic
2024-03-04 22:39:12 -05:00
parent 9777926534
commit 7f543cf441
10 changed files with 264 additions and 163 deletions
+46 -32
View File
@@ -12,7 +12,7 @@ struct TResource;
struct TProcessor {
typedef bool (*OnCharacterEndCallBack)(TProcessor*);
typedef void (*OnSelectBeginCallBack)(TProcessor*);
typedef const char* (*OnSelectBeginCallBack)(TProcessor*);
typedef const char* (*ProcessOnSelectCallBack)(TProcessor*);
struct TStack_ {
@@ -43,7 +43,7 @@ struct TProcessor {
inline void pop() { mSize--; }
u32 mSize; // _00
const char* mStack[4]; // _04
const char* mStack[3]; // _04
};
struct TProcess {
@@ -63,20 +63,18 @@ struct TProcessor {
TProcessData mData; // _04
};
virtual ~TProcessor(); // _08
virtual void do_reset(); // _0C
virtual void do_character(int); // _10
virtual bool do_tag(u32, const void*, u32); // _14
virtual bool do_systemTagCode(u16, const void*, u32); // _18
virtual void do_select_begin(u32); // _1C
virtual void do_select_end(); // _20
virtual void do_select_separate(); // _24
virtual void do_reset_(const char*) = 0; // _28
virtual bool do_setBegin_isReady_() const; // _2C
virtual void do_begin_(const void*, const char*) = 0; // _30
virtual void do_end_() = 0; // _34
virtual bool do_tag_(u32, const void*, u32) = 0; // _38
virtual void do_systemTagCode_(u16, const void*, u32) = 0; // _3C
~TProcessor();
virtual void do_character(int);
virtual bool do_tag(u32, const void*, u32);
virtual bool do_systemTagCode(u16, const void*, u32);
virtual void do_select_begin(u32);
virtual void do_select_end();
virtual void do_select_separate();
virtual void do_begin_(const void*, const char*) = 0;
virtual void do_end_() = 0;
virtual bool do_tag_(u32, const void*, u32) = 0;
virtual void do_systemTagCode_(u16, const void*, u32) = 0;
void setBegin_messageCode(u16, u16);
void setBegin_messageID(u32, u32, bool*);
@@ -92,9 +90,12 @@ struct TProcessor {
static const char* process_onSelect_(TProcessor*);
void reset_(const char*);
void process_select_limited_(TProcessor*);
void process_select_(TProcessor*);
int setBegin_messageEntryText(const TResource* resource, const void* entry, const char* param_2)
{
mResourceCache = resource;
// mResourceCache = resource;
reset_(param_2);
do_begin_(entry, param_2);
return TRUE;
@@ -107,7 +108,7 @@ struct TProcessor {
// Unused/inlined:
void pushCurrent(const char*);
const char* popCurrent();
void on_select_begin(OnSelectBeginCallBack* p1, const char* p2, const void* p3, const char* p4, u32 p5);
void on_select_begin(OnSelectBeginCallBack, const void*, const char*, u32);
void on_select_end();
void on_select_separate();
void on_tag_();
@@ -117,16 +118,17 @@ struct TProcessor {
const TReference* mReference; // _04
const TResource* mResourceCache; // _08
const char* mCurrent; // _0C
TStack_ mStack; // _10
TStack_ mStack; // _10
TProcess mProcess; // _24
};
struct TSequenceProcessor : public TProcessor {
typedef void OnJumpRegisterCallBack(TSequenceProcessor*);
typedef void OnBranchRegisterCallBack(TSequenceProcessor*, u32);
typedef bool OnJumpRegisterCallBack(TSequenceProcessor*);
typedef bool OnBranchRegisterCallBack(TSequenceProcessor*, u32);
typedef void* ProcessOnJumpCallBack(const TSequenceProcessor*);
TSequenceProcessor(const TReference*, TControl*);
TSequenceProcessor(TControl*);
virtual ~TSequenceProcessor(); // _08
virtual void do_reset_(const char*); // _28
@@ -155,15 +157,27 @@ struct TSequenceProcessor : public TProcessor {
void process_onBranch_limited_(const TSequenceProcessor*, u32);
void process_onBranch_(const TSequenceProcessor*, u32);
void reset_(const char*);
void process_jump_limited_(TSequenceProcessor*);
void process_jump_(TSequenceProcessor*);
void process_branch_limited_(TSequenceProcessor*, u32);
void process_branch_(TSequenceProcessor*, u32);
// Unused/inlined:
const char* toString_status(int);
int toValue_status(const char*);
void on_jump_register(OnJumpRegisterCallBack*, const void*, u32);
void on_branch_register(OnBranchRegisterCallBack*, const void*, const void*, u32);
void on_jump_register(OnJumpRegisterCallBack*, u32);
void on_branch_register(OnBranchRegisterCallBack*, const void*, u32);
void on_branch_query(u16);
void process_setMessageIndex_reserved_(u16);
void process_setMessageCode_(const TSequenceProcessor*, u16, u16);
void reset() {}
void setBegin(const void* param_1, const char* param_2) {
reset_(param_2);
do_begin_(param_1, param_2);
}
// _00 = VTBL
// _00-_38 = TProcessor
TControl* _38; // _38
@@ -175,16 +189,16 @@ struct TSequenceProcessor : public TProcessor {
struct TRenderingProcessor : public TProcessor {
TRenderingProcessor(const TReference*);
TRenderingProcessor(TControl*);
virtual ~TRenderingProcessor(); // _08
virtual void do_reset_(const char*); // _28
virtual void do_begin_(const void*, const char*); // _30
virtual void do_end_(); // _34
virtual bool do_tag_(u32, const void*, u32); // _38
virtual void do_systemTagCode_(u16, const void*, u32); // _3C
virtual void do_begin(const void*, const char*); // _40
virtual void do_end(); // _44
virtual void do_begin_(const void*, const char*);
virtual void do_end_();
virtual bool do_tag_(u32, const void*, u32);
virtual void do_systemTagCode_(u16, const void*, u32);
virtual ~TRenderingProcessor();
virtual void do_begin(const void*, const char*);
virtual void do_end();
void process(const char*);
// _00 = VTBL