mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-18 21:18:23 -04:00
more JStudio progress
This commit is contained in:
@@ -10,34 +10,47 @@ struct TControl {
|
||||
virtual ~TControl();
|
||||
|
||||
void reset();
|
||||
int update();
|
||||
bool update();
|
||||
void render();
|
||||
int setMessageCode(u16, u16);
|
||||
int setMessageID(u32, u32, bool*);
|
||||
void setMessageCode(u32 param_1) {
|
||||
setMessageCode(param_1 >> 0x10, param_1);
|
||||
}
|
||||
void setMessageCode(u16 message_code, u16 message_index) {
|
||||
mMessageCode = message_code;
|
||||
mMessageIndex = message_index;
|
||||
setMessageCode_flush_();
|
||||
}
|
||||
bool setMessageCode_flush_();
|
||||
|
||||
bool isReady_update_() const { return pMessageText_begin_ != 0 && pSequenceProcessor_ != NULL; }
|
||||
bool isReady_render_() const { return field_0x20 != 0 && pRenderingProcessor_ != NULL; }
|
||||
bool isReady_update_() const { return mResourceCache != NULL && mMessageBegin != 0 && mBaseProcSeq != NULL; }
|
||||
bool isReady_render_() const { return mResourceCache != NULL && _20 != NULL && mBaseProcRender != NULL; }
|
||||
|
||||
TProcessor* getProcessor() const {
|
||||
return pSequenceProcessor_ != NULL ? (TProcessor*)pSequenceProcessor_ :
|
||||
(TProcessor*)pRenderingProcessor_;
|
||||
return mBaseProcSeq != NULL ? (TProcessor*)mBaseProcSeq : (TProcessor*)mBaseProcRender;
|
||||
}
|
||||
|
||||
const char* getMessageText_begin() const { return pMessageText_begin_; }
|
||||
void* getMessageEntry() const { return pEntry_; }
|
||||
void setSequenceProcessor(TSequenceProcessor* processor) { pSequenceProcessor_ = processor; }
|
||||
void setRenderingProcessor(TRenderingProcessor* processor) { pRenderingProcessor_ = processor; }
|
||||
const char* getMessageText_begin() const { return mMessageBegin; }
|
||||
void* getMessageEntry() const { return mEntry; }
|
||||
void setSequenceProcessor(TSequenceProcessor* processor) { mBaseProcSeq = processor; }
|
||||
void setRenderingProcessor(TRenderingProcessor* processor) { mBaseProcRender = processor; }
|
||||
|
||||
/* 0x04 */ TSequenceProcessor* pSequenceProcessor_;
|
||||
/* 0x08 */ TRenderingProcessor* pRenderingProcessor_;
|
||||
/* 0x0C */ u16 messageCode_;
|
||||
/* 0x0E */ u16 field_0xe;
|
||||
/* 0x10 */ const TResource* pResourceCache_;
|
||||
/* 0x14 */ void* pEntry_;
|
||||
/* 0x18 */ const char* pMessageText_begin_;
|
||||
/* 0x1C */ const char* pszText_update_current_;
|
||||
/* 0x20 */ const char* field_0x20;
|
||||
/* 0x24 */ TProcessor::TStack_ oStack_renderingProcessor_;
|
||||
void getResource_groupID(u16) const;
|
||||
void getMessageData(u16, u16) const;
|
||||
void do_word(u32);
|
||||
void reset_();
|
||||
|
||||
/* 0x04 */ void* _04;
|
||||
/* 0x08 */ void* _08;
|
||||
/* 0x0C */ TSequenceProcessor* mBaseProcSeq;
|
||||
/* 0x10 */ TRenderingProcessor* mBaseProcRender;
|
||||
/* 0x14 */ u16 mMessageCode;
|
||||
/* 0x16 */ u16 mMessageIndex;
|
||||
/* 0x18 */ const TResource* mResourceCache;
|
||||
/* 0x1C */ const char* mMessageBegin;
|
||||
/* 0x20 */ const char* _20;
|
||||
/* 0x24 */ const char* mCurrentText;
|
||||
/* 0x28 */ void* mEntry;
|
||||
/* 0x2C */ TProcessor::TStack_ mRenderStack;
|
||||
};
|
||||
}; // namespace JMessage
|
||||
|
||||
|
||||
@@ -0,0 +1,10 @@
|
||||
#ifndef JMESSAGE_DATA_H
|
||||
#define JMESSAGE_DATA_H
|
||||
|
||||
namespace JMessage {
|
||||
namespace data {
|
||||
extern const int ga4cSignature;
|
||||
} // namespace data
|
||||
} // namespace JMessage
|
||||
|
||||
#endif /* JMESSAGE_DATA_H */
|
||||
@@ -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
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
#ifndef JSTUDIO_TOOL_LIBRARY_CONSOLE_H
|
||||
#define JSTUDIO_TOOL_LIBRARY_CONSOLE_H
|
||||
|
||||
#include "JSystem/JSupport/JSUMemoryStream.h"
|
||||
|
||||
#endif /* JSTUDIO_TOOL_LIBRARY_CONSOLE_H */
|
||||
Reference in New Issue
Block a user