slackbuilds_ponce/games/glest/patches/g3d_viewer.patch
2010-05-13 00:26:25 +02:00

277 lines
7.7 KiB
Diff

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