✔ integrate editor deeper with games and the entity system @done (16-02-24 22:31)
✔ implement scripted entity deriving from C++ @done (16-02-11 22:13)
> LevelScrObj has optional property dict (if available, used as property backing)
> inheritance is implemented via metaobject insertion
>> C++Ent -> metadict ===> C++Ent -> my_classdict -> metadict
>> error in the case when my_classdict receives a different parent when it's already set
>> interface could be third arg for CreateEntity
> entity core is always C++, scripting is about property/behavior adjustments
>> SGS -> C++ inheritance is thus not allowed
> ScriptedItem must be turned into an entity
> InfoEmitter could use a handle/wrapper object
>> EDIT: integrated InfoEmitterSystem into level and all entities are optional emitters
✔ reorganize native systems to fit scripting systems better @done (16-02-15 09:53)
✔ implement transform hierarchies @done (16-02-22 23:42)
✔ sort out entity editing issues @done (16-02-15 09:55)
> entities should have their properties always editable and accessible
>> this is to allow faster editing & realtime preview
X initial property set is still necessary though - some level objects are not entities
X> it's a way to also create those objects
X> they will need a visualization entity though
>> EDIT: screw that, let's use chunks.
>> entity data has disproportionately huge parsing/loading overhead anyway...
>> let's find a way to generate that data with systems also
✔ implement editor entity enumeration from level script & game scripts @done (16-02-17 09:50)
X currently undecided between ENT_*** class names and ENTCREATE_***/ENTARGS_*** functions
>> chose MANUAL ENTITY REGISTRATION
✔ implement editor startup from game DLLs @done (16-02-16 09:28)
> need to wrap the SDL DLL API
> BaseGame should have "-editor"/"EDIT"/.. argparse, triggering...
>> editor DLL loading
>> game level object creation for preview
>> and the replacement of the game class with editor class, init-ed using the level
✔ implement core of the new entity type (loading, saving, property editing) @done (16-02-18 09:38)
✔ implement editor entity preview @done (16-02-21 22:49)
> just create entities and then copy their properties
> original set of properties should still be owned by the editor entity
>> to avoid the game entity from randomly messing up the data
>> but it's something that might be reconsidered
✔ change editor file format to some kind of structured key-value store (SGSON?) @done (16-02-22 23:42)
✔ implement SGSON parser/writer @done (16-02-16 08:51)
✔ implement saving/loading functions @done (16-02-17 09:50)
✔ implement backwards compatibility @done (16-02-22 23:42)
✔ mesharray @done (16-02-22 23:42)
✔ cover, room @done (16-02-22 08:23)
✔ implement game system data processing to generate custom chunks @done (16-02-24 09:41)
> pass editor data to game systems, let them create the compiled chunks they'll parse
✔ remove scripted entities and related hacks from editor @done (16-02-21 22:48)
> with this new entity inheritance scheme, they won't be necessary any longer
✔ editor upgrade polish/finish @done (16-02-24 22:31)
✔ implement entity editor ext. rendering functions @done (16-02-22 00:46)
✔ implement unique ID generation @done (16-02-23 08:27)
✔ implement light/mesh/sample entity LGC registration @done (16-02-24 09:40)
> register LGC as level system
> add callbacks that would allow data to be gathered
> for stability, use "XXXEntityToID"
✔ fix LGC cache / deletion issues @done (16-02-24 22:31)
Comments
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎
0 B
|👍
/👎