CobbleStones
CobbleStones
Have demo to download... anyopne wanna help me get SourceForge to work?
Seven
Seven
What kind of problems are you having?
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
Easier to host, but harder to download.JP wrote:Do you need to use sourceforge? There's lots of easier ways to host a file for download such as rapidshare, megaupload, mediafire etc.
There are some good ones out there though that allow direct links.
ShadowMapping for Irrlicht!: Get it here
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
Need help? Come on the IRC!: #irrlicht on irc://irc.freenode.net
Here is a demo of mine that I can use some help with.... please stay with me as I have a few questions and thought that you seeing the actual affects might help you help me
YOU NEED physx installed on your system to use this.
http://www.mediafire.com/?yzjvwn55mdp
there are many shortcuts in the demo that I cant explain easily, but mostly the controls are
Escape - brings you back to the main menu
arrow keys to move around
sometimes wasd will move
sometimes wasd will 'do stuff'
use arrows to move camera to be safe
right click to switch between move mode and not move mode
middle mouse NORMALLY shoots something out. not all levels, but most.
select a level to look at
Editor - spend your time in here, the others are just testing
Physx test - clipped in this demo
Physx sample boxes - functional, screen gives commands
Physx samplecloth - clipped in this demo
mesh viewer - i needed a way to see the frames in a .x file is all
if you create an object, it will appear at 0,0,0 with a scale of 1,1,1
you can change that by clicking the 'use camera info' button to create the object at the camera coordinates. You can also put in different scale values, for example, the CSObject_Box is very small so use a scale of 5,5,5 to see it better.
last but not least, when moving an object, hold the shift key and you restrict it's movement to vertical movement.
warning - you can move the quake world, but wait for it :0 it has to rebuild the physx stuff each time it is moved so it take a second :0
if you want something cool, shoot a bunch of balls at the quake world and let them lie around. then select the wuake world, hold the shift key, and move the world down. all of the items know it moved. anyhow, back to the questions....
QUESTION #1
when I create a modal messagebox, the app level receiver still gets gui events sent to it, which are then routed to the level. I dont understand this action and could use some help getting around it. When the messagebox is active, I cannot click on any other gui elements, but the mouse button down event is still sent to the receiver, and then routed to the level, which uses the event to select an object for editing. notice that you can select objects and move them even with a modal messagebox active.
oh, select the 'CREATE' tab
select CSObject_Test1
click the CREATE OBJECT button
the object gets created,
notice a little gui button appeared at top left of screen. it was put there by the object you just created.
when you click it, the message is routed to the object that created the button, and that object can react to it. in this case, the test1 object will do this
since the messagebox is modal, why can i still select objects? i woudl think that all messages qould be routed to the modal window and then lost if that window didnt want the message.
.
.
.
.
.
.
QUESTION #2
Why does the dwarf animatedscenenode sometimes not show the debug info correctly. many times it is behind the floor and sometimes it is as expected? Click on the dwarf to see what i mean.
any help on the questions is appreciated.
Seven
YOU NEED physx installed on your system to use this.
http://www.mediafire.com/?yzjvwn55mdp
there are many shortcuts in the demo that I cant explain easily, but mostly the controls are
Escape - brings you back to the main menu
arrow keys to move around
sometimes wasd will move
sometimes wasd will 'do stuff'
use arrows to move camera to be safe
right click to switch between move mode and not move mode
middle mouse NORMALLY shoots something out. not all levels, but most.
select a level to look at
Editor - spend your time in here, the others are just testing
Physx test - clipped in this demo
Physx sample boxes - functional, screen gives commands
Physx samplecloth - clipped in this demo
mesh viewer - i needed a way to see the frames in a .x file is all
if you create an object, it will appear at 0,0,0 with a scale of 1,1,1
you can change that by clicking the 'use camera info' button to create the object at the camera coordinates. You can also put in different scale values, for example, the CSObject_Box is very small so use a scale of 5,5,5 to see it better.
last but not least, when moving an object, hold the shift key and you restrict it's movement to vertical movement.
warning - you can move the quake world, but wait for it :0 it has to rebuild the physx stuff each time it is moved so it take a second :0
if you want something cool, shoot a bunch of balls at the quake world and let them lie around. then select the wuake world, hold the shift key, and move the world down. all of the items know it moved. anyhow, back to the questions....
QUESTION #1
when I create a modal messagebox, the app level receiver still gets gui events sent to it, which are then routed to the level. I dont understand this action and could use some help getting around it. When the messagebox is active, I cannot click on any other gui elements, but the mouse button down event is still sent to the receiver, and then routed to the level, which uses the event to select an object for editing. notice that you can select objects and move them even with a modal messagebox active.
oh, select the 'CREATE' tab
select CSObject_Test1
click the CREATE OBJECT button
the object gets created,
notice a little gui button appeared at top left of screen. it was put there by the object you just created.
when you click it, the message is routed to the object that created the button, and that object can react to it. in this case, the test1 object will do this
Code: Select all
// all CSObjects have the ability to add gui elements to the game screen.
// when those elements are acted upon, the event gets sent back to the CSObject
virtual bool OnEvent(const SEvent& event)
{
switch(event.EventType)
{
case EET_GUI_EVENT :
{
switch (event.GUIEvent.EventType)
{
case EGET_BUTTON_CLICKED:
{
switch (event.GUIEvent.Caller->getID())
{
case ID_TEST777 : m_Level->m_App->m_Engine->m_Gui->addMessageBox(L"Object Message",L"you clicked on MY button!",true); break;
} break;
} break;
}
} break;
}
// we did not want this message
return false;
}
since the messagebox is modal, why can i still select objects? i woudl think that all messages qould be routed to the modal window and then lost if that window didnt want the message.
.
.
.
.
.
.
QUESTION #2
Why does the dwarf animatedscenenode sometimes not show the debug info correctly. many times it is behind the floor and sometimes it is as expected? Click on the dwarf to see what i mean.
any help on the questions is appreciated.
Seven
this morning I fixed bug in my program that sounds like this:
"since the messagebox is modal, why can i still select objects? i woudl think that all messages qould be routed to the modal window and then lost if that window didnt want the message. "
Gui elements will ignore mouse clicks if modal window is active.
Your world won't if you don't tell it to.
So grab a mouse click event in your GUI manager class. Check if modal is created (my_modal_wnd != NULL). If it is, return true! Don't do anything, just return true.
Then check what your GUI manager OnEvent returned, if it returned true, dont call you world editor on event function.
"since the messagebox is modal, why can i still select objects? i woudl think that all messages qould be routed to the modal window and then lost if that window didnt want the message. "
Gui elements will ignore mouse clicks if modal window is active.
Your world won't if you don't tell it to.
So grab a mouse click event in your GUI manager class. Check if modal is created (my_modal_wnd != NULL). If it is, return true! Don't do anything, just return true.
Then check what your GUI manager OnEvent returned, if it returned true, dont call you world editor on event function.
I was thinking along the same lines as you, but I really hate to have to hack a Modal varaible into my system. I even went so far as to write some seriously ugly code like this
if (getgui()->getfocus()->getparent()->gettypename(), "messageBox")
{
}
but ARRRRGGGGGGHHHHHHHH............ even if this worked (it does somewhat) the messagebox deosnt stay the focus. the button IN the messagebox becomes the focus. so again.... ARRRRRRGGGGGGHHHHH
I can understand not wanting to download the app and it' s ok, but I was really hoping that someone would see it and pop the answer into my head for me . The physx install is done through drivers on th esystem so a dll version isnt available.
According to the forum posts, It seems that this Modal issue has been around for a bit. I will spend some time figurig this out and then hopefully, a patch can be applied.
if (getgui()->getfocus()->getparent()->gettypename(), "messageBox")
{
}
but ARRRRGGGGGGHHHHHHHH............ even if this worked (it does somewhat) the messagebox deosnt stay the focus. the button IN the messagebox becomes the focus. so again.... ARRRRRRGGGGGGHHHHH
I can understand not wanting to download the app and it' s ok, but I was really hoping that someone would see it and pop the answer into my head for me . The physx install is done through drivers on th esystem so a dll version isnt available.
According to the forum posts, It seems that this Modal issue has been around for a bit. I will spend some time figurig this out and then hopefully, a patch can be applied.