Commit Graph

16 Commits

  • Ability to edit YTYP files and MLO Entity Defintions + Revisions to grass brush (#33)
    * - Add ability to edit/add ytyp files to project.
    - Add ability to edit/add ytyp archetype files to ytyp.
    - Add ability to add/remove entities from mlo archetype defs.
    - Add ability to save ytyp files.
    - Add dialog popup before optimizing grass batches.
    - Fix grass batches not being selected when chaning selection in project explorer.
    - Merged with upstream/master.
    - Squashed last 4 commits for PR cleanliness.
    
    * Fixed windows forms reference error.
    
    * - Added error checking to deleting mlo entities.
    - Fixed various bugs with deleting mlo entities.
    - Fixed edit archetype panel Asset Type box.
    - Removed redundant/unnecessary.
    - Removed backwards references between MCEntityDef and YmapEntityDef. All ymap entity to mcentity references are grabbed using indecies in the MloInstanceData class.
    - Fixed "YmapMenu" not showing when selecting entities/mlo entities in project form.
    
    Current bugs:
    - Loading a ytyp file -- mlo entities are not editiable, and are created in the world.
    - entitysets are not editable (properly).
    - Removing an mloinstancedef from a ymap does not delete the mlo instance's gizmo from the world, and it's still selectable. (Although all references are lost, and I believe collected by the GC?)
    
    * - Moved archetype initialization methods YmapFile.InitYmapEntityArchetypes(GameFileCache gfc)  and MloInstanceData.InitYmapEntityArchetypes(GameFileCache gfc)
    - Added ability to load mlo instance defs through ymap files.
    - Fixed add method for mlo archetypes.
    
    * - Removed SetOrientationInv.
    - Removed unreachable code + updated comment.
    - Renamed CreateEntity to CreateYmapEntity, and renamed params for consistency.
    
    * Split calls to CreateYmapEntity() and MloArchetype.AddEntity().
    
    * Fixed redundant rotation inversions.
    
    * - Added ability to select rooms.
    - Changed tree view grouping for mlo entities.
    - Fixed projectexplorer selection bugs.
    - Added ability to toggle mlo entity sets.
    - Fixed some change events when editing archetypes.
  • Some revisions to grass brush.
    - Made some changes to the way I check for deleting instances.
    - Added a new bounding box check for painting grass.
    - Made GetNewGrassBounds return a bounding box instead of our parameters
    - Added new Expand method to bounding box util
    - Added instance radius check and instance brush check to project form for possible future instance types (Props)
    - Added grass brush gizmo
    - Updated gui for grass instance batch panel
    - Fixed bug with GoToPosition (with bounds)