[Scummvm-git-logs] scummvm master -> 16f6045e6c587ffd8c6795b20418a63104c4c9e2
sev-
noreply at scummvm.org
Tue May 14 20:44:56 UTC 2024
This automated email contains information about 1 new commit which have been
pushed to the 'scummvm' repo located at https://github.com/scummvm/scummvm .
Summary:
16f6045e6c DIRECTOR: Replace STL types with custom ones in Decompiler
Commit: 16f6045e6c587ffd8c6795b20418a63104c4c9e2
https://github.com/scummvm/scummvm/commit/16f6045e6c587ffd8c6795b20418a63104c4c9e2
Author: Eugene Sandulenko (sev at scummvm.org)
Date: 2024-05-14T22:44:14+02:00
Commit Message:
DIRECTOR: Replace STL types with custom ones in Decompiler
Upstream commit d402b603bdb59599edcac43436ab65f5dcfa85d7
Changed paths:
engines/director/lingo/lingodec/ast.h
engines/director/lingo/lingodec/context.cpp
engines/director/lingo/lingodec/context.h
engines/director/lingo/lingodec/handler.cpp
engines/director/lingo/lingodec/handler.h
engines/director/lingo/lingodec/names.cpp
engines/director/lingo/lingodec/names.h
engines/director/lingo/lingodec/resolver.h
engines/director/lingo/lingodec/script.cpp
engines/director/lingo/lingodec/script.h
diff --git a/engines/director/lingo/lingodec/ast.h b/engines/director/lingo/lingodec/ast.h
index 391b0427fb1..2dbbf36107b 100644
--- a/engines/director/lingo/lingodec/ast.h
+++ b/engines/director/lingo/lingodec/ast.h
@@ -104,9 +104,9 @@ struct LabelNode : Node {
/* LoopNode */
struct LoopNode : StmtNode {
- uint32_t startIndex;
+ uint32 startIndex;
- LoopNode(NodeType t, uint32_t startIndex) : StmtNode(t), startIndex(startIndex) {
+ LoopNode(NodeType t, uint32 startIndex) : StmtNode(t), startIndex(startIndex) {
isLoop = true;
}
virtual ~LoopNode() = default;
@@ -151,7 +151,7 @@ struct BlockNode : Node {
Common::Array<Common::SharedPtr<Node>> children;
// for use during translation:
- uint32_t endPos;
+ uint32 endPos;
CaseLabelNode *currentCaseLabel;
BlockNode() : Node(kBlockNode), endPos(-1), currentCaseLabel(nullptr) {}
@@ -386,7 +386,7 @@ struct RepeatWhileStmtNode : LoopNode {
Common::SharedPtr<Node> condition;
Common::SharedPtr<BlockNode> block;
- RepeatWhileStmtNode(uint32_t startIndex, Common::SharedPtr<Node> c)
+ RepeatWhileStmtNode(uint32 startIndex, Common::SharedPtr<Node> c)
: LoopNode(kRepeatWhileStmtNode, startIndex) {
condition = Common::move(c);
condition->parent = this;
@@ -404,7 +404,7 @@ struct RepeatWithInStmtNode : LoopNode {
Common::SharedPtr<Node> list;
Common::SharedPtr<BlockNode> block;
- RepeatWithInStmtNode(uint32_t startIndex, Common::String v, Common::SharedPtr<Node> l)
+ RepeatWithInStmtNode(uint32 startIndex, Common::String v, Common::SharedPtr<Node> l)
: LoopNode(kRepeatWithInStmtNode, startIndex) {
varName = v;
list = Common::move(l);
@@ -425,7 +425,7 @@ struct RepeatWithToStmtNode : LoopNode {
Common::SharedPtr<Node> end;
Common::SharedPtr<BlockNode> block;
- RepeatWithToStmtNode(uint32_t startIndex, Common::String v, Common::SharedPtr<Node> s, bool up, Common::SharedPtr<Node> e)
+ RepeatWithToStmtNode(uint32 startIndex, Common::String v, Common::SharedPtr<Node> s, bool up, Common::SharedPtr<Node> e)
: LoopNode(kRepeatWithToStmtNode, startIndex), up(up) {
varName = v;
start = Common::move(s);
@@ -487,8 +487,8 @@ struct CaseStmtNode : StmtNode {
Common::SharedPtr<OtherwiseNode> otherwise;
// for use during translation:
- int32_t endPos = -1;
- int32_t potentialOtherwisePos = -1;
+ int32 endPos = -1;
+ int32 potentialOtherwisePos = -1;
CaseStmtNode(Common::SharedPtr<Node> v) : StmtNode(kCaseStmtNode) {
value = Common::move(v);
diff --git a/engines/director/lingo/lingodec/context.cpp b/engines/director/lingo/lingodec/context.cpp
index e2307bbb6a0..3b35a915a51 100644
--- a/engines/director/lingo/lingodec/context.cpp
+++ b/engines/director/lingo/lingodec/context.cpp
@@ -40,7 +40,7 @@ void ScriptContext::read(Common::SeekableReadStream &stream) {
}
lnam = resolver->getScriptNames(lnamSectionID);
- for (uint32_t i = 1; i <= entryCount; i++) {
+ for (uint32 i = 1; i <= entryCount; i++) {
auto section = sectionMap[i - 1];
if (section.sectionID > -1) {
Script *script = resolver->getScript(section.sectionID);
diff --git a/engines/director/lingo/lingodec/context.h b/engines/director/lingo/lingodec/context.h
index a8846eb07b3..62b0a503013 100644
--- a/engines/director/lingo/lingodec/context.h
+++ b/engines/director/lingo/lingodec/context.h
@@ -24,25 +24,25 @@ struct ScriptNames;
/* ScriptContext */
struct ScriptContext {
- int32_t unknown0;
- int32_t unknown1;
- uint32_t entryCount;
- uint32_t entryCount2;
- uint16_t entriesOffset;
- int16_t unknown2;
- int32_t unknown3;
- int32_t unknown4;
- int32_t unknown5;
- int32_t lnamSectionID;
- uint16_t validCount;
- uint16_t flags;
- int16_t freePointer;
+ int32 unknown0;
+ int32 unknown1;
+ uint32 entryCount;
+ uint32 entryCount2;
+ uint16 entriesOffset;
+ int16 unknown2;
+ int32 unknown3;
+ int32 unknown4;
+ int32 unknown5;
+ int32 lnamSectionID;
+ uint16 validCount;
+ uint16 flags;
+ int16 freePointer;
unsigned int version;
ChunkResolver *resolver;
ScriptNames *lnam;
Common::Array<ScriptContextMapEntry> sectionMap;
- Common::StableMap<uint32_t, Script *> scripts;
+ Common::StableMap<uint32, Script *> scripts;
ScriptContext(unsigned int version, ChunkResolver *resolver) : version(version),
resolver(resolver),
@@ -57,10 +57,10 @@ struct ScriptContext {
/* ScriptContextMapEntry */
struct ScriptContextMapEntry {
- int32_t unknown0;
- int32_t sectionID;
- uint16_t unknown1;
- uint16_t unknown2;
+ int32 unknown0;
+ int32 sectionID;
+ uint16 unknown1;
+ uint16 unknown2;
void read(Common::SeekableReadStream &stream);
};
diff --git a/engines/director/lingo/lingodec/handler.cpp b/engines/director/lingo/lingodec/handler.cpp
index b4bfc1b85c3..58b8ef9fbf5 100644
--- a/engines/director/lingo/lingodec/handler.cpp
+++ b/engines/director/lingo/lingodec/handler.cpp
@@ -39,11 +39,11 @@ void Handler::readRecord(Common::SeekableReadStream &stream) {
void Handler::readData(Common::SeekableReadStream &stream) {
stream.seek(compiledOffset);
while (stream.pos() < compiledOffset + compiledLen) {
- uint32_t pos = stream.pos() - compiledOffset;
- uint8_t op = stream.readByte();
+ uint32 pos = stream.pos() - compiledOffset;
+ byte op = stream.readByte();
OpCode opcode = static_cast<OpCode>(op >= 0x40 ? 0x40 + op % 0x40 : op);
// argument can be one, two or four bytes
- int32_t obj = 0;
+ int32 obj = 0;
if (op >= 0xc0) {
// four bytes
obj = stream.readSint32BE();
@@ -75,9 +75,9 @@ void Handler::readData(Common::SeekableReadStream &stream) {
globalNameIDs = readVarnamesTable(stream, globalsCount, globalsOffset);
}
-Common::Array<int16_t> Handler::readVarnamesTable(Common::SeekableReadStream &stream, uint16_t count, uint32_t offset) {
+Common::Array<int16> Handler::readVarnamesTable(Common::SeekableReadStream &stream, uint16 count, uint32 offset) {
stream.seek(offset);
- Common::Array<int16_t> nameIDs;
+ Common::Array<int16> nameIDs;
nameIDs.resize(count);
for (size_t i = 0; i < count; i++) {
nameIDs[i] = stream.readUint16BE();
@@ -329,15 +329,15 @@ void Handler::tagLoops() {
// Tag any instructions which are internal loop logic with kTagSkip, so that
// they will be skipped during translation.
- for (uint32_t startIndex = 0; startIndex < bytecodeArray.size(); startIndex++) {
+ for (uint32 startIndex = 0; startIndex < bytecodeArray.size(); startIndex++) {
// All loops begin with jmpifz...
auto &jmpifz = bytecodeArray[startIndex];
if (jmpifz.opcode != kOpJmpIfZ)
continue;
// ...and end with endrepeat.
- uint32_t jmpPos = jmpifz.pos + jmpifz.obj;
- uint32_t endIndex = bytecodePosMap[jmpPos];
+ uint32 jmpPos = jmpifz.pos + jmpifz.obj;
+ uint32 endIndex = bytecodePosMap[jmpPos];
auto &endRepeat = bytecodeArray[endIndex - 1];
if (endRepeat.opcode != kOpEndRepeat || (endRepeat.pos - endRepeat.obj) > jmpifz.pos)
continue;
@@ -346,9 +346,9 @@ void Handler::tagLoops() {
bytecodeArray[startIndex].tag = loopType;
if (loopType == kTagRepeatWithIn) {
- for (uint32_t i = startIndex - 7, end = startIndex - 1; i <= end; i++)
+ for (uint32 i = startIndex - 7, end = startIndex - 1; i <= end; i++)
bytecodeArray[i].tag = kTagSkip;
- for (uint32_t i = startIndex + 1, end = startIndex + 5; i <= end; i++)
+ for (uint32 i = startIndex + 1, end = startIndex + 5; i <= end; i++)
bytecodeArray[i].tag = kTagSkip;
bytecodeArray[endIndex - 3].tag = kTagNextRepeatTarget; // pushint8 1
bytecodeArray[endIndex - 3].ownerLoop = startIndex;
@@ -357,7 +357,7 @@ void Handler::tagLoops() {
bytecodeArray[endIndex - 1].ownerLoop = startIndex;
bytecodeArray[endIndex].tag = kTagSkip; // pop 3
} else if (loopType == kTagRepeatWithTo || loopType == kTagRepeatWithDownTo) {
- uint32_t conditionStartIndex = bytecodePosMap[endRepeat.pos - endRepeat.obj];
+ uint32 conditionStartIndex = bytecodePosMap[endRepeat.pos - endRepeat.obj];
bytecodeArray[conditionStartIndex - 1].tag = kTagSkip; // set
bytecodeArray[conditionStartIndex].tag = kTagSkip; // get
bytecodeArray[startIndex - 1].tag = kTagSkip; // lteq / gteq
@@ -375,7 +375,7 @@ void Handler::tagLoops() {
}
}
-bool Handler::isRepeatWithIn(uint32_t startIndex, uint32_t endIndex) {
+bool Handler::isRepeatWithIn(uint32 startIndex, uint32 endIndex) {
if (startIndex < 7 || startIndex > bytecodeArray.size() - 6)
return false;
if (!(bytecodeArray[startIndex - 7].opcode == kOpPeek && bytecodeArray[startIndex - 7].obj == 0))
@@ -420,7 +420,7 @@ bool Handler::isRepeatWithIn(uint32_t startIndex, uint32_t endIndex) {
return true;
}
-BytecodeTag Handler::identifyLoop(uint32_t startIndex, uint32_t endIndex) {
+BytecodeTag Handler::identifyLoop(uint32 startIndex, uint32 endIndex) {
if (isRepeatWithIn(startIndex, endIndex))
return kTagRepeatWithIn;
@@ -440,7 +440,7 @@ BytecodeTag Handler::identifyLoop(uint32_t startIndex, uint32_t endIndex) {
}
auto &endRepeat = bytecodeArray[endIndex - 1];
- uint32_t conditionStartIndex = bytecodePosMap[endRepeat.pos - endRepeat.obj];
+ uint32 conditionStartIndex = bytecodePosMap[endRepeat.pos - endRepeat.obj];
if (conditionStartIndex < 1)
return kTagRepeatWhile;
@@ -466,7 +466,7 @@ BytecodeTag Handler::identifyLoop(uint32_t startIndex, uint32_t endIndex) {
return kTagRepeatWhile;
}
OpCode setOp = bytecodeArray[conditionStartIndex - 1].opcode;
- int32_t varID = bytecodeArray[conditionStartIndex - 1].obj;
+ int32 varID = bytecodeArray[conditionStartIndex - 1].obj;
if (!(bytecodeArray[conditionStartIndex].opcode == getOp && bytecodeArray[conditionStartIndex].obj == varID))
return kTagRepeatWhile;
@@ -493,10 +493,10 @@ BytecodeTag Handler::identifyLoop(uint32_t startIndex, uint32_t endIndex) {
void Handler::parse() {
tagLoops();
stack.clear();
- uint32_t i = 0;
+ uint32 i = 0;
while (i < bytecodeArray.size()) {
auto &bytecode = bytecodeArray[i];
- uint32_t pos = bytecode.pos;
+ uint32 pos = bytecode.pos;
// exit last block if at end
while (pos == ast.currentBlock->endPos) {
auto exitedBlock = ast.currentBlock;
@@ -530,7 +530,7 @@ void Handler::parse() {
}
}
-uint32_t Handler::translateBytecode(Bytecode &bytecode, uint32_t index) {
+uint32 Handler::translateBytecode(Bytecode &bytecode, uint32 index) {
if (bytecode.tag == kTagSkip || bytecode.tag == kTagNextRepeatTarget) {
// This is internal loop logic. Skip it.
return 1;
@@ -774,7 +774,7 @@ uint32_t Handler::translateBytecode(Bytecode &bytecode, uint32_t index) {
break;
case kOpJmp:
{
- uint32_t targetPos = bytecode.pos + bytecode.obj;
+ uint32 targetPos = bytecode.pos + bytecode.obj;
size_t targetIndex = bytecodePosMap[targetPos];
auto &targetBytecode = bytecodeArray[targetIndex];
auto ancestorLoop = ast.currentBlock->ancestorLoop();
@@ -825,8 +825,8 @@ uint32_t Handler::translateBytecode(Bytecode &bytecode, uint32_t index) {
break;
case kOpJmpIfZ:
{
- uint32_t endPos = bytecode.pos + bytecode.obj;
- uint32_t endIndex = bytecodePosMap[endPos];
+ uint32 endPos = bytecode.pos + bytecode.obj;
+ uint32 endIndex = bytecodePosMap[endPos];
switch (bytecode.tag) {
case kTagRepeatWhile:
{
@@ -854,7 +854,7 @@ uint32_t Handler::translateBytecode(Bytecode &bytecode, uint32_t index) {
auto end = pop();
auto start = pop();
auto endRepeat = bytecodeArray[endIndex - 1];
- uint32_t conditionStartIndex = bytecodePosMap[endRepeat.pos - endRepeat.obj];
+ uint32 conditionStartIndex = bytecodePosMap[endRepeat.pos - endRepeat.obj];
Common::String varName = getVarNameFromSet(bytecodeArray[conditionStartIndex - 1]);
auto loop = Common::SharedPtr<RepeatWithToStmtNode>(new RepeatWithToStmtNode(index, varName, Common::move(start), up, Common::move(end)));
loop->block->endPos = endPos;
@@ -915,7 +915,7 @@ uint32_t Handler::translateBytecode(Bytecode &bytecode, uint32_t index) {
case kOpPut:
{
PutType putType = static_cast<PutType>((bytecode.obj >> 4) & 0xF);
- uint32_t varType = bytecode.obj & 0xF;
+ uint32 varType = bytecode.obj & 0xF;
auto var = readVar(varType);
auto val = pop();
translation = Common::SharedPtr<Node>(new PutStmtNode(putType, Common::move(var), Common::move(val)));
@@ -924,7 +924,7 @@ uint32_t Handler::translateBytecode(Bytecode &bytecode, uint32_t index) {
case kOpPutChunk:
{
PutType putType = static_cast<PutType>((bytecode.obj >> 4) & 0xF);
- uint32_t varType = bytecode.obj & 0xF;
+ uint32 varType = bytecode.obj & 0xF;
auto var = readVar(varType);
auto chunk = readChunkRef(Common::move(var));
auto val = pop();
@@ -1011,7 +1011,7 @@ uint32_t Handler::translateBytecode(Bytecode &bytecode, uint32_t index) {
// This must be a case. Find the comparison against the switch expression.
auto originalStackSize = stack.size();
- uint32_t currIndex = index + 1;
+ uint32 currIndex = index + 1;
Bytecode *currBytecode = &bytecodeArray[currIndex];
do {
translateBytecode(*currBytecode, currIndex);
@@ -1228,7 +1228,7 @@ uint32_t Handler::translateBytecode(Bytecode &bytecode, uint32_t index) {
return 1;
}
-Common::String posToString(int32_t pos) {
+Common::String posToString(int32 pos) {
return Common::String::format("[%3d]", pos);
}
diff --git a/engines/director/lingo/lingodec/handler.h b/engines/director/lingo/lingodec/handler.h
index f5ad04831ae..1d64b4efdcd 100644
--- a/engines/director/lingo/lingodec/handler.h
+++ b/engines/director/lingo/lingodec/handler.h
@@ -27,29 +27,29 @@ struct Script;
/* Handler */
struct Handler {
- int16_t nameID = 0;
- uint16_t vectorPos = 0;
- uint32_t compiledLen = 0;
- uint32_t compiledOffset = 0;
- uint16_t argumentCount = 0;
- uint32_t argumentOffset = 0;
- uint16_t localsCount = 0;
- uint32_t localsOffset = 0;
- uint16_t globalsCount = 0;
- uint32_t globalsOffset = 0;
- uint32_t unknown1 = 0;
- uint16_t unknown2 = 0;
- uint16_t lineCount = 0;
- uint32_t lineOffset = 0;
- uint32_t stackHeight = 0;
-
- Common::Array<int16_t> argumentNameIDs;
- Common::Array<int16_t> localNameIDs;
- Common::Array<int16_t> globalNameIDs;
+ int16 nameID = 0;
+ uint16 vectorPos = 0;
+ uint32 compiledLen = 0;
+ uint32 compiledOffset = 0;
+ uint16 argumentCount = 0;
+ uint32 argumentOffset = 0;
+ uint16 localsCount = 0;
+ uint32 localsOffset = 0;
+ uint16 globalsCount = 0;
+ uint32 globalsOffset = 0;
+ uint32 unknown1 = 0;
+ uint16 unknown2 = 0;
+ uint16 lineCount = 0;
+ uint32 lineOffset = 0;
+ uint32 stackHeight = 0;
+
+ Common::Array<int16> argumentNameIDs;
+ Common::Array<int16> localNameIDs;
+ Common::Array<int16> globalNameIDs;
Script *script = nullptr;
Common::Array<Bytecode> bytecodeArray;
- Common::StableMap<uint32_t, size_t> bytecodePosMap;
+ Common::StableMap<uint32, size_t> bytecodePosMap;
Common::Array<Common::String> argumentNames;
Common::Array<Common::String> localNames;
Common::Array<Common::String> globalNames;
@@ -68,7 +68,7 @@ struct Handler {
void readRecord(Common::SeekableReadStream &stream);
void readData(Common::SeekableReadStream &stream);
- Common::Array<int16_t> readVarnamesTable(Common::SeekableReadStream &stream, uint16_t count, uint32_t offset);
+ Common::Array<int16> readVarnamesTable(Common::SeekableReadStream &stream, uint16 count, uint32 offset);
void readNames();
bool validName(int id) const;
Common::String getName(int id) const;
@@ -81,25 +81,25 @@ struct Handler {
Common::SharedPtr<Node> readV4Property(int propertyType, int propertyID);
Common::SharedPtr<Node> readChunkRef(Common::SharedPtr<Node> string);
void tagLoops();
- bool isRepeatWithIn(uint32_t startIndex, uint32_t endIndex);
- BytecodeTag identifyLoop(uint32_t startIndex, uint32_t endIndex);
+ bool isRepeatWithIn(uint32 startIndex, uint32 endIndex);
+ BytecodeTag identifyLoop(uint32 startIndex, uint32 endIndex);
void parse();
- uint32_t translateBytecode(Bytecode &bytecode, uint32_t index);
+ uint32 translateBytecode(Bytecode &bytecode, uint32 index);
void writeBytecodeText(CodeWriter &code, bool dotSyntax) const;
};
/* Bytecode */
struct Bytecode {
- uint8_t opID;
+ byte opID;
OpCode opcode;
- int32_t obj;
- uint32_t pos;
+ int32 obj;
+ uint32 pos;
BytecodeTag tag;
- uint32_t ownerLoop;
+ uint32 ownerLoop;
Common::SharedPtr<Node> translation;
- Bytecode(uint8_t op, int32_t o, uint32_t p)
+ Bytecode(byte op, int32 o, uint32 p)
: opID(op), obj(o), pos(p), tag(kTagNone), ownerLoop(UINT32_MAX) {
opcode = static_cast<OpCode>(op >= 0x40 ? 0x40 + op % 0x40 : op);
}
diff --git a/engines/director/lingo/lingodec/names.cpp b/engines/director/lingo/lingodec/names.cpp
index 3b28d81fcde..bac5d4e8527 100644
--- a/engines/director/lingo/lingodec/names.cpp
+++ b/engines/director/lingo/lingodec/names.cpp
@@ -295,7 +295,7 @@ Common::StableMap<unsigned int, Common::String> StandardNames::memberPropertyNam
{ 0x13, "type" }
});
-Common::String StandardNames::getOpcodeName(uint8_t id) {
+Common::String StandardNames::getOpcodeName(byte id) {
if (id >= 0x40)
id = 0x40 + id % 0x40;
auto it = opcodeNames.find(id);
diff --git a/engines/director/lingo/lingodec/names.h b/engines/director/lingo/lingodec/names.h
index ae6226de5e0..cd434371472 100644
--- a/engines/director/lingo/lingodec/names.h
+++ b/engines/director/lingo/lingodec/names.h
@@ -35,19 +35,19 @@ struct StandardNames {
static Common::StableMap<unsigned int, Common::String> animation2PropertyNames;
static Common::StableMap<unsigned int, Common::String> memberPropertyNames;
- static Common::String getOpcodeName(uint8_t id);
+ static Common::String getOpcodeName(byte id);
static Common::String getName(const Common::StableMap<unsigned int, Common::String> &nameMap, unsigned int id);
};
/* ScriptNames */
struct ScriptNames {
- int32_t unknown0;
- int32_t unknown1;
- uint32_t len1;
- uint32_t len2;
- uint16_t namesOffset;
- uint16_t namesCount;
+ int32 unknown0;
+ int32 unknown1;
+ uint32 len1;
+ uint32 len2;
+ uint16 namesOffset;
+ uint16 namesCount;
Common::Array<Common::String> names;
unsigned int version;
diff --git a/engines/director/lingo/lingodec/resolver.h b/engines/director/lingo/lingodec/resolver.h
index 2bdbdfe0fe3..8356ac497cf 100644
--- a/engines/director/lingo/lingodec/resolver.h
+++ b/engines/director/lingo/lingodec/resolver.h
@@ -16,8 +16,8 @@ class ChunkResolver {
public:
ChunkResolver() {}
virtual ~ChunkResolver() {}
- virtual Script *getScript(int32_t id) = 0;
- virtual ScriptNames *getScriptNames(int32_t id) = 0;
+ virtual Script *getScript(int32 id) = 0;
+ virtual ScriptNames *getScriptNames(int32 id) = 0;
};
}
diff --git a/engines/director/lingo/lingodec/script.cpp b/engines/director/lingo/lingodec/script.cpp
index ffbf9d64804..c4c3f8d8b88 100644
--- a/engines/director/lingo/lingodec/script.cpp
+++ b/engines/director/lingo/lingodec/script.cpp
@@ -81,10 +81,10 @@ void Script::read(Common::SeekableReadStream &stream) {
}
}
-Common::Array<int16_t> Script::readVarnamesTable(Common::SeekableReadStream &stream, uint16_t count, uint32_t offset) {
+Common::Array<int16> Script::readVarnamesTable(Common::SeekableReadStream &stream, uint16 count, uint32 offset) {
stream.seek(offset);
- Common::Array<int16_t> nameIDs(count);
- for (uint16_t i = 0; i < count; i++) {
+ Common::Array<int16> nameIDs(count);
+ for (uint16 i = 0; i < count; i++) {
nameIDs[i] = stream.readSint16BE();
}
return nameIDs;
@@ -224,7 +224,7 @@ void LiteralStore::readRecord(Common::SeekableReadStream &stream, int version) {
offset = stream.readUint32BE();
}
-void LiteralStore::readData(Common::SeekableReadStream &stream, uint32_t startOffset) {
+void LiteralStore::readData(Common::SeekableReadStream &stream, uint32 startOffset) {
if (type == kLiteralInt) {
value = Common::SharedPtr<LingoDec::Datum>(new LingoDec::Datum((int)offset));
} else {
@@ -241,7 +241,7 @@ void LiteralStore::readData(Common::SeekableReadStream &stream, uint32_t startOf
if (length == 8) {
floatVal = stream.readDoubleBE();
} else if (length == 10) {
- uint8_t buf[10];
+ byte buf[10];
stream.read(buf, 10);
floatVal = readAppleFloat80(buf);
}
diff --git a/engines/director/lingo/lingodec/script.h b/engines/director/lingo/lingodec/script.h
index e53d53bf591..11173a50a2c 100644
--- a/engines/director/lingo/lingodec/script.h
+++ b/engines/director/lingo/lingodec/script.h
@@ -26,43 +26,43 @@ struct ScriptContext;
struct LiteralStore {
LiteralType type;
- uint32_t offset;
+ uint32 offset;
Common::SharedPtr<Datum> value;
void readRecord(Common::SeekableReadStream &stream, int version);
- void readData(Common::SeekableReadStream &stream, uint32_t startOffset);
+ void readData(Common::SeekableReadStream &stream, uint32 startOffset);
};
/* Script */
struct Script {
- /* 8 */ uint32_t totalLength;
- /* 12 */ uint32_t totalLength2;
- /* 16 */ uint16_t headerLength;
- /* 18 */ uint16_t scriptNumber;
- /* 20 */ int16_t unk20;
- /* 22 */ int16_t parentNumber;
-
- /* 38 */ uint32_t scriptFlags;
- /* 42 */ int16_t unk42;
- /* 44 */ int32_t castID;
- /* 48 */ int16_t factoryNameID;
- /* 50 */ uint16_t handlerVectorsCount;
- /* 52 */ uint32_t handlerVectorsOffset;
- /* 56 */ uint32_t handlerVectorsSize;
- /* 60 */ uint16_t propertiesCount;
- /* 62 */ uint32_t propertiesOffset;
- /* 66 */ uint16_t globalsCount;
- /* 68 */ uint32_t globalsOffset;
- /* 72 */ uint16_t handlersCount;
- /* 74 */ uint32_t handlersOffset;
- /* 78 */ uint16_t literalsCount;
- /* 80 */ uint32_t literalsOffset;
- /* 84 */ uint32_t literalsDataCount;
- /* 88 */ uint32_t literalsDataOffset;
-
- Common::Array<int16_t> propertyNameIDs;
- Common::Array<int16_t> globalNameIDs;
+ /* 8 */ uint32 totalLength;
+ /* 12 */ uint32 totalLength2;
+ /* 16 */ uint16 headerLength;
+ /* 18 */ uint16 scriptNumber;
+ /* 20 */ int16 unk20;
+ /* 22 */ int16 parentNumber;
+
+ /* 38 */ uint32 scriptFlags;
+ /* 42 */ int16 unk42;
+ /* 44 */ int32 castID;
+ /* 48 */ int16 factoryNameID;
+ /* 50 */ uint16 handlerVectorsCount;
+ /* 52 */ uint32 handlerVectorsOffset;
+ /* 56 */ uint32 handlerVectorsSize;
+ /* 60 */ uint16 propertiesCount;
+ /* 62 */ uint32 propertiesOffset;
+ /* 66 */ uint16 globalsCount;
+ /* 68 */ uint32 globalsOffset;
+ /* 72 */ uint16 handlersCount;
+ /* 74 */ uint32 handlersOffset;
+ /* 78 */ uint16 literalsCount;
+ /* 80 */ uint32 literalsOffset;
+ /* 84 */ uint32 literalsDataCount;
+ /* 88 */ uint32 literalsDataOffset;
+
+ Common::Array<int16> propertyNameIDs;
+ Common::Array<int16> globalNameIDs;
Common::String factoryName;
Common::Array<Common::String> propertyNames;
@@ -77,7 +77,7 @@ struct Script {
Script(unsigned int version);
~Script();
void read(Common::SeekableReadStream &stream);
- Common::Array<int16_t> readVarnamesTable(Common::SeekableReadStream &stream, uint16_t count, uint32_t offset);
+ Common::Array<int16> readVarnamesTable(Common::SeekableReadStream &stream, uint16 count, uint32 offset);
bool validName(int id) const;
Common::String getName(int id) const;
void setContext(ScriptContext *ctx);
More information about the Scummvm-git-logs
mailing list