aboutsummaryrefslogtreecommitdiff
path: root/engines/made/resource.cpp
diff options
context:
space:
mode:
authorBenjamin Haisch2008-04-23 23:22:02 +0000
committerBenjamin Haisch2008-04-23 23:22:02 +0000
commitefeb8a319370bc913dc93f21b77aedeaa3777b7d (patch)
treec6d7898fa4a26a6d6f340e86d4ec1a840923afbe /engines/made/resource.cpp
parent6562a7cd8abae364b1ca481e4cbdab8f422feaf9 (diff)
downloadscummvm-rg350-efeb8a319370bc913dc93f21b77aedeaa3777b7d.tar.gz
scummvm-rg350-efeb8a319370bc913dc93f21b77aedeaa3777b7d.tar.bz2
scummvm-rg350-efeb8a319370bc913dc93f21b77aedeaa3777b7d.zip
Added (early) midi player code.
Added "screen flash" effect. Implemented opcodes: - o1_PLAYMUS - o1_STOPMUS - o1_ISMUS - o1_FLASH - o1_LOADSND - o1_LOADMUS svn-id: r31682
Diffstat (limited to 'engines/made/resource.cpp')
-rw-r--r--engines/made/resource.cpp20
1 files changed, 20 insertions, 0 deletions
diff --git a/engines/made/resource.cpp b/engines/made/resource.cpp
index cb7cf6e7f5..4450d86c31 100644
--- a/engines/made/resource.cpp
+++ b/engines/made/resource.cpp
@@ -205,6 +205,22 @@ const char *MenuResource::getString(uint index) const {
return NULL;
}
+/* XmidiResource */
+
+XmidiResource::XmidiResource() : _data(NULL), _size(0) {
+}
+
+XmidiResource::~XmidiResource() {
+ if (_data)
+ delete[] _data;
+}
+
+void XmidiResource::load(byte *source, int size) {
+ _data = new byte[size];
+ _size = size;
+ memcpy(_data, source, size);
+}
+
/* ProjectReader */
ProjectReader::ProjectReader() {
@@ -269,6 +285,10 @@ MenuResource *ProjectReader::getMenu(int index) {
return createResource<MenuResource>(kResMENU, index);
}
+XmidiResource *ProjectReader::getXmidi(int index) {
+ return createResource<XmidiResource>(kResXMID, index);
+}
+
void ProjectReader::loadIndex(ResourceSlots *slots) {
_fd->readUint32LE(); // skip INDX
_fd->readUint32LE(); // skip index size