194 lines
7.2 KiB
C++
194 lines
7.2 KiB
C++
// EdIRIRD.hpp : header file
|
|
//
|
|
|
|
#ifndef _EDIRIRD_HPP_
|
|
#define _EDIRIRD_HPP_
|
|
|
|
#if _MSC_VER >= 1000
|
|
#pragma once
|
|
#endif // _MSC_VER >= 1000
|
|
|
|
#include <afxtempl.h>
|
|
|
|
//For saving function
|
|
#include "SCR.h"
|
|
|
|
#include "EdIRBELs.hpp"
|
|
#include "EdIRDbLs.hpp"
|
|
#include "EdIRBkLs.hpp"
|
|
//BEGIN ROMTEAM Cristi Petrescu 98-04-
|
|
#include "EdIRMacL.hpp"
|
|
//END ROMTEAM Cristi Petrescu 98-04-
|
|
|
|
class CPA_EdIR_DiagView;
|
|
class CTL_Editor_Data;
|
|
class CPA_Actor;
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// class CPA_EdIR_Brain
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
|
|
class CPA_EdIR_Brain
|
|
{
|
|
//Attributes
|
|
private:
|
|
CPA_Actor *m_pclModel;
|
|
BOOL m_bOldApplicationIsOK;
|
|
BOOL m_bDsgVarControlsAreCreated;
|
|
BOOL m_bMustReInitBehaviour;
|
|
CPA_EdIR_DebugInfoList m_clDebugInfoList;
|
|
CPA_EdIR_BreakPointList m_clBreakPointList;
|
|
BOOL m_bAlreadyProcessed;
|
|
|
|
public:
|
|
BOOL m_bHasBeenModified;
|
|
BOOL m_bCanQuickSave;
|
|
CPA_EdIR_MainBehaviourList m_clListOfIntelligenceBehaviours;
|
|
CPA_EdIR_MainBehaviourList m_clListOfReflexBehaviours;
|
|
CPA_EdIR_MainBehaviourList m_clListOfDeclarations;
|
|
// BEGIN CPA2 Cristi Petrescu 98-03-
|
|
CPA_EdIR_MainBehaviourList m_clListOfMacros;
|
|
// END CPA2 Cristi Petrescu 98-03-
|
|
// BEGIN ROMTEAM CPA2 Cristi Petrescu 98-04-
|
|
CPA_EdIR_MainBehaviourList m_clListOfSubrs;
|
|
// END ROMTEAM CPA2 Cristi Petrescu 98-04-
|
|
|
|
//BEGIN ROMTEAM Cristi Petrescu 98-05-
|
|
BOOL m_bMustBuildDebugInfo;
|
|
//END ROMTEAM Cristi Petrescu 98-05-
|
|
|
|
//BEGIN ROMTEAM Cristi Petrescu 98-06-
|
|
BOOL m_bShowPrivateVariable;
|
|
//END ROMTEAM Cristi Petrescu 98-06-
|
|
|
|
//ANNECY CB
|
|
BOOL m_bFirstShow;
|
|
//END ANNECY
|
|
//Operations
|
|
private:
|
|
//for saving script
|
|
void m_fn_vCreateInitControlsForBehaviour(struct AI_tdstAIModel_ *);
|
|
void m_fn_vUpdateInitControlsForBehaviour(struct AI_tdstAIModel_ *);
|
|
void m_fn_vCreateControlsForBehaviour();
|
|
void m_fn_vUpdateControlsForBehaviour();
|
|
void m_fn_vDeleteOldDsgVarControl();
|
|
void m_fn_vRememberOldDsgVarValues();
|
|
void m_fn_vUpdateDatasWithOldValues();
|
|
void m_fn_vReplaceBehaviourNames(CString);
|
|
|
|
public:
|
|
CPA_EdIR_Brain(CPA_Actor *);
|
|
CPA_EdIR_Brain(CPA_Actor *,CPA_EdIR_Brain *);
|
|
~CPA_EdIR_Brain();
|
|
|
|
void m_fn_vUpdateBehavioursList(CPA_EdIR_DiagView *,enum tdeEditState_);
|
|
void m_fn_vCreateOrUpdateDsgVarControlsWithEngineValues();
|
|
CString m_fn_csGetModelName();
|
|
|
|
//for saving script
|
|
static void m_fn_vSaveEngineAI(SCR_tdst_File_Description *,char *,void *,SCR_tde_Ntfy_Action);
|
|
static void m_fn_vSaveEngineAIDeclaration(SCR_tdst_File_Description *,char *,void *,SCR_tde_Ntfy_Action);
|
|
static void m_fn_vSaveEngineAIRules(SCR_tdst_File_Description *,char *,void *,SCR_tde_Ntfy_Action);
|
|
static void m_fn_vSaveEngineAIReflexes(SCR_tdst_File_Description *,char *,void *,SCR_tde_Ntfy_Action);
|
|
//BEGIN ROMTEAM Cristi Petrescu 98-04-
|
|
static void m_fn_vSaveEngineAISubrs(SCR_tdst_File_Description *,char *,void *,SCR_tde_Ntfy_Action);
|
|
//END ROMTEAM Cristi Petrescu 98-04-
|
|
static void m_fn_vSaveEngineAIDefines(SCR_tdst_File_Description *,char *,void *,SCR_tde_Ntfy_Action);
|
|
static void m_fn_vSaveEditorAIDeclaration(SCR_tdst_File_Description *,char *,void *,SCR_tde_Ntfy_Action);
|
|
// BEGIN CPA2 Cristi Petrescu 98-03-
|
|
static void m_fn_vSaveEditorAIMacros(SCR_tdst_File_Description *,char *,void *,SCR_tde_Ntfy_Action);
|
|
// END CPA2 Cristi Petrescu 98-03-
|
|
// BEGIN ROMTEAM CPA2 Cristi Petrescu 98-04-
|
|
static void m_fn_vSaveEditorAISubrs(SCR_tdst_File_Description *,char *,void *,SCR_tde_Ntfy_Action);
|
|
// END ROMTEAM CPA2 Cristi Petrescu 98-04-
|
|
static void m_fn_vSaveEditorAIRules(SCR_tdst_File_Description *,char *,void *,SCR_tde_Ntfy_Action);
|
|
static void m_fn_vSaveEditorAIReflexes(SCR_tdst_File_Description *,char *,void *,SCR_tde_Ntfy_Action);
|
|
//ROMTEAM Check Save 12.06.98 Ionut Grozea
|
|
BOOL m_fn_MacrosHasBeenModified(){ return (m_clListOfMacros.m_fn_bHasBeenModified() || m_clListOfDeclarations.m_fn_bHasBeenModified());};
|
|
//ENDROMTEAM Check Save 12.06.98 Ionut Grozea
|
|
/* CHRISTOPHE QUICK SAVE MODIFICATIONS */
|
|
void m_fn_vQuickSave();
|
|
/* END CHRISTOPHE QUICK SAVE MODIFICATIONS */
|
|
|
|
//Check IA
|
|
BOOL m_fn_bCheckIA();
|
|
|
|
//Interprets IA
|
|
BOOL m_fn_bProcessIA(BOOL,CPA_Actor *pclActor=NULL);
|
|
|
|
//for updating dsg var controls
|
|
CPA_Actor *m_fn_pclGetModel();
|
|
|
|
BOOL m_fn_bHasBeenModified();
|
|
void m_fn_vSetModified(BOOL);
|
|
|
|
BOOL m_fn_bIAIsAlreadyProcessed();
|
|
|
|
BOOL m_fn_bReInitBehaviourIsNeeded();
|
|
void m_fn_vSetReInitBehaviourFlag(BOOL);
|
|
|
|
void m_fn_vNotify();
|
|
|
|
// Shaitan FastC {
|
|
void m_fn_vNotifyIA();
|
|
//End Shaitan FastC }
|
|
|
|
BOOL m_fn_bOldApplicationIsOK();
|
|
|
|
//interface with action editor
|
|
void *m_fn_pvGetStateHandle(CString);
|
|
void m_fn_vGetActionList(CStringList *);
|
|
|
|
//interface with debugger
|
|
CString m_fn_csGetDsgVarName(long lIndex);
|
|
//long m_fn_lGetLineNumber(struct tdstNodeInterpret_ *);
|
|
//long m_fn_lGetColumnNumber(struct tdstNodeInterpret_ *);
|
|
//long m_fn_lGetIndex(struct tdstNodeInterpret_ *);
|
|
void m_fn_vShowBehaviour(struct tdstNodeInterpret_ *);
|
|
//BEGIN ROMTEAM Cristi Petrescu 98-05-
|
|
void m_fn_vShowBehaviour(CString);
|
|
void m_fn_vMustBuildDebugInfo (BOOL);
|
|
CString m_fn_csGetBehaviourName (struct tdstNodeInterpret_ *);
|
|
|
|
//void m_fn_vStartExecutedCodeDisplay (CString);
|
|
//void m_fn_vStopExecutedCodeDisplay (CString);
|
|
void m_fn_vClearExecutedNodes (CString);
|
|
void m_fn_vSetOneExecutedNode (struct tdstNodeInterpret_ *);
|
|
|
|
void m_fn_vUpdateDebugInfo (void);
|
|
|
|
// BEGIN ROMTEAM Cristi Petrescu 98-06-
|
|
long m_fn_lGetVariableIndex (CString VariableName);
|
|
// END ROMTEAM Cristi Petrescu 98-06-
|
|
//END ROMTEAM Cristi Petrescu 98-05-
|
|
|
|
CPA_EdIR_BreakPointList *m_fn_pclGetBreakPointList();
|
|
void m_fn_vSetOrRemoveOneBreakPoint(long,CString);
|
|
void m_fn_vSetEngineBreakPoints(BOOL);
|
|
|
|
CPA_EdIR_DebugInfoList *m_fn_pclGetDebugInfoList(void) ;
|
|
|
|
// Shaitan => Macros to subroutines
|
|
void m_fn_vChangeAllEditorMacrosToSubroutines (void);
|
|
void m_fn_vRemoveAllMacrosFromEditorAI (void);
|
|
void m_fn_vUpdateEditorSubroutines (void);
|
|
void m_fn_vChangeOneEditorMacroToSubroutines (CPA_EdIR_MainBehaviour *pMacroMainBehaviour);
|
|
void m_fn_vRemoveOneMacroFromEditorAI (CPA_EdIR_MainBehaviour *pMacroMainBehaviour);
|
|
long m_fn_lCreateEditorSubroutinesFromMacro (CPA_EdIR_MainBehaviour *pMacroMainBehaviour, CRect crTitleRect, CStringList *pListOfMacros, CStringList *pListOfSubrs);
|
|
void m_fn_vUpdateEditorMacroCallsInEditorAI (CStringList *pListOfMacros, CStringList *pListOfSubrs);
|
|
void m_fn_vReplaceInEditorBehaviour (CPA_EdIR_MainBehaviour *pMainBehaviour, CString csMacroName, CString csSubrName);
|
|
|
|
CString m_fn_csBuildDefineListForMacro (CStringList *pListOfDefines, CString csMacroText);
|
|
void m_fn_vRegisterEditorDefinesForMacro (CPA_EdIR_MainBehaviour *pMacroMainBehaviour, CStringList *pListOfDefines);
|
|
|
|
CString m_fn_csExtractCommentLinesForNextMacro (CString csMacroText);
|
|
|
|
int m_fn_iGetFirstValidOccurence (CString csLowRules, CString csLowSearched);
|
|
|
|
BOOL m_fn_bIsIsolatedName (int iStartIndex, int iEndIndex, CString csRule);
|
|
BOOL m_fn_bIsInCommentedLine (int iStartIndex, CString csRule);
|
|
// Shaitan => Macros to subroutines
|
|
};
|
|
|
|
#endif //_EDIRIRD_HPP_
|