mirror of
https://github.com/libretro/scummvm.git
synced 2025-02-02 17:03:13 +00:00
ZVISION: Create clone member function for ResultAction class
This commit is contained in:
parent
032afd3c1a
commit
93c6670f6f
@ -37,6 +37,10 @@ ActionAdd::ActionAdd(Common::String *line) {
|
||||
sscanf(line->c_str(), ":add(%u,%hhu)", &_key, &_value);
|
||||
}
|
||||
|
||||
ResultAction *ActionAdd::clone() const {
|
||||
return new ActionAdd(*this);
|
||||
}
|
||||
|
||||
bool ActionAdd::execute(ZVision *engine) {
|
||||
engine->getScriptManager()->addToStateValue(_key, _value);
|
||||
return true;
|
||||
@ -51,6 +55,10 @@ ActionAssign::ActionAssign(Common::String *line) {
|
||||
sscanf(line->c_str(), ":assign(%u, %hhu)", &_key, &_value);
|
||||
}
|
||||
|
||||
ResultAction *ActionAssign::clone() const {
|
||||
return new ActionAssign(*this);
|
||||
}
|
||||
|
||||
bool ActionAssign::execute(ZVision *engine) {
|
||||
engine->getScriptManager()->setStateValue(_key, _value);
|
||||
return true;
|
||||
@ -65,6 +73,10 @@ ActionAttenuate::ActionAttenuate(Common::String *line) {
|
||||
sscanf(line->c_str(), ":assign(%u, %hd)", &_key, &_attenuation);
|
||||
}
|
||||
|
||||
ResultAction *ActionAttenuate::clone() const {
|
||||
return new ActionAttenuate(*this);
|
||||
}
|
||||
|
||||
bool ActionAttenuate::execute(ZVision *engine) {
|
||||
// TODO: Implement
|
||||
return true;
|
||||
@ -79,6 +91,10 @@ ActionChangeLocation::ActionChangeLocation(Common::String *line) {
|
||||
sscanf(line->c_str(), ":change_location(%c,%c,%2c,%hu)", &_world, &_room, &_nodeview, &_x);
|
||||
}
|
||||
|
||||
ResultAction *ActionChangeLocation::clone() const {
|
||||
return new ActionChangeLocation(*this);
|
||||
}
|
||||
|
||||
bool ActionChangeLocation::execute(ZVision *engine) {
|
||||
// TODO: Implement
|
||||
return true;
|
||||
@ -95,6 +111,10 @@ ActionCrossfade::ActionCrossfade(Common::String *line) {
|
||||
&_keyOne, &_keyTwo, &_oneStartVolume, &_twoStartVolume, &_oneEndVolume, &_twoEndVolume, &_timeInMillis);
|
||||
}
|
||||
|
||||
ResultAction *ActionCrossfade::clone() const {
|
||||
return new ActionCrossfade(*this);
|
||||
}
|
||||
|
||||
bool ActionCrossfade::execute(ZVision *engine) {
|
||||
// TODO: Implement
|
||||
return true;
|
||||
@ -110,6 +130,10 @@ ActionPreloadAnimation::ActionPreloadAnimation(Common::String *line) {
|
||||
sscanf(line->c_str(), ":animpreload:%u(%s %*hhu %*hhu %u %hhu)", &_key, &_fileName, &_mask, &_framerate);
|
||||
}
|
||||
|
||||
ResultAction *ActionPreloadAnimation::clone() const {
|
||||
return new ActionPreloadAnimation(*this);
|
||||
}
|
||||
|
||||
bool ActionPreloadAnimation::execute(ZVision *engine) {
|
||||
// TODO: Implement
|
||||
return true;
|
||||
@ -127,6 +151,10 @@ ActionPlayAnimation::ActionPlayAnimation(Common::String *line) {
|
||||
&_key, &_x, &_y, &_width, &_height, &_start, &_end, &_loop, &_mask, &_framerate);
|
||||
}
|
||||
|
||||
ResultAction *ActionPlayAnimation::clone() const {
|
||||
return new ActionPlayAnimation(*this);
|
||||
}
|
||||
|
||||
bool ActionPlayAnimation::execute(ZVision *engine) {
|
||||
// TODO: Implement
|
||||
return true;
|
||||
@ -141,6 +169,10 @@ ActionRandom::ActionRandom(Common::String *line) {
|
||||
sscanf(line->c_str(), ":random:%u, %u)", &_key, &_max);
|
||||
}
|
||||
|
||||
ResultAction *ActionRandom::clone() const {
|
||||
return new ActionRandom(*this);
|
||||
}
|
||||
|
||||
bool ActionRandom::execute(ZVision *engine) {
|
||||
uint32 randNumber = engine->getRandomSource()->getRandomNumber(_max);
|
||||
engine->getScriptManager()->setStateValue(_key, randNumber);
|
||||
@ -156,6 +188,10 @@ ActionTimer::ActionTimer(Common::String *line) {
|
||||
sscanf(line->c_str(), ":timer:%u(%hu)", &_key, &_time);
|
||||
}
|
||||
|
||||
ResultAction *ActionTimer::clone() const {
|
||||
return new ActionTimer(*this);
|
||||
}
|
||||
|
||||
bool ActionTimer::execute(ZVision *engine) {
|
||||
engine->getScriptManager()->addActionNode(new NodeTimer(_key, _time));
|
||||
return true;
|
||||
|
@ -35,6 +35,7 @@ class ZVision;
|
||||
class ResultAction {
|
||||
public:
|
||||
virtual ~ResultAction() {}
|
||||
virtual ResultAction *clone() const = 0;
|
||||
virtual bool execute(ZVision *engine) = 0;
|
||||
};
|
||||
|
||||
@ -73,6 +74,7 @@ public:
|
||||
class ActionAdd : public ResultAction {
|
||||
public:
|
||||
ActionAdd(Common::String *line);
|
||||
ResultAction *clone() const;
|
||||
bool execute(ZVision *engine);
|
||||
|
||||
private:
|
||||
@ -83,6 +85,7 @@ private:
|
||||
class ActionAssign : public ResultAction {
|
||||
public:
|
||||
ActionAssign(Common::String *line);
|
||||
ResultAction *clone() const;
|
||||
bool execute(ZVision *engine);
|
||||
|
||||
private:
|
||||
@ -93,6 +96,7 @@ private:
|
||||
class ActionAttenuate : public ResultAction {
|
||||
public:
|
||||
ActionAttenuate(Common::String *line);
|
||||
ResultAction *clone() const;
|
||||
bool execute(ZVision *engine);
|
||||
|
||||
private:
|
||||
@ -103,6 +107,7 @@ private:
|
||||
class ActionChangeLocation : public ResultAction {
|
||||
public:
|
||||
ActionChangeLocation(Common::String *line);
|
||||
ResultAction *clone() const;
|
||||
bool execute(ZVision *engine);
|
||||
|
||||
private:
|
||||
@ -115,6 +120,7 @@ private:
|
||||
class ActionCrossfade : public ResultAction {
|
||||
public:
|
||||
ActionCrossfade(Common::String *line);
|
||||
ResultAction *clone() const;
|
||||
bool execute(ZVision *engine);
|
||||
|
||||
private:
|
||||
@ -130,6 +136,7 @@ private:
|
||||
class ActionDelayRender : public ResultAction {
|
||||
public:
|
||||
ActionDelayRender(Common::String *line);
|
||||
ResultAction *clone() const;
|
||||
bool execute(ZVision *engine);
|
||||
|
||||
private:
|
||||
@ -140,6 +147,7 @@ private:
|
||||
class ActionPlayAnimation : public ResultAction {
|
||||
public:
|
||||
ActionPlayAnimation(Common::String *line);
|
||||
ResultAction *clone() const;
|
||||
bool execute(ZVision *engine);
|
||||
|
||||
private:
|
||||
@ -159,6 +167,7 @@ private:
|
||||
class ActionPreloadAnimation : public ResultAction {
|
||||
public:
|
||||
ActionPreloadAnimation(Common::String *line);
|
||||
ResultAction *clone() const;
|
||||
bool execute(ZVision *engine);
|
||||
|
||||
private:
|
||||
@ -178,6 +187,7 @@ private:
|
||||
class ActionRandom : public ResultAction {
|
||||
public:
|
||||
ActionRandom(Common::String *line);
|
||||
ResultAction *clone() const;
|
||||
bool execute(ZVision *engine);
|
||||
|
||||
private:
|
||||
@ -188,6 +198,7 @@ private:
|
||||
class ActionTimer : public ResultAction {
|
||||
public:
|
||||
ActionTimer(Common::String *line);
|
||||
ResultAction *clone() const;
|
||||
bool execute(ZVision *engine);
|
||||
|
||||
private:
|
||||
|
Loading…
x
Reference in New Issue
Block a user