Dev Blog
Hi, this is the Stranded III development blog (see also Forum Thread, Comment Thread).
Entry 8 - Definition Inheritance & Minimap - February 1, 2013
Definition Inheritance
Stranded III will offer inheritance for definitions. This is useful for lazy people who want to define many equal objects with just minor differences.
Sample:
"virtual" defines a virtual object. The only reason to define a virtual object is to use it later in an "extends" instruction. The "extends" instruction makes an object extend another object. This means it will inherit all definition lines from the other object and you are then able to add/overwrite definitions to actually make the new object different.
the line extends=tree is the same as writing category=Trees because the virtual definition tree only contains that single line.
extends=palmtree01 will take all lines from the palmtree01 definition and put it at the position of the extends line. So bluetree is basically the same object as palmtree01 just with another name and another model_color (and another identifier of course).
You can even go wild and use multiple extends per object to inherit from multiple different objects. Stranded III will warn you in case you inherit from the same object multiple times (this can happen directly and indirectly. For instance you would inherit from tree twice if you would add the line extends=tree to the bluetree definiton because it already extends palmtree01 which itself already extends tree!). Moreover Stranded III detects deep inheritance hierarchies and cancels infinite inheritance loops with detailed warning messages to avoid crashs in case of dumb definitons
Automatic minimap generation
I just took the colors from the Stranded II minimap generator and this is the result. I also improved the "Manage Terrains" window a bit.
Moving and rotating stuff
Moving and rotating stuff right in the editor with your mouse is now possible as well. There also is a button to set the initial rotation angle for new objects and a fill terrain with objects button. The buttons below those are just additional buttons for movement and rotation and to open the properties/delete the object.
Stranded III will offer inheritance for definitions. This is useful for lazy people who want to define many equal objects with just minor differences.
Sample:
1
2
3
4
5
6
7
8
9
10
11
12
2
3
4
5
6
7
8
9
10
11
12
virtual=tree
category=Trees
define object=palmtree01
extends=tree
name=Palmtree
model=res:palmtree01
define object=bluetree
extends=palmtree01
name=Blue Palmtree
model_color=blue
category=Trees
define object=palmtree01
extends=tree
name=Palmtree
model=res:palmtree01
define object=bluetree
extends=palmtree01
name=Blue Palmtree
model_color=blue
"virtual" defines a virtual object. The only reason to define a virtual object is to use it later in an "extends" instruction. The "extends" instruction makes an object extend another object. This means it will inherit all definition lines from the other object and you are then able to add/overwrite definitions to actually make the new object different.
the line extends=tree is the same as writing category=Trees because the virtual definition tree only contains that single line.
extends=palmtree01 will take all lines from the palmtree01 definition and put it at the position of the extends line. So bluetree is basically the same object as palmtree01 just with another name and another model_color (and another identifier of course).
You can even go wild and use multiple extends per object to inherit from multiple different objects. Stranded III will warn you in case you inherit from the same object multiple times (this can happen directly and indirectly. For instance you would inherit from tree twice if you would add the line extends=tree to the bluetree definiton because it already extends palmtree01 which itself already extends tree!). Moreover Stranded III detects deep inheritance hierarchies and cancels infinite inheritance loops with detailed warning messages to avoid crashs in case of dumb definitons
Automatic minimap generation
I just took the colors from the Stranded II minimap generator and this is the result. I also improved the "Manage Terrains" window a bit.
Moving and rotating stuff
Moving and rotating stuff right in the editor with your mouse is now possible as well. There also is a button to set the initial rotation angle for new objects and a fill terrain with objects button. The buttons below those are just additional buttons for movement and rotation and to open the properties/delete the object.