Description
This one's HUGE, the biggest update yet!
Ported Cut the Rope: Time Travel objects
- 💣 Bombs.
- ❄️ Pause switcher.
Looks & sounds better than ever
- Brand-new backend renderer: sharp on high-DPI and Retina screens, with Metal on macOS and a smarter automatic pick on Windows and Linux. No more launcher exes for Windows!
- Easy modding: no more XNBs!
- Fits any screen shape: no more black bars, from phone-sized windows to ultrawide.
- Lossless FLAC music and updated sound effects.
- Magic hat stripes get their own colors for group 2 and above, using dynamic color generation.
Surprises
- Om Nom sits on Paddington's briefcase and wear his hat every January.
- Try clicking Om Nom for special surprise… 👀
For level makers
- Playtest straight from the browser level editor.
- Revamped tutorial to be more flexible. Tutorial prompts can now be set per level in map XML, with more customization options.
Tons of fixes
Final scores are no longer rounded to 10s, the camera follows the candy across big levels, and your window size is remembered. Plus fixes for bees, hands, guns, lightbulbs and more.
What's Changed
- feat: Make final score no longer be rounded by 10 by @yell0wsuit in #287
- refactor: Replace grab flags with composed hook behaviors by @yell0wsuit in #288
- chore: Download FFmpeg from GitHub Releases instead of from Nuget by @yell0wsuit in #289
- refactor: Refactor level results into a single immutable source of truth by @yell0wsuit in #290
- refactor: Centralize game controller input state by @yell0wsuit in #291
- refactor: Refactor candy removal into an atomic retirement transaction by @yell0wsuit in #293
- fix: Prevent gameplay lifecycle leaks during level exit by @yell0wsuit in #295
- refactor: Refactor LightBulb to use authoritative candy lifecycle state by @yell0wsuit in #296
- refactor: Refactor candy attachment state into a single source of truth by @yell0wsuit in #297
- refactor: Make mouse carry state a single source of truth by @yell0wsuit in #298
- fix: Prevent rocket drift after mouse release by @yell0wsuit in #299
- refactor: Centralize per-pointer gesture state by @yell0wsuit in #300
- refactor: Refactor gravity into a single source of truth, allow 2+ gravity buttons by @yell0wsuit in #301
- Refactor: Centralize Om Nom behavior state by @yell0wsuit in #302
- refactor: Consolidate delayed operations into atomic tickets by @yell0wsuit in #303
- refactor: Consolidate ghost apparition state by @yell0wsuit in #304
- refactor: Make level outcome an atomic state machine, allow skipping win/loss cutscenes by @yell0wsuit in #305
- refactor: Consolidate mechanical hand state, scope rotation to a single hold by @yell0wsuit in #307
- fix: Give a hand a grace window before a bouncer takes its candy by @yell0wsuit in #308
- refactor: Split the game into a MonoGame-free Core and a Desktop host by @yell0wsuit in #309
- feat: add the SkiaSharp WebAssembly browser edition by @yell0wsuit in #310
- chore: install FFmpeg for CI and report conversion progress by @yell0wsuit in #311
- refactor: Consolidate layout code by @yell0wsuit in #317
- Bump Microsoft.NET.Test.Sdk from 18.8.1 to 18.9.0 by @dependabot[bot] in #313
- feat: Make the game layout responsive on various screen sizes by @yell0wsuit in #318
- fix: Remove the startup window size at boot by @yell0wsuit in #319
- fix: Repair the service worker install and its stale content cache by @yell0wsuit in #320
- chore: improve web pipeline speed by @yell0wsuit in #321
- fix: Make mobile physics collision and attachment parity with mobile version by @yell0wsuit in #322
- fix: Address some gameplay background coverages by @yell0wsuit in #323
- Bump MonoGame.Framework.Native from 3.8.5 to 3.8.5.1 by @dependabot[bot] in #314
- feat: Freeze button and Time Travel rocket physics by @yell0wsuit in #326
- feat: Add screenshots for richer PWA, request storage persist and
launch_handlerby @yell0wsuit in #327 - feat: Add listener for playtesting levels from the browser level editor by @yell0wsuit in #328
- feat: Address playtest error and bye messages to their session by @yell0wsuit in #329
- chore: Bump xunit to v4 and run tests on Microsoft.Testing.Platform by @yell0wsuit in #330
- fix: Require mobile physics for Time Travel's rocket tuning by @yell0wsuit in #332
- fix: Preload each level's sounds so objects don't hitch on first use by @yell0wsuit in #333
- Bump FontStashSharp.MonoGame from 1.5.6 to 1.5.8 by @dependabot[bot] in #331
- fix: Repeat P2 and earth bg across every tiled P1 background section by @yell0wsuit in #334
- fix: Stop the service worker answering every in-scope URL with the shell by @yell0wsuit in #336
- fix: Follow the candy across large levels, and hold gameplay through the intro pan by @yell0wsuit in #335
- fix: Match Time Travel's chain link shading by @yell0wsuit in #338
- feat: Run the browser game loop and renderer on a worker thread by @yell0wsuit in #343
- feat: Move tutorial prompts in map XML attributes, instead of a scene-wide switch by @yell0wsuit in #339
- feat: Add bomb object from Cut the Rope: Time Travel by @yell0wsuit in #337
- feat: Implement Paddington-themed animation by @yell0wsuit in #341
- feat: Add procedural hat stripes and perceptual color math by @yell0wsuit in #342
- feat: Replace MonoGame with SkiaSharp rendering and an SDL3 host, add logging by @yell0wsuit in #347
- feat: Add single thread fallback for browser version by @yell0wsuit in #352
- Bump xunit.v3 from 4.0.0 to 4.0.1 by @dependabot[bot] in #351
- ci: Skip the single-threaded browser build on PR quality workflows by @yell0wsuit in #353
- Add Discord RPC PSD pack template, update PDN template layer names by @CtRHome in #354
- feat: Om Nom easter egg on click from H5DX by @yell0wsuit in #355
- fix: Complete pause switcher freeze across objects, plus some fixes by @yell0wsuit in #356
- fix: Read stored playtest level and repeat the handshake by @yell0wsuit in #357
- chore: Bump assets to v6 with flac music and new sfx by @yell0wsuit in #358
- fix: Remove lightbulb interaction with conveyor belt by @yell0wsuit in #360
- fix: Stop the gun firing at a mouse-carried candy by @yell0wsuit in #359
- test: fix the race condition bug in the pump progress assertion by @yell0wsuit in #361
- fix: Save window size on resize and persist maximized state by @yell0wsuit in #363
- chore: Add CI prereleases, use three-part versions, and rebrand to Cut the Rope DX by @yell0wsuit in #364
- refactor: Extract native message box from crash dialog by @yell0wsuit in #365
- fix: Stop bee movement while frozen by @yell0wsuit in #366
- fix: Resolve issues with content builder by @yell0wsuit in #367
- fix: update Appimage package name to be consistent with others by @yell0wsuit in #368
- fix: Stop clustered hands passing the candy around forever by @yell0wsuit in #369
- fix: Keep HUD stars in their slots when resizing mid-pickup by @yell0wsuit in #370
New Contributors
Full Changelog: v2.29.0.3...v2.44.10