Korman 0.02 Released!

News pertaining to the site and the forums, as well as guild discussions and events in the world of Uru.

Korman 0.02 Released!

Postby Tsar Hoikas » Tue Jul 21, 2015 7:38 pm

After just 10 days, 59 commits, and 3,000+ lines of codes edited... Korman 0.02 is available for your usage!

This release includes a number of bug fixes and new features, including Python File nodes. Korman will let you load python scripts and generate node trees from them. Logic nodes have also been improved such that you can no longer connect nodes in ways that are invalid (or otherwise illegal). A number of new modifiers are included, such as an entire category for wavesets.

Here's the full changelog:
  • Added the Animation Group modifier
  • Added the Render Follow (FollowMod) modifier
  • Added the Render Swivel (ViewFaceMod) modifier
  • Added the Timed Callback Message logic node
  • Added the Enable Message logic node
  • Added the Exclude Region logic node
  • Added Python logic nodes
  • Added Water (waveset) modifiers
  • Added the ability to not regenerate baked vertex lighting
  • Changed the modifier list to be sorted by name
  • Changed logic nodes to not allow invalid node connections
  • Fixed a potential failure in the exporter related to the order in which Objects and modifiers were exported
  • Fixed an export failure encountered when the blend had objects that aren't exported as SceneObjects
  • Fixed many issues with Dynamic Text Map creation
  • Fixed an issue in which UVmap settings were ignored
  • Fixed an export failure that occured when objects had unapplied mesh modifiers
  • Fixed an issue in which a temporary (nonsense) mesh name was used in an error message
  • Optimized the texture exporter by reimplementing certain parts in C++
  • Optimized the mesh exporter by delaying certain object operations until they are absolutely needed
  • Removed the ability to name modifiers individually

fun fact: korman is 5,896 LOC
Image
User avatar
Tsar Hoikas
Councilor of Technical Direction
 
Posts: 1835
Joined: Fri Nov 16, 2007 9:45 pm
Location: South Georgia

Re: Korman 0.02 Released!

Postby Charura » Tue Jul 21, 2015 9:13 pm

Nice!
Gehn Shard avvies: charura 10827 chickopee 142711 cannon belle 144577 char gearz 149794 teri dactyl 153077
Moul(a) Charura 55400 Chickopee 20089892 Cannon Belle 13686512 Char Gearz 706359 Teri Dactyl 12658065
Charura
 
Posts: 183
Joined: Wed Oct 14, 2009 9:26 am

Re: Korman 0.02 Released!

Postby Nev'yn » Tue Jul 21, 2015 9:33 pm

@Hoikas: Sorry for the pointless question....

...Hopefully you're taking a break when ya' read this...After all, you've been coding seemingly non-stop for a month now. Anys, so what are the conventions regarding software to release the Korman verison labeled 1.0? Oh, and where does the name Korman come from anyway?

Just curious!!!
KI# 14883206 | "The truth speaks for itself, I am just the messenger." -Lyta Alexander
Image
(Note: Any comments or opinions, taken whole or in part, are mine and do not reflect the stance of GoMe.)
User avatar
Nev'yn
 
Posts: 79
Joined: Tue Jan 03, 2012 10:56 pm

Re: Korman 0.02 Released!

Postby dendwaler » Wed Jul 22, 2015 1:29 am

As in the first version i still have the pagenum problem,
when an 2.49B file is opened, the pagenumbers of all the objects are gone.
This forces me to add the pagenumbers one by one manually.
Not a nice job if you have thousends of objects on 14 pages!
Also in the alcscript exists many references to objects on different pages.
Like this :
receivers:
- 006D:Dagger2BlueButton@North

Can you solve this?
Those wonderfull Worlds are called " Ages" , because that is what it takes to build one.

Image

Watch my latest Video Or even better..... watch the Cathedral's Complete Walkthrough made by Suleika!
User avatar
dendwaler
 
Posts: 875
Joined: Mon Jun 22, 2009 10:49 am
Location: Nederland

Re: Korman 0.02 Released!

Postby Tweek » Wed Jul 22, 2015 2:49 am

Nev'yn wrote:@Hoikas: Sorry for the pointless question....

...Hopefully you're taking a break when ya' read this...After all, you've been coding seemingly non-stop for a month now. Anys, so what are the conventions regarding software to release the Korman verison labeled 1.0? Oh, and where does the name Korman come from anyway?

Just curious!!!


Korman, or Kormahn as it is also spelled, is the D'ni word for Descriptive Book.
Beneath - IC Blog.
Grey Skies - Portfolio and blog.
User avatar
Tweek
 
Posts: 677
Joined: Sat Sep 29, 2007 6:37 am

Re: Korman 0.02 Released!

Postby janaba » Wed Jul 22, 2015 4:08 am

Tweek wrote:
Nev'yn wrote:@Hoikas: Sorry for the pointless question....
...Hopefully you're taking a break when ya' read this...After all, you've been coding seemingly non-stop for a month now. Anys, so what are the conventions regarding software to release the Korman verison labeled 1.0? Oh, and where does the name Korman come from anyway?
Just curious!!!

Korman, or Kormahn as it is also spelled, is the D'ni word for Descriptive Book.

Interesting that someone would ask for that ... When I hear 'Kormahn' I sometimes feel reminded of Ashtar's Alcugs 'Great Tree TPotS Testing Shard' later called 'Kormahn Shard' (login screen for the shard btw) ... :P
Image
User avatar
janaba
 
Posts: 918
Joined: Sun Feb 05, 2012 3:27 pm
Location: Berlin, Germany

Re: Korman 0.02 Released!

Postby Sirius » Wed Jul 22, 2015 4:10 am

And another impressive list of new features ! :)

My Age now exports without any problem, but I had to completely delete the biggest object - it caused Uru to crash at 3/4 of the loading bar (maybe it's because it used too many vertices ? Doesn't Korman check for objects that are too big ?).
So, I deleted that object, but now Uru crashes at the beginning of the loading bar. I had a quick look in the PRP, and I see it's missing the whole DrawableSpan ! :shock: DrawInterfaces are here, but they point to a nonexistant object, which Uru obviously hates.
Any idea what might be causing this ? My objects use only a single material with no texture or lightmap, and I am using two different pages (Uru loads the second page fine, but it only contains a single collider). Don't know if it helps :? I'll have a look later at removing some objects to see if there is an offending one...

DenDwaler wrote:As in the first version i still have the pagenum problem,
when an 2.49B file is opened, the pagenumbers of all the objects are gone.
This forces me to add the pagenumbers one by one manually.
Not a nice job if you have thousends of objects on 14 pages!
These page_num properties are still in the "Game Logic" panel, like when we were testing the 2.7 version of PyPRP, right ? I might have a solution for you.
First, setup all your pages in the World panel. You don't need to worry about their ID, but make sure their name is correct.
Then, open a "Text Editor" panel, create a new text, and paste the following code.
Code: Select all
import bpy

# put your pages with their number here
pages = {
    1: "your first page name here", # <-- you want to modify this
    2: "your second page name here", # <-- you want to modify this
    }

# this copies game properties into page attribute for Plasma Objects
for obj in bpy.context.scene.objects:
    for prop in obj.game.properties:
        if prop.name == "page_num":
            i = int(prop.value)
            obj.plasma_object.page = pages[i]

Now, you must edit this part of the script:
Code: Select all
pages = {
    1: "your first page name here", # <-- you want to modify this
    2: "your second page name here", # <-- you want to modify this
    }

This handles your pages using this format:
Code: Select all
PageId: "PageName",
The page ID and page names are those you used in your "Book" file in 2.49. It is crucial that they match exactly what you were using in this file.
Here is another example, if it can be of use:
Code: Select all
pages = {
    0: "mainRoom",
    1: "firstIsland",
    2: "tower",
    3: "etc",
    }

Finally, click the "Run Script" button. This should copy all the properties into the "Page" attribute Korman uses.
User avatar
Sirius
 
Posts: 1085
Joined: Mon Jul 26, 2010 4:46 am
Location: France

Re: Korman 0.02 Released!

Postby janaba » Wed Jul 22, 2015 4:28 am

This sounds like a wonderful solution and relief, like a miracle even, Sirius, for dendwaler's concern and issue and all who might need this, in case it would work ... :)

And Wow, just Wow! and Kudos! to you, Adam, our smart and diligent coding expert, and the H'Uru team, for the release of this comprehensive and speedy update ... :P
Image
User avatar
janaba
 
Posts: 918
Joined: Sun Feb 05, 2012 3:27 pm
Location: Berlin, Germany

Re: Korman 0.02 Released!

Postby Deledrius » Wed Jul 22, 2015 6:01 am

Sirius wrote:
Code: Select all
import bpy

# put your pages with their number here
pages = {
    1: "your first page name here", # <-- you want to modify this
    2: "your second page name here", # <-- you want to modify this
    }

# this copies game properties into page attribute for Plasma Objects
for obj in bpy.context.scene.objects:
    for prop in obj.game.properties:
        if prop.name == "page_num":
            i = int(prop.value)
            obj.plasma_object.page = pages[i]

Finally, click the "Run Script" button. This should copy all the properties into the "Page" attribute Korman uses.


If only Blender had a YAML module installed by default, we could avoid any manual entry at all:
(At first I was surprised to think it was a default module, but I realized I only had YAML in mine because I had tried your PyPRP update)
Code: Select all
import bpy
import yaml

pages = [{entry["index"]: entry["name"]} for entry in yaml.load(bpy.data.texts["Book"].as_string().replace("\t","    "))["age"]["pages"]]

# this copies game properties into page attribute for Plasma Objects
for obj in bpy.context.scene.objects:
    for prop in obj.game.properties:
        if prop.name == "page_num":
            i = int(prop.value)
            obj.plasma_object.page = pages[i]

We could even add a Convert All button for Page assignment, since this information is (theoretically) accessible, but while we can write YAML using the built-in JSON parser, we can't (safely/reliably) parse YAML with it. I'd love to automate as much conversion from old Ages as possible, but without adding dangling or one-off dependencies.
User avatar
Deledrius
Gehn Shard Admin
 
Posts: 1191
Joined: Mon Oct 01, 2007 1:21 pm

Re: Korman 0.02 Released!

Postby dendwaler » Wed Jul 22, 2015 6:27 am

Thx Sirius ,

It does not work for me ,giving me the error message Python script fails, look into the console
There i find:

PYTHON INTERACTIVE CONSOLE 3.4.2 (default, Dec 8 2014, 22:52:33) [MSC v.1800 32 bit (Intel)]

Command History: Up/Down Arrow
Cursor: Left/Right Home/End
Remove: Backspace/Delete
Execute: Enter
Autocomplete: Ctrl-Space
Zoom: Ctrl +/-, Ctrl-Wheel
Builtin Modules: bpy, bpy.data, bpy.ops, bpy.props, bpy.types, bpy.context, bpy.utils, bgl, blf, mathutils
Convenience Imports: from mathutils import *; from math import *
Convenience Variables: C = bpy.context, D = bpy.data


Is it perhaps because i have several objects with an "non existing pagenumber" I have those for things that are not ready for export yet, for example : PyPRP can't export objects that are not textured.
Those wonderfull Worlds are called " Ages" , because that is what it takes to build one.

Image

Watch my latest Video Or even better..... watch the Cathedral's Complete Walkthrough made by Suleika!
User avatar
dendwaler
 
Posts: 875
Joined: Mon Jun 22, 2009 10:49 am
Location: Nederland

Next

Return to Guild News

Who is online

Users browsing this forum: No registered users and 0 guests