summaryrefslogtreecommitdiff
path: root/games/glest/patches/g3d_viewer.patch
diff options
context:
space:
mode:
Diffstat (limited to 'games/glest/patches/g3d_viewer.patch')
-rw-r--r--games/glest/patches/g3d_viewer.patch277
1 files changed, 277 insertions, 0 deletions
diff --git a/games/glest/patches/g3d_viewer.patch b/games/glest/patches/g3d_viewer.patch
new file mode 100644
index 0000000000..279f602be9
--- /dev/null
+++ b/games/glest/patches/g3d_viewer.patch
@@ -0,0 +1,277 @@
+Index: source/g3d_viewer/main.cpp
+===================================================================
+--- source/g3d_viewer/main.cpp (Revision 191)
++++ source/g3d_viewer/main.cpp (Arbeitskopie)
+@@ -2,7 +2,6 @@
+
+ #include <stdexcept>
+
+-#include "graphics_factory_basic_gl.h"
+ #include "graphics_interface.h"
+ #include "util.h"
+
+@@ -11,8 +10,15 @@
+ using namespace Shared::Graphics::Gl;
+ using namespace Shared::Util;
+
+-using namespace std;
++using std::exception;
+
++#if (wxUSE_UNICODE == 1)
++#define STRCONV(x) wxConvUTF8.cMB2WC(x)
++#else
++#define STRCONV(x) x
++#endif
++
++
+ namespace Shared{ namespace G3dViewer{
+
+ // ===============================================
+@@ -24,7 +30,7 @@
+
+ MainWindow::MainWindow(const string &modelPath):
+ wxFrame(
+- NULL, -1, winHeader.c_str(),
++ NULL, -1, STRCONV(winHeader.c_str()),
+ wxPoint(Renderer::windowX, Renderer::windowY),
+ wxSize(Renderer::windowW, Renderer::windowH))
+ {
+@@ -37,38 +43,33 @@
+
+ glCanvas = new GlCanvas(this);
+
+- glCanvas->SetCurrent();
+-
+- renderer->init();
+-
+-
+ menu= new wxMenuBar();
+
+ //menu
+ menuFile= new wxMenu();
+- menuFile->Append(miFileLoad, "Load");
+- menu->Append(menuFile, "File");
++ menuFile->Append(miFileLoad, wxT("Load"));
++ menu->Append(menuFile, wxT("File"));
+
+ //mode
+ menuMode= new wxMenu();
+- menuMode->AppendCheckItem(miModeNormals, "Normals");
+- menuMode->AppendCheckItem(miModeWireframe, "Wireframe");
+- menuMode->AppendCheckItem(miModeGrid, "Grid");
+- menu->Append(menuMode, "Mode");
++ menuMode->AppendCheckItem(miModeNormals, wxT("Normals"));
++ menuMode->AppendCheckItem(miModeWireframe, wxT("Wireframe"));
++ menuMode->AppendCheckItem(miModeGrid, wxT("Grid"));
++ menu->Append(menuMode, wxT("Mode"));
+
+ //mode
+ menuSpeed= new wxMenu();
+- menuSpeed->Append(miSpeedSlower, "Slower");
+- menuSpeed->Append(miSpeedFaster, "Faster");
+- menu->Append(menuSpeed, "Speed");
++ menuSpeed->Append(miSpeedSlower, wxT("Slower"));
++ menuSpeed->Append(miSpeedFaster, wxT("Faster"));
++ menu->Append(menuSpeed, wxT("Speed"));
+
+ //custom color
+ menuCustomColor= new wxMenu();
+- menuCustomColor->AppendCheckItem(miColorRed, "Red");
+- menuCustomColor->AppendCheckItem(miColorBlue, "Blue");
+- menuCustomColor->AppendCheckItem(miColorYellow, "Yellow");
+- menuCustomColor->AppendCheckItem(miColorGreen, "Green");
+- menu->Append(menuCustomColor, "Custom Color");
++ menuCustomColor->AppendCheckItem(miColorRed, wxT("Red"));
++ menuCustomColor->AppendCheckItem(miColorBlue, wxT("Blue"));
++ menuCustomColor->AppendCheckItem(miColorYellow, wxT("Yellow"));
++ menuCustomColor->AppendCheckItem(miColorGreen, wxT("Green"));
++ menu->Append(menuCustomColor, wxT("Custom Color"));
+
+ menuMode->Check(miModeGrid, true);
+ menuCustomColor->Check(miColorRed, true);
+@@ -88,13 +89,6 @@
+
+ timer = new wxTimer(this);
+ timer->Start(40);
+-
+- if(!modelPath.empty()){
+- Model *tmpModel= new ModelGl();
+- renderer->loadTheModel(tmpModel, modelPath);
+- model= tmpModel;
+- GetStatusBar()->SetStatusText(getModelInfo().c_str());
+- }
+ }
+
+ MainWindow::~MainWindow(){
+@@ -104,6 +98,17 @@
+ delete glCanvas;
+ }
+
++void MainWindow::init(){
++ glCanvas->SetCurrent();
++ renderer->init();
++ if(!modelPath.empty()){
++ Model *tmpModel= new ModelGl();
++ renderer->loadTheModel(tmpModel, modelPath);
++ model= tmpModel;
++ GetStatusBar()->SetStatusText(STRCONV(getModelInfo().c_str()));
++ }
++}
++
+ void MainWindow::onPaint(wxPaintEvent &event){
+ renderer->reset(GetClientSize().x, GetClientSize().y, playerColor);
+ renderer->transform(rotX, rotY, zoom);
+@@ -141,13 +146,14 @@
+ void MainWindow::onMenuFileLoad(wxCommandEvent &event){
+ string fileName;
+ wxFileDialog fileDialog(this);
+- fileDialog.SetWildcard("G3D files (*.g3d)|*.g3d");
++ fileDialog.SetWildcard(wxT("G3D files (*.g3d)|*.g3d"));
+ if(fileDialog.ShowModal()==wxID_OK){
+ delete model;
+ Model *tmpModel= new ModelGl();
+- renderer->loadTheModel(tmpModel, fileDialog.GetPath().c_str());
++ fileName = wxFNCONV(fileDialog.GetPath());
++ renderer->loadTheModel(tmpModel, fileName);
+ model= tmpModel;
+- GetStatusBar()->SetStatusText(getModelInfo().c_str());
++ GetStatusBar()->SetStatusText(wxString(getModelInfo().c_str(), wxConvUTF8));
+ }
+ }
+
+@@ -252,7 +258,7 @@
+ // =====================================================
+
+ GlCanvas::GlCanvas(MainWindow * mainWindow):
+- wxGLCanvas(mainWindow, -1)
++ wxGLCanvas(mainWindow, -1, wxDefaultPosition)
+ {
+ this->mainWindow = mainWindow;
+ }
+@@ -261,13 +267,8 @@
+ mainWindow->onMouseMove(event);
+ }
+
+-void GlCanvas::onPaint(wxPaintEvent &event){
+- mainWindow->onPaint(event);
+-}
+-
+ BEGIN_EVENT_TABLE(GlCanvas, wxGLCanvas)
+ EVT_MOTION(GlCanvas::onMouseMove)
+- EVT_PAINT(GlCanvas::onPaint)
+ END_EVENT_TABLE()
+
+ // ===============================================
+@@ -277,11 +278,12 @@
+ bool App::OnInit(){
+ string modelPath;
+ if(argc==2){
+- modelPath= argv[1];
++ modelPath = wxFNCONV(argv[1]);
+ }
+
+ mainWindow= new MainWindow(modelPath);
+ mainWindow->Show();
++ mainWindow->init();
+ return true;
+ }
+
+@@ -290,9 +292,9 @@
+ return wxApp::MainLoop();
+ }
+ catch(const exception &e){
+- wxMessageDialog(NULL, e.what(), "Exception", wxOK | wxICON_ERROR).ShowModal();
+- return 0;
++ wxMessageDialog(NULL, STRCONV(e.what()), wxT("Exception"), wxOK | wxICON_ERROR).ShowModal();
+ }
++ return 0;
+ }
+
+ int App::OnExit(){
+Index: source/g3d_viewer/main.h
+===================================================================
+--- source/g3d_viewer/main.h (Revision 191)
++++ source/g3d_viewer/main.h (Arbeitskopie)
+@@ -7,12 +7,13 @@
+ #include <wx/timer.h>
+ #include <wx/glcanvas.h>
+
++#include "graphics_factory_basic_gl.h"
+ #include "renderer.h"
+ #include "util.h"
+ #include "window.h"
+
+-using Shared::Platform::Window;
+-using Shared::Platform::MouseState;
++//using Shared::Platform::Window;
++//using Shared::Platform::MouseState;
+
+ using std::string;
+
+@@ -70,6 +71,8 @@
+ MainWindow(const string &modelPath);
+ ~MainWindow();
+
++ void init();
++
+ void Notify();
+
+ void onPaint(wxPaintEvent &event);
+Index: mk/linux/Jamfile
+===================================================================
+--- mk/linux/Jamfile (Revision 191)
++++ mk/linux/Jamfile (Arbeitskopie)
+@@ -26,7 +26,7 @@
+ }
+
+ Library glestlib : $(LIB_SOURCES) ;
+-ExternalLibs glestlib : SDL GL GLU XERCES VORBIS VORBISFILE OGG OPENAL LUA ;
++ExternalLibs glestlib : SDL GL GLU XERCES VORBISFILE OPENAL LUA ;
+ IncludeDir glestlib : $(LIB_INCLUDE_DIRS) ;
+
+ #### Game ####
+@@ -55,7 +55,7 @@
+
+ Application glest : $(GLEST_SOURCES) ;
+ LinkWith glest : glestlib ;
+-ExternalLibs glest : SDL GL GLU XERCES VORBIS VORBISFILE OGG OPENAL LUA ;
++ExternalLibs glest : SDL GL GLU XERCES VORBISFILE OPENAL LUA ;
+ IncludeDir glest : ../shared_lib/include/$(LIB_INCLUDE_DIRS) $(GLEST_DIRS) ;
+
+ #### Editor ####
+@@ -69,7 +69,22 @@
+
+ Application glest_editor : $(GLEST_MAP_SOURCES) ;
+ LinkWith glest_editor : glestlib ;
+- ExternalLibs glest_editor : SDL GL GLU XERCES VORBIS VORBISFILE OGG OPENAL WX ;
++ ExternalLibs glest_editor : SDL GL GLU XERCES VORBISFILE OPENAL WX ;
+ IncludeDir glest_editor : ../shared_lib/include/$(LIB_INCLUDE_DIRS) $(GLEST_MAP_DIRS) ;
+ }
+
++### Viewer ###
++if $(WX_AVAILABLE) = "yes" {
++ SubDir TOP g3d_viewer ;
++
++ GLEST_VIEWER_DIRS = . ;
++ for i in $(GLEST_DIRS) {
++ GLEST_VIEWER_SOURCES += [ Wildcard $(i) : *.cpp *.h ] ;
++ }
++
++ Application glest_g3dviewer : $(GLEST_VIEWER_SOURCES) ;
++ LinkWith glest_g3dviewer : glestlib ;
++ ExternalLibs glest_g3dviewer : SDL GL GLU XERCES VORBISFILE OPENAL WX ;
++ IncludeDir glest_g3dviewer : ../shared_lib/include/$(LIB_INCLUDE_DIRS) $(GLEST_VIEWER_DIRS) ;
++}
++
+Index: mk/linux/autogen.sh
+===================================================================
+--- mk/linux/autogen.sh (Revision 191)
++++ mk/linux/autogen.sh (Arbeitskopie)
+@@ -34,4 +34,6 @@
+ if [ ! -d glest_map_editor ]; then
+ ln -sf ../../source/glest_map_editor .
+ fi
+-
++if [ ! -d g3d_viewer ]; then
++ ln -sf ../../source/g3d_viewer .
++fi