Walkabout Navigation Toolkit help thread
by Daniel Buckmaster · in General Add-On Discussion · 11/08/2012 (3:57 pm) · 223 replies
This is the official Walkabout help thread. If you need a hand installing or using Walkabout, please ask away! But before you do, I'd really appreciate if you could follow a couple of guidelines:
- Re-read the installation instructions! Seriously, I know how often I run into some ridiculous issue, then realise I'd missed a step or misread a line. It helps me and you!
- If you're reporting an error in compilation, please tell me the errors you get and what files they're in, if you can!
- If you're reporting a bug, please provide steps I can take to reproduce it!
Known issues
- Release 1 Patch 3: no navmeshes appear in the browser list in the nav editor. Fix
- Engine version > 3.5.1: project generator scripts are incorrect. Fix. Also, be sure not to include the Recast module in your project configuration!
- On platforms that are not Windows, you may need to replace FLT_MAX with F32_MAX. In fact this is probably a good idea in Windows as well.
About the author
Studying mechatronic engineering and computer science at the University of Sydney. Game development is probably my most time-consuming hobby!
#62
06/17/2013 (8:51 pm)
correct.
#63
Also, I assume no mesh shows up in the browser regardless of whether it's a new mesh created while the mission is running, or if the mesh is loaded from the mission file?
06/17/2013 (9:09 pm)
And I assume that same as Steve, you have a ServerNavMeshSet and it's got your NavMesh in it. Does calling NavTreeView.buildVisibleTree() in the console have any effect? What does NavTreeView.getItemCount() return?Also, I assume no mesh shows up in the browser regardless of whether it's a new mesh created while the mission is running, or if the mesh is loaded from the mission file?
#64
///first test: loading up without running the function
loading up a mission and calling NavTreeView.buildVisibleTree() places a blue-tiled 12382: Navmesh - Nav guibitmapcntrl (guessing there) in navigation that is clickable, but doesn't seem to perform any function (no console errors).
NavTreeView.getItemCount() after performing that step returns 2.
///loading up, running the function, performing the test
(should note that on calling the previously mentioned function the navigation pane is blank)
calling NavTreeView.buildVisibleTree() does not seem to perform differently.
NavTreeView.getItemCount() returns 2.
*edit: definitely looks like it's trying to reference something along the lines of a simset, but reviewing the map file directly does show it strictly as an isolated element within missiongroup.
*edit2: attempting manual creation of a simset labeled ServerNavMeshSet gave the following error: Object names must be unique and there is an existing SimSet Object with the name 'ServerNavMeshSet' (defined in an unknown file). Please choose another name.
06/17/2013 (9:24 pm)
Actually, mine's just a singular mesh floating free as the last entry in the missiongroup.///first test: loading up without running the function
loading up a mission and calling NavTreeView.buildVisibleTree() places a blue-tiled 12382: Navmesh - Nav guibitmapcntrl (guessing there) in navigation that is clickable, but doesn't seem to perform any function (no console errors).
NavTreeView.getItemCount() after performing that step returns 2.
///loading up, running the function, performing the test
(should note that on calling the previously mentioned function the navigation pane is blank)
calling NavTreeView.buildVisibleTree() does not seem to perform differently.
NavTreeView.getItemCount() returns 2.
*edit: definitely looks like it's trying to reference something along the lines of a simset, but reviewing the map file directly does show it strictly as an isolated element within missiongroup.
*edit2: attempting manual creation of a simset labeled ServerNavMeshSet gave the following error: Object names must be unique and there is an existing SimSet Object with the name 'ServerNavMeshSet' (defined in an unknown file). Please choose another name.
#65
Okay, this is going to take some effort :P.
06/17/2013 (10:09 pm)
Ah sorry - ServerNavMeshSet is automatically created by Walkabout. It's not visible anywhere in the editor, you'd have to check its existence in the console. It's a SimSet, not a SimGroup, so your NavMesh can belong to the MissionGroup and the ServerNavMeshSet at the same time.Okay, this is going to take some effort :P.
#66
On the off chance it was an order of operations error due to having rigidshapes using WalkaboutUpdateAll(), pushed nav to the top of the list. no dice.
likewise with
function RigidShapeData::onAdd(%this,%obj)
{
...
if (isObject(MissionCleanup)) WalkaboutUpdateAll(%obj);
else schedule(1000,GAME,"registerwithwalkabout", %obj);
...
}
function registerwithwalkabout(%obj)
{
if (isObject(MissionCleanup)) WalkaboutUpdateAll(%obj);
else schedule(1000,GAME,"registerwithwalkabout", %obj);
}
to give it additional time to push the mesh in first.
Only thing I can think of at this point that we're making heavy use of in terms of potentially oddball behavior.
06/17/2013 (10:18 pm)
Yeah, was tracing SimSet *NavMesh::getServerSet().On the off chance it was an order of operations error due to having rigidshapes using WalkaboutUpdateAll(), pushed nav to the top of the list. no dice.
likewise with
function RigidShapeData::onAdd(%this,%obj)
{
...
if (isObject(MissionCleanup)) WalkaboutUpdateAll(%obj);
else schedule(1000,GAME,"registerwithwalkabout", %obj);
...
}
function registerwithwalkabout(%obj)
{
if (isObject(MissionCleanup)) WalkaboutUpdateAll(%obj);
else schedule(1000,GAME,"registerwithwalkabout", %obj);
}
to give it additional time to push the mesh in first.
Only thing I can think of at this point that we're making heavy use of in terms of potentially oddball behavior.
#67
When you said the item was 'clickable, but doesn't seem to perform any function', you mean you didn't see any effect of clicking on the mesh? The visible mesh in the mission didn't change colour, and its properties didn't appear in the inspector?
Can I ask you to try installing Walkabout in a fresh project to see if the issue persists? I just really can't work out where it's going wrong, and it seems to work fine for me - if it's an issue with your code or another pack it'll be much harder to resolve the issue.
06/18/2013 (7:19 pm)
I don't imagine that's causing problems, the update functions just peek at the list of existing navmeshes.When you said the item was 'clickable, but doesn't seem to perform any function', you mean you didn't see any effect of clicking on the mesh? The visible mesh in the mission didn't change colour, and its properties didn't appear in the inspector?
Can I ask you to try installing Walkabout in a fresh project to see if the issue persists? I just really can't work out where it's going wrong, and it seems to work fine for me - if it's an issue with your code or another pack it'll be much harder to resolve the issue.
#68
Didn't see any effect when clicking the button added to the navigation panel after calling NavTreeView.buildVisibleTree() in terms of navmesh coloration, or gui entries filled out, and received no console errors.
Will try and grab a day to do a from-scratch repro if possible. (Kinda juggling about 3 different research tracks at present, so might be a day or two.) Mean time, incorporated 3rd party utilities include AFX, and Walkabout, with the rest being homebrew.
06/18/2013 (8:24 pm)
When you said the item was 'clickable, but doesn't seem to perform any function', you mean you didn't see any effect of clicking on the mesh? The visible mesh in the mission didn't change colour, and its properties didn't appear in the inspector?Didn't see any effect when clicking the button added to the navigation panel after calling NavTreeView.buildVisibleTree() in terms of navmesh coloration, or gui entries filled out, and received no console errors.
Will try and grab a day to do a from-scratch repro if possible. (Kinda juggling about 3 different research tracks at present, so might be a day or two.) Mean time, incorporated 3rd party utilities include AFX, and Walkabout, with the rest being homebrew.
#69
I have this exact same error on a stock installation of the latest dev branch of T3D MIT.
NavTreeView.buildVisibleTree();
Populates the Nav list with a non-clickable entry, it does seem to be the correct Nav in my mission, I only have one for now. It does highlight on mouse over.
NavTreeView.getItemCount();
returns 2
5284.build(true, false);
builds the nav mesh fine.
Cheers,
Andy
06/18/2013 (11:36 pm)
Hi,I have this exact same error on a stock installation of the latest dev branch of T3D MIT.
GuiControl::awaken: failed onWake for obj: 4119:GuiTreeViewCtrl (NavTreeView)
NavTreeView.buildVisibleTree();
Populates the Nav list with a non-clickable entry, it does seem to be the correct Nav in my mission, I only have one for now. It does highlight on mouse over.
NavTreeView.getItemCount();
returns 2
5284.build(true, false);
builds the nav mesh fine.
Cheers,
Andy
#70
06/19/2013 (5:35 am)
Oh dear. Thanks Andy for the confirmation. I'll have a look into that error and see what I can find out...
#71
07/02/2013 (5:53 am)
Daniel, any news on the fix?
#72
Sorry for this crowd-sourced debugging, it's definitely not how I'd prefer to be going about this. I'm just getting ideas popping into my head and I don't have a dev computer set up here!
EDIT: On the other hand, what the heck. I'm having coding withdrawal symptoms already... VS2012, here we come!
07/02/2013 (7:14 am)
Sorry Andy, I've been away from my dev environment and will be for another week and a half. Before I left, it was infuriating me though - though I didn't get to the stage of doing a complete fresh install, so maybe that's what needs to happen. If anyone wants to help me debug this remotely, can you stick a breakpoint on this line and see what's causing it to run? It will either be the case that mAwake is false, which seems silly, or onWake() failed. Which means... I'm not sure what. Probably that this code failed:bool GuiTreeViewCtrl::onWake()
{
if(!Parent::onWake() || !mProfile->constructBitmapArray())
return false;Which probably implies the second part failed, the profile bitmap array. Not sure what that has to do with the tree view though. Can someone check this line too?Sorry for this crowd-sourced debugging, it's definitely not how I'd prefer to be going about this. I'm just getting ideas popping into my head and I don't have a dev computer set up here!
EDIT: On the other hand, what the heck. I'm having coding withdrawal symptoms already... VS2012, here we come!
#73
callstack seems to be saying there's a scripted setvisible being set someplace related to "tools/navEditor/NavEditorGui.gui". Premature call maybe?
07/02/2013 (10:17 am)
mAwake is true, so yeah, it'd have to be the onWakecallstack seems to be saying there's a scripted setvisible being set someplace related to "tools/navEditor/NavEditorGui.gui". Premature call maybe?
#74
Or, possibly, it could be in NavEditorGui::onModeSelect in navEditorGui.cs
07/02/2013 (1:40 pm)
Having issues installing the DXSDK, strangely :P. I should be set up by tomorrow though. The setVisible may come from the entire editor itself being woken up and turned on. Not sure why that would count as coming from a .gui file though.Or, possibly, it could be in NavEditorGui::onModeSelect in navEditorGui.cs
#75
07/06/2013 (3:31 am)
Okay, I think I have something. Someone feel like testing this out? On line 123 of navEditor/NavEditorDlg.gui, change the first few lines of the object declaration to read:new GuiTreeViewCtrl(NavTreeView) {
canSaveDynamicFields = "0";
Enabled = "1";
isContainer = "1";
Profile = "ToolsGuiTreeViewProfile";I think it was just a matter of profile names changing. I just wanted to put this out there because I can do it faster than releasing a patch ;P.
#76
07/06/2013 (12:18 pm)
confirmed functional. much obliged.
#77
07/06/2013 (12:51 pm)
Thanks, sorry it took so long to figure this out. It must have been a case of me not noticing script changes had snuck into the templates, and hadn't been reflected in my test project. This will be in the next patch.
#78
07/09/2013 (12:49 am)
Brilliant, work perfectly now. Thanks for the fix.
#79
:P
lol, one word fix and all is well!
07/09/2013 (5:33 am)
That'sTools/navEditor/NavEditorGui.gui
:P
lol, one word fix and all is well!
#80
Yeah... software, right!?
07/09/2013 (5:35 am)
Technically:game/tools/navEditor/NavEditorGui.gui
Yeah... software, right!?
Torque Owner Daniel Buckmaster
T3D Steering Committee