From 7660247353700513f7fb506c23b5acec30c3357c Mon Sep 17 00:00:00 2001 From: alexeevdv Date: Sun, 15 Feb 2015 18:10:01 +0300 Subject: [PATCH] WORD type replaced --- FalloutScript.cpp | 10 +++++----- FalloutScript.h | 18 +++++++++--------- FalloutScriptDecompile.cpp | 38 +++++++++++++++++++------------------- FalloutScriptDump.cpp | 2 +- FalloutScriptStore.cpp | 12 ++++++------ Hacks/Types.h | 1 - Namespace.cpp | 2 +- Node.cpp | 2 +- Opcode.cpp | 8 ++++---- Opcode.h | 14 +++++++------- StartupCode.cpp | 2 +- Utility.cpp | 2 +- Utility.h | 2 +- stdafx.h | 7 ++++++- 14 files changed, 62 insertions(+), 58 deletions(-) diff --git a/FalloutScript.cpp b/FalloutScript.cpp index 3cb759f..cb8d6bb 100644 --- a/FalloutScript.cpp +++ b/FalloutScript.cpp @@ -171,7 +171,7 @@ void CFalloutScript::Serialize(CArchive& ar) for(INT_PTR i = 0; i < HeaderTail.GetSize(); i++) { - WORD wGlobalVarOperator = HeaderTail[i].GetOperator(); + uint16_t wGlobalVarOperator = HeaderTail[i].GetOperator(); if ((wGlobalVarOperator != COpcode::O_STRINGOP) && (wGlobalVarOperator != COpcode::O_FLOATOP) && @@ -211,7 +211,7 @@ void CFalloutScript::Serialize(CArchive& ar) } } -void CFalloutScript::ExtractCodeElements(COpcodeArray& Source, COpcodeArray& Destination, WORD wDelimeter, int nSizeOfCodeItem, const char* lpszErrorMessage, bool (CFalloutScript::*pCheckFunc)(WORD, INT_PTR)) +void CFalloutScript::ExtractCodeElements(COpcodeArray& Source, COpcodeArray& Destination, uint16_t wDelimeter, int nSizeOfCodeItem, const char* lpszErrorMessage, bool (CFalloutScript::*pCheckFunc)(uint16_t, INT_PTR)) { INT_PTR i = 0; @@ -259,12 +259,12 @@ void CFalloutScript::ExtractCodeElements(COpcodeArray& Source, COpcodeArray& Des } } -bool CFalloutScript::CheckExportVarCode(WORD wOperator, INT_PTR nIndex) +bool CFalloutScript::CheckExportVarCode(uint16_t wOperator, INT_PTR nIndex) { return (nIndex == 0) && (wOperator == COpcode::O_STRINGOP); } -bool CFalloutScript::CheckSetExportedVarValueCode(WORD wOperator, INT_PTR nIndex) +bool CFalloutScript::CheckSetExportedVarValueCode(uint16_t wOperator, INT_PTR nIndex) { switch(nIndex) { @@ -280,7 +280,7 @@ bool CFalloutScript::CheckSetExportedVarValueCode(WORD wOperator, INT_PTR nIndex } } -bool CFalloutScript::CheckExportProcCode(WORD wOperator, INT_PTR nIndex) +bool CFalloutScript::CheckExportProcCode(uint16_t wOperator, INT_PTR nIndex) { return ((nIndex == 0) || (nIndex == 1)) && (wOperator == COpcode::O_INTOP); } diff --git a/FalloutScript.h b/FalloutScript.h index f592fb4..a77e3bf 100644 --- a/FalloutScript.h +++ b/FalloutScript.h @@ -37,10 +37,10 @@ private: }; private: - void ExtractCodeElements(COpcodeArray& Source, COpcodeArray& Destination, WORD wDelimeter, int nSizeOfCodeItem, const char* lpszErrorMessage, bool (CFalloutScript::*pCheckFunc)(WORD, INT_PTR)); - bool CheckExportVarCode(WORD wOperator, INT_PTR nIndex); - bool CheckSetExportedVarValueCode(WORD wOperator, INT_PTR nIndex); - bool CheckExportProcCode(WORD wOperator, INT_PTR nIndex); + void ExtractCodeElements(COpcodeArray& Source, COpcodeArray& Destination, uint16_t wDelimeter, int nSizeOfCodeItem, const char* lpszErrorMessage, bool (CFalloutScript::*pCheckFunc)(uint16_t, INT_PTR)); + bool CheckExportVarCode(uint16_t wOperator, INT_PTR nIndex); + bool CheckSetExportedVarValueCode(uint16_t wOperator, INT_PTR nIndex); + bool CheckExportProcCode(uint16_t wOperator, INT_PTR nIndex); INT_PTR GetIndexOfProc(const char* lpszName); INT_PTR GetIndexOfProc(ULONG ulNameOffset); @@ -51,8 +51,8 @@ private: void TryRenameImportedVariables(); INT_PTR NextNodeIndex( CNodeArray& NodeArray, INT_PTR nCurrentIndex, INT_PTR nSteep); - bool CheckSequenceOfNodes(CNodeArray& NodeArray, INT_PTR nStartIndex, const WORD wSequence[], INT_PTR nSequenceLen); - bool RemoveSequenceOfNodes(CNodeArray& NodeArray,INT_PTR nStartIndex, INT_PTR nCount, const WORD wSequence[], INT_PTR nSequenceLen); + bool CheckSequenceOfNodes(CNodeArray& NodeArray, INT_PTR nStartIndex, const uint16_t wSequence[], INT_PTR nSequenceLen); + bool RemoveSequenceOfNodes(CNodeArray& NodeArray,INT_PTR nStartIndex, INT_PTR nCount, const uint16_t wSequence[], INT_PTR nSequenceLen); void InitialReduce(); void BuildTree(CNodeArray& NodeArray); @@ -60,7 +60,7 @@ private: void SetBordersOfBlocks(CNodeArray& NodeArray); ULONG BuildTreeBranch(CNodeArray& NodeArray, ULONG nStartIndex, ULONG ulEndOffset); void ReduceConditionalExpressions(CNodeArray& NodeArray); - bool IsOmittetArgsAllowed(WORD wOpcode); + bool IsOmittetArgsAllowed(uint16_t wOpcode); void StoreDefinitions(CArchive& ar); void StoreDeclarations(CArchive& ar); @@ -70,8 +70,8 @@ private: bool ArgNeedParens(const CNode& node, const CNode& argument, CFalloutScript::Assoc assoc = CFalloutScript::NON_ASSOC); std::string GetIndentString(INT_PTR nLevel); - int GetPriority(WORD wOperator); - Assoc GetAssociation(WORD wOperator); + int GetPriority(uint16_t wOperator); + Assoc GetAssociation(uint16_t wOperator); private: diff --git a/FalloutScriptDecompile.cpp b/FalloutScriptDecompile.cpp index 723126a..d0ba745 100644 --- a/FalloutScriptDecompile.cpp +++ b/FalloutScriptDecompile.cpp @@ -29,7 +29,7 @@ void CFalloutScript::InitDefinitions() } else if ((nObjectIndex = GetIndexOfExportedVariable(ulNameOffset)) != -1) { - WORD wOpcode = m_ExportedVarValue[nObjectIndex].GetOperator(); + uint16_t wOpcode = m_ExportedVarValue[nObjectIndex].GetOperator(); ULONG ulValue = m_ExportedVarValue[nObjectIndex].GetArgument(); m_Definitions.SetAt(ulNameOffset, CDefObject(CDefObject::OBJECT_VARIABLE, V_EXPORT | wOpcode, ulValue)); @@ -235,12 +235,12 @@ INT_PTR CFalloutScript::NextNodeIndex( CNodeArray& NodeArray, INT_PTR nCurrentIn return nResult; } -bool CFalloutScript::CheckSequenceOfNodes(CNodeArray& NodeArray, INT_PTR nStartIndex, const WORD wSequence[], INT_PTR nSequenceLen) +bool CFalloutScript::CheckSequenceOfNodes(CNodeArray& NodeArray, INT_PTR nStartIndex, const uint16_t wSequence[], INT_PTR nSequenceLen) { return RemoveSequenceOfNodes(NodeArray, nStartIndex, 0, wSequence, nSequenceLen); } -bool CFalloutScript::RemoveSequenceOfNodes(CNodeArray& NodeArray, INT_PTR nStartIndex, INT_PTR nCount, const WORD wSequence[], INT_PTR nSequenceLen) +bool CFalloutScript::RemoveSequenceOfNodes(CNodeArray& NodeArray, INT_PTR nStartIndex, INT_PTR nCount, const uint16_t wSequence[], INT_PTR nSequenceLen) { INT_PTR nCurrentNodeIndex = nStartIndex - 1; @@ -261,26 +261,26 @@ bool CFalloutScript::RemoveSequenceOfNodes(CNodeArray& NodeArray, INT_PTR nStart void CFalloutScript::InitialReduce() { - static WORD awTailOfProc[3] = { + static uint16_t awTailOfProc[3] = { COpcode::O_POP_TO_BASE, COpcode::O_POP_BASE, COpcode::O_POP_RETURN }; - static WORD awTailOfCriticalProc[4] = { + static uint16_t awTailOfCriticalProc[4] = { COpcode::O_POP_TO_BASE, COpcode::O_POP_BASE, COpcode::O_CRITICAL_DONE, COpcode::O_POP_RETURN }; - static WORD awCheckArgCount[3] = { + static uint16_t awCheckArgCount[3] = { COpcode::O_DUP, COpcode::O_INTOP, COpcode::O_CHECK_ARG_COUNT }; - static WORD awShortCircuitAnd[5] = { + static uint16_t awShortCircuitAnd[5] = { COpcode::O_DUP, COpcode::O_INTOP, COpcode::O_SWAP, @@ -288,7 +288,7 @@ void CFalloutScript::InitialReduce() COpcode::O_POP }; - static WORD awShortCircuitOr[6] = { + static uint16_t awShortCircuitOr[6] = { COpcode::O_DUP, COpcode::O_INTOP, COpcode::O_SWAP, @@ -297,12 +297,12 @@ void CFalloutScript::InitialReduce() COpcode::O_POP }; - static WORD awStoreReturnAdress[2] = { + static uint16_t awStoreReturnAdress[2] = { COpcode::O_INTOP, COpcode::O_D_TO_A }; - static WORD awReturn[6] = { + static uint16_t awReturn[6] = { COpcode::O_D_TO_A, COpcode::O_SWAPA, COpcode::O_POP_TO_BASE, @@ -311,7 +311,7 @@ void CFalloutScript::InitialReduce() COpcode::O_POP_RETURN, }; - static WORD awCriticalReturn[7] = { + static uint16_t awCriticalReturn[7] = { COpcode::O_D_TO_A, COpcode::O_SWAPA, COpcode::O_POP_TO_BASE, @@ -321,7 +321,7 @@ void CFalloutScript::InitialReduce() COpcode::O_POP_RETURN, }; - WORD* pwCode; + uint16_t* pwCode; INT_PTR nCount; for(INT_PTR i = 0 ; i < m_ProcBodies.GetSize(); i++) @@ -404,7 +404,7 @@ void CFalloutScript::InitialReduce() // build tree for all nodes from nStartIndex to file offset ulEndOffset (not including) ULONG CFalloutScript::BuildTreeBranch(CNodeArray& NodeArray, ULONG nStartIndex, ULONG ulEndOffset) { - WORD wOperator; + uint16_t wOperator; ULONG ulArgument; INT_PTR nNumOfArgs; @@ -424,7 +424,7 @@ ULONG CFalloutScript::BuildTreeBranch(CNodeArray& NodeArray, ULONG nStartIndex, case COpcode::O_STORE_EXTERNAL: { INT_PTR nExtVarNameNodeIndex = NextNodeIndex(NodeArray, j, -1); - WORD wOpeartor = NodeArray[nExtVarNameNodeIndex].m_Opcode.GetOperator(); + uint16_t wOpeartor = NodeArray[nExtVarNameNodeIndex].m_Opcode.GetOperator(); ULONG ulArgument = NodeArray[nExtVarNameNodeIndex].m_Opcode.GetArgument(); if ((wOpeartor != COpcode::O_STRINGOP) && (wOpeartor != COpcode::O_INTOP)) @@ -440,7 +440,7 @@ ULONG CFalloutScript::BuildTreeBranch(CNodeArray& NodeArray, ULONG nStartIndex, case COpcode::O_CALL: { INT_PTR nProcNumOfArgsNodeIndex = NextNodeIndex(NodeArray, j, -2); - WORD wProcNumOfArgsOperator = NodeArray[nProcNumOfArgsNodeIndex].m_Opcode.GetOperator(); + uint16_t wProcNumOfArgsOperator = NodeArray[nProcNumOfArgsNodeIndex].m_Opcode.GetOperator(); ULONG ulProcNumOfArgs = NodeArray[nProcNumOfArgsNodeIndex].m_Opcode.GetArgument(); if (wProcNumOfArgsOperator != COpcode::O_INTOP) @@ -456,7 +456,7 @@ ULONG CFalloutScript::BuildTreeBranch(CNodeArray& NodeArray, ULONG nStartIndex, case COpcode::O_ADDREGION: { INT_PTR nAddRegionNumOfArgsNodeIndex = NextNodeIndex(NodeArray, j, -1); - WORD wAddRegionNumOfArgsOperator = NodeArray[nAddRegionNumOfArgsNodeIndex].m_Opcode.GetOperator(); + uint16_t wAddRegionNumOfArgsOperator = NodeArray[nAddRegionNumOfArgsNodeIndex].m_Opcode.GetOperator(); ULONG ulAddRegionNumOfArgs = NodeArray[nAddRegionNumOfArgsNodeIndex].m_Opcode.GetArgument(); if (wAddRegionNumOfArgsOperator != COpcode::O_INTOP) @@ -600,12 +600,12 @@ void CFalloutScript::ExtractAndReduceCondition(CNodeArray& Source, CNodeArray& D } // Reduce - static WORD awStartupOfCondition[2] = { + static uint16_t awStartupOfCondition[2] = { COpcode::O_JMP, COpcode::O_CRITICAL_START }; - static WORD awCleanupOfCondition[2] = { + static uint16_t awCleanupOfCondition[2] = { COpcode::O_CRITICAL_DONE, COpcode::O_STOP_PROG }; @@ -866,7 +866,7 @@ void CFalloutScript::ReduceConditionalExpressions(CNodeArray& NodeArray) */ } -bool CFalloutScript::IsOmittetArgsAllowed(WORD wOpcode) +bool CFalloutScript::IsOmittetArgsAllowed(uint16_t wOpcode) { if (((wOpcode >= COpcode::O_END_CORE) && (wOpcode < COpcode::O_END_OP)) || (wOpcode == COpcode::O_POP_RETURN)) diff --git a/FalloutScriptDump.cpp b/FalloutScriptDump.cpp index 79f4a17..1975c99 100644 --- a/FalloutScriptDump.cpp +++ b/FalloutScriptDump.cpp @@ -22,7 +22,7 @@ void CFalloutScript::Dump(CArchive& ar) std::string strOutLine; - WORD wOperator; + uint16_t wOperator; ULONG ulArgument = 0; ar.WriteString("============== Global variables values ==================\n"); diff --git a/FalloutScriptStore.cpp b/FalloutScriptStore.cpp index b2fbd42..7076b52 100644 --- a/FalloutScriptStore.cpp +++ b/FalloutScriptStore.cpp @@ -420,7 +420,7 @@ void CFalloutScript::StoreDeclarations(CArchive& ar) else { prevNodeType = CNode::TYPE_NORMAL; - WORD wOperator = m_ProcBodies[i][nNodeIndex].m_Opcode.GetOperator(); + uint16_t wOperator = m_ProcBodies[i][nNodeIndex].m_Opcode.GetOperator(); if ((m_ProcBodies[i][nNodeIndex].m_Opcode.GetAttributes().m_Type == COpcode::COpcodeAttributes::TYPE_EXPRESSION) && (wOperator != COpcode::O_STRINGOP) && (wOperator != COpcode::O_FLOATOP) && (wOperator != COpcode::O_INTOP)) @@ -500,7 +500,7 @@ std::string CFalloutScript::GetSource(CNode& node, bool bLabel, ULONG ulNumArgs) return "/* Omitted argument */"; } - WORD wOperator = node.m_Opcode.GetOperator(); + uint16_t wOperator = node.m_Opcode.GetOperator(); ULONG ulArgument = node.m_Opcode.GetArgument(); // sslc additions: @@ -608,7 +608,7 @@ std::string CFalloutScript::GetSource(CNode& node, bool bLabel, ULONG ulNumArgs) case COpcode::O_FETCH_EXTERNAL: { - WORD wOperator = node.m_Arguments[0].m_Opcode.GetOperator(); + uint16_t wOperator = node.m_Arguments[0].m_Opcode.GetOperator(); if ((wOperator != COpcode::O_STRINGOP) && (wOperator != COpcode::O_INTOP)) { @@ -622,7 +622,7 @@ std::string CFalloutScript::GetSource(CNode& node, bool bLabel, ULONG ulNumArgs) case COpcode::O_STORE_EXTERNAL: { - WORD wOperator = node.m_Arguments[1].m_Opcode.GetOperator(); + uint16_t wOperator = node.m_Arguments[1].m_Opcode.GetOperator(); if ((wOperator != COpcode::O_STRINGOP) && (wOperator != COpcode::O_INTOP)) { @@ -1056,7 +1056,7 @@ std::string CFalloutScript::GetIndentString(INT_PTR nLevel) return strResult; } -int CFalloutScript::GetPriority(WORD wOperator) +int CFalloutScript::GetPriority(uint16_t wOperator) { switch(wOperator) { @@ -1092,7 +1092,7 @@ int CFalloutScript::GetPriority(WORD wOperator) } } -CFalloutScript::Assoc CFalloutScript::GetAssociation(WORD wOperator) +CFalloutScript::Assoc CFalloutScript::GetAssociation(uint16_t wOperator) { switch(wOperator) { diff --git a/Hacks/Types.h b/Hacks/Types.h index 9d15fa8..4ee02b6 100644 --- a/Hacks/Types.h +++ b/Hacks/Types.h @@ -10,7 +10,6 @@ // Third party includes typedef unsigned char BYTE; -typedef unsigned short WORD; typedef unsigned long DWORD; typedef unsigned int UINT; typedef int INT_PTR; diff --git a/Namespace.cpp b/Namespace.cpp index 150c4a3..4996016 100644 --- a/Namespace.cpp +++ b/Namespace.cpp @@ -37,7 +37,7 @@ void CNamespace::Serialize(CArchive& ar) if (ulLength == 0xFFFFFFFF) return; ULONG ulTotalRead = 0; - WORD wLengthOfString; + uint16_t wLengthOfString; char* lpszNewString; while(ulTotalRead < ulLength) diff --git a/Node.cpp b/Node.cpp index bca7d7d..8d9e0bc 100644 --- a/Node.cpp +++ b/Node.cpp @@ -59,7 +59,7 @@ void CNode::StoreTree(CArchive& ar, int nIndent, int nIndex) // Node std::string strOutLine; - WORD wOperator = m_Opcode.GetOperator(); + uint16_t wOperator = m_Opcode.GetOperator(); ULONG ulArgument = m_Opcode.GetArgument(); switch(wOperator) diff --git a/Opcode.cpp b/Opcode.cpp index c65fc5b..71f6400 100644 --- a/Opcode.cpp +++ b/Opcode.cpp @@ -61,7 +61,7 @@ void COpcode::Serialize(CArchive& ar) } } -void COpcode::Expect(CArchive& ar, WORD wOperator, bool bArgumentFound, ULONG ulArgument) +void COpcode::Expect(CArchive& ar, uint16_t wOperator, bool bArgumentFound, ULONG ulArgument) { Serialize(ar); @@ -81,7 +81,7 @@ void COpcode::Expect(CArchive& ar, WORD wOperator, bool bArgumentFound, ULONG ul } } -void COpcode::Expect(CArchive& ar, int nCount, WORD pwOperators[]) +void COpcode::Expect(CArchive& ar, int nCount, uint16_t pwOperators[]) { Serialize(ar); bool bFound = false; @@ -131,12 +131,12 @@ int COpcode::GetSize() const } } -WORD COpcode::GetOperator() const +uint16_t COpcode::GetOperator() const { return m_wOperator; } -void COpcode::SetOperator(WORD op) +void COpcode::SetOperator(uint16_t op) { m_wOperator = op; } diff --git a/Opcode.h b/Opcode.h index 82f917f..71f9189 100644 --- a/Opcode.h +++ b/Opcode.h @@ -801,14 +801,14 @@ public: }; // CF2OpcodeAttributesMap - class CF2OpcodeAttributesMap : public CMap + class CF2OpcodeAttributesMap : public CMap { public: CF2OpcodeAttributesMap(); }; // C12OpcodeAttributesMap - class CF1OpcodeAttributesMap : public CMap + class CF1OpcodeAttributesMap : public CMap { public: CF1OpcodeAttributesMap(); @@ -824,20 +824,20 @@ public: public: virtual void Serialize(CArchive& ar); - void Expect(CArchive& ar, WORD wOperator, bool bArgumentFound = false, ULONG ulArgument = 0); - void Expect(CArchive& ar, int nCount, WORD pwOperators[]); + void Expect(CArchive& ar, uint16_t wOperator, bool bArgumentFound = false, ULONG ulArgument = 0); + void Expect(CArchive& ar, int nCount, uint16_t pwOperators[]); bool HasArgument() const; int GetSize() const; - WORD GetOperator() const; - void SetOperator(WORD op); + uint16_t GetOperator() const; + void SetOperator(uint16_t op); ULONG GetArgument() const; const COpcodeAttributes GetAttributes() const; private: - WORD m_wOperator; + uint16_t m_wOperator; ULONG m_ulArgument; }; diff --git a/StartupCode.cpp b/StartupCode.cpp index b28c5a4..7c50090 100644 --- a/StartupCode.cpp +++ b/StartupCode.cpp @@ -11,7 +11,7 @@ CStartupCode::~CStartupCode() void CStartupCode::Serialize(CArchive& ar) { - WORD wExpectOpcodes[17] = { + uint16_t wExpectOpcodes[17] = { COpcode::O_CRITICAL_START, COpcode::O_INTOP, COpcode::O_D_TO_A, diff --git a/Utility.cpp b/Utility.cpp index 5d6d863..2fcaebd 100644 --- a/Utility.cpp +++ b/Utility.cpp @@ -2,7 +2,7 @@ #include "Utility.h" -UINT ReadMSBWord(CArchive& ar, WORD& wValue) +UINT ReadMSBWord(CArchive& ar, uint16_t& wValue) { char* pBuffer = reinterpret_cast(&wValue); return (ar.Read(pBuffer + 1, 1) + ar.Read(pBuffer, 1)); diff --git a/Utility.h b/Utility.h index b543da7..b8c5e56 100644 --- a/Utility.h +++ b/Utility.h @@ -9,7 +9,7 @@ // Third party includes -UINT ReadMSBWord(CArchive& ar, WORD& wValue); +UINT ReadMSBWord(CArchive& ar, uint16_t& wValue); UINT ReadMSBULong(CArchive& ar, ULONG& ulValue); std::string format(std::string format, ...); diff --git a/stdafx.h b/stdafx.h index 29d3f64..0880f59 100644 --- a/stdafx.h +++ b/stdafx.h @@ -1,11 +1,16 @@ #ifndef STDAFX_H #define STDAFX_H +// C++ standard includes +#include +// int2ssl includes #include "Hacks/Types.h" #include "Hacks/CArray.h" -class CDWordArray : public CArray +// Third party includes + +class CDWordArray : public CArray { };