Prepare v1.14.0 for release

This commit is contained in:
Noah 2024-05-04 18:26:02 -07:00
parent 866e5e7fd8
commit 8595ad0eba
2 changed files with 48 additions and 1 deletions

View File

@ -1,6 +1,6 @@
# Changes # Changes
## v0.14.0 TBD ## v0.14.0 (May 4 2024)
Level screenshots and thumbnails: Level screenshots and thumbnails:
@ -23,6 +23,26 @@ Level screenshots and thumbnails:
block interaction with the game so that you don't accidentally modify block interaction with the game so that you don't accidentally modify
the level while the screenshot is generating. the level while the screenshot is generating.
Updates to the JavaScript API for doodad scripts:
* `setTimeout()` and `setInterval()` will now be more deterministic and
reliable to time your doodad scripts with, as they are now based on the
game's tick speed. At the target average of 60 FPS, 1000 millisecond
timers will fire in 60 game ticks every time.
* The `Self` API now exposes more functions on the underlying Actor object
that points to the current doodad. See the guidebook for full details.
* Self.Doodad() *Doodad
* Self.GetBoundingRect() Rect
* Self.HasGravity() bool
* Self.IsFrozen() bool
* Self.IsMobile() bool
* Self.LayerCount() int
* Self.ListItems() []string
* Self.SetGrounded(bool)
* Self.SetWet(bool)
* Self.Velocity() Point
* Self.GetVelocity() is now deprecated and will be an alias to Self.Velocity.
Some minor changes: Some minor changes:
* Tweaked the player movement physics and adjusted doodads accordingly. * Tweaked the player movement physics and adjusted doodads accordingly.
@ -46,6 +66,9 @@ Some minor changes:
of the fancy new one with the listbox. of the fancy new one with the listbox.
* Fixed a touch screen detection bug that was causing the mouse cursor to hide * Fixed a touch screen detection bug that was causing the mouse cursor to hide
on Macbooks when using their touchpad. on Macbooks when using their touchpad.
* Fixed how touch screen mode is activated. The game's mouse cursor will
disappear on touch and reappear when your last finger leaves the screen, and
then a mouse movement is detected.
* Add a `--touch` command line flag to the game binary, which forces touch screen * Add a `--touch` command line flag to the game binary, which forces touch screen
mode to always be on (which hides the mouse cursor), in case of touch screen mode to always be on (which hides the mouse cursor), in case of touch screen
detection errors or annoyances. detection errors or annoyances.

View File

@ -45,6 +45,7 @@ type MainScene struct {
winLevelPacks *ui.Window winLevelPacks *ui.Window
winPlayLevel *ui.Window winPlayLevel *ui.Window
winOpenDrawing *ui.Window winOpenDrawing *ui.Window
winAbout *ui.Window
// Update check variables. // Update check variables.
updateButton *ui.Button updateButton *ui.Button
@ -250,6 +251,29 @@ func (s *MainScene) Setup(d *Doodle) error {
}, },
Style: &balance.ButtonPrimary, Style: &balance.ButtonPrimary,
}, },
{
Name: "About",
If: func() bool {
return !balance.DPP
},
Func: func() {
if s.winAbout == nil {
s.winAbout = windows.NewAboutWindow(windows.About{
Supervisor: s.Supervisor,
Engine: d.Engine,
})
s.winAbout.Compute(d.Engine)
s.winAbout.Supervise(s.Supervisor)
// Center the window.
s.winAbout.MoveTo(render.Point{
X: (d.width / 2) - (s.winAbout.Size().W / 2),
Y: 60,
})
}
s.winAbout.Show()
},
},
} }
for _, button := range buttons { for _, button := range buttons {
if check := button.If; check != nil && !check() { if check := button.If; check != nil && !check() {