GoW PyPRP 1.3.1

Announcements and discussion regarding any projects related to Cyan Worlds' Plasma Engine including (but not limited to) CyanWorlds.com Engine, Drizzle, OfflineKI, PyPRP, and libHSPlasma.

GoW PyPRP 1.3.1

Postby Paradox » Mon Apr 14, 2008 8:36 pm

The PyPRP Development Team has decided to release a new version of the Blender Plasma plugin.

New features include:
  • Projection Layer Lamps
  • New SoftVolume support
  • AlcScript support for SoftVolumes (simple and complex)
  • SoftVolume support for lighting and sounds
  • VisRegion support
  • Better Layer Animation control
  • Support for Animated Stencil Layers
  • Fixes for Sounds
  • ... and much more

You can always grab the latest plugin at http://www.guildofwriters.com/pyprp/latest.zip.

The 1.3.1 release can also be found at http://www.guildofwriters.com/pyprp/gow-pyprp-1.3.1.zip.
"And one day I woke to find the future held no place for me. I was unwanted in a world, that with my hands I'd helped to build. Where once was honesty and pride, I now stand broken and alone."
Paradox
 
Posts: 1261
Joined: Fri Sep 28, 2007 6:48 pm
Location: Canada

Re: GoW PyPRP 1.3.1

Postby Grogyan » Mon Apr 14, 2008 11:13 pm

Loads of features for a 0.0.1 version increase?

Thanks anyway you guys :)
Better to have loved and lost than never to have loved at all
User avatar
Grogyan
 
Posts: 1203
Joined: Thu Oct 11, 2007 1:27 am

Re: GoW PyPRP 1.3.1

Postby andylegate » Tue Apr 15, 2008 3:41 am

Thank you guys!
"I'm still trying to find the plKey for Crud!"
Image
Blender Age Creation Tutorials
3DS Max Age Creation Tutorials
User avatar
andylegate
 
Posts: 2348
Joined: Mon Oct 01, 2007 7:47 am

Re: GoW PyPRP 1.3.1

Postby andylegate » Tue Apr 15, 2008 6:10 am

Okay, just got my first error upon trying to export with this new version. Here is what the console said:

Code: Select all
    - type: activator
      activators:
        - type: picking
    - type: objectinbox
      satisfied: true
    - type: facing
      satisfied: true
      directional: true
  actions:
    - type: pythonfile
      ref: $AutoClick

Resulting Code for .logic.actions:
- type: pythonfile
  tag: AutoClick
  pythonfile:
      file: Zephyr_CoveBookGUI
      parameters:
        - type: activator
          ref: logicmod:$AutoClick
        - type: string
          value: jishinjournal

Quickscripted jishinjournal
To: {'quickscript': {'simpleclick': {'region': 'jishinjournalreg', 'pythonfile':
 'Zephyr_CoveBookGUI'}}, 'logic': {'modifiers': [{'cursor': 'poised', 'tag': 'Au
toClick', 'flags': ['localelement'], 'activators': [{'type': 'objectinvolume', '
remote': 'jishinjournalreg', 'triggers': ['any']}], 'conditions': [{'activators'
: [{'type': 'picking'}], 'type': 'activator'}, {'type': 'objectinbox', 'satisfie
d': True}, {'type': 'facing', 'satisfied': True, 'directional': True}], 'actions
': [{'type': 'pythonfile', 'ref': '$AutoClick'}]}], 'actions': [{'tag': 'AutoCli
ck', 'type': 'pythonfile', 'pythonfile': {'file': 'Zephyr_CoveBookGUI', 'paramet
ers': [{'type': 'activator', 'ref': 'logicmod:$AutoClick'}, {'type': 'string', '
value': 'jishinjournal'}]}}]}, 'physical': {'physlogic': 'detect'}}

  [QuickScript - Simple Clickable]
Resulting Code for .logic.modifiers:
- tag: AutoClick
  cursor: poised
  flags:
    - localelement
  activators:
    - type: objectinvolume
      remote: agereg
      triggers:
        - any
  conditions:
    - type: activator
      activators:
        - type: picking
    - type: objectinbox
      satisfied: true
    - type: facing
      satisfied: true
      directional: true
  actions:
    - type: pythonfile
      ref: $AutoClick

Resulting Code for .logic.actions:
- type: pythonfile
  tag: AutoClick
  pythonfile:
      file: Zephyr_CoveBookGUI
      parameters:
        - type: activator
          ref: logicmod:$AutoClick
        - type: string
          value: agejournal

Quickscripted agejournal
To: {'quickscript': {'simpleclick': {'region': 'agereg', 'pythonfile': 'Zephyr_C
oveBookGUI'}}, 'logic': {'modifiers': [{'cursor': 'poised', 'tag': 'AutoClick',
'flags': ['localelement'], 'activators': [{'type': 'objectinvolume', 'remote': '
agereg', 'triggers': ['any']}], 'conditions': [{'activators': [{'type': 'picking
'}], 'type': 'activator'}, {'type': 'objectinbox', 'satisfied': True}, {'type':
'facing', 'satisfied': True, 'directional': True}], 'actions': [{'type': 'python
file', 'ref': '$AutoClick'}]}], 'actions': [{'tag': 'AutoClick', 'type': 'python
file', 'pythonfile': {'file': 'Zephyr_CoveBookGUI', 'parameters': [{'type': 'act
ivator', 'ref': 'logicmod:$AutoClick'}, {'type': 'string', 'value': 'agejournal'
}]}}]}, 'physical': {'physlogic': 'detect'}}

  [QuickScript - Footstep]
Quickscripted FootStepRgn
To: {'logic': {'modifiers': [{'flags': ['multitrigger'], 'activators': [{'type':
 'objectinvolume'}], 'tag': 'Enter_Ft', 'conditions': [{'direction': 'enter', 't
ype': 'volumesensor', 'satisfied': True}], 'actions': [{'type': 'responder', 're
f': '$FootSnd'}]}, {'flags': ['multitrigger'], 'activators': [{'type': 'objectin
volume'}], 'tag': 'Exit_Ft', 'conditions': [{'direction': 'exit', 'type': 'volum
esensor', 'satisfied': True}], 'actions': [{'type': 'responder', 'ref': '$FootSn
d'}]}], 'actions': [{'tag': 'FootSnd', 'type': 'responder', 'responder': {'state
s': [{'waittocmd': 0, 'cmds': [{'type': 'armatureeffectmsg', 'waiton': -1, 'para
ms': {'surface': 'stone', 'append': False}}], 'nextstate': 0}], 'flags': ['detec
ttrigger'], 'curstate': 0}}]}}

  [QuickScript - Simple Clickable]
Resulting Code for .logic.modifiers:
- tag: AutoClick
  cursor: poised
  flags:
    - localelement
  activators:
    - type: objectinvolume
      remote: andyreg
      triggers:
        - any
  conditions:
    - type: activator
      activators:
        - type: picking
    - type: objectinbox
      satisfied: true
    - type: facing
      satisfied: true
      directional: true
  actions:
    - type: pythonfile
      ref: $AutoClick

Resulting Code for .logic.actions:
- type: pythonfile
  tag: AutoClick
  pythonfile:
      file: Zephyr_CoveBookGUI
      parameters:
        - type: activator
          ref: logicmod:$AutoClick
        - type: string
          value: andyjournal

Quickscripted andyjournal
To: {'quickscript': {'simpleclick': {'region': 'andyreg', 'pythonfile': 'Zephyr_
CoveBookGUI'}}, 'logic': {'modifiers': [{'cursor': 'poised', 'tag': 'AutoClick',
 'flags': ['localelement'], 'activators': [{'type': 'objectinvolume', 'remote':
'andyreg', 'triggers': ['any']}], 'conditions': [{'activators': [{'type': 'picki
ng'}], 'type': 'activator'}, {'type': 'objectinbox', 'satisfied': True}, {'type'
: 'facing', 'satisfied': True, 'directional': True}], 'actions': [{'type': 'pyth
onfile', 'ref': '$AutoClick'}]}], 'actions': [{'tag': 'AutoClick', 'type': 'pyth
onfile', 'pythonfile': {'file': 'Zephyr_CoveBookGUI', 'parameters': [{'type': 'a
ctivator', 'ref': 'logicmod:$AutoClick'}, {'type': 'string', 'value': 'andyjourn
al'}]}}]}, 'physical': {'physlogic': 'detect'}}

  [QuickScript - Footstep]
Quickscripted beachfootstp5
To: {'logic': {'modifiers': [{'flags': ['multitrigger'], 'activators': [{'type':
 'objectinvolume'}], 'tag': 'Enter_Ft', 'conditions': [{'direction': 'enter', 't
ype': 'volumesensor', 'satisfied': True}], 'actions': [{'type': 'responder', 're
f': '$FootSnd'}]}, {'flags': ['multitrigger'], 'activators': [{'type': 'objectin
volume'}], 'tag': 'Exit_Ft', 'conditions': [{'direction': 'exit', 'type': 'volum
esensor', 'satisfied': True}], 'actions': [{'type': 'responder', 'ref': '$FootSn
d'}]}], 'actions': [{'tag': 'FootSnd', 'type': 'responder', 'responder': {'state
s': [{'waittocmd': 0, 'cmds': [{'type': 'armatureeffectmsg', 'waiton': -1, 'para
ms': {'surface': 'dirt', 'append': False}}], 'nextstate': 0}], 'flags': ['detect
trigger'], 'curstate': 0}}]}}


[Lamp Lamp.034]
 Attatching layer:
 [Light Base]

  Diffuse Lighting Enabled
  Specular Lighting Enabled
  >>> kLPCastShadows <<<
  >>> !kLPShadowOnly <<<
 [OmniLight]

  Quadratic Attenuation
  Long-range cutoff
 [ShadowMaster]
  Attensity distance 200.000000
  Power: 1.000000
 [Coordinate Interface Lamp.034]

[Lamp Lamp.033]
 Attatching layer:
 [Light Base]

  Diffuse Lighting Enabled
  Specular Lighting Enabled
  >>> kLPCastShadows <<<
  >>> !kLPShadowOnly <<<
 [OmniLight]

  Quadratic Attenuation
  Long-range cutoff
 [ShadowMaster]
  Attensity distance 50.000000
  Power: 1.000000
 [Coordinate Interface Lamp.033]

[Lamp Lamp.032]
 Attatching layer:
 [Light Base]

  Diffuse Lighting Enabled
  Specular Lighting Enabled
  >>> kLPCastShadows <<<
  >>> !kLPShadowOnly <<<
 [OmniLight]

  Quadratic Attenuation
  Long-range cutoff
 [ShadowMaster]
  Attensity distance 200.000000
  Power: 1.000000
 [Coordinate Interface Lamp.032]

[Lamp Lamp.031]
 Attatching layer:
 [Light Base]

  Diffuse Lighting Enabled
  Specular Lighting Enabled
  >>> kLPCastShadows <<<
  >>> !kLPShadowOnly <<<
 [OmniLight]

  Quadratic Attenuation
  Long-range cutoff
 [ShadowMaster]
  Attensity distance 200.000000
  Power: 1.000000
 [Coordinate Interface Lamp.031]

[Lamp Lamp.030]
 Attatching layer:
 [Light Base]

  Diffuse Lighting Enabled
  Specular Lighting Enabled
  >>> kLPCastShadows <<<
  >>> !kLPShadowOnly <<<
 [OmniLight]

  Quadratic Attenuation
  Long-range cutoff
 [ShadowMaster]
  Attensity distance 200.000000
  Power: 1.000000
 [Coordinate Interface Lamp.030]

[Lamp Lamp.029]
 Attatching layer:
 [Light Base]

  Diffuse Lighting Enabled
  Specular Lighting Enabled
  >>> kLPCastShadows <<<
  >>> !kLPShadowOnly <<<
 [OmniLight]

  Quadratic Attenuation
  Long-range cutoff
 [ShadowMaster]
  Attensity distance 200.000000
  Power: 1.000000
 [Coordinate Interface Lamp.029]

[Lamp Lamp.028]
 Attatching layer:
 [Light Base]

  Diffuse Lighting Enabled
  Specular Lighting Enabled
  >>> kLPCastShadows <<<
  >>> !kLPShadowOnly <<<
 [OmniLight]

  Quadratic Attenuation
  Long-range cutoff
 [ShadowMaster]
  Attensity distance 200.000000
  Power: 1.000000
 [Coordinate Interface Lamp.028]

[Lamp Lamp.027]
 Attatching layer:
 [Light Base]

  Diffuse Lighting Enabled
  Specular Lighting Enabled
  >>> kLPCastShadows <<<
  >>> !kLPShadowOnly <<<
Traceback (most recent call last):
  File "<string>", line 173, in open_file
  File "<string>", line 88, in export_age
  File "C:\Program Files\Blender Foundation\Blender\.blender\scripts\alcresmanag
er.py", line 473, in export_all
    plLightInfo.Export(self,obj,scnobj,name,SceneNodeRef,softVolumeParser)
  File "C:\Program Files\Blender Foundation\Blender\.blender\scripts\alc_LightCl
asses.py", line 218, in _Export
    lamp.data.export_object(obj)
  File "C:\Program Files\Blender Foundation\Blender\.blender\scripts\alc_LightCl
asses.py", line 488, in export_object
    plDirectionalLightInfo.export_object(self,obj)
  File "C:\Program Files\Blender Foundation\Blender\.blender\scripts\alc_LightCl
asses.py", line 383, in export_object
    self.softvol = volume.data.getRef()
AttributeError: 'NoneType' object has no attribute 'data'


I noticed that upon exporting, all the plugin script files suddenly have compressed duplicates too (IE a .py and then a .pyc of the same file).
"I'm still trying to find the plKey for Crud!"
Image
Blender Age Creation Tutorials
3DS Max Age Creation Tutorials
User avatar
andylegate
 
Posts: 2348
Joined: Mon Oct 01, 2007 7:47 am

Re: GoW PyPRP 1.3.1

Postby D'Lanor » Tue Apr 15, 2008 7:11 am

andylegate wrote:I noticed that upon exporting, all the plugin script files suddenly have compressed duplicates too (IE a .py and then a .pyc of the same file).

That is normal. pyc files are compiled py files. They need to compile before they run.

And there may still be a bug related to that which requires you to fire up your export multiple times to get rid of initial compile errors (modules being called before they are compiled).


Edit: btw, the .svn folders that they accidently packed with this release are not needed.
"It is in self-limitation that a master first shows himself." - Goethe
User avatar
D'Lanor
 
Posts: 1980
Joined: Sat Sep 29, 2007 4:24 am

Re: GoW PyPRP 1.3.1

Postby andylegate » Tue Apr 15, 2008 8:07 am

Okay, I'm on try number 22 on trying to export, same error every time. How many "multiple" times do I have to do this? I'm sorry, but I've never had this bug.
"I'm still trying to find the plKey for Crud!"
Image
Blender Age Creation Tutorials
3DS Max Age Creation Tutorials
User avatar
andylegate
 
Posts: 2348
Joined: Mon Oct 01, 2007 7:47 am

Re: GoW PyPRP 1.3.1

Postby D'Lanor » Tue Apr 15, 2008 8:47 am

Hehe. OK, that is a real bug then. It should not do that more than 3 times.



Edit: oops, forgot the word "not"
Last edited by D'Lanor on Tue Apr 15, 2008 1:34 pm, edited 1 time in total.
"It is in self-limitation that a master first shows himself." - Goethe
User avatar
D'Lanor
 
Posts: 1980
Joined: Sat Sep 29, 2007 4:24 am

Re: GoW PyPRP 1.3.1

Postby Aloys » Tue Apr 15, 2008 10:59 am

I get something different: when I load my Age Uru quits back to desktop. I click the panel in the ULM book, the loading screen is displayed for a second and then back to desktop.
My Age is absolutely identical to the last time I exported it with PyPRP 1.3.0 and it worked fine. :( (to be more precise: I had added a lamp to test the Projection layer lamps, but then when I saw the problem I deleted it, so it is now back in its original 1.3.0 compatible form, but it still won't work.)
User avatar
Aloys
 
Posts: 1864
Joined: Sun Oct 21, 2007 7:57 pm
Location: France (GMT +1)

Re: GoW PyPRP 1.3.1

Postby Nadnerb » Tue Apr 15, 2008 3:16 pm

Ok, looking into this:

There has been a change to softvolume parsing, as noted above, and that is where the error is. Andy, if you could, provide the text properties or alcscript associated with your softvolume(s)? (specifically, any associated with Lamp.027)

Also, Aloys, the implementation of the projection lights is a seriously nasty hack, because I had to get around the fact that it is not possible (or I just don't know) to read the layer data from a lamp using the python interface. I'll put an explanation up when I get the chance. In the mean time, you probably won't figure out how they work without reading the code. :P
Live KI: 34914 MOULa KI: 23247 Gehn KI: 11588 Available Ages: TunnelDemo3, BoxAge, Odema
Nadnerb
 
Posts: 1057
Joined: Fri Sep 28, 2007 8:01 pm
Location: US (Eastern Time)

Re: GoW PyPRP 1.3.1

Postby Nadnerb » Tue Apr 15, 2008 4:04 pm

Ok, I've talked to Dox, and the "issue" is actually a "feature". :?

As noted above, you can now specifiy any type for a softvolume reference, meaning that you must put, instead of

Code: Select all
softvolume: <name of softvol>


you must put

Code: Select all
softvolume: softvolume:<name of softvol>
or
softvolume: 0088:<name of softvol>


Paying close attention to the spaces.
Live KI: 34914 MOULa KI: 23247 Gehn KI: 11588 Available Ages: TunnelDemo3, BoxAge, Odema
Nadnerb
 
Posts: 1057
Joined: Fri Sep 28, 2007 8:01 pm
Location: US (Eastern Time)

Next

Return to Plasma Development

Who is online

Users browsing this forum: No registered users and 2 guests