Skip to content

Releases: tyoeer/Chaoshead

Chaoshead v2.28.1

27 Feb 22:47

Choose a tag to compare

  • Fix fancy graphics not working due to CH not finding the Wiki data ("Could not find LH data folder")

Chaoshead v2.28.0

27 Feb 20:16

Choose a tag to compare

Editor

  • Added a button to reset the camera

Misc

  • Added path override settings for:
    • steamapps, handles installation folder, and user data folder on Linux
    • the Levelhead executable
  • Added warning at start about missing installation folder and executable
  • Detect Levelhead executable when it is called Levelhead_Steam.exe
  • Improved Linux installation instructions
  • Reduced file size by no longer including internal documentation on the executable patch

Chaoshead v2.27.0

23 Sep 22:16
e993036

Choose a tag to compare

Level Editor

  • Added new auto-expand script:
    • Supports groups of objects
    • Supports paths (and extrapolates their properties)
    • Supports empty rows/columns between object groups
    • Supports expanding in up to 4 directions
      • Still supports just 1 direction
    • Old auto expand is available as "autoExpandLegacy" just in case
  • Show script descriptions in the Sciprint Interface

Misc

  • Added Linux AppImage to releases
    • As in: added to the new ones, currewntly only this one
  • Moved Chaoshead to https://codeberg.org/tyoeer/Chaoshead
    • The GitHub repository will continue to mirror at least releases for now, for the people that are slow to update
    • The update checker will check Codeberg instead
  • Made Chaoshead not crash directly when the Levelhead data path is missing, and give a warning instead
    • It can still crash later though
  • Updated building/packaging pipeline:
    • Package scripting documentation
    • Reduce unneccesary files packed into the executables
    • Package README
  • For people dealing with the source code:
    • Moved source files into src/
    • Updated error message for missing HTTPS library
    • Added Linux HTTPS library
  • Added Linux "installation" instructions about running Chaoshead from the source
  • Mentioned LÖVE in the credits

API

  • Added that if you start your script with a block comment (--[[), its contents get displayed in Chaoshead
  • Added ScriptUi.requestString()
  • Turned bold names of other classes into links to those other classes
  • Document that you can do world[layer] (thanks @slothybutt)
  • Fixed SelectionContents referring to itself as the selection mask

Chaoshead v2.26.2

30 May 16:35
fb42a41

Choose a tag to compare

Fixed MIDI import script not working due to not finding libs/midi due to sudden case sensitivity

Chaoshead v2.26.1

27 Apr 16:32
f7e4b3c

Choose a tag to compare

Level Editor

  • Properly display errors when there's a problem reading a script file instead of crashing (fixed #181)

Chaoshead v2.26.0

27 Feb 15:56
27c45be

Choose a tag to compare

Level Editor

  • Fixed property editor popup not properly updating the other tab (of edit/filter) when taking an action (fixed #159)

API

  • Added SelectionMask:getBounds() and :getBitplane()
  • Improved docs:
    • Added top-level landing page
      • List all documentation pages
      • Some polishing
    • Pushed Grid and OrderedSet up to standards
      • Document how to create them
      • Formatting
      • Some polishing

Chaoshead v2.25.0

12 Nov 20:30
40a47c2

Choose a tag to compare

Level editor

  • Display object size and occupied area

Misc

  • Added a WIP built-in MIDI import script
    • Finally found a proper license file for the MIDI library
    • Imports from import.mid in the CH user data folder
    • Doesn't overwrite foreground objects
    • Selects placed objects afterwards
    • Merges Boomboxes that are simple repetitions
    • It still has some issues/quirks:
      • Note duration might outside the range of the LH property
      • Doesn't have a fancy music machine, so spawns a significant amount of boomboxes
  • Fixed custom data paths requiring a Levelhead.exe to be considered valid
  • Document maintenance status in README
    • Not much active development, but I'm still watching the repository and reachable for questions/etc.

API

  • Added Object
    • :getWidth()
    • :getHeight()
    • :getMinX()
    • :getMinY()
    • :getMaxX()
    • :getMaxY()
  • Allocator improvements
    • Properly take large objects into accounts in the preScan
    • Added scanBgObjects setting, which can be disabled to not scan background objects

Chaoshead v2.24.0

09 Sep 20:41
c407a85

Choose a tag to compare

Level

  • Improved the contraption statistics script:
    • Settled on calling the groupings of how many objects send to/receive from a channel "Degree Quantifiers"
      • Same for Rift IDs
    • Fixed channel & rift ID degree quantifiers being reversed
    • Added proper labels the collected statistics
    • Added support for scalepopped Rifts
    • Added proper support for Rifts sending to/receiving from "None"

Misc

  • Added support for non-alphanumeric keybindings
  • Added the ability to zoom the camera with the + and - keys
  • Added new default keybind to also release the hand with escape
  • Added additional paths to detect LH stuff at for Linux

API

  • Added Object:orNew(), to re-use an existing object or create a new one from a selector
  • Added Object:isRootElement(), to easily get the base/root element of scalepopped objects
  • Made Allocator:allocateObject() accept manually created objects
  • Added Allocator:getTopLeftCorner()
  • Added Allocator:getSize()
  • Added the ability to pass element selectors to World:add*Object() to create a new object at the specified location.

Chaoshead v2.23.0

16 Aug 09:50
b392d50

Choose a tag to compare

Level

  • Display more level settings:
    • Levelhead version
    • Mode number
    • Legacy version
    • Published flag
  • Allowed placing things after dragging the mouse (closes #74)
    • It can be turned of with the misc.editor.allowMouseDragPlacement setting
  • Added a built-in script to display contraption statistics
  • Fixed a crash when the game (wiki) data export could not be loaded
  • Fixed Ocula being displayed as Scrubbs (fixes #130)
    • Ocula's were internally considered to be scale-popped Scrubbs to safe on having to duplicate their one shared property id.

Misc

  • Added limits checks for the savable range of the version settings
  • Fixed an edge-case where a modal would get a scrollbar when it could grow instead
  • Updated README:
    • Assure about stability and file safety
    • Say CH is in ongoing development rather then WIP
    • Mention palette

Data explorer

  • Allow trying different file explorers if a file has no extension
  • Updated the Hex Inspector with the new figured out headers

API

  • Added the final reverse-engineered stuff
    • Added Settings:setLevelheadVersion()
    • Added Settings:getLevelheadVersion()
    • Added Settings.legacyVersion
    • Added Settings.zoomLevel
    • Added Settings.published
  • Deprecated old unknowns:
    • Deprecated Settings.campaignMarker in favor of Settings.published
    • Deprecated Settings.prefix in favor of the versions
  • Added selector support to Object:hasProperty()
  • Fixed the allocator docs incorrectly saying it always overwrites stuff

Chaoshead v2.22.0

17 Jul 10:05
5377969

Choose a tag to compare

  • Added safer lhs writing (closed #127):
    • It first moves the original file to ch-backup-[random number]-[original]
    • It then writes as normal
    • It then verifies the written file has the structure of a valid .lhs file
      • It might not necessarily be a valid level, but it would be valid enough to open in the hex inspector and debug what went wrong and recover data
    • On success: remove the backup
    • On failure: report a verbose error message to the user, including the location of the backup file
  • Mention custom LH installation directory setting when patching (closed #125)
  • Added a "dismiss" button to the save_data change beeper