diff options
author | Paul Gilbert | 2016-03-05 21:44:57 -0500 |
---|---|---|
committer | Paul Gilbert | 2016-03-05 21:44:57 -0500 |
commit | 20725a0edaa8e92d49a59328e6a63bfb97c4a57c (patch) | |
tree | 22adabae9f3aa12b7e6418a06814269002fdb303 | |
parent | f01bd1be9f6334a614cdd5ca7a7123b40c4397be (diff) | |
download | scummvm-rg350-20725a0edaa8e92d49a59328e6a63bfb97c4a57c.tar.gz scummvm-rg350-20725a0edaa8e92d49a59328e6a63bfb97c4a57c.tar.bz2 scummvm-rg350-20725a0edaa8e92d49a59328e6a63bfb97c4a57c.zip |
TITANIC: Further work on CStarControl support classes and loading
18 files changed, 632 insertions, 1 deletions
diff --git a/engines/titanic/module.mk b/engines/titanic/module.mk index a8fd6eb839..b9f5b641ed 100644 --- a/engines/titanic/module.mk +++ b/engines/titanic/module.mk @@ -413,7 +413,12 @@ MODULE_OBJS := \ star_control/star_control_sub7.o \ star_control/star_control_sub8.o \ star_control/star_control_sub9.o \ - star_control/star_control_sub10.o + star_control/star_control_sub10.o \ + star_control/star_control_sub11.o \ + star_control/star_control_sub12.o \ + star_control/star_control_sub13.o \ + star_control/star_control_sub14.o \ + star_control/star_control_sub15.o # This module can be built as a plugin ifeq ($(ENABLE_TITANIC), DYNAMIC_PLUGIN) diff --git a/engines/titanic/star_control/star_control.cpp b/engines/titanic/star_control/star_control.cpp index d6cd20a4a0..c8ee8c2d7b 100644 --- a/engines/titanic/star_control/star_control.cpp +++ b/engines/titanic/star_control/star_control.cpp @@ -20,10 +20,15 @@ * */ +#include "titanic/screen_manager.h" #include "titanic/star_control/star_control.h" namespace Titanic { +CStarControl::CStarControl() : _fieldBC(0), _field80A0(0), + _field80A4(0), _field80A8(0), _field80AC(0), _field80B0(0) { +} + void CStarControl::save(SimpleFile *file, int indent) const { file->writeNumberLine(1, indent); CGameObject::save(file, indent); @@ -33,7 +38,16 @@ void CStarControl::load(SimpleFile *file) { int val = file->readNumber(); if (!val) { + _sub1.load(file, 0); + if (!_sub1.initDocument()) + error("Couldn't initialise the StarField document"); + + _sub11.load(file, 0); + CScreenManager *screenManager = CScreenManager::setCurrent(); + if (!screenManager) + error("There's no screen manager during loading"); + warning("TODO"); } CGameObject::load(file); diff --git a/engines/titanic/star_control/star_control.h b/engines/titanic/star_control/star_control.h index c76e9be382..2a24e517fc 100644 --- a/engines/titanic/star_control/star_control.h +++ b/engines/titanic/star_control/star_control.h @@ -24,11 +24,24 @@ #define TITANIC_STAR_CONTROL_H #include "titanic/core/game_object.h" +#include "titanic/star_control/star_control_sub1.h" +#include "titanic/star_control/star_control_sub11.h" namespace Titanic { class CStarControl : public CGameObject { +private: + int _fieldBC; + CStarControlSub1 _sub1; + CStarControlSub11 _sub11; + int _field80A0; + int _field80A4; + int _field80A8; + int _field80AC; + int _field80B0; public: + CStarControl(); + /** * Return the class name */ diff --git a/engines/titanic/star_control/star_control_sub1.cpp b/engines/titanic/star_control/star_control_sub1.cpp index 7122347677..6adc9a64d0 100644 --- a/engines/titanic/star_control/star_control_sub1.cpp +++ b/engines/titanic/star_control/star_control_sub1.cpp @@ -29,4 +29,21 @@ CStarControlSub1::CStarControlSub1() : _field7DB4(1), _field7DB8(0), _field7DBC(0) { } +void CStarControlSub1::load(SimpleFile *file, int param) { + if (!param) { + _sub7.load(file); + _sub8.load(file); + _field7DA8 = file->readNumber(); + _field7DAC = file->readNumber(); + _field7DB0 = file->readNumber(); + _field7DB4 = file->readNumber(); + _field7DBC = file->readNumber(); + } +} + +bool CStarControlSub1::initDocument() { + warning("CStarControlSub1::initDocument"); + return true; +} + } // End of namespace Titanic diff --git a/engines/titanic/star_control/star_control_sub1.h b/engines/titanic/star_control/star_control_sub1.h index ce160ebc89..2e76a1ff41 100644 --- a/engines/titanic/star_control/star_control_sub1.h +++ b/engines/titanic/star_control/star_control_sub1.h @@ -47,6 +47,13 @@ private: int _field7DBC; public: CStarControlSub1(); + + /** + * Load the data for the class from file + */ + void load(SimpleFile *file, int param); + + bool initDocument(); }; } // End of namespace Titanic diff --git a/engines/titanic/star_control/star_control_sub11.cpp b/engines/titanic/star_control/star_control_sub11.cpp new file mode 100644 index 0000000000..a2bd7b2aa6 --- /dev/null +++ b/engines/titanic/star_control/star_control_sub11.cpp @@ -0,0 +1,51 @@ +/* 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 "titanic/screen_manager.h" +#include "titanic/star_control/star_control_sub11.h" + +namespace Titanic { + +CStarControlSub11::CStarControlSub11() : + _sub12(nullptr, nullptr), _sub13(nullptr), + _field4(0), _field8(0), _field20C(0), _field210(0), + _field214(0), _field218(0), _field21C(0) { + _sub12.proc3(); +} + +void CStarControlSub11::load(SimpleFile *file, int param) { + if (!param) { + _sub12.load(file, param); + + int val = file->readNumber(); + if (val) + _sub13.load(file, 0); + + _field218 = file->readNumber(); + _field21C = file->readNumber(); + } +} + +void CStarControlSub11::save(SimpleFile *file, int indent) const { +} + +} // End of namespace Titanic diff --git a/engines/titanic/star_control/star_control_sub11.h b/engines/titanic/star_control/star_control_sub11.h new file mode 100644 index 0000000000..bff246f3fb --- /dev/null +++ b/engines/titanic/star_control/star_control_sub11.h @@ -0,0 +1,62 @@ +/* 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 TITANIC_STAR_CONTROL_SUB11_H +#define TITANIC_STAR_CONTROL_SUB11_H + +#include "titanic/simple_file.h" +#include "titanic/star_control/star_control_sub12.h" +#include "titanic/star_control/star_control_sub13.h" +#include "titanic/star_control/star_control_sub15.h" + +namespace Titanic { + +class CStarControlSub11 { +private: + int _field0; + int _field4; + int _field8; + CStarControlSub12 _sub12; + CStarControlSub13 _sub13; + CStarControlSub15 _sub15; + int _field20C; + int _field210; + int _field214; + int _field218; + int _field21C; +public: + CStarControlSub11(); + + /** + * Load the data for the class from file + */ + virtual void load(SimpleFile *file, int param); + + /** + * Save the data for the class to file + */ + virtual void save(SimpleFile *file, int indent) const; +}; + +} // End of namespace Titanic + +#endif /* TITANIC_STAR_CONTROL_SUB11_H */ diff --git a/engines/titanic/star_control/star_control_sub12.cpp b/engines/titanic/star_control/star_control_sub12.cpp new file mode 100644 index 0000000000..3e288e83c0 --- /dev/null +++ b/engines/titanic/star_control/star_control_sub12.cpp @@ -0,0 +1,40 @@ +/* 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 "titanic/star_control/star_control_sub12.h" + +namespace Titanic { + +CStarControlSub12::CStarControlSub12(void *val1, void *val2) : + _field4(-1), _field2C(0), _field108(0), + _sub13(val1) { +} + +void CStarControlSub12::load(SimpleFile *file, int param) { + _sub13.load(file, param); +} + +void CStarControlSub12::save(SimpleFile *file, int indent) const { + _sub13.save(file, indent); +} + +} // End of namespace Titanic diff --git a/engines/titanic/star_control/star_control_sub12.h b/engines/titanic/star_control/star_control_sub12.h new file mode 100644 index 0000000000..92192ec74b --- /dev/null +++ b/engines/titanic/star_control/star_control_sub12.h @@ -0,0 +1,63 @@ +/* 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 TITANIC_STAR_CONTROL_SUB12_H +#define TITANIC_STAR_CONTROL_SUB12_H + +#include "titanic/simple_file.h" +#include "titanic/star_control/star_control_sub13.h" + +namespace Titanic { + +class CStarControlSub12 { + struct ArrayEntry { + int _field0; + int _field4; + int _field8; + ArrayEntry() : _field0(0), _field4(0), _field8(0) {} + }; +private: + int _field4; + ArrayEntry _array[3]; + int _field2C; + CStarControlSub13 _sub13; + int _field108; + int _field21C; +public: + CStarControlSub12(void *val1, void *val2); + + virtual void proc3() {} + + /** + * Load the data for the class from file + */ + virtual void load(SimpleFile *file, int param); + + /** + * Save the data for the class to file + */ + virtual void save(SimpleFile *file, int indent) const; +}; + +} // End of namespace Titanic + +#endif /* TITANIC_STAR_CONTROL_SUB12_H */ diff --git a/engines/titanic/star_control/star_control_sub13.cpp b/engines/titanic/star_control/star_control_sub13.cpp new file mode 100644 index 0000000000..fbe40b9532 --- /dev/null +++ b/engines/titanic/star_control/star_control_sub13.cpp @@ -0,0 +1,75 @@ +/* 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 "titanic/star_control/star_control_sub13.h" + +namespace Titanic { + +CStarControlSub13::CStarControlSub13(void *ptr): + _field0(0), _field4(0), _field8(0), _fieldC0(0), + _fieldC4(0), _fieldC8(0), _fieldCC(0), _fieldD0(0) { + if (ptr) { + setup(ptr); + } else { + _fieldC = 0; + _field10 = 0x44480000; + _field14 = 0x461C4000; + _field18 = 0x41A00000; + _field1C = 0x41A00000; + _field20 = 600; + _field22 = 340; + _field24 = 0; + } + + _fieldD4 = 0; +} + +void CStarControlSub13::setup(void *ptr) { + // TODO +} + +void CStarControlSub13::load(SimpleFile *file, int param) { + _field0 = file->readFloat(); + _field4 = file->readFloat(); + _field8 = file->readFloat(); + _fieldC = file->readFloat(); + _field10 = file->readFloat(); + _field14 = file->readFloat(); + _field18 = file->readFloat(); + _field1C = file->readFloat(); + _field20 = file->readNumber(); + _field22 = _field20 >> 16; + _field24 = file->readNumber(); + + for (int idx = 0; idx < 5; ++idx) + _valArray[idx] = file->readFloat(); + + _sub14.load(file, param); + _fieldD4 = 0; +} + +void CStarControlSub13::save(SimpleFile *file, int indent) const { + _sub14.save(file, indent); +} + + +} // End of namespace Titanic diff --git a/engines/titanic/star_control/star_control_sub13.h b/engines/titanic/star_control/star_control_sub13.h new file mode 100644 index 0000000000..983fa1c9d4 --- /dev/null +++ b/engines/titanic/star_control/star_control_sub13.h @@ -0,0 +1,73 @@ +/* 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 TITANIC_STAR_CONTROL_SUB13_H +#define TITANIC_STAR_CONTROL_SUB13_H + +#include "titanic/simple_file.h" +#include "titanic/star_control/star_control_sub6.h" +#include "titanic/star_control/star_control_sub14.h" + +namespace Titanic { + +class CStarControlSub13 { +private: + double _field0; + double _field4; + double _field8; + double _fieldC; + double _field10; + double _field14; + double _field18; + double _field1C; + int _field20; + int _field22; + int _field24; + double _valArray[5]; + CStarControlSub14 _sub14; + CStarControlSub6 _sub1; + CStarControlSub6 _sub2; + int _fieldC0; + int _fieldC4; + int _fieldC8; + int _fieldCC; + int _fieldD0; + int _fieldD4; +private: + void setup(void *ptr); +public: + CStarControlSub13(void *ptr); + + /** + * Load the data for the class from file + */ + void load(SimpleFile *file, int param); + + /** + * Save the data for the class to file + */ + void save(SimpleFile *file, int indent) const; +}; + +} // End of namespace Titanic + +#endif /* TITANIC_STAR_CONTROL_SUB13_H */ diff --git a/engines/titanic/star_control/star_control_sub14.cpp b/engines/titanic/star_control/star_control_sub14.cpp new file mode 100644 index 0000000000..3d02705af5 --- /dev/null +++ b/engines/titanic/star_control/star_control_sub14.cpp @@ -0,0 +1,50 @@ +/* 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 "titanic/star_control/star_control_sub14.h" + +namespace Titanic { + +CStarControlSub14::CStarControlSub14() : + _field0(0x3F800000), _field4(0), _field8(0), _fieldC(0), + _field10(0x3F800000), _field14(0), _field18(0), _field1C(0), + _field20(0x3F800000) { +} + +void CStarControlSub14::load(SimpleFile *file, int param) { + _field0 = file->readFloat(); + _field4 = file->readFloat(); + _field8 = file->readFloat(); + _fieldC = file->readFloat(); + _field10 = file->readFloat(); + _field14 = file->readFloat(); + _field18 = file->readFloat(); + _field1C = file->readFloat(); + _field20 = file->readFloat(); +} + +void CStarControlSub14::save(SimpleFile *file, int indent) const { + +} + + +} // End of namespace Titanic diff --git a/engines/titanic/star_control/star_control_sub14.h b/engines/titanic/star_control/star_control_sub14.h new file mode 100644 index 0000000000..63a58bf9c6 --- /dev/null +++ b/engines/titanic/star_control/star_control_sub14.h @@ -0,0 +1,58 @@ +/* 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 TITANIC_STAR_CONTROL_SUB14_H +#define TITANIC_STAR_CONTROL_SUB14_H + +#include "titanic/simple_file.h" + +namespace Titanic { + +class CStarControlSub14 { +private: + double _field0; + double _field4; + double _field8; + double _fieldC; + double _field10; + double _field14; + double _field18; + double _field1C; + double _field20; +public: + CStarControlSub14(); + + /** + * Load the data for the class from file + */ + void load(SimpleFile *file, int param); + + /** + * Save the data for the class to file + */ + void save(SimpleFile *file, int indent) const; + +}; + +} // End of namespace Titanic + +#endif /* TITANIC_STAR_CONTROL_SUB13_H */ diff --git a/engines/titanic/star_control/star_control_sub15.cpp b/engines/titanic/star_control/star_control_sub15.cpp new file mode 100644 index 0000000000..07ed80ccc5 --- /dev/null +++ b/engines/titanic/star_control/star_control_sub15.cpp @@ -0,0 +1,31 @@ +/* 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 "titanic/star_control/star_control_sub15.h" + +namespace Titanic { + +CStarControlSub15::CStarControlSub15() : _field4(-1), + _field8(32), _fieldC(0), _field10(0), _field14(0) { +} + +} // End of namespace Titanic diff --git a/engines/titanic/star_control/star_control_sub15.h b/engines/titanic/star_control/star_control_sub15.h new file mode 100644 index 0000000000..2151c5a622 --- /dev/null +++ b/engines/titanic/star_control/star_control_sub15.h @@ -0,0 +1,43 @@ +/* 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 TITANIC_STAR_CONTROL_SUB15_H +#define TITANIC_STAR_CONTROL_SUB15_H + +#include "titanic/simple_file.h" + +namespace Titanic { + +class CStarControlSub15 { +private: + double _field4; + double _field8; + double _fieldC; + double _field10; + double _field14; +public: + CStarControlSub15(); +}; + +} // End of namespace Titanic + +#endif /* TITANIC_STAR_CONTROL_SUB15_H */ diff --git a/engines/titanic/star_control/star_control_sub3.cpp b/engines/titanic/star_control/star_control_sub3.cpp index 72991b1f33..c65a308535 100644 --- a/engines/titanic/star_control/star_control_sub3.cpp +++ b/engines/titanic/star_control/star_control_sub3.cpp @@ -28,4 +28,8 @@ CStarControlSub3::CStarControlSub3() : _field4(0), _field8(0), _fieldC(1), _field28(0), _field2C(0x3F800000) { } +void CStarControlSub3::proc2() { + error("TODO"); +} + } // End of namespace Titanic diff --git a/engines/titanic/star_control/star_control_sub3.h b/engines/titanic/star_control/star_control_sub3.h index cc214c328c..d6d1c30eed 100644 --- a/engines/titanic/star_control/star_control_sub3.h +++ b/engines/titanic/star_control/star_control_sub3.h @@ -23,6 +23,7 @@ #ifndef TITANIC_STAR_CONTROL_SUB3_H #define TITANIC_STAR_CONTROL_SUB3_H +#include "titanic/simple_file.h" #include "titanic/star_control/star_control_sub4.h" namespace Titanic { @@ -38,6 +39,18 @@ protected: public: CStarControlSub3(); virtual ~CStarControlSub3() {} + + virtual void proc2(); + virtual int proc3() { return 1; } + virtual int proc4() { return 0; } + virtual int proc5() { return 0; } + virtual int proc6() { return 0; } + virtual int proc7() { return 1; } + + virtual void load(SimpleFile *file) {} + + virtual void proc9() {} + }; } // End of namespace Titanic diff --git a/engines/titanic/star_control/star_control_sub8.h b/engines/titanic/star_control/star_control_sub8.h index 511bee47e7..c4b677c2ba 100644 --- a/engines/titanic/star_control/star_control_sub8.h +++ b/engines/titanic/star_control/star_control_sub8.h @@ -23,6 +23,8 @@ #ifndef TITANIC_STAR_CONTROL_SUB8_H #define TITANIC_STAR_CONTROL_SUB8_H +#include "titanic/simple_file.h" + namespace Titanic { class CStarControlSub8 { @@ -40,6 +42,16 @@ private: StructEntry _array[3]; public: CStarControlSub8(); + + /** + * Load the data for the class from file + */ + virtual void load(SimpleFile *file) {} + + /** + * Save the data for the class to file + */ + virtual void save(SimpleFile *file, int indent) const {} }; } // End of namespace Titanic |