Ct Js Versions Save

Ct.js is a desktop game engine that makes learning programming fun and game development easy by its visual editors and well-documented code library

v4.0.2

2 months ago

✨ New Features

  • Add a menu item to duplicate emitter tandems. Closes #498
  • Export and import emitter tandems from files
  • Now you can change the background color in the style editor

⚑️ General Improvements

  • :globe_with_meridians: Update Chinese Simplified translations (#500 by @emaoshushu)
  • Behaviors will now have an additional icon in the asset viewer showing the asset type it was created for
  • Do update checks at max once in an hour if it was successfully requested before
  • Emitter editors will now show a (?) image instead of a blank broken image if no texture was set
  • (Internal) Move properties assignment for AnimatedSprite from the Copy mixin into the pixi.js-based class.
  • Now line height in style editors will scale with the font size when you change the latter
  • (Internal) Refactor copy creation off base classes, move CopyAnimatedSprite, CopyText, CopyContainer prototypes into separate pixi.js-based classes.
  • Remember whether the grid was disabled in a specific room
  • Transparent background in style editor. Make the preview occupy the available space in the editor.

πŸ› Bug Fixes

  • Fix broken QWERTY and Shift+S hotkeys in room editors
  • Fix buttons skipping their pointer events after being disabled and enabled back
  • Fix discardio not removing old keys from asset object before assigning new ones, which led, for example, to not being able to disable stroke/fill/shadow settings of style assets
  • Fix double caching of tile layers that breaks rooms.merge call. Closes #501
  • Fix fs catmod failing when run in node.js context and trying to work with relative paths
  • Fix hotkeys being ignored if non-english keyboard layout was in use
  • Fix nine slice panes' tint being reset on click and not saved in the room-editor
  • Fix not being able to deselect items after sorting and moving them
  • Fix not being able to set tint with this.tint or the room editor to buttons.
  • Fix scripts sometimes having blank screen when switching back and forth tabs
  • Remove deleted behaviors from opened template editors, and deleted behaviors and templates links from rooms' properties panel
  • Sound assets should prompt for a name when created

πŸ“ Docs

  • :bug: Fix movement by a grid (#132 by @0xFFAAF)

🌐 Website

  • :zap: Update wording on essentials on the homepage

v4.0.1

3 months ago

⚑️ General Improvements

  • Changed button text from Save to Apply (#495 by @AnukratiMehta)
  • Improve migration script for v4 to handle cases when assets had broken references to groups

πŸ› Bug Fixes

  • Fix migration code for v4 throwing an error if a project did not use fittoscreen catmod.
  • Fix pointer.collides method
  • Tabs of deleted assets must automatically close. Closes #491
  • Update copies in room editors if their linked text style has changed. Closes #493

🍱 Demos, Dependencies and Stuff

  • :zap: JettyCat's example project should use a text base class for its highscore label in the defeat screen
  • πŸ› Fix fullscreen switcher in Catformer example(#490 by @sk757a)

πŸ“ Docs

  • πŸ’© Use a vanilla document search
  • Drop ct. prefix in catmod docs (#494 by @ehanahamed)

v4.0.0

3 months ago

✨ New Features

  • Add a flag in main app menu -> Troubleshooting section to disable Vulkan support. This allows SteamDeck users to fix webgl issues with ease.
  • Add a random.text method
  • Add an option to disable caching of a tile layer
  • Add context menu options in a room editor to sort copies and tiles by their X or Y coordinate
  • Add context menu options in a room editor to send copies or tiles to back/to front
  • App Blur and Focus events for rooms
  • Asset confirmation popup when running a game without applying assets
  • Asset folder tree with D&D support.
  • Asset sorting by type.
  • Base classes. A framework for adding new base classes templates are built upon and UIs for users to make templates that behave differently from regular animated sprites. Includes:
    • Ye old Animated Sprite.
    • Repeating texture and Sprited counter base classes.
    • Containers.
    • Nine-patch panels.
    • Buttons.
    • TextBoxes.
  • Bindings for copies' properties in the room editor
  • Branding options to switch "Made with ct.js" to the regular logo + to replace loading text
  • Ct.js now adds hash sums of exported files' names to textures, icons, and your game's source code. It makes it easier to update your games on your own servers and prevents the usage of outdated assets for your players. Note that index.html file should never be cached β€” the other assets can now be cached.
  • Ct.js will now backup your project's .ict file versions in addition to making recovery files. Amount of backups can be configured in main project's settings (old Authoring tab)
  • Drop assets onto breadcrumbs.
  • In the room editor, copies now show their templates' names when you hover them.
  • Mass operations on assets in the asset browser
  • Multiple asset dragging into folders
  • New Behavior asset type
  • New event "On app exit" for desktop catmod.
  • New previewing engine (#441 by @markmehere). Co-authored by @CosmoMyzrailGorynych to adapt it for ct.js v4
  • New Scripts assets and extended support for asset references in content editors and catmods
  • New sound editor and sound engine (by @Atavismus with @CosmoMyzrailGorynych mentorship). Effects on API: ct.sound is now sounds, ct.sound.spawn is now sounds.play, 3D sounds are now in much higher quality and are run with sounds.playAt method. Effects on UI: it's dope.
  • Now folders can be dragged around, too! Plus colored folder icons in the sidebar
  • Optionally exportable project structure as res.tree and methods for browsing it.
  • Set a fixed array length in array-editor and extensions-editor
  • Support for TypeScript in custom scripts
  • Typescript definitions for project's content types
  • UI tools for the room editor

⚑️ General Improvements

  • Emitter editor was updated to support pixi.js v7. Some features were added, removed, or transformed.
  • "Duplicate" context menu options for templates, rooms, behaviors, and styles
  • Add a 'disabled' binding to TextBoxes
  • Add a filler for empty "Latest Projects" list
  • Add a pointer polyfill catmod to support pointer catmod in Safari browser
  • Add a prompt for new asset's name
  • Add label to the notepad panel's show button
  • Add methods to convert UI and game coordinates to coordinates in DOM space
  • Add the "New Asset" button to asset browser's filler
  • Add titles for longer settings items in the main app menu
  • Add u.time, u.timeUi. Deprecate u.delta, u.deltaUi.
  • Adds a transparent PIXI.js canvas option (#437 by @markmehere). Upgraded for pixi-v7 by CoMiGo
  • Adds alpha setting for vkeys (#435 by @markmehere)
  • Automatically open devtools in build environment
  • Better compact layout for asset-browser
  • Better handling of project scripts by keeping them as monaco models in memory. Solves errors about duplicate definitions and allows editing scripts by peeking into them from other code editors.
  • Better tabs' widths on smaller screeens
  • Bundle both PNG and WebP images on production. Let Pixi.js pick the supported format automatically.
  • Capture pointer events in the pointer catmod so the listeners fire before Pixi's built-in pointer events
  • Clamp zoom value in the room editor
  • Convert textures to PNG on import
  • Copies now have a proper hitarea for pointer events that matches the collision shape
  • Display room events in a modal window. Children were confused and lost their rooms.
  • Drop ct., make all the namespaces global objects
  • Exclude blank textures from export and retain shape (#433 by @markmehere)
  • Improve line height in modal menus (e.g. event selection menu)
  • Improve the visuals of launch confirmation window
  • Make sure every copy has at least a basic collision shape
  • Maximize window on start
  • Minor style improvement for compact asset-browser
  • New room previewer (#439 by @markmehere). Co-authored by @CosmoMyzrailGorynych for pixi v7 upgrade
  • Pug files must use LF (internal)
  • Remove extra padding in behavior lists
  • Rename ct.random catmod into random
  • Rename settings.speed to targetFPS
  • Rename some i18n keys in non-english translation files
  • Rename tween.add option useUiDelta to isUi to be in-line with ct.js API. Change transition catmod to use UI time for transitions
  • Rework project creation form in a separate tab
  • Riot mixins are now ESM modules in node_requires/riotMixins. languageJSON can now only be accessed through node_requires/i18n. (internal)
  • Set icons and metadata for ct.js' Windows executables and sign them.
  • Simplify the use of wire mixin for riot tags by removing the mandatory this in the beginning of the property path. (internal)
  • Skip texture atlas packing if no changes to textures were made.
  • Start copying sounds earlier in the exporter.
  • Sticky headers for .aNiceTable CSS class. (UI)
  • Support for base class capabilities in the exporter
  • The exporter is definitely typed now (internal)
  • Tighter layout of room editor -> room properties panel
  • Update Dutch translation (#405 by @GambleBranch)
  • Update Japanese translation (#404 by @taxi13245)
  • Update the capture catmod for v4 (#477 by @Atavismus)
  • Update the code for adding styled text labels in style-editor
  • Update the desktop catmod for Neutralino.js
  • Update the link for JDK download, so it shows exactly v17
  • Update the skeletal-animation icon
  • Updated lib.es5.d.ts (internal, #432 by @markmehere)
  • Use a locally installed node.js for setting icons on Windows executables baked from project export for desktop. Propose users to download Node.js if it is not present in the system.
  • Use simpler icons in array-editor, as icons overuse in content editors cause lagging

πŸ› Bug Fixes

  • Add the missing Promise typings
  • Allow setting scale value with plain numbers, like this.scale = 5.
  • Asset references should be updated in content types when deleted
  • Fix "Cannot read properties of undefined" when caching tilemaps with funky positions, which led to rounding errors and negative indices.
  • Fix a minor error in tween.add
  • Fix a mostly harmless error in event-list-scriptable
  • Fix an unbreaked case in emitter-editor switch statement
  • Fix android builds. Fix capacitor-cli, it is now used from the bundled package
  • Fix any type in imageUtils.ts (internal)
  • Fix asset-selector, new-asset-prompt, exporter-error closing themselves when a click starts on one element and ends on another, mainly during text selection
  • Fix broken hotkeys in the room editor
  • Fix cached tilesets having terrible, terrible render in pixelart mode
  • Fix copy system info menu, add a line about WebGPU
  • Fix Ctrl + Shift + C hotkey for devtools
  • Fix deleting tiles on a hidden tile layer
  • Fix desktop exports
  • Fix double retinization of drawing canvas that led to absurd canvas dimensions on mobile devices (and squishing of viewport)
  • Fix event list not refreshing after a catmod was enabled/disabled
  • Fix long-press events
  • Fix memory leak with deleted tilemaps hanging in templates.list.TILEMAP
  • Fix memory leak with undeleted backgrounds hanging in main copy stack and templates.list.BACKGROUND
  • Fix missing field in tile layer when pasting in a room editor with no suitable tile layer
  • Fix missing type definitions for random.from
  • Fix nudging copies with arrows in a room editor resetting copies' positions after selecting anything else
  • Fix random.coord method
  • Fix sounds', tandems', and rooms' IDs not being unwrapped for the content system
  • Fix templates.isCopy throwing errors when passed a constant value
  • Fix textures not being properly removed from linked assets
  • Fix the tiny black gap when a game is fully covering the screen
  • Fix the Translate icon
  • Fix tween catmod's typedefs
  • Fix typo in translation (Ukranian -> Ukrainian) (#459 by @sk757a)
  • Fix values in room editor tools reset when clicking on a different copy
  • Fixed Android export issue (#444 by @omkarpattanaik)
  • Ignore attempts to export mac builds on Windows
  • In texture context menu -> Create template, create a template without asking for its name; prompt for a name if already occupied
  • No texture must be texture: -1 in exporter's templates output
  • Projects' fonts must load into ct.js when opening a project
  • Remove expandViewport view mode (not needed now, use "expand")
  • Room.merge() must preserve scale, rotation, and alpha properties for copies (#457 by @winterstein)
  • Update Discord invite links (#427 by @cemalgnlts)
  • Update fs catmod to support Neutralino
  • Use collision shape from a texture set in the extensions parameter of templates.copy method

🍱 Demos, Dependencies and Stuff

  • Pull the latest asset packs
  • Pull the latest docs
  • Update examples and templates
  • Update ESlint for typescript. Fix linter issues.
  • Update nw.js to v0.72.0 (last to support windows 7)
  • Update the list of boosters

πŸ“ Docs

  • Fix typo in example code (#108 by @GambleBranch)
  • πŸ› Change a single spelling error in docs/ct.md (#110 by @FlyingPig525)
  • πŸ› Fix a typo created in sound.howler's docs (#430 by @blueloveTH)
  • πŸ› Fix broken links on the homepage
  • πŸ› ru/README.md fix links (#106 by @progzone122)
  • ✨ Add Giscus commenting service
  • ⚑️ Update Vuepress and its theme
  • πŸ› Fix links in fields-declaration
  • πŸ› Fix links in input-methods
  • πŸ› Fix links in settings-and-extensions
  • πŸ“ Docs: Fix typo in docs/modding-ctjs/fields-declaration.md
  • πŸ“ Fix old injects folder name in other languages
  • πŸ“ Fix wrong injects folder name in events-and-injections.md
  • πŸ“ Fix wrong/outdated injects folder name in mod-structure.md
  • Update README.md
  • Update the changelog

🌐 Website

  • πŸ› Fix links to Discord server
  • πŸ“ Update changelog
  • ⚑️ A little refactor
  • ⚑️ Add a line about "broken" files in MacOS to the download page
  • ⚑️ Add a line about CoffeeScript into the presskit
  • ⚑️ Add Dutch translation (#38 by @GambleBranch)
  • ⚑️ Replace AppImage installer with an .sh one (for Linux platform)
  • ⚑️ Update homepage and the changelog
  • πŸ“ Fix wording for footer license info
  • πŸ“ Fix wording for macDamangedWarning
  • πŸ“ Fix wording on homepage

✌️ Misc

  • πŸ”₯ Nuke app tour
  • πŸ”₯ Nuke the old asset viewer
  • πŸ”₯ Remove a non-existent method call
  • πŸ”₯ Remove ancient ct.3d catmod
  • πŸ”₯ Remove broken or deprecated catmods
  • πŸ”₯ Remove ct.eqs, PIXI.MultistyleText (use PIXI.HTMLText), ct.ulid (use nanoid) catmods
  • πŸ”₯ Remove discord-rpc, at least for now
  • πŸ”₯ Remove google-closure-compiler (unused package)
  • πŸ”₯ Remove old unused lines from i18n files
  • πŸ”₯ Remove pointer.permitDefault and keyboard.permitDefault (use settings.preventDefault field)
  • πŸ”₯ Remove remnants of old debugger versions
  • πŸ”₯ Remove settings.width, settings.height, as they are not used anywhere and have no effect
  • πŸ”₯ Remove the deprecated Room.addTileLayer method
  • πŸ”₯ Remove the old debugger-toolbar
  • πŸ”₯ Throw burst-mode of particle system into a dumpster, I'm quacking done
  • 🌐 Update Russian i18n file
  • 🌐 Update Brazilian Portuguese translation, by hlbarone at Discord
  • 🌐 Update Dutch translation (#485 by @GambleBranch)
  • 🌐 Update the debug translation file
  • 🌐 Update Turkish translation, by @Sarpmanon
  • πŸ’© Add a temporary band-aid for "t.isInteractive is not a function" See https://github.com/pixijs/pixijs/issues/9495 for root issue tracking
  • πŸ’© Add band-aids for @pixi/particle-emitter See https://github.com/pixijs/particle-emitter/issues/209
  • πŸ› Replace this.depth with this.zIndex (#429 by @Piyush-Deshmukh)
  • πŸ“ Fix type definitions for ct.backgrounds & gamepad module (#443 by @ehanahamed)
    • Update ct.backgrounds typedef
    • Update ct.backgrounds.list type
    • Added d.ts for gamepad catmod
  • πŸ“ Update Discord Links
  • 🧹 Annotate TODOs in code with issue numbers, remove obsolete TODOs

v3.3.0

5 months ago

✨ New Features

  • Ct.js now adds hash sums of exported files' names to textures, icons, and your game's source code. It makes it easier to update your games on your own servers and prevents the usage of outdated assets for your players. Note that index.html file should never be cached β€” the other assets can now be cached. Sounds are currently left with the old behavior as I have bigger plans for them and hashing large sound files is probably not the best idea. If you need to cache-invalidate a sound asset (say, by replacing one sound file with another), you can recreate the sound asset under the same name. Partially closes #409
  • In the room editor, copies now show their templates' names when you hover them.
  • Support for TypeScript in custom scripts
  • Catmods: New Supabase Module (#425 by @ehanahamed)

⚑️ General Improvements

  • Adds a transparent PIXI.js canvas option (#437 by @markmehere)
  • Adds alpha setting for vkeys (#435 by @markmehere)
  • Clamp zoom value in the room editor Closes #407
  • Exclude blank textures from export and retain shape (#433 by @markmehere)
  • Introduces ct.keyboard.permitDefault and ct.pointer.permitDefault (#434 by @markmehere)
  • Pug files must use LF
  • styleUtils to TypeScript and new IStyle interface (#440 by @markmehere)
  • Update Dutch translation (#405 by @GambleBranch)
  • Update Japanese translation (#404 by @taxi13245)
  • Updated lib.es5.d.ts (#432 by @markmehere)

πŸ› Bug Fixes

  • Allow setting scale value with plain numbers, like this.scale = 5. Closes #403
  • Allow textures to be set to -1 (#438)
  • Fix "Cannot read properties of undefined" when caching tilemaps with funky posisions, which led to rounding errors and negative indices.
  • Fix copies' custom properties in the room editor
  • Fix shared asset pickers for sounds and emitter tandems
  • Fix sounds', tandems', and rooms' IDs not being unwrapped for the content system
  • Fixed Android export issue (#444 by @omkarpattanaik)
  • Ignore attempts to export mac builds on Windows
  • Update Discord invite links (#427 by @cemalgnlts)
  • Use collision shape from a texture set in the extensions parameter of ct.templates.copy method

🍱 Demos, Dependencies and Stuff

  • Update docs. Fix links to tutorials on the onboarding screen

πŸ“ Docs

  • πŸ“Fix typo in example code (#108 by @GambleBranch)
  • πŸ› Bring back the adequate search plugin that doesn't ignore code in headers
  • πŸ› Change a single spelling error in docs/ct.md (#110 by @FlyingPig525)
  • πŸ› Fix a typo created in sound.howler's docs (#430 by @blueloveTH)
  • πŸ› Fix broken links on the homepage
  • πŸ› ru/README.md fix links (#106 by @progzone122)
  • ✨ Add Giscus commenting service
  • ⚑️ Fix dependencies' versions
  • ⚑️ Tweak search settings a bit
  • ⚑️ Update Vuepress and its theme, add search back
  • πŸ› Docs: Fix links in fields-declaration
  • πŸ› Docs: Fix links in input-methods
  • πŸ› Docs: Fix links in settings-and-extensions
  • πŸ“ Docs: Fix typo in docs/modding-ctjs/fields-declaration.md
  • πŸ“ Fix old injects folder name in other languages
  • πŸ“ Fix wrong injects folder name in events-and-injections.md
  • πŸ“ Fix wrong/outdated injects folder name in mod-structure.md
  • πŸ“ Add a comment to project-selector

🌐 Website

  • πŸ› Fix links to Discord server
  • ⚑️ A little refactor
  • ⚑️ Add a line about "broken" files in MacOS to the download page
  • ⚑️ Add a line about CoffeeScript into the presskit
  • ⚑️ Replace AppImage installer with an .sh one (for Linux platform)
  • ⚑️ Update homepage and the changelog

🌻 Misc

  • πŸ“ Fix type definitions for ct.backgrounds & gamepad module (#443 by @ehanahamed)
    • Update ct.backgrounds typedef
    • Update ct.backgrounds.list type
    • Added d.ts for gamepad catmod

v3.2.0

1 year ago

✨ New Features

  • Add a small button to collapse template's properties panel. Useful for presentations.
  • Add an option to room settings to automatically follow a copy of a given template
  • Catmod for integration with Game Distribution, an ad service (#394 by @UlisesFreitas)
  • Support for CoffeeScript! Choose your preferred language when creating a new project πŸ’ͺ

⚑️ General Improvements

  • 🌐 Update Turkish translation, made by Sarpmanon from our Discord server!
  • Add aliases this.moveSmart and this.moveBullet for this.moveContinuousByAxes and this.moveContinuous correspondingly (these come from the ct.place module)
  • Add documentation links to the content editor's panels
  • Add hotkey hints to undo/redo buttons in the room editor
  • Do not show table headers for copies' custom properties when no properties exist
  • Force background on the notepad panel's "expand" button; useful on dark themes with which it can blend with backgrounds
  • Make addresses in the QR code panel selectable (debugger's toolbar)
  • Prevent nw.js SDK menu from popping up when ct.js is packaged
  • Relayout code editors when switching tabs. Prevents code editors from disappearing after zooming or switching template coding layouts
  • Rework texture editor's layout
  • Show theme colors in the app settings -> theme menu
  • Update textbox tutorial for v3 and add the missing step (#396 by @firecakes)
  • Warn users that they need to add a tile layer when they try to add tiles into a room that doesn't have any layers

πŸ› Bug Fixes

  • 🍱 Update 2DPhysics example
  • Don't attempt to focus items in a context menus if there are no such
  • Fix an ugly splash screen for the DungeonCrawler demo project
  • Fix broken sound recorder
  • Fix scrollbars sometimes appearing in the room editor
  • Fix templates not being properly cleaned up if they are in a currently opened room
  • Fix texture offset being applied to the texture preview window
  • Fix wrong click location on a tile picker
  • Ignore clicks on the "Run" button if a project is already being compiled. Should remove most of the headache with Window's EPERM issues
  • Initialize timers for rooms
  • Outline currently selected template in the room editor's template browser
  • Room's background color input must not have an alpha input
  • Set default values for room's camera restrictions
  • Update respective asset viewers when they are changed or created. Fixes outdated template list in the room editor when you've created or modified a template while a room editor is open.

🍱 Demos, Dependencies and Stuff

  • Update bundled assets
  • Pull the latest gallery assets

πŸ“ Docs

  • πŸ› Multiply horizontal x-change with delta when robot travels on platform (#102 by @godmar)
  • ✨ Translate jsintro_pt1.md to Russian (#100 by @progzone122)
  • ⚑️ Create ru/jsintro_pt2.md and fix ru/readme.md (#101 by @progzone122)

🌐 Website

  • πŸ“ Update changelog
  • ⚑️ Add a big Discord badge to the downloads page
  • ⚑️ Add a button for ARM builds for mac

v3.1.0

1 year ago

Changelog

Mon Nov 07 2022

✨ New Features

  • Adds TypeScript support (#369 by @markmehere)
  • Allow multiple projects open at once (#378 by @markmehere)
  • ct.res.groups and group field in rooms and templates.
  • Support for Apple Silicon builds (#368 by @markmehere)

⚑️ 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)
  • :globe_with_meridians: Add Turkish translation by Sarpmanon from our Discord server!
  • :globe_with_meridians: Update Dutch translation, by GambleBranch
  • :globe_with_meridians: Update Brazilian Portuguese translation (#384 by @leedigital)
  • :globe_with_meridians: Update Chinese Simplified translations (#385 by @emaoshushu)
  • :globe_with_meridians: Better French translation (#393 by @FlipFloop)
  • :globe_with_meridians: 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

  • :bento: Update vuepress to v2-beta-51
  • :bug: Fix English headers in informative blocks on Russian locale
  • :zap: Update several Russian pages

🌐 Website

  • :pencil: Update changelog for v3.0.1

🌻 Misc

  • :arrow_up: Upgrade to Monaco 0.34 (#377 by @markmehere)

v3.0.1

1 year ago

⚑️ General Improvements

  • :globe_with_meridians: Update French translation (#366 by @rtauziac)
  • :globe_with_meridians: 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

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

🌐 Website

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

πŸ€– Misc

  • :fire: Remove now useless twoPi var in ct.place

v3.0.0

1 year ago

✨ 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)
  • :bento: Add a vgui catmod by Firecakes (Textbox component)
  • :bento: Desktop features Catmod: New Features & Rewrite of Previous Features (#354 by @EhanAhamed)

⚑️ General Improvements

  • :globe_with_meridians: Update Russian translation
  • :globe_with_meridians: Update Dutch translation, translated by GambleBranch from Discord server!
  • :globe_with_meridians: Update Debug translation
  • :globe_with_meridians: Ukrainian translation by @progzone122
  • :bento: 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

  • :globe_with_meridians: 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

  • :clap: Pt-BR documentation translation (100% translated!) (https://github.com/ct-js/docs.ctjs.rocks/pull/75 by @leedigital)
  • :bug: Fix "Propose edits" link
  • :bug: Fix pre-v1 direction value at the JettyCat tutorial
  • :bug: JettyCat fixes (https://github.com/ct-js/docs.ctjs.rocks/pull/81 by @omartek)
  • :zap: Minor edits and fixes for localStorage page. Add a missing comma and a couple of comments
  • :zap: 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

  • :clap: Italian site translation (https://github.com/ct-js/ct-js-site/pull/27 by @omartek)
  • :zap: 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
  • :zap: Add a link to web installer for Linux
  • :zap: Replace patreon links with boosty ._.
  • :zap: Update Downloads page. Add a Windows web installer

🌻 Misc

  • :fire: Remove property thumbnail from the rooms objects in project data
  • :hankey: Fix npm ci problems

v2.0.2

2 years ago

✨ 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

v2.0.1

2 years ago

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 :tada:
  • 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, Dependencies and Stuff

  • πŸ› Example bug fixes (#288 by @markmehere)
  • ⚑️ Renovate catformer's code
  • Add a bunch of app icons
  • Add typings for font-related JS APIs
  • Apply migration scripts ts to examples and templates, fix Yarn demo's TheGirl position
  • Pull the latest docs
  • Update examples
  • Update nw.js to v0.59.0