rendered paste bodydiff -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<TGALoader> TGALoaderPtr; typedef boost::shared_ptr<JPGLoader> JPGLoaderPtr;+typedef boost::shared_ptr<PNGLoader> PNGLoaderPtr; typedef boost::shared_ptr<PCXLoader> PCXLoaderPtr; typedef boost::shared_ptr<BMPLoader> BMPLoaderPtr; typedef boost::shared_ptr<DDSLoader> 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++;