diff --git a/JGE/JGE.vcproj b/JGE/JGE.vcproj
index eee916f9c..fcfe45d11 100644
--- a/JGE/JGE.vcproj
+++ b/JGE/JGE.vcproj
@@ -705,6 +705,10 @@
Name="Header Files"
Filter="h;hpp;hxx;hm;inl"
>
+
+
diff --git a/projects/mtg/include/DebugRoutines.h b/JGE/include/DebugRoutines.h
similarity index 93%
rename from projects/mtg/include/DebugRoutines.h
rename to JGE/include/DebugRoutines.h
index 667865a55..3ca522f60 100644
--- a/projects/mtg/include/DebugRoutines.h
+++ b/JGE/include/DebugRoutines.h
@@ -4,8 +4,6 @@
// dirty, but I get OS header includes this way
#include "JGE.h"
-#include "config.h"
-
#include
#include
#include
diff --git a/JGE/include/JLogger.h b/JGE/include/JLogger.h
index 44e862d6f..f47313db1 100644
--- a/JGE/include/JLogger.h
+++ b/JGE/include/JLogger.h
@@ -1,19 +1,27 @@
#ifndef _JLOGGER_H_
#define _JLOGGER_H_
//logging facility
-//#define DOJLOG
+//#define DOLOG
-#ifdef DOJLOG
-#define JLOG(x) JLogger::Log(x);
+#ifdef DOLOG
+#define LOG(x) JLogger::Log(x);
#else
-#define JLOG(x) {};
+#define LOG(x) {};
#endif
-#define JGE_LOG_FILE "jge_debug.txt"
+// saving myself the pain of search/replace
+#define JLOG(x) LOG(x)
+
+#define LOG_FILE "debug.txt"
class JLogger{
public:
static void Log(const char * text);
+
+ JLogger(const char* text);
+ ~JLogger();
+
+ const char* mText;
};
#endif
\ No newline at end of file
diff --git a/JGE/src/JGfx.cpp b/JGE/src/JGfx.cpp
index c54c6ba12..615bb5258 100644
--- a/JGE/src/JGfx.cpp
+++ b/JGE/src/JGfx.cpp
@@ -21,6 +21,8 @@
#include "../include/vram.h"
#include "../include/JLogger.h"
+#include
+
#ifdef __cplusplus
extern "C" {
#endif
@@ -853,7 +855,8 @@ void JRenderer::ScreenShot(const char* filename)
static void PNGCustomWarningFn(png_structp png_ptr, png_const_charp warning_msg)
{
- // ignore PNG warnings
+ JLOG("PNG error callback fired!");
+ JLOG(warning_msg);
}
static void PNGCustomReadDataFn(png_structp png_ptr, png_bytep data, png_size_t length)
@@ -1195,6 +1198,7 @@ JTexture* JRenderer::LoadTexture(const char* filename, int mode, int textureMode
bool done = false;
+ JLOG("Allocating Texture");
JTexture* tex = new JTexture();
if (tex)
{
@@ -1233,159 +1237,179 @@ JTexture* JRenderer::LoadTexture(const char* filename, int mode, int textureMode
int JRenderer::LoadPNG(TextureInfo &textureInfo, const char* filename, int mode, int textureMode)
{
JLOG("JRenderer::LoadPNG");
- textureInfo.mBits = NULL;
+ textureInfo.mBits = NULL;
- bool useVideoRAM = (mode == TEX_TYPE_USE_VRAM);
- int pixelformat = PIXEL_FORMAT;
+ bool useVideoRAM = (mode == TEX_TYPE_USE_VRAM);
+ int pixelformat = PIXEL_FORMAT;
- u32* p32;
- u16* p16;
- png_structp png_ptr;
- png_infop info_ptr;
- unsigned int sig_read = 0;
- png_uint_32 width, height;
- int bit_depth, color_type, interlace_type, x, y;
- u32* line;
+ u32* p32;
+ u16* p16;
+ png_structp png_ptr;
+ png_infop info_ptr;
+ unsigned int sig_read = 0;
+ png_uint_32 width, height;
+ int bit_depth, color_type, interlace_type, x, y;
+ u32* line;
- JFileSystem* fileSystem = JFileSystem::GetInstance();
- if (!fileSystem->OpenFile(filename)) return JGE_ERR_CANT_OPEN_FILE;
+ JFileSystem* fileSystem = JFileSystem::GetInstance();
+ if (!fileSystem->OpenFile(filename)) return JGE_ERR_CANT_OPEN_FILE;
- png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
- if (png_ptr == NULL) {
- fileSystem->CloseFile();
- return JGE_ERR_PNG;
- }
- png_set_error_fn(png_ptr, (png_voidp) NULL, (png_error_ptr) NULL, PNGCustomWarningFn);
- info_ptr = png_create_info_struct(png_ptr);
- if (info_ptr == NULL) {
- fileSystem->CloseFile();
- png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
- return JGE_ERR_PNG;
- }
- png_init_io(png_ptr, NULL);
- png_set_read_fn(png_ptr, (png_voidp)fileSystem, PNGCustomReadDataFn);
+ JLOG("PNG opened - creating read struct");
+ png_ptr = png_create_read_struct(PNG_LIBPNG_VER_STRING, NULL, NULL, NULL);
+ if (png_ptr == NULL) {
+ fileSystem->CloseFile();
+ return JGE_ERR_PNG;
+ }
+ JLOG("Setting error callback func");
+ png_set_error_fn(png_ptr, (png_voidp) NULL, (png_error_ptr) NULL, PNGCustomWarningFn);
+ info_ptr = png_create_info_struct(png_ptr);
+ if (info_ptr == NULL) {
+ fileSystem->CloseFile();
+ png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
+ return JGE_ERR_PNG;
+ }
+ png_init_io(png_ptr, NULL);
+ png_set_read_fn(png_ptr, (png_voidp)fileSystem, PNGCustomReadDataFn);
- png_set_sig_bytes(png_ptr, sig_read);
- png_read_info(png_ptr, info_ptr);
- png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, &interlace_type, int_p_NULL, int_p_NULL);
- png_set_strip_16(png_ptr);
- png_set_packing(png_ptr);
- if (color_type == PNG_COLOR_TYPE_PALETTE) png_set_palette_to_rgb(png_ptr);
- if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) png_set_gray_1_2_4_to_8(png_ptr);
- if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) png_set_tRNS_to_alpha(png_ptr);
- png_set_filler(png_ptr, 0xff, PNG_FILLER_AFTER);
- line = (u32*) malloc(width * 4);
- if (!line) {
- fileSystem->CloseFile();
- png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
- return JGE_ERR_MALLOC_FAILED;
- }
+ png_set_sig_bytes(png_ptr, sig_read);
+ png_read_info(png_ptr, info_ptr);
+ png_get_IHDR(png_ptr, info_ptr, &width, &height, &bit_depth, &color_type, &interlace_type, int_p_NULL, int_p_NULL);
+ png_set_strip_16(png_ptr);
+ png_set_packing(png_ptr);
+ if (color_type == PNG_COLOR_TYPE_PALETTE) png_set_palette_to_rgb(png_ptr);
+ if (color_type == PNG_COLOR_TYPE_GRAY && bit_depth < 8) png_set_gray_1_2_4_to_8(png_ptr);
+ if (png_get_valid(png_ptr, info_ptr, PNG_INFO_tRNS)) png_set_tRNS_to_alpha(png_ptr);
+ png_set_filler(png_ptr, 0xff, PNG_FILLER_AFTER);
+ line = (u32*) malloc(width * 4);
+ if (!line) {
+ fileSystem->CloseFile();
+ png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
+ return JGE_ERR_MALLOC_FAILED;
+ }
- int texWidth = getNextPower2(width);
- int texHeight = getNextPower2(height);
+ int texWidth = getNextPower2(width);
+ int texHeight = getNextPower2(height);
- bool done = false;
- PIXEL_TYPE* bits = NULL;
- bool videoRAMUsed = false;
- int size = texWidth * texHeight * sizeof(PIXEL_TYPE);
+ bool done = false;
+ PIXEL_TYPE* bits = NULL;
+ bool videoRAMUsed = false;
+ int size = texWidth * texHeight * sizeof(PIXEL_TYPE);
+ {
+ if (useVideoRAM)
{
-
- if (useVideoRAM)
- {
- bits = (PIXEL_TYPE*) valloc(size);
- videoRAMUsed = true;
- }
-
- if (bits == NULL)
- {
- videoRAMUsed = false;
- bits = (PIXEL_TYPE*) memalign(16, size);
- }
-
- PIXEL_TYPE* buffer = bits;
-
- if (mSwizzle)
- buffer = (PIXEL_TYPE*) memalign(16, texWidth * texHeight * sizeof(PIXEL_TYPE));
-
- if (buffer)
- {
- p32 = (u32*) buffer;
- p16 = (u16*) p32;
-
- for (y = 0; y < (int)height; y++)
- {
- png_read_row(png_ptr, (u8*) line, png_bytep_NULL);
- for (x = 0; x < (int)width; x++)
- {
- u32 color32 = line[x];
- u16 color16;
- int a = (color32 >> 24) & 0xff;
- int r = color32 & 0xff;
- int g = (color32 >> 8) & 0xff;
- int b = (color32 >> 16) & 0xff;
- switch (pixelformat) {
- case PSP_DISPLAY_PIXEL_FORMAT_565:
- color16 = (r >> 3) | ((g >> 2) << 5) | ((b >> 3) << 11);
- *(p16+x) = color16;
- break;
- case PSP_DISPLAY_PIXEL_FORMAT_5551:
- color16 = (r >> 3) | ((g >> 3) << 5) | ((b >> 3) << 10) | ((a >> 7) << 15);
- *(p16+x) = color16;
- break;
- case PSP_DISPLAY_PIXEL_FORMAT_4444:
- color16 = (r >> 4) | ((g >> 4) << 4) | ((b >> 4) << 8) | ((a >> 4) << 12);
- *(p16+x) = color16;
- break;
- case PSP_DISPLAY_PIXEL_FORMAT_8888:
- color32 = r | (g << 8) | (b << 16) | (a << 24);
- *(p32+x) = color32;
- break;
- }
- }
- p32 += texWidth;
- p16 += texWidth;
- }
-
- if (mSwizzle)
- {
- swizzle_fast((u8*)bits, (const u8*)buffer, texWidth*sizeof(PIXEL_TYPE), texHeight);
- free (buffer);
- }
-
- done = true;
- }
+ bits = (PIXEL_TYPE*) valloc(size);
+ videoRAMUsed = true;
}
- free (line);
- png_read_end(png_ptr, info_ptr);
- png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
+ if (bits == NULL)
+ {
+ videoRAMUsed = false;
+ bits = (PIXEL_TYPE*) memalign(16, size);
+ }
- fileSystem->CloseFile();
+ PIXEL_TYPE* buffer = bits;
- if (done)
- {
- textureInfo.mBits = (u8 *)bits;
- textureInfo.mWidth = width;
- textureInfo.mHeight = height;
- textureInfo.mTexWidth = texWidth;
- textureInfo.mTexHeight = texHeight;
- textureInfo.mVRAM = videoRAMUsed;
+ if (mSwizzle)
+ {
+ JLOG("allocating swizzle buffer");
+ buffer = (PIXEL_TYPE*) memalign(16, texWidth * texHeight * sizeof(PIXEL_TYPE));
+ if (!buffer)
+ {
+ JLOG("failed to allocate destination swizzle buffer!");
+ std::ostringstream stream;
+ stream << "Alloc failed for: Tex Width: " << texWidth << " Tex Height: " << texHeight << ", total bytes: " << texWidth * texHeight * sizeof(PIXEL_TYPE);
+ JLOG(stream.str().c_str());
+ fileSystem->CloseFile();
+ png_destroy_read_struct(&png_ptr, png_infopp_NULL, png_infopp_NULL);
+ return JGE_ERR_MALLOC_FAILED;
+ }
+ }
+
+ if (buffer)
+ {
+ JLOG("buffer allocated");
+ p32 = (u32*) buffer;
+ p16 = (u16*) p32;
+
+ for (y = 0; y < (int)height; y++)
+ {
+ png_read_row(png_ptr, (u8*) line, png_bytep_NULL);
+ for (x = 0; x < (int)width; x++)
+ {
+ u32 color32 = line[x];
+ u16 color16;
+ int a = (color32 >> 24) & 0xff;
+ int r = color32 & 0xff;
+ int g = (color32 >> 8) & 0xff;
+ int b = (color32 >> 16) & 0xff;
+ switch (pixelformat) {
+ case PSP_DISPLAY_PIXEL_FORMAT_565:
+ color16 = (r >> 3) | ((g >> 2) << 5) | ((b >> 3) << 11);
+ *(p16+x) = color16;
+ break;
+ case PSP_DISPLAY_PIXEL_FORMAT_5551:
+ color16 = (r >> 3) | ((g >> 3) << 5) | ((b >> 3) << 10) | ((a >> 7) << 15);
+ *(p16+x) = color16;
+ break;
+ case PSP_DISPLAY_PIXEL_FORMAT_4444:
+ color16 = (r >> 4) | ((g >> 4) << 4) | ((b >> 4) << 8) | ((a >> 4) << 12);
+ *(p16+x) = color16;
+ break;
+ case PSP_DISPLAY_PIXEL_FORMAT_8888:
+ color32 = r | (g << 8) | (b << 16) | (a << 24);
+ *(p32+x) = color32;
+ break;
+ }
+ }
+ p32 += texWidth;
+ p16 += texWidth;
+ }
+
+ if (mSwizzle)
+ {
+ JLOG("performing swizzle");
+ swizzle_fast((u8*)bits, (const u8*)buffer, texWidth*sizeof(PIXEL_TYPE), texHeight);
+ free (buffer);
+ }
+
+ done = true;
+ }
+ }
+
+ JLOG("Freeing line");
+ free (line);
+ JLOG("Reading end");
+ png_read_end(png_ptr, info_ptr);
+ JLOG("Destroying read struct");
+ png_destroy_read_struct(&png_ptr, &info_ptr, png_infopp_NULL);
+
+ JLOG("Closing PNG");
+ fileSystem->CloseFile();
+
+ if (done)
+ {
+ textureInfo.mBits = (u8 *)bits;
+ textureInfo.mWidth = width;
+ textureInfo.mHeight = height;
+ textureInfo.mTexWidth = texWidth;
+ textureInfo.mTexHeight = texHeight;
+ textureInfo.mVRAM = videoRAMUsed;
JLOG("-- OK -- JRenderer::LoadPNG");
return 1;
- }
- else
- {
+ }
+ else
+ {
+ JLOG("LoadPNG failure - deallocating bits");
+ textureInfo.mBits = NULL;
- textureInfo.mBits = NULL;
-
- if (videoRAMUsed)
- vfree(bits);
- else
- free(bits);
+ if (videoRAMUsed)
+ vfree(bits);
+ else
+ free(bits);
return JGE_ERR_GENERIC;
- }
+ }
}
diff --git a/JGE/src/JLogger.cpp b/JGE/src/JLogger.cpp
index 759663e11..dc2a5f9a2 100644
--- a/JGE/src/JLogger.cpp
+++ b/JGE/src/JLogger.cpp
@@ -1,25 +1,34 @@
#include "../include/JLogger.h"
-#include
-#include
-using namespace std;
+#include "../include/DebugRoutines.h"
-#if defined (WIN32)
-#include
-#endif
+#include
void JLogger::Log(const char * text){
- ofstream file (JGE_LOG_FILE,ios_base::app);
+ std::ofstream file(LOG_FILE, std::ios_base::app);
if (file){
file << text;
file << "\n";
file.close();
}
-#if defined (WIN32) && !defined(QT_CONFIG)
- OutputDebugString(text);
- OutputDebugString("\n");
-#else
- printf("%s", text);
- printf("\n");
-#endif
+ DebugTrace(text);
}
+
+JLogger::JLogger(const char* text) : mText(text)
+{
+#ifdef DOLOG
+ std::ostringstream stream;
+ stream << mText << ": Start";
+ JLogger::Log(stream.str().c_str());
+#endif
+}
+
+JLogger::~JLogger()
+{
+#ifdef DOLOG
+ std::ostringstream stream;
+ stream << mText << ": End";
+ JLogger::Log(stream.str().c_str());
+#endif
+}
+
diff --git a/projects/mtg/Makefile b/projects/mtg/Makefile
index 9222bd351..98a423371 100644
--- a/projects/mtg/Makefile
+++ b/projects/mtg/Makefile
@@ -1,4 +1,4 @@
-OBJS = objs/ActionElement.o objs/ActionLayer.o objs/ActionStack.o objs/AIMomirPlayer.o objs/AIPlayer.o objs/AIStats.o objs/AllAbilities.o objs/CardGui.o objs/CardDescriptor.o objs/CardDisplay.o objs/CardEffect.o objs/CardPrimitive.o objs/CardSelector.o objs/CardSelectorSingleton.o objs/Counters.o objs/Credits.o objs/Damage.o objs/DamagerDamaged.o objs/DeckDataWrapper.o objs/DeckEditorMenu.o objs/DeckMenu.o objs/DeckMenuItem.o objs/DeckMetaData.o objs/DeckStats.o objs/DuelLayers.o objs/Effects.o objs/ExtraCost.o objs/GameApp.o objs/GameLauncher.o objs/GameObserver.o objs/GameOptions.o objs/GameState.o objs/GameStateAwards.o objs/GameStateDeckViewer.o objs/GameStateDuel.o objs/DeckManager.o objs/GameStateMenu.o objs/GameStateOptions.o objs/GameStateShop.o objs/GameStateStory.o objs/GameStateTransitions.o objs/GuiAvatars.o objs/GuiBackground.o objs/GuiCardsController.o objs/GuiCombat.o objs/GuiFrame.o objs/GuiHand.o objs/GuiLayers.o objs/GuiMana.o objs/GuiPhaseBar.o objs/GuiPlay.o objs/GuiStatic.o objs/Logger.o objs/ManaCost.o objs/ManaCostHybrid.o objs/MenuItem.o objs/MTGAbility.o objs/MTGCardInstance.o objs/MTGCard.o objs/MTGDeck.o objs/MTGDefinitions.o objs/MTGGamePhase.o objs/MTGGameZones.o objs/MTGPack.o objs/MTGRules.o objs/Navigator.o objs/OptionItem.o objs/PhaseRing.o objs/Player.o objs/PlayerData.o objs/PlayGuiObjectController.o objs/PlayGuiObject.o objs/Pos.o objs/PrecompiledHeader.o objs/PriceList.o objs/ReplacementEffects.o objs/Rules.o objs/SimpleMenu.o objs/SimpleMenuItem.o objs/SimplePad.o objs/StoryFlow.o objs/StyleManager.o objs/Subtypes.o objs/TargetChooser.o objs/TargetsList.o objs/TextScroller.o objs/ThisDescriptor.o objs/Token.o objs/Translate.o objs/TranslateKeys.o objs/Trash.o objs/utils.o objs/WEvent.o objs/WResourceManager.o objs/WCachedResource.o objs/WDataSrc.o objs/WGui.o objs/WFilter.o objs/Tasks.o objs/WFont.o
+OBJS = objs/ActionElement.o objs/ActionLayer.o objs/ActionStack.o objs/AIMomirPlayer.o objs/AIPlayer.o objs/AIStats.o objs/AllAbilities.o objs/CardGui.o objs/CardDescriptor.o objs/CardDisplay.o objs/CardEffect.o objs/CardPrimitive.o objs/CardSelector.o objs/CardSelectorSingleton.o objs/Counters.o objs/Credits.o objs/Damage.o objs/DamagerDamaged.o objs/DeckDataWrapper.o objs/DeckEditorMenu.o objs/DeckMenu.o objs/DeckMenuItem.o objs/DeckMetaData.o objs/DeckStats.o objs/DuelLayers.o objs/Effects.o objs/ExtraCost.o objs/GameApp.o objs/GameLauncher.o objs/GameObserver.o objs/GameOptions.o objs/GameState.o objs/GameStateAwards.o objs/GameStateDeckViewer.o objs/GameStateDuel.o objs/DeckManager.o objs/GameStateMenu.o objs/GameStateOptions.o objs/GameStateShop.o objs/GameStateStory.o objs/GameStateTransitions.o objs/GuiAvatars.o objs/GuiBackground.o objs/GuiCardsController.o objs/GuiCombat.o objs/GuiFrame.o objs/GuiHand.o objs/GuiLayers.o objs/GuiMana.o objs/GuiPhaseBar.o objs/GuiPlay.o objs/GuiStatic.o objs/ManaCost.o objs/ManaCostHybrid.o objs/MenuItem.o objs/MTGAbility.o objs/MTGCardInstance.o objs/MTGCard.o objs/MTGDeck.o objs/MTGDefinitions.o objs/MTGGamePhase.o objs/MTGGameZones.o objs/MTGPack.o objs/MTGRules.o objs/Navigator.o objs/OptionItem.o objs/PhaseRing.o objs/Player.o objs/PlayerData.o objs/PlayGuiObjectController.o objs/PlayGuiObject.o objs/Pos.o objs/PrecompiledHeader.o objs/PriceList.o objs/ReplacementEffects.o objs/Rules.o objs/SimpleMenu.o objs/SimpleMenuItem.o objs/SimplePad.o objs/StoryFlow.o objs/StyleManager.o objs/Subtypes.o objs/TargetChooser.o objs/TargetsList.o objs/TextScroller.o objs/ThisDescriptor.o objs/Token.o objs/Translate.o objs/TranslateKeys.o objs/Trash.o objs/utils.o objs/WEvent.o objs/WResourceManager.o objs/WCachedResource.o objs/WDataSrc.o objs/WGui.o objs/WFilter.o objs/Tasks.o objs/WFont.o
DEPS = $(patsubst objs/%.o, deps/%.d, $(OBJS))
RESULT = $(shell psp-config --psp-prefix 2> Makefile.cache)
diff --git a/projects/mtg/include/GameApp.h b/projects/mtg/include/GameApp.h
index 600fcbad4..79ae4eec2 100644
--- a/projects/mtg/include/GameApp.h
+++ b/projects/mtg/include/GameApp.h
@@ -11,10 +11,6 @@
#ifndef _GAMEAPP_H_
#define _GAMEAPP_H_
-
-#include "Logger.h"
-
-
#include
#include
#include
diff --git a/projects/mtg/include/Logger.h b/projects/mtg/include/Logger.h
deleted file mode 100644
index a11f4d8ba..000000000
--- a/projects/mtg/include/Logger.h
+++ /dev/null
@@ -1,19 +0,0 @@
-#ifndef _LOGGER_H
-#define _LOGGER_H_
-
-//TODO Remove this and use the jge logging facility (same system)
-//#define DOLOG
-
-#ifdef DOLOG
-#define LOG_FILE "debug.txt"
-
-class Logger{
- public:
- static void Log(const char * text);
-};
-#define LOG(x) Logger::Log(x);
-#else
-#define LOG(x)
-#endif
-
-#endif
diff --git a/projects/mtg/include/PrecompiledHeader.h b/projects/mtg/include/PrecompiledHeader.h
index 2a556df9b..b279a279c 100644
--- a/projects/mtg/include/PrecompiledHeader.h
+++ b/projects/mtg/include/PrecompiledHeader.h
@@ -17,5 +17,6 @@
#include "JGE.h"
#include "JFileSystem.h"
+#include "JLogger.h"
#endif //PRECOMPILEDHEADER_H
\ No newline at end of file
diff --git a/projects/mtg/src/Logger.cpp b/projects/mtg/src/Logger.cpp
deleted file mode 100644
index e4e605085..000000000
--- a/projects/mtg/src/Logger.cpp
+++ /dev/null
@@ -1,19 +0,0 @@
-#include "PrecompiledHeader.h"
-
-#include "Logger.h"
-#ifdef DOLOG
-
-using namespace std;
-
-void Logger::Log(const char * text){
- ofstream file (LOG_FILE,ios_base::app);
- if (file){
- file << text;
- file << "\n";
- file.close();
- }
-
- DebugTrace(text);
-}
-
-#endif
\ No newline at end of file
diff --git a/projects/mtg/template.vcproj b/projects/mtg/template.vcproj
index 8cae902cf..ed9504dfd 100644
--- a/projects/mtg/template.vcproj
+++ b/projects/mtg/template.vcproj
@@ -693,10 +693,6 @@
RelativePath=".\src\GuiStatic.cpp"
>
-
-
@@ -1158,10 +1154,6 @@
RelativePath=".\include\GuiStatic.h"
>
-
-