mirror of
https://github.com/scummvm/scummvm.git
synced 2026-06-20 05:45:29 +00:00
DREAMWEB: Pass data segment as SegmentRef to Context constructor
And not as SegmentPtr.
This commit is contained in:
@@ -644,7 +644,7 @@ namespace %s {
|
||||
"""
|
||||
class %sContext : public DreamBase, public Context {
|
||||
public:
|
||||
DreamGenContext() : DreamBase(), Context(_realData) {}
|
||||
DreamGenContext() : DreamBase(), Context(data) {}
|
||||
|
||||
void __start();
|
||||
"""
|
||||
|
||||
@@ -538,7 +538,7 @@ static const uint16 kLenofreelrouts = (983-526);
|
||||
|
||||
class DreamGenContext : public DreamBase, public Context {
|
||||
public:
|
||||
DreamGenContext() : DreamBase(), Context(_realData) {}
|
||||
DreamGenContext() : DreamBase(), Context(data) {}
|
||||
|
||||
void __start();
|
||||
#include "stubs.h" // Allow hand-reversed functions to have a signature different than void f()
|
||||
|
||||
@@ -151,15 +151,19 @@ public:
|
||||
: _value(value), _segment(segment) {
|
||||
}
|
||||
|
||||
inline operator uint16() const {
|
||||
return _value;
|
||||
}
|
||||
|
||||
SegmentPtr getSegmentPtr() const {
|
||||
return _segment;
|
||||
}
|
||||
|
||||
inline uint8 &byte(unsigned index) {
|
||||
assert(_segment != 0);
|
||||
return _segment->byte(index);
|
||||
}
|
||||
|
||||
inline operator uint16() const {
|
||||
return _value;
|
||||
}
|
||||
|
||||
inline WordRef word(unsigned index) {
|
||||
//debug(1, "getting word ref for %04x:%d", _value, index);
|
||||
assert(_segment != 0);
|
||||
@@ -194,6 +198,10 @@ public:
|
||||
: _context(ctx), SegmentRef(value, segment) {
|
||||
}
|
||||
|
||||
MutableSegmentRef(Context *ctx, SegmentRef seg)
|
||||
: _context(ctx), SegmentRef(seg) {
|
||||
}
|
||||
|
||||
inline MutableSegmentRef& operator=(const uint16 id);
|
||||
|
||||
};
|
||||
@@ -255,12 +263,12 @@ public:
|
||||
MutableSegmentRef es;
|
||||
Flags flags;
|
||||
|
||||
Context(SegmentPtr realData): al(ax), ah(ax), bl(bx), bh(bx), cl(cx), ch(cx), dl(dx), dh(dx),
|
||||
cs(kDefaultDataSegment, realData),
|
||||
ds(this, kDefaultDataSegment, realData),
|
||||
es(this, kDefaultDataSegment, realData) {
|
||||
Context(SegmentRef data): al(ax), ah(ax), bl(bx), bh(bx), cl(cx), ch(cx), dl(dx), dh(dx),
|
||||
cs(data),
|
||||
ds(this, data),
|
||||
es(this, data) {
|
||||
|
||||
_segments[kDefaultDataSegment] = realData;
|
||||
_segments[kDefaultDataSegment] = data.getSegmentPtr();
|
||||
}
|
||||
|
||||
SegmentRef getSegment(uint16 value) {
|
||||
|
||||
Reference in New Issue
Block a user