Home    Features    Download    Screenshots    Manual    Reference    Forums    License    Contact    Blog   
 
 
  Forums
    FAQ    Search    Memberlist    Profile    Log in to check your private messages    Register    Log in   
Onscreen IDE & dynamic instant update [_v0.3.7_]
Goto page Previous  1, 2, 3, 4, 5, 6, 7
 
Post new topic   Reply to topic    Panda3D Forum Forum Index -> Code Snipplets
View previous topic :: View next topic  
Author Message
ynjh_jo



Joined: 18 Apr 2006
Posts: 1371
Location: Malang, Indonesia

PostPosted: Thu Nov 05, 2009 11:40 pm    Post subject: Reply with quote

I'll look into them and integrate your patch this weekend.
Rdb, if you're using latest CVS, try to pause the scene (the default key is PAUSE), it should fail too. It relies heavily on Dtool_* which is gone now, right ?

About the quotes, that's completely odd. Try to uncomment the print line in analyzeButtonStroke, both single and double quotes should be caught. Otherwise, maybe there's something wrong, deep within your build.
_________________
**** Coding is a great & useful way to keep my grey cells sparkling ****
--[[ the more heat, the more sweat, the more beats, .....the more we want it ]]--
Back to top
View user's profile Send private message Send e-mail Visit poster's website
rdb



Joined: 04 Dec 2006
Posts: 4557
Location: Netherlands

PostPosted: Fri Nov 06, 2009 8:02 am    Post subject: Reply with quote

Er, you must have misunderstood my blog post. The 'pandac' package is still there, and works exactly as it did. Only when you import Panda classes from the 'panda3d' package, they will not have the extension functions.

When I press Pause, I'm getting these problems:
Code:
Traceback (most recent call last):
  File "IDE.py", line 1203, in IDE_safeRun
    taskMgr._origRun()
  File "/usr/share/panda3d/direct/task/Task.py", line 482, in run
    self.step()
  File "/usr/share/panda3d/direct/task/Task.py", line 440, in step
    self.mgr.poll()
  File "/usr/share/panda3d/direct/showbase/EventManager.py", line 61, in eventLoopTask
    self.doEvents()
  File "/usr/share/panda3d/direct/showbase/EventManager.py", line 55, in doEvents
    processFunc(self.eventQueue.dequeueEvent())
  File "/usr/share/panda3d/direct/showbase/EventManager.py", line 124, in processEvent
    messenger.send(eventName)
  File "/usr/share/panda3d/direct/showbase/Messenger.py", line 325, in send
    self.__dispatch(acceptorDict, event, sentArgs, foundWatch)
  File "/usr/share/panda3d/direct/showbase/Messenger.py", line 410, in __dispatch
    method (*(extraArgs + sentArgs))
  File "IDE.py", line 1390, in IDE_toggleSceneActive
    IDE_pauseScene()
  File "IDE.py", line 1450, in IDE_pauseScene
    shootScene()
  File "IDE.py", line 1410, in shootScene
    renderFrame()
  File "IDE.py", line 1157, in renderFrame
    base.taskMgr.step()
  File "/usr/share/panda3d/direct/task/Task.py", line 440, in step
    self.mgr.poll()
AssertionError: You may not recursively invoke the TaskManager from within a task at line 1226 of panda/src/event/asyncTaskChain.cxx
pause
Traceback (most recent call last):
  File "IDE.py", line 11389, in <module>
     IDErun()
  File "IDE.py", line 1215, in IDE_safeRun
     IDE_alertUserNcontinue()
  File "IDE.py", line 7699, in IDE_alertUserNcontinue
     IDE_safeRun()
  File "IDE.py", line 1215, in IDE_safeRun
     IDE_alertUserNcontinue()
  File "IDE.py", line 7696, in IDE_alertUserNcontinue
     IDE_processException( traceback.format_exc() )
  File "IDE.py", line 6339, in IDE_processException
     splitTaskErrMsg=LOG.taskError.split()
AttributeError :  'NoneType' object has no attribute 'split'


Also, I'm getting this error for the sample programs that use task.time:
Code:
  File "/home/pro-rsoft/Projects/panda3d-borked/samples/Ball-in-Maze/Tut-Ball-in-Maze.py", line 254, in rollTask
     dt = task.time - task.last
AttributeError :  'libpanda.PythonTask' object has no attribute 'time'
:task(error): Exception occurred in PythonTask rollTask


Weird, because when I run it outside of the IDE, it runs fine. (Also, in the background, I can see it fine. Twice, though.)
_________________
I was formerly known as pro-rsoft
Back to top
View user's profile Send private message Send e-mail
rdb



Joined: 04 Dec 2006
Posts: 4557
Location: Netherlands

PostPosted: Fri Nov 06, 2009 8:13 am    Post subject: Reply with quote

About the quotes and double-quotes not working, it appears to be a Panda bug. I'm investigating.
_________________
I was formerly known as pro-rsoft
Back to top
View user's profile Send private message Send e-mail
ynjh_jo



Joined: 18 Apr 2006
Posts: 1371
Location: Malang, Indonesia

PostPosted: Fri Nov 06, 2009 6:11 pm    Post subject: Reply with quote

Code:
File "IDE.py", line 1410, in shootScene
    renderFrame()
File "IDE.py", line 1157, in renderFrame
    base.taskMgr.step()

I think that step() call is yours, I don't use taskMgr's anymore.
See,
rdb wrote:
Replacing the "renderFrame" function in IDE.py with something that calls base.taskMgr.step a hundred times works in some cases, but not everywhere.


rdb wrote:
You might want to add a hook somewhere that your IDE stuff is only created once the window has been opened, or something like that.

I've made progress on it, by splitting IDE.py into 2 modules. The core module is imported after the first window-event.

rdb wrote:
when python files are specified on the command-line, instead of showing the welcome window, the IDE should open all python files directly as tabs.

Maybe not directly, since you still have to choose one of them to be the main file, so it should open the "Open Files" window with those files fed to it. It should support wildcards too.
Is it good enough for you ?

rdb wrote:
Also, I'm getting this error for the sample programs that use task.time

I've seen that too in Asteroid, but that's only if it's the first main file. Otherwise, it's fine.

rdb wrote:
Also, in the background, I can see it fine. Twice, though.

Of course it's TWICE if you don't block World class instantiation. Read more about it in my 1st post.
_________________
**** Coding is a great & useful way to keep my grey cells sparkling ****
--[[ the more heat, the more sweat, the more beats, .....the more we want it ]]--
Back to top
View user's profile Send private message Send e-mail Visit poster's website
rdb



Joined: 04 Dec 2006
Posts: 4557
Location: Netherlands

PostPosted: Sat Nov 07, 2009 2:12 am    Post subject: Reply with quote

ynjh_jo wrote:
Maybe not directly, since you still have to choose one of them to be the main file, so it should open the "Open Files" window with those files fed to it. It should support wildcards too.
Is it good enough for you ?

Possible, of you could make the first file that's passed the main file. Or when an -m option is passed on the command-line, the file behind it would be the main file.

Wildcards are automatically expanded by the shell before being passed to the program, AFAIK. Otherwise a glob.glob() would fix it.
_________________
I was formerly known as pro-rsoft
Back to top
View user's profile Send private message Send e-mail
ynjh_jo



Joined: 18 Apr 2006
Posts: 1371
Location: Malang, Indonesia

PostPosted: Sat Nov 07, 2009 3:15 am    Post subject: Reply with quote

Alright then, without -m, it'll open "Open Files" window, or use the first file, depends on a config.
_________________
**** Coding is a great & useful way to keep my grey cells sparkling ****
--[[ the more heat, the more sweat, the more beats, .....the more we want it ]]--
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ynjh_jo



Joined: 18 Apr 2006
Posts: 1371
Location: Malang, Indonesia

PostPosted: Sun Nov 08, 2009 6:56 am    Post subject: Reply with quote

[_v0.3.6_]
[X]
fixed completer by differentiating dictionaries and instances
[X] fixed lots of bugs if there is no open file
[X] key down output is commented out
[X] added -fPIC option to g++ in TextDrawer compile script
[X] the IDE core code is executed after the first "window-event" event
[X] files passed to IDE_STARTER will be opened directly without showing the welcome screen. The first python file will be the main file.
[X] if the IDE is FULLY CREATED and running, all files passed to IDE_STARTER or using welcome screen will be opened by the already running instance of the IDE.

I dropped -m since getopt wants options in front, so the main file would be the first one anyway.
_________________
**** Coding is a great & useful way to keep my grey cells sparkling ****
--[[ the more heat, the more sweat, the more beats, .....the more we want it ]]--
Back to top
View user's profile Send private message Send e-mail Visit poster's website
cyberdarklore



Joined: 07 Nov 2009
Posts: 13

PostPosted: Tue Nov 10, 2009 6:44 am    Post subject: Reply with quote

Your IDE brings me great inspiration as too what can be done in Panda3d & Python Very Happy , I'm new to both and trying to get my footings..... going to download and use it on my rig, complication is good as long as it is documented. Shocked

=->To any one who can answer this is there any reliable way to convert an egg back into a format importable by Blender while retaining and not loosing anything in the conversion? Using (.flc)OpenFlight Format seems to work for the model and UV at least.

=->And by the way while reading down this thread i found a reference to ubuntu Embarassed , I have seen this on other threads also, this coming from a person that has only been exposed to windows(PC) and has seen a mac in passing(just looked at one, some one was trying to impress me Crying or Very sad , now I'm a little sad....), is ubuntu an operating system and if it is to what platform?
Back to top
View user's profile Send private message
ynjh_jo



Joined: 18 Apr 2006
Posts: 1371
Location: Malang, Indonesia

PostPosted: Tue Nov 10, 2009 8:55 am    Post subject: Reply with quote

Ubuntu belongs to the Linux side of the world.
ubuntu.com
_________________
**** Coding is a great & useful way to keep my grey cells sparkling ****
--[[ the more heat, the more sweat, the more beats, .....the more we want it ]]--
Back to top
View user's profile Send private message Send e-mail Visit poster's website
ThomasEgi



Joined: 28 Jul 2006
Posts: 1384
Location: Germany,Koblenz

PostPosted: Tue Nov 10, 2009 8:56 am    Post subject: Reply with quote

@ cyberdarklore: i didnt know panda can export flc files??

offtopic but since information was requested:
about ubuntu: it's linux-based operating system. so it's unix-like. to be more precise it's a linux distribution. but i doubt you care about the details. it's freely available for download for a wide range of system architectures, including x86 x86_64 , arm , and many more.
you can get it on www.ubuntu.com , instructions to download, and live-cd cration are there. you can run it off the CD without touchging your windows installation (it's rather slow from cd but you can get the idea what it looks and feels like by default, btw you can change look and feel freely)
panda currently supports windows, mac and linux. and there are precompiled packages for ubuntu linux,too. so you can run your panda applications there just like on windows.
if you'r further intrested you might aswell join the #panda3d irc channel on freenode so we can have a chat there Smile or google for the terms: linux, ubuntu , distribution , open source.
_________________
rig: dell inspiron 1720; ubuntu 9.04_64 ;panda 1.6.2
may a catgirl be with you. nyaan nyan~~ ^.^
Back to top
View user's profile Send private message
cyberdarklore



Joined: 07 Nov 2009
Posts: 13

PostPosted: Tue Nov 10, 2009 9:20 am    Post subject: Reply with quote

The Panda3D version 1.6.2 that I'm using has the egg2flt.exe tool in the bin directory and the version of Blender is currently use 2.49b allows you to import .FLT models, from what i can see the model is not broken geometry wise, but they show up completely black when displayed in blender, and the UVs seem to be intact for what it imports.
other formats that Blender supports with out plugins and Panda3D converts using bin tools are:
(.dxf)Autodesk DXF, no UV on Import but model seems intact a few missing faces here and there.
(.x)DirectX...Dosent work for me imported model looks like it went through a blender Razz
(.flt)Open Flight, The one were talking about, only imports one object from model maybe that is all thats there after egg2flt.exe is my guess? whould have to see if a seperate model viewer can find the missing objects in .flt file.

[edited](.lwo)LightWave, can convert 2egg but no egg2lwo.exe app yet[edited]

I havnt tryed any import plugins for blender to import any other format panda3D tools support like (.maya) Don't think there will ever be a plugin for blender, but who knows we could always cross are fingers. Wink


Cool And thanks for solving my ubuntu quandary, Ill look into it sound like a nice alternative shell to install on my system as a duel boot.



Shocked On a side note the only other avatar i have found that compares too yours is this, Both brings a smile to my face. Laughing
Back to top
View user's profile Send private message
ynjh_jo



Joined: 18 Apr 2006
Posts: 1371
Location: Malang, Indonesia

PostPosted: Fri Nov 20, 2009 4:50 am    Post subject: Reply with quote

I've found task's "time" attribute error trigger.
It's the PauseResume module tries to add the function back to taskMgr, so you used to get a brand new task each time you resume.
I've implemented better solution for this, so here it is.

[_v0.3.7_]
[X]
fixed log's notify-check task name so it won't be destroyed
[X] improved PauseResume module to pause & resume tasks better than ever, by temporarily moving them to a special task chain with 0 frameBudget, so they won't be ran at all, and the uponDeath function is not called on pause
[X] if after running your main module, there isn't any usable window yet, a dialog will pop up offering you to create a default one. If you'd like to create one by your code, just ignore this dialog. It will be closed automatically after the window is created.
[X] all user-created events accepted by ShowBase (base.accept) will also be removed on scene cleanup
_________________
**** Coding is a great & useful way to keep my grey cells sparkling ****
--[[ the more heat, the more sweat, the more beats, .....the more we want it ]]--
Back to top
View user's profile Send private message Send e-mail Visit poster's website
rdb



Joined: 04 Dec 2006
Posts: 4557
Location: Netherlands

PostPosted: Fri Nov 20, 2009 10:35 am    Post subject: Reply with quote

Great, thanks!
Still having some trouble when editing the code, saving and pressing F11 though. This is my log:
http://pastebin.com/f62a6e377
_________________
I was formerly known as pro-rsoft
Back to top
View user's profile Send private message Send e-mail
ynjh_jo



Joined: 18 Apr 2006
Posts: 1371
Location: Malang, Indonesia

PostPosted: Fri Nov 20, 2009 11:19 am    Post subject: Reply with quote

What is IDErun() doing in Carousel sample ?
Did you change run() to it ? And why ?
_________________
**** Coding is a great & useful way to keep my grey cells sparkling ****
--[[ the more heat, the more sweat, the more beats, .....the more we want it ]]--
Back to top
View user's profile Send private message Send e-mail Visit poster's website
rdb



Joined: 04 Dec 2006
Posts: 4557
Location: Netherlands

PostPosted: Fri Nov 20, 2009 11:57 am    Post subject: Reply with quote

Oops. Changed it because of this console message:
Code:
INFO: run() is not here, use IDErun() instead.

So I figured I had to replace my run() by IDErun(). But everything seems to work now.

May I suggest a small enhancement - besides being able to specify the main file to run, it would be nice if I could specify the console arguments to pass to the program as well.

Also, do you happen to do funny stuff with the model-path or so, because two of the more complex games I run fail to load something like a font or a shader (they both have custom resource-loaders I think). It is not a CWD issue as I can run the games from any working directory.
Or maybe it's because sys.argv[0] is not taken relative to the right dir? Maybe it's an idea to make that absolute to be certain that it works.
_________________
I was formerly known as pro-rsoft
Back to top
View user's profile Send private message Send e-mail
ynjh_jo



Joined: 18 Apr 2006
Posts: 1371
Location: Malang, Indonesia

PostPosted: Fri Nov 20, 2009 1:17 pm    Post subject: Reply with quote

That message is only meaningful when you're at python prompt.
That's why I don't mention it at all in my 1st post, and only use INFO level, not ERROR or WARNING.

Yes I clear model path when setting a file to be the main module, in IDE_setAsMainFile. And then the cwd is appended. That works with all manual shader samples.
How do you define your modelpaths, using local .prc or by code ?
One fail case I know is GMT's heightfield image loading.
_________________
**** Coding is a great & useful way to keep my grey cells sparkling ****
--[[ the more heat, the more sweat, the more beats, .....the more we want it ]]--
Back to top
View user's profile Send private message Send e-mail Visit poster's website
rdb



Joined: 04 Dec 2006
Posts: 4557
Location: Netherlands

PostPosted: Fri Nov 20, 2009 2:24 pm    Post subject: Reply with quote

One project does it via a local .prc, one other does it via code, I think.
Could the IDE maybe better prepend to the model path, rather than replace it?
_________________
I was formerly known as pro-rsoft
Back to top
View user's profile Send private message Send e-mail
Display posts from previous:   
Post new topic   Reply to topic    Panda3D Forum Forum Index -> Code Snipplets All times are GMT - 5 Hours
Goto page Previous  1, 2, 3, 4, 5, 6, 7
Page 7 of 7

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group
screenshot
Code3D is a tool for creating virtual training scenarios.
screenshot
In Guiding Lights, the audience steers a moth to safety
screenshot
Keepsake: a short interactive movie, themes of loss