diff -bur darkradiant_xrealrev//plugins/image/image.cpp xrealradiant//plugins/image/image.cpp --- darkradiant_xrealrev//plugins/image/image.cpp Sun Sep 19 08:42:43 2010 +++ xrealradiant//plugins/image/image.cpp Sun Sep 19 08:42:31 2010 @@ -25,6 +25,7 @@ #include "jpeg.h" #include "tga.h" +#include "png.h" #include "bmp.h" #include "pcx.h" #include "dds.h" @@ -33,6 +34,7 @@ typedef boost::shared_ptr TGALoaderPtr; typedef boost::shared_ptr JPGLoaderPtr; +typedef boost::shared_ptr PNGLoaderPtr; typedef boost::shared_ptr PCXLoaderPtr; typedef boost::shared_ptr BMPLoaderPtr; typedef boost::shared_ptr DDSLoaderPtr; @@ -41,6 +43,7 @@ extern "C" void DARKRADIANT_DLLEXPORT RegisterModule(IModuleRegistry& registry) { registry.registerModule(TGALoaderPtr(new TGALoader)); registry.registerModule(JPGLoaderPtr(new JPGLoader)); + registry.registerModule(PNGLoaderPtr(new PNGLoader)); registry.registerModule(PCXLoaderPtr(new PCXLoader)); registry.registerModule(BMPLoaderPtr(new BMPLoader)); registry.registerModule(DDSLoaderPtr(new DDSLoader)); diff -bur darkradiant_xrealrev//plugins/shaders/ShaderTemplate.cpp xrealradiant//plugins/shaders/ShaderTemplate.cpp --- darkradiant_xrealrev//plugins/shaders/ShaderTemplate.cpp Sun Sep 19 08:42:45 2010 +++ xrealradiant//plugins/shaders/ShaderTemplate.cpp Sun Sep 19 08:42:31 2010 @@ -120,7 +120,7 @@ ); m_layers.push_back(layer); } - else if (token == "bumpmap") + else if (token == "bumpmap" || token == "normalmap") { Doom3ShaderLayerPtr layer( new Doom3ShaderLayer( @@ -138,7 +138,7 @@ */ void ShaderTemplate::parseBlendType(parser::DefTokeniser& tokeniser, const std::string& token) { - if (token == "blend") + if (token == "blend" || token == "stage") { std::string blendType = boost::algorithm::to_lower_copy(tokeniser.nextToken()); diff -bur darkradiant_xrealrev//radiant/ui/lightinspector/LightInspector.cpp xrealradiant//radiant/ui/lightinspector/LightInspector.cpp --- darkradiant_xrealrev//radiant/ui/lightinspector/LightInspector.cpp Sun Sep 19 08:42:50 2010 +++ xrealradiant//radiant/ui/lightinspector/LightInspector.cpp Sun Sep 19 08:42:26 2010 @@ -6,6 +6,7 @@ #include "ishaders.h" #include "iregistry.h" #include "iuimanager.h" +#include "iundo.h" #include "iradiant.h" #include "imainframe.h" @@ -30,10 +31,9 @@ const char* LIGHTINSPECTOR_TITLE = "Light properties"; - const char* PARALLEL_TEXT = "Parallel"; + const char* PARALLEL_TEXT = "Parallel (sun)"; const char* NOSHADOW_TEXT = "Do not cast shadows (fast)"; - const char* NOSPECULAR_TEXT = "Skip specular lighting"; - const char* NODIFFUSE_TEXT = "Skip diffuse lighting"; + const char* NORADIOSITY_TEXT = "Realtime (skip XMap lightmap creation)"; const std::string RKEY_WINDOW_STATE = "user/ui/lightInspector/window"; const std::string RKEY_INSTANT_APPLY = "user/ui/lightInspector/instantApply"; @@ -246,20 +246,17 @@ // Add options boxes to map _options["parallel"] = gtk_check_button_new_with_label(PARALLEL_TEXT); _options["noshadows"] = gtk_check_button_new_with_label(NOSHADOW_TEXT); - _options["nospecular"] = gtk_check_button_new_with_label(NOSPECULAR_TEXT); - _options["nodiffuse"] = gtk_check_button_new_with_label(NODIFFUSE_TEXT); + _options["noradiosity"] = gtk_check_button_new_with_label(NORADIOSITY_TEXT); g_signal_connect(G_OBJECT(_options["parallel"]), "toggled", G_CALLBACK(_onOptionsToggle), this); g_signal_connect(G_OBJECT(_options["noshadows"]), "toggled", G_CALLBACK(_onOptionsToggle), this); - g_signal_connect(G_OBJECT(_options["nospecular"]), "toggled", G_CALLBACK(_onOptionsToggle), this); - g_signal_connect(G_OBJECT(_options["nodiffuse"]), "toggled", G_CALLBACK(_onOptionsToggle), this); + g_signal_connect(G_OBJECT(_options["noradiosity"]), "toggled", G_CALLBACK(_onOptionsToggle), this); // Pack checkboxes into a VBox GtkWidget* vbx = gtk_vbox_new(FALSE, 6); gtk_box_pack_start(GTK_BOX(vbx), _options["parallel"], FALSE, FALSE, 0); gtk_box_pack_start(GTK_BOX(vbx), _options["noshadows"], FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbx), _options["nospecular"], FALSE, FALSE, 0); - gtk_box_pack_start(GTK_BOX(vbx), _options["nodiffuse"], FALSE, FALSE, 0); + gtk_box_pack_start(GTK_BOX(vbx), _options["noradiosity"], FALSE, FALSE, 0); return vbx; } diff -bur darkradiant_xrealrev//radiant/ui/modelselector/ModelFileFunctor.h xrealradiant//radiant/ui/modelselector/ModelFileFunctor.h --- darkradiant_xrealrev//radiant/ui/modelselector/ModelFileFunctor.h Sun Sep 19 08:44:18 2010 +++ xrealradiant//radiant/ui/modelselector/ModelFileFunctor.h Sun Sep 19 08:43:03 2010 @@ -17,6 +17,7 @@ const char* ASE_EXTENSION = ".ase"; const char* LWO_EXTENSION = ".lwo"; const char* MD5MESH_EXTENSION = ".md5mesh"; + const char* MD3_EXTENSION = ".md3"; } /** @@ -58,7 +59,8 @@ // not interested if (boost::algorithm::iends_with(file, LWO_EXTENSION) || boost::algorithm::iends_with(file, ASE_EXTENSION) || - boost::algorithm::iends_with(file, MD5MESH_EXTENSION)) + boost::algorithm::iends_with(file, MD5MESH_EXTENSION) || + boost::algorithm::iends_with(file, MD3_EXTENSION)) { _count++;