aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine/klists.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2012-06-18 05:21:59 +0300
committerFilippos Karapetis2012-06-18 05:24:06 +0300
commit2b50824133ced47f1d8fb6407a1e0212a7eeb41c (patch)
tree9694687f829e097a92af756e38d05b3078829636 /engines/sci/engine/klists.cpp
parent3c04d333f2f6a423a67a8d0202ffca29d22da9db (diff)
downloadscummvm-rg350-2b50824133ced47f1d8fb6407a1e0212a7eeb41c.tar.gz
scummvm-rg350-2b50824133ced47f1d8fb6407a1e0212a7eeb41c.tar.bz2
scummvm-rg350-2b50824133ced47f1d8fb6407a1e0212a7eeb41c.zip
SCI: Add setter/getter methods to reg_t's
No functionality change has been made with this commit. This avoids setting and getting the reg_t members directly, and is the basis of any future work on large SCI3 scripts (larger than 64KB)
Diffstat (limited to 'engines/sci/engine/klists.cpp')
-rw-r--r--engines/sci/engine/klists.cpp18
1 files changed, 11 insertions, 7 deletions
diff --git a/engines/sci/engine/klists.cpp b/engines/sci/engine/klists.cpp
index 5a608af034..15d18eb4bb 100644
--- a/engines/sci/engine/klists.cpp
+++ b/engines/sci/engine/klists.cpp
@@ -409,10 +409,14 @@ int sort_temp_cmp(const void *p1, const void *p2) {
const sort_temp_t *st1 = (const sort_temp_t *)p1;
const sort_temp_t *st2 = (const sort_temp_t *)p2;
- if (st1->order.segment < st2->order.segment || (st1->order.segment == st2->order.segment && st1->order.offset < st2->order.offset))
+ if (st1->order.getSegment() < st2->order.getSegment() ||
+ (st1->order.getSegment() == st2->order.getSegment() &&
+ st1->order.getOffset() < st2->order.getOffset()))
return -1;
- if (st1->order.segment > st2->order.segment || (st1->order.segment == st2->order.segment && st1->order.offset > st2->order.offset))
+ if (st1->order.getSegment() > st2->order.getSegment() ||
+ (st1->order.getSegment() == st2->order.getSegment() &&
+ st1->order.getOffset() > st2->order.getOffset()))
return 1;
return 0;
@@ -665,15 +669,15 @@ reg_t kArray(EngineState *s, int argc, reg_t *argv) {
if (argv[2].toUint16() == 3)
return kString(s, argc, argv);
} else {
- if (s->_segMan->getSegmentType(argv[1].segment) == SEG_TYPE_STRING ||
- s->_segMan->getSegmentType(argv[1].segment) == SEG_TYPE_SCRIPT) {
+ if (s->_segMan->getSegmentType(argv[1].getSegment()) == SEG_TYPE_STRING ||
+ s->_segMan->getSegmentType(argv[1].getSegment()) == SEG_TYPE_SCRIPT) {
return kString(s, argc, argv);
}
#if 0
if (op == 6) {
- if (s->_segMan->getSegmentType(argv[3].segment) == SEG_TYPE_STRING ||
- s->_segMan->getSegmentType(argv[3].segment) == SEG_TYPE_SCRIPT) {
+ if (s->_segMan->getSegmentType(argv[3].getSegment()) == SEG_TYPE_STRING ||
+ s->_segMan->getSegmentType(argv[3].getSegment()) == SEG_TYPE_SCRIPT) {
return kString(s, argc, argv);
}
}
@@ -792,7 +796,7 @@ reg_t kArray(EngineState *s, int argc, reg_t *argv) {
#endif
return NULL_REG;
}
- if (s->_segMan->getSegmentObj(argv[1].segment)->getType() != SEG_TYPE_ARRAY)
+ if (s->_segMan->getSegmentObj(argv[1].getSegment())->getType() != SEG_TYPE_ARRAY)
error("kArray(Dup): Request to duplicate a segment which isn't an array");
reg_t arrayHandle;