Skip to content

Releases: ct-js/ct-js-old

3.1.0 — TypeScript support, multiple ct.js windows support, translations, and a bunch of QoL improvements and fixes

08 Nov 06:59
Compare
Choose a tag to compare

Changelog

Mon Nov 07 2022

✨ New Features

⚡️ General Improvements

  • Add context menu to the room editor to delete, copy, and paste items
  • Better French translations (#371 by @rtauziac aka Crazyrems)
  • Clean up gulpfile from unneeded packages and remove builds after zipping them
  • Complete patrons tab, add a little shoutout to the starting screen
  • ct.capture: add portion method (by Tho_mas), fix object method
  • Define types for all the keys of IProject
  • Do not minify HTML/CSS if not minifying JavaScript (#364 by @markmehere)
  • Lossless image optimization for ct.js assets (#374 by @FlipFloop)
  • Notepad now accepts free text (#376 by @markmehere)
  • Tabbable copies and improved keyboard support in the room editor (#372 by @markmehere)
  • Tooltip and alt-click for palette color removal (#375 by @markmehere)
  • 🌐 Add Turkish translation by Sarpmanon from our Discord server!
  • 🌐 Update Dutch translation, by GambleBranch
  • 🌐 Update Brazilian Portuguese translation (#384 by @leedigital)
  • 🌐 Update Chinese Simplified translations (#385 by @emaoshushu)
  • 🌐 Better French translation (#393 by @FlipFloop)
  • 🌐 Update Russian translation

🐛 Bug Fixes

  • Add a missing name field to IStyle interface
  • Apply changes in the properties panel when saving a room
  • Delete typings on reset all (#373 by @markmehere)
  • Examples on Mac should be clonable only (can't save inside the app itself)
  • Fix a dumb typo in project-selector tag
  • Fix a tiny typo at russian description of Frame End event
  • Fix broken Pointer Enter, Pointer Leave events
  • Fix custom property cloning link issue (#388 by @firecakes)
  • Fix issues with timer events in the Catsteroids example
  • Fixed bug of not showing texture and sound gallery when ctjs is run outside of your home directory (#386 by @leedigital)
  • Names of content types should be marked as required
  • Remove Wheel Scroll event — it was never supported by pixi.js v5.3.9. Use Actions and ct.pointer inputs instead.

📝 Docs

  • 🍱 Update vuepress to v2-beta-51
  • 🐛 Fix English headers in informative blocks on Russian locale
  • ⚡ Update several Russian pages

🌐 Website

  • 📝 Update changelog for v3.0.1

🌻 Misc

3.0.1

12 Sep 11:28
Compare
Choose a tag to compare

⚡️ General Improvements

  • 🌐 Update French translation (#366 by @rtauziac)
  • 🌐 Update Japanese translation (#367 by @taxi13245)
  • Drop precision on position and scale of objects in the room editor. Reasonably rounds their values to more logical numbers.

🐛 Bug Fixes

  • Add support for template and texture arrays to the Context subsystem
  • Escape single quotes while stringifying certain properties. This allows, among other things, use of ' in custom properties (room editor) and template names
  • Fix ct.place crashing game if a collision check is made on a disproportionately squished circle
  • Room editor shortcuts must work only if the Rooms tab is active

🍱 Demos, Dependencies and Stuff

  • Update nw.js to v0.67.1

📝 Docs

  • ⚡ Fix old terminology in skeletal-animation.md (by @omartek)
  • Italian translation for the working-with-editor section (by @omartek)

🌐 Website

  • 🐛 Fix img tag appearing in games' descriptions on the Made With page
  • 🐛 Remove .DS_Store
  • 📝 Update changelog
  • ⚡ Add a working version of web installer for windows
  • ⚡ Italian documentation translation is now public; add a proper link in the header!
  • ⚡ Temporarily replace web installer for windows with zip archives
  • ⚡ Update italian translation (@omartek)

🤖 Misc

  • 🔥 Remove now useless twoPi var in ct.place

3.0.0

09 Sep 10:01
Compare
Choose a tag to compare

✨ New Features

  • Add a tour-guide tag for making tours in ct.IDE. Add an overview guide to the app-menu. Also simplifies the code of app-menu navigation a bit.
  • Add ct.rooms.restart() method
  • Events framework — more vanilla events and ability to add modded ones! Closes #215
  • New rooms editor! Closes #39, #76, #269
  • New & Updated Themes (Nord & Rosé Pine) (#344 by @ehanahamed)
  • Pride mode with a colorful navigation
  • Support for blank textures (#362 by @markmehere)
  • 🍱 Add a vgui catmod by Firecakes (Textbox component)
  • 🍱 Desktop features Catmod: New Features & Rewrite of Previous Features (#354 by @ehanahamed)

⚡️ General Improvements

  • 🌐 Update Russian translation
  • 🌐 Update Dutch translation, translated by GambleBranch from Discord server!
  • 🌐 Update Debug translation
  • 🌐 Ukrainian translation by @progzone122
  • 🍱 Update ct.matter; you can now design gameplay logic with events in the template editor. Also brings an update to the 2DPhysics example
  • Add Boosty link to the starting screen; change "Donate" url to boosty page
  • Add explanations to ct.js license in the license panel (with suggestions by Shiba). Closes #345
  • Add sanity checks for the texture editor. Closes #361
  • Backgrounds' parallax effect now behaves more natural when zooming in/out
  • Re-capture window focus on game's mouseover in ct.pointer
  • Remove event listeners on ct.fittoscreen.toggleFullscreen. It is now supposed to be run in new pointer events
  • Replace gulp-typescript with @ct.js/gulp-typescript. Allows building ct.js on Node.js v18+
  • Simplify memocats by using built-in pointer event (#360 with @omartek)
  • Support for Meta key for Mac as an alternative to Control key during room editor's deleteX interactions
  • Visually dim deprecated catmods

🐛 Bug Fixes

  • 🌐 Fix Russian "export for web" translation
  • Big texture support, above 2k by 2k (#358 by @markmehere)
  • Change the "Create a template from it" for skeletal animations so it actually works
  • ct.res must wait for skeletal animations to finish loading before starting the game
  • Fix array editors writing nothing when working with assets
  • Fix broken license panel
  • Fix ct.delta behaving incorrectly if ct.speed is changed (It is actually a band-aid over pixi.js' issue, buuut oh well)
  • Fix ct.emitter.follow rotating around a copy at a wrong angle
  • Fix ct.inherit's regression from v1. Closes #337
  • Fix ct.light using changed ct.templates.exists inappropriately
  • Fix event list being shared on newly created templates
  • Fix examples and templates not showing when ctjs is run outside of your home directory (#357 by @leedigital)
  • Fix freshly-created textures crashing the room editor
  • Fix inability to select a preview texture in emitter tandem editor
  • Fix node context missing in ct.js debugger. Makes Node.js and ct.fs work again.
  • Fix unusable modal window on Linux systems during project creation (#351 by @leedigital)
  • Fix the alert about improper web build usage that was popping up in Electron builds
  • Remove a reference to a non-existent sourcemap from ct.filters denendency
  • Tiny visual fix for collapsible input groups in the template editor
  • Truncate long names in resource cards. Closes #353
  • Update Comigo (what?)
  • Update coordinates of primary pointer in gameplay coordinates if a user doesn't move the pointer
  • ct.matter: fix physics breaking when additional rooms are appended to the current one

🍱 Demos, Dependencies and Stuff

  • Update Space Shooter example project
  • Pull the latest docs
  • Update 2DPhysics example with a restart button and ct.pointer in place of ct.mouse
  • Update asset gallery contents
  • Update Catformer example
  • Update various demos and templates
  • Update JettyCat example
  • Update memocats example
  • Update Platformer example

📝 Docs

  • 👏 Pt-BR documentation translation (100% translated!) (ct-js/docs.ctjs.rocks#75 by @leedigital)
  • 🐛 Fix "Propose edits" link
  • 🐛 Fix pre-v1 direction value at the JettyCat tutorial
  • 🐛 JettyCat fixes (ct-js/docs.ctjs.rocks#81 by @omartek)
  • ⚡ Minor edits and fixes for localStorage page. Add a missing comma and a couple of comments
  • ⚡ Update all tutorials. ALL HAIL FIRECAKES!
  • Content Subsystem Docs: Fixed Grammar Errors
  • Corrected Grammar in Basic Concepts Docs
  • Fixed Incorrect Grammar ct.inputs Documentation
  • Room Class Docs: Fixed Minor Grammar Errors
  • Updated ct.styles Documentation

🌐 Website

  • 👏 Italian site translation (ct-js/ct-js-site#27 by @omartek)
  • ⚡ Add a link to ct.js cheat-sheet to the "what's next" section, put a little heart in place of the list counter to the patreon section
  • ⚡ Add a link to web installer for Linux
  • ⚡ Replace patreon links with boosty ._.
  • ⚡ Update Downloads page. Add a Windows web installer

🌻 Misc

  • 🔥 Remove property thumbnail from the rooms objects in project data
  • 💩 Fix npm ci problems

2.0.2 — Bunch of fixes for v2, translations updates for Chinese and Turkish language.

17 Apr 08:07
Compare
Choose a tag to compare

✨ New Features

  • Internal: Add two utility classes to change cursor on specific elements

⚡️ General Improvements

  • Add an explicit close button to the asset-selector, if there is a cancel action defined to it. Also adds an example of a "close" button pattern inside a dimmer to the CSS stylebook
  • Add basic typings to Window object and to the global scope (setTimeout and co, atob, btoa and such)
  • Add support for ct.pointer to ct.vkeys
  • Do not show "there is nothing here" filler if an asset viewer has to display a "none" option
  • Move particles' node modules to the same folder as tandems'; enforce type checks on default emitters and tandems; add the missing uid property to emitter tandems.
  • Tweak UI animations' duration; add subtle animations to most modal dialogues
  • Update Chinese Simplified translations (#335 by @emaoshushu)
  • Update Turkish translation. 100% coverage thanks to Sarpmanon.js!

🐛 Bug Fixes

  • 🍱 Fix music stopping on the third level of the Lab Raid demo. Thanks mugeen for finding the issue and its source.
  • Changing speed of a copy from zero should reuse its saved direction (zeroDirectionAccessor). Closes #334
  • Fix asset inputs' styles affecting button groups deeper into its tree
  • Fix broken project-aware code completions
  • Fix ct.place.moveAlong (which is also this.moveContinuous for copies) using v1 directions values and not handling the latest bit of the path properly
  • Fix ct.pointer not writing pointer.PrimaryKey, pointer.SecondaryKey to the Actions system
  • Fix the asset selector applying styles to more than it should have. Fixes the group editor inside asset selection models being large as heck.
  • Fix the asset-selector incorrectly capturing clicks on its modal's background

2.0.0, 2.0.1 — Better. Smarter. Powerful.

27 Mar 04:41
Compare
Choose a tag to compare

Ct.js v2, after almost a year of development, is finally out 🎉 This update makes a groundwork for a more efficient evolvement of ct.js, and also brings a ton of new features and improvements.

It has experimental mobile export support, free asset gallery, asset grouping, translatable catmods, new UI themes, new documentation articles, ct.pointer as a successor to ct.mouse and ct.touch, and yadayadayada.

v2.0.1

⚡️ General Improvements

  • Internal: automate publishing to Github assets with Gulp and Gitlab CI

🐛 Bug Fixes

  • Fix the missing asset gallery's assets

v2.0.0

✨ New Features

Major features

  • Action presets
  • Export and import Action presets as JSON files
  • Add a built-in asset gallery of CC0/WTFPL assets
  • Add a Ghost color scheme
  • Appearance section in the type editor that groups ol' Depth and Visible fields with a shiny new Blend Mode selector, Opacity input, and a checkbox for playing the sprite animation automatically
  • Array fields for modded controls and the content editor
  • Built-in sound recorder
  • Content type editor for making customized tables for structural data. Also introduces icon-selector and icon-input tags.
  • ct.pointer module. Closes #314
  • Export to Android with Capacitor framework 🎉
  • i18n support for modded fields
  • ✨Nord Theme for ct.js (#301 by @SaberTooth-Studios)
    Created Nord UI & Monaco Editor Theme for ct.js, using the NordTheme (nordtheme.com) color pallete, an arctic north-bluish color palette with beautiful and harmonic color contrasts.
  • Project templates functionality; debuting with a platformer template!
  • Revamp of the asset viewer: it now supports grouping your assets with categories, as well as displays handy information in forms of small icons. Besides that, every tab now supports three display modes: list/table view, regular cards, and large grid of cards.

Minor or mostly internal additions

  • Add a stylebook for CSS classes, found in the Meta panel of the main menu. Also removes some discovered dead classes. Partially solves #317
  • Add dividers to extension editors' select boxes
  • Add small buttons to the texture editor to copy collision masks from one texture to another
  • ct.u.numberedString, ct.u.getStringNumber methods
  • Internal: expose theme's colors with theme manager's getSwatches method
  • Internal: the reusable collapsible-section now supports adding a custom header with a special yield slot
  • New forms and fillers for the texture generator

⚡️ General Improvements

  • Actions' input method selector now searches by module's name, too
  • Add a .monospace CSS class
  • Add a wide variant of aButtonGroup to CSS. Add support for wide asset-inputs
  • Add a workaround for Windows' issues with music files and their locking
  • Add an additional language selector to the starting screen
  • Add an alert message to ct.js' main.js file to warn users/developers when they try to run a web build as a web page.
  • Add Japanese UI translation by karintou21
  • Add Russian translation to a good portion of catmods
  • Better display of modules' documentation
  • Change action presets to use ct.pointer instead of deprecated ct.mouse and ct.touch
  • Change exit button text for all editors to "Apply", except for the rooms' event editor. (#309 by @QuickBanjo)
  • Change how compact extended asset fields are defined. Improves the UI of the content editor
  • Create a universal asset picker. Closes #316
  • Ct.js' copies now remember direction if their speed is 0
  • Generate shorter GUIDs for everything with NanoID
  • Icons for room editor's context menus
  • Improvements to this.tex property: If you set the texture to the same one, the change will be ignored. If you do change the texture and the previous animation was playing, the new one will play automatically as wel.
  • Layout improvements for the texture editor
  • Make ct.templates.valid a TypeScript type guard
  • Make i18n keys follow camelCase, also fix a few vague names here and there
  • Mark ct.mouse and ct.touch for deprecation. Use ct.pointer instead.
  • Minor edits to i18n linter
  • Minor UI tweaks of the room editor
  • Modals' buttons now have some spacing between them when they stack vertically
  • Optionally show frame indices in the texture editor
  • Remove dead unused properties from the ct object
  • Rename ct.place's ctype into cgroup
  • Rename injects to injections. Injects were just bad English.
  • Rename types into templates
  • Reorder src/tags/project-settings folder
  • Replace "coin" icons to "texture" icons in emitter tandem editor, so it matches the icons used in UI to refer to textures
  • Simple macOS fixes including bumped nwVersion
  • Sound editor now prevents Apply when name is taken. (#311 by @QuickBanjo)
  • Texture inputs (which are used in the type editor and some places in the Project tab) now have a "Clear" button inside them.
  • The tag catmod now supports arrays of tags
  • UI improvements for the textures and FX panels
  • UI: better readability for on-canvas labels and buttons, especially for dark color schemes
  • UI: better readability for on-canvas labels and buttons, especially for dark color schemes
  • UI: Quicken icons loading, removing lags on icon-heavy interfaces
  • Use a custom Pixi ticker instead of a shared one. This magically heals FPS drops in platformers (w h a t)
  • Widen the columns of the texture editor
  • Write an icon list It seems it was lost while cherry-picking changes from develop.

Internal changes

  • Add more methods & typings to resources/modules for a more uniform and accessible use elsewhere
  • categorize JS scripts into several folders
  • CI/CD: Partially migrate to Gitlab CI
  • Consistent CSS class naming for building blocks
  • develop branch: Fixed launch.json to work with nwjs extension. (#304 by @QuickBanjo)
  • Fixed launch.json to work with nw.js extension (#303 by @QuickBanjo)
    Also committing autogenerated change to package.json
  • rename modulesWithDocs to modulesWithFields inside project-settings, as the previous name did not reflect the contents of the actual collection
  • Make a versions.js file that checks and returns used nw.js and pixi.js versions. versions.js should now be used as a source of truth about used nw.js and pixi versions. Closes #305
  • Update ct.sprite for new ct.res API
  • Update gulp-pug to v5
  • Update node-notifier to v10.0.0
  • Update pixi.js to version 5.3.11
  • Update pug to v3
  • Update Russian i18n file

🐛 Bug Fixes

  • Add missing typings for ct.mouse.hide, ct.mouse.show
  • Add missing variables to UI themes
  • Add the missing injection "beforeframe" to the exporter
  • Ct.js now shows exit confirmation dialogues only when needed. The dialogue now also appears when you close the app with unsaved changes. Closes #302
  • Fittoscreen should not try to change ct.camera if the game hasn't loaded yet. Closes #299
  • Fix ct.place.enableTilemapCollisions' effect being cancelled if called in room's OnCreate event
  • Fix invisible save dialogs covering interface. Closes #293
  • Fix missing port number in debugger's QR-code generator
  • Fix room editor behaving funky when their scaling values are zero.
  • Fix room's properties panel hiding the "apply" button when there are lots of modded properties
  • Fix several issues with insecure dependencies
  • hover-hint tag should be vertically aligned
  • Remove excess keys from the i18n files
  • Remove icons.json that should've been gitignored
  • Remove unused project prop "styletick" (#313 by @QuickBanjo)
  • Set exported games' doctype to html
  • The "Open Project" button in the main menu didn't actually listen to user's decision on whether or not they were sure they wanted to close the current project.
  • Update the sidebar of the Project tab when a new content type was created
  • Workaround for #276 (#281 by @Girgetto)

📝 Docs

  • ✨ Introduction to JavaScript: part III. Arrays and Objects. Co-authored-by: firecakes [email protected]
  • ✨ Add "Making your own sound module"
  • ✨ Add docs for the content subsystem
  • ✨ Add docs for the room editor
  • ✨ Create a document section for building your game and deploying it online (#69 by @NicBritz)
  • 🐛 Change "An utility that managess" to "A utility that manages" in ct.res comments (#294 by @Tiger-The-Cat )
  • 🐛 Change "There are ariants" to "There are variants" in ct.touch docs (#300 by @Tiger-The-Cat)
  • 🐛 Change two occurences of "ligth" to "light" in ct.light docs (#295 by @Tiger-The-Cat)
  • 🐛 Fix spelling issues in the riot doc format
  • Add an example on spawning a bullet relative to a player in ct.u docs
  • Add fields' "array" type to homepage's notable additions
  • Add the if key to modded fields' docs
  • Document new features of modded fields
  • Document v2 changes in ct.u, ct.camera, ct.templates
  • Write about changes in ct.place inside the migration guide
  • Write initial set of notable changes on docs' homepage
  • Move "Actions" page to the "Working with the editor" section
  • Remove v1.x badges from "Fields reference for module settings and additional fields"
  • Update docs for ct.res.
  • Update docs for ct.u.rotateRad, ct.u.rotate, ct.u.uiToGameCoord, ct.u.gameToUiCoord and ct.camera's derived methods
  • Update docs on this.angle, this.rotation
  • Update dragging-copies.md. Removed merge conflict from example code
  • Wording fixes, mainly tons of type -> template replacements
  • 🐛 Change "ct.transision" to "ct.transition" (#62 by @Tiger-The-Cat)
  • 🐛 Fix a broken warning plaque in the JettyCat tutorial
  • 🍱 Update VuePress

🌐 Website

  • 🐛 Change "StromCross" to "StormCross" (#21 by @Tiger-The-Cat)
  • 📝 Update changelog
  • ⚡️ Better wording for What's next section
  • ⚡️ On downloads page, replace the itch.io iframe with a link
  • ⚡️ Reformat "what's next" section and add a Russian Discord server (shown on Russian locale only)
  • Merge branch 'master' of github.com:ct-js/ct-js-site

🍱 Demos, Dependencie...

Read more

v1.7.0 — A smaller update with custom copies' properties, project cloning feature, and Russian i18n update

10 Apr 08:34
Compare
Choose a tag to compare

✨ New Features

  • Add custom properties modal for copies (#275 by @firecakes)
  • Added map() function to ct.u (#274 by @qewer33)
  • Clone projects from the starting screen

⚡️ General Improvements

  • 🌐 Update Russian i18n file
  • Add an optional "Made with ct.js" logo shown while a game is loading. Can be turned off in Project tab -> Branding section
  • Add more social icons to the starting screen

🐛 Bug Fixes

  • Fix emitterTandem.pause() stopping completely if called several times before calling emitterTandem.resume()
  • Fix game's icon not being reset when its texture is deleted
  • Fix page name and app color for exported games
  • Fix targetX and targetY handling for cameras' boundary restrictions

🌐 Website

  • 🐛 Add the missing link to the German translation to the footer
  • ⚡ Add a link to Vkontakte to footer
  • ⚡ Update "What's next" block
  • ⚡ Update navigation bar

v1.6.2 with fixes of v1.6.0 and Pixi.js update

31 Mar 01:15
Compare
Choose a tag to compare

⚡️ General Improvements

  • Add JS map files for pixi.js
  • Update pixi.js to v5.3.8

🐛 Bug Fixes

  • 🍱 Fix 2DPhysics example
  • Fix teleport, spin, rotate, and rotateBy methods in ct.matter module

🐉 Misc

  • Revert "Modify emitter tandems to use ParticleContainer"
    This reverts commit b8a47f4.

Modules for FX, Multiplayer, and 2D physics, and sprinkles of minor improvements

28 Mar 03:57
Compare
Choose a tag to compare

✨ New Features

  • Add ct.filters module by SN from our Discord server. The module allows creating special visual effects with filters or custom shaders, applied to your copies or a whole viewport
  • Add ct.light module for adding ambient lighting and textured lights
  • Add ct.matter module for 2D physics. See the new example!
  • Bundle ct.nakama module by @alexandargyurov — you can now create online games with ct.js!
  • Group modded fields into collapsible sections with a new field type
  • Nano ID catmod of the same-named tiny library by Andrei Sitnik
  • Optionally make a camera stay inside a specific rectangle with new rooms' settings.

⚡️ General Improvements

  • 🍱 Update Electron used in desktop builds to v11.1.1
  • Allow Background class to accept a pixi.js texture
  • Modify emitter tandems to use PIXI.ParticleContainer. Provides better performance, and also fixes issue with un-tintable emitters.
  • Renovate ct.desktop -> quit method
  • Select only the needed Nw.js version for debugging

🐛 Bug Fixes

  • Allow resetting values in type and texture inputs at modded fields
  • Fix "}" at the end of some texture files' names
  • Fix bitmap font's XML ("kerings" typo")
  • Fix broken context menu entry for textures to create a type from them
  • Fix crashes of the built-in debugger; disable nw and node in the devtools
  • Fix ct.place.meet returning duplicated references to copies if querying for multiple obstacles
  • Fix icons for nightly and regular releases
  • Fix Point2D initialization for modded fields
  • In rooms' copy spawning code, check for scaling extensions separately
  • Remove the old main-menu tag

🍱 Demos, Dependencies and Stuff

  • Update nw.js to v0.51.1

📝 Docs

  • Add "Dragging Copies Around" tutorial by @qewer33
  • 🐛 Add missing methods ct.types.isCopy, ct.u.hexToPixi, ct.u.pixiToHex
  • 🐛 Add moveTo and teleportTo methods in ct.camera (#49 by @firecakes)
  • ✨ Add a list of gamedev resources
  • ⚡ Add categories to ct.u methods list
  • ⚡ Minor edits for JS intro, pt. 1
  • ⚡ Refurbish the home page. Move most old content to "Basic concepts". Add links to tutorials and the cheatsheet.
  • 🐛 remove duplicate instruction to draw scoreLabel.
  • Add a memo about ct.desktop.isNw and ct.desktop.isElectron
  • Fixed typos in the Space Shooter tutorial by @sarturodev

100% Chinese translation, nw.js update, and minor improvements

24 Dec 04:42
Compare
Choose a tag to compare

✨ New Features

  • New tweening functions (elastic, bounce, and with backward motion) for ct.tween by kkornushin
  • Two UI themes Pooxel Green and Pooxel Blue for that retro feel 👾

⚡️ General Improvements

  • Chinese Simplified 100% translated for branch v1.x (#246 & #248 by @emaoshushu)
  • Use nw.js' nightly build 25eea59. Solves the issue with restarting ct.js after running a game in it.

🐛 Bug Fixes

  • Fix exts object missing on newly created copies.
  • Fix formatting problem at ct.place docs > Tracing functions > ct.place.traceRect.
  • Partially fix memory leaks in paricle emitter editors.

📝 Docs

  • Use cgroup instead of ctype in ct.place typings and docs to remove ambiguity with ctypes and regular types
  • 🐛 Fix wrong function names at ct.noise

APIs for backgrounds and tilemaps, modules for procgen, collision tracing, two new UI themes, and much, much more

08 Nov 10:34
Compare
Choose a tag to compare

✨ New Features

  • "Visible" checkbox at a type editor
  • A toggle at room's settings to set a room as a UI layer
  • Add silent option for ct.tween.add to suppress errors on non-vital animations
  • Add the main menu entry to change data folder (Closes #238)
  • Add basic Discord Rich Presence
  • Add diamond-like partitioning for caching tile layers (ct.tilemaps.cacheDiamond)
  • Add high-contrast black theme
  • Add histogram, pessimistic and optimistic methods to ct.random catmod
  • Add minify, obfuscate, and function wrap transforms for exports (#242 by @naturecodevoid)
  • Add storage catmod
  • Check for ct.js folder write permissions, and show a prompt when it is not writable
  • ct.backgrounds API
  • ct.camera.contains to check whether a copy (or another displayable object) is potentially visible on a screen
  • ct.noise module for seeded Perlin and Simplex noise functions, useful for freeform procedural level generation.
  • ct.splashscreen module (Closes #148)
  • ct.tilemaps API
  • ct.types.isCopy(obj) method to check whether a variable is a copy
  • ct.u.hexToPixi, ct.u.pixiToHex
  • F11 to toggle fullscreen
  • Forest UI theme — an adaptation of https://github.com/sainnhe/forest-night-vscode by @sainnhe
  • Jump to a texture from texture inputs
  • Solid color fills and cross drawing at placeholder texture generator
  • Specify multiple video formats at ct.cutscene
  • Table inputs for modules — they allow users to create collections of complex objects with specified structure, readable in a module as an array
  • Tracing methods for ct.place (Closes #232, #117)

⚡️ General Improvements

  • Add preventive checks to ct.sound.howler to not throw errors if one tries to manipulate stopped/non-existent sound
  • Add typings for Room.uid property
  • Allow media access, pointerLock API, and download prompts for games inside the built-in debugger. Makes ct.capture work inside this debugger.
  • Autocompletions for ct.rooms.list
  • Background.isUi is now read-only and is calculated based on its parent's value. Fixes alignment issues for backgrounds that are added to UI layers.
  • Controls for texture shape are working similarly to curve editors now: you can press in the middle of a line segment and drag out a new point, and delete points with right-click
  • ct.res.getTexture('Name', null) now returns the whole animation
  • Foreign key unwrapping support for modules' settings and injections, plus recursive unwrapping for arrays
  • Improve workflow for creating new themes, generalize theme-related code as a node-require module "themes".
  • Put additional bleeding on transition's sides from ct.transition to mitigate rendering issues due to rounding
  • Refurbish project selector and add Examples tab
  • Refurbish the exporter
  • Return copies in ct.place.moveByAxes. Fix issues with type definitions.
  • Textures: Pressing Fill + To Center now produces the same result as To Center + Fill.
  • Tweak typings for ct.place
  • Vertical and horizontal lines in curve editors display more reliably

🐛 Bug Fixes

  • Add a translation key to the English file, for the Horizon theme
  • At the room editor, fix eraser's size not falling back to some constant if a grid was disabled
  • Don't show a context menu when right-clicking on curve points
  • Fix a bug with the replacement of $', $& and other special RegExp tokens in injections and user-provided code
  • Fix a memory leak that made the whole old IDE set not being freed on project change
  • Fix a stupid issue with ct.capture
  • Fix an issue about a timer not being destroyed if a game switched to a room with the same name (restarted a room).
  • Fix broken ct.camera typings
  • Fix Camera.getBoundingBox
  • Fix horrible memory leak at debugger-screen-embedded
  • Fix image transforms for thumbnails
  • Fix issues with font loading if the project's full path contains spaces
  • Fix issues with non-repeating UI backgrounds
  • Fix subsequent pause calls on an emitter breaking this emitter entirely
  • Fix themeSpringSream in Brazilian Portuguese translation file
  • Fix typings for ct.sound.follow
  • Fix usage of viewWidth/viewHeight in catmods
  • Fix wrong default folder for the starting project selector
  • Focused buttons should be highlighted
  • I don't know what it was, but it is fixed
  • Initialize ct.mouse.x, ct.mouse.y, and ct.mouse.xui, ct.mouse.yui with zero values.
  • SpringSream -> SpringStream at i18n files
  • Submenus should not disappear if their elements are focused by pressing the Tab button
  • Trim whitespace while creating new projects to avoid problems with build tools and sticky situations because of invisible symbols
  • Type's name should change from default to texture name after texture selection
  • Zero parallax value should be a valid one

🍱 Demos, Dependencies and Stuff

  • Add a MoveBlocks example
  • Add a DungeonCrawler example

📝 Docs

  • 🐛 Add missing part to platformer tutorial
  • 🐛 Explicitly note the removal of this.move() at platformer's robot character (Closes #33)
  • ⚡ Add gifs that explain how ct.camera.realign(room) works (Closes #21)
  • ⚡ Clarification for ct.types.copy (Closes #32)
  • ⚡ Rename properties at the platformer tutorial to standard names
  • Format method names in ct.place docs. It looks better this way.

🌐 Website

  • ⚡ Update changelog

👽 Misc

  • 🔥 Remove ancient image files that are no longer used by ct.IDE