Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
ZVISION: New base class similar to control for handling timers, music…
…, etc...
- Loading branch information
1 parent
2050987
commit 82348a7
Showing
3 changed files
with
133 additions
and
1 deletion.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,36 @@ | ||
/* ScummVM - Graphic Adventure Engine | ||
* | ||
* ScummVM is the legal property of its developers, whose names | ||
* are too numerous to list here. Please refer to the COPYRIGHT | ||
* file distributed with this source distribution. | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU General Public License | ||
* as published by the Free Software Foundation; either version 2 | ||
* of the License, or (at your option) any later version. | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program; if not, write to the Free Software | ||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
* | ||
*/ | ||
|
||
#include "common/scummsys.h" | ||
|
||
#include "zvision/sidefx.h" | ||
|
||
#include "zvision/zvision.h" | ||
#include "zvision/render_manager.h" | ||
#include "zvision/utility.h" | ||
|
||
#include "common/stream.h" | ||
|
||
namespace ZVision { | ||
|
||
|
||
} // End of namespace ZVision |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,95 @@ | ||
/* ScummVM - Graphic Adventure Engine | ||
* | ||
* ScummVM is the legal property of its developers, whose names | ||
* are too numerous to list here. Please refer to the COPYRIGHT | ||
* file distributed with this source distribution. | ||
* | ||
* This program is free software; you can redistribute it and/or | ||
* modify it under the terms of the GNU General Public License | ||
* as published by the Free Software Foundation; either version 2 | ||
* of the License, or (at your option) any later version. | ||
* This program is distributed in the hope that it will be useful, | ||
* but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
* GNU General Public License for more details. | ||
* You should have received a copy of the GNU General Public License | ||
* along with this program; if not, write to the Free Software | ||
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. | ||
* | ||
*/ | ||
|
||
#ifndef SIDEFX_H_INCLUDED | ||
#define SIDEFX_H_INCLUDED | ||
|
||
namespace Common { | ||
class SeekableReadStream; | ||
struct Point; | ||
class WriteStream; | ||
} | ||
|
||
namespace ZVision { | ||
|
||
class ZVision; | ||
|
||
class SideFX { | ||
public: | ||
SideFX() : _engine(0), _key(0) {} | ||
SideFX(ZVision *engine, uint32 key) : _engine(engine), _key(key) {} | ||
virtual ~SideFX() {} | ||
|
||
uint32 getKey() { return _key; } | ||
|
||
virtual bool process(uint32 deltaTimeInMillis) { return false; } | ||
/** | ||
* Serialize a Control for save game use. This should only be used if a Control needs | ||
* to save values that would be different from initialization. AKA a TimerNode needs to | ||
* store the amount of time left on the timer. Any Controls overriding this *MUST* write | ||
* their key as the first data outputted. The default implementation is NOP. | ||
* | ||
* NOTE: If this method is overridden, you MUST also override deserialize() | ||
* and needsSerialization() | ||
* | ||
* @param stream Stream to write any needed data to | ||
*/ | ||
virtual void serialize(Common::WriteStream *stream) {} | ||
/** | ||
* De-serialize data from a save game stream. This should only be implemented if the | ||
* Control also implements serialize(). The calling method assumes the size of the | ||
* data read from the stream exactly equals that written in serialize(). The default | ||
* implementation is NOP. | ||
* | ||
* NOTE: If this method is overridden, you MUST also override serialize() | ||
* and needsSerialization() | ||
* | ||
* @param stream Save game file stream | ||
*/ | ||
virtual void deserialize(Common::SeekableReadStream *stream) {} | ||
/** | ||
* If a Control overrides serialize() and deserialize(), this should return true | ||
* | ||
* @return Does the Control need save game serialization? | ||
*/ | ||
virtual inline bool needsSerialization() { return false; } | ||
|
||
protected: | ||
ZVision * _engine; | ||
uint32 _key; | ||
|
||
// Static member functions | ||
public: | ||
}; | ||
|
||
// TODO: Implement InputControl | ||
// TODO: Implement SaveControl | ||
// TODO: Implement SlotControl | ||
// TODO: Implement SafeControl | ||
// TODO: Implement FistControl | ||
// TODO: Implement HotMovieControl | ||
// TODO: Implement PaintControl | ||
// TODO: Implement TilterControl | ||
|
||
} // End of namespace ZVision | ||
|
||
#endif // SIDEFX_H_INCLUDED |