misc 3dviewer work. still not worth using
This commit is contained in:
parent
55f60d5496
commit
7b7bb56ba2
|
@ -23,6 +23,7 @@
|
||||||
#include "driver.h"
|
#include "driver.h"
|
||||||
#include "rasterize.h"
|
#include "rasterize.h"
|
||||||
#include "gfx3d.h"
|
#include "gfx3d.h"
|
||||||
|
#include "texcache.h"
|
||||||
|
|
||||||
|
|
||||||
#ifdef HAVE_WX
|
#ifdef HAVE_WX
|
||||||
|
@ -55,14 +56,17 @@ public:
|
||||||
void NewFrame()
|
void NewFrame()
|
||||||
{
|
{
|
||||||
listPolys->SetItemCount(viewer3d_state.polylist.count);
|
listPolys->SetItemCount(viewer3d_state.polylist.count);
|
||||||
|
labelFrameCounter->SetLabel(wxString::Format("%s: %d",_("Frame"),viewer3d_state.frameNumber));
|
||||||
labelUserPolycount->SetLabel(wxString::Format("%s: %d",_("User Polys"),viewer3d_state.polylist.count));
|
labelUserPolycount->SetLabel(wxString::Format("%s: %d",_("User Polys"),viewer3d_state.polylist.count));
|
||||||
labelFinalPolycount->SetLabel(wxString::Format("%s: %d",_("Final Polys"),viewer3d_state.polylist.count));
|
labelFinalPolycount->SetLabel(wxString::Format("%s: %d",_("Final Polys"),viewer3d_state.polylist.count));
|
||||||
tree->DeleteAllItems();
|
//tree->DeleteAllItems();
|
||||||
wxTreeItemId root = tree->AddRoot("");
|
//tree->Freeze();
|
||||||
for(int i=0;i<viewer3d_state.polylist.count;i++)
|
//wxTreeItemId root = tree->AddRoot("");
|
||||||
{
|
//for(int i=0;i<viewer3d_state.polylist.count;i++)
|
||||||
tree->AppendItem(root,"hai kirin");
|
//{
|
||||||
}
|
// tree->AppendItem(root,"hai kirin");
|
||||||
|
//}
|
||||||
|
//tree->Thaw();
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual wxString OnGetItemText(const wxListCtrl* list, long item, long column) const
|
virtual wxString OnGetItemText(const wxListCtrl* list, long item, long column) const
|
||||||
|
@ -70,6 +74,12 @@ public:
|
||||||
return "hi";
|
return "hi";
|
||||||
}
|
}
|
||||||
|
|
||||||
|
virtual void OnListPolysSelected( wxListEvent& event )
|
||||||
|
{
|
||||||
|
panelTexture->Refresh(false);
|
||||||
|
engine._debug_drawClippedUserPoly = GetSelectedListviewItem(listPolys);
|
||||||
|
}
|
||||||
|
|
||||||
void RedrawPanel(wxClientDC* dc)
|
void RedrawPanel(wxClientDC* dc)
|
||||||
{
|
{
|
||||||
//------------
|
//------------
|
||||||
|
@ -114,6 +124,48 @@ public:
|
||||||
wxPaintDC dc(wxDynamicCast(event.GetEventObject(), wxWindow));
|
wxPaintDC dc(wxDynamicCast(event.GetEventObject(), wxWindow));
|
||||||
RedrawPanel(&dc);
|
RedrawPanel(&dc);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
int GetSelectedListviewItem(wxListCtrl* list)
|
||||||
|
{
|
||||||
|
return list->GetNextItem(-1, wxLIST_NEXT_ALL, wxLIST_STATE_SELECTED);
|
||||||
|
}
|
||||||
|
|
||||||
|
virtual void OnPaintPanelTexture( wxPaintEvent& event )
|
||||||
|
{
|
||||||
|
wxPaintDC dc(wxDynamicCast(event.GetEventObject(), wxWindow));
|
||||||
|
dc.SetBackground(*wxBLACK_BRUSH); dc.Clear();
|
||||||
|
|
||||||
|
int selection = GetSelectedListviewItem(listPolys);
|
||||||
|
if(selection < 0) return;
|
||||||
|
if(selection>=viewer3d_state.polylist.count) return;
|
||||||
|
|
||||||
|
POLY& poly = viewer3d_state.polylist.list[selection];
|
||||||
|
|
||||||
|
TexCacheItem* texkey = TexCache_SetTexture(TexFormat_32bpp,poly.texParam,poly.texPalette);
|
||||||
|
const u32 w = texkey->sizeX;
|
||||||
|
const u32 h = texkey->sizeY;
|
||||||
|
u8* const bmpdata = new u8[w*h*4];
|
||||||
|
for(int i=0;i<w*h;i++) {
|
||||||
|
bmpdata[i*3] = texkey->decoded[i*4];
|
||||||
|
bmpdata[i*3+1] = texkey->decoded[i*4+1];
|
||||||
|
bmpdata[i*3+2] = texkey->decoded[i*4+2];
|
||||||
|
}
|
||||||
|
for(int i=0;i<w*h;i++)
|
||||||
|
bmpdata[w*h*3+i] = texkey->decoded[i*4+3];
|
||||||
|
|
||||||
|
|
||||||
|
wxImage image(w,h,false);
|
||||||
|
image.InitAlpha();
|
||||||
|
image.SetData(bmpdata,true);
|
||||||
|
image.SetAlpha(bmpdata+w*h*3,true);
|
||||||
|
wxBitmap bitmap(image);
|
||||||
|
double xscale = (double)panelTexture->GetSize().x / w;
|
||||||
|
double yscale = (double)panelTexture->GetSize().y / h;
|
||||||
|
|
||||||
|
dc.SetUserScale(xscale,yscale);
|
||||||
|
dc.DrawBitmap(bitmap,0,0);
|
||||||
|
delete[] bmpdata;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
class VIEW3D_Driver_WX : public VIEW3D_Driver
|
class VIEW3D_Driver_WX : public VIEW3D_Driver
|
||||||
|
|
|
@ -44,6 +44,7 @@
|
||||||
#include "NDSSystem.h"
|
#include "NDSSystem.h"
|
||||||
#include "readwrite.h"
|
#include "readwrite.h"
|
||||||
#include "FIFO.h"
|
#include "FIFO.h"
|
||||||
|
#include "movie.h" //only for currframecounter which really ought to be moved into the core emu....
|
||||||
#include <queue>
|
#include <queue>
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -1978,6 +1979,7 @@ static void gfx3d_doFlush()
|
||||||
|
|
||||||
if(driver->view3d->IsRunning())
|
if(driver->view3d->IsRunning())
|
||||||
{
|
{
|
||||||
|
viewer3d_state.frameNumber = currFrameCounter;
|
||||||
viewer3d_state.state = gfx3d.state;
|
viewer3d_state.state = gfx3d.state;
|
||||||
viewer3d_state.polylist = *gfx3d.polylist;
|
viewer3d_state.polylist = *gfx3d.polylist;
|
||||||
viewer3d_state.vertlist = *gfx3d.vertlist;
|
viewer3d_state.vertlist = *gfx3d.vertlist;
|
||||||
|
|
|
@ -346,6 +346,7 @@ struct GFX3D_State
|
||||||
|
|
||||||
struct Viewer3d_State
|
struct Viewer3d_State
|
||||||
{
|
{
|
||||||
|
int frameNumber;
|
||||||
GFX3D_State state;
|
GFX3D_State state;
|
||||||
VERTLIST vertlist;
|
VERTLIST vertlist;
|
||||||
POLYLIST polylist;
|
POLYLIST polylist;
|
||||||
|
|
|
@ -346,8 +346,10 @@ class RasterizerUnit
|
||||||
public:
|
public:
|
||||||
|
|
||||||
int SLI_MASK, SLI_VALUE;
|
int SLI_MASK, SLI_VALUE;
|
||||||
|
bool _debug_thisPoly;
|
||||||
|
|
||||||
RasterizerUnit()
|
RasterizerUnit()
|
||||||
|
: _debug_thisPoly(false)
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -739,15 +741,77 @@ public:
|
||||||
|
|
||||||
//runs several scanlines, until an edge is finished
|
//runs several scanlines, until an edge is finished
|
||||||
template<bool SLI>
|
template<bool SLI>
|
||||||
void runscanlines(edge_fx_fl *left, edge_fx_fl *right)
|
void runscanlines(edge_fx_fl *left, edge_fx_fl *right,bool horizontal)
|
||||||
{
|
{
|
||||||
|
//oh lord, hack city for edge drawing
|
||||||
|
|
||||||
//do not overstep either of the edges
|
//do not overstep either of the edges
|
||||||
int Height = min(left->Height,right->Height);
|
int Height = min(left->Height,right->Height);
|
||||||
|
bool first=true;
|
||||||
|
static int runctr=0;
|
||||||
|
runctr++;
|
||||||
while(Height--) {
|
while(Height--) {
|
||||||
if(!SLI || (left->Y & SLI_MASK) == SLI_VALUE)
|
bool draw = (!SLI || (left->Y & SLI_MASK) == SLI_VALUE);
|
||||||
drawscanline(left,right);
|
if(draw) drawscanline(left,right);
|
||||||
|
const int xl = left->X;
|
||||||
|
const int xr = right->X;
|
||||||
|
const int y = left->Y;
|
||||||
left->Step();
|
left->Step();
|
||||||
right->Step();
|
right->Step();
|
||||||
|
|
||||||
|
if(!RENDERER && _debug_thisPoly)
|
||||||
|
{
|
||||||
|
//debug drawing
|
||||||
|
bool top = (horizontal&&first);
|
||||||
|
bool bottom = (!Height&&horizontal);
|
||||||
|
if(Height || top || bottom)
|
||||||
|
{
|
||||||
|
if(draw)
|
||||||
|
{
|
||||||
|
int nxl = left->X;
|
||||||
|
int nxr = right->X;
|
||||||
|
if(top) {
|
||||||
|
int xs = min(xl,xr);
|
||||||
|
int xe = max(xl,xr);
|
||||||
|
for(int x=xs;x<=xe;x++) {
|
||||||
|
int adr = (y*engine->width)+x;
|
||||||
|
engine->screenColor[adr].r = 63;
|
||||||
|
engine->screenColor[adr].g = 0;
|
||||||
|
engine->screenColor[adr].b = 0;
|
||||||
|
}
|
||||||
|
} else if(bottom) {
|
||||||
|
int xs = min(xl,xr);
|
||||||
|
int xe = max(xl,xr);
|
||||||
|
for(int x=xs;x<=xe;x++) {
|
||||||
|
int adr = (y*engine->width)+x;
|
||||||
|
engine->screenColor[adr].r = 63;
|
||||||
|
engine->screenColor[adr].g = 0;
|
||||||
|
engine->screenColor[adr].b = 0;
|
||||||
|
}
|
||||||
|
} else
|
||||||
|
{
|
||||||
|
int xs = min(xl,nxl);
|
||||||
|
int xe = max(xl,nxl);
|
||||||
|
for(int x=xs;x<=xe;x++) {
|
||||||
|
int adr = (y*engine->width)+x;
|
||||||
|
engine->screenColor[adr].r = 63;
|
||||||
|
engine->screenColor[adr].g = 0;
|
||||||
|
engine->screenColor[adr].b = 0;
|
||||||
|
}
|
||||||
|
xs = min(xr,nxr);
|
||||||
|
xe = max(xr,nxr);
|
||||||
|
for(int x=xs;x<=xe;x++) {
|
||||||
|
int adr = (y*engine->width)+x;
|
||||||
|
engine->screenColor[adr].r = 63;
|
||||||
|
engine->screenColor[adr].g = 0;
|
||||||
|
engine->screenColor[adr].b = 0;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
}
|
||||||
|
first = false;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -789,6 +853,7 @@ public:
|
||||||
//This function can handle any convex N-gon up to octagons
|
//This function can handle any convex N-gon up to octagons
|
||||||
//verts must be clockwise.
|
//verts must be clockwise.
|
||||||
//I didnt reference anything for this algorithm but it seems like I've seen it somewhere before.
|
//I didnt reference anything for this algorithm but it seems like I've seen it somewhere before.
|
||||||
|
//Maybe it is like crow's algorithm
|
||||||
template<bool SLI>
|
template<bool SLI>
|
||||||
void shape_engine(int type, bool backwards)
|
void shape_engine(int type, bool backwards)
|
||||||
{
|
{
|
||||||
|
@ -826,8 +891,9 @@ public:
|
||||||
//handle a failure in the edge setup due to nutty polys
|
//handle a failure in the edge setup due to nutty polys
|
||||||
if(failure)
|
if(failure)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
runscanlines<SLI>(&left,&right);
|
bool horizontal = left.Y == right.Y;
|
||||||
|
runscanlines<SLI>(&left,&right,horizontal);
|
||||||
|
|
||||||
//if we ran out of an edge, step to the next one
|
//if we ran out of an edge, step to the next one
|
||||||
if(right.Height == 0) {
|
if(right.Height == 0) {
|
||||||
|
@ -862,6 +928,7 @@ public:
|
||||||
//iterate over polys
|
//iterate over polys
|
||||||
for(int i=0;i<engine->clippedPolyCounter;i++)
|
for(int i=0;i<engine->clippedPolyCounter;i++)
|
||||||
{
|
{
|
||||||
|
if(!RENDERER) _debug_thisPoly = (i==engine->_debug_drawClippedUserPoly);
|
||||||
if(!engine->polyVisible[i]) continue;
|
if(!engine->polyVisible[i]) continue;
|
||||||
|
|
||||||
GFX3D_Clipper::TClippedPoly &clippedPoly = engine->clippedPolys[i];
|
GFX3D_Clipper::TClippedPoly &clippedPoly = engine->clippedPolys[i];
|
||||||
|
@ -1150,6 +1217,7 @@ void SoftRasterizerEngine::updateFloatColors()
|
||||||
}
|
}
|
||||||
|
|
||||||
SoftRasterizerEngine::SoftRasterizerEngine()
|
SoftRasterizerEngine::SoftRasterizerEngine()
|
||||||
|
: _debug_drawClippedUserPoly(-1)
|
||||||
{
|
{
|
||||||
this->clippedPolys = clipper.clippedPolys = new GFX3D_Clipper::TClippedPoly[POLYLIST_SIZE*2];
|
this->clippedPolys = clipper.clippedPolys = new GFX3D_Clipper::TClippedPoly[POLYLIST_SIZE*2];
|
||||||
}
|
}
|
||||||
|
@ -1368,6 +1436,9 @@ void SoftRasterizerEngine::setupTextures(const bool skipBackfacing)
|
||||||
polyAttr.setup(poly->polyAttr);
|
polyAttr.setup(poly->polyAttr);
|
||||||
|
|
||||||
//make sure all the textures we'll need are cached
|
//make sure all the textures we'll need are cached
|
||||||
|
//(otherwise on a multithreaded system there will be multiple writers--
|
||||||
|
//this SHOULD be read-only, although some day the texcache may collect statistics or something
|
||||||
|
//and then it won't be safe.
|
||||||
if(needInitTexture || lastTextureFormat != poly->texParam || lastTexturePalette != poly->texPalette)
|
if(needInitTexture || lastTextureFormat != poly->texParam || lastTexturePalette != poly->texPalette)
|
||||||
{
|
{
|
||||||
lastTexKey = TexCache_SetTexture(TexFormat_15bpp,poly->texParam,poly->texPalette);
|
lastTexKey = TexCache_SetTexture(TexFormat_15bpp,poly->texParam,poly->texPalette);
|
||||||
|
|
|
@ -57,6 +57,9 @@ class TexCacheItem;
|
||||||
class SoftRasterizerEngine
|
class SoftRasterizerEngine
|
||||||
{
|
{
|
||||||
public:
|
public:
|
||||||
|
//debug:
|
||||||
|
int _debug_drawClippedUserPoly;
|
||||||
|
|
||||||
SoftRasterizerEngine();
|
SoftRasterizerEngine();
|
||||||
|
|
||||||
void initFramebuffer(const int width, const int height, const bool clearImage);
|
void initFramebuffer(const int width, const int height, const bool clearImage);
|
||||||
|
|
|
@ -21,7 +21,7 @@
|
||||||
<bool name="use_two_step_construction">0</bool>
|
<bool name="use_two_step_construction">0</bool>
|
||||||
<bool name="use_enums">0</bool>
|
<bool name="use_enums">0</bool>
|
||||||
<bool name="generate_for_xrced">0</bool>
|
<bool name="generate_for_xrced">0</bool>
|
||||||
<bool name="generate_virtual_eventhandlers">0</bool>
|
<bool name="generate_virtual_eventhandlers">1</bool>
|
||||||
<string name="current_platform">"<All platforms>"</string>
|
<string name="current_platform">"<All platforms>"</string>
|
||||||
<string name="target_wx_version">"2.8.10"</string>
|
<string name="target_wx_version">"2.8.10"</string>
|
||||||
<string name="app_kind">"Standard"</string>
|
<string name="app_kind">"Standard"</string>
|
||||||
|
@ -379,7 +379,7 @@
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
<document>
|
<document>
|
||||||
<string name="title">"wxCheckBox: ID_MATERIALINTERPOLATE"</string>
|
<string name="title">"wxCheckBox: ID_CheckMaterialInterpolate"</string>
|
||||||
<string name="type">"dialog-control-document"</string>
|
<string name="type">"dialog-control-document"</string>
|
||||||
<string name="filename">""</string>
|
<string name="filename">""</string>
|
||||||
<string name="icon-name">"checkbox"</string>
|
<string name="icon-name">"checkbox"</string>
|
||||||
|
@ -389,7 +389,7 @@
|
||||||
<long name="locked">0</long>
|
<long name="locked">0</long>
|
||||||
<string name="proxy-type">"wbCheckBoxProxy"</string>
|
<string name="proxy-type">"wbCheckBoxProxy"</string>
|
||||||
<string name="event-handler-0">"wxEVT_COMMAND_CHECKBOX_CLICKED|OnMaterialInterpolateClick|NONE||wxdlg3dViewer"</string>
|
<string name="event-handler-0">"wxEVT_COMMAND_CHECKBOX_CLICKED|OnMaterialInterpolateClick|NONE||wxdlg3dViewer"</string>
|
||||||
<string name="proxy-Id name">"ID_MATERIALINTERPOLATE"</string>
|
<string name="proxy-Id name">"ID_CheckMaterialInterpolate"</string>
|
||||||
<long name="proxy-Id value">10004</long>
|
<long name="proxy-Id value">10004</long>
|
||||||
<string name="proxy-Name">""</string>
|
<string name="proxy-Name">""</string>
|
||||||
<string name="proxy-Class">"wxCheckBox"</string>
|
<string name="proxy-Class">"wxCheckBox"</string>
|
||||||
|
@ -560,10 +560,153 @@
|
||||||
<bool name="proxy-wxSHAPED">0</bool>
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
|
<document>
|
||||||
|
<string name="title">"wxWindow: ID_PanelTexture"</string>
|
||||||
|
<string name="type">"dialog-control-document"</string>
|
||||||
|
<string name="filename">""</string>
|
||||||
|
<string name="icon-name">"foreign"</string>
|
||||||
|
<long name="is-transient">0</long>
|
||||||
|
<long name="owns-file">1</long>
|
||||||
|
<long name="title-mode">0</long>
|
||||||
|
<long name="locked">0</long>
|
||||||
|
<string name="proxy-type">"wbForeignCtrlProxy"</string>
|
||||||
|
<string name="event-handler-0">"wxEVT_PAINT|OnPaintPanelTexture|NONE||wxdlg3dViewer"</string>
|
||||||
|
<string name="event-handler-1">"wxEVT_ERASE_BACKGROUND|OnDoNotEraseBackground|NONE||wxdlg3dViewer"</string>
|
||||||
|
<string name="proxy-Id name">"ID_PanelTexture"</string>
|
||||||
|
<long name="proxy-Id value">10001</long>
|
||||||
|
<string name="proxy-Name">""</string>
|
||||||
|
<string name="proxy-Class">"wxWindow"</string>
|
||||||
|
<string name="proxy-Base class">"wxWindow"</string>
|
||||||
|
<bool name="proxy-External implementation">1</bool>
|
||||||
|
<bool name="proxy-Separate files">0</bool>
|
||||||
|
<string name="proxy-Implementation filename">""</string>
|
||||||
|
<string name="proxy-Header filename">""</string>
|
||||||
|
<string name="proxy-Member variable name">"panelTexture"</string>
|
||||||
|
<bool name="proxy-Create in situ">1</bool>
|
||||||
|
<string name="proxy-Help text">""</string>
|
||||||
|
<string name="proxy-Tooltip text">""</string>
|
||||||
|
<string name="proxy-Background colour">""</string>
|
||||||
|
<string name="proxy-Foreground colour">""</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<string name="proxy-Data variable">""</string>
|
||||||
|
<string name="proxy-Data validator">""</string>
|
||||||
|
<string name="proxy-Data source">""</string>
|
||||||
|
<string name="proxy-Data class name">""</string>
|
||||||
|
<string name="proxy-Data class implementation filename">""</string>
|
||||||
|
<string name="proxy-Data class header filename">""</string>
|
||||||
|
<string name="proxy-Data class manager window">""</string>
|
||||||
|
<bool name="proxy-wxNO_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSIMPLE_BORDER">1</bool>
|
||||||
|
<bool name="proxy-wxDOUBLE_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxBORDER_THEME">0</bool>
|
||||||
|
<bool name="proxy-wxSUNKEN_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxRAISED_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSTATIC_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
||||||
|
<bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxCLIP_CHILDREN">0</bool>
|
||||||
|
<bool name="proxy-wxHSCROLL">0</bool>
|
||||||
|
<bool name="proxy-wxVSCROLL">0</bool>
|
||||||
|
<bool name="proxy-wxWS_EX_VALIDATE_RECURSIVELY">0</bool>
|
||||||
|
<string name="proxy-Custom styles">""</string>
|
||||||
|
<long name="proxy-X">-1</long>
|
||||||
|
<long name="proxy-Y">-1</long>
|
||||||
|
<long name="proxy-Width">64</long>
|
||||||
|
<long name="proxy-Height">64</long>
|
||||||
|
<string name="proxy-AlignH">"Centre"</string>
|
||||||
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
|
<long name="proxy-Stretch factor">0</long>
|
||||||
|
<long name="proxy-Border">5</long>
|
||||||
|
<bool name="proxy-wxLEFT">1</bool>
|
||||||
|
<bool name="proxy-wxRIGHT">1</bool>
|
||||||
|
<bool name="proxy-wxTOP">1</bool>
|
||||||
|
<bool name="proxy-wxBOTTOM">1</bool>
|
||||||
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
|
<string name="proxy-Custom arguments">""</string>
|
||||||
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
|
<string name="proxy-Event sources">""</string>
|
||||||
|
</document>
|
||||||
|
<document>
|
||||||
|
<string name="title">"wxStaticText: wxID_STATIC"</string>
|
||||||
|
<string name="type">"dialog-control-document"</string>
|
||||||
|
<string name="filename">""</string>
|
||||||
|
<string name="icon-name">"statictext"</string>
|
||||||
|
<long name="is-transient">0</long>
|
||||||
|
<long name="owns-file">1</long>
|
||||||
|
<long name="title-mode">0</long>
|
||||||
|
<long name="locked">0</long>
|
||||||
|
<string name="proxy-type">"wbStaticTextProxy"</string>
|
||||||
|
<string name="proxy-Id name">"wxID_STATIC"</string>
|
||||||
|
<long name="proxy-Id value">5105</long>
|
||||||
|
<string name="proxy-Name">""</string>
|
||||||
|
<string name="proxy-Class">"wxStaticText"</string>
|
||||||
|
<string name="proxy-Base class">"wxStaticText"</string>
|
||||||
|
<bool name="proxy-External implementation">1</bool>
|
||||||
|
<bool name="proxy-Separate files">0</bool>
|
||||||
|
<string name="proxy-Implementation filename">""</string>
|
||||||
|
<string name="proxy-Header filename">""</string>
|
||||||
|
<string name="proxy-Member variable name">""</string>
|
||||||
|
<string name="proxy-Label">"3dviewer is unstable.
|
||||||
|
dont use it."</string>
|
||||||
|
<long name="proxy-Wrapping width">-1</long>
|
||||||
|
<string name="proxy-Help text">""</string>
|
||||||
|
<string name="proxy-Tooltip text">""</string>
|
||||||
|
<string name="proxy-Background colour">""</string>
|
||||||
|
<string name="proxy-Foreground colour">""</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<string name="proxy-Data variable">""</string>
|
||||||
|
<string name="proxy-Data validator">""</string>
|
||||||
|
<string name="proxy-Data source">""</string>
|
||||||
|
<string name="proxy-Data class name">""</string>
|
||||||
|
<string name="proxy-Data class implementation filename">""</string>
|
||||||
|
<string name="proxy-Data class header filename">""</string>
|
||||||
|
<string name="proxy-Data class manager window">""</string>
|
||||||
|
<bool name="proxy-wxALIGN_LEFT">0</bool>
|
||||||
|
<bool name="proxy-wxALIGN_RIGHT">0</bool>
|
||||||
|
<bool name="proxy-wxALIGN_CENTRE">0</bool>
|
||||||
|
<bool name="proxy-wxST_NO_AUTORESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxNO_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSIMPLE_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxDOUBLE_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxBORDER_THEME">0</bool>
|
||||||
|
<bool name="proxy-wxSUNKEN_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxRAISED_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSTATIC_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
||||||
|
<bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<string name="proxy-Custom styles">""</string>
|
||||||
|
<long name="proxy-X">-1</long>
|
||||||
|
<long name="proxy-Y">-1</long>
|
||||||
|
<long name="proxy-Width">-1</long>
|
||||||
|
<long name="proxy-Height">-1</long>
|
||||||
|
<string name="proxy-AlignH">"Centre"</string>
|
||||||
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
|
<long name="proxy-Stretch factor">0</long>
|
||||||
|
<long name="proxy-Border">5</long>
|
||||||
|
<bool name="proxy-wxLEFT">1</bool>
|
||||||
|
<bool name="proxy-wxRIGHT">1</bool>
|
||||||
|
<bool name="proxy-wxTOP">1</bool>
|
||||||
|
<bool name="proxy-wxBOTTOM">1</bool>
|
||||||
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
|
<string name="proxy-Custom arguments">""</string>
|
||||||
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
|
</document>
|
||||||
</document>
|
</document>
|
||||||
</document>
|
</document>
|
||||||
<document>
|
<document>
|
||||||
<string name="title">"wxWindow: ID_VIEWPORT"</string>
|
<string name="title">"wxWindow: ID_PanelViewport"</string>
|
||||||
<string name="type">"dialog-control-document"</string>
|
<string name="type">"dialog-control-document"</string>
|
||||||
<string name="filename">""</string>
|
<string name="filename">""</string>
|
||||||
<string name="icon-name">"foreign"</string>
|
<string name="icon-name">"foreign"</string>
|
||||||
|
@ -573,8 +716,8 @@
|
||||||
<long name="locked">0</long>
|
<long name="locked">0</long>
|
||||||
<string name="proxy-type">"wbForeignCtrlProxy"</string>
|
<string name="proxy-type">"wbForeignCtrlProxy"</string>
|
||||||
<string name="event-handler-0">"wxEVT_PAINT|OnPanelPaint|NONE||wxdlg3dViewer"</string>
|
<string name="event-handler-0">"wxEVT_PAINT|OnPanelPaint|NONE||wxdlg3dViewer"</string>
|
||||||
<string name="event-handler-1">"wxEVT_ERASE_BACKGROUND|OnPanelEraseBackground|NONE||wxdlg3dViewer"</string>
|
<string name="event-handler-1">"wxEVT_ERASE_BACKGROUND|OnDoNotEraseBackground|NONE||wxdlg3dViewer"</string>
|
||||||
<string name="proxy-Id name">"ID_VIEWPORT"</string>
|
<string name="proxy-Id name">"ID_PanelViewport"</string>
|
||||||
<long name="proxy-Id value">10002</long>
|
<long name="proxy-Id value">10002</long>
|
||||||
<string name="proxy-Name">""</string>
|
<string name="proxy-Name">""</string>
|
||||||
<string name="proxy-Class">"wxWindow"</string>
|
<string name="proxy-Class">"wxWindow"</string>
|
||||||
|
@ -938,6 +1081,76 @@
|
||||||
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
<string name="proxy-Platform">"<Any platform>"</string>
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<document>
|
||||||
|
<string name="title">"wxStaticText: wxID_STATIC"</string>
|
||||||
|
<string name="type">"dialog-control-document"</string>
|
||||||
|
<string name="filename">""</string>
|
||||||
|
<string name="icon-name">"statictext"</string>
|
||||||
|
<long name="is-transient">0</long>
|
||||||
|
<long name="owns-file">1</long>
|
||||||
|
<long name="title-mode">0</long>
|
||||||
|
<long name="locked">0</long>
|
||||||
|
<string name="proxy-type">"wbStaticTextProxy"</string>
|
||||||
|
<string name="proxy-Id name">"wxID_STATIC"</string>
|
||||||
|
<long name="proxy-Id value">5105</long>
|
||||||
|
<string name="proxy-Name">""</string>
|
||||||
|
<string name="proxy-Class">"wxStaticText"</string>
|
||||||
|
<string name="proxy-Base class">"wxStaticText"</string>
|
||||||
|
<bool name="proxy-External implementation">1</bool>
|
||||||
|
<bool name="proxy-Separate files">0</bool>
|
||||||
|
<string name="proxy-Implementation filename">""</string>
|
||||||
|
<string name="proxy-Header filename">""</string>
|
||||||
|
<string name="proxy-Member variable name">"labelFrameCounter"</string>
|
||||||
|
<string name="proxy-Label">"Frame: 9999999"</string>
|
||||||
|
<long name="proxy-Wrapping width">-1</long>
|
||||||
|
<string name="proxy-Help text">""</string>
|
||||||
|
<string name="proxy-Tooltip text">""</string>
|
||||||
|
<string name="proxy-Background colour">""</string>
|
||||||
|
<string name="proxy-Foreground colour">""</string>
|
||||||
|
<string name="proxy-Font">""</string>
|
||||||
|
<bool name="proxy-Hidden">0</bool>
|
||||||
|
<bool name="proxy-Enabled">1</bool>
|
||||||
|
<string name="proxy-Platform">"<Any platform>"</string>
|
||||||
|
<string name="proxy-Data variable">""</string>
|
||||||
|
<string name="proxy-Data validator">""</string>
|
||||||
|
<string name="proxy-Data source">""</string>
|
||||||
|
<string name="proxy-Data class name">""</string>
|
||||||
|
<string name="proxy-Data class implementation filename">""</string>
|
||||||
|
<string name="proxy-Data class header filename">""</string>
|
||||||
|
<string name="proxy-Data class manager window">""</string>
|
||||||
|
<bool name="proxy-wxALIGN_LEFT">0</bool>
|
||||||
|
<bool name="proxy-wxALIGN_RIGHT">0</bool>
|
||||||
|
<bool name="proxy-wxALIGN_CENTRE">0</bool>
|
||||||
|
<bool name="proxy-wxST_NO_AUTORESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxNO_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSIMPLE_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxDOUBLE_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxBORDER_THEME">0</bool>
|
||||||
|
<bool name="proxy-wxSUNKEN_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxRAISED_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxSTATIC_BORDER">0</bool>
|
||||||
|
<bool name="proxy-wxWANTS_CHARS">0</bool>
|
||||||
|
<bool name="proxy-wxNO_FULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFULL_REPAINT_ON_RESIZE">0</bool>
|
||||||
|
<string name="proxy-Custom styles">""</string>
|
||||||
|
<long name="proxy-X">-1</long>
|
||||||
|
<long name="proxy-Y">-1</long>
|
||||||
|
<long name="proxy-Width">-1</long>
|
||||||
|
<long name="proxy-Height">-1</long>
|
||||||
|
<string name="proxy-AlignH">"Left"</string>
|
||||||
|
<string name="proxy-AlignV">"Centre"</string>
|
||||||
|
<long name="proxy-Stretch factor">0</long>
|
||||||
|
<long name="proxy-Border">1</long>
|
||||||
|
<bool name="proxy-wxLEFT">1</bool>
|
||||||
|
<bool name="proxy-wxRIGHT">1</bool>
|
||||||
|
<bool name="proxy-wxTOP">1</bool>
|
||||||
|
<bool name="proxy-wxBOTTOM">1</bool>
|
||||||
|
<bool name="proxy-wxSHAPED">0</bool>
|
||||||
|
<bool name="proxy-wxADJUST_MINSIZE">0</bool>
|
||||||
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
|
<string name="proxy-Custom arguments">""</string>
|
||||||
|
<string name="proxy-Custom ctor arguments">""</string>
|
||||||
|
</document>
|
||||||
<document>
|
<document>
|
||||||
<string name="title">"wxStaticText: wxID_STATIC"</string>
|
<string name="title">"wxStaticText: wxID_STATIC"</string>
|
||||||
<string name="type">"dialog-control-document"</string>
|
<string name="type">"dialog-control-document"</string>
|
||||||
|
@ -958,7 +1171,7 @@
|
||||||
<string name="proxy-Implementation filename">""</string>
|
<string name="proxy-Implementation filename">""</string>
|
||||||
<string name="proxy-Header filename">""</string>
|
<string name="proxy-Header filename">""</string>
|
||||||
<string name="proxy-Member variable name">"labelUserPolycount"</string>
|
<string name="proxy-Member variable name">"labelUserPolycount"</string>
|
||||||
<string name="proxy-Label">"User Polys"</string>
|
<string name="proxy-Label">"User Polys: 999999"</string>
|
||||||
<long name="proxy-Wrapping width">-1</long>
|
<long name="proxy-Wrapping width">-1</long>
|
||||||
<string name="proxy-Help text">""</string>
|
<string name="proxy-Help text">""</string>
|
||||||
<string name="proxy-Tooltip text">""</string>
|
<string name="proxy-Tooltip text">""</string>
|
||||||
|
@ -1136,7 +1349,7 @@
|
||||||
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
<bool name="proxy-wxFIXED_MINSIZE">0</bool>
|
||||||
</document>
|
</document>
|
||||||
<document>
|
<document>
|
||||||
<string name="title">"wxDesmumeListCtrl: ID_DESMUMELISTCTRL1"</string>
|
<string name="title">"wxDesmumeListCtrl: ID_ListPolys"</string>
|
||||||
<string name="type">"dialog-control-document"</string>
|
<string name="type">"dialog-control-document"</string>
|
||||||
<string name="filename">""</string>
|
<string name="filename">""</string>
|
||||||
<string name="icon-name">"listctrl"</string>
|
<string name="icon-name">"listctrl"</string>
|
||||||
|
@ -1145,7 +1358,8 @@
|
||||||
<long name="title-mode">0</long>
|
<long name="title-mode">0</long>
|
||||||
<long name="locked">0</long>
|
<long name="locked">0</long>
|
||||||
<string name="proxy-type">"wbListCtrlProxy"</string>
|
<string name="proxy-type">"wbListCtrlProxy"</string>
|
||||||
<string name="proxy-Id name">"ID_DESMUMELISTCTRL1"</string>
|
<string name="event-handler-0">"wxEVT_COMMAND_LIST_ITEM_SELECTED|OnListPolysSelected|NONE||wxdlg3dViewer"</string>
|
||||||
|
<string name="proxy-Id name">"ID_ListPolys"</string>
|
||||||
<long name="proxy-Id value">10009</long>
|
<long name="proxy-Id value">10009</long>
|
||||||
<string name="proxy-Name">""</string>
|
<string name="proxy-Name">""</string>
|
||||||
<string name="proxy-Class">"wxDesmumeListCtrl"</string>
|
<string name="proxy-Class">"wxDesmumeListCtrl"</string>
|
||||||
|
@ -1219,7 +1433,7 @@
|
||||||
<string name="proxy-Event sources">""</string>
|
<string name="proxy-Event sources">""</string>
|
||||||
</document>
|
</document>
|
||||||
<document>
|
<document>
|
||||||
<string name="title">"wxTreeCtrl: ID_TREECTRL"</string>
|
<string name="title">"wxTreeCtrl: ID_Tree"</string>
|
||||||
<string name="type">"dialog-control-document"</string>
|
<string name="type">"dialog-control-document"</string>
|
||||||
<string name="filename">""</string>
|
<string name="filename">""</string>
|
||||||
<string name="icon-name">"treectrl"</string>
|
<string name="icon-name">"treectrl"</string>
|
||||||
|
@ -1228,7 +1442,7 @@
|
||||||
<long name="title-mode">0</long>
|
<long name="title-mode">0</long>
|
||||||
<long name="locked">0</long>
|
<long name="locked">0</long>
|
||||||
<string name="proxy-type">"wbTreeCtrlProxy"</string>
|
<string name="proxy-type">"wbTreeCtrlProxy"</string>
|
||||||
<string name="proxy-Id name">"ID_TREECTRL"</string>
|
<string name="proxy-Id name">"ID_Tree"</string>
|
||||||
<long name="proxy-Id value">10003</long>
|
<long name="proxy-Id value">10003</long>
|
||||||
<string name="proxy-Name">""</string>
|
<string name="proxy-Name">""</string>
|
||||||
<string name="proxy-Class">"wxTreeCtrl"</string>
|
<string name="proxy-Class">"wxTreeCtrl"</string>
|
||||||
|
|
|
@ -48,7 +48,9 @@ BEGIN_EVENT_TABLE( wxdlg3dViewer, wxDialog )
|
||||||
////@begin wxdlg3dViewer event table entries
|
////@begin wxdlg3dViewer event table entries
|
||||||
EVT_CLOSE( wxdlg3dViewer::OnCloseWindow )
|
EVT_CLOSE( wxdlg3dViewer::OnCloseWindow )
|
||||||
|
|
||||||
EVT_CHECKBOX( ID_MATERIALINTERPOLATE, wxdlg3dViewer::OnMaterialInterpolateClick )
|
EVT_CHECKBOX( ID_CheckMaterialInterpolate, wxdlg3dViewer::OnMaterialInterpolateClick )
|
||||||
|
|
||||||
|
EVT_LIST_ITEM_SELECTED( ID_ListPolys, wxdlg3dViewer::OnListPolysSelected )
|
||||||
|
|
||||||
////@end wxdlg3dViewer event table entries
|
////@end wxdlg3dViewer event table entries
|
||||||
|
|
||||||
|
@ -113,7 +115,9 @@ void wxdlg3dViewer::Init()
|
||||||
{
|
{
|
||||||
////@begin wxdlg3dViewer member initialisation
|
////@begin wxdlg3dViewer member initialisation
|
||||||
checkMaterialInterpolate = NULL;
|
checkMaterialInterpolate = NULL;
|
||||||
|
panelTexture = NULL;
|
||||||
panelViewport = NULL;
|
panelViewport = NULL;
|
||||||
|
labelFrameCounter = NULL;
|
||||||
labelUserPolycount = NULL;
|
labelUserPolycount = NULL;
|
||||||
labelFinalPolycount = NULL;
|
labelFinalPolycount = NULL;
|
||||||
listPolys = NULL;
|
listPolys = NULL;
|
||||||
|
@ -146,7 +150,7 @@ void wxdlg3dViewer::CreateControls()
|
||||||
wxStaticBoxSizer* itemStaticBoxSizer4 = new wxStaticBoxSizer(itemStaticBoxSizer4Static, wxVERTICAL);
|
wxStaticBoxSizer* itemStaticBoxSizer4 = new wxStaticBoxSizer(itemStaticBoxSizer4Static, wxVERTICAL);
|
||||||
itemBoxSizer3->Add(itemStaticBoxSizer4, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
itemBoxSizer3->Add(itemStaticBoxSizer4, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
||||||
|
|
||||||
checkMaterialInterpolate = new wxCheckBox( itemDialog1, ID_MATERIALINTERPOLATE, _("Material clip interpolation"), wxDefaultPosition, wxDefaultSize, 0 );
|
checkMaterialInterpolate = new wxCheckBox( itemDialog1, ID_CheckMaterialInterpolate, _("Material clip interpolation"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
checkMaterialInterpolate->SetValue(false);
|
checkMaterialInterpolate->SetValue(false);
|
||||||
itemStaticBoxSizer4->Add(checkMaterialInterpolate, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
itemStaticBoxSizer4->Add(checkMaterialInterpolate, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
||||||
|
|
||||||
|
@ -159,55 +163,66 @@ void wxdlg3dViewer::CreateControls()
|
||||||
wxFlexGridSizer* itemFlexGridSizer8 = new wxFlexGridSizer(0, 2, 0, 0);
|
wxFlexGridSizer* itemFlexGridSizer8 = new wxFlexGridSizer(0, 2, 0, 0);
|
||||||
itemBoxSizer3->Add(itemFlexGridSizer8, 1, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
itemBoxSizer3->Add(itemFlexGridSizer8, 1, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
||||||
|
|
||||||
panelViewport = new wxWindow( itemDialog1, ID_VIEWPORT, wxDefaultPosition, wxSize(256, 192), wxSIMPLE_BORDER );
|
panelTexture = new wxWindow( itemDialog1, ID_PanelTexture, wxDefaultPosition, wxSize(64, 64), wxSIMPLE_BORDER );
|
||||||
|
itemFlexGridSizer8->Add(panelTexture, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||||
|
|
||||||
|
wxStaticText* itemStaticText10 = new wxStaticText( itemDialog1, wxID_STATIC, _("3dviewer is unstable.\ndont use it."), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
itemFlexGridSizer8->Add(itemStaticText10, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||||
|
|
||||||
|
panelViewport = new wxWindow( itemDialog1, ID_PanelViewport, wxDefaultPosition, wxSize(256, 192), wxSIMPLE_BORDER );
|
||||||
itemFlexGridSizer2->Add(panelViewport, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
itemFlexGridSizer2->Add(panelViewport, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||||
|
|
||||||
wxFlexGridSizer* itemFlexGridSizer10 = new wxFlexGridSizer(3, 1, 0, 0);
|
wxFlexGridSizer* itemFlexGridSizer12 = new wxFlexGridSizer(3, 1, 0, 0);
|
||||||
itemFlexGridSizer10->AddGrowableRow(1);
|
itemFlexGridSizer12->AddGrowableRow(1);
|
||||||
itemFlexGridSizer2->Add(itemFlexGridSizer10, 1, wxALIGN_CENTER_HORIZONTAL|wxGROW|wxALL, 5);
|
itemFlexGridSizer2->Add(itemFlexGridSizer12, 1, wxALIGN_CENTER_HORIZONTAL|wxGROW|wxALL, 5);
|
||||||
|
|
||||||
wxStaticBox* itemStaticBoxSizer11Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Choose One"));
|
wxStaticBox* itemStaticBoxSizer13Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Choose One"));
|
||||||
wxStaticBoxSizer* itemStaticBoxSizer11 = new wxStaticBoxSizer(itemStaticBoxSizer11Static, wxVERTICAL);
|
wxStaticBoxSizer* itemStaticBoxSizer13 = new wxStaticBoxSizer(itemStaticBoxSizer13Static, wxVERTICAL);
|
||||||
itemFlexGridSizer10->Add(itemStaticBoxSizer11, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_BOTTOM|wxALL, 5);
|
itemFlexGridSizer12->Add(itemStaticBoxSizer13, 0, wxALIGN_CENTER_HORIZONTAL|wxALIGN_BOTTOM|wxALL, 5);
|
||||||
|
|
||||||
wxRadioButton* itemRadioButton12 = new wxRadioButton( itemDialog1, ID_RADIOBUTTON, _("Final Polylist"), wxDefaultPosition, wxDefaultSize, 0 );
|
wxRadioButton* itemRadioButton14 = new wxRadioButton( itemDialog1, ID_RADIOBUTTON, _("Final Polylist"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemRadioButton12->SetValue(true);
|
itemRadioButton14->SetValue(true);
|
||||||
itemStaticBoxSizer11->Add(itemRadioButton12, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
itemStaticBoxSizer13->Add(itemRadioButton14, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
||||||
|
|
||||||
wxRadioButton* itemRadioButton13 = new wxRadioButton( itemDialog1, ID_RADIOBUTTON1, _("User Polylist"), wxDefaultPosition, wxDefaultSize, 0 );
|
wxRadioButton* itemRadioButton15 = new wxRadioButton( itemDialog1, ID_RADIOBUTTON1, _("User Polylist"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemRadioButton13->SetValue(false);
|
itemRadioButton15->SetValue(false);
|
||||||
itemRadioButton13->Enable(false);
|
itemRadioButton15->Enable(false);
|
||||||
itemStaticBoxSizer11->Add(itemRadioButton13, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
itemStaticBoxSizer13->Add(itemRadioButton15, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
||||||
|
|
||||||
wxRadioButton* itemRadioButton14 = new wxRadioButton( itemDialog1, ID_RADIOBUTTON2, _("Display List"), wxDefaultPosition, wxDefaultSize, 0 );
|
wxRadioButton* itemRadioButton16 = new wxRadioButton( itemDialog1, ID_RADIOBUTTON2, _("Display List"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemRadioButton14->SetValue(false);
|
itemRadioButton16->SetValue(false);
|
||||||
itemRadioButton14->Enable(false);
|
itemRadioButton16->Enable(false);
|
||||||
itemStaticBoxSizer11->Add(itemRadioButton14, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
itemStaticBoxSizer13->Add(itemRadioButton16, 0, wxALIGN_CENTER_HORIZONTAL|wxALL, 5);
|
||||||
|
|
||||||
itemFlexGridSizer10->Add(5, 5, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
itemFlexGridSizer12->Add(5, 5, 1, wxALIGN_CENTER_HORIZONTAL|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||||
|
|
||||||
wxStaticBox* itemStaticBoxSizer16Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Statistics"));
|
wxStaticBox* itemStaticBoxSizer18Static = new wxStaticBox(itemDialog1, wxID_ANY, _("Statistics"));
|
||||||
wxStaticBoxSizer* itemStaticBoxSizer16 = new wxStaticBoxSizer(itemStaticBoxSizer16Static, wxVERTICAL);
|
wxStaticBoxSizer* itemStaticBoxSizer18 = new wxStaticBoxSizer(itemStaticBoxSizer18Static, wxVERTICAL);
|
||||||
itemFlexGridSizer10->Add(itemStaticBoxSizer16, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
itemFlexGridSizer12->Add(itemStaticBoxSizer18, 0, wxGROW|wxALIGN_CENTER_VERTICAL|wxALL, 5);
|
||||||
|
|
||||||
labelUserPolycount = new wxStaticText( itemDialog1, wxID_STATIC, _("User Polys"), wxDefaultPosition, wxDefaultSize, 0 );
|
labelFrameCounter = new wxStaticText( itemDialog1, wxID_STATIC, _("Frame: 9999999"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemStaticBoxSizer16->Add(labelUserPolycount, 0, wxALIGN_LEFT|wxALL, 1);
|
itemStaticBoxSizer18->Add(labelFrameCounter, 0, wxALIGN_LEFT|wxALL, 1);
|
||||||
|
|
||||||
|
labelUserPolycount = new wxStaticText( itemDialog1, wxID_STATIC, _("User Polys: 999999"), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
|
itemStaticBoxSizer18->Add(labelUserPolycount, 0, wxALIGN_LEFT|wxALL, 1);
|
||||||
|
|
||||||
labelFinalPolycount = new wxStaticText( itemDialog1, wxID_STATIC, _("Final Polys: "), wxDefaultPosition, wxDefaultSize, 0 );
|
labelFinalPolycount = new wxStaticText( itemDialog1, wxID_STATIC, _("Final Polys: "), wxDefaultPosition, wxDefaultSize, 0 );
|
||||||
itemStaticBoxSizer16->Add(labelFinalPolycount, 0, wxALIGN_LEFT|wxALL, 1);
|
itemStaticBoxSizer18->Add(labelFinalPolycount, 0, wxALIGN_LEFT|wxALL, 1);
|
||||||
|
|
||||||
wxStaticLine* itemStaticLine19 = new wxStaticLine( itemDialog1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
wxStaticLine* itemStaticLine22 = new wxStaticLine( itemDialog1, wxID_STATIC, wxDefaultPosition, wxDefaultSize, wxLI_HORIZONTAL );
|
||||||
itemFlexGridSizer2->Add(itemStaticLine19, 0, wxALIGN_CENTER_HORIZONTAL|wxGROW|wxALL, 5);
|
itemFlexGridSizer2->Add(itemStaticLine22, 0, wxALIGN_CENTER_HORIZONTAL|wxGROW|wxALL, 5);
|
||||||
|
|
||||||
listPolys = new wxDesmumeListCtrl( itemDialog1, ID_DESMUMELISTCTRL1, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_VIRTUAL );
|
listPolys = new wxDesmumeListCtrl( itemDialog1, ID_ListPolys, wxDefaultPosition, wxDefaultSize, wxLC_REPORT|wxLC_VIRTUAL );
|
||||||
itemFlexGridSizer2->Add(listPolys, 0, wxALIGN_CENTER_HORIZONTAL|wxGROW|wxALL, 5);
|
itemFlexGridSizer2->Add(listPolys, 0, wxALIGN_CENTER_HORIZONTAL|wxGROW|wxALL, 5);
|
||||||
|
|
||||||
tree = new wxTreeCtrl( itemDialog1, ID_TREECTRL, wxDefaultPosition, wxSize(99, 99), wxTR_HAS_BUTTONS |wxTR_HIDE_ROOT|wxTR_ROW_LINES|wxTR_SINGLE );
|
tree = new wxTreeCtrl( itemDialog1, ID_Tree, wxDefaultPosition, wxSize(99, 99), wxTR_HAS_BUTTONS |wxTR_HIDE_ROOT|wxTR_ROW_LINES|wxTR_SINGLE );
|
||||||
itemFlexGridSizer2->Add(tree, 0, wxALIGN_CENTER_HORIZONTAL|wxGROW|wxALL, 5);
|
itemFlexGridSizer2->Add(tree, 0, wxALIGN_CENTER_HORIZONTAL|wxGROW|wxALL, 5);
|
||||||
|
|
||||||
// Connect events and objects
|
// Connect events and objects
|
||||||
panelViewport->Connect(ID_VIEWPORT, wxEVT_PAINT, wxPaintEventHandler(wxdlg3dViewer::OnPanelPaint), NULL, this);
|
panelTexture->Connect(ID_PanelTexture, wxEVT_PAINT, wxPaintEventHandler(wxdlg3dViewer::OnPaintPanelTexture), NULL, this);
|
||||||
panelViewport->Connect(ID_VIEWPORT, wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(wxdlg3dViewer::OnPanelEraseBackground), NULL, this);
|
panelTexture->Connect(ID_PanelTexture, wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(wxdlg3dViewer::OnDoNotEraseBackground), NULL, this);
|
||||||
|
panelViewport->Connect(ID_PanelViewport, wxEVT_PAINT, wxPaintEventHandler(wxdlg3dViewer::OnPanelPaint), NULL, this);
|
||||||
|
panelViewport->Connect(ID_PanelViewport, wxEVT_ERASE_BACKGROUND, wxEraseEventHandler(wxdlg3dViewer::OnDoNotEraseBackground), NULL, this);
|
||||||
////@end wxdlg3dViewer content construction
|
////@end wxdlg3dViewer content construction
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -285,7 +300,7 @@ void wxdlg3dViewer::OnPanelPaint( wxPaintEvent& event )
|
||||||
* wxEVT_ERASE_BACKGROUND event handler for ID_PANEL
|
* wxEVT_ERASE_BACKGROUND event handler for ID_PANEL
|
||||||
*/
|
*/
|
||||||
|
|
||||||
void wxdlg3dViewer::OnPanelEraseBackground( wxEraseEvent& event )
|
void wxdlg3dViewer::OnDoNotEraseBackground( wxEraseEvent& event )
|
||||||
{
|
{
|
||||||
//blank to block background clearing
|
//blank to block background clearing
|
||||||
}
|
}
|
||||||
|
@ -374,3 +389,27 @@ void wxDesmumeListCtrl::CreateControls()
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxEVT_COMMAND_LIST_ITEM_SELECTED event handler for ID_LISTPOLYS
|
||||||
|
*/
|
||||||
|
|
||||||
|
void wxdlg3dViewer::OnListPolysSelected( wxListEvent& event )
|
||||||
|
{
|
||||||
|
////@begin wxEVT_COMMAND_LIST_ITEM_SELECTED event handler for ID_LISTPOLYS in wxdlg3dViewer.
|
||||||
|
// Before editing this code, remove the block markers.
|
||||||
|
event.Skip();
|
||||||
|
////@end wxEVT_COMMAND_LIST_ITEM_SELECTED event handler for ID_LISTPOLYS in wxdlg3dViewer.
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
/*
|
||||||
|
* wxEVT_PAINT event handler for ID_PanelTexture
|
||||||
|
*/
|
||||||
|
|
||||||
|
void wxdlg3dViewer::OnPaintPanelTexture( wxPaintEvent& event )
|
||||||
|
{
|
||||||
|
////@begin wxEVT_PAINT event handler for ID_PanelTexture in wxdlg3dViewer.
|
||||||
|
// Before editing this code, remove the block markers.
|
||||||
|
wxPaintDC dc(wxDynamicCast(event.GetEventObject(), wxWindow));
|
||||||
|
////@end wxEVT_PAINT event handler for ID_PanelTexture in wxdlg3dViewer.
|
||||||
|
}
|
||||||
|
|
|
@ -48,21 +48,22 @@ class wxTreeCtrl;
|
||||||
|
|
||||||
////@begin control identifiers
|
////@begin control identifiers
|
||||||
#define ID_X 10000
|
#define ID_X 10000
|
||||||
#define ID_MATERIALINTERPOLATE 10004
|
#define ID_CheckMaterialInterpolate 10004
|
||||||
#define ID_CHECKBOX1 10008
|
#define ID_CHECKBOX1 10008
|
||||||
#define ID_VIEWPORT 10002
|
#define ID_PanelTexture 10001
|
||||||
|
#define ID_PanelViewport 10002
|
||||||
#define ID_RADIOBUTTON 10005
|
#define ID_RADIOBUTTON 10005
|
||||||
#define ID_RADIOBUTTON1 10006
|
#define ID_RADIOBUTTON1 10006
|
||||||
#define ID_RADIOBUTTON2 10007
|
#define ID_RADIOBUTTON2 10007
|
||||||
#define ID_DESMUMELISTCTRL1 10009
|
#define ID_ListPolys 10009
|
||||||
#define ID_TREECTRL 10003
|
#define ID_Tree 10003
|
||||||
#define SYMBOL_WXDLG3DVIEWER_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxDIALOG_NO_PARENT|wxCLOSE_BOX|wxTAB_TRAVERSAL
|
#define SYMBOL_WXDLG3DVIEWER_STYLE wxCAPTION|wxRESIZE_BORDER|wxSYSTEM_MENU|wxDIALOG_NO_PARENT|wxCLOSE_BOX|wxTAB_TRAVERSAL
|
||||||
#define SYMBOL_WXDLG3DVIEWER_TITLE _("3D Viewer")
|
#define SYMBOL_WXDLG3DVIEWER_TITLE _("3D Viewer")
|
||||||
#define SYMBOL_WXDLG3DVIEWER_IDNAME ID_X
|
#define SYMBOL_WXDLG3DVIEWER_IDNAME ID_X
|
||||||
#define SYMBOL_WXDLG3DVIEWER_SIZE wxSize(399, 300)
|
#define SYMBOL_WXDLG3DVIEWER_SIZE wxSize(399, 300)
|
||||||
#define SYMBOL_WXDLG3DVIEWER_POSITION wxDefaultPosition
|
#define SYMBOL_WXDLG3DVIEWER_POSITION wxDefaultPosition
|
||||||
#define SYMBOL_WXDESMUMELISTCTRL_STYLE wxLC_REPORT|wxLC_VIRTUAL
|
#define SYMBOL_WXDESMUMELISTCTRL_STYLE wxLC_REPORT|wxLC_VIRTUAL
|
||||||
#define SYMBOL_WXDESMUMELISTCTRL_IDNAME ID_DESMUMELISTCTRL1
|
#define SYMBOL_WXDESMUMELISTCTRL_IDNAME ID_ListPolys
|
||||||
#define SYMBOL_WXDESMUMELISTCTRL_SIZE wxDefaultSize
|
#define SYMBOL_WXDESMUMELISTCTRL_SIZE wxDefaultSize
|
||||||
#define SYMBOL_WXDESMUMELISTCTRL_POSITION wxDefaultPosition
|
#define SYMBOL_WXDESMUMELISTCTRL_POSITION wxDefaultPosition
|
||||||
////@end control identifiers
|
////@end control identifiers
|
||||||
|
@ -103,16 +104,22 @@ public:
|
||||||
////@begin wxdlg3dViewer event handler declarations
|
////@begin wxdlg3dViewer event handler declarations
|
||||||
|
|
||||||
/// wxEVT_CLOSE_WINDOW event handler for ID_X
|
/// wxEVT_CLOSE_WINDOW event handler for ID_X
|
||||||
void OnCloseWindow( wxCloseEvent& event );
|
virtual void OnCloseWindow( wxCloseEvent& event );
|
||||||
|
|
||||||
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_MATERIALINTERPOLATE
|
/// wxEVT_COMMAND_CHECKBOX_CLICKED event handler for ID_CheckMaterialInterpolate
|
||||||
void OnMaterialInterpolateClick( wxCommandEvent& event );
|
virtual void OnMaterialInterpolateClick( wxCommandEvent& event );
|
||||||
|
|
||||||
/// wxEVT_PAINT event handler for ID_VIEWPORT
|
/// wxEVT_PAINT event handler for ID_PanelTexture
|
||||||
void OnPanelPaint( wxPaintEvent& event );
|
virtual void OnPaintPanelTexture( wxPaintEvent& event );
|
||||||
|
|
||||||
/// wxEVT_ERASE_BACKGROUND event handler for ID_VIEWPORT
|
/// wxEVT_ERASE_BACKGROUND event handler for ID_PanelTexture
|
||||||
void OnPanelEraseBackground( wxEraseEvent& event );
|
virtual void OnDoNotEraseBackground( wxEraseEvent& event );
|
||||||
|
|
||||||
|
/// wxEVT_PAINT event handler for ID_PanelViewport
|
||||||
|
virtual void OnPanelPaint( wxPaintEvent& event );
|
||||||
|
|
||||||
|
/// wxEVT_COMMAND_LIST_ITEM_SELECTED event handler for ID_ListPolys
|
||||||
|
virtual void OnListPolysSelected( wxListEvent& event );
|
||||||
|
|
||||||
////@end wxdlg3dViewer event handler declarations
|
////@end wxdlg3dViewer event handler declarations
|
||||||
|
|
||||||
|
@ -130,7 +137,9 @@ public:
|
||||||
|
|
||||||
////@begin wxdlg3dViewer member variables
|
////@begin wxdlg3dViewer member variables
|
||||||
wxCheckBox* checkMaterialInterpolate;
|
wxCheckBox* checkMaterialInterpolate;
|
||||||
|
wxWindow* panelTexture;
|
||||||
wxWindow* panelViewport;
|
wxWindow* panelViewport;
|
||||||
|
wxStaticText* labelFrameCounter;
|
||||||
wxStaticText* labelUserPolycount;
|
wxStaticText* labelUserPolycount;
|
||||||
wxStaticText* labelFinalPolycount;
|
wxStaticText* labelFinalPolycount;
|
||||||
wxDesmumeListCtrl* listPolys;
|
wxDesmumeListCtrl* listPolys;
|
||||||
|
|
Loading…
Reference in New Issue