mirror of
https://github.com/Ponce/slackbuilds
synced 2024-11-26 22:06:35 +01:00
277 lines
7.7 KiB
Diff
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
|