Skip to content

Commit

Permalink
SCI: Fix warnings
Browse files Browse the repository at this point in the history
  • Loading branch information
bluegr committed Jun 21, 2012
1 parent 105fb47 commit 76f3f1b
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 16 deletions.
11 changes: 3 additions & 8 deletions engines/sci/console.cpp
Expand Up @@ -2630,11 +2630,11 @@ bool Console::cmdViewReference(int argc, const char **argv) {
#endif
default: {
const SegmentRef block = _engine->_gamestate->_segMan->dereference(reg);
uint32 size = block.maxSize;
uint16 size = block.maxSize;

DebugPrintf("raw data\n");

if (reg_end.getSegment() != 0 && size < reg_end.getOffset() - reg.getOffset()) {
if (reg_end.getSegment() != 0 && (size < reg_end.getOffset() - reg.getOffset())) {
DebugPrintf("Block end out of bounds (size %d). Resetting.\n", size);
reg_end = NULL_REG;
}
Expand Down Expand Up @@ -2936,7 +2936,7 @@ bool Console::cmdDisassembleAddress(int argc, const char **argv) {
uint opCount = 1;
bool printBWTag = false;
bool printBytes = false;
uint32 size;
uint16 size;

if (parse_reg_t(_engine->_gamestate, argv[1], &vpc, false)) {
DebugPrintf("Invalid address passed.\n");
Expand All @@ -2960,11 +2960,6 @@ bool Console::cmdDisassembleAddress(int argc, const char **argv) {
}
}

if (opCount < 0) {
DebugPrintf("Invalid op_count\n");
return true;
}

do {
vpc = disassemble(_engine->_gamestate, vpc, printBWTag, printBytes);
} while ((vpc.getOffset() > 0) && (vpc.getOffset() + 6 < size) && (--opCount));
Expand Down
10 changes: 5 additions & 5 deletions engines/sci/engine/kstring.cpp
Expand Up @@ -96,7 +96,7 @@ reg_t kStrAt(EngineState *s, int argc, reg_t *argv) {

byte value;
byte newvalue = 0;
unsigned int offset = argv[1].toUint16();
uint16 offset = argv[1].toUint16();
if (argc > 2)
newvalue = argv[2].toSint16();

Expand Down Expand Up @@ -125,19 +125,19 @@ reg_t kStrAt(EngineState *s, int argc, reg_t *argv) {
if (!oddOffset) {
value = tmp.getOffset() & 0x00ff;
if (argc > 2) { /* Request to modify this char */
uint16 offset = tmp.toUint16();
uint16 tmpOffset = tmp.toUint16();
offset &= 0xff00;
offset |= newvalue;
tmp.setOffset(offset);
tmp.setOffset(tmpOffset);
tmp.setSegment(0);
}
} else {
value = tmp.getOffset() >> 8;
if (argc > 2) { /* Request to modify this char */
uint16 offset = tmp.toUint16();
uint16 tmpOffset = tmp.toUint16();
offset &= 0x00ff;
offset |= newvalue << 8;
tmp.setOffset(offset);
tmp.setOffset(tmpOffset);
tmp.setSegment(0);
}
}
Expand Down
6 changes: 3 additions & 3 deletions engines/sci/engine/scriptdebug.cpp
Expand Up @@ -344,11 +344,11 @@ void SciEngine::scriptDebug() {
if (mobj) {
Script *scr = (Script *)mobj;
const byte *code_buf = scr->getBuf();
uint32 code_buf_size = scr->getBufSize();
uint16 code_buf_size = scr->getBufSize(); // TODO: change to a 32-bit integer for large SCI3 scripts
int opcode = pc.getOffset() >= code_buf_size ? 0 : code_buf[pc.getOffset()];
int op = opcode >> 1;
int paramb1 = pc.getOffset() + 1 >= code_buf_size ? 0 : code_buf[pc.getOffset() + 1];
int paramf1 = (opcode & 1) ? paramb1 : (pc.getOffset() + 2 >= code_buf_size ? 0 : (int16)READ_SCI11ENDIAN_UINT16(code_buf + pc.getOffset() + 1));
uint16 paramb1 = pc.getOffset() + 1 >= code_buf_size ? 0 : code_buf[pc.getOffset() + 1];
uint16 paramf1 = (opcode & 1) ? paramb1 : (pc.getOffset() + 2 >= code_buf_size ? 0 : (int16)READ_SCI11ENDIAN_UINT16(code_buf + pc.getOffset() + 1));

switch (_debugState.seeking) {
case kDebugSeekSpecialCallk:
Expand Down

0 comments on commit 76f3f1b

Please sign in to comment.