pingus-cvs
[Top][All Lists]
Advanced

[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();





reply via email to

[Prev in Thread] Current Thread [Next in Thread]