diff options
Diffstat (limited to 'engines/titanic')
45 files changed, 1258 insertions, 30 deletions
diff --git a/engines/titanic/carry/maitred_left_arm.cpp b/engines/titanic/carry/maitred_left_arm.cpp new file mode 100644 index 0000000000..6fb93ecc63 --- /dev/null +++ b/engines/titanic/carry/maitred_left_arm.cpp @@ -0,0 +1,39 @@ +/* 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/carry/maitred_left_arm.h" + +namespace Titanic { + +void CMaitreDLeftArm::save(SimpleFile *file, int indent) const { + file->writeNumberLine(1, indent); + file->writeNumberLine(_field174, indent); + CArm::save(file, indent); +} + +void CMaitreDLeftArm::load(SimpleFile *file) { + file->readNumber(); + _field174 = file->readNumber(); + CArm::load(file); +} + +} // End of namespace Titanic diff --git a/engines/titanic/carry/maitred_left_arm.h b/engines/titanic/carry/maitred_left_arm.h new file mode 100644 index 0000000000..f6cf6986ef --- /dev/null +++ b/engines/titanic/carry/maitred_left_arm.h @@ -0,0 +1,54 @@ +/* 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_LEFT_ARM_H +#define TITANIC_LEFT_ARM_H + +#include "titanic/carry/arm.h" + +namespace Titanic { + +class CMaitreDLeftArm : public CArm { +private: + int _field174; +public: + CMaitreDLeftArm() : CArm(), _field174(0) {} + + /** + * Return the class name + */ + virtual const char *getClassName() const { return "CMaitreDLeftArm"; } + + /** + * Save the data for the class to file + */ + virtual void save(SimpleFile *file, int indent) const; + + /** + * Load the data for the class from file + */ + virtual void load(SimpleFile *file); +}; + +} // End of namespace Titanic + +#endif /* TITANIC_LEFT_ARM_H */ diff --git a/engines/titanic/carry/maitred_right_arm.cpp b/engines/titanic/carry/maitred_right_arm.cpp new file mode 100644 index 0000000000..15767a2fc2 --- /dev/null +++ b/engines/titanic/carry/maitred_right_arm.cpp @@ -0,0 +1,37 @@ +/* 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/carry/maitred_right_arm.h" + +namespace Titanic { + +void CMaitreDRightArm::save(SimpleFile *file, int indent) const { + file->writeNumberLine(1, indent); + CArm::save(file, indent); +} + +void CMaitreDRightArm::load(SimpleFile *file) { + file->readNumber(); + CArm::load(file); +} + +} // End of namespace Titanic diff --git a/engines/titanic/carry/maitred_right_arm.h b/engines/titanic/carry/maitred_right_arm.h new file mode 100644 index 0000000000..a4a44895da --- /dev/null +++ b/engines/titanic/carry/maitred_right_arm.h @@ -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. + * + */ + +#ifndef TITANIC_MAITRED_RIGHT_ARM_H +#define TITANIC_MAITRED_RIGHT_ARM_H + +#include "titanic/carry/arm.h" + +namespace Titanic { + +class CMaitreDRightArm : public CArm { +public: + /** + * Return the class name + */ + virtual const char *getClassName() const { return "CMaitreDRightArm"; } + + /** + * Save the data for the class to file + */ + virtual void save(SimpleFile *file, int indent) const; + + /** + * Load the data for the class from file + */ + virtual void load(SimpleFile *file); +}; + +} // End of namespace Titanic + +#endif /* TITANIC_MAITRED_RIGHT_ARM_H */ diff --git a/engines/titanic/carry/speech_centre.cpp b/engines/titanic/carry/speech_centre.cpp index c5875bd22c..86ed730284 100644 --- a/engines/titanic/carry/speech_centre.cpp +++ b/engines/titanic/carry/speech_centre.cpp @@ -30,7 +30,7 @@ void CSpeechCentre::save(SimpleFile *file, int indent) const { file->writeQuotedLine(_string1, indent); file->writeNumberLine(_field14C, indent); - CCarry::save(file, indent); + CBrain::save(file, indent); } void CSpeechCentre::load(SimpleFile *file) { @@ -39,7 +39,7 @@ void CSpeechCentre::load(SimpleFile *file) { _string1 = file->readString(); _field14C = file->readNumber(); - CCarry::load(file); + CBrain::load(file); } } // End of namespace Titanic diff --git a/engines/titanic/core/saveable_object.cpp b/engines/titanic/core/saveable_object.cpp index 84f0887b57..7a41230214 100644 --- a/engines/titanic/core/saveable_object.cpp +++ b/engines/titanic/core/saveable_object.cpp @@ -42,6 +42,8 @@ #include "titanic/carry/liftbot_head.h" #include "titanic/carry/long_stick.h" #include "titanic/carry/magazine.h" +#include "titanic/carry/maitred_left_arm.h" +#include "titanic/carry/maitred_right_arm.h" #include "titanic/carry/mouth.h" #include "titanic/carry/napkin.h" #include "titanic/carry/nose.h" @@ -92,6 +94,8 @@ #include "titanic/game/brain_slot.h" #include "titanic/game/bridge_view.h" #include "titanic/game/broken_pell_base.h" +#include "titanic/game/broken_pellerator.h" +#include "titanic/game/broken_pellerator_froz.h" #include "titanic/game/cage.h" #include "titanic/game/call_pellerator.h" #include "titanic/game/captains_wheel.h" @@ -131,6 +135,8 @@ #include "titanic/game/games_console.h" #include "titanic/game/get_lift_eye2.h" #include "titanic/game/glass_smasher.h" +#include "titanic/game/gondolier_base.h" +#include "titanic/game/gondolier_mixer.h" #include "titanic/game/hammer_clip.h" #include "titanic/game/hammer_dispensor.h" #include "titanic/game/hammer_dispensor_button.h" @@ -143,7 +149,6 @@ #include "titanic/game/light_switch.h" #include "titanic/game/little_lift_button.h" #include "titanic/game/long_stick_dispenser.h" -#include "titanic/game/maitred_arm_holder.h" #include "titanic/game/missiveomat.h" #include "titanic/game/missiveomat_button.h" #include "titanic/game/musical_instrument.h" @@ -166,14 +171,15 @@ #include "titanic/game/port_hole.h" #include "titanic/game/record_phonograph_button.h" #include "titanic/game/replacement_ear.h" +#include "titanic/game/reserved_table.h" #include "titanic/game/restaurant_cylinder_holder.h" #include "titanic/game/restaurant_phonograph.h" #include "titanic/game/room_item.h" #include "titanic/game/sauce_dispensor.h" +#include "titanic/game/search_point.h" #include "titanic/game/season_background.h" #include "titanic/game/season_barrel.h" #include "titanic/game/seasonal_adjustment.h" -#include "titanic/game/service_elevator_door.h" #include "titanic/game/service_elevator_window.h" #include "titanic/game/ship_setting.h" #include "titanic/game/ship_setting_button.h" @@ -195,6 +201,10 @@ #include "titanic/game/wheel_hotspot.h" #include "titanic/game/wheel_spin.h" #include "titanic/game/wheel_spin_horn.h" +#include "titanic/game/maitred/maitred_arm_holder.h" +#include "titanic/game/maitred/maitred_body.h" +#include "titanic/game/maitred/maitred_legs.h" +#include "titanic/game/maitred/maitred_prod_receptor.h" #include "titanic/game/parrot/parrot_lobby_controller.h" #include "titanic/game/parrot/parrot_lobby_link_updater.h" #include "titanic/game/parrot/parrot_lobby_object.h" @@ -294,9 +304,15 @@ #include "titanic/gfx/toggle_button.h" #include "titanic/gfx/toggle_switch.h" #include "titanic/gfx/volume_control.h" + #include "titanic/messages/messages.h" +#include "titanic/messages/auto_sound_event.h" +#include "titanic/messages/bilge_auto_sound_event.h" +#include "titanic/messages/bilge_dispensor_event.h" +#include "titanic/messages/door_auto_sound_event.h" #include "titanic/messages/mouse_messages.h" #include "titanic/messages/pet_messages.h" +#include "titanic/messages/service_elevator_door.h" #include "titanic/moves/enter_bomb_room.h" #include "titanic/moves/enter_bridge.h" @@ -336,19 +352,17 @@ #include "titanic/sound/auto_music_player.h" #include "titanic/sound/auto_music_player_base.h" -#include "titanic/sound/auto_sound_event.h" #include "titanic/sound/auto_sound_player.h" #include "titanic/sound/auto_sound_player_adsr.h" #include "titanic/sound/background_sound_maker.h" -#include "titanic/sound/bilge_auto_sound_event.h" #include "titanic/sound/bird_song.h" -#include "titanic/sound/door_auto_sound_event.h" #include "titanic/sound/gondolier_song.h" #include "titanic/sound/enter_view_toggles_other_music.h" #include "titanic/sound/music_player.h" #include "titanic/sound/node_auto_sound_player.h" #include "titanic/sound/restricted_auto_music_player.h" #include "titanic/sound/room_auto_sound_player.h" +#include "titanic/sound/season_noises.h" #include "titanic/sound/seasonal_music_player.h" #include "titanic/sound/titania_speech.h" #include "titanic/sound/trigger_auto_music_player.h" @@ -387,6 +401,8 @@ DEFFN(CKey); DEFFN(CLiftbotHead); DEFFN(CLongStick); DEFFN(CMagazine); +DEFFN(CMaitreDLeftArm); +DEFFN(CMaitreDRightArm); DEFFN(CMouth); DEFFN(CNapkin); DEFFN(CNose); @@ -436,6 +452,8 @@ DEFFN(CBowlUnlocker); DEFFN(CBrainSlot); DEFFN(CBridgeView); DEFFN(CBrokenPellBase) +DEFFN(CBrokenPellerator); +DEFFN(CBrokenPelleratorFroz); DEFFN(CCage); DEFFN(CCallPellerator); DEFFN(CCaptainsWheel); @@ -474,6 +492,8 @@ DEFFN(CFloorIndicator); DEFFN(CGamesConsole); DEFFN(CGetLiftEye2); DEFFN(CGlassSmasher); +DEFFN(CGondolierBase); +DEFFN(CGondolierMixer); DEFFN(CHammerClip); DEFFN(CHammerDispensor); DEFFN(CHammerDispensorButton); @@ -486,7 +506,6 @@ DEFFN(CLight); DEFFN(CLightSwitch); DEFFN(CLittleLiftButton); DEFFN(CLongStickDispenser); -DEFFN(CMaitreDArmHolder); DEFFN(CMissiveOMat); DEFFN(CMissiveOMatButton); DEFFN(CMusicalInstrument); @@ -509,14 +528,15 @@ DEFFN(CPlayOnAct); DEFFN(CPortHole); DEFFN(CRecordPhonographButton); DEFFN(CReplacementEar); +DEFFN(CReservedTable); DEFFN(CRestaurantCylinderHolder); DEFFN(CRestaurantPhonograph); DEFFN(CRoomItem); DEFFN(CSauceDispensor); +DEFFN(CSearchPoint); DEFFN(CSeasonBackground); DEFFN(CSeasonBarrel); DEFFN(CSeasonalAdjustment); -DEFFN(CServiceElevatorDoor); DEFFN(CServiceElevatorWindow); DEFFN(CShipSetting); DEFFN(CShipSettingButton); @@ -538,6 +558,10 @@ DEFFN(CWheelButton); DEFFN(CWheelHotSpot); DEFFN(CWheelSpin); DEFFN(CWheelSpinHorn); +DEFFN(CMaitreDArmHolder); +DEFFN(CMaitreDBody); +DEFFN(CMaitreDLegs); +DEFFN(CMaitreDProdReceptor); DEFFN(CParrotLobbyController); DEFFN(CParrotLobbyLinkUpdater); DEFFN(CParrotLobbyObject); @@ -647,6 +671,9 @@ DEFFN(CAddHeadPieceMsg); DEFFN(CAnimateMaitreDMsg); DEFFN(CArboretumGateMsg); DEFFN(CArmPickedUpFromTableMsg); +DEFFN(CAutoSoundEvent); +DEFFN(CBilgeAutoSoundEvent); +DEFFN(CBilgeDispensorEvent); DEFFN(CBodyInBilgeRoomMsg); DEFFN(CBowlStateChange); DEFFN(CCarryObjectArrivedMsg); @@ -666,6 +693,7 @@ DEFFN(CDisableMaitreDProdReceptor); DEFFN(CDismissBotMsg); DEFFN(CDoffNavHelmet); DEFFN(CDonNavHelmet); +DEFFN(CDoorAutoSoundEvent); DEFFN(CDoorbotNeededInElevatorMsg); DEFFN(CDoorbotNeededInHomeMsg); DEFFN(CDropobjectMsg); @@ -761,6 +789,7 @@ DEFFN(CReplaceBowlAndNutsMsg); DEFFN(CRestaurantMusicChanged); DEFFN(CSendCCarryMsg); DEFFN(CSenseWorkingMsg); +DEFFN(CServiceElevatorDoor); DEFFN(CServiceElevatorFloorChangeMsg); DEFFN(CServiceElevatorFloorRequestMsg); DEFFN(CServiceElevatorMsg); @@ -850,20 +879,18 @@ DEFFN(CSummonBots); DEFFN(CSuccUBus); DEFFN(CTitania); DEFFN(CAutoMusicPlayer); -DEFFN(CAutoSoundEvent); DEFFN(CAutoMusicPlayerBase); DEFFN(CAutoSoundPlayer); DEFFN(CAutoSoundPlayerADSR); DEFFN(CBackgroundSoundMaker); -DEFFN(CBilgeAutoSoundEvent); DEFFN(CBirdSong); -DEFFN(CDoorAutoSoundEvent); DEFFN(CEnterViewTogglesOtherMusic); DEFFN(CGondolierSong); DEFFN(CMusicPlayer); DEFFN(CNodeAutoSoundPlayer); DEFFN(CRestrictedAutoMusicPlayer); DEFFN(CRoomAutoSoundPlayer); +DEFFN(CSeasonNoises); DEFFN(CSeasonalMusicPlayer); DEFFN(CTitaniaSpeech); DEFFN(CTriggerAutoMusicPlayer); @@ -896,6 +923,8 @@ void CSaveableObject::initClassList() { ADDFN(CLiftbotHead); ADDFN(CLongStick); ADDFN(CMagazine); + ADDFN(CMaitreDLeftArm); + ADDFN(CMaitreDRightArm); ADDFN(CMouth); ADDFN(CNapkin); ADDFN(CNose); @@ -945,6 +974,8 @@ void CSaveableObject::initClassList() { ADDFN(CBowlUnlocker); ADDFN(CBridgeView); ADDFN(CBrokenPellBase); + ADDFN(CBrokenPellerator); + ADDFN(CBrokenPelleratorFroz); ADDFN(CCage); ADDFN(CCallPellerator); ADDFN(CCaptainsWheel); @@ -984,6 +1015,8 @@ void CSaveableObject::initClassList() { ADDFN(CGamesConsole); ADDFN(CGetLiftEye2); ADDFN(CGlassSmasher); + ADDFN(CGondolierBase); + ADDFN(CGondolierMixer); ADDFN(CHammerClip); ADDFN(CHammerDispensor); ADDFN(CHammerDispensorButton); @@ -996,7 +1029,6 @@ void CSaveableObject::initClassList() { ADDFN(CLightSwitch); ADDFN(CLittleLiftButton); ADDFN(CLongStickDispenser); - ADDFN(CMaitreDArmHolder); ADDFN(CMissiveOMat); ADDFN(CMissiveOMatButton); ADDFN(CMusicalInstrument); @@ -1019,14 +1051,15 @@ void CSaveableObject::initClassList() { ADDFN(CPortHole); ADDFN(CRecordPhonographButton); ADDFN(CReplacementEar); + ADDFN(CReservedTable); ADDFN(CRestaurantCylinderHolder); ADDFN(CRestaurantPhonograph); ADDFN(CRoomItem); ADDFN(CSauceDispensor); + ADDFN(CSearchPoint); ADDFN(CSeasonBackground); ADDFN(CSeasonBarrel); ADDFN(CSeasonalAdjustment); - ADDFN(CServiceElevatorDoor); ADDFN(CServiceElevatorWindow); ADDFN(CShipSetting); ADDFN(CShipSettingButton); @@ -1048,6 +1081,10 @@ void CSaveableObject::initClassList() { ADDFN(CWheelHotSpot); ADDFN(CWheelSpin); ADDFN(CWheelSpinHorn); + ADDFN(CMaitreDArmHolder); + ADDFN(CMaitreDBody); + ADDFN(CMaitreDLegs); + ADDFN(CMaitreDProdReceptor); ADDFN(CParrotLobbyController); ADDFN(CParrotLobbyLinkUpdater); ADDFN(CParrotLobbyObject); @@ -1271,6 +1308,7 @@ void CSaveableObject::initClassList() { ADDFN(CRestaurantMusicChanged); ADDFN(CSendCCarryMsg); ADDFN(CSenseWorkingMsg); + ADDFN(CServiceElevatorDoor); ADDFN(CServiceElevatorFloorChangeMsg); ADDFN(CServiceElevatorFloorRequestMsg); ADDFN(CServiceElevatorMsg); @@ -1367,6 +1405,7 @@ void CSaveableObject::initClassList() { ADDFN(CAutoSoundPlayerADSR); ADDFN(CBackgroundSoundMaker); ADDFN(CBilgeAutoSoundEvent); + ADDFN(CBilgeDispensorEvent); ADDFN(CBirdSong); ADDFN(CDoorAutoSoundEvent); ADDFN(CGondolierSong); @@ -1376,6 +1415,7 @@ void CSaveableObject::initClassList() { ADDFN(CNodeAutoSoundPlayer); ADDFN(CRestrictedAutoMusicPlayer); ADDFN(CRoomAutoSoundPlayer); + ADDFN(CSeasonNoises); ADDFN(CSeasonalMusicPlayer); ADDFN(CAutoMusicPlayer); ADDFN(CTitaniaSpeech); diff --git a/engines/titanic/game/broken_pell_base.cpp b/engines/titanic/game/broken_pell_base.cpp index 9e2a97462a..2d11e544e2 100644 --- a/engines/titanic/game/broken_pell_base.cpp +++ b/engines/titanic/game/broken_pell_base.cpp @@ -24,14 +24,21 @@ namespace Titanic { +int CBrokenPellBase::_v1; +int CBrokenPellBase::_v2; + void CBrokenPellBase::save(SimpleFile *file, int indent) const { file->writeNumberLine(1, indent); + file->writeNumberLine(_v1, indent); + file->writeNumberLine(_v2, indent); file->writeNumberLine(_fieldE0, indent); CBackground::save(file, indent); } void CBrokenPellBase::load(SimpleFile *file) { file->readNumber(); + _v1 = file->readNumber(); + _v2 = file->readNumber(); _fieldE0 = file->readNumber(); CBackground::load(file); } diff --git a/engines/titanic/game/broken_pell_base.h b/engines/titanic/game/broken_pell_base.h index fa53af3c62..8e77501aa5 100644 --- a/engines/titanic/game/broken_pell_base.h +++ b/engines/titanic/game/broken_pell_base.h @@ -28,7 +28,10 @@ namespace Titanic { class CBrokenPellBase : public CBackground { -public: +private: + static int _v1; + static int _v2; + int _fieldE0; public: CBrokenPellBase() : CBackground(), _fieldE0(0) {} diff --git a/engines/titanic/game/broken_pellerator.cpp b/engines/titanic/game/broken_pellerator.cpp new file mode 100644 index 0000000000..ea167677bf --- /dev/null +++ b/engines/titanic/game/broken_pellerator.cpp @@ -0,0 +1,47 @@ +/* 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/game/broken_pellerator.h" + +namespace Titanic { + +void CBrokenPellerator::save(SimpleFile *file, int indent) const { + file->writeNumberLine(1, indent); + file->writeQuotedLine(_string2, indent); + file->writeQuotedLine(_string3, indent); + file->writeQuotedLine(_string4, indent); + file->writeQuotedLine(_string5, indent); + + CBrokenPellBase::save(file, indent); +} + +void CBrokenPellerator::load(SimpleFile *file) { + file->readNumber(); + _string2 = file->readString(); + _string3 = file->readString(); + _string4 = file->readString(); + _string5 = file->readString(); + + CBrokenPellBase::load(file); +} + +} // End of namespace Titanic diff --git a/engines/titanic/game/broken_pellerator.h b/engines/titanic/game/broken_pellerator.h new file mode 100644 index 0000000000..71bae32e17 --- /dev/null +++ b/engines/titanic/game/broken_pellerator.h @@ -0,0 +1,55 @@ +/* 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_BROKEN_PELLERATOR_H +#define TITANIC_BROKEN_PELLERATOR_H + +#include "titanic/game/broken_pell_base.h" + +namespace Titanic { + +class CBrokenPellerator : public CBrokenPellBase { +private: + CString _string2; + CString _string3; + CString _string4; + CString _string5; +public: + /** + * Return the class name + */ + virtual const char *getClassName() const { return "CBrokenPellerator"; } + + /** + * Save the data for the class to file + */ + virtual void save(SimpleFile *file, int indent) const; + + /** + * Load the data for the class from file + */ + virtual void load(SimpleFile *file); +}; + +} // End of namespace Titanic + +#endif /* TITANIC_BROKEN_PELLERATOR_H */ diff --git a/engines/titanic/game/broken_pellerator_froz.cpp b/engines/titanic/game/broken_pellerator_froz.cpp new file mode 100644 index 0000000000..6b077d27ec --- /dev/null +++ b/engines/titanic/game/broken_pellerator_froz.cpp @@ -0,0 +1,47 @@ +/* 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/game/broken_pellerator_froz.h" + +namespace Titanic { + +void CBrokenPelleratorFroz::save(SimpleFile *file, int indent) const { + file->writeNumberLine(1, indent); + file->writeQuotedLine(_string2, indent); + file->writeQuotedLine(_string3, indent); + file->writeQuotedLine(_string4, indent); + file->writeQuotedLine(_string5, indent); + + CBrokenPellBase::save(file, indent); +} + +void CBrokenPelleratorFroz::load(SimpleFile *file) { + file->readNumber(); + _string2 = file->readString(); + _string3 = file->readString(); + _string4 = file->readString(); + _string5 = file->readString(); + + CBrokenPellBase::load(file); +} + +} // End of namespace Titanic diff --git a/engines/titanic/game/broken_pellerator_froz.h b/engines/titanic/game/broken_pellerator_froz.h new file mode 100644 index 0000000000..1fded7c09f --- /dev/null +++ b/engines/titanic/game/broken_pellerator_froz.h @@ -0,0 +1,55 @@ +/* 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_BROKEN_PELLERATOR_FROZ_H +#define TITANIC_BROKEN_PELLERATOR_FROZ_H + +#include "titanic/game/broken_pell_base.h" + +namespace Titanic { + +class CBrokenPelleratorFroz : public CBrokenPellBase { +private: + CString _string2; + CString _string3; + CString _string4; + CString _string5; +public: + /** + * Return the class name + */ + virtual const char *getClassName() const { return "CBrokenPelleratorFroz"; } + + /** + * Save the data for the class to file + */ + virtual void save(SimpleFile *file, int indent) const; + + /** + * Load the data for the class from file + */ + virtual void load(SimpleFile *file); +}; + +} // End of namespace Titanic + +#endif /* TITANIC_BROKEN_PELLERATOR_FROZ_H */ diff --git a/engines/titanic/game/gondolier_base.cpp b/engines/titanic/game/gondolier_base.cpp index 32f434e3f2..59c9b5cd0c 100644 --- a/engines/titanic/game/gondolier_base.cpp +++ b/engines/titanic/game/gondolier_base.cpp @@ -24,13 +24,46 @@ namespace Titanic { +int CGondolierBase::_v1; +int CGondolierBase::_v2; +int CGondolierBase::_v3; +int CGondolierBase::_v4; +int CGondolierBase::_v5; +int CGondolierBase::_v6; +int CGondolierBase::_v7; +int CGondolierBase::_v8; +int CGondolierBase::_v9; +int CGondolierBase::_v10; + void CGondolierBase::save(SimpleFile *file, int indent) const { file->writeNumberLine(1, indent); + file->writeNumberLine(_v1, indent); + file->writeNumberLine(_v2, indent); + file->writeNumberLine(_v3, indent); + file->writeNumberLine(_v4, indent); + file->writeNumberLine(_v5, indent); + file->writeNumberLine(_v6, indent); + file->writeNumberLine(_v7, indent); + file->writeNumberLine(_v8, indent); + file->writeNumberLine(_v9, indent); + file->writeNumberLine(_v10, indent); + CGameObject::save(file, indent); } void CGondolierBase::load(SimpleFile *file) { file->readNumber(); + _v1 = file->readNumber(); + _v2 = file->readNumber(); + _v3 = file->readNumber(); + _v4 = file->readNumber(); + _v5 = file->readNumber(); + _v6 = file->readNumber(); + _v7 = file->readNumber(); + _v8 = file->readNumber(); + _v9 = file->readNumber(); + _v10 = file->readNumber(); + CGameObject::load(file); } diff --git a/engines/titanic/game/gondolier_base.h b/engines/titanic/game/gondolier_base.h index 99e0c99572..3f0cede70d 100644 --- a/engines/titanic/game/gondolier_base.h +++ b/engines/titanic/game/gondolier_base.h @@ -28,6 +28,17 @@ namespace Titanic { class CGondolierBase : public CGameObject { +private: + static int _v1; + static int _v2; + static int _v3; + static int _v4; + static int _v5; + static int _v6; + static int _v7; + static int _v8; + static int _v9; + static int _v10; public: /** * Return the class name diff --git a/engines/titanic/game/gondolier_mixer.cpp b/engines/titanic/game/gondolier_mixer.cpp new file mode 100644 index 0000000000..33cc883bb0 --- /dev/null +++ b/engines/titanic/game/gondolier_mixer.cpp @@ -0,0 +1,59 @@ +/* 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/game/gondolier_mixer.h" + +namespace Titanic { + +CGondolierMixer::CGondolierMixer() : CGondolierBase(), + _string1("c#0.wav"), _string2("c#1.wav"), + _fieldBC(-1), _fieldC0(-1), _fieldC4(0), _fieldC8(0), + _fieldE4(0) { +} + +void CGondolierMixer::save(SimpleFile *file, int indent) const { + file->writeNumberLine(1, indent); + file->writeNumberLine(_fieldBC, indent); + file->writeNumberLine(_fieldC0, indent); + file->writeNumberLine(_fieldC4, indent); + file->writeNumberLine(_fieldC8, indent); + file->writeQuotedLine(_string1, indent); + file->writeQuotedLine(_string2, indent); + file->writeNumberLine(_fieldE4, indent); + + CGondolierBase::save(file, indent); +} + +void CGondolierMixer::load(SimpleFile *file) { + file->readNumber(); + _fieldBC = file->readNumber(); + _fieldC0 = file->readNumber(); + _fieldC4 = file->readNumber(); + _fieldC8 = file->readNumber(); + _string1 = file->readString(); + _string2 = file->readString(); + _fieldE4 = file->readNumber(); + + CGondolierBase::load(file); +} + +} // End of namespace Titanic diff --git a/engines/titanic/game/gondolier_mixer.h b/engines/titanic/game/gondolier_mixer.h new file mode 100644 index 0000000000..dfc46210c3 --- /dev/null +++ b/engines/titanic/game/gondolier_mixer.h @@ -0,0 +1,60 @@ +/* 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_GONDOLIER_MIXER_H +#define TITANIC_GONDOLIER_MIXER_H + +#include "titanic/game/gondolier_base.h" + +namespace Titanic { + +class CGondolierMixer : public CGondolierBase { +private: + int _fieldBC; + int _fieldC0; + int _fieldC4; + int _fieldC8; + CString _string1; + CString _string2; + int _fieldE4; +public: + CGondolierMixer(); + + /** + * Return the class name + */ + virtual const char *getClassName() const { return "CGondolierMixer"; } + + /** + * Save the data for the class to file + */ + virtual void save(SimpleFile *file, int indent) const; + + /** + * Load the data for the class from file + */ + virtual void load(SimpleFile *file); +}; + +} // End of namespace Titanic + +#endif /* TITANIC_GONDOLIER_MIXER_H */ diff --git a/engines/titanic/game/lemon_dispensor.cpp b/engines/titanic/game/lemon_dispensor.cpp index 3cf7cc9525..b13b6d8f0b 100644 --- a/engines/titanic/game/lemon_dispensor.cpp +++ b/engines/titanic/game/lemon_dispensor.cpp @@ -24,12 +24,19 @@ namespace Titanic { +int CLemonDispensor::_v1; +int CLemonDispensor::_v2; +int CLemonDispensor::_v3; + CLemonDispensor::CLemonDispensor() : CBackground(), _fieldE0(0), _fieldE4(9), _fieldE8(15), _fieldEC(0) { } void CLemonDispensor::save(SimpleFile *file, int indent) const { file->writeNumberLine(1, indent); + file->writeNumberLine(_v1, indent); + file->writeNumberLine(_v2, indent); + file->writeNumberLine(_v3, indent); file->writeNumberLine(_fieldE0, indent); file->writeNumberLine(_fieldE4, indent); file->writeNumberLine(_fieldE8, indent); @@ -40,6 +47,9 @@ void CLemonDispensor::save(SimpleFile *file, int indent) const { void CLemonDispensor::load(SimpleFile *file) { file->readNumber(); + _v1 = file->readNumber(); + _v2 = file->readNumber(); + _v3 = file->readNumber(); _fieldE0 = file->readNumber(); _fieldE4 = file->readNumber(); _fieldE8 = file->readNumber(); diff --git a/engines/titanic/game/lemon_dispensor.h b/engines/titanic/game/lemon_dispensor.h index 7f3164f192..c2c76eac6a 100644 --- a/engines/titanic/game/lemon_dispensor.h +++ b/engines/titanic/game/lemon_dispensor.h @@ -28,7 +28,11 @@ namespace Titanic { class CLemonDispensor : public CBackground { -public: +private: + static int _v1; + static int _v2; + static int _v3; + int _fieldE0; int _fieldE4; int _fieldE8; diff --git a/engines/titanic/game/maitred_arm_holder.cpp b/engines/titanic/game/maitred/maitred_arm_holder.cpp index 81ad43556b..b6fc494441 100644 --- a/engines/titanic/game/maitred_arm_holder.cpp +++ b/engines/titanic/game/maitred/maitred_arm_holder.cpp @@ -20,7 +20,7 @@ * */ -#include "titanic/game/maitred_arm_holder.h" +#include "titanic/game/maitred/maitred_arm_holder.h" namespace Titanic { @@ -31,7 +31,7 @@ void CMaitreDArmHolder::save(SimpleFile *file, int indent) const { void CMaitreDArmHolder::load(SimpleFile *file) { file->readNumber(); - CGameObject::load(file); + CDropTarget::load(file); } } // End of namespace Titanic diff --git a/engines/titanic/game/maitred_arm_holder.h b/engines/titanic/game/maitred/maitred_arm_holder.h index b838109fa3..b838109fa3 100644 --- a/engines/titanic/game/maitred_arm_holder.h +++ b/engines/titanic/game/maitred/maitred_arm_holder.h diff --git a/engines/titanic/game/maitred/maitred_body.cpp b/engines/titanic/game/maitred/maitred_body.cpp new file mode 100644 index 0000000000..4cdd5899de --- /dev/null +++ b/engines/titanic/game/maitred/maitred_body.cpp @@ -0,0 +1,39 @@ +/* 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/game/maitred/maitred_legs.h" + +namespace Titanic { + +void CMaitreDLegs::save(SimpleFile *file, int indent) const { + file->writeNumberLine(1, indent); + file->writeNumberLine(_fieldC8, indent); + CMaitreDProdReceptor::save(file, indent); +} + +void CMaitreDLegs::load(SimpleFile *file) { + file->readNumber(); + _fieldC8 = file->readNumber(); + CMaitreDProdReceptor::load(file); +} + +} // End of namespace Titanic diff --git a/engines/titanic/game/maitred/maitred_body.h b/engines/titanic/game/maitred/maitred_body.h new file mode 100644 index 0000000000..29e528b1f6 --- /dev/null +++ b/engines/titanic/game/maitred/maitred_body.h @@ -0,0 +1,54 @@ +/* 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_MAITRED_BODY_H +#define TITANIC_MAITRED_BODY_H + +#include "titanic/game/maitred/maitred_prod_receptor.h" + +namespace Titanic { + +class CMaitreDBody : public CMaitreDProdReceptor { +private: + int _fieldC8; +public: + CMaitreDBody() : CMaitreDProdReceptor(), _fieldC8(1) {} + + /** + * Return the class name + */ + virtual const char *getClassName() const { return "CMaitreDBody"; } + + /** + * Save the data for the class to file + */ + virtual void save(SimpleFile *file, int indent) const; + + /** + * Load the data for the class from file + */ + virtual void load(SimpleFile *file); +}; + +} // End of namespace Titanic + +#endif /* TITANIC_MAITRED_BODY_H */ diff --git a/engines/titanic/game/maitred/maitred_legs.cpp b/engines/titanic/game/maitred/maitred_legs.cpp new file mode 100644 index 0000000000..ce7054e057 --- /dev/null +++ b/engines/titanic/game/maitred/maitred_legs.cpp @@ -0,0 +1,39 @@ +/* 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/game/maitred/maitred_body.h" + +namespace Titanic { + +void CMaitreDBody::save(SimpleFile *file, int indent) const { + file->writeNumberLine(1, indent); + file->writeNumberLine(_fieldC8, indent); + CMaitreDProdReceptor::save(file, indent); +} + +void CMaitreDBody::load(SimpleFile *file) { + file->readNumber(); + _fieldC8 = file->readNumber(); + CMaitreDProdReceptor::load(file); +} + +} // End of namespace Titanic diff --git a/engines/titanic/game/maitred/maitred_legs.h b/engines/titanic/game/maitred/maitred_legs.h new file mode 100644 index 0000000000..e3ac93c870 --- /dev/null +++ b/engines/titanic/game/maitred/maitred_legs.h @@ -0,0 +1,54 @@ +/* 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_MAITRED_LEGS_H +#define TITANIC_MAITRED_LEGS_H + +#include "titanic/game/maitred/maitred_prod_receptor.h" + +namespace Titanic { + +class CMaitreDLegs : public CMaitreDProdReceptor { +private: + int _fieldC8; +public: + CMaitreDLegs() : CMaitreDProdReceptor(), _fieldC8(1) {} + + /** + * Return the class name + */ + virtual const char *getClassName() const { return "CMaitreDLegs"; } + + /** + * Save the data for the class to file + */ + virtual void save(SimpleFile *file, int indent) const; + + /** + * Load the data for the class from file + */ + virtual void load(SimpleFile *file); +}; + +} // End of namespace Titanic + +#endif /* TITANIC_MAITRED_LEGS_H */ diff --git a/engines/titanic/game/maitred/maitred_prod_receptor.cpp b/engines/titanic/game/maitred/maitred_prod_receptor.cpp new file mode 100644 index 0000000000..6e6143c510 --- /dev/null +++ b/engines/titanic/game/maitred/maitred_prod_receptor.cpp @@ -0,0 +1,45 @@ +/* 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/game/maitred/maitred_prod_receptor.h" + +namespace Titanic { + +void CMaitreDProdReceptor::save(SimpleFile *file, int indent) const { + file->writeNumberLine(1, indent); + file->writeNumberLine(_fieldBC, indent); + file->writeNumberLine(_fieldC0, indent); + file->writeNumberLine(_fieldC4, indent); + + CGameObject::save(file, indent); +} + +void CMaitreDProdReceptor::load(SimpleFile *file) { + file->readNumber(); + _fieldBC = file->readNumber(); + _fieldC0 = file->readNumber(); + _fieldC4 = file->readNumber(); + + CGameObject::load(file); +} + +} // End of namespace Titanic diff --git a/engines/titanic/game/maitred/maitred_prod_receptor.h b/engines/titanic/game/maitred/maitred_prod_receptor.h new file mode 100644 index 0000000000..130bc547b2 --- /dev/null +++ b/engines/titanic/game/maitred/maitred_prod_receptor.h @@ -0,0 +1,57 @@ +/* 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_MAITRED_PROD_RECEPTOR_H +#define TITANIC_MAITRED_PROD_RECEPTOR_H + +#include "titanic/core/game_object.h" + +namespace Titanic { + +class CMaitreDProdReceptor : public CGameObject { +protected: + int _fieldBC; + int _fieldC0; + int _fieldC4; +public: + CMaitreDProdReceptor() : CGameObject(), + _fieldBC(0), _fieldC0(0), _fieldC4(1) {} + + /** + * Return the class name + */ + virtual const char *getClassName() const { return "CMaitreDProdReceptor"; } + + /** + * Save the data for the class to file + */ + virtual void save(SimpleFile *file, int indent) const; + + /** + * Load the data for the class from file + */ + virtual void load(SimpleFile *file); +}; + +} // End of namespace Titanic + +#endif /* TITANIC_MAITRED_PROD_RECEPTOR_H */ diff --git a/engines/titanic/game/pickup/pick_up_hose.cpp b/engines/titanic/game/pickup/pick_up_hose.cpp index 35ac7f8049..e6902cb6b3 100644 --- a/engines/titanic/game/pickup/pick_up_hose.cpp +++ b/engines/titanic/game/pickup/pick_up_hose.cpp @@ -24,15 +24,21 @@ namespace Titanic { +int CPickUpHose::_v1; + void CPickUpHose::save(SimpleFile *file, int indent) const { file->writeNumberLine(1, indent); file->writeQuotedLine(_string1, indent); + file->writeNumberLine(_v1, indent); + CPickUp::save(file, indent); } void CPickUpHose::load(SimpleFile *file) { file->readNumber(); _string1 = file->readString(); + _v1 = file->readNumber(); + CPickUp::load(file); } diff --git a/engines/titanic/game/pickup/pick_up_hose.h b/engines/titanic/game/pickup/pick_up_hose.h index 56596c50fc..13d5810177 100644 --- a/engines/titanic/game/pickup/pick_up_hose.h +++ b/engines/titanic/game/pickup/pick_up_hose.h @@ -29,6 +29,8 @@ namespace Titanic { class CPickUpHose : public CPickUp { private: + static int _v1; + CString _string1; public: /** diff --git a/engines/titanic/game/speech_dispensor.cpp b/engines/titanic/game/speech_dispensor.cpp index d8fc66b07a..72873391db 100644 --- a/engines/titanic/game/speech_dispensor.cpp +++ b/engines/titanic/game/speech_dispensor.cpp @@ -26,11 +26,27 @@ namespace Titanic { void CSpeechDispensor::save(SimpleFile *file, int indent) const { file->writeNumberLine(1, indent); + file->writeNumberLine(_fieldE0, indent); + file->writeNumberLine(_fieldE4, indent); + file->writeNumberLine(_fieldEC, indent); + file->writeNumberLine(_fieldF0, indent); + file->writeNumberLine(_fieldF4, indent); + file->writeNumberLine(_fieldF8, indent); + file->writeNumberLine(_fieldFC, indent); + CBackground::save(file, indent); } void CSpeechDispensor::load(SimpleFile *file) { file->readNumber(); + _fieldE0 = file->readNumber(); + _fieldE4 = file->readNumber(); + _fieldEC = file->readNumber(); + _fieldF0 = file->readNumber(); + _fieldF4 = file->readNumber(); + _fieldF8 = file->readNumber(); + _fieldFC = file->readNumber(); + CBackground::load(file); } diff --git a/engines/titanic/game/speech_dispensor.h b/engines/titanic/game/speech_dispensor.h index 857750dc95..19f31fcf68 100644 --- a/engines/titanic/game/speech_dispensor.h +++ b/engines/titanic/game/speech_dispensor.h @@ -28,6 +28,15 @@ namespace Titanic { class CSpeechDispensor : public CBackground { +private: + int _fieldE0; + int _fieldE4; + int _fieldE8; + int _fieldEC; + int _fieldF0; + int _fieldF4; + int _fieldF8; + int _fieldFC; public: /** * Return the class name diff --git a/engines/titanic/sound/auto_sound_event.cpp b/engines/titanic/messages/auto_sound_event.cpp index 673f35b210..006762c49b 100644 --- a/engines/titanic/sound/auto_sound_event.cpp +++ b/engines/titanic/messages/auto_sound_event.cpp @@ -20,7 +20,7 @@ * */ -#include "titanic/sound/auto_sound_event.h" +#include "titanic/messages/auto_sound_event.h" namespace Titanic { diff --git a/engines/titanic/sound/auto_sound_event.h b/engines/titanic/messages/auto_sound_event.h index cb5bfee788..cb5bfee788 100644 --- a/engines/titanic/sound/auto_sound_event.h +++ b/engines/titanic/messages/auto_sound_event.h diff --git a/engines/titanic/sound/bilge_auto_sound_event.cpp b/engines/titanic/messages/bilge_auto_sound_event.cpp index 2446a5df06..7bc91da0bc 100644 --- a/engines/titanic/sound/bilge_auto_sound_event.cpp +++ b/engines/titanic/messages/bilge_auto_sound_event.cpp @@ -20,7 +20,7 @@ * */ -#include "titanic/sound/bilge_auto_sound_event.h" +#include "titanic/messages/bilge_auto_sound_event.h" namespace Titanic { diff --git a/engines/titanic/sound/bilge_auto_sound_event.h b/engines/titanic/messages/bilge_auto_sound_event.h index 96572839ae..94f38d3e65 100644 --- a/engines/titanic/sound/bilge_auto_sound_event.h +++ b/engines/titanic/messages/bilge_auto_sound_event.h @@ -23,7 +23,7 @@ #ifndef TITANIC_BILGE_AUTO_SOUND_EVENT_H #define TITANIC_BILGE_AUTO_SOUND_EVENT_H -#include "titanic/sound/auto_sound_event.h" +#include "titanic/messages/auto_sound_event.h" namespace Titanic { diff --git a/engines/titanic/messages/bilge_dispensor_event.cpp b/engines/titanic/messages/bilge_dispensor_event.cpp new file mode 100644 index 0000000000..9252d123e9 --- /dev/null +++ b/engines/titanic/messages/bilge_dispensor_event.cpp @@ -0,0 +1,37 @@ +/* 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/messages/bilge_dispensor_event.h" + +namespace Titanic { + +void CBilgeDispensorEvent::save(SimpleFile *file, int indent) const { + file->writeNumberLine(1, indent); + CAutoSoundEvent::save(file, indent); +} + +void CBilgeDispensorEvent::load(SimpleFile *file) { + file->readNumber(); + CAutoSoundEvent::load(file); +} + +} // End of namespace Titanic diff --git a/engines/titanic/messages/bilge_dispensor_event.h b/engines/titanic/messages/bilge_dispensor_event.h new file mode 100644 index 0000000000..8308d474b2 --- /dev/null +++ b/engines/titanic/messages/bilge_dispensor_event.h @@ -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. + * + */ + +#ifndef TITANIC_BILGE_DISPENSOR_EVENT_H +#define TITANIC_BILGE_DISPENSOR_EVENT_H + +#include "titanic/messages/auto_sound_event.h" + +namespace Titanic { + +class CBilgeDispensorEvent : public CAutoSoundEvent { +public: + /** + * Return the class name + */ + virtual const char *getClassName() const { return "CBilgeDispensorEvent"; } + + /** + * Save the data for the class to file + */ + virtual void save(SimpleFile *file, int indent) const; + + /** + * Load the data for the class from file + */ + virtual void load(SimpleFile *file); +}; + +} // End of namespace Titanic + +#endif /* TITANIC_BILGE_DISPENSOR_EVENT_H */ diff --git a/engines/titanic/sound/door_auto_sound_event.cpp b/engines/titanic/messages/door_auto_sound_event.cpp index f0e77fce91..ff9101f506 100644 --- a/engines/titanic/sound/door_auto_sound_event.cpp +++ b/engines/titanic/messages/door_auto_sound_event.cpp @@ -20,7 +20,7 @@ * */ -#include "titanic/sound/door_auto_sound_event.h" +#include "titanic/messages/door_auto_sound_event.h" namespace Titanic { diff --git a/engines/titanic/sound/door_auto_sound_event.h b/engines/titanic/messages/door_auto_sound_event.h index 017912dc36..ef417560dc 100644 --- a/engines/titanic/sound/door_auto_sound_event.h +++ b/engines/titanic/messages/door_auto_sound_event.h @@ -23,7 +23,7 @@ #ifndef TITANIC_DOOR_AUTO_SOUND_EVENT_H #define TITANIC_DOOR_AUTO_SOUND_EVENT_H -#include "titanic/sound/auto_sound_event.h" +#include "titanic/messages/auto_sound_event.h" namespace Titanic { diff --git a/engines/titanic/game/service_elevator_door.cpp b/engines/titanic/messages/service_elevator_door.cpp index 717b61dc72..e771f14484 100644 --- a/engines/titanic/game/service_elevator_door.cpp +++ b/engines/titanic/messages/service_elevator_door.cpp @@ -20,7 +20,7 @@ * */ -#include "titanic/game/service_elevator_door.h" +#include "titanic/messages/service_elevator_door.h" namespace Titanic { diff --git a/engines/titanic/game/service_elevator_door.h b/engines/titanic/messages/service_elevator_door.h index 52465d842d..a3a8388405 100644 --- a/engines/titanic/game/service_elevator_door.h +++ b/engines/titanic/messages/service_elevator_door.h @@ -23,7 +23,7 @@ #ifndef TITANIC_SERVICE_ELEVATOR_DOOR_H #define TITANIC_SERVICE_ELEVATOR_DOOR_H -#include "titanic/sound/door_auto_sound_event.h" +#include "titanic/messages/door_auto_sound_event.h" namespace Titanic { diff --git a/engines/titanic/module.mk b/engines/titanic/module.mk index 975d5aa08c..191b61bcd7 100644 --- a/engines/titanic/module.mk +++ b/engines/titanic/module.mk @@ -38,6 +38,8 @@ MODULE_OBJS := \ carry/liftbot_head.o \ carry/long_stick.o \ carry/magazine.o \ + carry/maitred_left_arm.o \ + carry/maitred_right_arm.o \ carry/mouth.o \ carry/napkin.o \ carry/nose.o \ @@ -93,6 +95,8 @@ MODULE_OBJS := \ game/bridge_door.o \ game/bridge_view.o \ game/broken_pell_base.o \ + game/broken_pellerator.o \ + game/broken_pellerator_froz.o \ game/call_pellerator.o \ game/cage.o \ game/captains_wheel.o \ @@ -138,6 +142,7 @@ MODULE_OBJS := \ game/get_lift_eye2.o \ game/glass_smasher.o \ game/gondolier_base.o \ + game/gondolier_mixer.o \ game/hammer_clip.o \ game/head_slot.o \ game/head_smash_event.o \ @@ -151,7 +156,6 @@ MODULE_OBJS := \ game/little_lift_button.o \ game/long_stick_dispenser.o \ game/mail_man.o \ - game/maitred_arm_holder.o \ game/missiveomat.o \ game/missiveomat_button.o \ game/movie_tester.o \ @@ -186,7 +190,6 @@ MODULE_OBJS := \ game/season_background.o \ game/season_barrel.o \ game/seasonal_adjustment.o \ - game/service_elevator_door.o \ game/service_elevator_window.o \ game/ship_setting.o \ game/ship_setting_button.o \ @@ -211,6 +214,10 @@ MODULE_OBJS := \ game/wheel_hotspot.o \ game/wheel_spin.o \ game/wheel_spin_horn.o \ + game/maitred/maitred_arm_holder.o \ + game/maitred/maitred_body.o \ + game/maitred/maitred_legs.o \ + game/maitred/maitred_prod_receptor.o \ game/parrot/parrot_lobby_controller.o \ game/parrot/parrot_lobby_link_updater.o \ game/parrot/parrot_lobby_object.o \ @@ -304,7 +311,12 @@ MODULE_OBJS := \ gfx/toggle_button.o \ gfx/toggle_switch.o \ gfx/volume_control.o \ + messages/auto_sound_event.o \ + messages/bilge_auto_sound_event.o \ + messages/bilge_dispensor_event.o \ + messages/door_auto_sound_event.o \ messages/messages.o \ + messages/service_elevator_door.o \ moves/enter_bomb_room.o \ moves/enter_bridge.o \ moves/enter_exit_first_class_state.o \ @@ -344,19 +356,18 @@ MODULE_OBJS := \ npcs/true_talk_npc.o \ sound/auto_music_player.o \ sound/auto_music_player_base.o \ - sound/auto_sound_event.o \ sound/auto_sound_player.o \ sound/auto_sound_player_adsr.o \ sound/background_sound_maker.o \ - sound/bilge_auto_sound_event.o \ sound/bird_song.o \ - sound/door_auto_sound_event.o \ + sound/dome_from_top_of_well.o \ sound/enter_view_toggles_other_music.o \ sound/gondolier_song.o \ sound/music_player.o \ sound/node_auto_sound_player.o \ sound/restricted_auto_music_player.o \ sound/room_auto_sound_player.o \ + sound/season_noises.o \ sound/seasonal_music_player.o \ sound/titania_speech.o \ sound/trigger_auto_music_player.o \ diff --git a/engines/titanic/sound/dome_from_top_of_well.cpp b/engines/titanic/sound/dome_from_top_of_well.cpp new file mode 100644 index 0000000000..6e31937af0 --- /dev/null +++ b/engines/titanic/sound/dome_from_top_of_well.cpp @@ -0,0 +1,37 @@ +/* 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/sound/dome_from_top_of_well.h" + +namespace Titanic { + +void CDomeFromTopOfWell::save(SimpleFile *file, int indent) const { + file->writeNumberLine(1, indent); + CViewAutoSoundPlayer::save(file, indent); +} + +void CDomeFromTopOfWell::load(SimpleFile *file) { + file->readNumber(); + CViewAutoSoundPlayer::load(file); +} + +} // End of namespace Titanic diff --git a/engines/titanic/sound/dome_from_top_of_well.h b/engines/titanic/sound/dome_from_top_of_well.h new file mode 100644 index 0000000000..faea805b1a --- /dev/null +++ b/engines/titanic/sound/dome_from_top_of_well.h @@ -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. + * + */ + +#ifndef TITANIC_DOME_FROM_TOP_OF_WELL_H +#define TITANIC_DOME_FROM_TOP_OF_WELL_H + +#include "titanic/sound/view_auto_sound_player.h" + +namespace Titanic { + +class CDomeFromTopOfWell : public CViewAutoSoundPlayer { +public: + /** + * Return the class name + */ + virtual const char *getClassName() const { return "CDomeFromTopOfWell"; } + + /** + * Save the data for the class to file + */ + virtual void save(SimpleFile *file, int indent) const; + + /** + * Load the data for the class from file + */ + virtual void load(SimpleFile *file); +}; + +} // End of namespace Titanic + +#endif /* TITANIC_DOME_FROM_TOP_OF_WELL_H */ diff --git a/engines/titanic/sound/season_noises.cpp b/engines/titanic/sound/season_noises.cpp new file mode 100644 index 0000000000..beacdefffa --- /dev/null +++ b/engines/titanic/sound/season_noises.cpp @@ -0,0 +1,53 @@ +/* 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/sound/season_noises.h" + +namespace Titanic { + +CSeasonNoises::CSeasonNoises() : CViewAutoSoundPlayer(), _fieldF0(0), + _string2("NULL"), _string3("NULL"), _string4("NULL"), _string5("NULL") { +} + +void CSeasonNoises::save(SimpleFile *file, int indent) const { + file->writeNumberLine(1, indent); + file->writeNumberLine(_fieldF0, indent); + file->writeQuotedLine(_string2, indent); + file->writeQuotedLine(_string3, indent); + file->writeQuotedLine(_string4, indent); + file->writeQuotedLine(_string5, indent); + + CViewAutoSoundPlayer::save(file, indent); +} + +void CSeasonNoises::load(SimpleFile *file) { + file->readNumber(); + _fieldF0 = file->readNumber(); + _string2 = file->readString(); + _string3 = file->readString(); + _string4 = file->readString(); + _string5 = file->readString(); + + CViewAutoSoundPlayer::load(file); +} + +} // End of namespace Titanic diff --git a/engines/titanic/sound/season_noises.h b/engines/titanic/sound/season_noises.h new file mode 100644 index 0000000000..def709c536 --- /dev/null +++ b/engines/titanic/sound/season_noises.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_SEASON_NOISES_H +#define TITANIC_SEASON_NOISES_H + +#include "titanic/sound/view_auto_sound_player.h" + +namespace Titanic { + +class CSeasonNoises : public CViewAutoSoundPlayer { +private: + int _fieldF0; + CString _string2; + CString _string3; + CString _string4; + CString _string5; +public: + CSeasonNoises(); + + /** + * Return the class name + */ + virtual const char *getClassName() const { return "CSeasonNoises"; } + + /** + * Save the data for the class to file + */ + virtual void save(SimpleFile *file, int indent) const; + + /** + * Load the data for the class from file + */ + virtual void load(SimpleFile *file); +}; + +} // End of namespace Titanic + +#endif /* TITANIC_SEASON_NOISES_H */ |