aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/game
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/game')
-rw-r--r--engines/titanic/game/announce.cpp50
-rw-r--r--engines/titanic/game/announce.h53
-rw-r--r--engines/titanic/game/annoy_barbot.cpp41
-rw-r--r--engines/titanic/game/annoy_barbot.h49
-rw-r--r--engines/titanic/game/arb_background.cpp53
-rw-r--r--engines/titanic/game/arb_background.h54
-rw-r--r--engines/titanic/game/arboretum_gate.cpp159
-rw-r--r--engines/titanic/game/arboretum_gate.h93
-rw-r--r--engines/titanic/game/auto_animate.cpp48
-rw-r--r--engines/titanic/game/auto_animate.h54
-rw-r--r--engines/titanic/game/bar_bell.cpp58
-rw-r--r--engines/titanic/game/bar_bell.h56
-rw-r--r--engines/titanic/game/bar_menu.cpp48
-rw-r--r--engines/titanic/game/bar_menu.h52
-rw-r--r--engines/titanic/game/bar_menu_button.cpp39
-rw-r--r--engines/titanic/game/bar_menu_button.h50
-rw-r--r--engines/titanic/game/belbot_get_light.cpp39
-rw-r--r--engines/titanic/game/belbot_get_light.h49
-rw-r--r--engines/titanic/game/bilge_succubus.cpp51
-rw-r--r--engines/titanic/game/bilge_succubus.h53
-rw-r--r--engines/titanic/game/bomb.cpp81
-rw-r--r--engines/titanic/game/bomb.h61
-rw-r--r--engines/titanic/game/bottom_of_well_monitor.cpp46
-rw-r--r--engines/titanic/game/bottom_of_well_monitor.h51
-rw-r--r--engines/titanic/game/bowl_unlocker.cpp39
-rw-r--r--engines/titanic/game/bowl_unlocker.h50
-rw-r--r--engines/titanic/game/brain_slot.cpp50
-rw-r--r--engines/titanic/game/brain_slot.h53
-rw-r--r--engines/titanic/game/bridge_door.cpp37
-rw-r--r--engines/titanic/game/bridge_door.h47
-rw-r--r--engines/titanic/game/bridge_view.cpp39
-rw-r--r--engines/titanic/game/bridge_view.h50
-rw-r--r--engines/titanic/game/broken_pell_base.cpp48
-rw-r--r--engines/titanic/game/broken_pell_base.h54
-rw-r--r--engines/titanic/game/broken_pellerator.cpp47
-rw-r--r--engines/titanic/game/broken_pellerator.h52
-rw-r--r--engines/titanic/game/broken_pellerator_froz.cpp47
-rw-r--r--engines/titanic/game/broken_pellerator_froz.h52
-rw-r--r--engines/titanic/game/cage.cpp46
-rw-r--r--engines/titanic/game/cage.h50
-rw-r--r--engines/titanic/game/call_pellerator.cpp37
-rw-r--r--engines/titanic/game/call_pellerator.h47
-rw-r--r--engines/titanic/game/captains_wheel.cpp56
-rw-r--r--engines/titanic/game/captains_wheel.h55
-rw-r--r--engines/titanic/game/cdrom.cpp88
-rw-r--r--engines/titanic/game/cdrom.h57
-rw-r--r--engines/titanic/game/cdrom_computer.cpp78
-rw-r--r--engines/titanic/game/cdrom_computer.h53
-rw-r--r--engines/titanic/game/cdrom_tray.cpp127
-rw-r--r--engines/titanic/game/cdrom_tray.h56
-rw-r--r--engines/titanic/game/cell_point_button.cpp79
-rw-r--r--engines/titanic/game/cell_point_button.h62
-rw-r--r--engines/titanic/game/chev_code.cpp39
-rw-r--r--engines/titanic/game/chev_code.h50
-rw-r--r--engines/titanic/game/chev_panel.cpp45
-rw-r--r--engines/titanic/game/chev_panel.h52
-rw-r--r--engines/titanic/game/chicken_cooler.cpp48
-rw-r--r--engines/titanic/game/chicken_cooler.h53
-rw-r--r--engines/titanic/game/chicken_dispensor.cpp48
-rw-r--r--engines/titanic/game/chicken_dispensor.h52
-rw-r--r--engines/titanic/game/close_broken_pel.cpp39
-rw-r--r--engines/titanic/game/close_broken_pel.h49
-rw-r--r--engines/titanic/game/code_wheel.cpp48
-rw-r--r--engines/titanic/game/code_wheel.h52
-rw-r--r--engines/titanic/game/computer.cpp106
-rw-r--r--engines/titanic/game/computer.h55
-rw-r--r--engines/titanic/game/computer_screen.cpp140
-rw-r--r--engines/titanic/game/computer_screen.h53
-rw-r--r--engines/titanic/game/cookie.cpp43
-rw-r--r--engines/titanic/game/cookie.h51
-rw-r--r--engines/titanic/game/credits.cpp46
-rw-r--r--engines/titanic/game/credits.h50
-rw-r--r--engines/titanic/game/credits_button.cpp42
-rw-r--r--engines/titanic/game/credits_button.h50
-rw-r--r--engines/titanic/game/dead_area.cpp45
-rw-r--r--engines/titanic/game/dead_area.h55
-rw-r--r--engines/titanic/game/desk_click_responder.cpp43
-rw-r--r--engines/titanic/game/desk_click_responder.h50
-rw-r--r--engines/titanic/game/doorbot_elevator_handler.cpp48
-rw-r--r--engines/titanic/game/doorbot_elevator_handler.h52
-rw-r--r--engines/titanic/game/doorbot_home_handler.cpp40
-rw-r--r--engines/titanic/game/doorbot_home_handler.h48
-rw-r--r--engines/titanic/game/ear_sweet_bowl.cpp37
-rw-r--r--engines/titanic/game/ear_sweet_bowl.h47
-rw-r--r--engines/titanic/game/eject_phonograph_button.cpp47
-rw-r--r--engines/titanic/game/eject_phonograph_button.h53
-rw-r--r--engines/titanic/game/elevator_action_area.cpp39
-rw-r--r--engines/titanic/game/elevator_action_area.h50
-rw-r--r--engines/titanic/game/emma_control.cpp47
-rw-r--r--engines/titanic/game/emma_control.h52
-rw-r--r--engines/titanic/game/empty_nut_bowl.cpp39
-rw-r--r--engines/titanic/game/empty_nut_bowl.h50
-rw-r--r--engines/titanic/game/end_credit_text.cpp39
-rw-r--r--engines/titanic/game/end_credit_text.h50
-rw-r--r--engines/titanic/game/end_credits.cpp39
-rw-r--r--engines/titanic/game/end_credits.h50
-rw-r--r--engines/titanic/game/end_explode_ship.cpp43
-rw-r--r--engines/titanic/game/end_explode_ship.h50
-rw-r--r--engines/titanic/game/end_game_credits.cpp46
-rw-r--r--engines/titanic/game/end_game_credits.h51
-rw-r--r--engines/titanic/game/end_sequence_control.cpp42
-rw-r--r--engines/titanic/game/end_sequence_control.h49
-rw-r--r--engines/titanic/game/fan.cpp43
-rw-r--r--engines/titanic/game/fan.h50
-rw-r--r--engines/titanic/game/fan_control.cpp53
-rw-r--r--engines/titanic/game/fan_control.h54
-rw-r--r--engines/titanic/game/fan_decrease.cpp37
-rw-r--r--engines/titanic/game/fan_decrease.h47
-rw-r--r--engines/titanic/game/fan_increase.cpp37
-rw-r--r--engines/titanic/game/fan_increase.h47
-rw-r--r--engines/titanic/game/fan_noises.cpp63
-rw-r--r--engines/titanic/game/fan_noises.h58
-rw-r--r--engines/titanic/game/floor_indicator.cpp37
-rw-r--r--engines/titanic/game/floor_indicator.h47
-rw-r--r--engines/titanic/game/games_console.cpp39
-rw-r--r--engines/titanic/game/games_console.h50
-rw-r--r--engines/titanic/game/get_lift_eye2.cpp54
-rw-r--r--engines/titanic/game/get_lift_eye2.h52
-rw-r--r--engines/titanic/game/glass_smasher.cpp37
-rw-r--r--engines/titanic/game/glass_smasher.h47
-rw-r--r--engines/titanic/game/gondolier/gondolier_base.cpp70
-rw-r--r--engines/titanic/game/gondolier/gondolier_base.h58
-rw-r--r--engines/titanic/game/gondolier/gondolier_chest.cpp37
-rw-r--r--engines/titanic/game/gondolier/gondolier_chest.h47
-rw-r--r--engines/titanic/game/gondolier/gondolier_face.cpp39
-rw-r--r--engines/titanic/game/gondolier/gondolier_face.h50
-rw-r--r--engines/titanic/game/gondolier/gondolier_mixer.cpp68
-rw-r--r--engines/titanic/game/gondolier/gondolier_mixer.h58
-rw-r--r--engines/titanic/game/gondolier/gondolier_slider.cpp82
-rw-r--r--engines/titanic/game/gondolier/gondolier_slider.h67
-rw-r--r--engines/titanic/game/hammer_clip.cpp39
-rw-r--r--engines/titanic/game/hammer_clip.h50
-rw-r--r--engines/titanic/game/hammer_dispensor.cpp49
-rw-r--r--engines/titanic/game/hammer_dispensor.h52
-rw-r--r--engines/titanic/game/hammer_dispensor_button.cpp56
-rw-r--r--engines/titanic/game/hammer_dispensor_button.h56
-rw-r--r--engines/titanic/game/head_slot.cpp66
-rw-r--r--engines/titanic/game/head_slot.h60
-rw-r--r--engines/titanic/game/head_smash_event.cpp37
-rw-r--r--engines/titanic/game/head_smash_event.h47
-rw-r--r--engines/titanic/game/head_smash_lever.cpp48
-rw-r--r--engines/titanic/game/head_smash_lever.h52
-rw-r--r--engines/titanic/game/head_spinner.cpp43
-rw-r--r--engines/titanic/game/head_spinner.h50
-rw-r--r--engines/titanic/game/idle_summoner.cpp63
-rw-r--r--engines/titanic/game/idle_summoner.h58
-rw-r--r--engines/titanic/game/leave_sec_class_state.cpp39
-rw-r--r--engines/titanic/game/leave_sec_class_state.h48
-rw-r--r--engines/titanic/game/lemon_dispensor.cpp61
-rw-r--r--engines/titanic/game/lemon_dispensor.h57
-rw-r--r--engines/titanic/game/light.cpp65
-rw-r--r--engines/titanic/game/light.h59
-rw-r--r--engines/titanic/game/light_switch.cpp58
-rw-r--r--engines/titanic/game/light_switch.h56
-rw-r--r--engines/titanic/game/little_lift_button.cpp39
-rw-r--r--engines/titanic/game/little_lift_button.h50
-rw-r--r--engines/titanic/game/long_stick_dispenser.cpp51
-rw-r--r--engines/titanic/game/long_stick_dispenser.h55
-rw-r--r--engines/titanic/game/maitred/maitred_arm_holder.cpp37
-rw-r--r--engines/titanic/game/maitred/maitred_arm_holder.h47
-rw-r--r--engines/titanic/game/maitred/maitred_body.cpp39
-rw-r--r--engines/titanic/game/maitred/maitred_body.h50
-rw-r--r--engines/titanic/game/maitred/maitred_legs.cpp39
-rw-r--r--engines/titanic/game/maitred/maitred_legs.h50
-rw-r--r--engines/titanic/game/maitred/maitred_prod_receptor.cpp45
-rw-r--r--engines/titanic/game/maitred/maitred_prod_receptor.h53
-rw-r--r--engines/titanic/game/missiveomat.cpp55
-rw-r--r--engines/titanic/game/missiveomat.h55
-rw-r--r--engines/titanic/game/missiveomat_button.cpp41
-rw-r--r--engines/titanic/game/missiveomat_button.h50
-rw-r--r--engines/titanic/game/movie_tester.cpp41
-rw-r--r--engines/titanic/game/movie_tester.h50
-rw-r--r--engines/titanic/game/music_console_button.cpp37
-rw-r--r--engines/titanic/game/music_console_button.h47
-rw-r--r--engines/titanic/game/music_room_phonograph.cpp41
-rw-r--r--engines/titanic/game/music_room_phonograph.h51
-rw-r--r--engines/titanic/game/music_room_stop_phonograph_button.cpp39
-rw-r--r--engines/titanic/game/music_room_stop_phonograph_button.h50
-rw-r--r--engines/titanic/game/music_system_lock.cpp39
-rw-r--r--engines/titanic/game/music_system_lock.h50
-rw-r--r--engines/titanic/game/musical_instrument.cpp39
-rw-r--r--engines/titanic/game/musical_instrument.h48
-rw-r--r--engines/titanic/game/nav_helmet.cpp39
-rw-r--r--engines/titanic/game/nav_helmet.h50
-rw-r--r--engines/titanic/game/navigation_computer.cpp39
-rw-r--r--engines/titanic/game/navigation_computer.h48
-rw-r--r--engines/titanic/game/no_nut_bowl.cpp37
-rw-r--r--engines/titanic/game/no_nut_bowl.h47
-rw-r--r--engines/titanic/game/nose_holder.cpp44
-rw-r--r--engines/titanic/game/nose_holder.h51
-rw-r--r--engines/titanic/game/null_port_hole.cpp50
-rw-r--r--engines/titanic/game/null_port_hole.h49
-rw-r--r--engines/titanic/game/nut_replacer.cpp37
-rw-r--r--engines/titanic/game/nut_replacer.h47
-rw-r--r--engines/titanic/game/parrot/parrot_lobby_controller.cpp37
-rw-r--r--engines/titanic/game/parrot/parrot_lobby_controller.h47
-rw-r--r--engines/titanic/game/parrot/parrot_lobby_link_updater.cpp37
-rw-r--r--engines/titanic/game/parrot/parrot_lobby_link_updater.h50
-rw-r--r--engines/titanic/game/parrot/parrot_lobby_object.cpp61
-rw-r--r--engines/titanic/game/parrot/parrot_lobby_object.h55
-rw-r--r--engines/titanic/game/parrot/parrot_lobby_view_object.cpp39
-rw-r--r--engines/titanic/game/parrot/parrot_lobby_view_object.h50
-rw-r--r--engines/titanic/game/parrot/parrot_loser.cpp37
-rw-r--r--engines/titanic/game/parrot/parrot_loser.h47
-rw-r--r--engines/titanic/game/parrot/parrot_nut_bowl_actor.cpp47
-rw-r--r--engines/titanic/game/parrot/parrot_nut_bowl_actor.h50
-rw-r--r--engines/titanic/game/parrot/parrot_nut_eater.cpp45
-rw-r--r--engines/titanic/game/parrot/parrot_nut_eater.h54
-rw-r--r--engines/titanic/game/parrot/parrot_perch_holder.cpp37
-rw-r--r--engines/titanic/game/parrot/parrot_perch_holder.h47
-rw-r--r--engines/titanic/game/parrot/parrot_succubus.cpp49
-rw-r--r--engines/titanic/game/parrot/parrot_succubus.h54
-rw-r--r--engines/titanic/game/parrot/parrot_trigger.cpp39
-rw-r--r--engines/titanic/game/parrot/parrot_trigger.h50
-rw-r--r--engines/titanic/game/parrot/player_meets_parrot.cpp42
-rw-r--r--engines/titanic/game/parrot/player_meets_parrot.h50
-rw-r--r--engines/titanic/game/pet/pet.cpp57
-rw-r--r--engines/titanic/game/pet/pet.h56
-rw-r--r--engines/titanic/game/pet/pet_class1.cpp39
-rw-r--r--engines/titanic/game/pet/pet_class1.h48
-rw-r--r--engines/titanic/game/pet/pet_class2.cpp39
-rw-r--r--engines/titanic/game/pet/pet_class2.h48
-rw-r--r--engines/titanic/game/pet/pet_class3.cpp39
-rw-r--r--engines/titanic/game/pet/pet_class3.h48
-rw-r--r--engines/titanic/game/pet/pet_lift.cpp37
-rw-r--r--engines/titanic/game/pet/pet_lift.h47
-rw-r--r--engines/titanic/game/pet/pet_monitor.cpp46
-rw-r--r--engines/titanic/game/pet/pet_monitor.h50
-rw-r--r--engines/titanic/game/pet/pet_pellerator.cpp37
-rw-r--r--engines/titanic/game/pet/pet_pellerator.h47
-rw-r--r--engines/titanic/game/pet/pet_position.cpp46
-rw-r--r--engines/titanic/game/pet/pet_position.h50
-rw-r--r--engines/titanic/game/pet/pet_sentinal.cpp37
-rw-r--r--engines/titanic/game/pet/pet_sentinal.h47
-rw-r--r--engines/titanic/game/pet/pet_sounds.cpp39
-rw-r--r--engines/titanic/game/pet/pet_sounds.h50
-rw-r--r--engines/titanic/game/pet/pet_transition.cpp37
-rw-r--r--engines/titanic/game/pet/pet_transition.h47
-rw-r--r--engines/titanic/game/pet/pet_transport.cpp46
-rw-r--r--engines/titanic/game/pet/pet_transport.h50
-rw-r--r--engines/titanic/game/pet/pet_val_base.cpp31
-rw-r--r--engines/titanic/game/pet/pet_val_base.h61
-rw-r--r--engines/titanic/game/pet_disabler.cpp39
-rw-r--r--engines/titanic/game/pet_disabler.h50
-rw-r--r--engines/titanic/game/phonograph.cpp63
-rw-r--r--engines/titanic/game/phonograph.h58
-rw-r--r--engines/titanic/game/phonograph_lid.cpp39
-rw-r--r--engines/titanic/game/phonograph_lid.h50
-rw-r--r--engines/titanic/game/pickup/pick_up.cpp39
-rw-r--r--engines/titanic/game/pickup/pick_up.h50
-rw-r--r--engines/titanic/game/pickup/pick_up_bar_glass.cpp37
-rw-r--r--engines/titanic/game/pickup/pick_up_bar_glass.h47
-rw-r--r--engines/titanic/game/pickup/pick_up_hose.cpp45
-rw-r--r--engines/titanic/game/pickup/pick_up_hose.h51
-rw-r--r--engines/titanic/game/pickup/pick_up_lemon.cpp37
-rw-r--r--engines/titanic/game/pickup/pick_up_lemon.h47
-rw-r--r--engines/titanic/game/pickup/pick_up_speech_centre.cpp37
-rw-r--r--engines/titanic/game/pickup/pick_up_speech_centre.h47
-rw-r--r--engines/titanic/game/pickup/pick_up_vis_centre.cpp37
-rw-r--r--engines/titanic/game/pickup/pick_up_vis_centre.h47
-rw-r--r--engines/titanic/game/placeholder/bar_shelf_vis_centre.cpp39
-rw-r--r--engines/titanic/game/placeholder/bar_shelf_vis_centre.h50
-rw-r--r--engines/titanic/game/placeholder/lemon_on_bar.cpp39
-rw-r--r--engines/titanic/game/placeholder/lemon_on_bar.h49
-rw-r--r--engines/titanic/game/placeholder/place_holder_item.cpp37
-rw-r--r--engines/titanic/game/placeholder/place_holder_item.h47
-rw-r--r--engines/titanic/game/placeholder/tv_on_bar.cpp39
-rw-r--r--engines/titanic/game/placeholder/tv_on_bar.h49
-rw-r--r--engines/titanic/game/play_music_button.cpp43
-rw-r--r--engines/titanic/game/play_music_button.h51
-rw-r--r--engines/titanic/game/play_on_act.cpp37
-rw-r--r--engines/titanic/game/play_on_act.h47
-rw-r--r--engines/titanic/game/port_hole.cpp49
-rw-r--r--engines/titanic/game/port_hole.h51
-rw-r--r--engines/titanic/game/record_phonograph_button.cpp39
-rw-r--r--engines/titanic/game/record_phonograph_button.h50
-rw-r--r--engines/titanic/game/replacement_ear.cpp37
-rw-r--r--engines/titanic/game/replacement_ear.h47
-rw-r--r--engines/titanic/game/reserved_table.cpp42
-rw-r--r--engines/titanic/game/reserved_table.h50
-rw-r--r--engines/titanic/game/restaurant_cylinder_holder.cpp58
-rw-r--r--engines/titanic/game/restaurant_cylinder_holder.h56
-rw-r--r--engines/titanic/game/restaurant_phonograph.cpp51
-rw-r--r--engines/titanic/game/restaurant_phonograph.h53
-rw-r--r--engines/titanic/game/sauce_dispensor.cpp57
-rw-r--r--engines/titanic/game/sauce_dispensor.h56
-rw-r--r--engines/titanic/game/search_point.cpp39
-rw-r--r--engines/titanic/game/search_point.h50
-rw-r--r--engines/titanic/game/season_background.cpp51
-rw-r--r--engines/titanic/game/season_background.h53
-rw-r--r--engines/titanic/game/season_barrel.cpp42
-rw-r--r--engines/titanic/game/season_barrel.h51
-rw-r--r--engines/titanic/game/seasonal_adjustment.cpp43
-rw-r--r--engines/titanic/game/seasonal_adjustment.h51
-rw-r--r--engines/titanic/game/service_elevator_window.cpp51
-rw-r--r--engines/titanic/game/service_elevator_window.h53
-rw-r--r--engines/titanic/game/sgt/armchair.cpp37
-rw-r--r--engines/titanic/game/sgt/armchair.h47
-rw-r--r--engines/titanic/game/sgt/basin.cpp37
-rw-r--r--engines/titanic/game/sgt/basin.h47
-rw-r--r--engines/titanic/game/sgt/bedfoot.cpp37
-rw-r--r--engines/titanic/game/sgt/bedfoot.h47
-rw-r--r--engines/titanic/game/sgt/bedhead.cpp37
-rw-r--r--engines/titanic/game/sgt/bedhead.h47
-rw-r--r--engines/titanic/game/sgt/chest_of_drawers.cpp37
-rw-r--r--engines/titanic/game/sgt/chest_of_drawers.h47
-rw-r--r--engines/titanic/game/sgt/desk.cpp37
-rw-r--r--engines/titanic/game/sgt/desk.h47
-rw-r--r--engines/titanic/game/sgt/deskchair.cpp37
-rw-r--r--engines/titanic/game/sgt/deskchair.h47
-rw-r--r--engines/titanic/game/sgt/drawer.cpp42
-rw-r--r--engines/titanic/game/sgt/drawer.h50
-rw-r--r--engines/titanic/game/sgt/sgt_doors.cpp43
-rw-r--r--engines/titanic/game/sgt/sgt_doors.h50
-rw-r--r--engines/titanic/game/sgt/sgt_nav.cpp37
-rw-r--r--engines/titanic/game/sgt/sgt_nav.h47
-rw-r--r--engines/titanic/game/sgt/sgt_navigation.cpp55
-rw-r--r--engines/titanic/game/sgt/sgt_navigation.h57
-rw-r--r--engines/titanic/game/sgt/sgt_restaurant_doors.cpp39
-rw-r--r--engines/titanic/game/sgt/sgt_restaurant_doors.h50
-rw-r--r--engines/titanic/game/sgt/sgt_state_control.cpp39
-rw-r--r--engines/titanic/game/sgt/sgt_state_control.h50
-rw-r--r--engines/titanic/game/sgt/sgt_state_room.cpp102
-rw-r--r--engines/titanic/game/sgt/sgt_state_room.h78
-rw-r--r--engines/titanic/game/sgt/sgt_tv.cpp37
-rw-r--r--engines/titanic/game/sgt/sgt_tv.h47
-rw-r--r--engines/titanic/game/sgt/sgt_upper_doors_sound.cpp45
-rw-r--r--engines/titanic/game/sgt/sgt_upper_doors_sound.h48
-rw-r--r--engines/titanic/game/sgt/toilet.cpp37
-rw-r--r--engines/titanic/game/sgt/toilet.h47
-rw-r--r--engines/titanic/game/sgt/vase.cpp37
-rw-r--r--engines/titanic/game/sgt/vase.h47
-rw-r--r--engines/titanic/game/sgt/washstand.cpp37
-rw-r--r--engines/titanic/game/sgt/washstand.h47
-rw-r--r--engines/titanic/game/ship_setting.cpp56
-rw-r--r--engines/titanic/game/ship_setting.h55
-rw-r--r--engines/titanic/game/ship_setting_button.cpp48
-rw-r--r--engines/titanic/game/ship_setting_button.h52
-rw-r--r--engines/titanic/game/show_cell_points.cpp41
-rw-r--r--engines/titanic/game/show_cell_points.h51
-rw-r--r--engines/titanic/game/speech_dispensor.cpp53
-rw-r--r--engines/titanic/game/speech_dispensor.h56
-rw-r--r--engines/titanic/game/splash_animation.cpp39
-rw-r--r--engines/titanic/game/splash_animation.h48
-rw-r--r--engines/titanic/game/starling_puret.cpp39
-rw-r--r--engines/titanic/game/starling_puret.h50
-rw-r--r--engines/titanic/game/start_action.cpp64
-rw-r--r--engines/titanic/game/start_action.h55
-rw-r--r--engines/titanic/game/stop_phonograph_button.cpp37
-rw-r--r--engines/titanic/game/stop_phonograph_button.h47
-rw-r--r--engines/titanic/game/sub_glass.cpp54
-rw-r--r--engines/titanic/game/sub_glass.h55
-rw-r--r--engines/titanic/game/sub_wrapper.cpp39
-rw-r--r--engines/titanic/game/sub_wrapper.h50
-rw-r--r--engines/titanic/game/sweet_bowl.cpp37
-rw-r--r--engines/titanic/game/sweet_bowl.h47
-rw-r--r--engines/titanic/game/television.cpp291
-rw-r--r--engines/titanic/game/television.h79
-rw-r--r--engines/titanic/game/third_class_canal.cpp37
-rw-r--r--engines/titanic/game/third_class_canal.h47
-rw-r--r--engines/titanic/game/throw_tv_down_well.cpp41
-rw-r--r--engines/titanic/game/throw_tv_down_well.h51
-rw-r--r--engines/titanic/game/titania_still_control.cpp37
-rw-r--r--engines/titanic/game/titania_still_control.h47
-rw-r--r--engines/titanic/game/tow_parrot_nav.cpp37
-rw-r--r--engines/titanic/game/tow_parrot_nav.h47
-rw-r--r--engines/titanic/game/transport/exit_pellerator.cpp46
-rw-r--r--engines/titanic/game/transport/exit_pellerator.h50
-rw-r--r--engines/titanic/game/transport/gondolier.cpp37
-rw-r--r--engines/titanic/game/transport/gondolier.h47
-rw-r--r--engines/titanic/game/transport/lift.cpp69
-rw-r--r--engines/titanic/game/transport/lift.h60
-rw-r--r--engines/titanic/game/transport/lift_indicator.cpp55
-rw-r--r--engines/titanic/game/transport/lift_indicator.h56
-rw-r--r--engines/titanic/game/transport/pellerator.cpp55
-rw-r--r--engines/titanic/game/transport/pellerator.h53
-rw-r--r--engines/titanic/game/transport/service_elevator.cpp61
-rw-r--r--engines/titanic/game/transport/service_elevator.h57
-rw-r--r--engines/titanic/game/transport/transport.cpp48
-rw-r--r--engines/titanic/game/transport/transport.h52
-rw-r--r--engines/titanic/game/up_lighter.cpp56
-rw-r--r--engines/titanic/game/up_lighter.h55
-rw-r--r--engines/titanic/game/useless_lever.cpp37
-rw-r--r--engines/titanic/game/useless_lever.h47
-rw-r--r--engines/titanic/game/volume_control.cpp53
-rw-r--r--engines/titanic/game/volume_control.h54
-rw-r--r--engines/titanic/game/wheel_button.cpp49
-rw-r--r--engines/titanic/game/wheel_button.h52
-rw-r--r--engines/titanic/game/wheel_hotspot.cpp43
-rw-r--r--engines/titanic/game/wheel_hotspot.h51
-rw-r--r--engines/titanic/game/wheel_spin.cpp39
-rw-r--r--engines/titanic/game/wheel_spin.h50
-rw-r--r--engines/titanic/game/wheel_spin_horn.cpp43
-rw-r--r--engines/titanic/game/wheel_spin_horn.h50
394 files changed, 19677 insertions, 0 deletions
diff --git a/engines/titanic/game/announce.cpp b/engines/titanic/game/announce.cpp
new file mode 100644
index 0000000000..df6689d262
--- /dev/null
+++ b/engines/titanic/game/announce.cpp
@@ -0,0 +1,50 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/announce.h"
+
+namespace Titanic {
+
+CAnnounce::CAnnounce() : _fieldBC(0), _fieldC0(0), _fieldC4(1), _fieldC8(0) {
+}
+
+void CAnnounce::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeNumberLine(_fieldC0, indent);
+ file->writeNumberLine(_fieldC4, indent);
+ file->writeNumberLine(_fieldC8, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CAnnounce::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+ _fieldC4 = file->readNumber();
+ _fieldC8 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/announce.h b/engines/titanic/game/announce.h
new file mode 100644
index 0000000000..f960241c36
--- /dev/null
+++ b/engines/titanic/game/announce.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_ANNOUNCE_H
+#define TITANIC_ANNOUNCE_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CAnnounce : public CGameObject {
+private:
+ int _fieldBC;
+ int _fieldC0;
+ int _fieldC4;
+ int _fieldC8;
+public:
+ CLASSDEF;
+ CAnnounce();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ROOM_ITEM_H */
diff --git a/engines/titanic/game/annoy_barbot.cpp b/engines/titanic/game/annoy_barbot.cpp
new file mode 100644
index 0000000000..d69d9fff3c
--- /dev/null
+++ b/engines/titanic/game/annoy_barbot.cpp
@@ -0,0 +1,41 @@
+/* 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/annoy_barbot.h"
+
+namespace Titanic {
+
+int CAnnoyBarbot::_v1;
+
+void CAnnoyBarbot::save(SimpleFile *file, int indent) {
+ 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);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/annoy_barbot.h b/engines/titanic/game/annoy_barbot.h
new file mode 100644
index 0000000000..955a82bdf8
--- /dev/null
+++ b/engines/titanic/game/annoy_barbot.h
@@ -0,0 +1,49 @@
+/* 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_ANNOY_BARBOT_H
+#define TITANIC_ANNOY_BARBOT_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CAnnoyBarbot : public CGameObject {
+private:
+ static int _v1;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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/arb_background.cpp b/engines/titanic/game/arb_background.cpp
new file mode 100644
index 0000000000..f71bcf90d1
--- /dev/null
+++ b/engines/titanic/game/arb_background.cpp
@@ -0,0 +1,53 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/arb_background.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CArbBackground, CBackground);
+
+CArbBackground::CArbBackground() : CBackground(),
+ _fieldE0(0), _fieldE4(61), _fieldE8(62), _fieldEC(118) {
+}
+
+void CArbBackground::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+ file->writeNumberLine(_fieldEC, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CArbBackground::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+ _fieldEC = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/arb_background.h b/engines/titanic/game/arb_background.h
new file mode 100644
index 0000000000..88d4d1bec6
--- /dev/null
+++ b/engines/titanic/game/arb_background.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_ARB_BACKGROUND_H
+#define TITANIC_ARB_BACKGROUND_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CArbBackground : public CBackground {
+ DECLARE_MESSAGE_MAP;
+public:
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+ int _fieldEC;
+public:
+ CLASSDEF;
+ CArbBackground();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ARB_BACKGROUND_H */
diff --git a/engines/titanic/game/arboretum_gate.cpp b/engines/titanic/game/arboretum_gate.cpp
new file mode 100644
index 0000000000..9caa87c48d
--- /dev/null
+++ b/engines/titanic/game/arboretum_gate.cpp
@@ -0,0 +1,159 @@
+/* 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/arboretum_gate.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CArboretumGate, CBackground)
+ ON_MESSAGE(ActMsg)
+ ON_MESSAGE(LeaveViewMsg)
+ ON_MESSAGE(TurnOff)
+ ON_MESSAGE(MouseButtonDownMsg)
+ ON_MESSAGE(EnterViewMsg)
+ ON_MESSAGE(TurnOn)
+ ON_MESSAGE(MovieEndMsg)
+END_MESSAGE_MAP()
+
+int CArboretumGate::_v1;
+int CArboretumGate::_v2;
+int CArboretumGate::_v3;
+
+CArboretumGate::CArboretumGate() : CBackground() {
+ _string1 = "NULL";
+ _string2 = "NULL";
+ _fieldE0 = 0;
+ _fieldF0 = 0;
+ _fieldF4 = 244;
+ _fieldF8 = 304;
+ _fieldFC = 122;
+ _field100 = 182;
+ _field104 = 183;
+ _field108 = 243;
+ _field10C = 665;
+ _field110 = 724;
+ _field114 = 61;
+ _field118 = 121;
+ _field11C = 0;
+ _field120 = 60;
+ _field124 = 485;
+ _field128 = 544;
+ _field12C = 425;
+ _field130 = 484;
+ _field134 = 545;
+ _field138 = 604;
+ _field13C = 605;
+ _field140 = 664;
+ _field144 = 305;
+ _field148 = 364;
+ _field14C = 365;
+ _field150 = 424;
+}
+
+void CArboretumGate::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_v2, indent);
+ file->writeNumberLine(_v3, indent);
+ file->writeQuotedLine(_string1, indent);
+ file->writeNumberLine(_fieldF0, indent);
+ file->writeNumberLine(_fieldF4, indent);
+ file->writeNumberLine(_fieldF8, indent);
+ file->writeNumberLine(_fieldFC, indent);
+ file->writeNumberLine(_field100, indent);
+ file->writeNumberLine(_field104, indent);
+ file->writeNumberLine(_field108, indent);
+ file->writeNumberLine(_field10C, indent);
+ file->writeNumberLine(_field110, indent);
+ file->writeNumberLine(_field114, indent);
+ file->writeNumberLine(_field118, indent);
+ file->writeNumberLine(_field11C, indent);
+ file->writeNumberLine(_field120, indent);
+ file->writeNumberLine(_field124, indent);
+ file->writeNumberLine(_field128, indent);
+ file->writeNumberLine(_field12C, indent);
+ file->writeNumberLine(_field130, indent);
+ file->writeNumberLine(_field134, indent);
+ file->writeNumberLine(_field138, indent);
+ file->writeNumberLine(_field13C, indent);
+ file->writeNumberLine(_field140, indent);
+ file->writeNumberLine(_field144, indent);
+ file->writeNumberLine(_field148, indent);
+ file->writeNumberLine(_field14C, indent);
+ file->writeNumberLine(_field150, indent);
+ file->writeQuotedLine(_string2, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CArboretumGate::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _v1 = file->readNumber();
+ _v2 = file->readNumber();
+ _v3 = file->readNumber();
+ _string1 = file->readString();
+ _fieldF0 = file->readNumber();
+ _fieldF4 = file->readNumber();
+ _fieldF8 = file->readNumber();
+ _fieldFC = file->readNumber();
+ _field100 = file->readNumber();
+ _field104 = file->readNumber();
+ _field108 = file->readNumber();
+ _field10C = file->readNumber();
+ _field110 = file->readNumber();
+ _field114 = file->readNumber();
+ _field118 = file->readNumber();
+ _field11C = file->readNumber();
+ _field120 = file->readNumber();
+ _field124 = file->readNumber();
+ _field128 = file->readNumber();
+ _field12C = file->readNumber();
+ _field130 = file->readNumber();
+ _field134 = file->readNumber();
+ _field138 = file->readNumber();
+ _field13C = file->readNumber();
+ _field140 = file->readNumber();
+ _field144 = file->readNumber();
+ _field148 = file->readNumber();
+ _field14C = file->readNumber();
+ _field150 = file->readNumber();
+ _string2 = file->readString();
+
+ CBackground::load(file);
+}
+
+bool CArboretumGate::ActMsg(CActMsg *msg) { return false; }
+bool CArboretumGate::LeaveViewMsg(CLeaveViewMsg *msg) { return false; }
+bool CArboretumGate::TurnOff(CTurnOff *msg) { return false; }
+bool CArboretumGate::MouseButtonDownMsg(CMouseButtonDownMsg *msg) { return false; }
+
+bool CArboretumGate::EnterViewMsg(CEnterViewMsg *msg) {
+ warning("CArboretumGate::handleEvent");
+ return false;
+}
+
+bool CArboretumGate::TurnOn(CTurnOn *msg) { return false; }
+bool CArboretumGate::MovieEndMsg(CMovieEndMsg *msg) { return false; }
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/arboretum_gate.h b/engines/titanic/game/arboretum_gate.h
new file mode 100644
index 0000000000..927b2190c7
--- /dev/null
+++ b/engines/titanic/game/arboretum_gate.h
@@ -0,0 +1,93 @@
+/* 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_ARBORETUM_GATE_H
+#define TITANIC_ARBORETUM_GATE_H
+
+#include "titanic/core/background.h"
+#include "titanic/messages/messages.h"
+#include "titanic/messages/mouse_messages.h"
+
+namespace Titanic {
+
+class CArboretumGate : public CBackground {
+ DECLARE_MESSAGE_MAP;
+ bool ActMsg(CActMsg *msg);
+ bool LeaveViewMsg(CLeaveViewMsg *msg);
+ bool TurnOff(CTurnOff *msg);
+ bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
+ bool EnterViewMsg(CEnterViewMsg *msg);
+ bool TurnOn(CTurnOn *msg);
+ bool MovieEndMsg(CMovieEndMsg *msg);
+private:
+ static int _v1;
+ static int _v2;
+ static int _v3;
+private:
+ int _fieldE0;
+ CString _string1;
+ int _fieldE8;
+ int _fieldEC;
+ int _fieldF0;
+ int _fieldF4;
+ int _fieldF8;
+ int _fieldFC;
+ int _field100;
+ int _field104;
+ int _field108;
+ int _field10C;
+ int _field110;
+ int _field114;
+ int _field118;
+ int _field11C;
+ int _field120;
+ int _field124;
+ int _field128;
+ int _field12C;
+ int _field130;
+ int _field134;
+ int _field138;
+ int _field13C;
+ int _field140;
+ int _field144;
+ int _field148;
+ int _field14C;
+ int _field150;
+ CString _string2;
+public:
+ CLASSDEF;
+ CArboretumGate();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ARBORETUM_GATE_H */
diff --git a/engines/titanic/game/auto_animate.cpp b/engines/titanic/game/auto_animate.cpp
new file mode 100644
index 0000000000..172b8c44df
--- /dev/null
+++ b/engines/titanic/game/auto_animate.cpp
@@ -0,0 +1,48 @@
+/* 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/auto_animate.h"
+
+namespace Titanic {
+
+void CAutoAnimate::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+ CBackground::save(file, indent);
+}
+
+void CAutoAnimate::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+ CBackground::load(file);
+}
+
+bool CAutoAnimate::EnterViewMsg(CEnterViewMsg *msg) {
+ warning("CAutoAnimate::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/auto_animate.h b/engines/titanic/game/auto_animate.h
new file mode 100644
index 0000000000..7bca808bfb
--- /dev/null
+++ b/engines/titanic/game/auto_animate.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_AUTO_ANIMATE_H
+#define TITANIC_AUTO_ANIMATE_H
+
+#include "titanic/core/background.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CAutoAnimate : public CBackground {
+ bool EnterViewMsg(CEnterViewMsg *msg);
+private:
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+public:
+ CLASSDEF;
+ CAutoAnimate() : CBackground(), _fieldE0(1), _fieldE4(1), _fieldE8(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_AUTO_ANIMATE_H */
diff --git a/engines/titanic/game/bar_bell.cpp b/engines/titanic/game/bar_bell.cpp
new file mode 100644
index 0000000000..b33ee1c26c
--- /dev/null
+++ b/engines/titanic/game/bar_bell.cpp
@@ -0,0 +1,58 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/bar_bell.h"
+
+namespace Titanic {
+
+CBarBell::CBarBell() : CGameObject(), _fieldBC(0),
+ _fieldC0(65), _fieldC4(0), _fieldC8(0), _fieldCC(0) {
+}
+
+void CBarBell::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeNumberLine(_fieldC0, indent);
+ file->writeNumberLine(_fieldC4, indent);
+ file->writeNumberLine(_fieldC8, indent);
+ file->writeNumberLine(_fieldCC, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CBarBell::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+ _fieldC4 = file->readNumber();
+ _fieldC8 = file->readNumber();
+ _fieldCC = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+bool CBarBell::EnterRoomMsg(CEnterRoomMsg *msg) {
+ _fieldBC = 0;
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/bar_bell.h b/engines/titanic/game/bar_bell.h
new file mode 100644
index 0000000000..5d1d2c54e0
--- /dev/null
+++ b/engines/titanic/game/bar_bell.h
@@ -0,0 +1,56 @@
+/* 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_BELL_H
+#define TITANIC_BAR_BELL_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CBarBell : public CGameObject {
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+public:
+ int _fieldBC;
+ int _fieldC0;
+ int _fieldC4;
+ int _fieldC8;
+ int _fieldCC;
+public:
+ CLASSDEF;
+ CBarBell();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_BAR_BELL_H */
diff --git a/engines/titanic/game/bar_menu.cpp b/engines/titanic/game/bar_menu.cpp
new file mode 100644
index 0000000000..b24c429c9b
--- /dev/null
+++ b/engines/titanic/game/bar_menu.cpp
@@ -0,0 +1,48 @@
+/* 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/bar_menu.h"
+
+namespace Titanic {
+
+CBarMenu::CBarMenu() : CGameObject(), _fieldBC(0), _fieldC0(0), _fieldC4(6) {
+}
+
+void CBarMenu::save(SimpleFile *file, int indent) {
+ 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);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/bar_menu.h b/engines/titanic/game/bar_menu.h
new file mode 100644
index 0000000000..84c0219084
--- /dev/null
+++ b/engines/titanic/game/bar_menu.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_BAR_MENU_H
+#define TITANIC_BAR_MENU_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CBarMenu : public CGameObject {
+public:
+ int _fieldBC;
+ int _fieldC0;
+ int _fieldC4;
+public:
+ CLASSDEF;
+ CBarMenu();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_BAR_MENU_H */
diff --git a/engines/titanic/game/bar_menu_button.cpp b/engines/titanic/game/bar_menu_button.cpp
new file mode 100644
index 0000000000..f57d72c64a
--- /dev/null
+++ b/engines/titanic/game/bar_menu_button.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/bar_menu_button.h"
+
+namespace Titanic {
+
+void CBarMenuButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CBarMenuButton::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/bar_menu_button.h b/engines/titanic/game/bar_menu_button.h
new file mode 100644
index 0000000000..c666df413b
--- /dev/null
+++ b/engines/titanic/game/bar_menu_button.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_BAR_MENU_BUTTON_H
+#define TITANIC_BAR_MENU_BUTTON_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CBarMenuButton : public CGameObject {
+public:
+ int _value;
+public:
+ CLASSDEF;
+ CBarMenuButton() : CGameObject(), _value(1) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_BAR_MENU_BUTTON_H */
diff --git a/engines/titanic/game/belbot_get_light.cpp b/engines/titanic/game/belbot_get_light.cpp
new file mode 100644
index 0000000000..3e678a8a0c
--- /dev/null
+++ b/engines/titanic/game/belbot_get_light.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/belbot_get_light.h"
+
+namespace Titanic {
+
+void CBelbotGetLight::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CBelbotGetLight::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readString();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/belbot_get_light.h b/engines/titanic/game/belbot_get_light.h
new file mode 100644
index 0000000000..a3aa0f737e
--- /dev/null
+++ b/engines/titanic/game/belbot_get_light.h
@@ -0,0 +1,49 @@
+/* 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_BELBOT_GET_LIGHT_H
+#define TITANIC_BELBOT_GET_LIGHT_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CBelbotGetLight : public CGameObject {
+private:
+ CString _value;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_LIGHT_H */
diff --git a/engines/titanic/game/bilge_succubus.cpp b/engines/titanic/game/bilge_succubus.cpp
new file mode 100644
index 0000000000..ceee3f7740
--- /dev/null
+++ b/engines/titanic/game/bilge_succubus.cpp
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/bilge_succubus.h"
+
+namespace Titanic {
+
+CBilgeSuccUBus::CBilgeSuccUBus() : CSuccUBus(), _field1DC(0),
+ _field1E0(0), _field1E4(0), _field1E8(0) {
+}
+
+void CBilgeSuccUBus::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field1DC, indent);
+ file->writeNumberLine(_field1E0, indent);
+ file->writeNumberLine(_field1E4, indent);
+ file->writeNumberLine(_field1E8, indent);
+
+ CSuccUBus::save(file, indent);
+}
+
+void CBilgeSuccUBus::load(SimpleFile *file) {
+ file->readNumber();
+ _field1DC = file->readNumber();
+ _field1E0 = file->readNumber();
+ _field1E4 = file->readNumber();
+ _field1E8 = file->readNumber();
+
+ CSuccUBus::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/bilge_succubus.h b/engines/titanic/game/bilge_succubus.h
new file mode 100644
index 0000000000..4b2a626dc2
--- /dev/null
+++ b/engines/titanic/game/bilge_succubus.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_BILGE_SUCCUBUS_H
+#define TITANIC_BILGE_SUCCUBUS_H
+
+#include "titanic/npcs/succubus.h"
+
+namespace Titanic {
+
+class CBilgeSuccUBus : public CSuccUBus {
+public:
+ int _field1DC;
+ int _field1E0;
+ int _field1E4;
+ int _field1E8;
+public:
+ CLASSDEF;
+ CBilgeSuccUBus();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_BILGE_SUCCUBUS_H */
diff --git a/engines/titanic/game/bomb.cpp b/engines/titanic/game/bomb.cpp
new file mode 100644
index 0000000000..9a08f26ece
--- /dev/null
+++ b/engines/titanic/game/bomb.cpp
@@ -0,0 +1,81 @@
+/* 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/bomb.h"
+#include "titanic/titanic.h"
+
+namespace Titanic {
+
+CBomb::CBomb() : CBackground() {
+ _fieldE0 = 0;
+ _fieldE4 = 0;
+ _fieldE8 = 17;
+ _fieldEC = 9;
+ _fieldF0 = 0;
+ _fieldF4 = 999;
+ _fieldF8 = 0;
+ _fieldFC = 0;
+ _startingTicks = 0;
+ _field104 = 60;
+}
+
+void CBomb::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+ file->writeNumberLine(_fieldEC, indent);
+ file->writeNumberLine(_fieldF0, indent);
+ file->writeNumberLine(_fieldF4, indent);
+ file->writeNumberLine(_fieldF8, indent);
+ file->writeNumberLine(_fieldFC, indent);
+ file->writeNumberLine(_startingTicks, indent);
+ file->writeNumberLine(_field104, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CBomb::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+ _fieldEC = file->readNumber();
+ _fieldF0 = file->readNumber();
+ _fieldF4 = file->readNumber();
+ _fieldF8 = file->readNumber();
+ _fieldFC = file->readNumber();
+ _startingTicks = file->readNumber();
+ _field104 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+bool CBomb::EnterRoomMsg(CEnterRoomMsg *msg) {
+ _fieldE8 = 12;
+ _fieldEC = 9;
+ _fieldF0 = 0;
+ _startingTicks = g_vm->_events->getTicksCount();
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/bomb.h b/engines/titanic/game/bomb.h
new file mode 100644
index 0000000000..ab4df16db0
--- /dev/null
+++ b/engines/titanic/game/bomb.h
@@ -0,0 +1,61 @@
+/* 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_BOMB_H
+#define TITANIC_BOMB_H
+
+#include "titanic/core/background.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CBomb : public CBackground {
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+private:
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+ int _fieldEC;
+ int _fieldF0;
+ int _fieldF4;
+ int _fieldF8;
+ int _fieldFC;
+ int _startingTicks;
+ int _field104;
+public:
+ CLASSDEF;
+ CBomb();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_BOMB_H */
diff --git a/engines/titanic/game/bottom_of_well_monitor.cpp b/engines/titanic/game/bottom_of_well_monitor.cpp
new file mode 100644
index 0000000000..beb2a80ce9
--- /dev/null
+++ b/engines/titanic/game/bottom_of_well_monitor.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/bottom_of_well_monitor.h"
+
+namespace Titanic {
+
+int CBottomOfWellMonitor::_v1;
+int CBottomOfWellMonitor::_v2;
+
+void CBottomOfWellMonitor::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_v2, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CBottomOfWellMonitor::load(SimpleFile *file) {
+ file->readNumber();
+ _v1 = file->readNumber();
+ _v2 = file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/bottom_of_well_monitor.h b/engines/titanic/game/bottom_of_well_monitor.h
new file mode 100644
index 0000000000..65424aad70
--- /dev/null
+++ b/engines/titanic/game/bottom_of_well_monitor.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_BOTTOM_OF_WELL_MONITOR_H
+#define TITANIC_BOTTOM_OF_WELL_MONITOR_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CBottomOfWellMonitor : public CGameObject {
+public:
+ static int _v1, _v2;
+ int _value;
+public:
+ CLASSDEF;
+ CBottomOfWellMonitor() : _value(1) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_BOTTOM_OF_WELL_MONITOR_H */
diff --git a/engines/titanic/game/bowl_unlocker.cpp b/engines/titanic/game/bowl_unlocker.cpp
new file mode 100644
index 0000000000..c3c501dbd6
--- /dev/null
+++ b/engines/titanic/game/bowl_unlocker.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/bowl_unlocker.h"
+
+namespace Titanic {
+
+void CBowlUnlocker::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CBowlUnlocker::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/bowl_unlocker.h b/engines/titanic/game/bowl_unlocker.h
new file mode 100644
index 0000000000..2559ac2c52
--- /dev/null
+++ b/engines/titanic/game/bowl_unlocker.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_BOWL_UNLOCKER_H
+#define TITANIC_BOWL_UNLOCKER_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CBowlUnlocker : public CGameObject {
+public:
+ int _value;
+public:
+ CLASSDEF;
+ CBowlUnlocker() : CGameObject(), _value(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_BOWL_UNLOCKER_H */
diff --git a/engines/titanic/game/brain_slot.cpp b/engines/titanic/game/brain_slot.cpp
new file mode 100644
index 0000000000..f1963142ac
--- /dev/null
+++ b/engines/titanic/game/brain_slot.cpp
@@ -0,0 +1,50 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/brain_slot.h"
+
+namespace Titanic {
+
+int CBrainSlot::_v1;
+int CBrainSlot::_v2;
+
+void CBrainSlot::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value1, indent);
+ file->writeQuotedLine(_value2, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_v2, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CBrainSlot::load(SimpleFile *file) {
+ file->readNumber();
+ _value1 = file->readNumber();
+ _value2 = file->readString();
+ _v1 = file->readNumber();
+ _v2 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/brain_slot.h b/engines/titanic/game/brain_slot.h
new file mode 100644
index 0000000000..94b6d7f227
--- /dev/null
+++ b/engines/titanic/game/brain_slot.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_BRAIN_SLOT_H
+#define TITANIC_BRAIN_SLOT_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CBrainSlot : public CGameObject {
+public:
+ static int _v1, _v2;
+public:
+ int _value1;
+ CString _value2;
+public:
+ CLASSDEF;
+ CBrainSlot() : CGameObject(), _value1(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_BRAIN_SLOT_H */
diff --git a/engines/titanic/game/bridge_door.cpp b/engines/titanic/game/bridge_door.cpp
new file mode 100644
index 0000000000..57cdbd23ad
--- /dev/null
+++ b/engines/titanic/game/bridge_door.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/bridge_door.h"
+
+namespace Titanic {
+
+void CBridgeDoor::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CBridgeDoor::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/bridge_door.h b/engines/titanic/game/bridge_door.h
new file mode 100644
index 0000000000..c1872a29be
--- /dev/null
+++ b/engines/titanic/game/bridge_door.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_BRIDGE_DOOR_H
+#define TITANIC_BRIDGE_DOOR_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CBridgeDoor : public CGameObject {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_BRIDGE_DOOR_H */
diff --git a/engines/titanic/game/bridge_view.cpp b/engines/titanic/game/bridge_view.cpp
new file mode 100644
index 0000000000..9854969494
--- /dev/null
+++ b/engines/titanic/game/bridge_view.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/bridge_view.h"
+
+namespace Titanic {
+
+void CBridgeView::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ CBackground::save(file, indent);
+}
+
+void CBridgeView::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/bridge_view.h b/engines/titanic/game/bridge_view.h
new file mode 100644
index 0000000000..d7c7c35aa9
--- /dev/null
+++ b/engines/titanic/game/bridge_view.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_BRIDGE_VIEW_H
+#define TITANIC_BRIDGE_VIEW_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CBridgeView : public CBackground {
+public:
+ int _fieldE0;
+public:
+ CLASSDEF;
+ CBridgeView() : CBackground(), _fieldE0(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_BRIDGE_VIEW_H */
diff --git a/engines/titanic/game/broken_pell_base.cpp b/engines/titanic/game/broken_pell_base.cpp
new file mode 100644
index 0000000000..59e2b9bca1
--- /dev/null
+++ b/engines/titanic/game/broken_pell_base.cpp
@@ -0,0 +1,48 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/broken_pell_base.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CBrokenPellBase, CBackground);
+
+int CBrokenPellBase::_v1;
+int CBrokenPellBase::_v2;
+
+void CBrokenPellBase::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_v2, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ CBackground::save(file, indent);
+}
+
+void CBrokenPellBase::load(SimpleFile *file) {
+ file->readNumber();
+ _v1 = file->readNumber();
+ _v2 = file->readNumber();
+ _fieldE0 = file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/broken_pell_base.h b/engines/titanic/game/broken_pell_base.h
new file mode 100644
index 0000000000..f63cd0112b
--- /dev/null
+++ b/engines/titanic/game/broken_pell_base.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_BROKEN_PELL_BASE_H
+#define TITANIC_BROKEN_PELL_BASE_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CBrokenPellBase : public CBackground {
+ DECLARE_MESSAGE_MAP;
+private:
+ static int _v1;
+ static int _v2;
+
+ int _fieldE0;
+public:
+ CLASSDEF;
+ CBrokenPellBase() : CBackground(), _fieldE0(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_BROKEN_PELL_BASE_H */
diff --git a/engines/titanic/game/broken_pellerator.cpp b/engines/titanic/game/broken_pellerator.cpp
new file mode 100644
index 0000000000..d3b204b1e5
--- /dev/null
+++ b/engines/titanic/game/broken_pellerator.cpp
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/broken_pellerator.h"
+
+namespace Titanic {
+
+void CBrokenPellerator::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string2, indent);
+ file->writeQuotedLine(_string3, indent);
+ file->writeQuotedLine(_string4, indent);
+ file->writeQuotedLine(_string5, indent);
+
+ CBrokenPellBase::save(file, indent);
+}
+
+void CBrokenPellerator::load(SimpleFile *file) {
+ file->readNumber();
+ _string2 = file->readString();
+ _string3 = file->readString();
+ _string4 = file->readString();
+ _string5 = file->readString();
+
+ CBrokenPellBase::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/broken_pellerator.h b/engines/titanic/game/broken_pellerator.h
new file mode 100644
index 0000000000..6fbde91053
--- /dev/null
+++ b/engines/titanic/game/broken_pellerator.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_BROKEN_PELLERATOR_H
+#define TITANIC_BROKEN_PELLERATOR_H
+
+#include "titanic/game/broken_pell_base.h"
+
+namespace Titanic {
+
+class CBrokenPellerator : public CBrokenPellBase {
+private:
+ CString _string2;
+ CString _string3;
+ CString _string4;
+ CString _string5;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_BROKEN_PELLERATOR_H */
diff --git a/engines/titanic/game/broken_pellerator_froz.cpp b/engines/titanic/game/broken_pellerator_froz.cpp
new file mode 100644
index 0000000000..4b21ea93d0
--- /dev/null
+++ b/engines/titanic/game/broken_pellerator_froz.cpp
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/broken_pellerator_froz.h"
+
+namespace Titanic {
+
+void CBrokenPelleratorFroz::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string2, indent);
+ file->writeQuotedLine(_string3, indent);
+ file->writeQuotedLine(_string4, indent);
+ file->writeQuotedLine(_string5, indent);
+
+ CBrokenPellBase::save(file, indent);
+}
+
+void CBrokenPelleratorFroz::load(SimpleFile *file) {
+ file->readNumber();
+ _string2 = file->readString();
+ _string3 = file->readString();
+ _string4 = file->readString();
+ _string5 = file->readString();
+
+ CBrokenPellBase::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/broken_pellerator_froz.h b/engines/titanic/game/broken_pellerator_froz.h
new file mode 100644
index 0000000000..1df6d2d0b2
--- /dev/null
+++ b/engines/titanic/game/broken_pellerator_froz.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_BROKEN_PELLERATOR_FROZ_H
+#define TITANIC_BROKEN_PELLERATOR_FROZ_H
+
+#include "titanic/game/broken_pell_base.h"
+
+namespace Titanic {
+
+class CBrokenPelleratorFroz : public CBrokenPellBase {
+private:
+ CString _string2;
+ CString _string3;
+ CString _string4;
+ CString _string5;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_BROKEN_PELLERATOR_FROZ_H */
diff --git a/engines/titanic/game/cage.cpp b/engines/titanic/game/cage.cpp
new file mode 100644
index 0000000000..7fbc052278
--- /dev/null
+++ b/engines/titanic/game/cage.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/cage.h"
+
+namespace Titanic {
+
+int CCage::_v1;
+int CCage::_v2;
+
+void CCage::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_v2, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CCage::load(SimpleFile *file) {
+ file->readNumber();
+ _v1 = file->readNumber();
+ _v2 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/cage.h b/engines/titanic/game/cage.h
new file mode 100644
index 0000000000..bbce978489
--- /dev/null
+++ b/engines/titanic/game/cage.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_CAGE_H
+#define TITANIC_CAGE_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CCage : public CBackground {
+public:
+ static int _v1;
+ static int _v2;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CAGE_H */
diff --git a/engines/titanic/game/call_pellerator.cpp b/engines/titanic/game/call_pellerator.cpp
new file mode 100644
index 0000000000..0ea48131b1
--- /dev/null
+++ b/engines/titanic/game/call_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/call_pellerator.h"
+
+namespace Titanic {
+
+void CCallPellerator::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CCallPellerator::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/call_pellerator.h b/engines/titanic/game/call_pellerator.h
new file mode 100644
index 0000000000..7da4b40794
--- /dev/null
+++ b/engines/titanic/game/call_pellerator.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_CALL_PELLERATOR_H
+#define TITANIC_CALL_PELLERATOR_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CCallPellerator : public CGameObject {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CALL_PELLERATOR_H */
diff --git a/engines/titanic/game/captains_wheel.cpp b/engines/titanic/game/captains_wheel.cpp
new file mode 100644
index 0000000000..c84c9194ce
--- /dev/null
+++ b/engines/titanic/game/captains_wheel.cpp
@@ -0,0 +1,56 @@
+/* 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/captains_wheel.h"
+
+namespace Titanic {
+
+CCaptainsWheel::CCaptainsWheel() : CBackground(),
+ _fieldE0(0), _fieldE4(0), _fieldE8(0), _fieldEC(0),
+ _fieldF0(0), _fieldF4(0) {
+}
+
+void CCaptainsWheel::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+ file->writeNumberLine(_fieldEC, indent);
+ file->writeNumberLine(_fieldF0, indent);
+ file->writeNumberLine(_fieldF4, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CCaptainsWheel::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+ _fieldEC = file->readNumber();
+ _fieldF0 = file->readNumber();
+ _fieldF4 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/captains_wheel.h b/engines/titanic/game/captains_wheel.h
new file mode 100644
index 0000000000..549dcbe685
--- /dev/null
+++ b/engines/titanic/game/captains_wheel.h
@@ -0,0 +1,55 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_CAPTAINS_WHEEL_H
+#define TITANIC_CAPTAINS_WHEEL_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CCaptainsWheel : public CBackground {
+public:
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+ int _fieldEC;
+ int _fieldF0;
+ int _fieldF4;
+public:
+ CLASSDEF;
+ CCaptainsWheel();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CAPTAINS_WHEEL_H */
diff --git a/engines/titanic/game/cdrom.cpp b/engines/titanic/game/cdrom.cpp
new file mode 100644
index 0000000000..cd913d05f7
--- /dev/null
+++ b/engines/titanic/game/cdrom.cpp
@@ -0,0 +1,88 @@
+/* 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/cdrom.h"
+#include "titanic/core/room_item.h"
+#include "titanic/game/cdrom_tray.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CCDROM, CGameObject)
+ ON_MESSAGE(MouseDragStartMsg)
+ ON_MESSAGE(MouseDragEndMsg)
+ ON_MESSAGE(MouseDragMoveMsg)
+ ON_MESSAGE(ActMsg)
+END_MESSAGE_MAP()
+
+CCDROM::CCDROM() : CGameObject() {
+}
+
+void CCDROM::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writePoint(_tempPos, indent);
+ CGameObject::save(file, indent);
+}
+
+void CCDROM::load(SimpleFile *file) {
+ file->readNumber();
+ _tempPos = file->readPoint();
+ CGameObject::load(file);
+}
+
+bool CCDROM::MouseDragStartMsg(CMouseDragStartMsg *msg) {
+ if (checkStartDragging(msg)) {
+ _tempPos = msg->_mousePos - _bounds;
+ setPosition(msg->_mousePos - _tempPos);
+ return true;
+ } else {
+ return false;
+ }
+}
+
+bool CCDROM::MouseDragEndMsg(CMouseDragEndMsg *msg) {
+ if (msg->_dropTarget && msg->_dropTarget->getName() == "newComputer") {
+ CCDROMTray *newTray = dynamic_cast<CCDROMTray *>(getRoom()->findByName("newTray"));
+
+ if (newTray->_isOpened && newTray->_insertedCD == "None") {
+ CActMsg actMsg(getName());
+ actMsg.execute(newTray);
+ setVisible(false);
+ }
+ }
+
+ resetPosition();
+ return true;
+}
+
+bool CCDROM::MouseDragMoveMsg(CMouseDragMoveMsg *msg) {
+ setPosition(msg->_mousePos - _tempPos);
+ return true;
+}
+
+bool CCDROM::ActMsg(CActMsg *msg) {
+ if (msg->_action == "Ejected")
+ setVisible(true);
+
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/cdrom.h b/engines/titanic/game/cdrom.h
new file mode 100644
index 0000000000..017914830c
--- /dev/null
+++ b/engines/titanic/game/cdrom.h
@@ -0,0 +1,57 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_CDROM_H
+#define TITANIC_CDROM_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/messages.h"
+#include "titanic/messages/mouse_messages.h"
+
+namespace Titanic {
+
+class CCDROM : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+ bool MouseDragStartMsg(CMouseDragStartMsg *msg);
+ bool MouseDragEndMsg(CMouseDragEndMsg *msg);
+ bool MouseDragMoveMsg(CMouseDragMoveMsg *msg);
+ bool ActMsg(CActMsg *msg);
+private:
+ Point _tempPos;
+public:
+ CLASSDEF;
+ CCDROM();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CDROM_H */
diff --git a/engines/titanic/game/cdrom_computer.cpp b/engines/titanic/game/cdrom_computer.cpp
new file mode 100644
index 0000000000..ceb0595188
--- /dev/null
+++ b/engines/titanic/game/cdrom_computer.cpp
@@ -0,0 +1,78 @@
+/* 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/cdrom_computer.h"
+#include "titanic/core/room_item.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CCDROMComputer, CGameObject)
+ ON_MESSAGE(MouseButtonDownMsg)
+END_MESSAGE_MAP()
+
+CCDROMComputer::CCDROMComputer() : CGameObject(),
+ _clickRect(0, 3, 55, 32) {
+}
+
+void CCDROMComputer::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_clickRect.left, indent);
+ file->writeNumberLine(_clickRect.top, indent);
+ file->writeNumberLine(_clickRect.right, indent);
+ file->writeNumberLine(_clickRect.bottom, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CCDROMComputer::load(SimpleFile *file) {
+ file->readNumber();
+ _clickRect.left = file->readNumber();
+ _clickRect.top = file->readNumber();
+ _clickRect.right = file->readNumber();
+ _clickRect.bottom = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+bool CCDROMComputer::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
+ CTreeItem *tray = getRoom()->findByName("newTray");
+ if (tray) {
+ CStatusChangeMsg statusMsg;
+ statusMsg.execute(tray);
+
+ if (!statusMsg._success) {
+ // Check if the mouse is within the clickable area
+ Rect tempRect = _clickRect;
+ tempRect.translate(_bounds.left, _bounds.top);
+
+ if (!tempRect.contains(msg->_mousePos))
+ return true;
+ }
+
+ CActMsg actMsg("ClickedOn");
+ actMsg.execute(tray);
+ }
+
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/cdrom_computer.h b/engines/titanic/game/cdrom_computer.h
new file mode 100644
index 0000000000..39fa9b9498
--- /dev/null
+++ b/engines/titanic/game/cdrom_computer.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_CDROM_COMPUTER_H
+#define TITANIC_CDROM_COMPUTER_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/mouse_messages.h"
+
+namespace Titanic {
+
+class CCDROMComputer : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+ bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
+private:
+ Rect _clickRect;
+public:
+ CLASSDEF;
+ CCDROMComputer();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CDROM_COMPUTER_H */
diff --git a/engines/titanic/game/cdrom_tray.cpp b/engines/titanic/game/cdrom_tray.cpp
new file mode 100644
index 0000000000..1e5b135d35
--- /dev/null
+++ b/engines/titanic/game/cdrom_tray.cpp
@@ -0,0 +1,127 @@
+/* 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/core/room_item.h"
+#include "titanic/game/cdrom_tray.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CCDROMTray, CGameObject)
+ ON_MESSAGE(ActMsg)
+ ON_MESSAGE(MovieEndMsg)
+ ON_MESSAGE(StatusChangeMsg)
+END_MESSAGE_MAP()
+
+
+CCDROMTray::CCDROMTray() : CGameObject(), _isOpened(false) {
+}
+
+void CCDROMTray::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_isOpened, indent);
+ file->writeQuotedLine(_insertedCD, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CCDROMTray::load(SimpleFile *file) {
+ file->readNumber();
+ _isOpened = file->readNumber();
+ _insertedCD = file->readString();
+
+ CGameObject::load(file);
+}
+
+bool CCDROMTray::ActMsg(CActMsg *msg) {
+ if (msg->_action == "ClickedOn") {
+ if (_isOpened) {
+ // Closing the tray
+ if (_insertedCD == "None") {
+ // No CD in tray
+ playMovie(55, 65, 0);
+ playSound("a#35.wav", 50, 0, 0);
+ _isOpened = false;
+ } else {
+ // Ejecting tray with CD
+ CTreeItem *cdrom = getRoom()->findByName(_insertedCD);
+ if (cdrom) {
+ CActMsg actMsg("Ejected");
+ actMsg.execute(cdrom);
+ }
+
+ _insertedCD = "None";
+ loadFrame(52);
+ }
+ } else if (_insertedCD == "None") {
+ // Opening tray with no CD
+ playMovie(44, 54, 0);
+ playSound("a#34.wav", 50, 0, 0);
+ _isOpened = true;
+ } else if (_insertedCD == "newCD1" || _insertedCD == "newCD2") {
+ // Opening tray with standard CD
+ playMovie(22, 32, 0);
+ playSound("a#34.wav", 50, 0, 0);
+ _isOpened = true;
+ } else if (_insertedCD == "newSTCD") {
+ // Opening tray with Starship Titanic CD
+ playMovie(0, 10, 0);
+ playSound("a#34.wav", 50, 0, 0);
+ _isOpened = true;
+ }
+ } else if (_isOpened) {
+ if (msg->_action == "newCD1" || msg->_action == "newCD2") {
+ // Standard CD dropped on CDROM Tray
+ playMovie(33, 43, MOVIE_NOTIFY_OBJECT);
+ playSound("a#35.wav", 50, 0, 0);
+ } else if (msg->_action == "newSTCD") {
+ // Starship Titanic CD dropped on CDROM Tray
+ playMovie(11, 21, MOVIE_NOTIFY_OBJECT);
+ playSound("a#35.wav", 50, 0, 0);
+ } else {
+ return true;
+ }
+
+ _insertedCD = msg->_action;
+ _isOpened = false;
+ }
+
+ return true;
+}
+
+bool CCDROMTray::MovieEndMsg(CMovieEndMsg *msg) {
+ CTreeItem *screen = getRoom()->findByName("newScreen");
+
+ if (screen) {
+ CActMsg actMsg(_insertedCD);
+ actMsg.execute(screen);
+ }
+
+ return true;
+}
+
+bool CCDROMTray::StatusChangeMsg(CStatusChangeMsg *msg) {
+ msg->_success = _isOpened;
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/cdrom_tray.h b/engines/titanic/game/cdrom_tray.h
new file mode 100644
index 0000000000..10fc1e145e
--- /dev/null
+++ b/engines/titanic/game/cdrom_tray.h
@@ -0,0 +1,56 @@
+/* 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_CDROM_TRAY_H
+#define TITANIC_CDROM_TRAY_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CCDROMTray : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+ bool ActMsg(CActMsg *msg);
+ bool MovieEndMsg(CMovieEndMsg *msg);
+ bool StatusChangeMsg(CStatusChangeMsg *msg);
+public:
+ bool _isOpened;
+ CString _insertedCD;
+public:
+ CLASSDEF;
+ CCDROMTray();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CDROM_TRAY_H */
diff --git a/engines/titanic/game/cell_point_button.cpp b/engines/titanic/game/cell_point_button.cpp
new file mode 100644
index 0000000000..18ece09cb0
--- /dev/null
+++ b/engines/titanic/game/cell_point_button.cpp
@@ -0,0 +1,79 @@
+/* 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/cell_point_button.h"
+
+namespace Titanic {
+
+CCellPointButton::CCellPointButton() : CBackground() {
+ _fieldE0 = 0;
+ _fieldE4 = 0;
+ _fieldE8 = 0;
+ _fieldEC = 0;
+ _fieldF0 = 0;
+ _fieldF4 = 0;
+ _fieldF8 = 0;
+ _fieldFC = 0;
+ _field100 = 0;
+ _field104 = 0;
+ _field108 = 1;
+}
+
+void CCellPointButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+ file->writeNumberLine(_fieldEC, indent);
+ file->writeNumberLine(_fieldF0, indent);
+ file->writeNumberLine(_fieldF4, indent);
+ file->writeNumberLine(_fieldF8, indent);
+ file->writeNumberLine(_fieldFC, indent);
+ file->writeNumberLine(_field100, indent);
+ file->writeNumberLine(_field104, indent);
+ file->writeNumberLine(_field108, indent);
+ file->writeQuotedLine(_string3, indent);
+ file->writeNumberLine(_field118, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CCellPointButton::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+ _fieldEC = file->readNumber();
+ _fieldF0 = file->readNumber();
+ _fieldF4 = file->readNumber();
+ _fieldF8 = file->readNumber();
+ _fieldFC = file->readNumber();
+ _field100 = file->readNumber();
+ _field104 = file->readNumber();
+ _field108 = file->readNumber();
+ _string3 = file->readString();
+ _field118 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/cell_point_button.h b/engines/titanic/game/cell_point_button.h
new file mode 100644
index 0000000000..6f1fdc3809
--- /dev/null
+++ b/engines/titanic/game/cell_point_button.h
@@ -0,0 +1,62 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_CELL_POINT_BUTTON_H
+#define TITANIC_CELL_POINT_BUTTON_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CCellPointButton : public CBackground {
+public:
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+ int _fieldEC;
+ int _fieldF0;
+ int _fieldF4;
+ int _fieldF8;
+ int _fieldFC;
+ int _field100;
+ int _field104;
+ int _field108;
+ CString _string3;
+ int _field118;
+public:
+ CLASSDEF;
+ CCellPointButton();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CELL_POINT_BUTTON_H */
diff --git a/engines/titanic/game/chev_code.cpp b/engines/titanic/game/chev_code.cpp
new file mode 100644
index 0000000000..ebc20578b7
--- /dev/null
+++ b/engines/titanic/game/chev_code.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/chev_code.h"
+
+namespace Titanic {
+
+void CChevCode::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CChevCode::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/chev_code.h b/engines/titanic/game/chev_code.h
new file mode 100644
index 0000000000..c4552d00a2
--- /dev/null
+++ b/engines/titanic/game/chev_code.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_CHEV_CODE_H
+#define TITANIC_CHEV_CODE_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CChevCode : public CGameObject {
+public:
+ int _value;
+public:
+ CLASSDEF;
+ CChevCode() : CGameObject(), _value(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CHEV_CODE_H */
diff --git a/engines/titanic/game/chev_panel.cpp b/engines/titanic/game/chev_panel.cpp
new file mode 100644
index 0000000000..245968e356
--- /dev/null
+++ b/engines/titanic/game/chev_panel.cpp
@@ -0,0 +1,45 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/chev_panel.h"
+
+namespace Titanic {
+
+void CChevPanel::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeNumberLine(_fieldC0, indent);
+ file->writeNumberLine(_fieldC4, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CChevPanel::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+ _fieldC4 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/chev_panel.h b/engines/titanic/game/chev_panel.h
new file mode 100644
index 0000000000..99b5501ac2
--- /dev/null
+++ b/engines/titanic/game/chev_panel.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_CHEV_PANEL_H
+#define TITANIC_CHEV_PANEL_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CChevPanel : public CGameObject {
+public:
+ int _fieldBC;
+ int _fieldC0;
+ int _fieldC4;
+public:
+ CLASSDEF;
+ CChevPanel() : _fieldBC(0), _fieldC0(0), _fieldC4(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CHEV_PANEL_H */
diff --git a/engines/titanic/game/chicken_cooler.cpp b/engines/titanic/game/chicken_cooler.cpp
new file mode 100644
index 0000000000..29232e10bf
--- /dev/null
+++ b/engines/titanic/game/chicken_cooler.cpp
@@ -0,0 +1,48 @@
+/* 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/chicken_cooler.h"
+
+namespace Titanic {
+
+void CChickenCooler::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeNumberLine(_fieldC0, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CChickenCooler::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+bool CChickenCooler::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("CChickenCoolor::handlEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/chicken_cooler.h b/engines/titanic/game/chicken_cooler.h
new file mode 100644
index 0000000000..724727b905
--- /dev/null
+++ b/engines/titanic/game/chicken_cooler.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_CHICKEN_COOLER_H
+#define TITANIC_CHICKEN_COOLER_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CChickenCooler : public CGameObject {
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+private:
+ int _fieldBC;
+ int _fieldC0;
+public:
+ CLASSDEF;
+ CChickenCooler() : CGameObject(), _fieldBC(0), _fieldC0(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CHICKEN_COOLER_H */
diff --git a/engines/titanic/game/chicken_dispensor.cpp b/engines/titanic/game/chicken_dispensor.cpp
new file mode 100644
index 0000000000..a9bf576765
--- /dev/null
+++ b/engines/titanic/game/chicken_dispensor.cpp
@@ -0,0 +1,48 @@
+/* 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/chicken_dispensor.h"
+
+namespace Titanic {
+
+CChickenDispensor::CChickenDispensor() : CBackground(),
+ _fieldE0(0), _fieldE4(0), _fieldE8(0) {
+}
+
+void CChickenDispensor::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+ CBackground::save(file, indent);
+}
+
+void CChickenDispensor::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/chicken_dispensor.h b/engines/titanic/game/chicken_dispensor.h
new file mode 100644
index 0000000000..d86b850871
--- /dev/null
+++ b/engines/titanic/game/chicken_dispensor.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_CHICKEN_DISPENSOR_H
+#define TITANIC_CHICKEN_DISPENSOR_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CChickenDispensor : public CBackground {
+public:
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+public:
+ CLASSDEF;
+ CChickenDispensor();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CHICKEN_DISPENSOR_H */
diff --git a/engines/titanic/game/close_broken_pel.cpp b/engines/titanic/game/close_broken_pel.cpp
new file mode 100644
index 0000000000..d27441ac96
--- /dev/null
+++ b/engines/titanic/game/close_broken_pel.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/close_broken_pel.h"
+
+namespace Titanic {
+
+void CCloseBrokenPel::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string3, indent);
+ CBackground::save(file, indent);
+}
+
+void CCloseBrokenPel::load(SimpleFile *file) {
+ file->readNumber();
+ _string3 = file->readString();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/close_broken_pel.h b/engines/titanic/game/close_broken_pel.h
new file mode 100644
index 0000000000..aacda6c002
--- /dev/null
+++ b/engines/titanic/game/close_broken_pel.h
@@ -0,0 +1,49 @@
+/* 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_CLOSE_BROKEN_PEL_H
+#define TITANIC_CLOSE_BROKEN_PEL_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CCloseBrokenPel : public CBackground {
+public:
+ CString _string3;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CLOSE_BROKEN_PEL_H */
diff --git a/engines/titanic/game/code_wheel.cpp b/engines/titanic/game/code_wheel.cpp
new file mode 100644
index 0000000000..d8ce48e390
--- /dev/null
+++ b/engines/titanic/game/code_wheel.cpp
@@ -0,0 +1,48 @@
+/* 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/code_wheel.h"
+
+namespace Titanic {
+
+CodeWheel::CodeWheel() : CBomb(), _field108(0), _field10C(4), _field110(0) {
+}
+
+void CodeWheel::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field108, indent);
+ file->writeNumberLine(_field10C, indent);
+ file->writeNumberLine(_field110, indent);
+
+ CBomb::save(file, indent);
+}
+
+void CodeWheel::load(SimpleFile *file) {
+ file->readNumber();
+ _field108 = file->readNumber();
+ _field10C = file->readNumber();
+ _field110 = file->readNumber();
+
+ CBomb::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/code_wheel.h b/engines/titanic/game/code_wheel.h
new file mode 100644
index 0000000000..63af97c6fb
--- /dev/null
+++ b/engines/titanic/game/code_wheel.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_CODE_WHEEL_H
+#define TITANIC_CODE_WHEEL_H
+
+#include "titanic/game/bomb.h"
+
+namespace Titanic {
+
+class CodeWheel : public CBomb {
+private:
+ int _field108;
+ int _field10C;
+ int _field110;
+public:
+ CLASSDEF;
+ CodeWheel();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CODE_WHEEL_H */
diff --git a/engines/titanic/game/computer.cpp b/engines/titanic/game/computer.cpp
new file mode 100644
index 0000000000..90574997b1
--- /dev/null
+++ b/engines/titanic/game/computer.cpp
@@ -0,0 +1,106 @@
+/* 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/computer.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CComputer, CBackground)
+ ON_MESSAGE(ActMsg)
+ ON_MESSAGE(MouseButtonDownMsg)
+ ON_MESSAGE(MovieEndMsg)
+END_MESSAGE_MAP()
+
+void CComputer::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_currentCD, indent);
+ file->writeNumberLine(_state, indent);
+ CBackground::save(file, indent);
+}
+
+void CComputer::load(SimpleFile *file) {
+ file->readNumber();
+ _currentCD = file->readString();
+ _state = file->readNumber();
+ CBackground::load(file);
+}
+
+bool CComputer::ActMsg(CActMsg *msg) {
+ if (_state) {
+ playSound("a#35.wav", 100, 0, 0);
+ playMovie(32, 42, 0);
+
+ if (msg->_action == "CD1")
+ playMovie(43, 49, 0);
+ else if (msg->_action == "CD2")
+ playMovie(50, 79, 0);
+ else if (msg->_action == "STCD")
+ playMovie(80, 90, 4);
+
+ _currentCD = msg->_action;
+ _state = 0;
+ }
+
+ return true;
+}
+
+bool CComputer::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
+ if (_currentCD == "None") {
+ if (_state) {
+ playSound("a#35.wav", 100, 0, 0);
+ playMovie(11, 21, 0);
+ _state = 0;
+ } else {
+ playSound("a#34.wav", 100, 0, 0);
+ playMovie(0, 10, 0);
+ _state = 1;
+ }
+ } else {
+ if (_state) {
+ loadFrame(11);
+ CActMsg actMsg("EjectCD");
+ actMsg.execute(_currentCD);
+ _currentCD = "None";
+ } else {
+ playSound("a#34.wav", 100, 0, 0);
+ playMovie(21, 31, 0);
+ _state = 1;
+ }
+ }
+
+ return true;
+}
+
+bool CComputer::MovieEndMsg(CMovieEndMsg *msg) {
+ if (msg->_endFrame == 90) {
+ playSound("a#32.wav", 100, 0, 0);
+ playSound("a#33.wav", 100, 0, 0);
+ playSound("a#31.wav", 100, 0, 0);
+ playSound("a#0.wav", 100, 0, 0);
+
+ gotoView("Home.Node 4.E", "_TRACK,3,e-cu,4,E");
+ }
+
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/computer.h b/engines/titanic/game/computer.h
new file mode 100644
index 0000000000..6acdba27ea
--- /dev/null
+++ b/engines/titanic/game/computer.h
@@ -0,0 +1,55 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_COMPUTER_H
+#define TITANIC_COMPUTER_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CComputer : public CBackground {
+ DECLARE_MESSAGE_MAP;
+ bool ActMsg(CActMsg *msg);
+ bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
+ bool MovieEndMsg(CMovieEndMsg *msg);
+public:
+ CString _currentCD;
+ int _state;
+public:
+ CLASSDEF;
+ CComputer() : CBackground(), _currentCD("None"), _state(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_COMPUTER_H */
diff --git a/engines/titanic/game/computer_screen.cpp b/engines/titanic/game/computer_screen.cpp
new file mode 100644
index 0000000000..fd56737b01
--- /dev/null
+++ b/engines/titanic/game/computer_screen.cpp
@@ -0,0 +1,140 @@
+/* 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/computer_screen.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CComputerScreen, CGameObject)
+ ON_MESSAGE(ActMsg)
+ ON_MESSAGE(MovieEndMsg)
+ ON_MESSAGE(EnterViewMsg)
+ ON_MESSAGE(TimerMsg)
+END_MESSAGE_MAP()
+
+CComputerScreen::CComputerScreen() : CGameObject() {
+}
+
+void CComputerScreen::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CComputerScreen::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+bool CComputerScreen::ActMsg(CActMsg *msg) {
+ if (msg->_action == "newCD1" || msg->_action == "newCD2") {
+ playMovie(27, 53, MOVIE_GAMESTATE);
+ playMovie(19, 26, MOVIE_GAMESTATE);
+ } else if (msg->_action == "newSTCD") {
+ playMovie(0, 18, MOVIE_GAMESTATE | MOVIE_NOTIFY_OBJECT);
+ }
+
+ return true;
+}
+
+bool CComputerScreen::MovieEndMsg(CMovieEndMsg *msg) {
+ playSound("z#47.wav", 100, 0, 0);
+ addTimer(0, 3000, 0);
+
+ for (int idx = 0; idx < 10; ++idx)
+ playMovie(0, 18, 0);
+ return true;
+}
+
+bool CComputerScreen::EnterViewMsg(CEnterViewMsg *msg) {
+ loadFrame(26);
+ return true;
+}
+
+bool CComputerScreen::TimerMsg(CTimerMsg *msg) {
+ int handle;
+
+ switch (msg->_actionVal) {
+ case 0:
+ loadSound("a#32.wav");
+ loadSound("a#31.wav");
+ loadSound("a#33.wav");
+ loadSound("a#30.wav");
+ loadSound("a#29.wav");
+ playSound("a#25.wav");
+ addTimer(1, 2000, 0);
+ break;
+
+ case 1:
+ playSound("a#32.wav");
+ playSound("a#31.wav");
+ addTimer(2, 2000, 0);
+ break;
+
+ case 2: {
+ CChangeMusicMsg musicMsg(CString(), 1);
+ musicMsg.execute("HomeMusicPlayer");
+ playSound("a#33.wav");
+ playSound("a#31.wav");
+ changeView("Home.Node 4.E", "");
+ playClip(51, 150);
+ playSound("a#31.wav");
+ playClip(151, 200);
+
+ handle = playSound("a#27.wav");
+ playClip(200, 306);
+ playSound("a#30.wav");
+ stopSound(handle, 0);
+
+ playClip(306, 338);
+ handle = playSound("a#28.wav");
+ playClip(338, 392);
+ playSound("a#29.wav");
+ stopSound(handle);
+
+ playSound("y#662.wav");
+ soundFn3(handle, 10, 2);
+ playClip(392, 450);
+ startTalking("Doorbot", 0x3611A);
+ sleep(8000);
+
+ playClip(450, 492);
+ startTalking("Doorbot", 0x36121);
+ playClip(492, 522);
+ soundFn3(handle, 30, 2);
+
+ playClip(523, 540);
+ soundFn3(handle, 0, 1);
+
+ playClip(541, 551);
+ stopSound(handle);
+ break;
+ }
+
+ default:
+ break;
+ }
+
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/computer_screen.h b/engines/titanic/game/computer_screen.h
new file mode 100644
index 0000000000..8fb1dcd4dc
--- /dev/null
+++ b/engines/titanic/game/computer_screen.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_COMPUTER_SCREEN_H
+#define TITANIC_COMPUTER_SCREEN_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CComputerScreen : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+ bool ActMsg(CActMsg *msg);
+ bool MovieEndMsg(CMovieEndMsg *msg);
+ bool EnterViewMsg(CEnterViewMsg *msg);
+ bool TimerMsg(CTimerMsg *msg);
+public:
+ CLASSDEF;
+ CComputerScreen();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_COMPUTER_SCREEN_H */
diff --git a/engines/titanic/game/cookie.cpp b/engines/titanic/game/cookie.cpp
new file mode 100644
index 0000000000..915bb93b4a
--- /dev/null
+++ b/engines/titanic/game/cookie.cpp
@@ -0,0 +1,43 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/cookie.h"
+
+namespace Titanic {
+
+void CCookie::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value1, indent);
+ file->writeNumberLine(_value2, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CCookie::load(SimpleFile *file) {
+ file->readNumber();
+ _value1 = file->readNumber();
+ _value2 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/cookie.h b/engines/titanic/game/cookie.h
new file mode 100644
index 0000000000..7ae04f1144
--- /dev/null
+++ b/engines/titanic/game/cookie.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_COOKIE_H
+#define TITANIC_COOKIE_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CCookie : public CGameObject {
+public:
+ int _value1;
+ int _value2;
+public:
+ CLASSDEF;
+ CCookie() : CGameObject(), _value1(0), _value2(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_COOKIE_H */
diff --git a/engines/titanic/game/credits.cpp b/engines/titanic/game/credits.cpp
new file mode 100644
index 0000000000..7078d41a17
--- /dev/null
+++ b/engines/titanic/game/credits.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/credits.h"
+
+namespace Titanic {
+
+CCredits::CCredits() : CGameObject(), _fieldBC(-1), _fieldC0(1) {
+}
+
+void CCredits::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeNumberLine(_fieldC0, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CCredits::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/credits.h b/engines/titanic/game/credits.h
new file mode 100644
index 0000000000..fa9794b6de
--- /dev/null
+++ b/engines/titanic/game/credits.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_CREDITS_H
+#define TITANIC_CREDITS_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CCredits : public CGameObject {
+public:
+ int _fieldBC, _fieldC0;
+public:
+ CLASSDEF;
+ CCredits();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CREDITS_H */
diff --git a/engines/titanic/game/credits_button.cpp b/engines/titanic/game/credits_button.cpp
new file mode 100644
index 0000000000..90bb1b5ebe
--- /dev/null
+++ b/engines/titanic/game/credits_button.cpp
@@ -0,0 +1,42 @@
+/* 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/credits_button.h"
+
+namespace Titanic {
+
+CCreditsButton::CCreditsButton() : CBackground(), _fieldE0(1) {
+}
+
+void CCreditsButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ CBackground::save(file, indent);
+}
+
+void CCreditsButton::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/credits_button.h b/engines/titanic/game/credits_button.h
new file mode 100644
index 0000000000..5e0bf96677
--- /dev/null
+++ b/engines/titanic/game/credits_button.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_CREDITS_BUTTON_H
+#define TITANIC_CREDITS_BUTTON_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CCreditsButton : public CBackground {
+public:
+ int _fieldE0;
+public:
+ CLASSDEF;
+ CCreditsButton();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CREDITS_BUTTON_H */
diff --git a/engines/titanic/game/dead_area.cpp b/engines/titanic/game/dead_area.cpp
new file mode 100644
index 0000000000..3c41ab34ba
--- /dev/null
+++ b/engines/titanic/game/dead_area.cpp
@@ -0,0 +1,45 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/dead_area.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CDeadArea, CGameObject)
+ ON_MESSAGE(MouseButtonDownMsg)
+ ON_MESSAGE(MouseButtonUpMsg)
+END_MESSAGE_MAP()
+
+CDeadArea::CDeadArea() : CGameObject() {
+}
+
+void CDeadArea::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CDeadArea::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/dead_area.h b/engines/titanic/game/dead_area.h
new file mode 100644
index 0000000000..fdb44ef5df
--- /dev/null
+++ b/engines/titanic/game/dead_area.h
@@ -0,0 +1,55 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_DEAD_AREA_H
+#define TITANIC_DEAD_AREA_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/mouse_messages.h"
+
+namespace Titanic {
+
+/**
+ * Implements a non-responsive screen area
+ */
+class CDeadArea : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+ bool MouseButtonDownMsg(CMouseButtonDownMsg *msg) { return true; }
+ bool MouseButtonUpMsg(CMouseButtonUpMsg *msg) { return true; }
+public:
+ CLASSDEF;
+ CDeadArea();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_DEAD_AREA_H */
diff --git a/engines/titanic/game/desk_click_responder.cpp b/engines/titanic/game/desk_click_responder.cpp
new file mode 100644
index 0000000000..d9b2cb64b4
--- /dev/null
+++ b/engines/titanic/game/desk_click_responder.cpp
@@ -0,0 +1,43 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/desk_click_responder.h"
+
+namespace Titanic {
+
+void CDeskClickResponder::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldD4, indent);
+ file->writeNumberLine(_fieldD8, indent);
+
+ CClickResponder::save(file, indent);
+}
+
+void CDeskClickResponder::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldD4 = file->readNumber();
+ _fieldD8 = file->readNumber();
+
+ CClickResponder::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/desk_click_responder.h b/engines/titanic/game/desk_click_responder.h
new file mode 100644
index 0000000000..12825ba9de
--- /dev/null
+++ b/engines/titanic/game/desk_click_responder.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_CLICK_RESPONDER_H
+#define TITANIC_DESK_CLICK_RESPONDER_H
+
+#include "titanic/core/click_responder.h"
+
+namespace Titanic {
+
+class CDeskClickResponder : public CClickResponder {
+protected:
+ int _fieldD4;
+ int _fieldD8;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_DESK_CLICK_RESPONDER_H */
diff --git a/engines/titanic/game/doorbot_elevator_handler.cpp b/engines/titanic/game/doorbot_elevator_handler.cpp
new file mode 100644
index 0000000000..13fc368137
--- /dev/null
+++ b/engines/titanic/game/doorbot_elevator_handler.cpp
@@ -0,0 +1,48 @@
+/* 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/doorbot_elevator_handler.h"
+
+namespace Titanic {
+
+int CDoorbotElevatorHandler::_v1;
+
+void CDoorbotElevatorHandler::save(SimpleFile *file, int indent) {
+ 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);
+}
+
+bool CDoorbotElevatorHandler::EnterNodeMsg(CEnterNodeMsg *msg) {
+ warning("CDoorbotElevatorHandler::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/doorbot_elevator_handler.h b/engines/titanic/game/doorbot_elevator_handler.h
new file mode 100644
index 0000000000..7b39e727e3
--- /dev/null
+++ b/engines/titanic/game/doorbot_elevator_handler.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_DOORBOT_ELEVATOR_HANDLER_H
+#define TITANIC_DOORBOT_ELEVATOR_HANDLER_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CDoorbotElevatorHandler : public CGameObject {
+ bool EnterNodeMsg(CEnterNodeMsg *msg);
+private:
+ static int _v1;
+ int _value;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_DOORBOT_ELEVATOR_HANDLER_H */
diff --git a/engines/titanic/game/doorbot_home_handler.cpp b/engines/titanic/game/doorbot_home_handler.cpp
new file mode 100644
index 0000000000..b848308845
--- /dev/null
+++ b/engines/titanic/game/doorbot_home_handler.cpp
@@ -0,0 +1,40 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/doorbot_home_handler.h"
+
+namespace Titanic {
+
+CDoorbotHomeHandler::CDoorbotHomeHandler() {
+}
+
+void CDoorbotHomeHandler::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CDoorbotHomeHandler::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/doorbot_home_handler.h b/engines/titanic/game/doorbot_home_handler.h
new file mode 100644
index 0000000000..99ba6d37a9
--- /dev/null
+++ b/engines/titanic/game/doorbot_home_handler.h
@@ -0,0 +1,48 @@
+/* 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_DOORBOT_HOME_HANDLER_H
+#define TITANIC_DOORBOT_HOME_HANDLER_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CDoorbotHomeHandler : public CGameObject {
+public:
+ CLASSDEF;
+ CDoorbotHomeHandler();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_DOORBOT_HOME_HANDLER_H */
diff --git a/engines/titanic/game/ear_sweet_bowl.cpp b/engines/titanic/game/ear_sweet_bowl.cpp
new file mode 100644
index 0000000000..0f7069356d
--- /dev/null
+++ b/engines/titanic/game/ear_sweet_bowl.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/ear_sweet_bowl.h"
+
+namespace Titanic {
+
+void CEarSweetBowl::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CSweetBowl::save(file, indent);
+}
+
+void CEarSweetBowl::load(SimpleFile *file) {
+ file->readNumber();
+ CSweetBowl::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/ear_sweet_bowl.h b/engines/titanic/game/ear_sweet_bowl.h
new file mode 100644
index 0000000000..3f41950e47
--- /dev/null
+++ b/engines/titanic/game/ear_sweet_bowl.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_EAR_SWEET_BOWL_H
+#define TITANIC_EAR_SWEET_BOWL_H
+
+#include "titanic/game/sweet_bowl.h"
+
+namespace Titanic {
+
+class CEarSweetBowl : public CSweetBowl {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_EAR_SWEET_BOWL_H */
diff --git a/engines/titanic/game/eject_phonograph_button.cpp b/engines/titanic/game/eject_phonograph_button.cpp
new file mode 100644
index 0000000000..4657f04126
--- /dev/null
+++ b/engines/titanic/game/eject_phonograph_button.cpp
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/eject_phonograph_button.h"
+
+namespace Titanic {
+
+void CEjectPhonographButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeQuotedLine(_string3, indent);
+ file->writeQuotedLine(_string4, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CEjectPhonographButton::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _string3 = file->readString();
+ _string4 = file->readString();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/eject_phonograph_button.h b/engines/titanic/game/eject_phonograph_button.h
new file mode 100644
index 0000000000..5f5da8053e
--- /dev/null
+++ b/engines/titanic/game/eject_phonograph_button.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_EJECT_PHONOGRAPH_BUTTON_H
+#define TITANIC_EJECT_PHONOGRAPH_BUTTON_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CEjectPhonographButton : public CBackground {
+public:
+ int _fieldE0;
+ int _fieldE4;
+ CString _string3;
+ CString _string4;
+public:
+ CLASSDEF;
+ CEjectPhonographButton() : CBackground(), _fieldE0(0), _fieldE4(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_EJECT_PHONOGRAPH_BUTTON_H */
diff --git a/engines/titanic/game/elevator_action_area.cpp b/engines/titanic/game/elevator_action_area.cpp
new file mode 100644
index 0000000000..1cbff8d64d
--- /dev/null
+++ b/engines/titanic/game/elevator_action_area.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/elevator_action_area.h"
+
+namespace Titanic {
+
+void CElevatorActionArea::save(SimpleFile *file, int indent) {
+ 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);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/elevator_action_area.h b/engines/titanic/game/elevator_action_area.h
new file mode 100644
index 0000000000..6c756fb95f
--- /dev/null
+++ b/engines/titanic/game/elevator_action_area.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_ELEVATOR_ACTION_AREA_H
+#define TITANIC_ELEVATOR_ACTION_AREA_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CElevatorActionArea : public CGameObject {
+public:
+ int _value;
+public:
+ CLASSDEF;
+ CElevatorActionArea() : CGameObject(), _value(4) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ELEVATOR_ACTION_AREA_H */
diff --git a/engines/titanic/game/emma_control.cpp b/engines/titanic/game/emma_control.cpp
new file mode 100644
index 0000000000..814cb44d79
--- /dev/null
+++ b/engines/titanic/game/emma_control.cpp
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/emma_control.h"
+
+namespace Titanic {
+
+int CEmmaControl::_v1;
+
+void CEmmaControl::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeQuotedLine(_wavFile1, indent);
+ file->writeQuotedLine(_wavFile2, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CEmmaControl::load(SimpleFile *file) {
+ file->readNumber();
+ _v1 = file->readNumber();
+ _wavFile1 = file->readString();
+ _wavFile2 = file->readString();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/emma_control.h b/engines/titanic/game/emma_control.h
new file mode 100644
index 0000000000..721660f61e
--- /dev/null
+++ b/engines/titanic/game/emma_control.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_EMMA_CONTROL_H
+#define TITANIC_EMMA_CONTROL_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CEmmaControl : public CBackground {
+private:
+ static int _v1;
+
+ CString _wavFile1, _wavFile2;
+public:
+ CLASSDEF;
+ CEmmaControl() : CBackground(), _wavFile1("b#39.wav"), _wavFile2("b#38.wav") {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_EMMA_CONTROL_H */
diff --git a/engines/titanic/game/empty_nut_bowl.cpp b/engines/titanic/game/empty_nut_bowl.cpp
new file mode 100644
index 0000000000..ae9cb35e4d
--- /dev/null
+++ b/engines/titanic/game/empty_nut_bowl.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/empty_nut_bowl.h"
+
+namespace Titanic {
+
+void CEmptyNutBowl::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CEmptyNutBowl::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/empty_nut_bowl.h b/engines/titanic/game/empty_nut_bowl.h
new file mode 100644
index 0000000000..112e2c6075
--- /dev/null
+++ b/engines/titanic/game/empty_nut_bowl.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_EMPTY_NUT_BOWL_H
+#define TITANIC_EMPTY_NUT_BOWL_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CEmptyNutBowl : public CGameObject {
+public:
+ int _value;
+public:
+ CLASSDEF;
+ CEmptyNutBowl() : CGameObject(), _value(1) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_EMPTY_NUT_BOWL_H */
diff --git a/engines/titanic/game/end_credit_text.cpp b/engines/titanic/game/end_credit_text.cpp
new file mode 100644
index 0000000000..6e0c21bbe9
--- /dev/null
+++ b/engines/titanic/game/end_credit_text.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/end_credit_text.h"
+
+namespace Titanic {
+
+void CEndCreditText::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CEndCreditText::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/end_credit_text.h b/engines/titanic/game/end_credit_text.h
new file mode 100644
index 0000000000..54c6c7ff73
--- /dev/null
+++ b/engines/titanic/game/end_credit_text.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_END_CREDIT_TEXT_H
+#define TITANIC_END_CREDIT_TEXT_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CEndCreditText : public CGameObject {
+private:
+ int _value;
+public:
+ CLASSDEF;
+ CEndCreditText() : CGameObject(), _value(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_END_CREDIT_TEXT_H */
diff --git a/engines/titanic/game/end_credits.cpp b/engines/titanic/game/end_credits.cpp
new file mode 100644
index 0000000000..61640b92ad
--- /dev/null
+++ b/engines/titanic/game/end_credits.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/end_credits.h"
+
+namespace Titanic {
+
+void CEndCredits::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CEndCredits::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/end_credits.h b/engines/titanic/game/end_credits.h
new file mode 100644
index 0000000000..d160bc94e8
--- /dev/null
+++ b/engines/titanic/game/end_credits.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_END_CREDITS_H
+#define TITANIC_END_CREDITS_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CEndCredits : public CGameObject {
+public:
+ int _value;
+public:
+ CLASSDEF;
+ CEndCredits() : CGameObject(), _value(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_END_CREDITS_H */
diff --git a/engines/titanic/game/end_explode_ship.cpp b/engines/titanic/game/end_explode_ship.cpp
new file mode 100644
index 0000000000..f7ac36503f
--- /dev/null
+++ b/engines/titanic/game/end_explode_ship.cpp
@@ -0,0 +1,43 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/end_explode_ship.h"
+
+namespace Titanic {
+
+void CEndExplodeShip::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value1, indent);
+ file->writeNumberLine(_value2, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CEndExplodeShip::load(SimpleFile *file) {
+ file->readNumber();
+ _value1 = file->readNumber();
+ _value2 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/end_explode_ship.h b/engines/titanic/game/end_explode_ship.h
new file mode 100644
index 0000000000..b8159d3ca7
--- /dev/null
+++ b/engines/titanic/game/end_explode_ship.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_END_EXPLODE_SHIP_H
+#define TITANIC_END_EXPLODE_SHIP_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CEndExplodeShip : public CGameObject {
+public:
+ int _value1, _value2;
+public:
+ CLASSDEF;
+ CEndExplodeShip() : CGameObject(), _value1(0), _value2(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_END_EXPLODE_SHIP_H */
diff --git a/engines/titanic/game/end_game_credits.cpp b/engines/titanic/game/end_game_credits.cpp
new file mode 100644
index 0000000000..2d1aa79b1d
--- /dev/null
+++ b/engines/titanic/game/end_game_credits.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/end_game_credits.h"
+
+namespace Titanic {
+
+CEndGameCredits::CEndGameCredits() : CGameObject(), _fieldBC(0) {
+}
+
+void CEndGameCredits::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writePoint(_pos1, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CEndGameCredits::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _pos1 = file->readPoint();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/end_game_credits.h b/engines/titanic/game/end_game_credits.h
new file mode 100644
index 0000000000..5962950737
--- /dev/null
+++ b/engines/titanic/game/end_game_credits.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_END_GAME_CREDITS_H
+#define TITANIC_END_GAME_CREDITS_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CEndGameCredits : public CGameObject {
+private:
+ int _fieldBC;
+ Point _pos1;
+public:
+ CLASSDEF;
+ CEndGameCredits();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_END_GAME_CREDITS_H */
diff --git a/engines/titanic/game/end_sequence_control.cpp b/engines/titanic/game/end_sequence_control.cpp
new file mode 100644
index 0000000000..d32b3d1713
--- /dev/null
+++ b/engines/titanic/game/end_sequence_control.cpp
@@ -0,0 +1,42 @@
+/* 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/end_sequence_control.h"
+
+namespace Titanic {
+
+void CEndSequenceControl::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CEndSequenceControl::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+bool CEndSequenceControl::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("TODO: CEndSequenceControl::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/end_sequence_control.h b/engines/titanic/game/end_sequence_control.h
new file mode 100644
index 0000000000..35e9a934e1
--- /dev/null
+++ b/engines/titanic/game/end_sequence_control.h
@@ -0,0 +1,49 @@
+/* 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_END_SEQUENCE_CONTROL_H
+#define TITANIC_END_SEQUENCE_CONTROL_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CEndSequenceControl : public CGameObject {
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_END_SEQUENCE_CONTROL_H */
diff --git a/engines/titanic/game/fan.cpp b/engines/titanic/game/fan.cpp
new file mode 100644
index 0000000000..eabaf63568
--- /dev/null
+++ b/engines/titanic/game/fan.cpp
@@ -0,0 +1,43 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/fan.h"
+
+namespace Titanic {
+
+void CFan::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value1, indent);
+ file->writeNumberLine(_value2, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CFan::load(SimpleFile *file) {
+ file->readNumber();
+ _value1 = file->readNumber();
+ _value2 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/fan.h b/engines/titanic/game/fan.h
new file mode 100644
index 0000000000..2c5a2410a8
--- /dev/null
+++ b/engines/titanic/game/fan.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_FAN_H
+#define TITANIC_FAN_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CFan : public CGameObject {
+public:
+ int _value1, _value2;
+public:
+ CLASSDEF;
+ CFan() : CGameObject(), _value1(0), _value2(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_FAN_H */
diff --git a/engines/titanic/game/fan_control.cpp b/engines/titanic/game/fan_control.cpp
new file mode 100644
index 0000000000..a42e4dd5c1
--- /dev/null
+++ b/engines/titanic/game/fan_control.cpp
@@ -0,0 +1,53 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/fan_control.h"
+
+namespace Titanic {
+
+CFanControl::CFanControl() : CGameObject(), _fieldBC(0),
+ _fieldC0(0), _fieldC4(0), _fieldC8(0), _fieldCC(0) {
+}
+
+void CFanControl::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeNumberLine(_fieldC0, indent);
+ file->writeNumberLine(_fieldC4, indent);
+ file->writeNumberLine(_fieldC8, indent);
+ file->writeNumberLine(_fieldCC, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CFanControl::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+ _fieldC4 = file->readNumber();
+ _fieldC8 = file->readNumber();
+ _fieldCC = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/fan_control.h b/engines/titanic/game/fan_control.h
new file mode 100644
index 0000000000..4d89adb311
--- /dev/null
+++ b/engines/titanic/game/fan_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_FAN_CONTROL_H
+#define TITANIC_FAN_CONTROL_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CFanControl : public CGameObject {
+public:
+ int _fieldBC;
+ int _fieldC0;
+ int _fieldC4;
+ int _fieldC8;
+ int _fieldCC;
+public:
+ CLASSDEF;
+ CFanControl();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_FAN_CONTROL_H */
diff --git a/engines/titanic/game/fan_decrease.cpp b/engines/titanic/game/fan_decrease.cpp
new file mode 100644
index 0000000000..2049b1ebc9
--- /dev/null
+++ b/engines/titanic/game/fan_decrease.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/fan_decrease.h"
+
+namespace Titanic {
+
+void CFanDecrease::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CFanDecrease::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/fan_decrease.h b/engines/titanic/game/fan_decrease.h
new file mode 100644
index 0000000000..765c7d1560
--- /dev/null
+++ b/engines/titanic/game/fan_decrease.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_FAN_DECREASE_H
+#define TITANIC_FAN_DECREASE_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CFanDecrease : public CGameObject {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_FAN_DECREASE_H */
diff --git a/engines/titanic/game/fan_increase.cpp b/engines/titanic/game/fan_increase.cpp
new file mode 100644
index 0000000000..aa23dd9275
--- /dev/null
+++ b/engines/titanic/game/fan_increase.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/fan_increase.h"
+
+namespace Titanic {
+
+void CFanIncrease::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CFanIncrease::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/fan_increase.h b/engines/titanic/game/fan_increase.h
new file mode 100644
index 0000000000..08ec1322cd
--- /dev/null
+++ b/engines/titanic/game/fan_increase.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_FAN_INCREASE_H
+#define TITANIC_FAN_INCREASE_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CFanIncrease : public CGameObject {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_FAN_INCREASE_H */
diff --git a/engines/titanic/game/fan_noises.cpp b/engines/titanic/game/fan_noises.cpp
new file mode 100644
index 0000000000..14177ab64e
--- /dev/null
+++ b/engines/titanic/game/fan_noises.cpp
@@ -0,0 +1,63 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/fan_noises.h"
+
+namespace Titanic {
+
+CFanNoises::CFanNoises() : CGameObject(), _fieldBC(-1),
+ _fieldC0(0), _fieldC4(70), _fieldC8(-1), _fieldCC(0),
+ _fieldD0(0), _fieldD4(-1) {
+}
+
+void CFanNoises::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeNumberLine(_fieldC0, indent);
+ file->writeNumberLine(_fieldC4, indent);
+ file->writeNumberLine(_fieldC8, indent);
+ file->writeNumberLine(_fieldCC, indent);
+ file->writeNumberLine(_fieldD0, indent);
+ file->writeNumberLine(_fieldD4, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CFanNoises::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+ _fieldC4 = file->readNumber();
+ _fieldC8 = file->readNumber();
+ _fieldCC = file->readNumber();
+ _fieldD0 = file->readNumber();
+ _fieldD4 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+bool CFanNoises::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("CFanNoises::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/fan_noises.h b/engines/titanic/game/fan_noises.h
new file mode 100644
index 0000000000..bb2c35989d
--- /dev/null
+++ b/engines/titanic/game/fan_noises.h
@@ -0,0 +1,58 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_FAN_NOISES_H
+#define TITANIC_FAN_NOISES_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CFanNoises : public CGameObject {
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+private:
+ int _fieldBC;
+ int _fieldC0;
+ int _fieldC4;
+ int _fieldC8;
+ int _fieldCC;
+ int _fieldD0;
+ int _fieldD4;
+public:
+ CLASSDEF;
+ CFanNoises();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_FAN_NOISES_H */
diff --git a/engines/titanic/game/floor_indicator.cpp b/engines/titanic/game/floor_indicator.cpp
new file mode 100644
index 0000000000..360232c38c
--- /dev/null
+++ b/engines/titanic/game/floor_indicator.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/floor_indicator.h"
+
+namespace Titanic {
+
+void CFloorIndicator::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CFloorIndicator::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/floor_indicator.h b/engines/titanic/game/floor_indicator.h
new file mode 100644
index 0000000000..066209e52e
--- /dev/null
+++ b/engines/titanic/game/floor_indicator.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_FLOOR_INDICATOR_H
+#define TITANIC_FLOOR_INDICATOR_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CFloorIndicator : public CGameObject {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_FLOOR_INDICATOR_H */
diff --git a/engines/titanic/game/games_console.cpp b/engines/titanic/game/games_console.cpp
new file mode 100644
index 0000000000..b7500f9dd9
--- /dev/null
+++ b/engines/titanic/game/games_console.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/games_console.h"
+
+namespace Titanic {
+
+void CGamesConsole::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ CBackground::save(file, indent);
+}
+
+void CGamesConsole::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/games_console.h b/engines/titanic/game/games_console.h
new file mode 100644
index 0000000000..2b1da70e96
--- /dev/null
+++ b/engines/titanic/game/games_console.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_GAMES_CONSOLE_H
+#define TITANIC_GAMES_CONSOLE_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CGamesConsole : public CBackground {
+public:
+ int _fieldE0;
+public:
+ CLASSDEF;
+ CGamesConsole() : CBackground(), _fieldE0(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_GAMES_CONSOLE_H */
diff --git a/engines/titanic/game/get_lift_eye2.cpp b/engines/titanic/game/get_lift_eye2.cpp
new file mode 100644
index 0000000000..7747f7b0c2
--- /dev/null
+++ b/engines/titanic/game/get_lift_eye2.cpp
@@ -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.
+ *
+ */
+
+#include "titanic/game/get_lift_eye2.h"
+
+namespace Titanic {
+
+CString *CGetLiftEye2::_v1;
+
+void CGetLiftEye2::init() {
+ _v1 = new CString();
+}
+
+void CGetLiftEye2::deinit() {
+ delete _v1;
+}
+
+void CGetLiftEye2::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(*_v1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CGetLiftEye2::load(SimpleFile *file) {
+ file->readNumber();
+ *_v1 = file->readString();
+ CGameObject::load(file);
+}
+
+bool CGetLiftEye2::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("CGetLiftEye2::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/get_lift_eye2.h b/engines/titanic/game/get_lift_eye2.h
new file mode 100644
index 0000000000..496784a3c1
--- /dev/null
+++ b/engines/titanic/game/get_lift_eye2.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_GET_LIFT_EYE2_H
+#define TITANIC_GET_LIFT_EYE2_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/messages.h"
+namespace Titanic {
+
+class CGetLiftEye2 : public CGameObject {
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+public:
+ static CString *_v1;
+public:
+ CLASSDEF;
+ static void init();
+ static void deinit();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_GET_LIFT_EYE2_H */
diff --git a/engines/titanic/game/glass_smasher.cpp b/engines/titanic/game/glass_smasher.cpp
new file mode 100644
index 0000000000..8c33124a47
--- /dev/null
+++ b/engines/titanic/game/glass_smasher.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/glass_smasher.h"
+
+namespace Titanic {
+
+void CGlassSmasher::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CGlassSmasher::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/glass_smasher.h b/engines/titanic/game/glass_smasher.h
new file mode 100644
index 0000000000..7e38f4e36b
--- /dev/null
+++ b/engines/titanic/game/glass_smasher.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_GLASS_SMASHER_H
+#define TITANIC_GLASS_SMASHER_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CGlassSmasher : public CGameObject {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_GLASS_SMASHER_H */
diff --git a/engines/titanic/game/gondolier/gondolier_base.cpp b/engines/titanic/game/gondolier/gondolier_base.cpp
new file mode 100644
index 0000000000..1f7339cf38
--- /dev/null
+++ b/engines/titanic/game/gondolier/gondolier_base.cpp
@@ -0,0 +1,70 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/gondolier/gondolier_base.h"
+
+namespace Titanic {
+
+int CGondolierBase::_v1;
+int CGondolierBase::_v2;
+int CGondolierBase::_v3;
+int CGondolierBase::_v4;
+int CGondolierBase::_v5;
+int CGondolierBase::_v6;
+int CGondolierBase::_v7;
+int CGondolierBase::_v8;
+int CGondolierBase::_v9;
+int CGondolierBase::_v10;
+
+void CGondolierBase::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_v2, indent);
+ file->writeNumberLine(_v3, indent);
+ file->writeNumberLine(_v4, indent);
+ file->writeNumberLine(_v5, indent);
+ file->writeNumberLine(_v6, indent);
+ file->writeNumberLine(_v7, indent);
+ file->writeNumberLine(_v8, indent);
+ file->writeNumberLine(_v9, indent);
+ file->writeNumberLine(_v10, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CGondolierBase::load(SimpleFile *file) {
+ file->readNumber();
+ _v1 = file->readNumber();
+ _v2 = file->readNumber();
+ _v3 = file->readNumber();
+ _v4 = file->readNumber();
+ _v5 = file->readNumber();
+ _v6 = file->readNumber();
+ _v7 = file->readNumber();
+ _v8 = file->readNumber();
+ _v9 = file->readNumber();
+ _v10 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/gondolier/gondolier_base.h b/engines/titanic/game/gondolier/gondolier_base.h
new file mode 100644
index 0000000000..a7ea2d4931
--- /dev/null
+++ b/engines/titanic/game/gondolier/gondolier_base.h
@@ -0,0 +1,58 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_GONDOLIER_BASE_H
+#define TITANIC_GONDOLIER_BASE_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CGondolierBase : public CGameObject {
+private:
+ static int _v1;
+ static int _v2;
+ static int _v3;
+ static int _v4;
+ static int _v5;
+ static int _v6;
+ static int _v7;
+ static int _v8;
+ static int _v9;
+ static int _v10;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_GONDOLIER_BASE_H */
diff --git a/engines/titanic/game/gondolier/gondolier_chest.cpp b/engines/titanic/game/gondolier/gondolier_chest.cpp
new file mode 100644
index 0000000000..b3e7217502
--- /dev/null
+++ b/engines/titanic/game/gondolier/gondolier_chest.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/gondolier/gondolier_chest.h"
+
+namespace Titanic {
+
+void CGondolierChest::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGondolierBase::save(file, indent);
+}
+
+void CGondolierChest::load(SimpleFile *file) {
+ file->readNumber();
+ CGondolierBase::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/gondolier/gondolier_chest.h b/engines/titanic/game/gondolier/gondolier_chest.h
new file mode 100644
index 0000000000..d796917371
--- /dev/null
+++ b/engines/titanic/game/gondolier/gondolier_chest.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_GONDOLIER_CHEST_H
+#define TITANIC_GONDOLIER_CHEST_H
+
+#include "titanic/game/gondolier/gondolier_base.h"
+
+namespace Titanic {
+
+class CGondolierChest : public CGondolierBase {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_GONDOLIER_CHEST_H */
diff --git a/engines/titanic/game/gondolier/gondolier_face.cpp b/engines/titanic/game/gondolier/gondolier_face.cpp
new file mode 100644
index 0000000000..bdab8491ed
--- /dev/null
+++ b/engines/titanic/game/gondolier/gondolier_face.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/gondolier/gondolier_face.h"
+
+namespace Titanic {
+
+void CGondolierFace::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ CGondolierBase::save(file, indent);
+}
+
+void CGondolierFace::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ CGondolierBase::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/gondolier/gondolier_face.h b/engines/titanic/game/gondolier/gondolier_face.h
new file mode 100644
index 0000000000..71bdd6d444
--- /dev/null
+++ b/engines/titanic/game/gondolier/gondolier_face.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_GONDOLIER_FACE_H
+#define TITANIC_GONDOLIER_FACE_H
+
+#include "titanic/game/gondolier/gondolier_base.h"
+
+namespace Titanic {
+
+class CGondolierFace : public CGondolierBase {
+private:
+ int _fieldBC;
+public:
+ CLASSDEF;
+ CGondolierFace() : CGondolierBase(), _fieldBC(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_GONDOLIER_FACE_H */
diff --git a/engines/titanic/game/gondolier/gondolier_mixer.cpp b/engines/titanic/game/gondolier/gondolier_mixer.cpp
new file mode 100644
index 0000000000..9b7b72c11b
--- /dev/null
+++ b/engines/titanic/game/gondolier/gondolier_mixer.cpp
@@ -0,0 +1,68 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/gondolier/gondolier_mixer.h"
+#include "titanic/core/room_item.h"
+
+namespace Titanic {
+
+CGondolierMixer::CGondolierMixer() : CGondolierBase(),
+ _string1("c#0.wav"), _string2("c#1.wav"),
+ _fieldBC(-1), _fieldC0(-1), _fieldC4(0), _fieldC8(0),
+ _fieldE4(0) {
+}
+
+void CGondolierMixer::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeNumberLine(_fieldC0, indent);
+ file->writeNumberLine(_fieldC4, indent);
+ file->writeNumberLine(_fieldC8, indent);
+ file->writeQuotedLine(_string1, indent);
+ file->writeQuotedLine(_string2, indent);
+ file->writeNumberLine(_fieldE4, indent);
+
+ CGondolierBase::save(file, indent);
+}
+
+void CGondolierMixer::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+ _fieldC4 = file->readNumber();
+ _fieldC8 = file->readNumber();
+ _string1 = file->readString();
+ _string2 = file->readString();
+ _fieldE4 = file->readNumber();
+
+ CGondolierBase::load(file);
+}
+
+bool CGondolierMixer::EnterRoomMsg(CEnterRoomMsg *msg) {
+ CRoomItem *parentRoom = dynamic_cast<CRoomItem *>(getParent());
+ if (parentRoom == msg->_newRoom)
+ msg->execute(parentRoom);
+
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/gondolier/gondolier_mixer.h b/engines/titanic/game/gondolier/gondolier_mixer.h
new file mode 100644
index 0000000000..247e520ba6
--- /dev/null
+++ b/engines/titanic/game/gondolier/gondolier_mixer.h
@@ -0,0 +1,58 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_GONDOLIER_MIXER_H
+#define TITANIC_GONDOLIER_MIXER_H
+
+#include "titanic/game/gondolier/gondolier_base.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CGondolierMixer : public CGondolierBase {
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+private:
+ int _fieldBC;
+ int _fieldC0;
+ int _fieldC4;
+ int _fieldC8;
+ CString _string1;
+ CString _string2;
+ int _fieldE4;
+public:
+ CLASSDEF;
+ CGondolierMixer();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_GONDOLIER_MIXER_H */
diff --git a/engines/titanic/game/gondolier/gondolier_slider.cpp b/engines/titanic/game/gondolier/gondolier_slider.cpp
new file mode 100644
index 0000000000..eb6b1a9ad8
--- /dev/null
+++ b/engines/titanic/game/gondolier/gondolier_slider.cpp
@@ -0,0 +1,82 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/gondolier/gondolier_slider.h"
+
+namespace Titanic {
+
+CGondolierSlider::CGondolierSlider() : CGondolierBase(),
+ _fieldBC(0), _fieldC0(0), _fieldC4(0), _fieldC8(0),
+ _fieldCC(0), _fieldD0(0), _fieldD4(0), _fieldD8(0),
+ _fieldDC(0), _fieldE0(0), _fieldE4(0), _fieldE8(0),
+ _fieldEC(0), _string1("NULL"), _fieldFC(0), _field118(0) {
+}
+
+void CGondolierSlider::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeNumberLine(_fieldC0, indent);
+ file->writeNumberLine(_fieldC4, indent);
+ file->writeNumberLine(_fieldC8, indent);
+ file->writeNumberLine(_fieldCC, indent);
+ file->writeNumberLine(_fieldD0, indent);
+ file->writeNumberLine(_fieldD4, indent);
+ file->writeNumberLine(_fieldD8, indent);
+ file->writeNumberLine(_fieldDC, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+ file->writeNumberLine(_fieldCC, indent);
+ file->writeQuotedLine(_string1, indent);
+ file->writeNumberLine(_fieldFC, indent);
+ file->writeQuotedLine(_string2, indent);
+ file->writeQuotedLine(_string3, indent);
+ file->writeNumberLine(_field118, indent);
+
+ CGondolierBase::save(file, indent);
+}
+
+void CGondolierSlider::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+ _fieldC4 = file->readNumber();
+ _fieldC8 = file->readNumber();
+ _fieldCC = file->readNumber();
+ _fieldD0 = file->readNumber();
+ _fieldD4 = file->readNumber();
+ _fieldD8 = file->readNumber();
+ _fieldDC = file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+ _fieldEC = file->readNumber();
+ _string1 = file->readString();
+ _fieldFC = file->readNumber();
+ _string2 = file->readString();
+ _string3 = file->readString();
+ _field118 = file->readNumber();
+
+ CGondolierBase::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/gondolier/gondolier_slider.h b/engines/titanic/game/gondolier/gondolier_slider.h
new file mode 100644
index 0000000000..0ae14a91a0
--- /dev/null
+++ b/engines/titanic/game/gondolier/gondolier_slider.h
@@ -0,0 +1,67 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_GONDOLIER_SLIDER_H
+#define TITANIC_GONDOLIER_SLIDER_H
+
+#include "titanic/game/gondolier/gondolier_base.h"
+
+namespace Titanic {
+
+class CGondolierSlider : public CGondolierBase {
+private:
+ int _fieldBC;
+ int _fieldC0;
+ int _fieldC4;
+ int _fieldC8;
+ int _fieldCC;
+ int _fieldD0;
+ int _fieldD4;
+ int _fieldD8;
+ int _fieldDC;
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+ int _fieldEC;
+ CString _string1;
+ int _fieldFC;
+ CString _string2;
+ CString _string3;
+ int _field118;
+public:
+ CLASSDEF;
+ CGondolierSlider();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_GONDOLIER_SLIDER_H */
diff --git a/engines/titanic/game/hammer_clip.cpp b/engines/titanic/game/hammer_clip.cpp
new file mode 100644
index 0000000000..e3f3a09a90
--- /dev/null
+++ b/engines/titanic/game/hammer_clip.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/hammer_clip.h"
+
+namespace Titanic {
+
+void CHammerClip::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CHammerClip::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/hammer_clip.h b/engines/titanic/game/hammer_clip.h
new file mode 100644
index 0000000000..7f5c5ab5f8
--- /dev/null
+++ b/engines/titanic/game/hammer_clip.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_HAMMER_CLIP_H
+#define TITANIC_HAMMER_CLIP_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CHammerClip : public CGameObject {
+public:
+ int _value;
+public:
+ CLASSDEF;
+ CHammerClip() : CGameObject(), _value(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_HAMMER_CLIP_H */
diff --git a/engines/titanic/game/hammer_dispensor.cpp b/engines/titanic/game/hammer_dispensor.cpp
new file mode 100644
index 0000000000..440fe1bc7b
--- /dev/null
+++ b/engines/titanic/game/hammer_dispensor.cpp
@@ -0,0 +1,49 @@
+/* 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/hammer_dispensor.h"
+
+namespace Titanic {
+
+CHammerDispensor::CHammerDispensor() : CBackground(),
+ _fieldE0(0), _fieldE4(0), _fieldE8(0) {
+}
+
+void CHammerDispensor::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CHammerDispensor::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/hammer_dispensor.h b/engines/titanic/game/hammer_dispensor.h
new file mode 100644
index 0000000000..e1b30d9045
--- /dev/null
+++ b/engines/titanic/game/hammer_dispensor.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_HAMMER_DISPENSOR_H
+#define TITANIC_HAMMER_DISPENSOR_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CHammerDispensor : public CBackground {
+private:
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+public:
+ CLASSDEF;
+ CHammerDispensor();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_HAMMER_DISPENSOR_H */
diff --git a/engines/titanic/game/hammer_dispensor_button.cpp b/engines/titanic/game/hammer_dispensor_button.cpp
new file mode 100644
index 0000000000..3346498623
--- /dev/null
+++ b/engines/titanic/game/hammer_dispensor_button.cpp
@@ -0,0 +1,56 @@
+/* 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/hammer_dispensor_button.h"
+
+namespace Titanic {
+
+CHammerDispensorButton::CHammerDispensorButton() : CStartAction(),
+ _fieldF8(0), _fieldFC(0), _field100(0), _field104(56),
+ _field108(6), _field10C(0), _field110(0) {
+}
+
+void CHammerDispensorButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldF8, indent);
+ file->writeNumberLine(_fieldFC, indent);
+ file->writeNumberLine(_field100, indent);
+ file->writeNumberLine(_field104, indent);
+ file->writeNumberLine(_field108, indent);
+ file->writeNumberLine(_field110, indent);
+
+ CStartAction::save(file, indent);
+}
+
+void CHammerDispensorButton::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldF8 = file->readNumber();
+ _fieldFC = file->readNumber();
+ _field100 = file->readNumber();
+ _field104 = file->readNumber();
+ _field108 = file->readNumber();
+ _field110 = file->readNumber();
+
+ CStartAction::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/hammer_dispensor_button.h b/engines/titanic/game/hammer_dispensor_button.h
new file mode 100644
index 0000000000..36732adb2d
--- /dev/null
+++ b/engines/titanic/game/hammer_dispensor_button.h
@@ -0,0 +1,56 @@
+/* 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_HAMMER_DISPENSOR_BUTTON_H
+#define TITANIC_HAMMER_DISPENSOR_BUTTON_H
+
+#include "titanic/game/start_action.h"
+
+namespace Titanic {
+
+class CHammerDispensorButton : public CStartAction {
+private:
+ int _fieldF8;
+ int _fieldFC;
+ int _field100;
+ int _field104;
+ int _field108;
+ int _field10C;
+ int _field110;
+public:
+ CLASSDEF;
+ CHammerDispensorButton();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_HAMMER_DISPENSOR_BUTTON_H */
diff --git a/engines/titanic/game/head_slot.cpp b/engines/titanic/game/head_slot.cpp
new file mode 100644
index 0000000000..32650b75e4
--- /dev/null
+++ b/engines/titanic/game/head_slot.cpp
@@ -0,0 +1,66 @@
+/* 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/head_slot.h"
+
+namespace Titanic {
+
+int CHeadSlot::_v1;
+
+CHeadSlot::CHeadSlot() : CGameObject(), _string1("NotWorking"), _string2("NULL"),
+ _fieldBC(0), _fieldD8(0), _fieldDC(27), _fieldE0(56),
+ _fieldE4(82), _fieldE8(112), _fieldEC(0) {
+}
+
+void CHeadSlot::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeQuotedLine(_string1, indent);
+ file->writeQuotedLine(_string2, indent);
+ file->writeNumberLine(_fieldD8, indent);
+ file->writeNumberLine(_fieldDC, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_fieldEC, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CHeadSlot::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _string1 = file->readString();
+ _string2 = file->readString();
+ _fieldD8 = file->readNumber();
+ _fieldDC = file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+ _v1 = file->readNumber();
+ _fieldEC = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/head_slot.h b/engines/titanic/game/head_slot.h
new file mode 100644
index 0000000000..0080411033
--- /dev/null
+++ b/engines/titanic/game/head_slot.h
@@ -0,0 +1,60 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_HEAD_SLOT_H
+#define TITANIC_HEAD_SLOT_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CHeadSlot : public CGameObject {
+public:
+ static int _v1;
+public:
+ int _fieldBC;
+ CString _string1;
+ CString _string2;
+ int _fieldD8;
+ int _fieldDC;
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+ int _fieldEC;
+public:
+ CLASSDEF;
+ CHeadSlot();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_HEAD_SLOT_H */
diff --git a/engines/titanic/game/head_smash_event.cpp b/engines/titanic/game/head_smash_event.cpp
new file mode 100644
index 0000000000..5b79acf7a5
--- /dev/null
+++ b/engines/titanic/game/head_smash_event.cpp
@@ -0,0 +1,37 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/head_smash_event.h"
+
+namespace Titanic {
+
+void CHeadSmashEvent::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CBackground::save(file, indent);
+}
+
+void CHeadSmashEvent::load(SimpleFile *file) {
+ file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/head_smash_event.h b/engines/titanic/game/head_smash_event.h
new file mode 100644
index 0000000000..912cf36bf3
--- /dev/null
+++ b/engines/titanic/game/head_smash_event.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_HEAD_SMASH_EVENT_H
+#define TITANIC_HEAD_SMASH_EVENT_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CHeadSmashEvent : public CBackground {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_HEAD_SMASH_EVENT_H */
diff --git a/engines/titanic/game/head_smash_lever.cpp b/engines/titanic/game/head_smash_lever.cpp
new file mode 100644
index 0000000000..5a2fe1f4c2
--- /dev/null
+++ b/engines/titanic/game/head_smash_lever.cpp
@@ -0,0 +1,48 @@
+/* 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/head_smash_lever.h"
+
+namespace Titanic {
+
+CHeadSmashLever::CHeadSmashLever() : CBackground(),
+ _fieldE0(0), _fieldE4(0), _fieldE8(0) {}
+
+void CHeadSmashLever::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CHeadSmashLever::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/head_smash_lever.h b/engines/titanic/game/head_smash_lever.h
new file mode 100644
index 0000000000..b8f04d39de
--- /dev/null
+++ b/engines/titanic/game/head_smash_lever.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_HEAD_SMASH_LEVER_H
+#define TITANIC_HEAD_SMASH_LEVER_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CHeadSmashLever : public CBackground {
+public:
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+public:
+ CLASSDEF;
+ CHeadSmashLever();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_HEAD_SMASH_LEVER_H */
diff --git a/engines/titanic/game/head_spinner.cpp b/engines/titanic/game/head_spinner.cpp
new file mode 100644
index 0000000000..2fb3654c4a
--- /dev/null
+++ b/engines/titanic/game/head_spinner.cpp
@@ -0,0 +1,43 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/head_spinner.h"
+
+namespace Titanic {
+
+void CHeadSpinner::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value1, indent);
+ file->writeNumberLine(_value2, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CHeadSpinner::load(SimpleFile *file) {
+ file->readNumber();
+ _value1 = file->readNumber();
+ _value2 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/head_spinner.h b/engines/titanic/game/head_spinner.h
new file mode 100644
index 0000000000..4456070ee4
--- /dev/null
+++ b/engines/titanic/game/head_spinner.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_HEAD_SPINNER_H
+#define TITANIC_HEAD_SPINNER_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CHeadSpinner : public CGameObject {
+public:
+ int _value1, _value2;
+public:
+ CHeadSpinner() : CGameObject(), _value1(0), _value2(0) {}
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_HEAD_SPINNER_H */
diff --git a/engines/titanic/game/idle_summoner.cpp b/engines/titanic/game/idle_summoner.cpp
new file mode 100644
index 0000000000..19d760a8db
--- /dev/null
+++ b/engines/titanic/game/idle_summoner.cpp
@@ -0,0 +1,63 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/idle_summoner.h"
+
+namespace Titanic {
+
+CIdleSummoner::CIdleSummoner() : CGameObject(), _fieldBC(0x57E40),
+ _fieldC0(0xEA60), _fieldC4(0x57E40), _fieldC8(0xEA60),
+ _fieldCC(0xEA60), _fieldD0(0xEA60), _fieldD4(0xEA60),
+ _fieldD8(0xEA60), _fieldDC(0xEA60) {
+}
+
+void CIdleSummoner::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeNumberLine(_fieldC0, indent);
+ file->writeNumberLine(_fieldC4, indent);
+ file->writeNumberLine(_fieldC8, indent);
+ file->writeNumberLine(_fieldCC, indent);
+ file->writeNumberLine(_fieldD0, indent);
+ file->writeNumberLine(_fieldD4, indent);
+ file->writeNumberLine(_fieldD8, indent);
+ file->writeNumberLine(_fieldDC, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CIdleSummoner::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+ _fieldC4 = file->readNumber();
+ _fieldC8 = file->readNumber();
+ _fieldCC = file->readNumber();
+ _fieldD0 = file->readNumber();
+ _fieldD4 = file->readNumber();
+ _fieldD8 = file->readNumber();
+ _fieldDC = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/idle_summoner.h b/engines/titanic/game/idle_summoner.h
new file mode 100644
index 0000000000..1d9fcdd176
--- /dev/null
+++ b/engines/titanic/game/idle_summoner.h
@@ -0,0 +1,58 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_IDLE_SUMMONER_H
+#define TITANIC_IDLE_SUMMONER_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CIdleSummoner : public CGameObject {
+public:
+ int _fieldBC;
+ int _fieldC0;
+ int _fieldC4;
+ int _fieldC8;
+ int _fieldCC;
+ int _fieldD0;
+ int _fieldD4;
+ int _fieldD8;
+ int _fieldDC;
+public:
+ CIdleSummoner();
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_IDLE_SUMMONER_H */
diff --git a/engines/titanic/game/leave_sec_class_state.cpp b/engines/titanic/game/leave_sec_class_state.cpp
new file mode 100644
index 0000000000..3e23e3ad1c
--- /dev/null
+++ b/engines/titanic/game/leave_sec_class_state.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/leave_sec_class_state.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CLeaveSecClassState, CGameObject);
+
+void CLeaveSecClassState::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CLeaveSecClassState::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/leave_sec_class_state.h b/engines/titanic/game/leave_sec_class_state.h
new file mode 100644
index 0000000000..0b1e854f57
--- /dev/null
+++ b/engines/titanic/game/leave_sec_class_state.h
@@ -0,0 +1,48 @@
+/* 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_LEAVE_SEC_CLASS_STATE_H
+#define TITANIC_LEAVE_SEC_CLASS_STATE_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CLeaveSecClassState : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_LEAVE_SEC_CLASS_STATE_H */
diff --git a/engines/titanic/game/lemon_dispensor.cpp b/engines/titanic/game/lemon_dispensor.cpp
new file mode 100644
index 0000000000..8e1674cb2d
--- /dev/null
+++ b/engines/titanic/game/lemon_dispensor.cpp
@@ -0,0 +1,61 @@
+/* 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/lemon_dispensor.h"
+
+namespace Titanic {
+
+int CLemonDispensor::_v1;
+int CLemonDispensor::_v2;
+int CLemonDispensor::_v3;
+
+CLemonDispensor::CLemonDispensor() : CBackground(),
+ _fieldE0(0), _fieldE4(9), _fieldE8(15), _fieldEC(0) {
+}
+
+void CLemonDispensor::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_v2, indent);
+ file->writeNumberLine(_v3, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+ file->writeNumberLine(_fieldEC, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CLemonDispensor::load(SimpleFile *file) {
+ file->readNumber();
+ _v1 = file->readNumber();
+ _v2 = file->readNumber();
+ _v3 = file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+ _fieldEC = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/lemon_dispensor.h b/engines/titanic/game/lemon_dispensor.h
new file mode 100644
index 0000000000..d6315ed620
--- /dev/null
+++ b/engines/titanic/game/lemon_dispensor.h
@@ -0,0 +1,57 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_LEMON_DISPENSOR_H
+#define TITANIC_LEMON_DISPENSOR_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CLemonDispensor : public CBackground {
+private:
+ static int _v1;
+ static int _v2;
+ static int _v3;
+
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+ int _fieldEC;
+public:
+ CLASSDEF;
+ CLemonDispensor();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_LEMON_DISPENSOR_H */
diff --git a/engines/titanic/game/light.cpp b/engines/titanic/game/light.cpp
new file mode 100644
index 0000000000..fd3c446875
--- /dev/null
+++ b/engines/titanic/game/light.cpp
@@ -0,0 +1,65 @@
+/* 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/light.h"
+
+namespace Titanic {
+
+CLight::CLight() : CBackground(), _fieldE0(0), _fieldE4(0),
+ _fieldE8(0), _fieldEC(0), _fieldF0(0), _fieldF4(0),
+ _fieldF8(0), _fieldFC(0) {
+}
+
+void CLight::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+ file->writeNumberLine(_fieldEC, indent);
+ file->writeNumberLine(_fieldF0, indent);
+ file->writeNumberLine(_fieldF4, indent);
+ file->writeNumberLine(_fieldF8, indent);
+ file->writeNumberLine(_fieldFC, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CLight::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+ _fieldEC = file->readNumber();
+ _fieldF0 = file->readNumber();
+ _fieldF4 = file->readNumber();
+ _fieldF8 = file->readNumber();
+ _fieldFC = file->readNumber();
+
+ CBackground::load(file);
+}
+
+bool CLight::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("CLight::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/light.h b/engines/titanic/game/light.h
new file mode 100644
index 0000000000..79e4bc400e
--- /dev/null
+++ b/engines/titanic/game/light.h
@@ -0,0 +1,59 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_LIGHT_H
+#define TITANIC_LIGHT_H
+
+#include "titanic/core/background.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CLight : public CBackground {
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+private:
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+ int _fieldEC;
+ int _fieldF0;
+ int _fieldF4;
+ int _fieldF8;
+ int _fieldFC;
+public:
+ CLASSDEF;
+ CLight();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_LIGHT_H */
diff --git a/engines/titanic/game/light_switch.cpp b/engines/titanic/game/light_switch.cpp
new file mode 100644
index 0000000000..3f5c8d2084
--- /dev/null
+++ b/engines/titanic/game/light_switch.cpp
@@ -0,0 +1,58 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/light_switch.h"
+
+namespace Titanic {
+
+int CLightSwitch::_v1;
+
+CLightSwitch::CLightSwitch() : CBackground(),
+ _fieldE0(0), _fieldE4(0), _fieldE8(0) {
+}
+
+void CLightSwitch::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_fieldE8, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CLightSwitch::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _v1 = file->readNumber();
+ _fieldE8 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+bool CLightSwitch::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("CLightSwitch::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/light_switch.h b/engines/titanic/game/light_switch.h
new file mode 100644
index 0000000000..ce62d7d68c
--- /dev/null
+++ b/engines/titanic/game/light_switch.h
@@ -0,0 +1,56 @@
+/* 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_LIGHT_SWITCH_H
+#define TITANIC_LIGHT_SWITCH_H
+
+#include "titanic/core/background.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CLightSwitch : public CBackground {
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+public:
+ static int _v1;
+private:
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+public:
+ CLASSDEF;
+ CLightSwitch();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_LIGHT_SWITCH_H */
diff --git a/engines/titanic/game/little_lift_button.cpp b/engines/titanic/game/little_lift_button.cpp
new file mode 100644
index 0000000000..5005cb1757
--- /dev/null
+++ b/engines/titanic/game/little_lift_button.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/little_lift_button.h"
+
+namespace Titanic {
+
+void CLittleLiftButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CBackground::save(file, indent);
+}
+
+void CLittleLiftButton::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/little_lift_button.h b/engines/titanic/game/little_lift_button.h
new file mode 100644
index 0000000000..b14651f4b8
--- /dev/null
+++ b/engines/titanic/game/little_lift_button.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_LITTLE_LIFT_BUTTON_H
+#define TITANIC_LITTLE_LIFT_BUTTON_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CLittleLiftButton : public CBackground {
+private:
+ int _value;
+public:
+ CLASSDEF;
+ CLittleLiftButton() : CBackground(), _value(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_LITTLE_LIFT_BUTTON_H */
diff --git a/engines/titanic/game/long_stick_dispenser.cpp b/engines/titanic/game/long_stick_dispenser.cpp
new file mode 100644
index 0000000000..cb562ec3ca
--- /dev/null
+++ b/engines/titanic/game/long_stick_dispenser.cpp
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/long_stick_dispenser.h"
+
+namespace Titanic {
+
+void CLongStickDispenser::save(SimpleFile *file, int indent) {
+ 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);
+}
+
+bool CLongStickDispenser::EnterRoomMsg(CEnterRoomMsg *msg) {
+ _fieldC0 = 0;
+ _fieldC4 = 1;
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/long_stick_dispenser.h b/engines/titanic/game/long_stick_dispenser.h
new file mode 100644
index 0000000000..2a1b86fb84
--- /dev/null
+++ b/engines/titanic/game/long_stick_dispenser.h
@@ -0,0 +1,55 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_LONG_STICK_DISPENSER_H
+#define TITANIC_LONG_STICK_DISPENSER_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CLongStickDispenser : public CGameObject {
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+private:
+ int _fieldBC;
+ int _fieldC0;
+ int _fieldC4;
+public:
+ CLASSDEF;
+ CLongStickDispenser() : CGameObject(), _fieldBC(0),
+ _fieldC0(0), _fieldC4(1) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_LONG_STICK_DISPENSER_H */
diff --git a/engines/titanic/game/maitred/maitred_arm_holder.cpp b/engines/titanic/game/maitred/maitred_arm_holder.cpp
new file mode 100644
index 0000000000..4d35277a33
--- /dev/null
+++ b/engines/titanic/game/maitred/maitred_arm_holder.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/maitred/maitred_arm_holder.h"
+
+namespace Titanic {
+
+void CMaitreDArmHolder::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CDropTarget::save(file, indent);
+}
+
+void CMaitreDArmHolder::load(SimpleFile *file) {
+ file->readNumber();
+ CDropTarget::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/maitred/maitred_arm_holder.h b/engines/titanic/game/maitred/maitred_arm_holder.h
new file mode 100644
index 0000000000..3392d60e43
--- /dev/null
+++ b/engines/titanic/game/maitred/maitred_arm_holder.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_MAITRED_ARM_HOLDER_H
+#define TITANIC_MAITRED_ARM_HOLDER_H
+
+#include "titanic/core/drop_target.h"
+
+namespace Titanic {
+
+class CMaitreDArmHolder : public CDropTarget {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MAITRED_ARM_HOLDER_H */
diff --git a/engines/titanic/game/maitred/maitred_body.cpp b/engines/titanic/game/maitred/maitred_body.cpp
new file mode 100644
index 0000000000..6b495e5a1c
--- /dev/null
+++ b/engines/titanic/game/maitred/maitred_body.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/maitred/maitred_legs.h"
+
+namespace Titanic {
+
+void CMaitreDLegs::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldC8, indent);
+ CMaitreDProdReceptor::save(file, indent);
+}
+
+void CMaitreDLegs::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldC8 = file->readNumber();
+ CMaitreDProdReceptor::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/maitred/maitred_body.h b/engines/titanic/game/maitred/maitred_body.h
new file mode 100644
index 0000000000..7016c15c71
--- /dev/null
+++ b/engines/titanic/game/maitred/maitred_body.h
@@ -0,0 +1,50 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_MAITRED_BODY_H
+#define TITANIC_MAITRED_BODY_H
+
+#include "titanic/game/maitred/maitred_prod_receptor.h"
+
+namespace Titanic {
+
+class CMaitreDBody : public CMaitreDProdReceptor {
+private:
+ int _fieldC8;
+public:
+ CLASSDEF;
+ CMaitreDBody() : CMaitreDProdReceptor(), _fieldC8(1) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MAITRED_BODY_H */
diff --git a/engines/titanic/game/maitred/maitred_legs.cpp b/engines/titanic/game/maitred/maitred_legs.cpp
new file mode 100644
index 0000000000..5071805101
--- /dev/null
+++ b/engines/titanic/game/maitred/maitred_legs.cpp
@@ -0,0 +1,39 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/maitred/maitred_body.h"
+
+namespace Titanic {
+
+void CMaitreDBody::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldC8, indent);
+ CMaitreDProdReceptor::save(file, indent);
+}
+
+void CMaitreDBody::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldC8 = file->readNumber();
+ CMaitreDProdReceptor::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/maitred/maitred_legs.h b/engines/titanic/game/maitred/maitred_legs.h
new file mode 100644
index 0000000000..24ba01e712
--- /dev/null
+++ b/engines/titanic/game/maitred/maitred_legs.h
@@ -0,0 +1,50 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_MAITRED_LEGS_H
+#define TITANIC_MAITRED_LEGS_H
+
+#include "titanic/game/maitred/maitred_prod_receptor.h"
+
+namespace Titanic {
+
+class CMaitreDLegs : public CMaitreDProdReceptor {
+private:
+ int _fieldC8;
+public:
+ CLASSDEF;
+ CMaitreDLegs() : CMaitreDProdReceptor(), _fieldC8(1) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MAITRED_LEGS_H */
diff --git a/engines/titanic/game/maitred/maitred_prod_receptor.cpp b/engines/titanic/game/maitred/maitred_prod_receptor.cpp
new file mode 100644
index 0000000000..4823f143b0
--- /dev/null
+++ b/engines/titanic/game/maitred/maitred_prod_receptor.cpp
@@ -0,0 +1,45 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/maitred/maitred_prod_receptor.h"
+
+namespace Titanic {
+
+void CMaitreDProdReceptor::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeNumberLine(_fieldC0, indent);
+ file->writeNumberLine(_fieldC4, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CMaitreDProdReceptor::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+ _fieldC4 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/maitred/maitred_prod_receptor.h b/engines/titanic/game/maitred/maitred_prod_receptor.h
new file mode 100644
index 0000000000..f3a547b8ef
--- /dev/null
+++ b/engines/titanic/game/maitred/maitred_prod_receptor.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_MAITRED_PROD_RECEPTOR_H
+#define TITANIC_MAITRED_PROD_RECEPTOR_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CMaitreDProdReceptor : public CGameObject {
+protected:
+ int _fieldBC;
+ int _fieldC0;
+ int _fieldC4;
+public:
+ CLASSDEF;
+ CMaitreDProdReceptor() : CGameObject(),
+ _fieldBC(0), _fieldC0(0), _fieldC4(1) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MAITRED_PROD_RECEPTOR_H */
diff --git a/engines/titanic/game/missiveomat.cpp b/engines/titanic/game/missiveomat.cpp
new file mode 100644
index 0000000000..931b146801
--- /dev/null
+++ b/engines/titanic/game/missiveomat.cpp
@@ -0,0 +1,55 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/missiveomat.h"
+
+namespace Titanic {
+
+CMissiveOMat::CMissiveOMat() : CGameObject(), _fieldBC(1),
+ _fieldC0(0), _fieldC4(0), _fieldE0(-1) {
+}
+
+void CMissiveOMat::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeNumberLine(_fieldC0, indent);
+ file->writeNumberLine(_fieldC4, indent);
+ file->writeQuotedLine(_string1, indent);
+ file->writeQuotedLine(_string2, indent);
+ file->writeNumberLine(_fieldE0, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CMissiveOMat::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+ _fieldC4 = file->readNumber();
+ _string1 = file->readString();
+ _string2 = file->readString();
+ _fieldE0 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/missiveomat.h b/engines/titanic/game/missiveomat.h
new file mode 100644
index 0000000000..7fde8cf25d
--- /dev/null
+++ b/engines/titanic/game/missiveomat.h
@@ -0,0 +1,55 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_MISSIVEOMAT_H
+#define TITANIC_MISSIVEOMAT_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CMissiveOMat : public CGameObject {
+public:
+ int _fieldBC;
+ int _fieldC0;
+ int _fieldC4;
+ CString _string1;
+ CString _string2;
+ int _fieldE0;
+public:
+ CLASSDEF;
+ CMissiveOMat();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MISSIVEOMAT_H */
diff --git a/engines/titanic/game/missiveomat_button.cpp b/engines/titanic/game/missiveomat_button.cpp
new file mode 100644
index 0000000000..d5ae75dbc2
--- /dev/null
+++ b/engines/titanic/game/missiveomat_button.cpp
@@ -0,0 +1,41 @@
+/* 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/missiveomat_button.h"
+
+namespace Titanic {
+
+void CMissiveOMatButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldFC, indent);
+
+ CEditControl::save(file, indent);
+}
+
+void CMissiveOMatButton::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldFC = file->readNumber();
+
+ CEditControl::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/missiveomat_button.h b/engines/titanic/game/missiveomat_button.h
new file mode 100644
index 0000000000..d36f5bd958
--- /dev/null
+++ b/engines/titanic/game/missiveomat_button.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_MISSIVEOMAT_BUTTON_H
+#define TITANIC_MISSIVEOMAT_BUTTON_H
+
+#include "titanic/gfx/edit_control.h"
+
+namespace Titanic {
+
+class CMissiveOMatButton : public CEditControl {
+public:
+ int _fieldFC;
+public:
+ CLASSDEF;
+ CMissiveOMatButton() : CEditControl(), _fieldFC(2) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MISSIVEOMAT_BUTTON_H */
diff --git a/engines/titanic/game/movie_tester.cpp b/engines/titanic/game/movie_tester.cpp
new file mode 100644
index 0000000000..1b266d9c7e
--- /dev/null
+++ b/engines/titanic/game/movie_tester.cpp
@@ -0,0 +1,41 @@
+/* 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/movie_tester.h"
+
+namespace Titanic {
+
+void CMovieTester::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value1, indent);
+ file->writeNumberLine(_value2, indent);
+ CGameObject::save(file, indent);
+}
+
+void CMovieTester::load(SimpleFile *file) {
+ file->readNumber();
+ _value1 = file->readNumber();
+ _value2 = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/movie_tester.h b/engines/titanic/game/movie_tester.h
new file mode 100644
index 0000000000..de2ef2cc5e
--- /dev/null
+++ b/engines/titanic/game/movie_tester.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_MOVIE_TESTER_H
+#define TITANIC_MOVIE_TESTER_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CMovieTester : public CGameObject {
+public:
+ int _value1, _value2;
+public:
+ CLASSDEF;
+ CMovieTester() : CGameObject(), _value1(0), _value2(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MOVIE_TESTER_H */
diff --git a/engines/titanic/game/music_console_button.cpp b/engines/titanic/game/music_console_button.cpp
new file mode 100644
index 0000000000..1bc78ffe23
--- /dev/null
+++ b/engines/titanic/game/music_console_button.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/music_console_button.h"
+
+namespace Titanic {
+
+void CMusicConsoleButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CMusicPlayer::save(file, indent);
+}
+
+void CMusicConsoleButton::load(SimpleFile *file) {
+ file->readNumber();
+ CMusicPlayer::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/music_console_button.h b/engines/titanic/game/music_console_button.h
new file mode 100644
index 0000000000..8e05b698d7
--- /dev/null
+++ b/engines/titanic/game/music_console_button.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_MUSIC_CONSOLE_BUTTON_H
+#define TITANIC_MUSIC_CONSOLE_BUTTON_H
+
+#include "titanic/sound/music_player.h"
+
+namespace Titanic {
+
+class CMusicConsoleButton : public CMusicPlayer {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MUSIC_CONSOLE_BUTTON_H */
diff --git a/engines/titanic/game/music_room_phonograph.cpp b/engines/titanic/game/music_room_phonograph.cpp
new file mode 100644
index 0000000000..06a35dc4d5
--- /dev/null
+++ b/engines/titanic/game/music_room_phonograph.cpp
@@ -0,0 +1,41 @@
+/* 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/music_room_phonograph.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CMusicRoomPhonograph, CRestaurantPhonograph);
+
+void CMusicRoomPhonograph::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field118, indent);
+ CRestaurantPhonograph::save(file, indent);
+}
+
+void CMusicRoomPhonograph::load(SimpleFile *file) {
+ file->readNumber();
+ _field118 = file->readNumber();
+ CRestaurantPhonograph::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/music_room_phonograph.h b/engines/titanic/game/music_room_phonograph.h
new file mode 100644
index 0000000000..9286861785
--- /dev/null
+++ b/engines/titanic/game/music_room_phonograph.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_MUSIC_ROOM_PHONOGRAPH_H
+#define TITANIC_MUSIC_ROOM_PHONOGRAPH_H
+
+#include "titanic/game/restaurant_phonograph.h"
+
+namespace Titanic {
+
+class CMusicRoomPhonograph : public CRestaurantPhonograph {
+ DECLARE_MESSAGE_MAP;
+private:
+ int _field118;
+public:
+ CLASSDEF;
+ CMusicRoomPhonograph() : CRestaurantPhonograph(), _field118(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MUSIC_ROOM_PHONOGRAPH_H */
diff --git a/engines/titanic/game/music_room_stop_phonograph_button.cpp b/engines/titanic/game/music_room_stop_phonograph_button.cpp
new file mode 100644
index 0000000000..44342fc2d6
--- /dev/null
+++ b/engines/titanic/game/music_room_stop_phonograph_button.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/music_room_stop_phonograph_button.h"
+
+namespace Titanic {
+
+void CMusicRoomStopPhonographButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field100, indent);
+ CEjectPhonographButton::save(file, indent);
+}
+
+void CMusicRoomStopPhonographButton::load(SimpleFile *file) {
+ file->readNumber();
+ _field100 = file->readNumber();
+ CEjectPhonographButton::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/music_room_stop_phonograph_button.h b/engines/titanic/game/music_room_stop_phonograph_button.h
new file mode 100644
index 0000000000..7260e5aaab
--- /dev/null
+++ b/engines/titanic/game/music_room_stop_phonograph_button.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_MUSIC_ROOM_STOP_PHONOGRAPH_BUTTON_H
+#define TITANIC_MUSIC_ROOM_STOP_PHONOGRAPH_BUTTON_H
+
+#include "titanic/game/eject_phonograph_button.h"
+
+namespace Titanic {
+
+class CMusicRoomStopPhonographButton : public CEjectPhonographButton {
+private:
+ int _field100;
+public:
+ CLASSDEF;
+ CMusicRoomStopPhonographButton() : CEjectPhonographButton(), _field100(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MUSIC_ROOM_STOP_PHONOGRAPH_BUTTON_H */
diff --git a/engines/titanic/game/music_system_lock.cpp b/engines/titanic/game/music_system_lock.cpp
new file mode 100644
index 0000000000..f1e062b3ee
--- /dev/null
+++ b/engines/titanic/game/music_system_lock.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/music_system_lock.h"
+
+namespace Titanic {
+
+void CMusicSystemLock::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CDropTarget::save(file, indent);
+}
+
+void CMusicSystemLock::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CDropTarget::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/music_system_lock.h b/engines/titanic/game/music_system_lock.h
new file mode 100644
index 0000000000..ff826f5c77
--- /dev/null
+++ b/engines/titanic/game/music_system_lock.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_MUSIC_SYSTEM_LOCK_H
+#define TITANIC_MUSIC_SYSTEM_LOCK_H
+
+#include "titanic/core/drop_target.h"
+
+namespace Titanic {
+
+class CMusicSystemLock : public CDropTarget {
+private:
+ int _value;
+public:
+ CLASSDEF;
+ CMusicSystemLock() : CDropTarget(), _value(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MUSIC_SYSTEM_LOCK_H */
diff --git a/engines/titanic/game/musical_instrument.cpp b/engines/titanic/game/musical_instrument.cpp
new file mode 100644
index 0000000000..3bd2e37ccc
--- /dev/null
+++ b/engines/titanic/game/musical_instrument.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/musical_instrument.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CMusicalInstrument, CBackground);
+
+void CMusicalInstrument::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CBackground::save(file, indent);
+}
+
+void CMusicalInstrument::load(SimpleFile *file) {
+ file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/musical_instrument.h b/engines/titanic/game/musical_instrument.h
new file mode 100644
index 0000000000..5d18ed91f0
--- /dev/null
+++ b/engines/titanic/game/musical_instrument.h
@@ -0,0 +1,48 @@
+/* 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_MUSICAL_INSTRUMENT_H
+#define TITANIC_MUSICAL_INSTRUMENT_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CMusicalInstrument : public CBackground {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MUSICAL_INSTRUMENT_H */
diff --git a/engines/titanic/game/nav_helmet.cpp b/engines/titanic/game/nav_helmet.cpp
new file mode 100644
index 0000000000..770eb7375e
--- /dev/null
+++ b/engines/titanic/game/nav_helmet.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/nav_helmet.h"
+
+namespace Titanic {
+
+void CNavHelmet::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CNavHelmet::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/nav_helmet.h b/engines/titanic/game/nav_helmet.h
new file mode 100644
index 0000000000..74caa52534
--- /dev/null
+++ b/engines/titanic/game/nav_helmet.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_NAV_HELMET_H
+#define TITANIC_NAV_HELMET_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CNavHelmet : public CGameObject {
+private:
+ int _value;
+public:
+ CLASSDEF;
+ CNavHelmet() : CGameObject(), _value(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_NAV_HELMET_H */
diff --git a/engines/titanic/game/navigation_computer.cpp b/engines/titanic/game/navigation_computer.cpp
new file mode 100644
index 0000000000..49bd252988
--- /dev/null
+++ b/engines/titanic/game/navigation_computer.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/navigation_computer.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CNavigationComputer, CGameObject);
+
+void CNavigationComputer::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CNavigationComputer::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/navigation_computer.h b/engines/titanic/game/navigation_computer.h
new file mode 100644
index 0000000000..27d06c1f27
--- /dev/null
+++ b/engines/titanic/game/navigation_computer.h
@@ -0,0 +1,48 @@
+/* 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_NAVIGATION_COMPUTER_H
+#define TITANIC_NAVIGATION_COMPUTER_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CNavigationComputer : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_NAVIGATION_COMPUTER_H */
diff --git a/engines/titanic/game/no_nut_bowl.cpp b/engines/titanic/game/no_nut_bowl.cpp
new file mode 100644
index 0000000000..47f9d7901e
--- /dev/null
+++ b/engines/titanic/game/no_nut_bowl.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/no_nut_bowl.h"
+
+namespace Titanic {
+
+void CNoNutBowl::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CBackground::save(file, indent);
+}
+
+void CNoNutBowl::load(SimpleFile *file) {
+ file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/no_nut_bowl.h b/engines/titanic/game/no_nut_bowl.h
new file mode 100644
index 0000000000..548b324869
--- /dev/null
+++ b/engines/titanic/game/no_nut_bowl.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_NO_NUT_BOWL_H
+#define TITANIC_NO_NUT_BOWL_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CNoNutBowl : public CBackground {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_NO_NUT_BOWL_H */
diff --git a/engines/titanic/game/nose_holder.cpp b/engines/titanic/game/nose_holder.cpp
new file mode 100644
index 0000000000..cd9433ee9c
--- /dev/null
+++ b/engines/titanic/game/nose_holder.cpp
@@ -0,0 +1,44 @@
+/* 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/nose_holder.h"
+
+namespace Titanic {
+
+CNoseHolder::CNoseHolder() : CDropTarget(), _field118(0), _field11C(0) {
+}
+
+void CNoseHolder::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field11C, indent);
+
+ CDropTarget::save(file, indent);
+}
+
+void CNoseHolder::load(SimpleFile *file) {
+ file->readNumber();
+ _field11C = file->readNumber();
+
+ CDropTarget::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/nose_holder.h b/engines/titanic/game/nose_holder.h
new file mode 100644
index 0000000000..b8cca95869
--- /dev/null
+++ b/engines/titanic/game/nose_holder.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_NOSE_HOLDER_H
+#define TITANIC_NOSE_HOLDER_H
+
+#include "titanic/core/drop_target.h"
+
+namespace Titanic {
+
+class CNoseHolder : public CDropTarget {
+private:
+ int _field118;
+ int _field11C;
+public:
+ CLASSDEF;
+ CNoseHolder();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_NOSE_HOLDER_H */
diff --git a/engines/titanic/game/null_port_hole.cpp b/engines/titanic/game/null_port_hole.cpp
new file mode 100644
index 0000000000..e651b1b59f
--- /dev/null
+++ b/engines/titanic/game/null_port_hole.cpp
@@ -0,0 +1,50 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/null_port_hole.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CNullPortHole, CClickResponder);
+
+CNullPortHole::CNullPortHole() : CClickResponder() {
+ _string1 = "For a better view, why not visit the Promenade Deck?";
+ _string2 = "b#48.wav";
+}
+
+void CNullPortHole::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string2, indent);
+ file->writeQuotedLine(_string1, indent);
+
+ CClickResponder::save(file, indent);
+}
+
+void CNullPortHole::load(SimpleFile *file) {
+ file->readNumber();
+ _string2 = file->readString();
+ _string1 = file->readString();
+
+ CClickResponder::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/null_port_hole.h b/engines/titanic/game/null_port_hole.h
new file mode 100644
index 0000000000..26564271b9
--- /dev/null
+++ b/engines/titanic/game/null_port_hole.h
@@ -0,0 +1,49 @@
+/* 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_NULL_PORT_HOLE_H
+#define TITANIC_NULL_PORT_HOLE_H
+
+#include "titanic/core/click_responder.h"
+
+namespace Titanic {
+
+class CNullPortHole : public CClickResponder {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+ CNullPortHole();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_NULL_PORT_HOLE_H */
diff --git a/engines/titanic/game/nut_replacer.cpp b/engines/titanic/game/nut_replacer.cpp
new file mode 100644
index 0000000000..9a73355c91
--- /dev/null
+++ b/engines/titanic/game/nut_replacer.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/nut_replacer.h"
+
+namespace Titanic {
+
+void CNutReplacer::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CNutReplacer::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/nut_replacer.h b/engines/titanic/game/nut_replacer.h
new file mode 100644
index 0000000000..ead9713801
--- /dev/null
+++ b/engines/titanic/game/nut_replacer.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_NUT_REPLACER_H
+#define TITANIC_NUT_REPLACER_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CNutReplacer : public CGameObject {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_NUT_REPLACER_H */
diff --git a/engines/titanic/game/parrot/parrot_lobby_controller.cpp b/engines/titanic/game/parrot/parrot_lobby_controller.cpp
new file mode 100644
index 0000000000..f1e054a8dd
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_lobby_controller.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/parrot/parrot_lobby_controller.h"
+
+namespace Titanic {
+
+void CParrotLobbyController::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CParrotLobbyObject::save(file, indent);
+}
+
+void CParrotLobbyController::load(SimpleFile *file) {
+ file->readNumber();
+ CParrotLobbyObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_lobby_controller.h b/engines/titanic/game/parrot/parrot_lobby_controller.h
new file mode 100644
index 0000000000..d2fa4a1801
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_lobby_controller.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_PARROT_LOBBY_CONTROLLER_H
+#define TITANIC_PARROT_LOBBY_CONTROLLER_H
+
+#include "titanic/game/parrot/parrot_lobby_object.h"
+
+namespace Titanic {
+
+class CParrotLobbyController : public CParrotLobbyObject {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PARROT_LOBBY_CONTROLLER_H */
diff --git a/engines/titanic/game/parrot/parrot_lobby_link_updater.cpp b/engines/titanic/game/parrot/parrot_lobby_link_updater.cpp
new file mode 100644
index 0000000000..25d5ec724b
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_lobby_link_updater.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/parrot/parrot_lobby_link_updater.h"
+
+namespace Titanic {
+
+void CParrotLobbyLinkUpdater::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CParrotLobbyObject::save(file, indent);
+}
+
+void CParrotLobbyLinkUpdater::load(SimpleFile *file) {
+ file->readNumber();
+ CParrotLobbyObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_lobby_link_updater.h b/engines/titanic/game/parrot/parrot_lobby_link_updater.h
new file mode 100644
index 0000000000..0470a62dee
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_lobby_link_updater.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_PARROT_LOBBY_LINK_UPDATER_H
+#define TITANIC_PARROT_LOBBY_LINK_UPDATER_H
+
+#include "titanic/game/parrot/parrot_lobby_object.h"
+
+namespace Titanic {
+
+class CParrotLobbyLinkUpdater : public CParrotLobbyObject {
+public:
+ int _fieldBC;
+public:
+ CLASSDEF;
+ CParrotLobbyLinkUpdater() : CParrotLobbyObject(), _fieldBC(1) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PARROT_LOBBY_LINK_UPDATER_H */
diff --git a/engines/titanic/game/parrot/parrot_lobby_object.cpp b/engines/titanic/game/parrot/parrot_lobby_object.cpp
new file mode 100644
index 0000000000..a78ab2b6d9
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_lobby_object.cpp
@@ -0,0 +1,61 @@
+/* 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/parrot/parrot_lobby_object.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CParrotLobbyObject, CGameObject);
+
+int CParrotLobbyObject::_v1;
+int CParrotLobbyObject::_v2;
+int CParrotLobbyObject::_v3;
+int CParrotLobbyObject::_v4;
+
+void CParrotLobbyObject::init() {
+ _v1 = 1;
+ _v2 = 1;
+ _v3 = 1;
+ _v4 = 7;
+}
+
+void CParrotLobbyObject::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_v2, indent);
+ file->writeNumberLine(_v3, indent);
+ file->writeNumberLine(_v4, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CParrotLobbyObject::load(SimpleFile *file) {
+ file->readNumber();
+ _v1 = file->readNumber();
+ _v2 = file->readNumber();
+ _v3 = file->readNumber();
+ _v4 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_lobby_object.h b/engines/titanic/game/parrot/parrot_lobby_object.h
new file mode 100644
index 0000000000..5272303888
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_lobby_object.h
@@ -0,0 +1,55 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_PARROT_LOBBY_OBJECT_H
+#define TITANIC_PARROT_LOBBY_OBJECT_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CParrotLobbyObject : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+public:
+ static int _v1;
+ static int _v2;
+ static int _v3;
+ static int _v4;
+
+ static void init();
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PARROT_LOBBY_OBJECT_H */
diff --git a/engines/titanic/game/parrot/parrot_lobby_view_object.cpp b/engines/titanic/game/parrot/parrot_lobby_view_object.cpp
new file mode 100644
index 0000000000..ae398036a8
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_lobby_view_object.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/parrot/parrot_lobby_view_object.h"
+
+namespace Titanic {
+
+void CParrotLobbyViewObject::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ CParrotLobbyObject::save(file, indent);
+}
+
+void CParrotLobbyViewObject::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ CParrotLobbyObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_lobby_view_object.h b/engines/titanic/game/parrot/parrot_lobby_view_object.h
new file mode 100644
index 0000000000..3179bb962d
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_lobby_view_object.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_PARROT_LOBBY_VIEW_OBJECT_H
+#define TITANIC_PARROT_LOBBY_VIEW_OBJECT_H
+
+#include "titanic/game/parrot/parrot_lobby_object.h"
+
+namespace Titanic {
+
+class CParrotLobbyViewObject : public CParrotLobbyObject {
+public:
+ int _fieldBC;
+public:
+ CLASSDEF;
+ CParrotLobbyViewObject() : CParrotLobbyObject(), _fieldBC(1) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PARROT_LOBBY_VIEW_OBJECT_H */
diff --git a/engines/titanic/game/parrot/parrot_loser.cpp b/engines/titanic/game/parrot/parrot_loser.cpp
new file mode 100644
index 0000000000..6e23ef8314
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_loser.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/parrot/parrot_loser.h"
+
+namespace Titanic {
+
+void CParrotLoser::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CParrotLoser::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_loser.h b/engines/titanic/game/parrot/parrot_loser.h
new file mode 100644
index 0000000000..819fd6614c
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_loser.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_PARROT_LOSER_H
+#define TITANIC_PARROT_LOSER_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CParrotLoser : public CGameObject {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PARROT_LOSER_H */
diff --git a/engines/titanic/game/parrot/parrot_nut_bowl_actor.cpp b/engines/titanic/game/parrot/parrot_nut_bowl_actor.cpp
new file mode 100644
index 0000000000..c83d66cbdf
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_nut_bowl_actor.cpp
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/parrot/parrot_nut_bowl_actor.h"
+
+namespace Titanic {
+
+CParrotNutBowlActor::CParrotNutBowlActor() : CGameObject(),
+ _value1(0), _value2(0) {
+}
+
+void CParrotNutBowlActor::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value1, indent);
+ file->writeNumberLine(_value2, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CParrotNutBowlActor::load(SimpleFile *file) {
+ file->readNumber();
+ _value1 = file->readNumber();
+ _value2 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_nut_bowl_actor.h b/engines/titanic/game/parrot/parrot_nut_bowl_actor.h
new file mode 100644
index 0000000000..d8395bb65a
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_nut_bowl_actor.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_PARROT_NUT_BOWL_ACTOR_H
+#define TITANIC_PARROT_NUT_BOWL_ACTOR_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CParrotNutBowlActor : public CGameObject {
+public:
+ int _value1, _value2;
+public:
+ CLASSDEF;
+ CParrotNutBowlActor();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PARROT_NUT_BOWL_ACTOR_H */
diff --git a/engines/titanic/game/parrot/parrot_nut_eater.cpp b/engines/titanic/game/parrot/parrot_nut_eater.cpp
new file mode 100644
index 0000000000..309b379ab8
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_nut_eater.cpp
@@ -0,0 +1,45 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/parrot/parrot_nut_eater.h"
+
+namespace Titanic {
+
+CParrotNutEater::CParrotNutEater() : CGameObject(), _fieldBC(0),
+ _fieldC0(69), _fieldC4(132), _fieldC8(0), _fieldCC(68) {
+}
+
+void CParrotNutEater::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CParrotNutEater::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_nut_eater.h b/engines/titanic/game/parrot/parrot_nut_eater.h
new file mode 100644
index 0000000000..5dcb01ca11
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_nut_eater.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_PARROT_NUT_EATER_H
+#define TITANIC_PARROT_NUT_EATER_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CParrotNutEater : public CGameObject {
+public:
+ int _fieldBC;
+ int _fieldC0;
+ int _fieldC4;
+ int _fieldC8;
+ int _fieldCC;
+public:
+ CLASSDEF;
+ CParrotNutEater();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CREDITS_H */
diff --git a/engines/titanic/game/parrot/parrot_perch_holder.cpp b/engines/titanic/game/parrot/parrot_perch_holder.cpp
new file mode 100644
index 0000000000..dd8523990b
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_perch_holder.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/parrot/parrot_perch_holder.h"
+
+namespace Titanic {
+
+void CParrotPerchHolder::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CMultiDropTarget::save(file, indent);
+}
+
+void CParrotPerchHolder::load(SimpleFile *file) {
+ file->readNumber();
+ CMultiDropTarget::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_perch_holder.h b/engines/titanic/game/parrot/parrot_perch_holder.h
new file mode 100644
index 0000000000..ff618f09dc
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_perch_holder.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_PARROT_PERCH_HOLDER_H
+#define TITANIC_PARROT_PERCH_HOLDER_H
+
+#include "titanic/core/multi_drop_target.h"
+
+namespace Titanic {
+
+class CParrotPerchHolder : public CMultiDropTarget {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PARROT_PERCH_HOLDER_H */
diff --git a/engines/titanic/game/parrot/parrot_succubus.cpp b/engines/titanic/game/parrot/parrot_succubus.cpp
new file mode 100644
index 0000000000..02a29b748e
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_succubus.cpp
@@ -0,0 +1,49 @@
+/* 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/parrot/parrot_succubus.h"
+
+namespace Titanic {
+
+CParrotSuccUBus::CParrotSuccUBus() : CSuccUBus(), _field1DC(0),
+ _field1EC(0), _field1F0(376), _field1F4(393) {
+}
+
+void CParrotSuccUBus::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field1DC, indent);
+ file->writeQuotedLine(_string3, indent);
+ file->writeNumberLine(_field1EC, indent);
+
+ CSuccUBus::save(file, indent);
+}
+
+void CParrotSuccUBus::load(SimpleFile *file) {
+ file->readNumber();
+ _field1DC = file->readNumber();
+ _string3 = file->readString();
+ _field1EC = file->readNumber();
+
+ CSuccUBus::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_succubus.h b/engines/titanic/game/parrot/parrot_succubus.h
new file mode 100644
index 0000000000..6f5d9e602a
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_succubus.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_PARROT_SUCCUBUS_H
+#define TITANIC_PARROT_SUCCUBUS_H
+
+#include "titanic/npcs/succubus.h"
+
+namespace Titanic {
+
+class CParrotSuccUBus : public CSuccUBus {
+public:
+ int _field1DC;
+ CString _string3;
+ int _field1EC;
+ int _field1F0;
+ int _field1F4;
+public:
+ CLASSDEF;
+ CParrotSuccUBus();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PARROT_SUCCUBUS_H */
diff --git a/engines/titanic/game/parrot/parrot_trigger.cpp b/engines/titanic/game/parrot/parrot_trigger.cpp
new file mode 100644
index 0000000000..36e99ada33
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_trigger.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/parrot/parrot_trigger.h"
+
+namespace Titanic {
+
+void CParrotTrigger::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CParrotTrigger::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/parrot_trigger.h b/engines/titanic/game/parrot/parrot_trigger.h
new file mode 100644
index 0000000000..28a1663fa8
--- /dev/null
+++ b/engines/titanic/game/parrot/parrot_trigger.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_PARROT_TRIGGER_H
+#define TITANIC_PARROT_TRIGGER_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CParrotTrigger : public CGameObject {
+public:
+ int _value;
+public:
+ CLASSDEF;
+ CParrotTrigger() : CGameObject(), _value(0x446AB) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PARROT_TRIGGER_H */
diff --git a/engines/titanic/game/parrot/player_meets_parrot.cpp b/engines/titanic/game/parrot/player_meets_parrot.cpp
new file mode 100644
index 0000000000..6db9345bc0
--- /dev/null
+++ b/engines/titanic/game/parrot/player_meets_parrot.cpp
@@ -0,0 +1,42 @@
+/* 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/parrot/player_meets_parrot.h"
+
+namespace Titanic {
+
+void CPlayerMeetsParrot::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CPlayerMeetsParrot::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+bool CPlayerMeetsParrot::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("CPlayerMeetsParrot::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/parrot/player_meets_parrot.h b/engines/titanic/game/parrot/player_meets_parrot.h
new file mode 100644
index 0000000000..9cee9ee322
--- /dev/null
+++ b/engines/titanic/game/parrot/player_meets_parrot.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_PLAYER_MEETS_PARROT_H
+#define TITANIC_PLAYER_MEETS_PARROT_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CPlayerMeetsParrot : public CGameObject {
+protected:
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PLAYER_MEETS_PARROT_H */
diff --git a/engines/titanic/game/pet/pet.cpp b/engines/titanic/game/pet/pet.cpp
new file mode 100644
index 0000000000..cd4e16d38c
--- /dev/null
+++ b/engines/titanic/game/pet/pet.cpp
@@ -0,0 +1,57 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/pet/pet.h"
+
+namespace Titanic {
+
+CPET::CPET() : CGameObject(), _fieldBC(0), _fieldC0(3),
+ _fieldC4(0), _fieldC8(0), _fieldD8(0), _fieldDC(0) {
+}
+
+void CPET::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeNumberLine(_fieldC0, indent);
+ file->writeNumberLine(_fieldC4, indent);
+ file->writeNumberLine(_fieldC8, indent);
+ file->writeQuotedLine(_string1, indent);
+ file->writeNumberLine(_fieldD8, indent);
+ file->writeNumberLine(_fieldDC, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CPET::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+ _fieldC4 = file->readNumber();
+ _fieldC8 = file->readNumber();
+ _string1 = file->readString();
+ _fieldD8 = file->readNumber();
+ _fieldDC = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet.h b/engines/titanic/game/pet/pet.h
new file mode 100644
index 0000000000..cdad649401
--- /dev/null
+++ b/engines/titanic/game/pet/pet.h
@@ -0,0 +1,56 @@
+/* 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_H
+#define TITANIC_PET_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CPET : public CGameObject {
+public:
+ int _fieldBC;
+ int _fieldC0;
+ int _fieldC4;
+ int _fieldC8;
+ CString _string1;
+ int _fieldD8;
+ int _fieldDC;
+public:
+ CLASSDEF;
+ CPET();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PET_H */
diff --git a/engines/titanic/game/pet/pet_class1.cpp b/engines/titanic/game/pet/pet_class1.cpp
new file mode 100644
index 0000000000..651a8f9ed3
--- /dev/null
+++ b/engines/titanic/game/pet/pet_class1.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/pet/pet_class1.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CPETClass1, CGameObject);
+
+void CPETClass1::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CPETClass1::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_class1.h b/engines/titanic/game/pet/pet_class1.h
new file mode 100644
index 0000000000..fb7a48b927
--- /dev/null
+++ b/engines/titanic/game/pet/pet_class1.h
@@ -0,0 +1,48 @@
+/* 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_CLASS1_H
+#define TITANIC_PET_CLASS1_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CPETClass1 : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PET_CLASS1_H */
diff --git a/engines/titanic/game/pet/pet_class2.cpp b/engines/titanic/game/pet/pet_class2.cpp
new file mode 100644
index 0000000000..e3e23f62ed
--- /dev/null
+++ b/engines/titanic/game/pet/pet_class2.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/pet/pet_class2.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CPETClass2, CGameObject);
+
+void CPETClass2::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CPETClass2::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_class2.h b/engines/titanic/game/pet/pet_class2.h
new file mode 100644
index 0000000000..c8855c82f3
--- /dev/null
+++ b/engines/titanic/game/pet/pet_class2.h
@@ -0,0 +1,48 @@
+/* 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_CLASS2_H
+#define TITANIC_PET_CLASS2_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CPETClass2 : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PET_CLASS2_H */
diff --git a/engines/titanic/game/pet/pet_class3.cpp b/engines/titanic/game/pet/pet_class3.cpp
new file mode 100644
index 0000000000..7751b994ab
--- /dev/null
+++ b/engines/titanic/game/pet/pet_class3.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/pet/pet_class3.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CPETClass3, CGameObject);
+
+void CPETClass3::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CPETClass3::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_class3.h b/engines/titanic/game/pet/pet_class3.h
new file mode 100644
index 0000000000..59d8389665
--- /dev/null
+++ b/engines/titanic/game/pet/pet_class3.h
@@ -0,0 +1,48 @@
+/* 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_CLASS3_H
+#define TITANIC_PET_CLASS3_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CPETClass3 : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PET_CLASS3_H */
diff --git a/engines/titanic/game/pet/pet_lift.cpp b/engines/titanic/game/pet/pet_lift.cpp
new file mode 100644
index 0000000000..39b0d01540
--- /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) {
+ 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..88b4e1c029
--- /dev/null
+++ b/engines/titanic/game/pet/pet_lift.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_PET_LIFT_H
+#define TITANIC_PET_LIFT_H
+
+#include "titanic/game/pet/pet_transport.h"
+
+namespace Titanic {
+
+class CPETLift : public CPETTransport {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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_monitor.cpp b/engines/titanic/game/pet/pet_monitor.cpp
new file mode 100644
index 0000000000..6a0d207a55
--- /dev/null
+++ b/engines/titanic/game/pet/pet_monitor.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/pet/pet_monitor.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CPETMonitor, CGameObject)
+ ON_MESSAGE(EnterRoomMsg)
+END_MESSAGE_MAP()
+
+void CPETMonitor::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CPETMonitor::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+bool CPETMonitor::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("CPETMonitor::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_monitor.h b/engines/titanic/game/pet/pet_monitor.h
new file mode 100644
index 0000000000..61d1ba8ab6
--- /dev/null
+++ b/engines/titanic/game/pet/pet_monitor.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_MONITOR_H
+#define TITANIC_PET_MONITOR_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CPETMonitor : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PET_MONITOR_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..a29942ca59
--- /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) {
+ 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..9b90c9af28
--- /dev/null
+++ b/engines/titanic/game/pet/pet_pellerator.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_PET_PELLERATOR_H
+#define TITANIC_PET_PELLERATOR_H
+
+#include "titanic/game/pet/pet_transport.h"
+
+namespace Titanic {
+
+class CPETPellerator : public CPETTransport {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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/pet/pet_position.cpp b/engines/titanic/game/pet/pet_position.cpp
new file mode 100644
index 0000000000..9f58093ccc
--- /dev/null
+++ b/engines/titanic/game/pet/pet_position.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/pet/pet_position.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CPETPosition, CGameObject)
+ ON_MESSAGE(EnterRoomMsg)
+END_MESSAGE_MAP()
+
+void CPETPosition::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CPETPosition::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+bool CPETPosition::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("CPETPosition::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_position.h b/engines/titanic/game/pet/pet_position.h
new file mode 100644
index 0000000000..d1ac0507f4
--- /dev/null
+++ b/engines/titanic/game/pet/pet_position.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_POSITION_H
+#define TITANIC_PET_POSITION_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CPETPosition : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PET_POSITION_H */
diff --git a/engines/titanic/game/pet/pet_sentinal.cpp b/engines/titanic/game/pet/pet_sentinal.cpp
new file mode 100644
index 0000000000..1b647d7c62
--- /dev/null
+++ b/engines/titanic/game/pet/pet_sentinal.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_sentinal.h"
+
+namespace Titanic {
+
+void CPETSentinal::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CPETSentinal::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_sentinal.h b/engines/titanic/game/pet/pet_sentinal.h
new file mode 100644
index 0000000000..f7f9fef0ba
--- /dev/null
+++ b/engines/titanic/game/pet/pet_sentinal.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_PET_SENTINAL_H
+#define TITANIC_PET_SENTINAL_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CPETSentinal : public CGameObject {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PET_SENTINAL_H */
diff --git a/engines/titanic/game/pet/pet_sounds.cpp b/engines/titanic/game/pet/pet_sounds.cpp
new file mode 100644
index 0000000000..d612c745bb
--- /dev/null
+++ b/engines/titanic/game/pet/pet_sounds.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/pet/pet_sounds.h"
+
+namespace Titanic {
+
+void CPETSounds::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CPETSounds::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_sounds.h b/engines/titanic/game/pet/pet_sounds.h
new file mode 100644
index 0000000000..1d3acdb5f3
--- /dev/null
+++ b/engines/titanic/game/pet/pet_sounds.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_SOUNDS_H
+#define TITANIC_PET_SOUNDS_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CPETSounds : public CGameObject {
+public:
+ int _value;
+public:
+ CLASSDEF;
+ CPETSounds() : CGameObject(), _value(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PET_SOUNDS_H */
diff --git a/engines/titanic/game/pet/pet_transition.cpp b/engines/titanic/game/pet/pet_transition.cpp
new file mode 100644
index 0000000000..33cc36ca11
--- /dev/null
+++ b/engines/titanic/game/pet/pet_transition.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_transition.h"
+
+namespace Titanic {
+
+void CPETTransition::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CPETTransition::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_transition.h b/engines/titanic/game/pet/pet_transition.h
new file mode 100644
index 0000000000..4abf16d509
--- /dev/null
+++ b/engines/titanic/game/pet/pet_transition.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_PET_TRANSITION_H
+#define TITANIC_PET_TRANSITION_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CPETTransition : public CGameObject {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PET_TRANSITION_H */
diff --git a/engines/titanic/game/pet/pet_transport.cpp b/engines/titanic/game/pet/pet_transport.cpp
new file mode 100644
index 0000000000..9661cace2c
--- /dev/null
+++ b/engines/titanic/game/pet/pet_transport.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/pet/pet_transport.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CPETTransport, CGameObject)
+ ON_MESSAGE(EnterRoomMsg)
+END_MESSAGE_MAP()
+
+void CPETTransport::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CPETTransport::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+bool CPETTransport::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("CPETTransport::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_transport.h b/engines/titanic/game/pet/pet_transport.h
new file mode 100644
index 0000000000..58aefe6743
--- /dev/null
+++ b/engines/titanic/game/pet/pet_transport.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_TRANSPORT_H
+#define TITANIC_PET_TRANSPORT_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CPETTransport : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+ virtual bool EnterRoomMsg(CEnterRoomMsg *msg);
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PET_TRANSPORT_H */
diff --git a/engines/titanic/game/pet/pet_val_base.cpp b/engines/titanic/game/pet/pet_val_base.cpp
new file mode 100644
index 0000000000..d77f366436
--- /dev/null
+++ b/engines/titanic/game/pet/pet_val_base.cpp
@@ -0,0 +1,31 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/pet/pet_val_base.h"
+
+namespace Titanic {
+
+CPetValBase::CPetValBase() : _field4(0), _field8(0),
+ _fieldC(0), _field10(0), _field14(0) {
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pet/pet_val_base.h b/engines/titanic/game/pet/pet_val_base.h
new file mode 100644
index 0000000000..cdb2808108
--- /dev/null
+++ b/engines/titanic/game/pet/pet_val_base.h
@@ -0,0 +1,61 @@
+/* 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_element_H
+#define TITANIC_pet_element_H
+
+namespace Titanic {
+
+class CPetElement {
+protected:
+ int _field4;
+ int _field8;
+ int _fieldC;
+ int _field10;
+ int _field14;
+public:
+ CPetElement();
+
+ virtual void proc1() {}
+ virtual void proc2() {}
+ virtual void proc3() {}
+ virtual void proc4() {}
+
+ virtual void proc5() {}
+
+ virtual void proc6() {}
+ virtual void proc7() {}
+ virtual void proc8() {}
+ virtual void proc9() {}
+ virtual void proc10() {}
+ virtual void proc11() {}
+ virtual void proc12() {}
+ virtual void proc13() {}
+ virtual void proc14() {}
+ virtual void proc15() {}
+ virtual void proc16() {}
+ virtual void proc17() {}
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_pet_element_H */
diff --git a/engines/titanic/game/pet_disabler.cpp b/engines/titanic/game/pet_disabler.cpp
new file mode 100644
index 0000000000..2275156503
--- /dev/null
+++ b/engines/titanic/game/pet_disabler.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/pet_disabler.h"
+
+namespace Titanic {
+
+void CPetDisabler::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CPetDisabler::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readString();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/pet_disabler.h b/engines/titanic/game/pet_disabler.h
new file mode 100644
index 0000000000..92b4dff0a8
--- /dev/null
+++ b/engines/titanic/game/pet_disabler.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_DISABLER_H
+#define TITANIC_PET_DISABLER_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CPetDisabler : public CGameObject {
+public:
+ CString _value;
+public:
+ CLASSDEF;
+ CPetDisabler() : CGameObject() {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PET_DISABLER_H */
diff --git a/engines/titanic/game/phonograph.cpp b/engines/titanic/game/phonograph.cpp
new file mode 100644
index 0000000000..9740e29273
--- /dev/null
+++ b/engines/titanic/game/phonograph.cpp
@@ -0,0 +1,63 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/phonograph.h"
+
+namespace Titanic {
+
+CPhonograph::CPhonograph() : CMusicPlayer(),
+ _fieldE0(0), _fieldE4(0), _fieldE8(0), _fieldEC(0),
+ _fieldF0(0), _fieldF4(0) {
+}
+
+void CPhonograph::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string2, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+ file->writeNumberLine(_fieldEC, indent);
+ file->writeNumberLine(_fieldF0, indent);
+ file->writeNumberLine(_fieldF4, indent);
+
+ CMusicPlayer::save(file, indent);
+}
+
+void CPhonograph::load(SimpleFile *file) {
+ file->readNumber();
+ _string2 = file->readString();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+ _fieldEC = file->readNumber();
+ _fieldF0 = file->readNumber();
+ _fieldF4 = file->readNumber();
+
+ CMusicPlayer::load(file);
+}
+
+bool CPhonograph::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("CPhonograph::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/phonograph.h b/engines/titanic/game/phonograph.h
new file mode 100644
index 0000000000..274d4ba367
--- /dev/null
+++ b/engines/titanic/game/phonograph.h
@@ -0,0 +1,58 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_PHONOGRAPH_H
+#define TITANIC_PHONOGRAPH_H
+
+#include "titanic/sound/music_player.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CPhonograph : public CMusicPlayer {
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+protected:
+ CString _string2;
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+ int _fieldEC;
+ int _fieldF0;
+ int _fieldF4;
+public:
+ CLASSDEF;
+ CPhonograph();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_MUSIC_CONSOLE_BUTTON_H */
diff --git a/engines/titanic/game/phonograph_lid.cpp b/engines/titanic/game/phonograph_lid.cpp
new file mode 100644
index 0000000000..a0518420f7
--- /dev/null
+++ b/engines/titanic/game/phonograph_lid.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/phonograph_lid.h"
+
+namespace Titanic {
+
+void CPhonographLid::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CPhonographLid::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/phonograph_lid.h b/engines/titanic/game/phonograph_lid.h
new file mode 100644
index 0000000000..ab32be268b
--- /dev/null
+++ b/engines/titanic/game/phonograph_lid.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_PHONOGRAPH_LID_H
+#define TITANIC_PHONOGRAPH_LID_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CPhonographLid : public CGameObject {
+private:
+ int _value;
+public:
+ CLASSDEF;
+ CPhonographLid() : CGameObject(), _value(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PHONOGRAPH_LID_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..c660a36a32
--- /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) {
+ 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..f0b6794442
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up.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_H
+#define TITANIC_PICK_UP_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CPickUp : public CGameObject {
+private:
+ int _fieldBC;
+public:
+ CLASSDEF;
+ CPickUp() : CGameObject(), _fieldBC(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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..85b883281e
--- /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) {
+ 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..b5ef6f5a47
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_bar_glass.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#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:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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..7375ddaa63
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_hose.cpp
@@ -0,0 +1,45 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/pickup/pick_up_hose.h"
+
+namespace Titanic {
+
+int CPickUpHose::_v1;
+
+void CPickUpHose::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string1, indent);
+ file->writeNumberLine(_v1, indent);
+
+ CPickUp::save(file, indent);
+}
+
+void CPickUpHose::load(SimpleFile *file) {
+ file->readNumber();
+ _string1 = file->readString();
+ _v1 = file->readNumber();
+
+ CPickUp::load(file);
+}
+
+} // 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..80ccedc845
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_hose.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#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:
+ static int _v1;
+
+ CString _string1;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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..772114f76c
--- /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) {
+ 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..0312c71012
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_lemon.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#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:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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..0b9a8d2c48
--- /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) {
+ 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..29dce04fb3
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_speech_centre.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#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:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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..796e46778c
--- /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) {
+ 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..4f808f73c5
--- /dev/null
+++ b/engines/titanic/game/pickup/pick_up_vis_centre.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#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:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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..a8a33fe1b1
--- /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) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CPlaceHolderItem::save(file, indent);
+}
+
+void CBarShelfVisCentre::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CPlaceHolderItem::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..a53ef2633f
--- /dev/null
+++ b/engines/titanic/game/placeholder/bar_shelf_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_BAR_SHELF_VIS_CENTRE_H
+#define TITANIC_BAR_SHELF_VIS_CENTRE_H
+
+#include "titanic/game/placeholder/place_holder_item.h"
+
+namespace Titanic {
+
+class CBarShelfVisCentre : public CPlaceHolderItem {
+private:
+ int _value;
+public:
+ CLASSDEF;
+ CBarShelfVisCentre() : CPlaceHolderItem(), _value(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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..08d686e81a
--- /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) {
+ file->writeNumberLine(1, indent);
+ file->writePoint(_pos1, indent);
+ CPlaceHolderItem::save(file, indent);
+}
+
+void CLemonOnBar::load(SimpleFile *file) {
+ file->readNumber();
+ _pos1 = file->readPoint();
+ CPlaceHolderItem::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..92dd54c49b
--- /dev/null
+++ b/engines/titanic/game/placeholder/lemon_on_bar.h
@@ -0,0 +1,49 @@
+/* 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_item.h"
+
+namespace Titanic {
+
+class CLemonOnBar : public CPlaceHolderItem {
+private:
+ Point _pos1;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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/placeholder/place_holder_item.cpp b/engines/titanic/game/placeholder/place_holder_item.cpp
new file mode 100644
index 0000000000..365e8cbe50
--- /dev/null
+++ b/engines/titanic/game/placeholder/place_holder_item.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/placeholder/place_holder_item.h"
+
+namespace Titanic {
+
+void CPlaceHolderItem::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CPlaceHolderItem::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/placeholder/place_holder_item.h b/engines/titanic/game/placeholder/place_holder_item.h
new file mode 100644
index 0000000000..de04a64bf7
--- /dev/null
+++ b/engines/titanic/game/placeholder/place_holder_item.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_PLACE_HOLDER_H
+#define TITANIC_PLACE_HOLDER_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CPlaceHolderItem : public CGameObject {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_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..efbbe50461
--- /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) {
+ file->writeNumberLine(1, indent);
+ file->writePoint(_pos1, indent);
+ CPlaceHolderItem::save(file, indent);
+}
+
+void CTVOnBar::load(SimpleFile *file) {
+ file->readNumber();
+ _pos1 = file->readPoint();
+ CPlaceHolderItem::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..d41d972e73
--- /dev/null
+++ b/engines/titanic/game/placeholder/tv_on_bar.h
@@ -0,0 +1,49 @@
+/* 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_item.h"
+
+namespace Titanic {
+
+class CTVOnBar : public CPlaceHolderItem {
+private:
+ Point _pos1;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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/play_music_button.cpp b/engines/titanic/game/play_music_button.cpp
new file mode 100644
index 0000000000..8066739f10
--- /dev/null
+++ b/engines/titanic/game/play_music_button.cpp
@@ -0,0 +1,43 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/play_music_button.h"
+
+namespace Titanic {
+
+void CPlayMusicButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CPlayMusicButton::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/play_music_button.h b/engines/titanic/game/play_music_button.h
new file mode 100644
index 0000000000..4e3474181c
--- /dev/null
+++ b/engines/titanic/game/play_music_button.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_PLAY_MUSIC_BUTTON_H
+#define TITANIC_PLAY_MUSIC_BUTTON_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CPlayMusicButton : public CBackground {
+public:
+ int _fieldE0;
+ int _fieldE4;
+public:
+ CLASSDEF;
+ CPlayMusicButton() : CBackground(), _fieldE0(0), _fieldE4(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PLAY_MUSIC_BUTTON_H */
diff --git a/engines/titanic/game/play_on_act.cpp b/engines/titanic/game/play_on_act.cpp
new file mode 100644
index 0000000000..e1ef1201c6
--- /dev/null
+++ b/engines/titanic/game/play_on_act.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/play_on_act.h"
+
+namespace Titanic {
+
+void CPlayOnAct::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CBackground::save(file, indent);
+}
+
+void CPlayOnAct::load(SimpleFile *file) {
+ file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/play_on_act.h b/engines/titanic/game/play_on_act.h
new file mode 100644
index 0000000000..197e647943
--- /dev/null
+++ b/engines/titanic/game/play_on_act.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_PLAY_ON_ACT_H
+#define TITANIC_PLAY_ON_ACT_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CPlayOnAct : public CBackground {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PLAY_ON_ACT_H */
diff --git a/engines/titanic/game/port_hole.cpp b/engines/titanic/game/port_hole.cpp
new file mode 100644
index 0000000000..f3c447f443
--- /dev/null
+++ b/engines/titanic/game/port_hole.cpp
@@ -0,0 +1,49 @@
+/* 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/port_hole.h"
+
+namespace Titanic {
+
+CPortHole::CPortHole() : CGameObject(), _fieldBC(0),
+ _string1("b#47.wav"), _string2("b#46.wav") {
+}
+
+void CPortHole::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeQuotedLine(_string1, indent);
+ file->writeQuotedLine(_string2, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CPortHole::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _string1 = file->readString();
+ _string2 = file->readString();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/port_hole.h b/engines/titanic/game/port_hole.h
new file mode 100644
index 0000000000..7bba18d12a
--- /dev/null
+++ b/engines/titanic/game/port_hole.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_PORT_HOLE_H
+#define TITANIC_PORT_HOLE_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CPortHole : public CGameObject {
+private:
+ int _fieldBC;
+ CString _string1, _string2;
+public:
+ CLASSDEF;
+ CPortHole();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_PORT_HOLE_H */
diff --git a/engines/titanic/game/record_phonograph_button.cpp b/engines/titanic/game/record_phonograph_button.cpp
new file mode 100644
index 0000000000..f022957dbb
--- /dev/null
+++ b/engines/titanic/game/record_phonograph_button.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/record_phonograph_button.h"
+
+namespace Titanic {
+
+void CRecordPhonographButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CBackground::save(file, indent);
+}
+
+void CRecordPhonographButton::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/record_phonograph_button.h b/engines/titanic/game/record_phonograph_button.h
new file mode 100644
index 0000000000..3383c01e31
--- /dev/null
+++ b/engines/titanic/game/record_phonograph_button.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_RECORD_PHONOGRAPH_BUTTON_H
+#define TITANIC_RECORD_PHONOGRAPH_BUTTON_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CRecordPhonographButton : public CBackground {
+public:
+ int _value;
+public:
+ CLASSDEF;
+ CRecordPhonographButton() : CBackground(), _value(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_RECORD_PHONOGRAPH_BUTTON_H */
diff --git a/engines/titanic/game/replacement_ear.cpp b/engines/titanic/game/replacement_ear.cpp
new file mode 100644
index 0000000000..1f9960365d
--- /dev/null
+++ b/engines/titanic/game/replacement_ear.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/replacement_ear.h"
+
+namespace Titanic {
+
+void CReplacementEar::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CBackground::save(file, indent);
+}
+
+void CReplacementEar::load(SimpleFile *file) {
+ file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/replacement_ear.h b/engines/titanic/game/replacement_ear.h
new file mode 100644
index 0000000000..0d282b7fb4
--- /dev/null
+++ b/engines/titanic/game/replacement_ear.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_REPLACEMENT_EAR_H
+#define TITANIC_REPLACEMENT_EAR_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CReplacementEar : public CBackground {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_REPLACEMENT_EAR_H */
diff --git a/engines/titanic/game/reserved_table.cpp b/engines/titanic/game/reserved_table.cpp
new file mode 100644
index 0000000000..a600190709
--- /dev/null
+++ b/engines/titanic/game/reserved_table.cpp
@@ -0,0 +1,42 @@
+/* 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/reserved_table.h"
+
+namespace Titanic {
+
+void CReservedTable::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value1, indent);
+ file->writeNumberLine(_value2, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CReservedTable::load(SimpleFile *file) {
+ file->readNumber();
+ _value1 = file->readNumber();
+ _value2 = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/reserved_table.h b/engines/titanic/game/reserved_table.h
new file mode 100644
index 0000000000..a3532c7d14
--- /dev/null
+++ b/engines/titanic/game/reserved_table.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_RESERVED_TABLE_H
+#define TITANIC_RESERVED_TABLE_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CReservedTable : public CGameObject {
+public:
+ int _value1, _value2;
+public:
+ CLASSDEF;
+ CReservedTable() : CGameObject(), _value1(0), _value2(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_RESERVED_TABLE_H */
diff --git a/engines/titanic/game/restaurant_cylinder_holder.cpp b/engines/titanic/game/restaurant_cylinder_holder.cpp
new file mode 100644
index 0000000000..d70009f151
--- /dev/null
+++ b/engines/titanic/game/restaurant_cylinder_holder.cpp
@@ -0,0 +1,58 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/restaurant_cylinder_holder.h"
+
+namespace Titanic {
+
+CRestaurantCylinderHolder::CRestaurantCylinderHolder() : CDropTarget(),
+ _field118(0), _field11C(0), _field12C(0), _field130(0),
+ _string6("z#61.wav"), _field140(1) {
+}
+
+void CRestaurantCylinderHolder::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field118, indent);
+ file->writeNumberLine(_field11C, indent);
+ file->writeQuotedLine(_string5, indent);
+ file->writeNumberLine(_field12C, indent);
+ file->writeNumberLine(_field130, indent);
+ file->writeQuotedLine(_string6, indent);
+ file->writeNumberLine(_field140, indent);
+
+ CDropTarget::save(file, indent);
+}
+
+void CRestaurantCylinderHolder::load(SimpleFile *file) {
+ file->readNumber();
+ _field118 = file->readNumber();
+ _field11C = file->readNumber();
+ _string5 = file->readString();
+ _field12C = file->readNumber();
+ _field130 = file->readNumber();
+ _string6 = file->readString();
+ _field140 = file->readNumber();
+
+ CDropTarget::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/restaurant_cylinder_holder.h b/engines/titanic/game/restaurant_cylinder_holder.h
new file mode 100644
index 0000000000..3aa979b0a5
--- /dev/null
+++ b/engines/titanic/game/restaurant_cylinder_holder.h
@@ -0,0 +1,56 @@
+/* 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_RESTAURANT_CYLINDER_HOLDER_H
+#define TITANIC_RESTAURANT_CYLINDER_HOLDER_H
+
+#include "titanic/core/drop_target.h"
+
+namespace Titanic {
+
+class CRestaurantCylinderHolder : public CDropTarget {
+private:
+ int _field118;
+ int _field11C;
+ CString _string5;
+ int _field12C;
+ int _field130;
+ CString _string6;
+ int _field140;
+public:
+ CLASSDEF;
+ CRestaurantCylinderHolder();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_RESTAURANT_CYLINDER_HOLDER_H */
diff --git a/engines/titanic/game/restaurant_phonograph.cpp b/engines/titanic/game/restaurant_phonograph.cpp
new file mode 100644
index 0000000000..83a4ac3e71
--- /dev/null
+++ b/engines/titanic/game/restaurant_phonograph.cpp
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/restaurant_phonograph.h"
+
+namespace Titanic {
+
+CRestaurantPhonograph::CRestaurantPhonograph() : CPhonograph(),
+ _fieldF8(1), _field114(0) {}
+
+void CRestaurantPhonograph::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldF8, indent);
+ file->writeQuotedLine(_string2, indent);
+ file->writeQuotedLine(_string3, indent);
+
+ file->writeNumberLine(_field114, indent);
+
+ CPhonograph::save(file, indent);
+}
+
+void CRestaurantPhonograph::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldF8 = file->readNumber();
+ _string2 = file->readString();
+ _string3 = file->readString();
+ _field114 = file->readNumber();
+
+ CPhonograph::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/restaurant_phonograph.h b/engines/titanic/game/restaurant_phonograph.h
new file mode 100644
index 0000000000..710a2edd73
--- /dev/null
+++ b/engines/titanic/game/restaurant_phonograph.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_RESTAURANT_PHONOGRAPH_H
+#define TITANIC_RESTAURANT_PHONOGRAPH_H
+
+#include "titanic/game/phonograph.h"
+
+namespace Titanic {
+
+class CRestaurantPhonograph : public CPhonograph {
+private:
+ int _fieldF8;
+ CString _string2;
+ CString _string3;
+ int _field114;
+public:
+ CLASSDEF;
+ CRestaurantPhonograph();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_RESTAURANT_PHONOGRAPH_H */
diff --git a/engines/titanic/game/sauce_dispensor.cpp b/engines/titanic/game/sauce_dispensor.cpp
new file mode 100644
index 0000000000..8dc818d917
--- /dev/null
+++ b/engines/titanic/game/sauce_dispensor.cpp
@@ -0,0 +1,57 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/sauce_dispensor.h"
+
+namespace Titanic {
+
+CSauceDispensor::CSauceDispensor() : CBackground(),
+ _fieldEC(0), _fieldF0(0), _field104(0), _field108(0) {
+}
+
+void CSauceDispensor::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string3, indent);
+ file->writeNumberLine(_fieldEC, indent);
+ file->writeNumberLine(_fieldF0, indent);
+ file->writePoint(_pos1, indent);
+ file->writePoint(_pos2, indent);
+ file->writeNumberLine(_field104, indent);
+ file->writeNumberLine(_field108, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CSauceDispensor::load(SimpleFile *file) {
+ file->readNumber();
+ _string3 = file->readString();
+ _fieldEC = file->readNumber();
+ _fieldF0 = file->readNumber();
+ _pos1 = file->readPoint();
+ _pos2 = file->readPoint();
+ _field104 = file->readNumber();
+ _field108 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sauce_dispensor.h b/engines/titanic/game/sauce_dispensor.h
new file mode 100644
index 0000000000..aa177050d5
--- /dev/null
+++ b/engines/titanic/game/sauce_dispensor.h
@@ -0,0 +1,56 @@
+/* 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_SAUCE_DISPENSOR_H
+#define TITANIC_SAUCE_DISPENSOR_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CSauceDispensor : public CBackground {
+public:
+ CString _string3;
+ int _fieldEC;
+ int _fieldF0;
+ Point _pos1;
+ Point _pos2;
+ int _field104;
+ int _field108;
+public:
+ CLASSDEF;
+ CSauceDispensor();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SAUCE_DISPENSOR_H */
diff --git a/engines/titanic/game/search_point.cpp b/engines/titanic/game/search_point.cpp
new file mode 100644
index 0000000000..f60a3132b7
--- /dev/null
+++ b/engines/titanic/game/search_point.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/search_point.h"
+
+namespace Titanic {
+
+void CSearchPoint::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CSearchPoint::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/search_point.h b/engines/titanic/game/search_point.h
new file mode 100644
index 0000000000..3c5639b104
--- /dev/null
+++ b/engines/titanic/game/search_point.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_SEARCH_POINT_H
+#define TITANIC_SEARCH_POINT_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CSearchPoint : public CGameObject {
+public:
+ int _value;
+public:
+ CLASSDEF;
+ CSearchPoint() : CGameObject(), _value(2) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SEARCH_POINT_H */
diff --git a/engines/titanic/game/season_background.cpp b/engines/titanic/game/season_background.cpp
new file mode 100644
index 0000000000..1c63f3d892
--- /dev/null
+++ b/engines/titanic/game/season_background.cpp
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/season_background.h"
+
+namespace Titanic {
+
+CSeasonBackground::CSeasonBackground() : CBackground(),
+ _fieldE0(0), _fieldE4(0), _fieldE8(46), _fieldEC(0) {
+}
+
+void CSeasonBackground::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+ file->writeNumberLine(_fieldEC, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CSeasonBackground::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+ _fieldEC = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/season_background.h b/engines/titanic/game/season_background.h
new file mode 100644
index 0000000000..f0fd2cdc63
--- /dev/null
+++ b/engines/titanic/game/season_background.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_SEASON_BACKGROUND_H
+#define TITANIC_SEASON_BACKGROUND_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CSeasonBackground : public CBackground {
+public:
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+ int _fieldEC;
+public:
+ CLASSDEF;
+ CSeasonBackground();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SEASON_BACKGROUND_H */
diff --git a/engines/titanic/game/season_barrel.cpp b/engines/titanic/game/season_barrel.cpp
new file mode 100644
index 0000000000..9594396885
--- /dev/null
+++ b/engines/titanic/game/season_barrel.cpp
@@ -0,0 +1,42 @@
+/* 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/season_barrel.h"
+
+namespace Titanic {
+
+void CSeasonBarrel::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CSeasonBarrel::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/season_barrel.h b/engines/titanic/game/season_barrel.h
new file mode 100644
index 0000000000..f77864599d
--- /dev/null
+++ b/engines/titanic/game/season_barrel.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_SEASON_BARREL_H
+#define TITANIC_SEASON_BARREL_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CSeasonBarrel : public CBackground {
+public:
+ int _fieldE0;
+ int _fieldE4;
+public:
+ CLASSDEF;
+ CSeasonBarrel() : CBackground(), _fieldE0(0), _fieldE4(7) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SEASON_BARREL_H */
diff --git a/engines/titanic/game/seasonal_adjustment.cpp b/engines/titanic/game/seasonal_adjustment.cpp
new file mode 100644
index 0000000000..33a0ae89c5
--- /dev/null
+++ b/engines/titanic/game/seasonal_adjustment.cpp
@@ -0,0 +1,43 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/seasonal_adjustment.h"
+
+namespace Titanic {
+
+void CSeasonalAdjustment::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CSeasonalAdjustment::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/seasonal_adjustment.h b/engines/titanic/game/seasonal_adjustment.h
new file mode 100644
index 0000000000..39132d614d
--- /dev/null
+++ b/engines/titanic/game/seasonal_adjustment.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_SEASONAL_ADJUSTMENT_H
+#define TITANIC_SEASONAL_ADJUSTMENT_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CSeasonalAdjustment : public CBackground {
+public:
+ int _fieldE0;
+ int _fieldE4;
+public:
+ CLASSDEF;
+ CSeasonalAdjustment() : CBackground(), _fieldE0(0), _fieldE4(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SEASONAL_ADJUSTMENT_H */
diff --git a/engines/titanic/game/service_elevator_window.cpp b/engines/titanic/game/service_elevator_window.cpp
new file mode 100644
index 0000000000..95b2735b37
--- /dev/null
+++ b/engines/titanic/game/service_elevator_window.cpp
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/service_elevator_window.h"
+
+namespace Titanic {
+
+CServiceElevatorWindow::CServiceElevatorWindow() : CBackground(),
+ _fieldE0(0), _fieldE4(0), _fieldE8(0), _fieldEC(0) {
+}
+
+void CServiceElevatorWindow::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+ file->writeNumberLine(_fieldEC, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CServiceElevatorWindow::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+ _fieldEC = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/service_elevator_window.h b/engines/titanic/game/service_elevator_window.h
new file mode 100644
index 0000000000..4233b8405a
--- /dev/null
+++ b/engines/titanic/game/service_elevator_window.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_SERVICE_ELEVATOR_WINDOW_H
+#define TITANIC_SERVICE_ELEVATOR_WINDOW_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CServiceElevatorWindow : public CBackground {
+public:
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+ int _fieldEC;
+public:
+ CLASSDEF;
+ CServiceElevatorWindow();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SERVICE_ELEVATOR_WINDOW_H */
diff --git a/engines/titanic/game/sgt/armchair.cpp b/engines/titanic/game/sgt/armchair.cpp
new file mode 100644
index 0000000000..4c4ef44199
--- /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) {
+ 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..b5505554f0
--- /dev/null
+++ b/engines/titanic/game/sgt/armchair.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_ARMCHAIR_H
+#define TITANIC_ARMCHAIR_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CArmchair : public CSGTStateRoom {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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..1eb1d161c9
--- /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) {
+ 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..e4a36eb841
--- /dev/null
+++ b/engines/titanic/game/sgt/basin.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_BASIN_H
+#define TITANIC_BASIN_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CBasin : public CSGTStateRoom {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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..18ea07aca0
--- /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) {
+ 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..df3db42d6d
--- /dev/null
+++ b/engines/titanic/game/sgt/bedfoot.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_BEDFOOT_H
+#define TITANIC_BEDFOOT_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CBedfoot : public CSGTStateRoom {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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..fad7272f3a
--- /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) {
+ 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..f1ba31786c
--- /dev/null
+++ b/engines/titanic/game/sgt/bedhead.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_BEDHEAD_H
+#define TITANIC_BEDHEAD_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CBedhead : public CSGTStateRoom {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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..be62e12c8e
--- /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) {
+ 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..16a1bf8fea
--- /dev/null
+++ b/engines/titanic/game/sgt/chest_of_drawers.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#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:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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..4dd0fdab92
--- /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) {
+ 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..77b5fa17af
--- /dev/null
+++ b/engines/titanic/game/sgt/desk.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_DESK_H
+#define TITANIC_DESK_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CDesk : public CSGTStateRoom {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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..a4a2badeb0
--- /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) {
+ 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..5181b650d2
--- /dev/null
+++ b/engines/titanic/game/sgt/deskchair.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_DESKCHAIR_H
+#define TITANIC_DESKCHAIR_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CDeskchair : public CSGTStateRoom {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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/sgt/drawer.cpp b/engines/titanic/game/sgt/drawer.cpp
new file mode 100644
index 0000000000..03aa1b5358
--- /dev/null
+++ b/engines/titanic/game/sgt/drawer.cpp
@@ -0,0 +1,42 @@
+/* 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/drawer.h"
+
+namespace Titanic {
+
+CDrawer::CDrawer() : CSGTStateRoom(), _fieldF4(0) {
+}
+
+void CDrawer::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldF4, indent);
+ CSGTStateRoom::save(file, indent);
+}
+
+void CDrawer::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldF4 = file->readNumber();
+ CSGTStateRoom::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/drawer.h b/engines/titanic/game/sgt/drawer.h
new file mode 100644
index 0000000000..c079be389f
--- /dev/null
+++ b/engines/titanic/game/sgt/drawer.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_DRAWER_H
+#define TITANIC_DRAWER_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CDrawer : public CSGTStateRoom {
+private:
+ int _fieldF4;
+public:
+ CLASSDEF;
+ CDrawer();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_DRAWER_H */
diff --git a/engines/titanic/game/sgt/sgt_doors.cpp b/engines/titanic/game/sgt/sgt_doors.cpp
new file mode 100644
index 0000000000..516b0f1351
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_doors.cpp
@@ -0,0 +1,43 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/sgt/sgt_doors.h"
+
+namespace Titanic {
+
+void CSGTDoors::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value1, indent);
+ file->writeNumberLine(_value2, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CSGTDoors::load(SimpleFile *file) {
+ file->readNumber();
+ _value1 = file->readNumber();
+ _value2 = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_doors.h b/engines/titanic/game/sgt/sgt_doors.h
new file mode 100644
index 0000000000..4b4f4a3153
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_doors.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_DOORS_H
+#define TITANIC_SGT_DOORS_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CSGTDoors : public CGameObject {
+public:
+ int _value1, _value2;
+public:
+ CLASSDEF;
+ CSGTDoors() : CGameObject(), _value1(0), _value2(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SGT_DOORS_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..f98e486fd0
--- /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) {
+ 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..40fdc4eff1
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_nav.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#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:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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_navigation.cpp b/engines/titanic/game/sgt/sgt_navigation.cpp
new file mode 100644
index 0000000000..d0c308457c
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_navigation.cpp
@@ -0,0 +1,55 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/sgt/sgt_navigation.h"
+
+namespace Titanic {
+
+CSGTNavigationStatics *CSGTNavigation::_statics;
+
+void CSGTNavigation::init() {
+ _statics = new CSGTNavigationStatics();
+}
+
+void CSGTNavigation::deinit() {
+ delete _statics;
+}
+
+void CSGTNavigation::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_statics->_v1, indent);
+ file->writeQuotedLine(_statics->_v2, indent);
+ file->writeQuotedLine(_statics->_v3, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CSGTNavigation::load(SimpleFile *file) {
+ file->readNumber();
+ _statics->_v1 = file->readNumber();
+ _statics->_v2 = file->readString();
+ _statics->_v3 = file->readString();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_navigation.h b/engines/titanic/game/sgt/sgt_navigation.h
new file mode 100644
index 0000000000..6d24fe6761
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_navigation.h
@@ -0,0 +1,57 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_SGT_NAVIGATION_H
+#define TITANIC_SGT_NAVIGATION_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+struct CSGTNavigationStatics {
+ int _v1;
+ CString _v2;
+ CString _v3;
+};
+
+class CSGTNavigation : public CGameObject {
+private:
+ static CSGTNavigationStatics *_statics;
+public:
+ CLASSDEF;
+ static void init();
+ static void deinit();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SGT_NAVIGATION_H */
diff --git a/engines/titanic/game/sgt/sgt_restaurant_doors.cpp b/engines/titanic/game/sgt/sgt_restaurant_doors.cpp
new file mode 100644
index 0000000000..74a71e75b2
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_restaurant_doors.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_restaurant_doors.h"
+
+namespace Titanic {
+
+void CSGTRestaurantDoors::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ CGameObject::save(file, indent);
+}
+
+void CSGTRestaurantDoors::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_restaurant_doors.h b/engines/titanic/game/sgt/sgt_restaurant_doors.h
new file mode 100644
index 0000000000..2a10d8f059
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_restaurant_doors.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_RESTAURANT_DOORS_H
+#define TITANIC_SGT_RESTAURANT_DOORS_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CSGTRestaurantDoors : public CGameObject {
+private:
+ int _fieldBC;
+public:
+ CLASSDEF;
+ CSGTRestaurantDoors() : CGameObject(), _fieldBC(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SGT_RESTAURANT_DOORS_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..07c1f5efc0
--- /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) {
+ 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..49fd5113cd
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_state_control.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_STATE_CONTROL_H
+#define TITANIC_SGT_STATE_CONTROL_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CSGTStateControl : public CBackground {
+private:
+ int _fieldE0;
+public:
+ CLASSDEF;
+ CSGTStateControl() : CBackground(), _fieldE0(1) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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_state_room.cpp b/engines/titanic/game/sgt/sgt_state_room.cpp
new file mode 100644
index 0000000000..55f08de8b4
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_state_room.cpp
@@ -0,0 +1,102 @@
+/* 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_room.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CSGTStateRoom, CBackground)
+ ON_MESSAGE(EnterRoomMsg)
+END_MESSAGE_MAP()
+
+CSGTStateRoomStatics *CSGTStateRoom::_statics;
+
+void CSGTStateRoom::init() {
+ _statics = new CSGTStateRoomStatics();
+}
+
+void CSGTStateRoom::deinit() {
+ delete _statics;
+}
+
+CSGTStateRoom::CSGTStateRoom() : CBackground(), _fieldE0(1),
+ _fieldE4(1), _fieldE8(0), _fieldEC(1), _fieldF0(1) {
+}
+
+void CSGTStateRoom::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_statics->_v1, indent);
+ file->writeQuotedLine(_statics->_v2, indent);
+ file->writeQuotedLine(_statics->_v3, indent);
+ file->writeQuotedLine(_statics->_v4, indent);
+ file->writeQuotedLine(_statics->_v5, indent);
+ file->writeQuotedLine(_statics->_v6, indent);
+ file->writeQuotedLine(_statics->_v7, indent);
+ file->writeQuotedLine(_statics->_v8, indent);
+ file->writeQuotedLine(_statics->_v9, indent);
+ file->writeQuotedLine(_statics->_v10, indent);
+ file->writeQuotedLine(_statics->_v11, indent);
+ file->writeQuotedLine(_statics->_v12, indent);
+
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_statics->_v13, indent);
+ file->writeNumberLine(_statics->_v14, indent);
+ file->writeNumberLine(_fieldE8, indent);
+ file->writeNumberLine(_fieldEC, indent);
+ file->writeNumberLine(_fieldF0, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CSGTStateRoom::load(SimpleFile *file) {
+ file->readNumber();
+ _statics->_v1 = file->readString();
+ _statics->_v2 = file->readString();
+ _statics->_v3 = file->readString();
+ _statics->_v4 = file->readString();
+ _statics->_v5 = file->readString();
+ _statics->_v6 = file->readString();
+ _statics->_v7 = file->readString();
+ _statics->_v8 = file->readString();
+ _statics->_v9 = file->readString();
+ _statics->_v10 = file->readString();
+ _statics->_v11 = file->readString();
+ _statics->_v12 = file->readString();
+
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _statics->_v13 = file->readNumber();
+ _statics->_v14 = file->readNumber();
+ _fieldE8 = file->readNumber();
+ _fieldEC = file->readNumber();
+ _fieldF0 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+bool CSGTStateRoom::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("CSGTStateRoom::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_state_room.h b/engines/titanic/game/sgt/sgt_state_room.h
new file mode 100644
index 0000000000..375da71326
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_state_room.h
@@ -0,0 +1,78 @@
+/* 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_ROOM_H
+#define TITANIC_SGT_STATE_ROOM_H
+
+#include "titanic/core/background.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+struct CSGTStateRoomStatics {
+ CString _v1;
+ CString _v2;
+ CString _v3;
+ CString _v4;
+ CString _v5;
+ CString _v6;
+ CString _v7;
+ CString _v8;
+ CString _v9;
+ CString _v10;
+ CString _v11;
+ CString _v12;
+ int _v13;
+ int _v14;
+};
+
+class CSGTStateRoom : public CBackground {
+ DECLARE_MESSAGE_MAP;
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+private:
+ static CSGTStateRoomStatics *_statics;
+private:
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+ int _fieldEC;
+ int _fieldF0;
+public:
+ CLASSDEF;
+ CSGTStateRoom();
+ static void init();
+ static void deinit();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SGT_STATE_ROOM_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..ae4c59e2f9
--- /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) {
+ 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..90fed90efe
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_tv.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#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:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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/sgt_upper_doors_sound.cpp b/engines/titanic/game/sgt/sgt_upper_doors_sound.cpp
new file mode 100644
index 0000000000..ed37b0a5c7
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_upper_doors_sound.cpp
@@ -0,0 +1,45 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/sgt/sgt_upper_doors_sound.h"
+
+namespace Titanic {
+
+CSGTUpperDoorsSound::CSGTUpperDoorsSound() {
+ _string2 = "b#53.wav";
+}
+
+void CSGTUpperDoorsSound::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string2, indent);
+
+ CClickResponder::save(file, indent);
+}
+
+void CSGTUpperDoorsSound::load(SimpleFile *file) {
+ file->readNumber();
+ _string2 = file->readString();
+
+ CClickResponder::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sgt/sgt_upper_doors_sound.h b/engines/titanic/game/sgt/sgt_upper_doors_sound.h
new file mode 100644
index 0000000000..fc8c6c2bf1
--- /dev/null
+++ b/engines/titanic/game/sgt/sgt_upper_doors_sound.h
@@ -0,0 +1,48 @@
+/* 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_UPPER_DOORS_SOUND_H
+#define TITANIC_SGT_UPPER_DOORS_SOUND_H
+
+#include "titanic/core/click_responder.h"
+
+namespace Titanic {
+
+class CSGTUpperDoorsSound : public CClickResponder {
+public:
+ CLASSDEF;
+ CSGTUpperDoorsSound();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SGT_UPPER_DOORS_SOUND_H */
diff --git a/engines/titanic/game/sgt/toilet.cpp b/engines/titanic/game/sgt/toilet.cpp
new file mode 100644
index 0000000000..799abd6c76
--- /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) {
+ 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..d87531ad7a
--- /dev/null
+++ b/engines/titanic/game/sgt/toilet.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_TOILET_H
+#define TITANIC_TOILET_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CToilet : public CSGTStateRoom {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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..3e04b5db9e
--- /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) {
+ 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..8aa35acdf5
--- /dev/null
+++ b/engines/titanic/game/sgt/vase.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_VASE_H
+#define TITANIC_VASE_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CVase : public CSGTStateRoom {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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..8127a59a59
--- /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) {
+ 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..f140b17f49
--- /dev/null
+++ b/engines/titanic/game/sgt/washstand.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_WASHSTAND_H
+#define TITANIC_WASHSTAND_H
+
+#include "titanic/game/sgt/sgt_state_room.h"
+
+namespace Titanic {
+
+class CWashstand : public CSGTStateRoom {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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/ship_setting.cpp b/engines/titanic/game/ship_setting.cpp
new file mode 100644
index 0000000000..462f396501
--- /dev/null
+++ b/engines/titanic/game/ship_setting.cpp
@@ -0,0 +1,56 @@
+/* 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/ship_setting.h"
+
+namespace Titanic {
+
+CShipSetting::CShipSetting() : CBackground(),
+ _string4("NULL"), _string5("NULL") {
+}
+
+void CShipSetting::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string3, indent);
+ file->writePoint(_pos1, indent);
+ file->writeQuotedLine(_string4, indent);
+ file->writeQuotedLine(_string5, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CShipSetting::load(SimpleFile *file) {
+ file->readNumber();
+ _string3 = file->readString();
+ _pos1 = file->readPoint();
+ _string4 = file->readString();
+ _string5 = file->readString();
+
+ CBackground::load(file);
+}
+
+bool CShipSetting::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("CShipSetting::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/ship_setting.h b/engines/titanic/game/ship_setting.h
new file mode 100644
index 0000000000..4fcc10a424
--- /dev/null
+++ b/engines/titanic/game/ship_setting.h
@@ -0,0 +1,55 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_SHIP_SETTING_H
+#define TITANIC_SHIP_SETTING_H
+
+#include "titanic/core/background.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CShipSetting : public CBackground {
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+public:
+ CString _string3;
+ Point _pos1;
+ CString _string4;
+ CString _string5;
+public:
+ CLASSDEF;
+ CShipSetting();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SHIP_SETTING_H */
diff --git a/engines/titanic/game/ship_setting_button.cpp b/engines/titanic/game/ship_setting_button.cpp
new file mode 100644
index 0000000000..7dc2cabac0
--- /dev/null
+++ b/engines/titanic/game/ship_setting_button.cpp
@@ -0,0 +1,48 @@
+/* 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/ship_setting_button.h"
+
+namespace Titanic {
+
+CShipSettingButton::CShipSettingButton() : CGameObject(), _fieldC8(0), _fieldCC(0) {
+}
+
+void CShipSettingButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string1, indent);
+ file->writeNumberLine(_fieldC8, indent);
+ file->writeNumberLine(_fieldCC, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CShipSettingButton::load(SimpleFile *file) {
+ file->readNumber();
+ _string1 = file->readString();
+ _fieldC8 = file->readNumber();
+ _fieldCC = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/ship_setting_button.h b/engines/titanic/game/ship_setting_button.h
new file mode 100644
index 0000000000..e152e8e2c3
--- /dev/null
+++ b/engines/titanic/game/ship_setting_button.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_SHIP_SETTING_BUTTON_H
+#define TITANIC_SHIP_SETTING_BUTTON_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CShipSettingButton : public CGameObject {
+private:
+ CString _string1;
+ int _fieldC8;
+ int _fieldCC;
+public:
+ CLASSDEF;
+ CShipSettingButton();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SHIP_SETTING_BUTTON_H */
diff --git a/engines/titanic/game/show_cell_points.cpp b/engines/titanic/game/show_cell_points.cpp
new file mode 100644
index 0000000000..7d54401a02
--- /dev/null
+++ b/engines/titanic/game/show_cell_points.cpp
@@ -0,0 +1,41 @@
+/* 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/show_cell_points.h"
+
+namespace Titanic {
+
+void CShowCellpoints::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_strValue, indent);
+ file->writeNumberLine(_numValue, indent);
+ CGameObject::save(file, indent);
+}
+
+void CShowCellpoints::load(SimpleFile *file) {
+ file->readNumber();
+ _strValue = file->readString();
+ _numValue = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/show_cell_points.h b/engines/titanic/game/show_cell_points.h
new file mode 100644
index 0000000000..9de2e06dca
--- /dev/null
+++ b/engines/titanic/game/show_cell_points.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef SHOW_CELL_POINTS_H
+#define SHOW_CELL_POINTS_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CShowCellpoints : public CGameObject {
+public:
+ CString _strValue;
+ int _numValue;
+public:
+ CLASSDEF;
+ CShowCellpoints() : CGameObject(), _numValue(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* SHOW_CELL_POINTS_H */
diff --git a/engines/titanic/game/speech_dispensor.cpp b/engines/titanic/game/speech_dispensor.cpp
new file mode 100644
index 0000000000..f9cc019672
--- /dev/null
+++ b/engines/titanic/game/speech_dispensor.cpp
@@ -0,0 +1,53 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/speech_dispensor.h"
+
+namespace Titanic {
+
+void CSpeechDispensor::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldEC, indent);
+ file->writeNumberLine(_fieldF0, indent);
+ file->writeNumberLine(_fieldF4, indent);
+ file->writeNumberLine(_fieldF8, indent);
+ file->writeNumberLine(_fieldFC, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CSpeechDispensor::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldEC = file->readNumber();
+ _fieldF0 = file->readNumber();
+ _fieldF4 = file->readNumber();
+ _fieldF8 = file->readNumber();
+ _fieldFC = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/speech_dispensor.h b/engines/titanic/game/speech_dispensor.h
new file mode 100644
index 0000000000..3b877e8d99
--- /dev/null
+++ b/engines/titanic/game/speech_dispensor.h
@@ -0,0 +1,56 @@
+/* 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_SPEECH_DISPENSOR_H
+#define TITANIC_SPEECH_DISPENSOR_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CSpeechDispensor : public CBackground {
+private:
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+ int _fieldEC;
+ int _fieldF0;
+ int _fieldF4;
+ int _fieldF8;
+ int _fieldFC;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SPEECH_DISPENSOR_H */
diff --git a/engines/titanic/game/splash_animation.cpp b/engines/titanic/game/splash_animation.cpp
new file mode 100644
index 0000000000..2094ec14fa
--- /dev/null
+++ b/engines/titanic/game/splash_animation.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/splash_animation.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CSplashAnimation, CGameObject);
+
+void CSplashAnimation::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CSplashAnimation::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/splash_animation.h b/engines/titanic/game/splash_animation.h
new file mode 100644
index 0000000000..11715b4d73
--- /dev/null
+++ b/engines/titanic/game/splash_animation.h
@@ -0,0 +1,48 @@
+/* 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_SPLASH_ANIMATION_H
+#define TITANIC_SPLASH_ANIMATION_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CSplashAnimation : public CGameObject {
+ DECLARE_MESSAGE_MAP;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SPLASH_ANIMATION_H */
diff --git a/engines/titanic/game/starling_puret.cpp b/engines/titanic/game/starling_puret.cpp
new file mode 100644
index 0000000000..359ad774df
--- /dev/null
+++ b/engines/titanic/game/starling_puret.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/starling_puret.h"
+
+namespace Titanic {
+
+void CStarlingPuret::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CStarlingPuret::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/starling_puret.h b/engines/titanic/game/starling_puret.h
new file mode 100644
index 0000000000..fcd3319958
--- /dev/null
+++ b/engines/titanic/game/starling_puret.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_STARLING_PURET_H
+#define TITANIC_STARLING_PURET_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CStarlingPuret : public CGameObject {
+private:
+ int _value;
+public:
+ CLASSDEF;
+ CStarlingPuret() : CGameObject(), _value(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_STARLING_PURET_H */
diff --git a/engines/titanic/game/start_action.cpp b/engines/titanic/game/start_action.cpp
new file mode 100644
index 0000000000..ab356ea1f4
--- /dev/null
+++ b/engines/titanic/game/start_action.cpp
@@ -0,0 +1,64 @@
+/* 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/start_action.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CStartAction, CBackground)
+ ON_MESSAGE(MouseButtonDownMsg)
+ ON_MESSAGE(MouseButtonUpMsg)
+END_MESSAGE_MAP()
+
+CStartAction::CStartAction() : CBackground() {
+}
+
+void CStartAction::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_msgTarget, indent);
+ file->writeQuotedLine(_msgAction, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CStartAction::load(SimpleFile *file) {
+ file->readNumber();
+ _msgTarget = file->readString();
+ _msgAction = file->readString();
+
+ CBackground::load(file);
+}
+
+bool CStartAction::MouseButtonDownMsg(CMouseButtonDownMsg *msg) {
+ // Dispatch the desired action to the desired target
+ CActMsg actMsg(_msgAction);
+ actMsg.execute(_msgTarget);
+
+ return true;
+}
+
+bool CStartAction::MouseButtonUpMsg(CMouseButtonUpMsg *msg) {
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/start_action.h b/engines/titanic/game/start_action.h
new file mode 100644
index 0000000000..60381bad2f
--- /dev/null
+++ b/engines/titanic/game/start_action.h
@@ -0,0 +1,55 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_START_ACTION_H
+#define TITANIC_START_ACTION_H
+
+#include "titanic/core/background.h"
+#include "titanic/messages/mouse_messages.h"
+
+namespace Titanic {
+
+class CStartAction : public CBackground {
+ DECLARE_MESSAGE_MAP;
+ bool MouseButtonDownMsg(CMouseButtonDownMsg *msg);
+ bool MouseButtonUpMsg(CMouseButtonUpMsg *msg);
+protected:
+ CString _msgTarget;
+ CString _msgAction;
+public:
+ CLASSDEF;
+ CStartAction();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_START_ACTION_H */
diff --git a/engines/titanic/game/stop_phonograph_button.cpp b/engines/titanic/game/stop_phonograph_button.cpp
new file mode 100644
index 0000000000..d18f4713ac
--- /dev/null
+++ b/engines/titanic/game/stop_phonograph_button.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/stop_phonograph_button.h"
+
+namespace Titanic {
+
+void CStopPhonographButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CBackground::save(file, indent);
+}
+
+void CStopPhonographButton::load(SimpleFile *file) {
+ file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/stop_phonograph_button.h b/engines/titanic/game/stop_phonograph_button.h
new file mode 100644
index 0000000000..b469375e20
--- /dev/null
+++ b/engines/titanic/game/stop_phonograph_button.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_STOP_PHONOGRAPH_BUTTON_H
+#define TITANIC_STOP_PHONOGRAPH_BUTTON_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CStopPhonographButton : public CBackground {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_STOP_PHONOGRAPH_BUTTON_H */
diff --git a/engines/titanic/game/sub_glass.cpp b/engines/titanic/game/sub_glass.cpp
new file mode 100644
index 0000000000..f1349f06ea
--- /dev/null
+++ b/engines/titanic/game/sub_glass.cpp
@@ -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.
+ *
+ */
+
+#include "titanic/game/sub_glass.h"
+
+namespace Titanic {
+
+CSUBGlass::CSUBGlass() : _fieldBC(0), _fieldC0(0), _fieldC4(1), _fieldC8(0) {
+}
+
+void CSUBGlass::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeNumberLine(_fieldC0, indent);
+ file->writeNumberLine(_fieldC4, indent);
+ file->writeNumberLine(_fieldC8, indent);
+ file->writeNumberLine(_fieldCC, indent);
+ file->writeQuotedLine(_string, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CSUBGlass::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _fieldC0 = file->readNumber();
+ _fieldC4 = file->readNumber();
+ _fieldC8 = file->readNumber();
+ _fieldCC = file->readNumber();
+ _string = file->readString();
+
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sub_glass.h b/engines/titanic/game/sub_glass.h
new file mode 100644
index 0000000000..aab5c8400e
--- /dev/null
+++ b/engines/titanic/game/sub_glass.h
@@ -0,0 +1,55 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_SUB_GLASS_H
+#define TITANIC_SUB_GLASS_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CSUBGlass : public CGameObject {
+private:
+ int _fieldBC;
+ int _fieldC0;
+ int _fieldC4;
+ int _fieldC8;
+ int _fieldCC;
+ CString _string;
+public:
+ CLASSDEF;
+ CSUBGlass();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_ROOM_ITEM_H */
diff --git a/engines/titanic/game/sub_wrapper.cpp b/engines/titanic/game/sub_wrapper.cpp
new file mode 100644
index 0000000000..dcc489316b
--- /dev/null
+++ b/engines/titanic/game/sub_wrapper.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/sub_wrapper.h"
+
+namespace Titanic {
+
+void CSUBWrapper::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CGameObject::save(file, indent);
+}
+
+void CSUBWrapper::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sub_wrapper.h b/engines/titanic/game/sub_wrapper.h
new file mode 100644
index 0000000000..81f8fdc941
--- /dev/null
+++ b/engines/titanic/game/sub_wrapper.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_SUB_WRAPPER_H
+#define TITANIC_SUB_WRAPPER_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CSUBWrapper : public CGameObject {
+public:
+ int _value;
+public:
+ CLASSDEF;
+ CSUBWrapper() : CGameObject(), _value(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SUB_WRAPPER_H */
diff --git a/engines/titanic/game/sweet_bowl.cpp b/engines/titanic/game/sweet_bowl.cpp
new file mode 100644
index 0000000000..e14f900e77
--- /dev/null
+++ b/engines/titanic/game/sweet_bowl.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/sweet_bowl.h"
+
+namespace Titanic {
+
+void CSweetBowl::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CSweetBowl::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/sweet_bowl.h b/engines/titanic/game/sweet_bowl.h
new file mode 100644
index 0000000000..cf3d0023a4
--- /dev/null
+++ b/engines/titanic/game/sweet_bowl.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_SWEET_BOWL_H
+#define TITANIC_SWEET_BOWL_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CSweetBowl : public CGameObject {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_CREDITS_H */
diff --git a/engines/titanic/game/television.cpp b/engines/titanic/game/television.cpp
new file mode 100644
index 0000000000..f5a7e5f63a
--- /dev/null
+++ b/engines/titanic/game/television.cpp
@@ -0,0 +1,291 @@
+/* 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/titanic.h"
+#include "titanic/game/television.h"
+#include "titanic/pet_control/pet_control.h"
+#include "titanic/game/get_lift_eye2.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CTelevision, CGameObject)
+ ON_MESSAGE(LeaveViewMsg)
+ ON_MESSAGE(ChangeSeasonMsg)
+ ON_MESSAGE(EnterViewMsg)
+ ON_MESSAGE(PETUpMsg)
+ ON_MESSAGE(PETDownMsg)
+ ON_MESSAGE(StatusChangeMsg)
+ ON_MESSAGE(ActMsg)
+ ON_MESSAGE(PETActivateMsg)
+ ON_MESSAGE(MovieEndMsg)
+ ON_MESSAGE(ShipSettingMsg)
+ ON_MESSAGE(TurnOff)
+ ON_MESSAGE(TurnOn)
+ ON_MESSAGE(LightsMsg)
+END_MESSAGE_MAP()
+
+int CTelevision::_v1;
+bool CTelevision::_turnOn;
+int CTelevision::_v3;
+int CTelevision::_v4;
+int CTelevision::_v5;
+int CTelevision::_v6;
+
+CTelevision::CTelevision() : CBackground(), _fieldE0(1),
+ _fieldE4(7), _isOn(false), _fieldEC(0), _soundHandle(0) {
+}
+
+void CTelevision::init() {
+ _v1 = 531;
+ _turnOn = true;
+ _v3 = 0;
+ _v4 = 27;
+ _v5 = 1;
+ _v6 = 1;
+}
+
+void CTelevision::deinit() {
+}
+
+void CTelevision::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_turnOn, indent);
+ file->writeNumberLine(_isOn, indent);
+ file->writeNumberLine(_v3, indent);
+ file->writeNumberLine(_fieldEC, indent);
+ file->writeNumberLine(_v4, indent);
+ file->writeNumberLine(_soundHandle, indent);
+ file->writeNumberLine(_v5, indent);
+ file->writeNumberLine(_v6, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CTelevision::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _v1 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _turnOn = file->readNumber() != 0;
+ _isOn = file->readNumber() != 0;
+ _v3 = file->readNumber();
+ _fieldEC = file->readNumber();
+ _v4 = file->readNumber();
+ _soundHandle = file->readNumber();
+ _v5 = file->readNumber();
+ _v6 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+bool CTelevision::LeaveViewMsg(CLeaveViewMsg *msg) {
+ petClear();
+ if (_isOn) {
+ if (soundFn1(_soundHandle))
+ stopSound(_soundHandle, 0);
+
+ loadFrame(622);
+ stopMovie();
+ setVisible(0);
+ _isOn = false;
+
+ if (compareRoomNameTo("CSGState")) {
+ CVisibleMsg visibleMsg(true);
+ visibleMsg.execute("Tellypic");
+ }
+ }
+
+ return true;
+}
+
+bool CTelevision::ChangeSeasonMsg(CChangeSeasonMsg *msg) {
+ if (msg->_season.compareTo("Autumn")) {
+ _v1 = 545;
+ _v3 = 0;
+ } else if (msg->_season.compareTo("Winter")) {
+ _v1 = 503;
+ _v3 = 0;
+ } else if (msg->_season.compareTo("Spring")) {
+ _v1 = 517;
+ _v3 = 0;
+ } else if (msg->_season.compareTo("Winter")) {
+ _v1 = 531;
+ _v3 = 0;
+ }
+
+ return true;
+}
+
+bool CTelevision::EnterViewMsg(CEnterViewMsg *msg) {
+ petSetArea(PET_REMOTE);
+ petHighlightGlyph(GLYPH_TELEVISION_CONTROL);
+ petSetRemoteTarget();
+ setVisible(0);
+ _fieldE0 = 1;
+
+ return true;
+}
+
+static const int START_FRAMES[9] = { 0, 0, 56, 112, 168, 224, 280, 336, 392 };
+static const int END_FRAMES[8] = { 0, 55, 111, 167, 223, 279, 335, 391 };
+
+bool CTelevision::PETUpMsg(CPETUpMsg *msg) {
+ if (msg->_name == "Television" && _isOn) {
+ if (soundFn1(_soundHandle))
+ stopSound(_soundHandle, 0);
+
+ _fieldE0 = _fieldE0 % _fieldE4 + 1;
+ stopMovie();
+ playMovie(START_FRAMES[_fieldE0], END_FRAMES[_fieldE0], 4);
+ }
+
+ return true;
+}
+
+bool CTelevision::PETDownMsg(CPETDownMsg *msg) {
+ if (msg->_name == "Television" && _isOn) {
+ if (soundFn1(_soundHandle))
+ stopSound(_soundHandle, 0);
+ if (--_fieldE0 < 1)
+ _fieldE0 += _fieldE4;
+
+ _fieldE0 = _fieldE0 % _fieldE4 + 1;
+ stopMovie();
+ playMovie(START_FRAMES[_fieldE0], END_FRAMES[_fieldE0], 4);
+ }
+
+ return true;
+}
+
+bool CTelevision::StatusChangeMsg(CStatusChangeMsg *msg) {
+ if (_isOn) {
+ stopMovie();
+ playMovie(0);
+ }
+
+ return true;
+}
+
+bool CTelevision::ActMsg(CActMsg *msg) {
+ if (msg->_action == "TurnTVOnOff") {
+ _isOn = !_isOn;
+ if (_isOn) {
+ setVisible(true);
+ CStatusChangeMsg changeMsg;
+ changeMsg.execute(this);
+ } else {
+ setVisible(_isOn);
+ stopMovie();
+ }
+ }
+
+ return true;
+}
+
+bool CTelevision::PETActivateMsg(CPETActivateMsg *msg) {
+ if (msg->_name == "Television") {
+ CVisibleMsg visibleMsg(_isOn);
+ _isOn = !_isOn;
+
+ if (_isOn) {
+ setVisible(true);
+ playMovie(0, 55, 0);
+ _fieldE0 = 1;
+ } else {
+ stopMovie();
+ if (soundFn1(_soundHandle))
+ stopSound(_soundHandle, 0);
+
+ setVisible(false);
+ }
+
+ if (compareRoomNameTo("SGTState"))
+ visibleMsg.execute("Tellypic");
+ }
+
+ return true;
+}
+
+bool CTelevision::MovieEndMsg(CMovieEndMsg *msg) {
+ if (g_vm->getRandomNumber(6) == 0) {
+ CParrotSpeakMsg parrotMsg("Television", "");
+ parrotMsg.execute("PerchedParrot");
+ }
+
+ if (_fieldE0 == 3 && compareRoomNameTo("SGTState") && !getPassengerClass()) {
+ playSound("z#47.wav", 100, 0, 0);
+ _soundHandle = playSound("b#20.wav", 100, 0, 0);
+ CTreeItem *magazine = getRoot()->findByName("Magazine");
+
+ if (magazine) {
+ warning("TODO: CTelevision::MovieEndMsg");
+ }
+
+ loadFrame(561);
+ } else if (_fieldE0 == 2) {
+ loadFrame(_v1);
+ } else if (_fieldE0 == 4 && _v5) {
+ if (_turnOn)
+ loadFrame(502);
+ else
+ warning("There is currently nothing available for your viewing pleasure on this channel.");
+ } else if (_fieldE0 == 5 && *CGetLiftEye2::_v1 != "NULL") {
+ loadFrame(393 + _v4);
+ } else {
+ warning("There is currently nothing available for your viewing pleasure on this channel.");
+ }
+
+ return true;
+}
+
+bool CTelevision::ShipSettingMsg(CShipSettingMsg *msg) {
+ _v4 = msg->_value;
+ return true;
+}
+
+bool CTelevision::TurnOff(CTurnOff *msg) {
+ _turnOn = false;
+ return true;
+}
+
+bool CTelevision::TurnOn(CTurnOn *msg) {
+ _turnOn = true;
+ return true;
+}
+
+bool CTelevision::LightsMsg(CLightsMsg *msg) {
+ CPetControl *pet = getPetControl();
+ bool flag = false;
+
+ if (pet)
+ flag = pet->isRoom59706();
+
+ if (msg->_field8 || !flag)
+ _turnOn = true;
+
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/television.h b/engines/titanic/game/television.h
new file mode 100644
index 0000000000..6e6d9b23c2
--- /dev/null
+++ b/engines/titanic/game/television.h
@@ -0,0 +1,79 @@
+/* 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_TELEVISION_H
+#define TITANIC_TELEVISION_H
+
+#include "titanic/core/background.h"
+#include "titanic/messages/messages.h"
+#include "titanic/messages/pet_messages.h"
+
+namespace Titanic {
+
+class CTelevision : public CBackground {
+ DECLARE_MESSAGE_MAP;
+ bool LeaveViewMsg(CLeaveViewMsg *msg);
+ bool ChangeSeasonMsg(CChangeSeasonMsg *msg);
+ bool EnterViewMsg(CEnterViewMsg *msg);
+ bool PETUpMsg(CPETUpMsg *msg);
+ bool PETDownMsg(CPETDownMsg *msg);
+ bool StatusChangeMsg(CStatusChangeMsg *msg);
+ bool ActMsg(CActMsg *msg);
+ bool PETActivateMsg(CPETActivateMsg *msg);
+ bool MovieEndMsg(CMovieEndMsg *msg);
+ bool ShipSettingMsg(CShipSettingMsg *msg);
+ bool TurnOff(CTurnOff *msg);
+ bool TurnOn(CTurnOn *msg);
+ bool LightsMsg(CLightsMsg *msg);
+private:
+ static int _v1;
+ static bool _turnOn;
+ static int _v3;
+ static int _v4;
+ static int _v5;
+ static int _v6;
+private:
+ int _fieldE0;
+ int _fieldE4;
+ bool _isOn;
+ int _fieldEC;
+ int _soundHandle;
+public:
+ CLASSDEF;
+ CTelevision();
+ static void init();
+ static void deinit();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_TELEVISION_H */
diff --git a/engines/titanic/game/third_class_canal.cpp b/engines/titanic/game/third_class_canal.cpp
new file mode 100644
index 0000000000..6b0a101f7b
--- /dev/null
+++ b/engines/titanic/game/third_class_canal.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/third_class_canal.h"
+
+namespace Titanic {
+
+void CThirdClassCanal::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CBackground::save(file, indent);
+}
+
+void CThirdClassCanal::load(SimpleFile *file) {
+ file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/third_class_canal.h b/engines/titanic/game/third_class_canal.h
new file mode 100644
index 0000000000..f6fc471444
--- /dev/null
+++ b/engines/titanic/game/third_class_canal.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_THIRD_CLASS_CANAL_H
+#define TITANIC_THIRD_CLASS_CANAL_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CThirdClassCanal : public CBackground {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_THIRD_CLASS_CANAL_H */
diff --git a/engines/titanic/game/throw_tv_down_well.cpp b/engines/titanic/game/throw_tv_down_well.cpp
new file mode 100644
index 0000000000..c8a9fc7c9e
--- /dev/null
+++ b/engines/titanic/game/throw_tv_down_well.cpp
@@ -0,0 +1,41 @@
+/* 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/throw_tv_down_well.h"
+
+namespace Titanic {
+
+void CThrowTVDownWell::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_strValue, indent);
+ file->writeNumberLine(_numValue, indent);
+ CGameObject::save(file, indent);
+}
+
+void CThrowTVDownWell::load(SimpleFile *file) {
+ file->readNumber();
+ _strValue = file->readString();
+ _numValue = file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/throw_tv_down_well.h b/engines/titanic/game/throw_tv_down_well.h
new file mode 100644
index 0000000000..b6003aa3ef
--- /dev/null
+++ b/engines/titanic/game/throw_tv_down_well.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_THROW_TV_DOWN_WELL_H
+#define TITANIC_THROW_TV_DOWN_WELL_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CThrowTVDownWell : public CGameObject {
+public:
+ CString _strValue;
+ int _numValue;
+public:
+ CLASSDEF;
+ CThrowTVDownWell() : CGameObject(), _numValue(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_THROW_TV_DOWN_WELL_H */
diff --git a/engines/titanic/game/titania_still_control.cpp b/engines/titanic/game/titania_still_control.cpp
new file mode 100644
index 0000000000..67866ecdcb
--- /dev/null
+++ b/engines/titanic/game/titania_still_control.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/titania_still_control.h"
+
+namespace Titanic {
+
+void CTitaniaStillControl::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CTitaniaStillControl::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/titania_still_control.h b/engines/titanic/game/titania_still_control.h
new file mode 100644
index 0000000000..66c3045187
--- /dev/null
+++ b/engines/titanic/game/titania_still_control.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_TITANIA_STILL_CONTROL_H
+#define TITANIC_TITANIA_STILL_CONTROL_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CTitaniaStillControl : public CGameObject {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_TITANIA_STILL_CONTROL_H */
diff --git a/engines/titanic/game/tow_parrot_nav.cpp b/engines/titanic/game/tow_parrot_nav.cpp
new file mode 100644
index 0000000000..9361808870
--- /dev/null
+++ b/engines/titanic/game/tow_parrot_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/tow_parrot_nav.h"
+
+namespace Titanic {
+
+void CTOWParrotNav::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CGameObject::save(file, indent);
+}
+
+void CTOWParrotNav::load(SimpleFile *file) {
+ file->readNumber();
+ CGameObject::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/tow_parrot_nav.h b/engines/titanic/game/tow_parrot_nav.h
new file mode 100644
index 0000000000..17618ff6de
--- /dev/null
+++ b/engines/titanic/game/tow_parrot_nav.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_TOW_PARROT_NAV_H
+#define TITANIC_TOW_PARROT_NAV_H
+
+#include "titanic/core/game_object.h"
+
+namespace Titanic {
+
+class CTOWParrotNav : public CGameObject {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_TOW_PARROT_NAV_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..53056c7417
--- /dev/null
+++ b/engines/titanic/game/transport/exit_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_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:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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/gondolier.cpp b/engines/titanic/game/transport/gondolier.cpp
new file mode 100644
index 0000000000..f731e45bde
--- /dev/null
+++ b/engines/titanic/game/transport/gondolier.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/transport/gondolier.h"
+
+namespace Titanic {
+
+void CGondolier::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CTransport::save(file, indent);
+}
+
+void CGondolier::load(SimpleFile *file) {
+ file->readNumber();
+ CTransport::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/transport/gondolier.h b/engines/titanic/game/transport/gondolier.h
new file mode 100644
index 0000000000..ac1617256f
--- /dev/null
+++ b/engines/titanic/game/transport/gondolier.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_GONDOLIER_H
+#define TITANIC_GONDOLIER_H
+
+#include "titanic/game/transport/transport.h"
+
+namespace Titanic {
+
+class CGondolier : public CTransport {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_GONDOLIER_H */
diff --git a/engines/titanic/game/transport/lift.cpp b/engines/titanic/game/transport/lift.cpp
new file mode 100644
index 0000000000..72f832bf76
--- /dev/null
+++ b/engines/titanic/game/transport/lift.cpp
@@ -0,0 +1,69 @@
+/* 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/lift.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CLift, CTransport)
+ ON_MESSAGE(EnterRoomMsg)
+END_MESSAGE_MAP()
+
+int CLift::_v1;
+int CLift::_v2;
+int CLift::_v3;
+int CLift::_v4;
+int CLift::_v5;
+int CLift::_v6;
+
+void CLift::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_v1, indent);
+ file->writeNumberLine(_v2, indent);
+ file->writeNumberLine(_v3, indent);
+ file->writeNumberLine(_v4, indent);
+ file->writeNumberLine(_v5, indent);
+ file->writeNumberLine(_fieldF8, indent);
+ file->writeNumberLine(_v6, indent);
+
+ CTransport::save(file, indent);
+}
+
+void CLift::load(SimpleFile *file) {
+ file->readNumber();
+ _v1 = file->readNumber();
+ _v2 = file->readNumber();
+ _v3 = file->readNumber();
+ _v4 = file->readNumber();
+ _v5 = file->readNumber();
+ _fieldF8 = file->readNumber();
+ _v6 = file->readNumber();
+
+ CTransport::load(file);
+}
+
+bool CLift::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("CLift::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/transport/lift.h b/engines/titanic/game/transport/lift.h
new file mode 100644
index 0000000000..4595f0fec2
--- /dev/null
+++ b/engines/titanic/game/transport/lift.h
@@ -0,0 +1,60 @@
+/* ScummVM - Graphic Adventure Engine
+*
+* ScummVM is the legal property of its developers, whose names
+* are too numerous to list here. Please refer to the COPYRIGHT
+* file distributed with this source distribution.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*
+*/
+
+#ifndef TITANIC_LIFT_H
+#define TITANIC_LIFT_H
+
+#include "titanic/game/transport/transport.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CLift : public CTransport {
+ DECLARE_MESSAGE_MAP;
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+private:
+ static int _v1;
+ static int _v2;
+ static int _v3;
+ static int _v4;
+ static int _v5;
+ static int _v6;
+
+ int _fieldF8;
+public:
+ CLASSDEF;
+ CLift() : CTransport(), _fieldF8(1) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_LIFT_H */
diff --git a/engines/titanic/game/transport/lift_indicator.cpp b/engines/titanic/game/transport/lift_indicator.cpp
new file mode 100644
index 0000000000..582de8ad3b
--- /dev/null
+++ b/engines/titanic/game/transport/lift_indicator.cpp
@@ -0,0 +1,55 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/transport/lift_indicator.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CLiftindicator, CLift)
+ ON_MESSAGE(EnterRoomMsg)
+END_MESSAGE_MAP()
+
+CLiftindicator::CLiftindicator() : CLift(),
+ _fieldFC(0), _field108(0), _field10C(0) {
+}
+
+void CLiftindicator::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldFC, indent);
+ file->writePoint(_pos2, indent);
+ file->writeNumberLine(_field108, indent);
+ file->writeNumberLine(_field10C, indent);
+
+ CLift::save(file, indent);
+}
+
+void CLiftindicator::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldFC = file->readNumber();
+ _pos2 = file->readPoint();
+ _field108 = file->readNumber();
+ _field10C = file->readNumber();
+
+ CLift::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/transport/lift_indicator.h b/engines/titanic/game/transport/lift_indicator.h
new file mode 100644
index 0000000000..945f627417
--- /dev/null
+++ b/engines/titanic/game/transport/lift_indicator.h
@@ -0,0 +1,56 @@
+/* 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_LIFT_INDICATOR_H
+#define TITANIC_LIFT_INDICATOR_H
+
+#include "titanic/game/transport/lift.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CLiftindicator : public CLift {
+ DECLARE_MESSAGE_MAP;
+ bool EnterRoomMsg(CEnterRoomMsg *msg) { return true; }
+private:
+ int _fieldFC;
+ Point _pos2;
+ int _field108;
+ int _field10C;
+public:
+ CLASSDEF;
+ CLiftindicator();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_LIFT_INDICATOR_H */
diff --git a/engines/titanic/game/transport/pellerator.cpp b/engines/titanic/game/transport/pellerator.cpp
new file mode 100644
index 0000000000..e789c20a3d
--- /dev/null
+++ b/engines/titanic/game/transport/pellerator.cpp
@@ -0,0 +1,55 @@
+/* ScummVM - Graphic Adventure Engine
+*
+* ScummVM is the legal property of its developers, whose names
+* are too numerous to list here. Please refer to the COPYRIGHT
+* file distributed with this source distribution.
+*
+* This program is free software; you can redistribute it and/or
+* modify it under the terms of the GNU General Public License
+* as published by the Free Software Foundation; either version 2
+* of the License, or (at your option) any later version.
+*
+* This program is distributed in the hope that it will be useful,
+* but WITHOUT ANY WARRANTY; without even the implied warranty of
+* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+* GNU General Public License for more details.
+*
+* You should have received a copy of the GNU General Public License
+* along with this program; if not, write to the Free Software
+* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+*
+*/
+
+#include "titanic/game/transport/pellerator.h"
+
+namespace Titanic {
+
+BEGIN_MESSAGE_MAP(CPellerator, CTransport)
+ ON_MESSAGE(EnterRoomMsg)
+END_MESSAGE_MAP()
+
+int CPellerator::_v1;
+int CPellerator::_v2;
+
+void CPellerator::save(SimpleFile *file, int indent) {
+ 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);
+}
+
+bool CPellerator::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("CPellerator::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/transport/pellerator.h b/engines/titanic/game/transport/pellerator.h
new file mode 100644
index 0000000000..fa400a49cd
--- /dev/null
+++ b/engines/titanic/game/transport/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"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CPellerator : public CTransport {
+ DECLARE_MESSAGE_MAP;
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+private:
+ static int _v1;
+ static int _v2;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * 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/service_elevator.cpp b/engines/titanic/game/transport/service_elevator.cpp
new file mode 100644
index 0000000000..1ea8d14e36
--- /dev/null
+++ b/engines/titanic/game/transport/service_elevator.cpp
@@ -0,0 +1,61 @@
+/* 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/service_elevator.h"
+
+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) {
+ 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);
+ file->writeNumberLine(_field104, indent);
+
+ CTransport::save(file, indent);
+}
+
+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();
+ _field104 = file->readNumber();
+
+ CTransport::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/transport/service_elevator.h b/engines/titanic/game/transport/service_elevator.h
new file mode 100644
index 0000000000..b2c135021a
--- /dev/null
+++ b/engines/titanic/game/transport/service_elevator.h
@@ -0,0 +1,57 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_SERVICE_ELEVATOR_H
+#define TITANIC_SERVICE_ELEVATOR_H
+
+#include "titanic/game/transport/transport.h"
+
+namespace Titanic {
+
+class CServiceElevator : public CTransport {
+private:
+ static int _v1;
+ static int _v2;
+ static int _v3;
+
+ int _fieldF8;
+ int _fieldFC;
+ int _field100;
+ int _field104;
+public:
+ CLASSDEF;
+ CServiceElevator();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_SERVICE_ELEVATOR_H */
diff --git a/engines/titanic/game/transport/transport.cpp b/engines/titanic/game/transport/transport.cpp
new file mode 100644
index 0000000000..6fe45c2fc8
--- /dev/null
+++ b/engines/titanic/game/transport/transport.cpp
@@ -0,0 +1,48 @@
+/* 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/transport.h"
+
+namespace Titanic {
+
+EMPTY_MESSAGE_MAP(CTransport, CMobile);
+
+CTransport::CTransport() : CMobile(), _string1("*.*.*") {
+}
+
+void CTransport::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string1, indent);
+ file->writeQuotedLine(_string2, indent);
+
+ CMobile::save(file, indent);
+}
+
+void CTransport::load(SimpleFile *file) {
+ file->readNumber();
+ _string1 = file->readString();
+ _string2 = file->readString();
+
+ CMobile::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/transport/transport.h b/engines/titanic/game/transport/transport.h
new file mode 100644
index 0000000000..d87251212a
--- /dev/null
+++ b/engines/titanic/game/transport/transport.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_TRANSPORT_H
+#define TITANIC_TRANSPORT_H
+
+#include "titanic/npcs/mobile.h"
+
+namespace Titanic {
+
+class CTransport : public CMobile {
+ DECLARE_MESSAGE_MAP;
+public:
+ CString _string1;
+ CString _string2;
+public:
+ CLASSDEF;
+ CTransport();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_TRANSPORT_H */
diff --git a/engines/titanic/game/up_lighter.cpp b/engines/titanic/game/up_lighter.cpp
new file mode 100644
index 0000000000..f03b8f37a0
--- /dev/null
+++ b/engines/titanic/game/up_lighter.cpp
@@ -0,0 +1,56 @@
+/* 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/up_lighter.h"
+
+namespace Titanic {
+
+CUpLighter::CUpLighter() : CDropTarget(), _field118(0),
+ _field11C(0), _field120(0), _field124(0) {
+}
+
+void CUpLighter::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_field118, indent);
+ file->writeNumberLine(_field11C, indent);
+ file->writeNumberLine(_field120, indent);
+ file->writeNumberLine(_field124, indent);
+
+ CDropTarget::save(file, indent);
+}
+
+void CUpLighter::load(SimpleFile *file) {
+ file->readNumber();
+ _field118 = file->readNumber();
+ _field11C = file->readNumber();
+ _field120 = file->readNumber();
+ _field124 = file->readNumber();
+
+ CDropTarget::load(file);
+}
+
+bool CUpLighter::EnterRoomMsg(CEnterRoomMsg *msg) {
+ warning("CUpLighter::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/up_lighter.h b/engines/titanic/game/up_lighter.h
new file mode 100644
index 0000000000..2367e41314
--- /dev/null
+++ b/engines/titanic/game/up_lighter.h
@@ -0,0 +1,55 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_UP_LIGHTER_H
+#define TITANIC_UP_LIGHTER_H
+
+#include "titanic/core/drop_target.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CUpLighter : public CDropTarget {
+ bool EnterRoomMsg(CEnterRoomMsg *msg);
+private:
+ int _field118;
+ int _field11C;
+ int _field120;
+ int _field124;
+public:
+ CLASSDEF;
+ CUpLighter();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_UP_LIGHTER_H */
diff --git a/engines/titanic/game/useless_lever.cpp b/engines/titanic/game/useless_lever.cpp
new file mode 100644
index 0000000000..e48ad55a71
--- /dev/null
+++ b/engines/titanic/game/useless_lever.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/useless_lever.h"
+
+namespace Titanic {
+
+void CUselessLever::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ CToggleButton::save(file, indent);
+}
+
+void CUselessLever::load(SimpleFile *file) {
+ file->readNumber();
+ CToggleButton::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/useless_lever.h b/engines/titanic/game/useless_lever.h
new file mode 100644
index 0000000000..27397de216
--- /dev/null
+++ b/engines/titanic/game/useless_lever.h
@@ -0,0 +1,47 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_USELESS_LEVER_H
+#define TITANIC_USELESS_LEVER_H
+
+#include "titanic/gfx/toggle_button.h"
+
+namespace Titanic {
+
+class CUselessLever : public CToggleButton {
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_UP_LIGHTER_H */
diff --git a/engines/titanic/game/volume_control.cpp b/engines/titanic/game/volume_control.cpp
new file mode 100644
index 0000000000..c6b0e414ae
--- /dev/null
+++ b/engines/titanic/game/volume_control.cpp
@@ -0,0 +1,53 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/volume_control.h"
+
+namespace Titanic {
+
+CVolumeControl::CVolumeControl() : CGameObject() {
+}
+
+void CVolumeControl::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldBC, indent);
+ file->writeQuotedLine(_string1, indent);
+ file->writeNumberLine(_fieldCC, indent);
+
+ CGameObject::save(file, indent);
+}
+
+void CVolumeControl::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldBC = file->readNumber();
+ _string1 = file->readString();
+ _fieldCC = file->readNumber();
+
+ CGameObject::load(file);
+}
+
+bool CVolumeControl::EnterNodeMsg(CEnterNodeMsg *msg) {
+ warning("CVolumeControl::handleEvent");
+ return true;
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/volume_control.h b/engines/titanic/game/volume_control.h
new file mode 100644
index 0000000000..dcc6f63781
--- /dev/null
+++ b/engines/titanic/game/volume_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_VOLUME_CONTROL_H
+#define TITANIC_VOLUME_CONTROL_H
+
+#include "titanic/core/game_object.h"
+#include "titanic/messages/messages.h"
+
+namespace Titanic {
+
+class CVolumeControl : public CGameObject {
+ bool EnterNodeMsg(CEnterNodeMsg *msg);
+private:
+ int _fieldBC;
+ CString _string1;
+ int _fieldCC;
+public:
+ CLASSDEF;
+ CVolumeControl();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_VOLUME_CONTROL_H */
diff --git a/engines/titanic/game/wheel_button.cpp b/engines/titanic/game/wheel_button.cpp
new file mode 100644
index 0000000000..19c42a8807
--- /dev/null
+++ b/engines/titanic/game/wheel_button.cpp
@@ -0,0 +1,49 @@
+/* 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/wheel_button.h"
+
+namespace Titanic {
+
+CWheelButton::CWheelButton() : CBackground(),
+ _fieldE0(0), _fieldE4(0), _fieldE8(0) {
+}
+
+void CWheelButton::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+ file->writeNumberLine(_fieldE8, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CWheelButton::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+ _fieldE8 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/wheel_button.h b/engines/titanic/game/wheel_button.h
new file mode 100644
index 0000000000..cb089a660f
--- /dev/null
+++ b/engines/titanic/game/wheel_button.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_WHEEL_BUTTON_H
+#define TITANIC_WHEEL_BUTTON_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CWheelButton : public CBackground {
+public:
+ int _fieldE0;
+ int _fieldE4;
+ int _fieldE8;
+public:
+ CLASSDEF;
+ CWheelButton();
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_WHEEL_BUTTON_H */
diff --git a/engines/titanic/game/wheel_hotspot.cpp b/engines/titanic/game/wheel_hotspot.cpp
new file mode 100644
index 0000000000..f9af594cd5
--- /dev/null
+++ b/engines/titanic/game/wheel_hotspot.cpp
@@ -0,0 +1,43 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/wheel_hotspot.h"
+
+namespace Titanic {
+
+void CWheelHotSpot::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_fieldE0, indent);
+ file->writeNumberLine(_fieldE4, indent);
+
+ CBackground::save(file, indent);
+}
+
+void CWheelHotSpot::load(SimpleFile *file) {
+ file->readNumber();
+ _fieldE0 = file->readNumber();
+ _fieldE4 = file->readNumber();
+
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/wheel_hotspot.h b/engines/titanic/game/wheel_hotspot.h
new file mode 100644
index 0000000000..364fe9a060
--- /dev/null
+++ b/engines/titanic/game/wheel_hotspot.h
@@ -0,0 +1,51 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#ifndef TITANIC_WHEEL_HOTSPOT_H
+#define TITANIC_WHEEL_HOTSPOT_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CWheelHotSpot : public CBackground {
+public:
+ int _fieldE0;
+ int _fieldE4;
+public:
+ CLASSDEF;
+ CWheelHotSpot() : CBackground(), _fieldE0(0), _fieldE4(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_WHEEL_HOTSPOT_H */
diff --git a/engines/titanic/game/wheel_spin.cpp b/engines/titanic/game/wheel_spin.cpp
new file mode 100644
index 0000000000..daa9918e29
--- /dev/null
+++ b/engines/titanic/game/wheel_spin.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/wheel_spin.h"
+
+namespace Titanic {
+
+void CWheelSpin::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeNumberLine(_value, indent);
+ CBackground::save(file, indent);
+}
+
+void CWheelSpin::load(SimpleFile *file) {
+ file->readNumber();
+ _value = file->readNumber();
+ CBackground::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/wheel_spin.h b/engines/titanic/game/wheel_spin.h
new file mode 100644
index 0000000000..509db1a4bf
--- /dev/null
+++ b/engines/titanic/game/wheel_spin.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_WHEEL_SPIN_H
+#define TITANIC_WHEEL_SPIN_H
+
+#include "titanic/core/background.h"
+
+namespace Titanic {
+
+class CWheelSpin : public CBackground {
+public:
+ int _value;
+public:
+ CLASSDEF;
+ CWheelSpin() : CBackground(), _value(0) {}
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_WHEEL_SPIN_H */
diff --git a/engines/titanic/game/wheel_spin_horn.cpp b/engines/titanic/game/wheel_spin_horn.cpp
new file mode 100644
index 0000000000..b01cc678df
--- /dev/null
+++ b/engines/titanic/game/wheel_spin_horn.cpp
@@ -0,0 +1,43 @@
+/* ScummVM - Graphic Adventure Engine
+ *
+ * ScummVM is the legal property of its developers, whose names
+ * are too numerous to list here. Please refer to the COPYRIGHT
+ * file distributed with this source distribution.
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ */
+
+#include "titanic/game/wheel_spin_horn.h"
+
+namespace Titanic {
+
+void CWheelSpinHorn::save(SimpleFile *file, int indent) {
+ file->writeNumberLine(1, indent);
+ file->writeQuotedLine(_string1, indent);
+ file->writeQuotedLine(_string2, indent);
+
+ CWheelSpin::save(file, indent);
+}
+
+void CWheelSpinHorn::load(SimpleFile *file) {
+ file->readNumber();
+ _string1 = file->readString();
+ _string2 = file->readString();
+
+ CWheelSpin::load(file);
+}
+
+} // End of namespace Titanic
diff --git a/engines/titanic/game/wheel_spin_horn.h b/engines/titanic/game/wheel_spin_horn.h
new file mode 100644
index 0000000000..21182253b3
--- /dev/null
+++ b/engines/titanic/game/wheel_spin_horn.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_WHEEL_SPIN_HORN_H
+#define TITANIC_WHEEL_SPIN_HORN_H
+
+#include "titanic/game/wheel_spin.h"
+
+namespace Titanic {
+
+class CWheelSpinHorn : public CWheelSpin {
+public:
+ CString _string1;
+ CString _string2;
+public:
+ CLASSDEF;
+
+ /**
+ * Save the data for the class to file
+ */
+ virtual void save(SimpleFile *file, int indent);
+
+ /**
+ * Load the data for the class from file
+ */
+ virtual void load(SimpleFile *file);
+};
+
+} // End of namespace Titanic
+
+#endif /* TITANIC_WHEEL_SPIN_HORN_H */