1#ifndef JMESSAGE_PROCESSOR_H
2#define JMESSAGE_PROCESSOR_H
10struct TResourceContainer;
64 const char*
top()
const {
65 JUT_ASSERT(181,
upsz_>0);
69 void push(
const char* pszText) {
76 JUT_ASSERT(192,
upsz_>0);
118 char const* pcBase,
u32 uNumber);
134 virtual void do_begin(
void const* pEntry,
char const* pszText);
137 virtual bool do_tag(
u32 uTag,
void const* pData,
u32 uSize);
143 virtual void do_begin_(
void const* pEntry,
char const* pszText) = 0;
145 virtual void do_tag_(
u32 uTag,
void const* pData,
u32 uSize) = 0;
154 void on_begin(
const void* pEntry,
const char* pszText) {
165 if (!
do_tag(uTag, pData, uSize)) {
193 JUT_ASSERT(306, pProcessor!=NULL);
201 if (pResource == NULL) {
211 if (pEntry == NULL) {
294 const char*
process(
char const* pszText);
298 void on_jump(
void const* pEntry,
char const* pszText);
302 void on_branch(
void const* pEntry,
char const* pszText);
313 virtual void do_begin_(
void const* pEntry,
char const* pszText);
315 virtual void do_tag_(
u32 uTag,
void const* pData,
u32 uSize);
318 virtual void do_jump(
void const* pEntry,
char const* pszText);
321 virtual void do_branch(
void const* pEntry,
char const* pszText);
345 int process(
char const* pszText);
348 virtual void do_begin_(
void const* pEntry,
char const* pszText);
350 virtual void do_tag_(
u32 uTag,
void const* pData,
u32 uSize);
static void end(b_oh_class *i_this)
Definition d_a_b_oh.cpp:344
unsigned long u32
Definition types.h:12
unsigned short int u16
Definition types.h:10
signed long s32
Definition types.h:11
OutputIt copy(InputIt first, InputIt last, OutputIt d_first)
Definition algorithm.h:131
@ start
Definition strtoul.c:8
Definition processor.h:103
const char * pcBase
Definition processor.h:105
u32 uRest
Definition processor.h:107
const void * pOffset
Definition processor.h:106
Definition processor.h:96
struct JMessage::TProcessor::TProcess_::rdata rData
void reset_normal()
Definition processor.h:99
void reset_select()
Definition processor.h:100
pfnProcess_func pfnProcess_onCharacterEnd
Definition processor.h:102
TProcess_()
Definition processor.h:97
Definition processor.h:54
const char * top() const
Definition processor.h:64
void pop()
Definition processor.h:75
TStack_ & operator=(const TStack_ &other)
Definition processor.h:84
const char * stack[4]
Definition processor.h:93
u32 size() const
Definition processor.h:62
u32 max_size() const
Definition processor.h:61
bool empty() const
Definition processor.h:57
bool IsPushable() const
Definition processor.h:58
void push(const char *pszText)
Definition processor.h:69
void clear()
Definition processor.h:60
u32 upsz_
Definition processor.h:92
TStack_()
Definition processor.h:55
Definition processor.h:43
virtual void do_end()
Definition processor.cpp:130
bool on_setBegin_isReady_() const
Definition processor.h:182
const char * getMessageText_messageCode(u16 u16Code, u16 u16Index) const
Definition processor.h:208
void setResourceCache(TResource *pResource)
Definition processor.h:246
bool isResourceCache_groupID(u16 u16GroupID) const
Definition processor.h:238
static const char * process_onSelect_(JMessage::TProcessor *pThis)
Definition processor.cpp:281
void stack_popCurrent_()
Definition processor.h:223
virtual void do_begin(void const *pEntry, char const *pszText)
Definition processor.cpp:128
static const char * process_onSelect_limited_(JMessage::TProcessor *pThis)
Definition processor.cpp:267
const char * pszCurrent_
Definition processor.h:251
virtual void do_resetStatus_(char const *pszText)
Definition processor.cpp:169
const TResource * getResource_groupID(u16 u16GroupID) const
Definition processor.cpp:37
virtual void do_begin_(void const *pEntry, char const *pszText)=0
virtual void do_reset()
Definition processor.cpp:126
virtual void do_select_end()
Definition processor.cpp:140
const char * on_word(u32 param_0) const
Definition processor.h:170
void on_tag(u32 uTag, const void *pData, u32 uSize)
Definition processor.h:164
const char * getCurrent() const
Definition processor.h:231
void reset()
Definition processor.cpp:16
bool stack_isPushable() const
Definition processor.h:228
virtual bool do_setBegin_isReady_() const
Definition processor.cpp:171
void on_tag_()
Definition processor.cpp:144
const TReference * getReference() const
Definition processor.h:232
virtual void do_select_separate()
Definition processor.cpp:142
void on_select_begin(char const *(*pfn)(JMessage::TProcessor *), void const *pOffset, char const *pcBase, u32 uNumber)
Definition processor.cpp:76
void resetResourceCache()
Definition processor.h:247
TProcessor(const TReference *pReference)
Definition processor.h:44
virtual void do_select_begin(u32 uNumber)
Definition processor.cpp:138
TStack_ oStack_
Definition processor.h:252
void on_character(int iCharacter)
Definition processor.h:175
virtual bool do_tag(u32 uTag, void const *pData, u32 uSize)
Definition processor.cpp:134
void * getMessageEntry_messageCode(u16 u16Code, u16 u16Index) const
Definition processor.h:198
void on_begin(const void *pEntry, const char *pszText)
Definition processor.h:154
const TResource * getResourceCache() const
Definition processor.h:230
const char * on_message(u32 uCode) const
Definition processor.h:127
const TResource * getResource_groupID_uncached(u16 u16GroupID) const
Definition processor.h:234
int setBegin_messageEntryText(const TProcessor *pProcessor, const void *pEntry, const char *pszText)
Definition processor.h:192
TResourceContainer * getResourceContainer() const
Definition processor.h:242
virtual void do_tag_(u32 uTag, void const *pData, u32 uSize)=0
Definition processor.cpp:175
int on_parseCharacter(const char **ppszText) const
Definition processor.h:172
const TReference * pReference_
Definition processor.h:249
void stack_pushCurrent(char const *pszText)
Definition processor.cpp:21
const char * getMessageText_messageCode(u32 uCode) const
Definition processor.h:128
static bool process_onCharacterEnd_normal_(JMessage::TProcessor *pThis)
Definition processor.cpp:238
bool(*) pfnProcess_func(TProcessor *)
Definition processor.h:52
virtual void do_character(int iCharacter)
Definition processor.cpp:132
void on_select_end()
Definition processor.cpp:99
const char * on_message_limited(u16 u16Index) const
Definition processor.h:177
void on_select_separate()
Definition processor.cpp:109
static bool process_onCharacterEnd_select_(JMessage::TProcessor *pThis)
Definition processor.cpp:250
virtual ~TProcessor()
Definition processor.cpp:14
void stack_popCurrent()
Definition processor.cpp:32
TProcess_ oProcess_
Definition processor.h:253
const TResource * pResourceCache_
Definition processor.h:250
int setBegin_messageEntryText(const TResource *pResource, const void *pEntry, const char *pszText)
Definition processor.h:184
void on_end()
Definition processor.h:159
void on_resetStatus_(const char *pszText)
Definition processor.h:147
bool process_character_()
Definition processor.cpp:218
u32 toMessageCode_messageID(u32 uMsgID, u32, bool *pbValid) const
Definition processor.cpp:46
void stack_pushCurrent_(const char *pszText)
Definition processor.h:218
Definition processor.h:16
TReference()
Definition processor.h:17
TResourceContainer * pcResource_
Definition processor.h:36
TResource * getResource_groupID(u16 u16GroupID) const
Definition processor.h:29
void setResourceContainer(TResourceContainer *container)
Definition processor.h:34
virtual const char * do_word(u32) const
Definition processor.cpp:10
TResourceContainer * getResourceContainer() const
Definition processor.h:33
int on_parseCharacter(const char **ppszText) const
Definition processor.h:22
virtual ~TReference()
Definition processor.cpp:8
const char * on_word(u32 param_0) const
Definition processor.h:27
Definition processor.h:343
virtual void do_begin_(void const *pEntry, char const *pszText)
Definition processor.cpp:627
bool process_messageEntryText(const TProcessor *pProcessor, void const *pEntry, const char *pszText)
Definition processor.h:352
virtual void do_tag_(u32 uTag, void const *pData, u32 uSize)
Definition processor.cpp:631
virtual ~TRenderingProcessor()
Definition processor.cpp:614
virtual void do_end_()
Definition processor.cpp:629
TRenderingProcessor(JMessage::TReference const *pReference)
Definition processor.cpp:611
Definition resource.h:112
TResource * getResource_groupID(u16 u16GroupID)
Definition resource.h:131
int parseCharacter(const char **ppszText) const
Definition resource.h:126
char * getMessageText_messageEntry(const void *pEntry) const
Definition resource.h:43
const char * getMessageText_messageIndex(u16 uMessageIndex) const
Definition resource.h:48
u16 getGroupID() const
Definition resource.h:32
void * getMessageEntry_messageIndex(u16 uMessageIndex) const
Definition resource.h:34
Definition processor.h:272
const void * pTarget
Definition processor.h:274
branchPfn branchFn
Definition processor.h:273
u32 uTarget
Definition processor.h:275
Definition processor.h:277
u32 u32Target
Definition processor.h:279
jumpPfn jumpFn
Definition processor.h:278
Definition processor.h:266
void reset()
Definition processor.h:269
TProcess_()
Definition processor.h:267
union JMessage::TSequenceProcessor::TProcess_::processData process
Definition processor.h:262
virtual void do_branch_query(u32 uCode)
Definition processor.cpp:448
virtual s32 do_branch_queryResult()
Definition processor.cpp:450
void on_jump_register(jumpPfn pfn, u32 u32Target)
Definition processor.cpp:382
static const void * process_onBranch_limited_(TSequenceProcessor const *pProcessor, u32 uTargetIndex)
Definition processor.cpp:590
virtual void do_jump(void const *pEntry, char const *pszText)
Definition processor.cpp:446
TControl * getControl() const
Definition processor.h:323
u32 on_branch_queryResult()
Definition processor.cpp:423
static const void * process_onBranch_(TSequenceProcessor const *pProcessor, u32 uTargetIndex)
Definition processor.cpp:601
static void * process_setMessageCode_(TSequenceProcessor const *pProcessor, u16 u16GroupID, u16 u16Index)
Definition processor.cpp:556
void on_branch_register(branchPfn pfn, void const *pTarget, u32 uTarget)
Definition processor.cpp:408
virtual void do_tag_(u32 uTag, void const *pData, u32 uSize)
Definition processor.cpp:477
virtual void do_begin_(void const *pEntry, char const *pszText)
Definition processor.cpp:468
virtual bool do_jump_isReady()
Definition processor.cpp:442
virtual void do_branch(void const *pEntry, char const *pszText)
Definition processor.cpp:454
virtual bool do_setBegin_isReady_() const
Definition processor.cpp:464
void on_branch(void const *pEntry, char const *pszText)
Definition processor.cpp:429
void on_branch_query(u32 uCode)
Definition processor.cpp:417
virtual bool do_isReady()
Definition processor.cpp:438
SeqStatus
Definition processor.h:285
@ STATUS_BRANCH
Definition processor.h:290
@ STATUS_ONE
Definition processor.h:287
@ STATUS_NORMAL
Definition processor.h:288
@ STATUS_JUMP
Definition processor.h:289
@ STATUS_READY
Definition processor.h:286
TSequenceProcessor(JMessage::TReference const *pReference, JMessage::TControl *pControl)
Definition processor.cpp:295
SeqStatus eStatus_
Definition processor.h:335
const void *(*) jumpPfn(const TSequenceProcessor *)
Definition processor.h:264
static const void * process_onJump_(TSequenceProcessor const *pProcessor)
Definition processor.cpp:584
bool on_isReady()
Definition processor.cpp:377
TProcess_ oProcess2_
Definition processor.h:336
virtual ~TSequenceProcessor()
Definition processor.cpp:302
const void *(*) branchPfn(const TSequenceProcessor *, u32)
Definition processor.h:263
void on_jump(void const *pEntry, char const *pszText)
Definition processor.cpp:396
static const void * process_setMessageCode_(const TSequenceProcessor *pProcessor, u32 uCode)
Definition processor.h:330
static const void * process_setMessageIndex_(const TSequenceProcessor *pProcessor, u16 u16Index)
Definition processor.h:325
TControl * pControl_
Definition processor.h:334
bool on_jump_isReady()
Definition processor.cpp:391
virtual void do_resetStatus_(char const *pszText)
Definition processor.cpp:456
virtual void do_end_()
Definition processor.cpp:472
static void process_setMessageIndex_reserved_(u16 u16Index)
Definition processor.cpp:546
static const void * process_onJump_limited_(TSequenceProcessor const *pProcessor)
Definition processor.cpp:576
Definition processor.h:271
struct JMessage::TSequenceProcessor::TProcess_::processData::jumpData jump_process
struct JMessage::TSequenceProcessor::TProcess_::processData::branchData branch_process