[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Pingus-CVS] r2489 - in trunk: . src src/display src/editor src/worldobj
From: |
jave27 |
Subject: |
[Pingus-CVS] r2489 - in trunk: . src src/display src/editor src/worldobjs |
Date: |
Wed, 9 Nov 2005 19:39:00 +0100 |
Author: jave27
Date: 2005-11-09 19:38:29 +0100 (Wed, 09 Nov 2005)
New Revision: 2489
Added:
trunk/src/editor/
trunk/src/editor/Makefile.am
trunk/src/editor/editor_panel.cxx
trunk/src/editor/editor_panel.hxx
trunk/src/editor/editor_screen.cxx
trunk/src/editor/editor_screen.hxx
trunk/src/editor/panel_buttons.cxx
trunk/src/editor/panel_buttons.hxx
Modified:
trunk/Pingus.vcproj
trunk/src/Makefile.am
trunk/src/blitter.hxx
trunk/src/display/drawing_context.cxx
trunk/src/pingus_menu.cxx
trunk/src/pingus_menu.hxx
trunk/src/theme.cxx
trunk/src/worldobjs/surface_background.cxx
Log:
Added the beginnings of a new level editor.
A little more cleanup.
Updated the MSVC 2003 project file that was in SVN (it was very out of date).
Someone should double-check my Makefile.am changes because I'm developing with
MSVC, and not on Linux. It looks right, but I'm unsure.
Modified: trunk/Pingus.vcproj
===================================================================
--- trunk/Pingus.vcproj 2005-11-08 02:14:09 UTC (rev 2488)
+++ trunk/Pingus.vcproj 2005-11-09 18:38:29 UTC (rev 2489)
@@ -33,7 +33,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="iconv.lib intl.lib
libxml2.lib"
+ AdditionalDependencies="iconv.lib"
OutputFile="$(OutDir)/Pingus.exe"
LinkIncremental="2"
IgnoreDefaultLibraryNames="LIBCMT"
@@ -65,7 +65,7 @@
<Configuration
Name="Release|Win32"
OutputDirectory="Release"
- IntermediateDirectory="Release"
+ IntermediateDirectory="Release_intermediate"
ConfigurationType="1"
CharacterSet="2">
<Tool
@@ -82,7 +82,7 @@
Name="VCCustomBuildTool"/>
<Tool
Name="VCLinkerTool"
- AdditionalDependencies="iconv.lib intl.lib
libxml2.lib"
+ AdditionalDependencies="iconv.lib"
OutputFile="$(OutDir)/Pingus.exe"
LinkIncremental="1"
GenerateDebugInformation="TRUE"
@@ -271,332 +271,9 @@
</File>
</Filter>
<Filter
- Name="editor"
- Filter="">
- <File
-
RelativePath=".\src\editor\action_window.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\action_window.hxx">
- </File>
- <File
- RelativePath=".\src\editor\editor.cxx">
- </File>
- <File
- RelativePath=".\src\editor\editor.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\editor_event.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\editor_event.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\editor_help_screen.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\editor_help_screen.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\editor_view.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\editor_view.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\editorobj.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\editorobj.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\editorobj_group.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\editorobj_group.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\editorobj_mgr.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\generic_property_frame.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\generic_property_frame.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\level_property_window.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\level_property_window.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\level_resizer.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\level_resizer.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\object_manager.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\object_manager.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\object_selector.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\object_selector.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\object_selector_window.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\object_selector_window.hxx">
- </File>
- <File
- RelativePath=".\src\editor\panel.cxx">
- </File>
- <File
- RelativePath=".\src\editor\panel.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\panel_icons.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\panel_icons.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\property_frame.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\property_frame.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\property_window.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\property_window.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\rect_editorobj.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\rect_editorobj.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\scroll_map.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\scroll_map.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\selection.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\selection.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\sprite_editorobj.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\sprite_editorobj.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\start_pos.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\start_pos.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\status_line.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\status_line.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\string_reader.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\string_reader.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\surface_selector.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\surface_selector.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\thumb_cache.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\thumb_cache.hxx">
- </File>
- <File
-
RelativePath=".\src\editor\weather_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editor\weather_obj.hxx">
- </File>
- </Filter>
- <Filter
- Name="editorobjs"
- Filter="">
- <File
-
RelativePath=".\src\editorobjs\bumper_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\bumper_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\conveyor_belt_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\conveyor_belt_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\entrance_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\entrance_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\exit_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\exit_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\fake_exit_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\fake_exit_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\groundpiece_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\groundpiece_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\guillotine_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\guillotine_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\hammer_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\hammer_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\hotspot_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\hotspot_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\ice_block_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\ice_block_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\info_box_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\info_box_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\laser_exit_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\laser_exit_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\liquid_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\liquid_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\prefab_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\prefab_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\smasher_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\smasher_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\solid_color_background_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\solid_color_background_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\spike_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\spike_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\starfield_background_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\starfield_background_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\surface_background_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\surface_background_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\switch_door_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\switch_door_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\switch_door_switch_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\switch_door_switch_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\teleporter_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\teleporter_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\teleporter_target_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\teleporter_target_obj.hxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\thunderstorm_background_obj.cxx">
- </File>
- <File
-
RelativePath=".\src\editorobjs\thunderstorm_background_obj.hxx">
- </File>
- </Filter>
- <Filter
Name="gui"
Filter="">
<File
-
RelativePath=".\src\gui\buffer_graphic_context.cxx">
- </File>
- <File
-
RelativePath=".\src\gui\buffer_graphic_context.hxx">
- </File>
- <File
RelativePath=".\src\gui\button.hxx">
</File>
<File
@@ -615,24 +292,12 @@
RelativePath=".\src\gui\display.hxx">
</File>
<File
-
RelativePath=".\src\gui\display_graphic_context.cxx">
- </File>
- <File
-
RelativePath=".\src\gui\display_graphic_context.hxx">
- </File>
- <File
RelativePath=".\src\gui\game_delta.hxx">
</File>
<File
RelativePath=".\src\gui\game_delta_recorder.hxx">
</File>
<File
-
RelativePath=".\src\gui\graphic_context.cxx">
- </File>
- <File
-
RelativePath=".\src\gui\graphic_context.hxx">
- </File>
- <File
RelativePath=".\src\gui\gui_manager.cxx">
</File>
<File
@@ -718,12 +383,6 @@
RelativePath=".\src\input\event_fwd.hxx">
</File>
<File
-
RelativePath=".\src\input\key_helper.cxx">
- </File>
- <File
-
RelativePath=".\src\input\key_helper.hxx">
- </File>
- <File
RelativePath=".\src\input\pointer.hxx">
</File>
<File
@@ -1032,49 +691,14 @@
RelativePath=".\src\win32\config.h">
</File>
<File
- RelativePath=".\src\win32\Getopt.c">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- CompileAs="2"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- CompileAs="2"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\win32\Getopt.h">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
-
Name="VCCustomBuildTool"/>
- </FileConfiguration>
- </File>
- <File
- RelativePath=".\src\win32\Getopt1.c">
- <FileConfiguration
- Name="Debug|Win32">
- <Tool
- Name="VCCLCompilerTool"
- CompileAs="2"/>
- </FileConfiguration>
- <FileConfiguration
- Name="Release|Win32">
- <Tool
- Name="VCCLCompilerTool"
- CompileAs="2"/>
- </FileConfiguration>
- </File>
- <File
RelativePath=".\src\win32\pingus.rc">
</File>
<File
RelativePath=".\src\win32\resource.h">
</File>
+ <File
+ RelativePath=".\src\win32\uce_dirent.h">
+ </File>
</Filter>
<Filter
Name="worldmap"
@@ -1171,12 +795,6 @@
Name="worldobjs"
Filter="">
<File
-
RelativePath=".\src\worldobjs\bumper.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjs\bumper.hxx">
- </File>
- <File
RelativePath=".\src\worldobjs\conveyor_belt.cxx">
</File>
<File
@@ -1314,176 +932,12 @@
<File
RelativePath=".\src\worldobjs\thunderstorm_background.hxx">
</File>
- <Filter
- Name="entrances"
- Filter="">
- <File
-
RelativePath=".\src\worldobjs\entrances\cloud.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjs\entrances\cloud.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjs\entrances\woodthing.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjs\entrances\woodthing.hxx">
- </File>
- </Filter>
- </Filter>
- <Filter
- Name="worldobjsdata"
- Filter="">
<File
-
RelativePath=".\src\worldobjsdata\bumper_data.cxx">
+
RelativePath=".\src\worldobjs\woodthing.cxx">
</File>
<File
-
RelativePath=".\src\worldobjsdata\bumper_data.hxx">
+
RelativePath=".\src\worldobjs\woodthing.hxx">
</File>
- <File
-
RelativePath=".\src\worldobjsdata\conveyor_belt_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\conveyor_belt_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\entrance_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\entrance_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\exit_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\exit_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\fake_exit_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\fake_exit_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\groundpiece_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\groundpiece_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\guillotine_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\guillotine_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\hammer_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\hammer_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\hotspot_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\hotspot_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\ice_block_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\ice_block_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\info_box_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\info_box_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\laser_exit_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\laser_exit_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\liquid_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\liquid_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\prefab_obj_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\prefab_obj_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\rain_generator_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\rain_generator_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\smasher_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\smasher_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\snow_generator_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\snow_generator_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\solid_color_background_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\solid_color_background_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\spike_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\spike_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\starfield_background_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\starfield_background_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\surface_background_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\surface_background_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\switch_door_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\switch_door_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\teleporter_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\teleporter_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\thunderstorm_background_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\thunderstorm_background_data.hxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\worldobj_group_data.cxx">
- </File>
- <File
-
RelativePath=".\src\worldobjsdata\worldobj_group_data.hxx">
- </File>
</Filter>
<Filter
Name="src"
@@ -1495,24 +949,12 @@
RelativePath=".\src\action_button.hxx">
</File>
<File
- RelativePath=".\src\action_data.cxx">
- </File>
- <File
- RelativePath=".\src\action_data.hxx">
- </File>
- <File
RelativePath=".\src\action_holder.cxx">
</File>
<File
RelativePath=".\src\action_holder.hxx">
</File>
<File
- RelativePath=".\src\alpha_button.cxx">
- </File>
- <File
- RelativePath=".\src\alpha_button.hxx">
- </File>
- <File
RelativePath=".\src\blitter.cxx">
</File>
<File
@@ -1564,36 +1006,18 @@
RelativePath=".\src\collider.hxx">
</File>
<File
- RelativePath=".\src\color.cxx">
- </File>
- <File
- RelativePath=".\src\color.hxx">
- </File>
- <File
RelativePath=".\src\config.cxx">
</File>
<File
RelativePath=".\src\config.hxx">
</File>
<File
- RelativePath=".\src\config_xml.cxx">
- </File>
- <File
- RelativePath=".\src\config_xml.hxx">
- </File>
- <File
RelativePath=".\src\console.cxx">
</File>
<File
RelativePath=".\src\console.hxx">
</File>
<File
- RelativePath=".\src\counter.cxx">
- </File>
- <File
- RelativePath=".\src\counter.hxx">
- </File>
- <File
RelativePath=".\src\credits.cxx">
</File>
<File
@@ -1645,13 +1069,13 @@
RelativePath=".\src\exit_menu.hxx">
</File>
<File
- RelativePath=".\src\fade_out.cxx">
+ RelativePath=".\src\file_reader.cxx">
</File>
<File
- RelativePath=".\src\fade_out.hxx">
+ RelativePath=".\src\file_reader.hxx">
</File>
<File
- RelativePath=".\src\file_reader.hxx">
+
RelativePath=".\src\file_reader_impl.hxx">
</File>
<File
RelativePath=".\src\file_writer.hxx">
@@ -1696,6 +1120,9 @@
RelativePath=".\src\game_time.hxx">
</File>
<File
+ RelativePath=".\src\gettext.cxx">
+ </File>
+ <File
RelativePath=".\src\gettext.h">
</File>
<File
@@ -1717,6 +1144,12 @@
RelativePath=".\src\goal_manager.hxx">
</File>
<File
+
RelativePath=".\src\graphic_context_state.cxx">
+ </File>
+ <File
+
RelativePath=".\src\graphic_context_state.hxx">
+ </File>
+ <File
RelativePath=".\src\groundtype.cxx">
</File>
<File
@@ -1957,6 +1390,15 @@
RelativePath=".\src\pingus_error.hxx">
</File>
<File
+ RelativePath=".\src\pingus_level.cxx">
+ </File>
+ <File
+ RelativePath=".\src\pingus_level.hxx">
+ </File>
+ <File
+
RelativePath=".\src\pingus_level_impl.hxx">
+ </File>
+ <File
RelativePath=".\src\pingus_main.cxx">
</File>
<File
@@ -1981,12 +1423,6 @@
RelativePath=".\src\pingus_menu_manager.hxx">
</File>
<File
-
RelativePath=".\src\pingus_resource.cxx">
- </File>
- <File
-
RelativePath=".\src\pingus_resource.hxx">
- </File>
- <File
RelativePath=".\src\pingus_sub_menu.cxx">
</File>
<File
@@ -1999,18 +1435,6 @@
RelativePath=".\src\playfield.hxx">
</File>
<File
- RelativePath=".\src\playfield_view.cxx">
- </File>
- <File
- RelativePath=".\src\playfield_view.hxx">
- </File>
- <File
- RelativePath=".\src\plf.cxx">
- </File>
- <File
- RelativePath=".\src\plf.hxx">
- </File>
- <File
RelativePath=".\src\plf_handle.hxx">
</File>
<File
@@ -2026,12 +1450,6 @@
RelativePath=".\src\plt_xml.hxx">
</File>
<File
- RelativePath=".\src\prefab.cxx">
- </File>
- <File
- RelativePath=".\src\prefab.hxx">
- </File>
- <File
RelativePath=".\src\preview_renderer.cxx">
</File>
<File
@@ -2050,6 +1468,12 @@
RelativePath=".\src\res_descriptor.hxx">
</File>
<File
+ RelativePath=".\src\resource.cxx">
+ </File>
+ <File
+ RelativePath=".\src\resource.hxx">
+ </File>
+ <File
RelativePath=".\src\resource_modifier.cxx">
</File>
<File
@@ -2116,12 +1540,6 @@
RelativePath=".\src\spot_map.hxx">
</File>
<File
- RelativePath=".\src\sprite.cxx">
- </File>
- <File
- RelativePath=".\src\sprite.hxx">
- </File>
- <File
RelativePath=".\src\start_screen.cxx">
</File>
<File
@@ -2134,6 +1552,12 @@
RelativePath=".\src\stat_manager.hxx">
</File>
<File
+ RelativePath=".\src\state_sprite.cxx">
+ </File>
+ <File
+ RelativePath=".\src\state_sprite.hxx">
+ </File>
+ <File
RelativePath=".\src\story.cxx">
</File>
<File
@@ -2146,24 +1570,12 @@
RelativePath=".\src\story_screen.hxx">
</File>
<File
-
RelativePath=".\src\string_converter.cxx">
- </File>
- <File
-
RelativePath=".\src\string_converter.hxx">
- </File>
- <File
RelativePath=".\src\string_format.cxx">
</File>
<File
RelativePath=".\src\string_format.hxx">
</File>
<File
-
RelativePath=".\src\string_tokenizer.cxx">
- </File>
- <File
-
RelativePath=".\src\string_tokenizer.hxx">
- </File>
- <File
RelativePath=".\src\system.cxx">
</File>
<File
@@ -2248,16 +1660,16 @@
RelativePath=".\src\timer.hxx">
</File>
<File
- RelativePath=".\src\true_server.cxx">
+ RelativePath=".\src\tinygettext.cxx">
</File>
<File
- RelativePath=".\src\true_server.hxx">
+ RelativePath=".\src\tinygettext.hxx">
</File>
<File
-
RelativePath=".\src\usb_mouse_controller.cxx">
+ RelativePath=".\src\true_server.cxx">
</File>
<File
-
RelativePath=".\src\usb_mouse_controller.hxx">
+ RelativePath=".\src\true_server.hxx">
</File>
<File
RelativePath=".\src\vector.cxx">
@@ -2266,86 +1678,110 @@
RelativePath=".\src\vector.hxx">
</File>
<File
- RelativePath=".\src\view.cxx">
+ RelativePath=".\src\world.cxx">
</File>
<File
- RelativePath=".\src\view.hxx">
+ RelativePath=".\src\world.hxx">
</File>
<File
- RelativePath=".\src\wav_provider.cxx">
+ RelativePath=".\src\worldobj.cxx">
</File>
<File
- RelativePath=".\src\wav_provider.hxx">
+ RelativePath=".\src\worldobj.hxx">
</File>
<File
- RelativePath=".\src\world.cxx">
+ RelativePath=".\src\worldobj_data.hxx">
</File>
<File
- RelativePath=".\src\world.hxx">
+
RelativePath=".\src\worldobj_factory.cxx">
</File>
<File
- RelativePath=".\src\worldobj.cxx">
+
RelativePath=".\src\worldobj_factory.hxx">
</File>
<File
- RelativePath=".\src\worldobj.hxx">
+
RelativePath=".\src\xml_file_reader.cxx">
</File>
<File
- RelativePath=".\src\worldobj_data.hxx">
+
RelativePath=".\src\xml_file_reader.hxx">
</File>
<File
-
RelativePath=".\src\worldobj_data_factory.cxx">
+
RelativePath=".\src\xml_file_writer.cxx">
</File>
<File
-
RelativePath=".\src\worldobj_data_factory.hxx">
+
RelativePath=".\src\xml_file_writer.hxx">
</File>
<File
- RelativePath=".\src\xml_eval.cxx">
+ RelativePath=".\src\xml_pdf.cxx">
</File>
<File
- RelativePath=".\src\xml_eval.hxx">
+ RelativePath=".\src\xml_pdf.hxx">
</File>
<File
-
RelativePath=".\src\xml_file_reader.cxx">
+
RelativePath=".\src\xml_pingus_level.cxx">
</File>
<File
-
RelativePath=".\src\xml_file_reader.hxx">
+
RelativePath=".\src\xml_pingus_level.hxx">
</File>
+ </Filter>
+ <Filter
+ Name="display"
+ Filter="">
<File
-
RelativePath=".\src\xml_file_writer.cxx">
+
RelativePath=".\src\display\drawing_context.cxx">
</File>
<File
-
RelativePath=".\src\xml_file_writer.hxx">
+
RelativePath=".\src\display\drawing_context.hxx">
</File>
<File
- RelativePath=".\src\xml_helper.cxx">
+
RelativePath=".\src\display\drawing_request.hxx">
</File>
<File
- RelativePath=".\src\xml_helper.hxx">
+
RelativePath=".\src\display\scene_context.cxx">
</File>
<File
- RelativePath=".\src\xml_pdf.cxx">
+
RelativePath=".\src\display\scene_context.hxx">
</File>
+ </Filter>
+ <Filter
+ Name="caimagemanipulation"
+ Filter="">
<File
- RelativePath=".\src\xml_pdf.hxx">
+
RelativePath=".\src\caimagemanipulation\caimagemanipulation.cpp">
</File>
<File
- RelativePath=".\src\xml_plf.cxx">
+
RelativePath=".\src\caimagemanipulation\caimagemanipulation.h">
</File>
+ </Filter>
+ <Filter
+ Name="editor"
+ Filter="">
<File
- RelativePath=".\src\xml_plf.hxx">
+
RelativePath=".\src\editor\editor_panel.cxx">
</File>
<File
- RelativePath=".\src\xmlgz_reader.cxx">
+
RelativePath=".\src\editor\editor_panel.hxx">
</File>
<File
- RelativePath=".\src\xmlgz_reader.hxx">
+
RelativePath=".\src\editor\editor_screen.cxx">
</File>
+ <File
+
RelativePath=".\src\editor\editor_screen.hxx">
+ </File>
+ <File
+
RelativePath=".\src\editor\panel_buttons.cxx">
+ </File>
+ <File
+
RelativePath=".\src\editor\panel_buttons.hxx">
+ </File>
</Filter>
</Filter>
<File
RelativePath=".\ChangeLog">
</File>
<File
+ RelativePath=".\src\win32\icon1.ico">
+ </File>
+ <File
RelativePath=".\INSTALL.Win32">
</File>
<File
@@ -2361,9 +1797,6 @@
RelativePath=".\README.languages">
</File>
<File
- RelativePath=".\README.Win32">
- </File>
- <File
RelativePath=".\Todo">
</File>
<File
Modified: trunk/src/Makefile.am
===================================================================
--- trunk/src/Makefile.am 2005-11-08 02:14:09 UTC (rev 2488)
+++ trunk/src/Makefile.am 2005-11-09 18:38:29 UTC (rev 2489)
@@ -28,6 +28,7 @@
actions \
caimagemanipulation \
colliders \
+ editor \
gui \
input \
movers \
@@ -66,6 +67,7 @@
input/buttons/libpingus_input_buttons.a \
input/pointers/libpingus_input_pointers.a \
input/scrollers/libpingus_input_scrollers.a \
+ editor/libpingus_editor.a \
@PINGUS_LIBS@ \
@ICONV_LIBS@ \
@LIBS@
Modified: trunk/src/blitter.hxx
===================================================================
--- trunk/src/blitter.hxx 2005-11-08 02:14:09 UTC (rev 2488)
+++ trunk/src/blitter.hxx 2005-11-09 18:38:29 UTC (rev 2489)
@@ -41,17 +41,11 @@
static void put_surface_32bit(CL_PixelBuffer target, CL_PixelBuffer source,
int x, int y);
public:
- /*void put_surface(CL_LockableSurface* provider, CL_Surface surface,
- int x, int y);
- void put_surface(CL_LockableSurface* provider, CL_PixelBuffer* surface,
- int x, int y);
- */
-
- /// Puts a given surface to a given canvas at position x, y.
+ /** Puts a given surface to a given canvas at position x, y. */
static void put_surface(CL_PixelBuffer target, const CL_Surface& source,
int x, int y);
- /// Puts a given surface provider to a given canvas at position x, y.
+ /** Puts a given surface provider to a given canvas at position x, y. */
static void put_surface(CL_PixelBuffer target, CL_PixelBuffer source,
int x, int y);
Modified: trunk/src/display/drawing_context.cxx
===================================================================
--- trunk/src/display/drawing_context.cxx 2005-11-08 02:14:09 UTC (rev
2488)
+++ trunk/src/display/drawing_context.cxx 2005-11-09 18:38:29 UTC (rev
2489)
@@ -63,7 +63,7 @@
virtual ~SurfaceDrawingRequest() {}
void draw(CL_GraphicContext* gc) {
- sprite.draw(static_cast<int>(pos.x), static_cast<int>(pos.y), gc);
+ sprite.draw(pos.x, pos.y, gc);
}
};
@@ -150,7 +150,7 @@
virtual ~SpriteDrawingRequest() {}
void draw(CL_GraphicContext* gc) {
- sprite.draw(static_cast<int>(pos.x), static_cast<int>(pos.y), gc);
+ sprite.draw(pos.x, pos.y, gc);
}
};
Added: trunk/src/editor/Makefile.am
===================================================================
--- trunk/src/editor/Makefile.am 2005-11-08 02:14:09 UTC (rev 2488)
+++ trunk/src/editor/Makefile.am 2005-11-09 18:38:29 UTC (rev 2489)
@@ -0,0 +1,29 @@
+# Pingus - A free Lemmings clone
+# Copyright (C) 1999 Ingo Ruhnke <address@hidden>
+#
+# This program is free software; you can redistribute it and/or
+# modify it under the terms of the GNU General Public License
+# as published by the Free Software Foundation; either version 2
+# of the License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Public License for more details.
+#
+# You should have received a copy of the GNU General Public License
+# along with this program; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+libdir=$(prefix)/share/games/@PACKAGE@/libs
+
+# -- Static Libs --
+noinst_LIBRARIES = libpingus_editor.a
+
+libpingus_editor_a_CPPFLAGS = @PINGUS_CFLAGS@
+libpingus_editor_a_SOURCES = \
+ editor_screen.cxx editor_screen.hxx \
+ editor_panel.cxx editor_panel.hxx \
+ panel_button.cxx panel_button.hxx
+
+# EOF #
\ No newline at end of file
Added: trunk/src/editor/editor_panel.cxx
===================================================================
--- trunk/src/editor/editor_panel.cxx 2005-11-08 02:14:09 UTC (rev 2488)
+++ trunk/src/editor/editor_panel.cxx 2005-11-09 18:38:29 UTC (rev 2489)
@@ -0,0 +1,90 @@
+// $Id: editor_panel.cxx,v 1.00 2005/11/07 23:41:12 Jave27 Exp $
+//
+// Pingus - A free Lemmings clone
+// Copyright (C) 1999 Ingo Ruhnke <address@hidden>
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#include <ClanLib/Display/color.h>
+#include <vector>
+#include "../resource.hxx"
+#include "../vector.hxx"
+#include "../display/drawing_context.hxx"
+#include "../gui/gui_manager.hxx"
+#include "editor_panel.hxx"
+#include "editor_screen.hxx"
+#include "panel_buttons.hxx"
+
+namespace Pingus {
+
+ class GUI::Component;
+
+namespace Editor {
+
+// Constructor
+EditorPanel::EditorPanel(EditorScreen* es)
+: editor(es)
+{
+
+}
+
+// Destructor
+EditorPanel::~EditorPanel()
+{
+
+}
+
+// Wait to run this until after the panel has been added to the gui_manager
+// This sets up the buttons, text fields, etc. for this panel
+// No need to delete the buttons because the gui_manager will do it for us.
+void
+EditorPanel::init()
+{
+ // Create exit button
+ add((PanelButton*)(new PanelButtonExit(this)));
+}
+
+// Draw the panel
+void
+EditorPanel::draw (DrawingContext& gc)
+{
+ gc.draw_fillrect(0.0f, 0.0f, (float)CL_Display::get_width(),
+ 50.0f, CL_Color::lightgray);
+}
+
+// Add the button to the vector, set it's position, and add to the gui_manager
+void
+EditorPanel::add(PanelButton* button)
+{
+ // Determind where to place this buttons
+ Vector new_pos;
+
+ if (panel_buttons.empty())
+ new_pos = Vector(0.0f, 0.0f, 0.0f);
+ else
+ new_pos = Vector((*panel_buttons.end())->get_pos() +
+ Vector((float)(5 +
(*panel_buttons.end())->get_width()), 0.0f));
+ // Add button to collection of buttons
+ panel_buttons.push_back(button);
+
+ // Add a 5 pixel spacing between all buttons
+ button->set_pos(new_pos);
+
+ // Add the button to the GUI Manager
+ get_screen()->get_gui_manager()->add((GUI::Component*)button);
+}
+
+} // Editor namespace
+} // Pingus namespace
\ No newline at end of file
Added: trunk/src/editor/editor_panel.hxx
===================================================================
--- trunk/src/editor/editor_panel.hxx 2005-11-08 02:14:09 UTC (rev 2488)
+++ trunk/src/editor/editor_panel.hxx 2005-11-09 18:38:29 UTC (rev 2489)
@@ -0,0 +1,78 @@
+// $Id: editor_panel.hxx,v 1.00 2005/11/07 23:41:12 Jave27 Exp $
+//
+// Pingus - A free Lemmings clone
+// Copyright (C) 1999 Ingo Ruhnke <address@hidden>
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#ifndef HEADER_PINGUS_EDITOR_PANEL_HXX
+#define HEADER_PINGUS_EDITOR_PANEL_HXX
+
+#include <vector>
+#include <iostream>
+#include "../gui/component.hxx"
+
+namespace Pingus {
+
+class DrawingContext;
+
+namespace Editor {
+
+class PanelButton;
+class EditorScreen;
+
+/** This class contains all of the buttons, comboboxes, and other components */
+class EditorPanel : public GUI::Component
+{
+private:
+ /** The EditorScreen to which this panel belongs */
+ EditorScreen* editor;
+
+ /** Collection of buttons on this panel */
+ std::vector<PanelButton*> panel_buttons;
+
+public:
+ /** Constructor
+ @param es The EditorScreen to which this panel belongs */
+ EditorPanel(EditorScreen* es);
+
+ /** Destructor - nothing really happens here */
+ ~EditorPanel();
+
+ /** Initialize the panel - Adds all of the buttons and text fields
+ Wait to run this until after the panel has been added
to the gui_manager */
+ void init();
+
+ /** Add a button to the panel
+ @param button The PanelButton that you'd like to add */
+ void add(PanelButton* button);
+
+ /** Draws the panel */
+ void draw(DrawingContext& gc);
+
+ /** Return the editor screen */
+ EditorScreen* get_screen() { return editor; }
+
+private:
+ EditorPanel();
+ EditorPanel (const EditorPanel&);
+ EditorPanel& operator= (const EditorPanel&);
+
+}; // EditorPanel
+} // Editor namespace
+} // Pingus namespace
+
+#endif
+/* EOF */
\ No newline at end of file
Added: trunk/src/editor/editor_screen.cxx
===================================================================
--- trunk/src/editor/editor_screen.cxx 2005-11-08 02:14:09 UTC (rev 2488)
+++ trunk/src/editor/editor_screen.cxx 2005-11-09 18:38:29 UTC (rev 2489)
@@ -0,0 +1,117 @@
+// $Id: editor_screen.cxx,v 1.00 2005/11/07 23:41:12 Jave27 Exp $
+//
+// Pingus - A free Lemmings clone
+// Copyright (C) 1999 Ingo Ruhnke <address@hidden>
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#include <iostream>
+#include <ClanLib/Core/System/clanstring.h>
+#include "../system.hxx"
+#include "../sound/sound.hxx"
+#include "../gui/gui_manager.hxx"
+#include "../gui/screen_manager.hxx"
+#include "../display/drawing_context.hxx"
+#include "../res_descriptor.hxx"
+#include "../resource.hxx"
+#include "../fonts.hxx"
+#include "../xml_pingus_level.hxx"
+#include "editor_screen.hxx"
+#include "editor_panel.hxx"
+
+namespace Pingus {
+
+ class PingusLevel;
+
+namespace Editor {
+
+// Default constructor
+EditorScreen::EditorScreen(PingusLevel* level)
+: plf(level)
+{
+ if (!plf) plf = new PingusLevel();
+}
+
+// Destructor
+EditorScreen::~EditorScreen()
+{
+ delete plf;
+}
+
+// Startup code
+void
+EditorScreen::on_startup()
+{
+ // Create the panel for the buttons
+ {
+ panel = new EditorPanel(this);
+ gui_manager->add(panel);
+ panel->init();
+ } // end panel setup
+}
+
+// Close the current screen
+void
+EditorScreen::close_screen()
+{
+ ScreenManager::instance()->pop_screen();
+}
+
+// Escape was pressed
+void
+EditorScreen::on_escape_press()
+{
+ close_screen();
+}
+
+// Save the current level
+bool
+EditorScreen::save_level()
+{
+ return false;
+}
+
+// Load a new level by opening a dialog box
+bool
+EditorScreen::load_level()
+{
+ return false;
+}
+
+// Play the current level (save to a temporary file
+// then load it normally)
+void
+EditorScreen::play_level()
+{
+ // Ask, "Would you like to save first?".
+ // if so, save the file normally.
+
+ // Then save to a temporary file
+
+ // Load the temporary file
+}
+
+// Draw the background and components
+bool
+EditorScreen::draw(Pingus::DrawingContext &gc)
+{
+ // Black out screen
+ gc.fill_screen(CL_Color(0, 0, 0, 255));
+ gui_manager->draw(gc);
+ return true;
+}
+
+} // Editor namespace
+} // Pingus namespace
\ No newline at end of file
Added: trunk/src/editor/editor_screen.hxx
===================================================================
--- trunk/src/editor/editor_screen.hxx 2005-11-08 02:14:09 UTC (rev 2488)
+++ trunk/src/editor/editor_screen.hxx 2005-11-09 18:38:29 UTC (rev 2489)
@@ -0,0 +1,89 @@
+// $Id: editor_screen.hxx,v 1.00 2005/11/07 23:41:12 Jave27 Exp $
+//
+// Pingus - A free Lemmings clone
+// Copyright (C) 1999 Ingo Ruhnke <address@hidden>
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#ifndef HEADER_PINGUS_EDITOR_SCREEN_HXX
+#define HEADER_PINGUS_EDITOR_SCREEN_HXX
+
+#include "../gui/gui_screen.hxx"
+
+namespace Pingus {
+
+class DrawingContext;
+class GUI::GUIManager;
+class PingusLevel;
+
+namespace Editor {
+
+class EditorPanel;
+
+/** This class is the screen that contains all of the
+ editor objects */
+class EditorScreen : public GUIScreen
+{
+private:
+ /* The level currently being edited */
+ PingusLevel* plf;
+
+ /* Panel which contains all of the buttons for each action */
+ EditorPanel* panel;
+
+public:
+ /** Default constructor */
+ EditorScreen(PingusLevel* level = 0);
+
+ /** Destructor */
+ ~EditorScreen();
+
+ /** Code that runs when the screen first opens */
+ void on_startup();
+
+ /** Closes the current screen */
+ void close_screen();
+
+ /** Code that runs when the Escape button is pressed */
+ void on_escape_press();
+
+ /** Draw the items in the screen */
+ virtual bool draw (DrawingContext& gc);
+
+ /** Return the gui_manager */
+ GUI::GUIManager* get_gui_manager() { return gui_manager; }
+
+private:
+ EditorScreen (const EditorScreen&);
+ EditorScreen& operator= (const EditorScreen&);
+
+ /** Saves the currently loaded level
+ @return true if level was valid and saved, false otherwise */
+ bool save_level();
+
+ /** Load a new level by opening a dialog box
+ @return true if the user chose a valid level,
+ false otherwise */
+ bool load_level();
+
+ /** Plays the currently loaded level */
+ void play_level();
+
+}; // EditorScreen
+} // Editor namespace
+} // Pingus namespace
+
+#endif
+/* EOF */
\ No newline at end of file
Added: trunk/src/editor/panel_buttons.cxx
===================================================================
--- trunk/src/editor/panel_buttons.cxx 2005-11-08 02:14:09 UTC (rev 2488)
+++ trunk/src/editor/panel_buttons.cxx 2005-11-09 18:38:29 UTC (rev 2489)
@@ -0,0 +1,86 @@
+// $Id: editor_panel.cxx,v 1.00 2005/11/07 23:41:12 Jave27 Exp $
+//
+// Pingus - A free Lemmings clone
+// Copyright (C) 1999 Ingo Ruhnke <address@hidden>
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#include <ClanLib/Display/sprite.h>
+#include "panel_buttons.hxx"
+#include "../display/scene_context.hxx"
+#include "../resource.hxx"
+#include "editor_screen.hxx"
+#include "editor_panel.hxx"
+
+namespace Pingus {
+
+class Resource;
+
+namespace Editor {
+
+// Constructor
+PanelButton::PanelButton(EditorPanel* p) :
+ panel(p)
+{
+ button = Resource::load_sprite("core/editor/button");
+ button_pressed = Resource::load_sprite("core/editor/button_pressed");
+}
+
+// Draw the button
+void
+PanelButton::draw(Pingus::DrawingContext &gc)
+{
+ //if (is_pressed())
+ //FIXME: Component::is_pressed() not implemented
+ if (false)
+ gc.draw(button_pressed, pos);
+ else
+ gc.draw(button, pos);
+
+ gc.draw(sur, pos);
+}
+
+// Set the position of this panelbutton
+void
+PanelButton::set_pos(Vector p)
+{
+ pos = p;
+}
+
+// Is this button at these x,y coordinates?
+bool
+PanelButton::is_at(int x, int y)
+{
+ return (x > pos.x && x < pos.x + sur.get_width()
+ && y > pos.y && y < pos.y + sur.get_height());
+}
+
+// Standard exit button
+PanelButtonExit::PanelButtonExit(EditorPanel *p) :
+ PanelButton(p)
+{
+ tooltip = "Exit the editor";
+ sur = Resource::load_sprite("core/editor/exit");
+}
+
+// When clicked, close the EditorScreen
+void
+PanelButtonExit::on_primary_button_click(int x, int y)
+{
+ panel->get_screen()->on_escape_press();
+}
+
+} // Editor namespace
+} // Pingus namespace
Added: trunk/src/editor/panel_buttons.hxx
===================================================================
--- trunk/src/editor/panel_buttons.hxx 2005-11-08 02:14:09 UTC (rev 2488)
+++ trunk/src/editor/panel_buttons.hxx 2005-11-09 18:38:29 UTC (rev 2489)
@@ -0,0 +1,110 @@
+// $Id: editor_panel.hxx,v 1.00 2005/11/07 23:41:12 Jave27 Exp $
+//
+// Pingus - A free Lemmings clone
+// Copyright (C) 1999 Ingo Ruhnke <address@hidden>
+//
+// This program is free software; you can redistribute it and/or
+// modify it under the terms of the GNU General Public License
+// as published by the Free Software Foundation; either version 2
+// of the License, or (at your option) any later version.
+//
+// This program is distributed in the hope that it will be useful,
+// but WITHOUT ANY WARRANTY; without even the implied warranty of
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+// GNU General Public License for more details.
+//
+// You should have received a copy of the GNU General Public License
+// along with this program; if not, write to the Free Software
+// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
+
+#ifndef HEADER_PINGUS_PANEL_BUTTONS_HXX
+#define HEADER_PINGUS_PANEL_BUTTONS_HXX
+
+#include <ClanLib/Display/sprite.h>
+#include "../gui/component.hxx"
+#include "../vector.hxx"
+
+namespace Pingus {
+
+class DrawingContext;
+
+namespace Editor {
+
+class EditorPanel;
+
+/** Generic PanelButton class - all buttons in the Editor should inherit from
this */
+class PanelButton : public GUI::Component
+{
+protected:
+ /** The actual button image */
+ CL_Sprite sur;
+
+ /** The button background image when not pressed */
+ CL_Sprite button;
+
+ /** The button background image while pressed */
+ CL_Sprite button_pressed;
+
+ /** The panel to which this button belongs */
+ EditorPanel* panel;
+
+ /** The string that appears when the mouse is hovering over this button
*/
+ std::string tooltip;
+
+ /** The location of this button on the screen (set by the EditorPanel)
*/
+ Vector pos;
+
+public:
+ /** Constructor
+ @param p The EditorPanel to which this button belongs */
+ PanelButton(EditorPanel* p);
+
+ /** Destructor - nothing really happens here */
+ virtual ~PanelButton() { }
+
+ /** Set the position of this button on the screen - used by the
EditorPanel
+ @param p the x,y,z Vector where this button belongs */
+ void set_pos (Vector p);
+
+ /** Returns the Vector of this button's location */
+ Vector get_pos () { return pos; }
+
+ /** Returns the width of the sur sprite */
+ int get_width() { return sur.get_width(); }
+
+ /** Returns the height of the sur sprite */
+ int get_height() { return sur.get_height(); }
+
+ /** Draws the button */
+ void draw(DrawingContext& gc);
+
+ /** Return true if the button is located at this x,y coordinate */
+ bool is_at(int x, int y);
+
+private:
+ PanelButton (const PanelButton&);
+ PanelButton& operator= (const PanelButton&);
+}; // PanelButton class
+
+/** Standard exit button */
+class PanelButtonExit : PanelButton
+{
+public:
+ /** Constructor
+ @param p the EditorPanel to which this button belongs */
+ PanelButtonExit (EditorPanel* p);
+
+ /** This function is called by the gui_manager when the button is
clicked */
+ void on_primary_button_click (int x, int y);
+
+private:
+ PanelButtonExit ();
+ PanelButtonExit (const PanelButtonExit&);
+ PanelButtonExit& operator= (const PanelButtonExit&);
+}; // PanelButtonExit class
+
+} // Editor namespace
+} // Pingus namespace
+
+#endif
+/* EOF */
\ No newline at end of file
Modified: trunk/src/pingus_menu.cxx
===================================================================
--- trunk/src/pingus_menu.cxx 2005-11-08 02:14:09 UTC (rev 2488)
+++ trunk/src/pingus_menu.cxx 2005-11-09 18:38:29 UTC (rev 2489)
@@ -38,6 +38,7 @@
#include "gui/gui_manager.hxx"
#include "plf_res_mgr.hxx"
#include "path_manager.hxx"
+#include "editor/editor_screen.hxx"
namespace Pingus {
@@ -47,35 +48,41 @@
is_init = false;
start_button = new MenuButton(CL_Point(CL_Display::get_width() * 400 / 800,
- CL_Display::get_height() * 370 / 600),
+ CL_Display::get_height() * 450 / 600),
Resource::load_sprite("core/menu/play_on"),
_("Start"),
_("..:: Start the game ::.."));
quit_button = new MenuButton(CL_Point(CL_Display::get_width() * 650 / 800,
- CL_Display::get_height() * 370 / 600),
+ CL_Display::get_height() * 450 / 600),
Resource::load_sprite("core/menu/exit_on"),
_("Exit"),
_("..:: Bye, bye ::.."));
contrib_button = new MenuButton(CL_Point(CL_Display::get_width() * 150 / 800,
- CL_Display::get_height() * 370 /
600),
+ CL_Display::get_height() * 450 /
600),
Resource::load_sprite("core/menu/options_on"),
_("Contrib\nLevels"),
_("..:: Play User Build levels ::.."));
story_button = new MenuButton(CL_Point(CL_Display::get_width() * 400 / 800,
- CL_Display::get_height() * 370 /
600),
+ CL_Display::get_height() * 340 /
600),
Resource::load_sprite("core/menu/credits_on"),
_("Story"),
_("..:: Start the story ::.."));
- multiplayer_button = new MenuButton(CL_Point(CL_Display::get_width() * 650 /
800,
- CL_Display::get_height() * 370
/ 600),
+ multiplayer_button = new MenuButton(CL_Point(CL_Display::get_width() * 150 /
800,
+ CL_Display::get_height() * 340
/ 600),
Resource::load_sprite("core/menu/multi_on"),
_("Multiplayer"),
_("..:: Multiplayer Match ::.."));
+ editor_button = new MenuButton(CL_Point(CL_Display::get_width() * 400 /
800,
+ CL_Display::get_height() * 450
/ 600),
+
Resource::load_sprite("core/menu/create_on"),
+ _("Level Editor"),
+ _("..:: Create your own levels ::.."));
+
slots.push_back(start_button->sig_click().connect(this,
&PingusMenu::setup_game_menu));
slots.push_back(quit_button->sig_click().connect(this,
&PingusMenu::do_quit));
@@ -83,6 +90,7 @@
slots.push_back(multiplayer_button->sig_click().connect(this,
&PingusMenu::setup_main_menu));
slots.push_back(contrib_button->sig_click().connect(this,
&PingusMenu::setup_contrib_menu));
+ slots.push_back(editor_button->sig_click().connect(this,
&PingusMenu::do_edit));
}
void
@@ -91,6 +99,7 @@
gui_manager->remove(contrib_button);
gui_manager->remove(story_button);
gui_manager->remove(multiplayer_button);
+ gui_manager->remove(editor_button);
gui_manager->add(quit_button);
gui_manager->add(start_button);
@@ -99,22 +108,20 @@
void
PingusMenu::setup_game_menu()
{
- gui_manager->remove(quit_button);
gui_manager->remove(start_button);
gui_manager->add(contrib_button);
gui_manager->add(story_button);
- gui_manager->add(multiplayer_button);
+ gui_manager->add(editor_button);
+ // FIXME: Re-enable this next line once multiplayer functionality
+ // is actually available.
+ //gui_manager->add(multiplayer_button);
}
void
PingusMenu::setup_contrib_menu()
-{ // Remove buttons and select a level to play
- gui_manager->remove(contrib_button);
- gui_manager->remove(story_button);
- gui_manager->remove(multiplayer_button);
-
- // Create a Clanlib GUIManager using the silver style
+{
+ // Create a Clanlib File Dialog using the silver style
CL_ResourceManager *resources = new
CL_ResourceManager(path_manager.complete("GUIStyleSilver/gui.xml"));
CL_StyleManager_Silver *style = new CL_StyleManager_Silver(resources);
@@ -128,18 +135,13 @@
// Clean up ClanLib stuff
delete filedialog;
- delete gui;
+ delete gui;
delete style;
- delete resources;
+ delete resources;
// Launch level
if (filename != "")
do_contrib(filename);
-
- // Reset menu
- gui_manager->add(contrib_button);
- gui_manager->add(story_button);
- gui_manager->add(multiplayer_button);
}
void
@@ -161,6 +163,7 @@
delete contrib_button;
delete story_button;
delete multiplayer_button;
+ delete editor_button;
}
void
@@ -195,6 +198,11 @@
true);
}
+void PingusMenu::do_edit()
+{ // Launch the level editor
+ ScreenManager::instance()->push_screen (new Editor::EditorScreen());
+}
+
void
PingusMenu::on_resize(int w, int h)
{
@@ -214,22 +222,25 @@
{
gc.draw(background,
Vector((gc.get_width()/2) - (background.get_width()/2),
- 20));
+ 20.0f));
}
else
{
gc.draw(background,
Vector((gc.get_width()/2) - (background.get_width()/2),
- CL_Display::get_height()/10));
+
static_cast<float>(CL_Display::get_height()/10)));
}
#ifdef OFFICIAL_PINGUS_BUILD
- gc.print_left(Fonts::pingus_small, 20, CL_Display::get_height()-100,
+ gc.print_left(Fonts::pingus_small, 20.0f,
+
static_cast<float>(CL_Display::get_height()-100),
"Pingus version "VERSION", Copyright (C) 2003 Ingo Ruhnke
<address@hidden>\n");
#else
- gc.print_left(Fonts::pingus_small, 20, CL_Display::get_height()-100,
+ gc.print_left(Fonts::pingus_small, 20.0f,
+
static_cast<float>(CL_Display::get_height()-100),
"Pingus version "VERSION" (unofficial build), Copyright (C)
2003 Ingo Ruhnke <address@hidden>\n");
#endif
- gc.print_left(Fonts::pingus_small, 20, CL_Display::get_height()-70,
+ gc.print_left(Fonts::pingus_small, 20.0f,
+
static_cast<float>(CL_Display::get_height()-70),
"Pingus comes with ABSOLUTELY NO WARRANTY. This is free
software, and you are welcome\n"
"to redistribute it under certain conditions; see the file
COPYING for details.\n");
}
Modified: trunk/src/pingus_menu.hxx
===================================================================
--- trunk/src/pingus_menu.hxx 2005-11-08 02:14:09 UTC (rev 2488)
+++ trunk/src/pingus_menu.hxx 2005-11-09 18:38:29 UTC (rev 2489)
@@ -55,6 +55,7 @@
MenuButton* contrib_button;
MenuButton* story_button;
MenuButton* multiplayer_button;
+ MenuButton* editor_button;
void on_resize (int w, int h);
@@ -66,6 +67,7 @@
void do_quit();
void do_start();
void do_contrib(const std::string&);
+ void do_edit();
public:
PingusMenu (PingusMenuManager* m);
Modified: trunk/src/theme.cxx
===================================================================
--- trunk/src/theme.cxx 2005-11-08 02:14:09 UTC (rev 2488)
+++ trunk/src/theme.cxx 2005-11-09 18:38:29 UTC (rev 2489)
@@ -242,7 +242,7 @@
if ((unsigned int)(accessible_levels) >= level_filenames.size())
{
if (verbose) std::cout << "Warning: Accessible_Level is to high! " <<
accessible_levels << std::endl;
- accessible_levels = level_filenames.size() - 1;
+ accessible_levels = static_cast<int>(level_filenames.size()) - 1;
}
current_level = accessible_levels;
}
@@ -264,7 +264,7 @@
++accessible_levels;
if ((unsigned int)(accessible_levels) >= level_filenames.size())
- accessible_levels = level_filenames.size() - 1;
+ accessible_levels = static_cast<int>(level_filenames.size()) - 1;
std::ofstream out (status_file.c_str());
out << accessible_levels;
@@ -289,7 +289,7 @@
++current_level;
if ((unsigned int)(current_level) >= level_filenames.size())
- current_level = level_filenames.size() - 1;
+ current_level = static_cast<int>(level_filenames.size()) - 1;
if (current_level > accessible_levels)
current_level = accessible_levels;
@@ -336,7 +336,7 @@
if (verbose)
std::cout << "done." << std::endl;
- std::cout << "Levelnames: " << levelnames.size () << std::endl;
+ std::cout << "Levelnames: " << static_cast<unsigned>(levelnames.size()) <<
std::endl;
}
void
Modified: trunk/src/worldobjs/surface_background.cxx
===================================================================
--- trunk/src/worldobjs/surface_background.cxx 2005-11-08 02:14:09 UTC (rev
2488)
+++ trunk/src/worldobjs/surface_background.cxx 2005-11-09 18:38:29 UTC (rev
2489)
@@ -18,7 +18,6 @@
// Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
#include <iostream>
-#include <ClanLib/Core/System/error.h>
#include <ClanLib/Display/pixel_buffer.h>
#include <ClanLib/Display/display.h>
#include "../display/scene_context.hxx"
@@ -120,14 +119,6 @@
CL_Color(color));
}
- //bg_surface = CAImageManipulation::changeHSV(bg_surface, 150, 100, 0);
-
- if (0) // CLANLIB_0_6
- {
- //counter.set_size(bg_surface.get_frame_count());
- //counter.set_speed(1.0);
- }
-
bg_surface = CL_Surface(canvas);
timer.stop();
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Pingus-CVS] r2489 - in trunk: . src src/display src/editor src/worldobjs,
jave27 <=