Skip to content

Count Me In!

Compare
Choose a tag to compare
@RhenaudTheLukark RhenaudTheLukark released this 11 Jan 21:12
· 41 commits to master since this release

Happy 2019 everyone!

Today we're bringing you a late Christmas gift with a ton of bug fixes and some new features! Most of this release's work has been done by @WD200019, so please don't forget to boop his nose to thank him for his devotion to the project!

Now comes the usual very long list of new features and bugfixes! Sorry, we weren't able to fetch the list of bugs this time, but we'll try again on the next release!

Bug Fixes

  • Engine:

    • Fixed fullscreen for Mac!
    • Fixed the Mods folder not working properly for Mac
  • Battle / Mods:

    • Fixed the hitbox debugger in fullscreen
    • Fixed SetButtonLayer not actually setting the layer of the buttons (lol)
    • Fixed not being able to change the player's properties before EncounterStarting
    • Moving Player.sprite will now update the Player's hitbox
    • Fixed an oddly specific error (from calling State("ITEMMENU") from a state in which the default text manager was inactive, like "DEFENDING" or "NONE")
  • Text Commands:

    • Fixed a bug where having a "[" without a matching "]" would crash CYF
    • [w:#] no longer ignores [instant]
    • Fixed a bug where setting playerskipdocommmand to true would completely disable text skipping
    • Fixed an oversight involving strings such as "Hello [func:DEBUG,hi][noskip]" executing "[noskip]" instantly
  • Text Objects:

    • Text.allLinesComplete no longer throws an error if the text object has been destroyed
  • The Input Object:

    • Fixed Input.MousePosX and Input.MousePosY being able to go past 640x480 in fullscreen
  • Bullets:

    • Fixed projectile layers being almost completely broken (returning the wrong name for the default layer, "messing up" the names of projectile layers, not letting you move a bullet back to the default layer)
    • Fixed the player being able to call bullet.sprite.Remove() or bullet.sprite.Dust(..., true)
    • Some optimizations to bullet hitboxes and calculations
  • The Inventory Object:

    • Fixed calling Inventory.AddCustomItems twice removing all items added the first time
    • Fixed the error message for calling Inventory.SetInventory without calling Inventory.AddCustomItems first: it described the wrong problem
  • Game Over screen:

    • Fixed the text in the Game Over screen being positioned incorrectly
    • Fixed a bug where using [func:x] in the Game Over screen would crash CYF
  • The Overworld:

    • Fixed some overworld functions crashing on call if used when entering a new map
    • Fixed General.GameOver crashing CYF instantly
    • Fixed General.GameOver causing the player to mysteriously vanish
    • Fixed inconsistencies between the Overworld's playing music track and the game over track
    • Fixed a bug where pressing C to open the menu just before a map fades in will push you back to the previous map

Changes

  • Engine:

    • Added a "window scale" option for users with large monitors
    • Playing in Retrocompatibility mode will now enable the DOGTEST items for compatibility with Unitale mods
    • The Player's hp now acts like an integer in retromode, so mods like Alphys NEO don't set the player's HP to numbers like 16.00035
    • Trying to move removed bullets in retromode no longer throws an error, as it "worked" in Unitale
  • Mod select screen:

    • You no longer have to restart CYF to update a mod's preview screen
    • The mod select screen now wraps going left and right
    • Rewrote some text in the options menu
  • Battles:

    • Fleeing now has a 50% chance to fail, as in Undertale
    • Added a new variable, fleesuccess, which allows you to force the player's attempts to flee to fail or succeed
  • Arena:

    • Added Arena.Hide() and Arena.Show(), which control the Arena's visibility, without actually removing it or its boundaries
  • Text Commands:

    • [speed:#] now works as intended, instead of typing N characters every 4 frames. See the documentation for details
    • Made [instant] able to be stopped, at which point the text will continue typing
    • Made [instant:allowcommand] work exactly the same as [instant], but without ignoring commands
      (this is what the Docs have always said this should do, but it never has done this)
    • Made [instant:stop] cancel [instant] and [instant:allowcommand] and resume typing
    • Made [instant:stopall] cancel [instant], [instant:allowcommand] and Player skips, and resume typing
  • Text Objects:

    • The first argument of Text.CreateText can now be a single string
    • Removed Text.SetPivot, as it was found to not work
  • The Overworld:

    • The UI will now automatically re-position itself to the top of the screen to avoid covering up the player (as it does in Undertale)
    • Added an optional argument to General.SetDialog and General.SetChoice, which lets you choose which side of the screen to have the text box on
  • Documentation:

    • Fixed some misinformation about Player.Hurt, Audio.PlaySound, script.Call, the Game Events and Special Variables pages, and some of the Overworld pages
  • Moonsharp (ADVANCED USERS ONLY):

    • Added debug.getinfo (not 100% perfect, but it didn't exist before now)

That's it for now! See you in a few months! (lol)