aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorPaul Gilbert2016-03-01 23:40:59 -0500
committerPaul Gilbert2016-03-01 23:40:59 -0500
commitf7e057e4d74a7f38ac40024bba29ebc0071975c5 (patch)
treebf01ebc556d7e6df840da413785bbe8a8e5e44eb /engines
parent9ce8e1130cc32c49e31a2160b2f4034f05430b4b (diff)
downloadscummvm-rg350-f7e057e4d74a7f38ac40024bba29ebc0071975c5.tar.gz
scummvm-rg350-f7e057e4d74a7f38ac40024bba29ebc0071975c5.tar.bz2
scummvm-rg350-f7e057e4d74a7f38ac40024bba29ebc0071975c5.zip
TITANIC: Added more miscellaneous classes
Diffstat (limited to 'engines')
-rw-r--r--engines/titanic/core/saveable_object.cpp124
-rw-r--r--engines/titanic/game/annoy_barbot.cpp4
-rw-r--r--engines/titanic/game/annoy_barbot.h2
-rw-r--r--engines/titanic/game/bar_menu.cpp8
-rw-r--r--engines/titanic/game/doorbot_elevator_handler.cpp4
-rw-r--r--engines/titanic/game/doorbot_elevator_handler.h3
-rw-r--r--engines/titanic/game/elevator_action_area.cpp2
-rw-r--r--engines/titanic/game/emma_control.cpp4
-rw-r--r--engines/titanic/game/emma_control.h4
-rw-r--r--engines/titanic/game/long_stick_dispenser.cpp8
-rw-r--r--engines/titanic/game/long_stick_dispenser.h2
-rw-r--r--engines/titanic/game/pet/pet_lift.cpp37
-rw-r--r--engines/titanic/game/pet/pet_lift.h50
-rw-r--r--engines/titanic/game/pet/pet_pellerator.cpp37
-rw-r--r--engines/titanic/game/pet/pet_pellerator.h50
-rw-r--r--engines/titanic/game/pickup/pick_up.cpp39
-rw-r--r--engines/titanic/game/pickup/pick_up.h54
-rw-r--r--engines/titanic/game/pickup/pick_up_bar_glass.cpp37
-rw-r--r--engines/titanic/game/pickup/pick_up_bar_glass.h50
-rw-r--r--engines/titanic/game/pickup/pick_up_hose.cpp39
-rw-r--r--engines/titanic/game/pickup/pick_up_hose.h52
-rw-r--r--engines/titanic/game/pickup/pick_up_lemon.cpp37
-rw-r--r--engines/titanic/game/pickup/pick_up_lemon.h50
-rw-r--r--engines/titanic/game/pickup/pick_up_speech_centre.cpp37
-rw-r--r--engines/titanic/game/pickup/pick_up_speech_centre.h50
-rw-r--r--engines/titanic/game/pickup/pick_up_vis_centre.cpp37
-rw-r--r--engines/titanic/game/pickup/pick_up_vis_centre.h50
-rw-r--r--engines/titanic/game/placeholder/bar_shelf_vis_centre.cpp39
-rw-r--r--engines/titanic/game/placeholder/bar_shelf_vis_centre.h53
-rw-r--r--engines/titanic/game/placeholder/lemon_on_bar.cpp39
-rw-r--r--engines/titanic/game/placeholder/lemon_on_bar.h52
-rw-r--r--engines/titanic/game/placeholder/place_holder.cpp (renamed from engines/titanic/game/place_holder.cpp)2
-rw-r--r--engines/titanic/game/placeholder/place_holder.h (renamed from engines/titanic/game/place_holder.h)0
-rw-r--r--engines/titanic/game/placeholder/tv_on_bar.cpp39
-rw-r--r--engines/titanic/game/placeholder/tv_on_bar.h52
-rw-r--r--engines/titanic/game/sgt/armchair.cpp37
-rw-r--r--engines/titanic/game/sgt/armchair.h50
-rw-r--r--engines/titanic/game/sgt/basin.cpp37
-rw-r--r--engines/titanic/game/sgt/basin.h50
-rw-r--r--engines/titanic/game/sgt/bedfoot.cpp37
-rw-r--r--engines/titanic/game/sgt/bedfoot.h50
-rw-r--r--engines/titanic/game/sgt/bedhead.cpp37
-rw-r--r--engines/titanic/game/sgt/bedhead.h50
-rw-r--r--engines/titanic/game/sgt/chest_of_drawers.cpp37
-rw-r--r--engines/titanic/game/sgt/chest_of_drawers.h50
-rw-r--r--engines/titanic/game/sgt/desk.cpp37
-rw-r--r--engines/titanic/game/sgt/desk.h50
-rw-r--r--engines/titanic/game/sgt/deskchair.cpp37
-rw-r--r--engines/titanic/game/sgt/deskchair.h50
-rw-r--r--engines/titanic/game/sgt/drawer.cpp (renamed from engines/titanic/game/drawer.cpp)2
-rw-r--r--engines/titanic/game/sgt/drawer.h (renamed from engines/titanic/game/drawer.h)0
-rw-r--r--engines/titanic/game/sgt/sgt_nav.cpp37
-rw-r--r--engines/titanic/game/sgt/sgt_nav.h50
-rw-r--r--engines/titanic/game/sgt/sgt_state_control.cpp39
-rw-r--r--engines/titanic/game/sgt/sgt_state_control.h54
-rw-r--r--engines/titanic/game/sgt/sgt_tv.cpp37
-rw-r--r--engines/titanic/game/sgt/sgt_tv.h50
-rw-r--r--engines/titanic/game/sgt/toilet.cpp37
-rw-r--r--engines/titanic/game/sgt/toilet.h50
-rw-r--r--engines/titanic/game/sgt/vase.cpp37
-rw-r--r--engines/titanic/game/sgt/vase.h50
-rw-r--r--engines/titanic/game/sgt/washstand.cpp37
-rw-r--r--engines/titanic/game/sgt/washstand.h50
-rw-r--r--engines/titanic/game/transport/exit_pellerator.cpp46
-rw-r--r--engines/titanic/game/transport/exit_pellerator.h53
-rw-r--r--engines/titanic/game/transport/pellerator.cpp9
-rw-r--r--engines/titanic/game/transport/pellerator.h3
-rw-r--r--engines/titanic/game/transport/service_elevator.cpp10
-rw-r--r--engines/titanic/game/transport/service_elevator.h6
-rw-r--r--engines/titanic/module.mk27
-rw-r--r--engines/titanic/moves/enter_exit_sec_class_mini_lift.cpp18
-rw-r--r--engines/titanic/moves/enter_exit_sec_class_mini_lift.h13
-rw-r--r--engines/titanic/moves/exit_pellerator.cpp18
-rw-r--r--engines/titanic/moves/exit_pellerator.h11
-rw-r--r--engines/titanic/titanic.cpp6
75 files changed, 2496 insertions, 10 deletions
diff --git a/engines/titanic/core/saveable_object.cpp b/engines/titanic/core/saveable_object.cpp
index 08a3668053..a2273fdff1 100644
--- a/engines/titanic/core/saveable_object.cpp
+++ b/engines/titanic/core/saveable_object.cpp
@@ -77,9 +77,13 @@
#include "titanic/core/view_item.h"
#include "titanic/game/announce.h"
+#include "titanic/game/annoy_barbot.h"
#include "titanic/game/arb_background.h"
#include "titanic/game/arboretum_gate.h"
#include "titanic/game/auto_animate.h"
+#include "titanic/game/bar_bell.h"
+#include "titanic/game/bar_menu.h"
+#include "titanic/game/bar_menu_button.h"
#include "titanic/game/belbot_get_light.h"
#include "titanic/game/bomb.h"
#include "titanic/game/bowl_unlocker.h"
@@ -102,10 +106,11 @@
#include "titanic/game/credits_button.h"
#include "titanic/game/dead_area.h"
#include "titanic/game/desk_click_responder.h"
+#include "titanic/game/doorbot_elevator_handler.h"
#include "titanic/game/doorbot_home_handler.h"
-#include "titanic/game/drawer.h"
#include "titanic/game/ear_sweet_bowl.h"
#include "titanic/game/eject_phonograph_button.h"
+#include "titanic/game/elevator_action_area.h"
#include "titanic/game/emma_control.h"
#include "titanic/game/empty_nut_bowl.h"
#include "titanic/game/end_credit_text.h"
@@ -121,15 +126,18 @@
#include "titanic/game/floor_indicator.h"
#include "titanic/game/games_console.h"
#include "titanic/game/get_lift_eye2.h"
+#include "titanic/game/glass_smasher.h"
#include "titanic/game/hammer_clip.h"
#include "titanic/game/hammer_dispensor.h"
#include "titanic/game/hammer_dispensor_button.h"
#include "titanic/game/head_smash_event.h"
#include "titanic/game/head_smash_lever.h"
+#include "titanic/game/idle_summoner.h"
#include "titanic/game/lemon_dispensor.h"
#include "titanic/game/light.h"
#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/musical_instrument.h"
#include "titanic/game/music_console_button.h"
@@ -165,6 +173,7 @@
#include "titanic/game/television.h"
#include "titanic/game/third_class_canal.h"
#include "titanic/game/throw_tv_down_well.h"
+#include "titanic/game/tow_parrot_nav.h"
#include "titanic/game/up_lighter.h"
#include "titanic/game/wheel_button.h"
#include "titanic/game/wheel_hotspot.h"
@@ -184,17 +193,43 @@
#include "titanic/game/pet/pet_class1.h"
#include "titanic/game/pet/pet_class2.h"
#include "titanic/game/pet/pet_class3.h"
+#include "titanic/game/pet/pet_lift.h"
#include "titanic/game/pet/pet_monitor.h"
+#include "titanic/game/pet/pet_pellerator.h"
#include "titanic/game/pet/pet_position.h"
#include "titanic/game/pet/pet_sentinal.h"
#include "titanic/game/pet/pet_sounds.h"
#include "titanic/game/pet/pet_transition.h"
#include "titanic/game/pet/pet_transport.h"
+#include "titanic/game/pickup/pick_up.h"
+#include "titanic/game/pickup/pick_up_bar_glass.h"
+#include "titanic/game/pickup/pick_up_hose.h"
+#include "titanic/game/pickup/pick_up_lemon.h"
+#include "titanic/game/pickup/pick_up_speech_centre.h"
+#include "titanic/game/pickup/pick_up_vis_centre.h"
+#include "titanic/game/placeholder/bar_shelf_vis_centre.h"
+#include "titanic/game/placeholder/lemon_on_bar.h"
+#include "titanic/game/placeholder/place_holder.h"
+#include "titanic/game/placeholder/tv_on_bar.h"
+#include "titanic/game/sgt/armchair.h"
+#include "titanic/game/sgt/basin.h"
+#include "titanic/game/sgt/bedfoot.h"
+#include "titanic/game/sgt/bedhead.h"
+#include "titanic/game/sgt/chest_of_drawers.h"
+#include "titanic/game/sgt/desk.h"
+#include "titanic/game/sgt/deskchair.h"
+#include "titanic/game/sgt/drawer.h"
#include "titanic/game/sgt/sgt_doors.h"
+#include "titanic/game/sgt/sgt_nav.h"
#include "titanic/game/sgt/sgt_navigation.h"
#include "titanic/game/sgt/sgt_restaurant_doors.h"
+#include "titanic/game/sgt/sgt_state_control.h"
#include "titanic/game/sgt/sgt_state_room.h"
+#include "titanic/game/sgt/sgt_tv.h"
#include "titanic/game/sgt/sgt_upper_doors_sound.h"
+#include "titanic/game/sgt/toilet.h"
+#include "titanic/game/sgt/vase.h"
+#include "titanic/game/sgt/washstand.h"
#include "titanic/game/transport/gondolier.h"
#include "titanic/game/transport/lift.h"
#include "titanic/game/transport/lift_indicator.h"
@@ -248,10 +283,13 @@
#include "titanic/moves/enter_bridge.h"
#include "titanic/moves/enter_exit_first_class_state.h"
#include "titanic/moves/enter_exit_mini_lift.h"
+#include "titanic/moves/enter_exit_sec_class_mini_lift.h"
#include "titanic/moves/enter_exit_view.h"
+#include "titanic/moves/enter_sec_class_state.h"
#include "titanic/moves/exit_arboretum.h"
#include "titanic/moves/exit_bridge.h"
#include "titanic/moves/exit_lift.h"
+#include "titanic/moves/exit_pellerator.h"
#include "titanic/moves/exit_state_room.h"
#include "titanic/moves/move_player_in_parrot_room.h"
#include "titanic/moves/move_player_to.h"
@@ -354,9 +392,13 @@ DEFFN(CTreeItem);
DEFFN(CViewItem);
DEFFN(CAnnounce);
+DEFFN(CAnnoyBarbot);
DEFFN(CArbBackground);
DEFFN(CArboretumGate);
DEFFN(CAutoAnimate);
+DEFFN(CBarBell);
+DEFFN(CBarMenu);
+DEFFN(CBarMenuButton);
DEFFN(CBelbotGetLight);
DEFFN(CBowlUnlocker);
DEFFN(CBomb);
@@ -378,9 +420,11 @@ DEFFN(CCredits);
DEFFN(CCreditsButton);
DEFFN(CDeadArea);
DEFFN(CDeskClickResponder);
+DEFFN(CDoorbotElevatorHandler);
DEFFN(CDoorbotHomeHandler);
DEFFN(CEarSweetBowl);
DEFFN(CEjectPhonographButton);
+DEFFN(CElevatorActionArea);
DEFFN(CEmmaControl);
DEFFN(CEmptyNutBowl);
DEFFN(CEndCreditText);
@@ -396,15 +440,18 @@ DEFFN(CFanNoises);
DEFFN(CFloorIndicator);
DEFFN(CGamesConsole);
DEFFN(CGetLiftEye2);
+DEFFN(CGlassSmasher);
DEFFN(CHammerClip);
DEFFN(CHammerDispensor);
DEFFN(CHammerDispensorButton);
DEFFN(CHeadSmashEvent);
DEFFN(CHeadSmashLever);
+DEFFN(CIdleSummoner);
DEFFN(CLemonDispensor);
DEFFN(CLight);
DEFFN(CLightSwitch);
DEFFN(CLittleLiftButton);
+DEFFN(CLongStickDispenser);
DEFFN(CMaitreDArmHolder);
DEFFN(CMusicalInstrument);
DEFFN(CMusicConsoleButton);
@@ -440,6 +487,7 @@ DEFFN(CSweetBowl);
DEFFN(CTelevision);
DEFFN(CThirdClassCanal);
DEFFN(CThrowTVDownWell);
+DEFFN(CTOWParrotNav);
DEFFN(CUpLighter);
DEFFN(CWheelButton);
DEFFN(CWheelHotSpot);
@@ -459,18 +507,44 @@ DEFFN(CPET);
DEFFN(CPETClass1);
DEFFN(CPETClass2);
DEFFN(CPETClass3);
+DEFFN(CPETLift);
DEFFN(CPETMonitor);
+DEFFN(CPETPellerator);
DEFFN(CPETPosition);
DEFFN(CPETSentinal);
DEFFN(CPETSounds);
DEFFN(CPETTransition);
DEFFN(CPETTransport);
-DEFFN(CEnterExitMiniLift);
+DEFFN(CPickUp);
+DEFFN(CPickUpBarGlass);
+DEFFN(CPickUpHose);
+DEFFN(CPickUpLemon);
+DEFFN(CPickUpSpeechCentre);
+DEFFN(CPickUpVisCentre);
+DEFFN(CBarShelfVisCentre);
+DEFFN(CLemonOnBar);
+DEFFN(CPlaceHolder);
+DEFFN(CTVOnBar);
+DEFFN(CArmchair);
+DEFFN(CBasin);
+DEFFN(CBedfoot);
+DEFFN(CBedhead);
+DEFFN(CChestOfDrawers);
+DEFFN(CDesk);
+DEFFN(CDeskchair);
+DEFFN(CDrawer);
DEFFN(CSGTDoors);
+DEFFN(SGTNav);
DEFFN(CSGTNavigation);
DEFFN(CSGTRestaurantDoors);
+DEFFN(CSGTStateControl);
DEFFN(CSGTStateRoom);
+DEFFN(CSGTTV);
DEFFN(CSGTUpperDoorsSound);
+DEFFN(CToilet);
+DEFFN(CVase);
+DEFFN(CWashstand);
+
DEFFN(CGondolier);
DEFFN(CLift);
DEFFN(CLiftindicator);
@@ -696,10 +770,14 @@ DEFFN(CVisibleMsg);
DEFFN(CEnterBombRoom);
DEFFN(CEnterBridge);
DEFFN(CEnterExitFirstClassState);
+DEFFN(CEnterExitMiniLift);
+DEFFN(CEnterExitSecClassMiniLift);
DEFFN(CEnterExitView);
+DEFFN(CEnterSecClassState);
DEFFN(CExitArboretum);
DEFFN(CExitBridge);
DEFFN(CExitLift);
+DEFFN(CExitPellerator);
DEFFN(CExitStateRoom);
DEFFN(CMovePlayerInParrotRoom);
DEFFN(CMovePlayerTo);
@@ -795,9 +873,13 @@ void CSaveableObject::initClassList() {
ADDFN(CViewItem);
ADDFN(CAnnounce);
+ ADDFN(CAnnoyBarbot);
ADDFN(CArbBackground);
ADDFN(CArboretumGate);
ADDFN(CAutoAnimate);
+ ADDFN(CBarBell);
+ ADDFN(CBarMenu);
+ ADDFN(CBarMenuButton);
ADDFN(CBelbotGetLight);
ADDFN(CBomb);
ADDFN(CBowlUnlocker);
@@ -819,10 +901,12 @@ void CSaveableObject::initClassList() {
ADDFN(CCreditsButton);
ADDFN(CDeadArea);
ADDFN(CDeskClickResponder);
+ ADDFN(CDoorbotElevatorHandler);
ADDFN(CDoorbotHomeHandler);
ADDFN(CDropTarget);
ADDFN(CEarSweetBowl);
ADDFN(CEjectPhonographButton);
+ ADDFN(CElevatorActionArea);
ADDFN(CEmmaControl);
ADDFN(CEmptyNutBowl);
ADDFN(CEndCreditText);
@@ -838,15 +922,18 @@ void CSaveableObject::initClassList() {
ADDFN(CFloorIndicator);
ADDFN(CGamesConsole);
ADDFN(CGetLiftEye2);
+ ADDFN(CGlassSmasher);
ADDFN(CHammerClip);
ADDFN(CHammerDispensor);
ADDFN(CHammerDispensorButton);
ADDFN(CHeadSmashEvent);
ADDFN(CHeadSmashLever);
+ ADDFN(CIdleSummoner);
ADDFN(CLemonDispensor);
ADDFN(CLight);
ADDFN(CLightSwitch);
ADDFN(CLittleLiftButton);
+ ADDFN(CLongStickDispenser);
ADDFN(CMaitreDArmHolder);
ADDFN(CMusicalInstrument);
ADDFN(CMusicConsoleButton);
@@ -882,6 +969,7 @@ void CSaveableObject::initClassList() {
ADDFN(CTelevision);
ADDFN(CThirdClassCanal);
ADDFN(CThrowTVDownWell);
+ ADDFN(CTOWParrotNav);
ADDFN(CUpLighter);
ADDFN(CWheelButton);
ADDFN(CWheelHotSpot);
@@ -901,18 +989,44 @@ void CSaveableObject::initClassList() {
ADDFN(CPETClass1);
ADDFN(CPETClass2);
ADDFN(CPETClass3);
+ ADDFN(CPETLift);
ADDFN(CPETMonitor);
+ ADDFN(CPETPellerator);
ADDFN(CPETPosition);
ADDFN(CPETSentinal);
ADDFN(CPETSounds);
ADDFN(CPETTransition);
ADDFN(CPETTransport);
- ADDFN(CEnterExitMiniLift);
+ ADDFN(CPickUp);
+ ADDFN(CPickUpBarGlass);
+ ADDFN(CPickUpHose);
+ ADDFN(CPickUpLemon);
+ ADDFN(CPickUpSpeechCentre);
+ ADDFN(CPickUpVisCentre);
+ ADDFN(CBarShelfVisCentre);
+ ADDFN(CLemonOnBar);
+ ADDFN(CPlaceHolder);
+ ADDFN(CTVOnBar);
+ ADDFN(CArmchair);
+ ADDFN(CBasin);
+ ADDFN(CBedfoot);
+ ADDFN(CBedhead);
+ ADDFN(CChestOfDrawers);
+ ADDFN(CDesk);
+ ADDFN(CDeskchair);
+ ADDFN(CDrawer);
ADDFN(CSGTDoors);
+ ADDFN(SGTNav);
ADDFN(CSGTNavigation);
ADDFN(CSGTRestaurantDoors);
+ ADDFN(CSGTStateControl);
ADDFN(CSGTStateRoom);
+ ADDFN(CSGTTV);
ADDFN(CSGTUpperDoorsSound);
+ ADDFN(CToilet);
+ ADDFN(CVase);
+ ADDFN(CWashstand);
+
ADDFN(CGondolier);
ADDFN(CLift);
ADDFN(CLiftindicator);
@@ -1138,10 +1252,14 @@ void CSaveableObject::initClassList() {
ADDFN(CEnterBombRoom);
ADDFN(CEnterBridge);
ADDFN(CEnterExitFirstClassState);
+ ADDFN(CEnterExitMiniLift);
+ ADDFN(CEnterExitSecClassMiniLift);
ADDFN(CEnterExitView);
+ ADDFN(CEnterSecClassState);
ADDFN(CExitArboretum);
ADDFN(CExitBridge);
ADDFN(CExitLift);
+ ADDFN(CExitPellerator);
ADDFN(CExitStateRoom);
ADDFN(CMovePlayerInParrotRoom);
ADDFN(CMovePlayerTo);
diff --git a/engines/titanic/game/annoy_barbot.cpp b/engines/titanic/game/annoy_barbot.cpp
index c21e828659..caea823105 100644
--- a/engines/titanic/game/annoy_barbot.cpp
+++ b/engines/titanic/game/annoy_barbot.cpp
@@ -24,13 +24,17 @@
namespace Titanic {
+int CAnnoyBarbot::_v1;
+
void CAnnoyBarbot::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
+ file->writeNumberLine(_v1, indent);
CGameObject::save(file, indent);
}
void CAnnoyBarbot::load(SimpleFile *file) {
file->readNumber();
+ _v1 = file->readNumber();
CGameObject::load(file);
}
diff --git a/engines/titanic/game/annoy_barbot.h b/engines/titanic/game/annoy_barbot.h
index 18be7c1b15..c1598e100d 100644
--- a/engines/titanic/game/annoy_barbot.h
+++ b/engines/titanic/game/annoy_barbot.h
@@ -28,6 +28,8 @@
namespace Titanic {
class CAnnoyBarbot : public CGameObject {
+private:
+ static int _v1;
public:
/**
* Return the class name
diff --git a/engines/titanic/game/bar_menu.cpp b/engines/titanic/game/bar_menu.cpp
index 53ed48aa57..25da001660 100644
--- a/engines/titanic/game/bar_menu.cpp
+++ b/engines/titanic/game/bar_menu.cpp
@@ -29,11 +29,19 @@ CBarMenu::CBarMenu() : CGameObject(), _fieldBC(0), _fieldC0(0), _fieldC4(6) {
void CBarMenu::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 CBarMenu::load(SimpleFile *file) {
file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+ _fieldC4 = file->readNumber();
+
CGameObject::load(file);
}
diff --git a/engines/titanic/game/doorbot_elevator_handler.cpp b/engines/titanic/game/doorbot_elevator_handler.cpp
index 1a85793bdd..e4232c087b 100644
--- a/engines/titanic/game/doorbot_elevator_handler.cpp
+++ b/engines/titanic/game/doorbot_elevator_handler.cpp
@@ -24,15 +24,19 @@
namespace Titanic {
+int CDoorbotElevatorHandler::_v1;
+
void CDoorbotElevatorHandler::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
file->writeNumberLine(_value, indent);
+ file->writeNumberLine(_v1, indent);
CGameObject::save(file, indent);
}
void CDoorbotElevatorHandler::load(SimpleFile *file) {
file->readNumber();
_value = file->readNumber();
+ _v1 = file->readNumber();
CGameObject::load(file);
}
diff --git a/engines/titanic/game/doorbot_elevator_handler.h b/engines/titanic/game/doorbot_elevator_handler.h
index 041e2c5723..41d6068f1b 100644
--- a/engines/titanic/game/doorbot_elevator_handler.h
+++ b/engines/titanic/game/doorbot_elevator_handler.h
@@ -28,7 +28,8 @@
namespace Titanic {
class CDoorbotElevatorHandler : public CGameObject {
-public:
+private:
+ static int _v1;
int _value;
public:
/**
diff --git a/engines/titanic/game/elevator_action_area.cpp b/engines/titanic/game/elevator_action_area.cpp
index 3beef1b0e1..c9916bfc73 100644
--- a/engines/titanic/game/elevator_action_area.cpp
+++ b/engines/titanic/game/elevator_action_area.cpp
@@ -26,11 +26,13 @@ namespace Titanic {
void CElevatorActionArea::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
CGameObject::save(file, indent);
}
void CElevatorActionArea::load(SimpleFile *file) {
file->readNumber();
+ _value = file->readNumber();
CGameObject::load(file);
}
diff --git a/engines/titanic/game/emma_control.cpp b/engines/titanic/game/emma_control.cpp
index ce3b325e4c..fac429ccec 100644
--- a/engines/titanic/game/emma_control.cpp
+++ b/engines/titanic/game/emma_control.cpp
@@ -24,8 +24,11 @@
namespace Titanic {
+int CEmmaControl::_v1;
+
void CEmmaControl::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
+ file->writeNumberLine(_v1, indent);
file->writeQuotedLine(_wavFile1, indent);
file->writeQuotedLine(_wavFile2, indent);
@@ -34,6 +37,7 @@ void CEmmaControl::save(SimpleFile *file, int indent) const {
void CEmmaControl::load(SimpleFile *file) {
file->readNumber();
+ _v1 = file->readNumber();
_wavFile1 = file->readString();
_wavFile2 = file->readString();
diff --git a/engines/titanic/game/emma_control.h b/engines/titanic/game/emma_control.h
index f61d2372d9..590c6f7fcf 100644
--- a/engines/titanic/game/emma_control.h
+++ b/engines/titanic/game/emma_control.h
@@ -28,7 +28,9 @@
namespace Titanic {
class CEmmaControl : public CBackground {
-public:
+private:
+ static int _v1;
+
CString _wavFile1, _wavFile2;
public:
CEmmaControl() : CBackground(), _wavFile1("b#39.wav"), _wavFile2("b#38.wav") {}
diff --git a/engines/titanic/game/long_stick_dispenser.cpp b/engines/titanic/game/long_stick_dispenser.cpp
index bdd6240c70..97981cc01d 100644
--- a/engines/titanic/game/long_stick_dispenser.cpp
+++ b/engines/titanic/game/long_stick_dispenser.cpp
@@ -26,11 +26,19 @@ namespace Titanic {
void CLongStickDispenser::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 CLongStickDispenser::load(SimpleFile *file) {
file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+ _fieldC4 = file->readNumber();
+
CGameObject::load(file);
}
diff --git a/engines/titanic/game/long_stick_dispenser.h b/engines/titanic/game/long_stick_dispenser.h
index 2e2842025c..4912ea384b 100644
--- a/engines/titanic/game/long_stick_dispenser.h
+++ b/engines/titanic/game/long_stick_dispenser.h
@@ -34,7 +34,7 @@ public:
int _fieldC4;
public:
CLongStickDispenser() : CGameObject(), _fieldBC(0),
- _fieldC0(0), _fieldC4(0) {}
+ _fieldC0(0), _fieldC4(1) {}
/**
* Return the class name
diff --git a/engines/titanic/game/pet/pet_lift.cpp b/engines/titanic/game/pet/pet_lift.cpp
new file mode 100644
index 0000000000..8a16c678d5
--- /dev/null
+++ b/engines/titanic/game/pet/pet_lift.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/game/pet/pet_lift.h"
+
+namespace Titanic {
+
+void CPETLift::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CPETTransport::save(file, indent);
+}
+
+void CPETLift::load(SimpleFile *file) {
+ file->readNumber();
+ CPETTransport::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_lift.h b/engines/titanic/game/pet/pet_lift.h
new file mode 100644
index 0000000000..11207cde26
--- /dev/null
+++ b/engines/titanic/game/pet/pet_lift.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_PET_LIFT_H
+#define TITANIC_PET_LIFT_H
+
+#include "titanic/game/pet/pet_transport.h"
+
+namespace Titanic {
+
+class CPETLift : public CPETTransport {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CPETLift"; }
+
+ /**
+ * 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_PET_LIFT_H */
diff --git a/engines/titanic/game/pet/pet_pellerator.cpp b/engines/titanic/game/pet/pet_pellerator.cpp
new file mode 100644
index 0000000000..bcddc75919
--- /dev/null
+++ b/engines/titanic/game/pet/pet_pellerator.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/game/pet/pet_pellerator.h"
+
+namespace Titanic {
+
+void CPETPellerator::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CPETTransport::save(file, indent);
+}
+
+void CPETPellerator::load(SimpleFile *file) {
+ file->readNumber();
+ CPETTransport::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_pellerator.h b/engines/titanic/game/pet/pet_pellerator.h
new file mode 100644
index 0000000000..7314f7297a
--- /dev/null
+++ b/engines/titanic/game/pet/pet_pellerator.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_PET_PELLERATOR_H
+#define TITANIC_PET_PELLERATOR_H
+
+#include "titanic/game/pet/pet_transport.h"
+
+namespace Titanic {
+
+class CPETPellerator : public CPETTransport {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CPETPellerator"; }
+
+ /**
+ * 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_PET_PELLERATOR_H */
diff --git a/engines/titanic/game/pickup/pick_up.cpp b/engines/titanic/game/pickup/pick_up.cpp
new file mode 100644
index 0000000000..58ffc5ad09
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up.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/pickup/pick_up.h"
+
+namespace Titanic {
+
+void CPickUp::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ CGameObject::save(file, indent);
+}
+
+void CPickUp::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pickup/pick_up.h b/engines/titanic/game/pickup/pick_up.h
new file mode 100644
index 0000000000..e1783ef322
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up.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_PICK_UP_H
+#define TITANIC_PICK_UP_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CPickUp : public CGameObject {
+private:
+ int _fieldBC;
+public:
+ CPickUp() : CGameObject(), _fieldBC(0) {}
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CAnnoyBarbot"; }
+
+ /**
+ * 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_ANNOY_BARBOT_H */
diff --git a/engines/titanic/game/pickup/pick_up_bar_glass.cpp b/engines/titanic/game/pickup/pick_up_bar_glass.cpp
new file mode 100644
index 0000000000..1d475c2a85
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_bar_glass.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/game/pickup/pick_up_bar_glass.h"
+
+namespace Titanic {
+
+void CPickUpBarGlass::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CPickUp::save(file, indent);
+}
+
+void CPickUpBarGlass::load(SimpleFile *file) {
+ file->readNumber();
+ CPickUp::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pickup/pick_up_bar_glass.h b/engines/titanic/game/pickup/pick_up_bar_glass.h
new file mode 100644
index 0000000000..9bec56cdd5
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_bar_glass.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_PICK_UP_BAR_GLASS_H
+#define TITANIC_PICK_UP_BAR_GLASS_H
+
+#include "titanic/game/pickup/pick_up.h"
+
+namespace Titanic {
+
+class CPickUpBarGlass : public CPickUp {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CPickUpBarGlass"; }
+
+ /**
+ * 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_PICK_UP_BAR_GLASS_H */
diff --git a/engines/titanic/game/pickup/pick_up_hose.cpp b/engines/titanic/game/pickup/pick_up_hose.cpp
new file mode 100644
index 0000000000..35ac7f8049
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_hose.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/pickup/pick_up_hose.h"
+
+namespace Titanic {
+
+void CPickUpHose::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string1, indent);
+ CPickUp::save(file, indent);
+}
+
+void CPickUpHose::load(SimpleFile *file) {
+ file->readNumber();
+ _string1 = file->readString();
+ CPickUp::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pickup/pick_up_hose.h b/engines/titanic/game/pickup/pick_up_hose.h
new file mode 100644
index 0000000000..56596c50fc
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_hose.h
@@ -0,0 +1,52 @@
+/* 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_PICK_UP_HOSE_H
+#define TITANIC_PICK_UP_HOSE_H
+
+#include "titanic/game/pickup/pick_up.h"
+
+namespace Titanic {
+
+class CPickUpHose : public CPickUp {
+private:
+ CString _string1;
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CPickUpHose"; }
+
+ /**
+ * 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_PICK_UP_HOSE_H */
diff --git a/engines/titanic/game/pickup/pick_up_lemon.cpp b/engines/titanic/game/pickup/pick_up_lemon.cpp
new file mode 100644
index 0000000000..7364fee299
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_lemon.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/game/pickup/pick_up_lemon.h"
+
+namespace Titanic {
+
+void CPickUpLemon::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CPickUp::save(file, indent);
+}
+
+void CPickUpLemon::load(SimpleFile *file) {
+ file->readNumber();
+ CPickUp::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pickup/pick_up_lemon.h b/engines/titanic/game/pickup/pick_up_lemon.h
new file mode 100644
index 0000000000..fee2485c1e
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_lemon.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_PICK_UP_LEMON_H
+#define TITANIC_PICK_UP_LEMON_H
+
+#include "titanic/game/pickup/pick_up.h"
+
+namespace Titanic {
+
+class CPickUpLemon : public CPickUp {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CPickUpLemon"; }
+
+ /**
+ * 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_PICK_UP_LEMON_H */
diff --git a/engines/titanic/game/pickup/pick_up_speech_centre.cpp b/engines/titanic/game/pickup/pick_up_speech_centre.cpp
new file mode 100644
index 0000000000..74c473943e
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_speech_centre.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/game/pickup/pick_up_speech_centre.h"
+
+namespace Titanic {
+
+void CPickUpSpeechCentre::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CPickUp::save(file, indent);
+}
+
+void CPickUpSpeechCentre::load(SimpleFile *file) {
+ file->readNumber();
+ CPickUp::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pickup/pick_up_speech_centre.h b/engines/titanic/game/pickup/pick_up_speech_centre.h
new file mode 100644
index 0000000000..b68761b83c
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_speech_centre.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_PICK_UP_SPEECH_CENTRE_H
+#define TITANIC_PICK_UP_SPEECH_CENTRE_H
+
+#include "titanic/game/pickup/pick_up.h"
+
+namespace Titanic {
+
+class CPickUpSpeechCentre : public CPickUp {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CPickUpSpeechCentre"; }
+
+ /**
+ * 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_PICK_UP_SPEECH_CENTRE_H */
diff --git a/engines/titanic/game/pickup/pick_up_vis_centre.cpp b/engines/titanic/game/pickup/pick_up_vis_centre.cpp
new file mode 100644
index 0000000000..8fda66fe3d
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_vis_centre.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/game/pickup/pick_up_vis_centre.h"
+
+namespace Titanic {
+
+void CPickUpVisCentre::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CPickUp::save(file, indent);
+}
+
+void CPickUpVisCentre::load(SimpleFile *file) {
+ file->readNumber();
+ CPickUp::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pickup/pick_up_vis_centre.h b/engines/titanic/game/pickup/pick_up_vis_centre.h
new file mode 100644
index 0000000000..16db8f2b73
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_vis_centre.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_PICK_UP_VIS_CENTRE_H
+#define TITANIC_PICK_UP_VIS_CENTRE_H
+
+#include "titanic/game/pickup/pick_up.h"
+
+namespace Titanic {
+
+class CPickUpVisCentre : public CPickUp {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CPickUpVisCentre"; }
+
+ /**
+ * 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_PICK_UP_VIS_CENTRE_H */
diff --git a/engines/titanic/game/placeholder/bar_shelf_vis_centre.cpp b/engines/titanic/game/placeholder/bar_shelf_vis_centre.cpp
new file mode 100644
index 0000000000..3d3a05692f
--- /dev/null
+++ b/engines/titanic/game/placeholder/bar_shelf_vis_centre.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/placeholder/bar_shelf_vis_centre.h"
+
+namespace Titanic {
+
+void CBarShelfVisCentre::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CPlaceHolder::save(file, indent);
+}
+
+void CBarShelfVisCentre::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CPlaceHolder::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/placeholder/bar_shelf_vis_centre.h b/engines/titanic/game/placeholder/bar_shelf_vis_centre.h
new file mode 100644
index 0000000000..1cd3ca22bf
--- /dev/null
+++ b/engines/titanic/game/placeholder/bar_shelf_vis_centre.h
@@ -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.
+ *
+ */
+
+#ifndef TITANIC_BAR_SHELF_VIS_CENTRE_H
+#define TITANIC_BAR_SHELF_VIS_CENTRE_H
+
+#include "titanic/game/placeholder/place_holder.h"
+
+namespace Titanic {
+
+class CBarShelfVisCentre : public CPlaceHolder {
+private:
+ int _value;
+public:
+ CBarShelfVisCentre() : CPlaceHolder(), _value(0) {}
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CBarShelfVisCentre"; }
+
+ /**
+ * 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_BAR_SHELF_VIS_CENTRE_H */
diff --git a/engines/titanic/game/placeholder/lemon_on_bar.cpp b/engines/titanic/game/placeholder/lemon_on_bar.cpp
new file mode 100644
index 0000000000..336933a8df
--- /dev/null
+++ b/engines/titanic/game/placeholder/lemon_on_bar.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/placeholder/lemon_on_bar.h"
+
+namespace Titanic {
+
+void CLemonOnBar::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writePoint(_pos1, indent);
+ CPlaceHolder::save(file, indent);
+}
+
+void CLemonOnBar::load(SimpleFile *file) {
+ file->readNumber();
+ _pos1 = file->readPoint();
+ CPlaceHolder::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/placeholder/lemon_on_bar.h b/engines/titanic/game/placeholder/lemon_on_bar.h
new file mode 100644
index 0000000000..d02f7a9eb8
--- /dev/null
+++ b/engines/titanic/game/placeholder/lemon_on_bar.h
@@ -0,0 +1,52 @@
+/* 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_LEMON_ON_BAR_H
+#define TITANIC_LEMON_ON_BAR_H
+
+#include "titanic/game/placeholder/place_holder.h"
+
+namespace Titanic {
+
+class CLemonOnBar : public CPlaceHolder {
+private:
+ Common::Point _pos1;
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CLemonOnBar"; }
+
+ /**
+ * 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_LEMON_ON_BAR_H */
diff --git a/engines/titanic/game/place_holder.cpp b/engines/titanic/game/placeholder/place_holder.cpp
index f0308809fa..d96f551ee4 100644
--- a/engines/titanic/game/place_holder.cpp
+++ b/engines/titanic/game/placeholder/place_holder.cpp
@@ -20,7 +20,7 @@
*
*/
-#include "titanic/game/place_holder.h"
+#include "titanic/game/placeholder/place_holder.h"
namespace Titanic {
diff --git a/engines/titanic/game/place_holder.h b/engines/titanic/game/placeholder/place_holder.h
index dd1c89dd86..dd1c89dd86 100644
--- a/engines/titanic/game/place_holder.h
+++ b/engines/titanic/game/placeholder/place_holder.h
diff --git a/engines/titanic/game/placeholder/tv_on_bar.cpp b/engines/titanic/game/placeholder/tv_on_bar.cpp
new file mode 100644
index 0000000000..5b22069a93
--- /dev/null
+++ b/engines/titanic/game/placeholder/tv_on_bar.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/placeholder/tv_on_bar.h"
+
+namespace Titanic {
+
+void CTVOnBar::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writePoint(_pos1, indent);
+ CPlaceHolder::save(file, indent);
+}
+
+void CTVOnBar::load(SimpleFile *file) {
+ file->readNumber();
+ _pos1 = file->readPoint();
+ CPlaceHolder::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/placeholder/tv_on_bar.h b/engines/titanic/game/placeholder/tv_on_bar.h
new file mode 100644
index 0000000000..1583dad05a
--- /dev/null
+++ b/engines/titanic/game/placeholder/tv_on_bar.h
@@ -0,0 +1,52 @@
+/* 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_TV_ON_BAR_H
+#define TITANIC_TV_ON_BAR_H
+
+#include "titanic/game/placeholder/place_holder.h"
+
+namespace Titanic {
+
+class CTVOnBar : public CPlaceHolder {
+private:
+ Common::Point _pos1;
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CTVOnBar"; }
+
+ /**
+ * 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_TV_ON_BAR_H */
diff --git a/engines/titanic/game/sgt/armchair.cpp b/engines/titanic/game/sgt/armchair.cpp
new file mode 100644
index 0000000000..3491452a8d
--- /dev/null
+++ b/engines/titanic/game/sgt/armchair.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/game/sgt/armchair.h"
+
+namespace Titanic {
+
+void CArmchair::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CSGTStateRoom::save(file, indent);
+}
+
+void CArmchair::load(SimpleFile *file) {
+ file->readNumber();
+ CSGTStateRoom::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/armchair.h b/engines/titanic/game/sgt/armchair.h
new file mode 100644
index 0000000000..2157c3c556
--- /dev/null
+++ b/engines/titanic/game/sgt/armchair.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_ARMCHAIR_H
+#define TITANIC_ARMCHAIR_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CArmchair : public CSGTStateRoom {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CArmchair"; }
+
+ /**
+ * 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_ARMCHAIR_H */
diff --git a/engines/titanic/game/sgt/basin.cpp b/engines/titanic/game/sgt/basin.cpp
new file mode 100644
index 0000000000..75c53bce72
--- /dev/null
+++ b/engines/titanic/game/sgt/basin.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/game/sgt/basin.h"
+
+namespace Titanic {
+
+void CBasin::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CSGTStateRoom::save(file, indent);
+}
+
+void CBasin::load(SimpleFile *file) {
+ file->readNumber();
+ CSGTStateRoom::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/basin.h b/engines/titanic/game/sgt/basin.h
new file mode 100644
index 0000000000..85aaf476dd
--- /dev/null
+++ b/engines/titanic/game/sgt/basin.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_BASIN_H
+#define TITANIC_BASIN_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CBasin : public CSGTStateRoom {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CBasin"; }
+
+ /**
+ * 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_BASIN_H */
diff --git a/engines/titanic/game/sgt/bedfoot.cpp b/engines/titanic/game/sgt/bedfoot.cpp
new file mode 100644
index 0000000000..b039f8a9d8
--- /dev/null
+++ b/engines/titanic/game/sgt/bedfoot.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/game/sgt/bedfoot.h"
+
+namespace Titanic {
+
+void CBedfoot::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CSGTStateRoom::save(file, indent);
+}
+
+void CBedfoot::load(SimpleFile *file) {
+ file->readNumber();
+ CSGTStateRoom::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/bedfoot.h b/engines/titanic/game/sgt/bedfoot.h
new file mode 100644
index 0000000000..7794fc4349
--- /dev/null
+++ b/engines/titanic/game/sgt/bedfoot.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_BEDFOOT_H
+#define TITANIC_BEDFOOT_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CBedfoot : public CSGTStateRoom {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CBedfoot"; }
+
+ /**
+ * 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_BEDFOOT_H */
diff --git a/engines/titanic/game/sgt/bedhead.cpp b/engines/titanic/game/sgt/bedhead.cpp
new file mode 100644
index 0000000000..758c1ffe37
--- /dev/null
+++ b/engines/titanic/game/sgt/bedhead.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/game/sgt/bedhead.h"
+
+namespace Titanic {
+
+void CBedhead::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CSGTStateRoom::save(file, indent);
+}
+
+void CBedhead::load(SimpleFile *file) {
+ file->readNumber();
+ CSGTStateRoom::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/bedhead.h b/engines/titanic/game/sgt/bedhead.h
new file mode 100644
index 0000000000..36691639fc
--- /dev/null
+++ b/engines/titanic/game/sgt/bedhead.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_BEDHEAD_H
+#define TITANIC_BEDHEAD_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CBedhead : public CSGTStateRoom {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CBedhead"; }
+
+ /**
+ * 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_BEDHEAD_H */
diff --git a/engines/titanic/game/sgt/chest_of_drawers.cpp b/engines/titanic/game/sgt/chest_of_drawers.cpp
new file mode 100644
index 0000000000..5ec98e8d5a
--- /dev/null
+++ b/engines/titanic/game/sgt/chest_of_drawers.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/game/sgt/chest_of_drawers.h"
+
+namespace Titanic {
+
+void CChestOfDrawers::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CSGTStateRoom::save(file, indent);
+}
+
+void CChestOfDrawers::load(SimpleFile *file) {
+ file->readNumber();
+ CSGTStateRoom::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/chest_of_drawers.h b/engines/titanic/game/sgt/chest_of_drawers.h
new file mode 100644
index 0000000000..17f5cf9e9b
--- /dev/null
+++ b/engines/titanic/game/sgt/chest_of_drawers.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_CHEST_OF_DRAWERS_H
+#define TITANIC_CHEST_OF_DRAWERS_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CChestOfDrawers : public CSGTStateRoom {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CChestOfDrawers"; }
+
+ /**
+ * 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_CHEST_OF_DRAWERS_H */
diff --git a/engines/titanic/game/sgt/desk.cpp b/engines/titanic/game/sgt/desk.cpp
new file mode 100644
index 0000000000..ea00c24f46
--- /dev/null
+++ b/engines/titanic/game/sgt/desk.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/game/sgt/desk.h"
+
+namespace Titanic {
+
+void CDesk::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CSGTStateRoom::save(file, indent);
+}
+
+void CDesk::load(SimpleFile *file) {
+ file->readNumber();
+ CSGTStateRoom::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/desk.h b/engines/titanic/game/sgt/desk.h
new file mode 100644
index 0000000000..4c89c04e4b
--- /dev/null
+++ b/engines/titanic/game/sgt/desk.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_DESK_H
+#define TITANIC_DESK_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CDesk : public CSGTStateRoom {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CDesk"; }
+
+ /**
+ * 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_DESK_H */
diff --git a/engines/titanic/game/sgt/deskchair.cpp b/engines/titanic/game/sgt/deskchair.cpp
new file mode 100644
index 0000000000..337b55a5d1
--- /dev/null
+++ b/engines/titanic/game/sgt/deskchair.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/game/sgt/deskchair.h"
+
+namespace Titanic {
+
+void CDeskchair::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CSGTStateRoom::save(file, indent);
+}
+
+void CDeskchair::load(SimpleFile *file) {
+ file->readNumber();
+ CSGTStateRoom::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/deskchair.h b/engines/titanic/game/sgt/deskchair.h
new file mode 100644
index 0000000000..762b639eb7
--- /dev/null
+++ b/engines/titanic/game/sgt/deskchair.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_DESKCHAIR_H
+#define TITANIC_DESKCHAIR_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CDeskchair : public CSGTStateRoom {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CDeskchair"; }
+
+ /**
+ * 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_DESKCHAIR_H */
diff --git a/engines/titanic/game/drawer.cpp b/engines/titanic/game/sgt/drawer.cpp
index 3409522f9d..1d7fad275b 100644
--- a/engines/titanic/game/drawer.cpp
+++ b/engines/titanic/game/sgt/drawer.cpp
@@ -20,7 +20,7 @@
*
*/
-#include "titanic/game/drawer.h"
+#include "titanic/game/sgt/drawer.h"
namespace Titanic {
diff --git a/engines/titanic/game/drawer.h b/engines/titanic/game/sgt/drawer.h
index 100e27cb52..100e27cb52 100644
--- a/engines/titanic/game/drawer.h
+++ b/engines/titanic/game/sgt/drawer.h
diff --git a/engines/titanic/game/sgt/sgt_nav.cpp b/engines/titanic/game/sgt/sgt_nav.cpp
new file mode 100644
index 0000000000..e40d34d446
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_nav.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/game/sgt/sgt_nav.h"
+
+namespace Titanic {
+
+void SGTNav::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CSGTStateRoom::save(file, indent);
+}
+
+void SGTNav::load(SimpleFile *file) {
+ file->readNumber();
+ CSGTStateRoom::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_nav.h b/engines/titanic/game/sgt/sgt_nav.h
new file mode 100644
index 0000000000..7f1912dc35
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_nav.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_SGT_NAV_H
+#define TITANIC_SGT_NAV_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class SGTNav : public CSGTStateRoom {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "SGTNav"; }
+
+ /**
+ * 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_SGT_NAV_H */
diff --git a/engines/titanic/game/sgt/sgt_state_control.cpp b/engines/titanic/game/sgt/sgt_state_control.cpp
new file mode 100644
index 0000000000..113bd0dd2a
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_state_control.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/sgt/sgt_state_control.h"
+
+namespace Titanic {
+
+void CSGTStateControl::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ CBackground::save(file, indent);
+}
+
+void CSGTStateControl::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_state_control.h b/engines/titanic/game/sgt/sgt_state_control.h
new file mode 100644
index 0000000000..b22095cb14
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_state_control.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_SGT_STATE_CONTROL_H
+#define TITANIC_SGT_STATE_CONTROL_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CSGTStateControl : public CBackground {
+private:
+ int _fieldE0;
+public:
+ CSGTStateControl() : CBackground(), _fieldE0(1) {}
+
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CSGTStateControl"; }
+
+ /**
+ * 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_SGT_STATE_CONTROL_H */
diff --git a/engines/titanic/game/sgt/sgt_tv.cpp b/engines/titanic/game/sgt/sgt_tv.cpp
new file mode 100644
index 0000000000..316545860e
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_tv.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/game/sgt/sgt_tv.h"
+
+namespace Titanic {
+
+void CSGTTV::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CSGTStateRoom::save(file, indent);
+}
+
+void CSGTTV::load(SimpleFile *file) {
+ file->readNumber();
+ CSGTStateRoom::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_tv.h b/engines/titanic/game/sgt/sgt_tv.h
new file mode 100644
index 0000000000..79e7efde4f
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_tv.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_SGT_TV_H
+#define TITANIC_SGT_TV_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CSGTTV : public CSGTStateRoom {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CSGTTV"; }
+
+ /**
+ * 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_SGT_TV_H */
diff --git a/engines/titanic/game/sgt/toilet.cpp b/engines/titanic/game/sgt/toilet.cpp
new file mode 100644
index 0000000000..ed4ac52412
--- /dev/null
+++ b/engines/titanic/game/sgt/toilet.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/game/sgt/toilet.h"
+
+namespace Titanic {
+
+void CToilet::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CSGTStateRoom::save(file, indent);
+}
+
+void CToilet::load(SimpleFile *file) {
+ file->readNumber();
+ CSGTStateRoom::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/toilet.h b/engines/titanic/game/sgt/toilet.h
new file mode 100644
index 0000000000..a5265e7473
--- /dev/null
+++ b/engines/titanic/game/sgt/toilet.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_TOILET_H
+#define TITANIC_TOILET_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CToilet : public CSGTStateRoom {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CToilet"; }
+
+ /**
+ * 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_TOILET_H */
diff --git a/engines/titanic/game/sgt/vase.cpp b/engines/titanic/game/sgt/vase.cpp
new file mode 100644
index 0000000000..04c5165795
--- /dev/null
+++ b/engines/titanic/game/sgt/vase.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/game/sgt/vase.h"
+
+namespace Titanic {
+
+void CVase::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CSGTStateRoom::save(file, indent);
+}
+
+void CVase::load(SimpleFile *file) {
+ file->readNumber();
+ CSGTStateRoom::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/vase.h b/engines/titanic/game/sgt/vase.h
new file mode 100644
index 0000000000..37a58181a2
--- /dev/null
+++ b/engines/titanic/game/sgt/vase.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_VASE_H
+#define TITANIC_VASE_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CVase : public CSGTStateRoom {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CVase"; }
+
+ /**
+ * 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_VASE_H */
diff --git a/engines/titanic/game/sgt/washstand.cpp b/engines/titanic/game/sgt/washstand.cpp
new file mode 100644
index 0000000000..f361b14e1d
--- /dev/null
+++ b/engines/titanic/game/sgt/washstand.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/game/sgt/washstand.h"
+
+namespace Titanic {
+
+void CWashstand::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ CSGTStateRoom::save(file, indent);
+}
+
+void CWashstand::load(SimpleFile *file) {
+ file->readNumber();
+ CSGTStateRoom::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/washstand.h b/engines/titanic/game/sgt/washstand.h
new file mode 100644
index 0000000000..40eb5a4eee
--- /dev/null
+++ b/engines/titanic/game/sgt/washstand.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_WASHSTAND_H
+#define TITANIC_WASHSTAND_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CWashstand : public CSGTStateRoom {
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CWashstand"; }
+
+ /**
+ * 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_WASHSTAND_H */
diff --git a/engines/titanic/game/transport/exit_pellerator.cpp b/engines/titanic/game/transport/exit_pellerator.cpp
new file mode 100644
index 0000000000..400214a140
--- /dev/null
+++ b/engines/titanic/game/transport/exit_pellerator.cpp
@@ -0,0 +1,46 @@
+/* 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/transport/pellerator.h"
+
+namespace Titanic {
+
+int CPellerator::_v1;
+int CPellerator::_v2;
+
+void CPellerator::save(SimpleFile *file, int indent) const {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_v2, indent);
+
+ CTransport::save(file, indent);
+}
+
+void CPellerator::load(SimpleFile *file) {
+ file->readNumber();
+ _v1 = file->readNumber();
+ _v2 = file->readNumber();
+
+ CTransport::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/transport/exit_pellerator.h b/engines/titanic/game/transport/exit_pellerator.h
new file mode 100644
index 0000000000..d327ea6ba6
--- /dev/null
+++ b/engines/titanic/game/transport/exit_pellerator.h
@@ -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.
+*
+*/
+
+#ifndef TITANIC_PELLERATOR_H
+#define TITANIC_PELLERATOR_H
+
+#include "titanic/game/transport/transport.h"
+
+namespace Titanic {
+
+class CPellerator : public CTransport {
+private:
+ static int _v1;
+ static int _v2;
+public:
+ /**
+ * Return the class name
+ */
+ virtual const char *getClassName() const { return "CPellerator"; }
+
+ /**
+ * 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_PELLERATOR_H */
diff --git a/engines/titanic/game/transport/pellerator.cpp b/engines/titanic/game/transport/pellerator.cpp
index 1ab8935008..400214a140 100644
--- a/engines/titanic/game/transport/pellerator.cpp
+++ b/engines/titanic/game/transport/pellerator.cpp
@@ -24,13 +24,22 @@
namespace Titanic {
+int CPellerator::_v1;
+int CPellerator::_v2;
+
void CPellerator::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_v2, indent);
+
CTransport::save(file, indent);
}
void CPellerator::load(SimpleFile *file) {
file->readNumber();
+ _v1 = file->readNumber();
+ _v2 = file->readNumber();
+
CTransport::load(file);
}
diff --git a/engines/titanic/game/transport/pellerator.h b/engines/titanic/game/transport/pellerator.h
index 6ccc56f595..d327ea6ba6 100644
--- a/engines/titanic/game/transport/pellerator.h
+++ b/engines/titanic/game/transport/pellerator.h
@@ -28,6 +28,9 @@
namespace Titanic {
class CPellerator : public CTransport {
+private:
+ static int _v1;
+ static int _v2;
public:
/**
* Return the class name
diff --git a/engines/titanic/game/transport/service_elevator.cpp b/engines/titanic/game/transport/service_elevator.cpp
index df88c13454..ba68bc8c2b 100644
--- a/engines/titanic/game/transport/service_elevator.cpp
+++ b/engines/titanic/game/transport/service_elevator.cpp
@@ -24,12 +24,19 @@
namespace Titanic {
+int CServiceElevator::_v1;
+int CServiceElevator::_v2;
+int CServiceElevator::_v3;
+
CServiceElevator::CServiceElevator() : CTransport(),
_fieldF8(0), _fieldFC(0), _field100(0), _field104(0) {
}
void CServiceElevator::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_v2, indent);
+ file->writeNumberLine(_v3, indent);
file->writeNumberLine(_fieldF8, indent);
file->writeNumberLine(_fieldFC, indent);
file->writeNumberLine(_field100, indent);
@@ -40,6 +47,9 @@ void CServiceElevator::save(SimpleFile *file, int indent) const {
void CServiceElevator::load(SimpleFile *file) {
file->readNumber();
+ _v1 = file->readNumber();
+ _v2 = file->readNumber();
+ _v3 = file->readNumber();
_fieldF8 = file->readNumber();
_fieldFC = file->readNumber();
_field100 = file->readNumber();
diff --git a/engines/titanic/game/transport/service_elevator.h b/engines/titanic/game/transport/service_elevator.h
index b41c6b155c..f97e3bcd5e 100644
--- a/engines/titanic/game/transport/service_elevator.h
+++ b/engines/titanic/game/transport/service_elevator.h
@@ -28,7 +28,11 @@
namespace Titanic {
class CServiceElevator : public CTransport {
-public:
+private:
+ static int _v1;
+ static int _v2;
+ static int _v3;
+
int _fieldF8;
int _fieldFC;
int _field100;
diff --git a/engines/titanic/module.mk b/engines/titanic/module.mk
index d4bbed8f7a..618c00871a 100644
--- a/engines/titanic/module.mk
+++ b/engines/titanic/module.mk
@@ -167,7 +167,6 @@ MODULE_OBJS := \
game/pet_graphic.o \
game/phonograph.o \
game/phonograph_lid.o \
- game/place_holder.o \
game/play_music_button.o \
game/play_on_act.o \
game/port_hole.o \
@@ -220,23 +219,49 @@ MODULE_OBJS := \
game/pet/pet_class1.o \
game/pet/pet_class2.o \
game/pet/pet_class3.o \
+ game/pet/pet_lift.o \
game/pet/pet_monitor.o \
+ game/pet/pet_pellerator.o \
game/pet/pet_position.o \
game/pet/pet_sentinal.o \
game/pet/pet_sounds.o \
game/pet/pet_transition.o \
game/pet/pet_transport.o \
+ game/pickup/pick_up.o \
+ game/pickup/pick_up_bar_glass.o \
+ game/pickup/pick_up_hose.o \
+ game/pickup/pick_up_lemon.o \
+ game/pickup/pick_up_speech_centre.o \
+ game/pickup/pick_up_vis_centre.o \
+ game/placeholder/bar_shelf_vis_centre.o \
+ game/placeholder/place_holder.o \
+ game/placeholder/lemon_on_bar.o \
+ game/placeholder/tv_on_bar.o \
game/transport/gondolier.o \
game/transport/lift.o \
game/transport/lift_indicator.o \
game/transport/pellerator.o \
game/transport/service_elevator.o \
game/transport/transport.o \
+ game/sgt/armchair.o \
+ game/sgt/basin.o \
+ game/sgt/bedfoot.o \
+ game/sgt/bedhead.o \
+ game/sgt/chest_of_drawers.o \
+ game/sgt/desk.o \
+ game/sgt/deskchair.o \
+ game/sgt/drawer.o \
game/sgt/sgt_doors.o \
+ game/sgt/sgt_nav.o \
game/sgt/sgt_navigation.o \
game/sgt/sgt_restaurant_doors.o \
+ game/sgt/sgt_state_control.o \
game/sgt/sgt_state_room.o \
+ game/sgt/sgt_tv.o \
game/sgt/sgt_upper_doors_sound.o \
+ game/sgt/toilet.o \
+ game/sgt/vase.o \
+ game/sgt/washstand.o \
gfx/act_button.o \
gfx/changes_season_button.o \
gfx/chev_left_off.o \
diff --git a/engines/titanic/moves/enter_exit_sec_class_mini_lift.cpp b/engines/titanic/moves/enter_exit_sec_class_mini_lift.cpp
index 11df8d9ad8..f993d26797 100644
--- a/engines/titanic/moves/enter_exit_sec_class_mini_lift.cpp
+++ b/engines/titanic/moves/enter_exit_sec_class_mini_lift.cpp
@@ -24,13 +24,31 @@
namespace Titanic {
+CEnterExitSecClassMiniLiftStatics *CEnterExitSecClassMiniLift::_statics;
+
+void CEnterExitSecClassMiniLift::init() {
+ _statics = new CEnterExitSecClassMiniLiftStatics();
+}
+
+void CEnterExitSecClassMiniLift::deinit() {
+ delete _statics;
+}
+
void CEnterExitSecClassMiniLift::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_statics->_v1, indent);
+ file->writeNumberLine(_statics->_v2, indent);
+ file->writeNumberLine(_value, indent);
+
CGameObject::save(file, indent);
}
void CEnterExitSecClassMiniLift::load(SimpleFile *file) {
file->readNumber();
+ _statics->_v1 = file->readString();
+ _statics->_v2 = file->readNumber();
+ _value = file->readNumber();
+
CGameObject::load(file);
}
diff --git a/engines/titanic/moves/enter_exit_sec_class_mini_lift.h b/engines/titanic/moves/enter_exit_sec_class_mini_lift.h
index aa3f9b3731..364b2e3dc6 100644
--- a/engines/titanic/moves/enter_exit_sec_class_mini_lift.h
+++ b/engines/titanic/moves/enter_exit_sec_class_mini_lift.h
@@ -27,8 +27,21 @@
namespace Titanic {
+struct CEnterExitSecClassMiniLiftStatics {
+ CString _v1;
+ int _v2;
+
+ CEnterExitSecClassMiniLiftStatics() : _v2(1) {}
+};
+
class CEnterExitSecClassMiniLift : public CGameObject {
+private:
+ static CEnterExitSecClassMiniLiftStatics *_statics;
+ int _value;
public:
+ CEnterExitSecClassMiniLift() : CGameObject(), _value(0) {}
+ static void init();
+ static void deinit();
/**
* Return the class name
*/
diff --git a/engines/titanic/moves/exit_pellerator.cpp b/engines/titanic/moves/exit_pellerator.cpp
index 81bec82748..7c0a52b2ae 100644
--- a/engines/titanic/moves/exit_pellerator.cpp
+++ b/engines/titanic/moves/exit_pellerator.cpp
@@ -24,13 +24,31 @@
namespace Titanic {
+CExitPelleratorStatics *CExitPellerator::_statics;
+
+void CExitPellerator::init() {
+ _statics = new CExitPelleratorStatics();
+}
+
+void CExitPellerator::deinit() {
+ delete _statics;
+}
+
void CExitPellerator::save(SimpleFile *file, int indent) const {
file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_statics->_v1, indent);
+ file->writeNumberLine(_statics->_v2, indent);
+ file->writeNumberLine(_statics->_v3, indent);
+
CGameObject::save(file, indent);
}
void CExitPellerator::load(SimpleFile *file) {
file->readNumber();
+ _statics->_v1 = file->readString();
+ _statics->_v2 = file->readNumber();
+ _statics->_v3 = file->readNumber();
+
CGameObject::load(file);
}
diff --git a/engines/titanic/moves/exit_pellerator.h b/engines/titanic/moves/exit_pellerator.h
index 6185f61e01..7df5657691 100644
--- a/engines/titanic/moves/exit_pellerator.h
+++ b/engines/titanic/moves/exit_pellerator.h
@@ -27,8 +27,19 @@
namespace Titanic {
+struct CExitPelleratorStatics {
+ CString _v1;
+ int _v2;
+ int _v3;
+};
+
class CExitPellerator : public CGameObject {
+private:
+ static CExitPelleratorStatics *_statics;
public:
+ static void init();
+ static void deinit();
+
/**
* Return the class name
*/
diff --git a/engines/titanic/titanic.cpp b/engines/titanic/titanic.cpp
index d8d4c77429..bcccf1b880 100644
--- a/engines/titanic/titanic.cpp
+++ b/engines/titanic/titanic.cpp
@@ -35,6 +35,8 @@
#include "titanic/game/sgt/sgt_navigation.h"
#include "titanic/game/sgt/sgt_state_room.h"
#include "titanic/moves/enter_exit_first_class_state.h"
+#include "titanic/moves/enter_exit_sec_class_mini_lift.h"
+#include "titanic/moves/exit_pellerator.h"
namespace Titanic {
@@ -64,6 +66,8 @@ void TitanicEngine::initialize() {
CParrotLobbyObject::init();
CSGTNavigation::init();
CSGTStateRoom::init();
+ CExitPellerator::init();
+ CEnterExitSecClassMiniLift::init();
_screenManager = new OSScreenManager(this);
_window = new CMainGameWindow(this);
@@ -76,6 +80,8 @@ void TitanicEngine::deinitialize() {
CHose::deinit();
CSGTNavigation::deinit();
CSGTStateRoom::deinit();
+ CExitPellerator::deinit();
+ CEnterExitSecClassMiniLift::deinit();
}
Common::Error TitanicEngine::run() {