Skip to content

Commit

Permalink
TSAGE: Added R2 _shade and _effect fields to scene objects class.
Browse files Browse the repository at this point in the history
  • Loading branch information
dreammaster committed Oct 26, 2011
1 parent ac559b0 commit 9ccb2ee
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 7 deletions.
15 changes: 15 additions & 0 deletions engines/tsage/core.cpp
Expand Up @@ -1835,6 +1835,8 @@ SceneObject::SceneObject() : SceneHotspot() {
_visage = 0;
_strip = 0;
_frame = 0;
_effect = 0;
_shade = 0;
}

SceneObject::SceneObject(const SceneObject &so) : SceneHotspot() {
Expand Down Expand Up @@ -2137,6 +2139,14 @@ SceneObject *SceneObject::clone() const {
return obj;
}

void SceneObject::copy(SceneObject *src) {
*this = *src;

_objectWrapper = NULL;
_mover = NULL;
_endAction = NULL;
}

void SceneObject::checkAngle(const SceneObject *obj) {
checkAngle(obj->_position);
}
Expand Down Expand Up @@ -2203,6 +2213,11 @@ void SceneObject::synchronize(Serializer &s) {
s.syncAsSint32LE(_moveRate);
SYNC_POINTER(_endAction);
s.syncAsUint32LE(_regionBitList);

if (g_vm->getGameID() == GType_Ringworld2) {
s.syncAsSint16LE(_effect);
s.syncAsSint16LE(_shade);
}
}

void SceneObject::postInit(SceneObjectList *OwnerList) {
Expand Down
6 changes: 6 additions & 0 deletions engines/tsage/core.h
Expand Up @@ -530,6 +530,10 @@ class SceneObject : public SceneHotspot {
int _moveRate;
Action *_endAction;
uint32 _regionBitList;

// Ringworld 2 specific fields
int _shade;
int _effect;
public:
SceneObject();
SceneObject(const SceneObject &so);
Expand Down Expand Up @@ -577,6 +581,8 @@ class SceneObject : public SceneHotspot {
// New methods introduced by Blue Force
virtual void updateAngle(const Common::Point &pt);
virtual void changeAngle(int angle);
// New methods introduced by Ringworld 2
virtual void copy(SceneObject *src);

void setup(int visage, int stripFrameNum, int frameNum, int posX, int posY, int priority);
void setup(int visage, int stripFrameNum, int frameNum);
Expand Down
3 changes: 0 additions & 3 deletions engines/tsage/ringworld2/ringworld2_logic.cpp
Expand Up @@ -690,9 +690,6 @@ void SceneActor::synchronize(Serializer &s) {
s.syncAsSint16LE(_lookLineNum);
s.syncAsSint16LE(_talkLineNum);
s.syncAsSint16LE(_useLineNum);

s.syncAsSint16LE(_effect);
s.syncAsSint16LE(_shade);
}

bool SceneActor::startAction(CursorType action, Event &event) {
Expand Down
1 change: 0 additions & 1 deletion engines/tsage/ringworld2/ringworld2_logic.h
Expand Up @@ -219,7 +219,6 @@ class SceneActor: public SceneObject {
public:
int _resNum;
int _lookLineNum, _talkLineNum, _useLineNum;
int _effect, _shade;

virtual Common::String getClassName() { return "SceneActor"; }
virtual void synchronize(Serializer &s);
Expand Down
5 changes: 2 additions & 3 deletions engines/tsage/ringworld2/ringworld2_scenes0.cpp
Expand Up @@ -316,14 +316,13 @@ void Scene100::signal() {
}

void Scene100::dispatch() {
/*
int regionIndex = R2_GLOBALS._player.getRegionIndex();
if (regionIndex == 13)
R2_GLOBALS._player._shade = 4;

if ((R2_GLOBALS._player._visage == 13) || (R2_GLOBALS._player._visage == 101))
(R2_GLOBALS._player._shade = 0;
*/
R2_GLOBALS._player._shade = 0;

SceneExt::dispatch();

if ((_sceneMode == 101) && (_object7._frame == 2) && (_table._strip == 5)) {
Expand Down

0 comments on commit 9ccb2ee

Please sign in to comment.