Revision: 33804
http://crystal.svn.sourceforge.net/crystal/?rev=33804&view=rev
Author: mgist
Date: 2010-03-20 13:07:55 +0000 (Sat, 20 Mar 2010)
Log Message:
-----------
- Fixed the file dialog not having the correct path when -C is specified to viewmesh.
- Misc cleanup.
Modified Paths:
--------------
CS/trunk/apps/tools/viewmesh/viewmesh.cpp
Modified: CS/trunk/apps/tools/viewmesh/viewmesh.cpp
===================================================================
--- CS/trunk/apps/tools/viewmesh/viewmesh.cpp 2010-03-20 04:09:04 UTC (rev 33803)
+++ CS/trunk/apps/tools/viewmesh/viewmesh.cpp 2010-03-20 13:07:55 UTC (rev 33804)
@@ -377,21 +377,34 @@
const char* scaleTxt = cmdline->GetOption("Scale");
const char* roomSize = cmdline->GetOption("RoomSize");
const char* realPath = cmdline->GetOption("R");
- const char* vfsDir = cmdline->GetOption("C");
+ csString vfsDir = cmdline->GetOption("C");
+
if (realPath)
{
vfs->Mount ("/tmp/viewmesh", realPath);
vfs->ChDir ("/tmp/viewmesh");
}
- if (vfsDir)
+ if(vfsDir.IsEmpty() && meshfilename)
{
- vfs->ChDir (vfsDir);
+ vfsDir = csString(meshfilename).Slice(0, csString(meshfilename).FindLast('/'));
}
- else if(meshfilename)
+
+ if (!vfsDir.IsEmpty())
{
- vfs->ChDir(csString(meshfilename).Slice(0, csString(meshfilename).FindLast('/')));
+ if(!vfs->ChDir (vfsDir))
+ {
+ ReportError("Cannot change to path: %s\n", vfsDir);
+ }
+ else
+ {
+ // Update StdDlg path.
+ CEGUI::WindowManager* winMgr = cegui->GetWindowManagerPtr ();
+ CEGUI::Window* window = winMgr->getWindow("StdDlg/Path");
+ window->setProperty("Text", vfs->GetCwd());
+ StdDlgUpdateLists(vfs->GetCwd());
+ }
}
if (texturefilename && texturename)
@@ -693,51 +706,49 @@
}
}
- if (!factwrap) return;
+ if (!factwrap)
+ return;
- if (factwrap)
+ csRef<iMeshObjectFactory> fact = factwrap->GetMeshObjectFactory();
+ if (fact)
{
- csRef<iMeshObjectFactory> fact = factwrap->GetMeshObjectFactory();
- if (fact)
+ csVector3 v(0, 0, 0);
+
+ if(!spritewrapper)
+ spritewrapper = engine->CreateMeshWrapper(factwrap, "MySprite", room, v);
+ else
{
- csVector3 v(0, 0, 0);
-
- if(!spritewrapper)
- spritewrapper = engine->CreateMeshWrapper(factwrap, "MySprite", room, v);
- else
- {
- spritewrapper->GetMovable()->SetSector(room);
- spritewrapper->GetMovable()->SetPosition(v);
- spritewrapper->GetMovable()->UpdateMove();
- }
+ spritewrapper->GetMovable()->SetSector(room);
+ spritewrapper->GetMovable()->SetPosition(v);
+ spritewrapper->GetMovable()->UpdateMove();
+ }
- if (AnimeshAsset::Support(spritewrapper))
- {
- asset.AttachNew(new AnimeshAsset(GetObjectRegistry(), spritewrapper));
- }
+ if (AnimeshAsset::Support(spritewrapper))
+ {
+ asset.AttachNew(new AnimeshAsset(GetObjectRegistry(), spritewrapper));
+ }
#ifdef CS_HAVE_CAL3D
- else if (Cal3DAsset::Support(spritewrapper))
- {
- asset.AttachNew(new Cal3DAsset(GetObjectRegistry(), spritewrapper));
- }
+ else if (Cal3DAsset::Support(spritewrapper))
+ {
+ asset.AttachNew(new Cal3DAsset(GetObjectRegistry(), spritewrapper));
+ }
#endif
- else if (Sprite3DAsset::Support(spritewrapper))
- {
- asset.AttachNew(new Sprite3DAsset(GetObjectRegistry(), spritewrapper));
- }
- else if (GenmeshAsset::Support(spritewrapper))
- {
- asset.AttachNew(new GenmeshAsset(GetObjectRegistry(), spritewrapper));
- }
- else if (ParticlesAsset::Support(spritewrapper))
- {
- asset.AttachNew(new ParticlesAsset(GetObjectRegistry(), spritewrapper));
- }
- else
- {
- return;
- }
+ else if (Sprite3DAsset::Support(spritewrapper))
+ {
+ asset.AttachNew(new Sprite3DAsset(GetObjectRegistry(), spritewrapper));
}
+ else if (GenmeshAsset::Support(spritewrapper))
+ {
+ asset.AttachNew(new GenmeshAsset(GetObjectRegistry(), spritewrapper));
+ }
+ else if (ParticlesAsset::Support(spritewrapper))
+ {
+ asset.AttachNew(new ParticlesAsset(GetObjectRegistry(), spritewrapper));
+ }
+ else
+ {
+ return;
+ }
}
ScaleSprite (scale);
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|