ChroMapper icon indicating copy to clipboard operation
ChroMapper copied to clipboard

Refactor base difficulty and map objects

Open XAce1337manX opened this issue 6 months ago • 0 comments

  • Changed base classes of map objects to be concrete classes. It's the internal model CM uses for data. (e.g. BaseNote)
  • Version specific classes are used only to parse from and to json.
    • Two methods: GetFromJson and ToJson.
    • Any supported currently custom json data keys
  • Settings.Instance.MapVersion is a global setting for what version to output to
    • This is set only when loading a map and switching version
    • This is what node editor checks to get and parse json

Things left todo:

  • Test this more
  • Warn user on save if features used is incompatible with v2 (i.e. check for chains, arcs, angle offset, obstacles types, and rotation events outside v2 range)
  • Bug: placing customEvents have default non-null values for duration, repeat, and worldPositionStays on placement instead of null

XAce1337manX avatar Aug 24 '24 13:08 XAce1337manX