Count Me In!
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
andInput.MousePosY
being able to go past 640x480 in fullscreen
- Fixed
-
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()
orbullet.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 callingInventory.AddCustomItems
first: it described the wrong problem
- Fixed calling
-
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()
andArena.Show()
, which control the Arena's visibility, without actually removing it or its boundaries
- Added
-
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 first argument of
-
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
andGeneral.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
- Fixed some misinformation about
-
Moonsharp (ADVANCED USERS ONLY):
- Added
debug.getinfo
(not 100% perfect, but it didn't exist before now)
- Added
That's it for now! See you in a few months! (lol)