Releases: tyoeer/Chaoshead
Releases · tyoeer/Chaoshead
Chaoshead v2.28.1
Chaoshead v2.28.0
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
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
- Moved source files into
- 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
Fixed MIDI import script not working due to not finding libs/midi due to sudden case sensitivity
Chaoshead v2.26.1
Level Editor
- Properly display errors when there's a problem reading a script file instead of crashing (fixed #181)
Chaoshead v2.26.0
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
- Added top-level landing page
Chaoshead v2.25.0
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.midin 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
scanBgObjectssetting, which can be disabled to not scan background objects
Chaoshead v2.24.0
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"
- Settled on calling the groupings of how many objects send to/receive from a channel "Degree Quantifiers"
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
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.allowMouseDragPlacementsetting
- It can be turned of with the
- 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
- Added
- Deprecated old unknowns:
- Deprecated
Settings.campaignMarkerin favor ofSettings.published - Deprecated
Settings.prefixin favor of the versions
- Deprecated
- Added selector support to Object:hasProperty()
- Fixed the allocator docs incorrectly saying it always overwrites stuff
Chaoshead v2.22.0
- 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
- It first moves the original file to
- Mention custom LH installation directory setting when patching (closed #125)
- Added a "dismiss" button to the save_data change beeper