Skip to content

Releases: tyoeer/Chaoshead

Chaoshead v2.5.0

23 Jul 11:33
af4016e

Choose a tag to compare

UI

Additions

  • Added advanced path manipulation (but still not basic path manipulation):
    • Path connecting & disconnecting
    • Path direction reversing
      • Also shows the direction of the path when a node is selected
  • Added a hotkey to quickly run a set script (Ctrl+B by default)
  • Added a pop-up at startup if the Levelhead data folder couldn't be found
  • Added button to open the Levelhead data folder in the misc. tab

Misc

  • Mention which script has been run in the "Successfully ran script" modal
  • Renamed "Open user data folder" to "open Chaoshead data folder"
  • Show modal for succes or failure when rehashing

Fixes

  • Fixed rehashing failing silently
  • Fixed selection not updating when something got placed in it

Misc

  • Fixed infinite hang when adding a closed path to a world
  • Fixed that the scripts/ directory in the Chaoshead data folder would not get created
  • Changed the name of the file to download to something more recognisable
  • Updated release builds to LÖVE 11.4

API

  • Improved path API by adding:
    • path:reverse()
    • pathNode:disconnectAfter()
    • pathNode:splitAfter()
    • pathNode:makeHead()
    • pathNode:prepend(x,y)
    • pathNode:append(x,y)
  • Added integration with Local Lua Debugger VSCode extension

Chaoshead v2.4.1

22 Jun 13:22
314ce0e

Choose a tag to compare

UI

  • Fixed limits check rounding property bounds
  • Fixed crash when trying to show raw values for level settings

Misc

  • Various fixes to the data (thanks @Adrthegamedev!):
    • Added colour property to bumpers
    • Added muted property to the clock switch
    • Added movement type, direction, and rotation to Jabbers & co.
    • Fixed Fire Delay minimum and default being reversed

Chaoshead v2.4.0

01 May 19:38
9198a44

Choose a tag to compare

UI

Additions

Level editor

  • Added the ability to edit properties:
    • Shows a list of all possible values instead of having to go through them one-by-one
    • Has support for basic arithmetic for numerical properties
    • Works with multi-select
  • Added built-in scripts:
    • autoExpand: like the auto-fill from Excel, fills the selection by continuing series of objects, linearly in/decreasing properties as it goes
    • screenshot: exports a scaled-down screenshot of the entire level
    • deselectEmptyTiles: removes empty/air tiles from the selection
    • clampProperties: clamps all properties into the range valid for Levelhead
  • Added Cut functionality
  • Added keyboard shortcuts to quickly switch to the level editor and the script interface
  • Show the numerical value of special values for Hybrid mapped properties

Other

  • Added a pop-up to reset settings when they have changed significantly
  • Added an overview of all the keyboard shortcuts (and some more obvious/internal stuff) in the Misc. tab
  • Added the Chaoshead and LÖVE version to the Misc. tab

Misc

  • Optimised the drawing of large selections by simplifying the graphics when zoomed out
  • Improved the theme to something with actual colours
  • Made scrollbars disappear when not needed
  • Added more limit checks related to properties

Fixes

  • Fixed crash when deleting without a selection
  • Fixed a crash caused caused by the hex inspector trying to load invalid data
  • Fixed object details including the raw numbers when the setting is off
  • Fixed selection sometimes still drawing when it shouldn't
  • Fixed that dragging with middle-mouse would stop a dragging selection

Misc

  • Added verification of the tags/magic number at the start of most sections of .lhs files
  • Fixed Hybrid properties mapping not always properly detecting error values
  • Fixed Powerup property having having a max value 11x too high
  • Improved mention of what is supported in the README

API

  • Improved object & path cloning docs
  • Added tile list to selection mask docs
  • Fixed mistakes in selection contents docs

Chaoshead v2.3.1

19 Feb 14:40
91e10c5

Choose a tag to compare

UI

Additions

  • Organised level details a bit better
  • Selection details:
    • Merged the deselect layer button and the count how many objects/nodes a layer has
    • Put property details on 1 line if there's space
    • List property values instead of showing a range when a range doesn't make sense
    • Show position more often
  • Made a setting for whether or not to display raw IDs, that defaults to false
  • Display raw files when a user has no save_data
  • Added an extra space after the ": " in the level settings

Fixes

  • Fixed crash when clicking "deselect all"
  • Fixed the Data Explorer text viewer crashing when trying to display non-text
  • Fixed Multiplayer Respawn Style only displaying its raw value
  • Fixed crash when trying to view levels of a user with no save_data
  • Fixed the error when being unable to read a user's save_data being improperly formatted

Chaoshead v2.3.0

31 Dec 16:15

Choose a tag to compare

UI

Additions

  • Added copy/paste & placing stuff
  • Errors in scripts now have a modal telling you instead of a Chaoshead crash
  • Added a button to instantly reopen the last level
  • Added a generic (Levelhead) data explorer

Tweaks

  • Rewrote the underlying UI system
    • It is now no longer a pain to add or modify UI code
    • Centralised similar stuff
      • Some stuff (e.g. tabs) look different
    • Added more functionality (e.g. scrollbars can have a '=' now)
    • Fixed off-by-one errors on some hardware where lines were getting drawn exactly between pixels
    • Reworked the settings (dimensions & colours are no longer separate, a lot more customisation options)
    • Improved the modal when there's an error loading a level
  • Replaced font with one that doesn't hurt the eyes (also decreased the size)
  • You can now dismiss modals with escape
  • Replaced "Open scripts folder" with "Open user data folder"

Fixes

  • Fixed crash trying when trying to delete only some layers
  • Fixed crash when deselecting everything without having a selection
  • Fixed errors when deselecting layers where stuff has properties
  • Fixed lag when zoomed out
  • Fixed the property limits check not recognising save format D

Misc

  • Added all the missing level element sizes
  • Added most of the mossing property save formats
  • Fixed Stackable Armor parent being an invalid value
  • Fixed Swing Speed (74) property data being messed up
  • Added saving/loading of all the (previously internal) settings

API

  • Added Object:clone()
  • Incorrectly creating a Bitplane now properly errors
  • Added the Bitplane:forEach alias
  • Added :hasProperty() to objects and paths
  • Invalid types passed along as property selectors now has a proper error
  • Trying to set/get a property an object/path doesn't have now has a proper error
  • Improved some docs

Chaoshead v2.2.0

20 Jul 16:28

Choose a tag to compare

UI

Additions

  • Added WASD movement controls to the editor (and hex inspector) camera
  • Added the Ctrl+A shortcut to select the entire level

Tweaks

  • Tweaked some UI dimensions to work better with bigger windows
  • Made the window maximized on start
  • Added the level ID to the display name of unnamed levels

Fixes

  • Fixed a broken selection remaining after a level reload
  • Removed the mention of lacking void support when failing to load a level (Void support has already been added in a previous update)
  • Fixed the properties of foreground objects showing up in the selection details after their entire layer was deselected
  • Fixed area selection breaking if you released shift before the left mouse button
  • Fixed the selection details not properly loading when only selecting a single tile
  • Fixed selecting large regions taking causing massive lag-spikes
  • Fixed the level title in the tab title not updating when the level gets reloaded
  • Fixed the level details displaying the old size when the levels gets resized
  • Fixed path properties not showing up in the selection details
  • Fixed the editor still selecting a tile even if you moved the mouse to a completely different one

Removed

  • Removed the ability to drag the camera with the right mouse button (use WASD or the middle mouse button instead) (it caused problems with area deselection)

Misc

  • Added data about the Stackable Armor
  • Added data about the Beamer Cooldown property
  • Added a system to beep whenever a save_data file changes
  • Fixed Chaoshead not working if it was installed on a different drive then the one with the Levelhead save data
  • Added a check for properties with values outside their bounds
  • Fixed element parents not getting recognised, leading to inherited property data not working
  • Fixed closed paths not getting deleted properly
  • Fixed levels with closed paths crashing when you try to save them

API

  • Gave user scripts access to the editor selection with the selection.mask and selection.contents globals
  • Fixed path:iterateProperties() not iterating over the path properties
  • Fixed two property setters both being called setSpeed() in conflict with each other, preventing one from ever getting called
  • Fixed a crash trying to iterate the properties of an element known to have no properties
  • Fixed a crash trying to iterate properties of an element with only one property
  • Improved property handling for paths
  • Improved the various docs a bit

Chaoshead v2.1.1

10 May 16:59

Choose a tag to compare

(Should probably have been named v2.2.0 because of added support for ambiguous selectors in setProperty(), but it's too minor to go trough to effort of changing the version number afterwards)

UI

  • Added scrollbars to the level and selection details
  • Fixed the scroll button thinking you start pressing it when you released it
  • Fixed indented text in list wrapping beyond their viewable region
  • Fixed scrollbars defaulting to their bottommost position in some cases
  • Fixed various internal issues with minimal required height calculations of various UIs

Misc

  • Added UI test to the misc tab

API

  • Reworked object property handling
    • Element properties data gets used when available
    • getProperty() now properly works when the property has been set with an ambiguous selector
    • setProperty() also supports ambiguous selectors now, instead of only set[property]()
    • Improved errors for invalid cases
    • Ambiguous selectors now reset properties when the value doesn't fit them
  • Improved area allocation
    • Subarea allocators now inherit all settings from their parent
    • Added error and docs warning against trying to allocate an area without an object mask

Chaoshead v2.1.0

16 Apr 16:39
81b97c0

Choose a tag to compare

UI

  • Added multiselect.:
    • Comes with layer filtering.
    • Shows property ranges of selected objects.
    • Does not have arbitrary limits of how much you can select.
  • Button clicks now get triggered when you release the left mouse button. (To prevent clicks propagating trough to the editor, where they automatically select a tile.)
  • Overhauled editor world drawing:
    • Outlines now remain properly visible when zoomed out.
    • Draw order is now consistent.
    • Closed paths now get drawn as closed.
  • Fixed a random crash in the hexInspector.
  • Replaced crashes due to level load errors when reloading with a modal.

Misc

  • Brought data spreadsheet up to date with the game:
    • Added support for everything from the Void update.
    • Added property mapping for Sign icons.
  • Improved property support:
    • Property default values are used now.
    • When the spreadsheet has data about the properties of a level element, that gets used.
    • Removed $OutOfBounds property mappings for mapping types Hybrid and None.
    • Fixed hybrid mapped float properties returning as $UnknownMappedValue.
  • Fixed GR-18 powerup property missing the shade.

API

  • Added the ability to check if an object has properties and to iterate those.
  • Added the ability to allocate a range of channels in one go.
  • Fixed channel prescanning in the allocator not working.
  • Added object & path property setter chaining.

Chaoshead v2.0.0

17 Feb 11:50

Choose a tag to compare

Added:

  • Level resizing
  • Modals that prevent you from saving levels that can't be properly saved
  • Modals warning you instead of crashing when trying to load an unsupported level, and modals when having saved or run a script.
  • A WIP User data explorer for reverse engineering.

Improved:

  • The level name parser now properly matches Levelhead
  • Some API names
  • You can now scroll using the mouse wheel
  • The "No levels loaded!" message is now properly padded
  • Internal stuff

Chaoshead v1.0.0

29 Jan 17:30

Choose a tag to compare

Added proper support for the entirety of levels, and some misc. API improvements (moved and renamed some stuff).
Also added scrollbars, and some misc. bugfixes.