frame-of-mind/CHANGELOG.md

4.0 KiB

Changelog

All notable changes to Frame of Mind since commit c75348845a5136379ce9ab09d2ff64b7bec90f12.

[Unreleased]

Features

  • New interactable system with action prompts that can play scenes
  • Added new interactables to youth room with repositioned layout
  • Interactable prompts now update dynamically based on collected state (shows "read again" after collection)
  • Type-safe interactive handling for player
  • Room loading system implementation
  • Basic room start logic
  • Room play functionality

Fixes

Interactables & Positioning

  • Small improvements to positioning
  • Sorting function was not according to spec

Save System

  • Save game parsing failure no longer crashes the game
  • Save game directory creation on first load
  • Fixed race condition with settings initialization
  • New save game only creates once (reduced from multiple duplicates)
  • Save game picker layout improvements

UI & Menus

  • Fixed markdown not loading nonexistent resources
  • Markdown now uses application theme
  • Fixed masking on loading indicator
  • Fixed loading spinner animation states
  • Fixed screenshot size (was 261, corrected to 216 height)
  • Nav UI in accessibility settings is now accessible again
  • Card picker input propagation fixed
  • Card picker now closes properly
  • Cards now derived from prefab scene
  • Text updates now forced to deferred
  • Skip buttons work via mouse
  • Cardboard can now be clicked and opened

Player & Controls

  • Player crouching on leaving bed fixed
  • Line renderer errors due to zero magnitude axis fixed
  • Climb volume now automatically crouches the player
  • Player raising and crouching stabilized
  • Removed annoying half-second wait
  • Player controller cleanup

Rooms & Scenes

  • Theme files reconstructed
  • Regenerated missing UIDs in theme files
  • Resaved various scenes to fix UIDs
  • Removed forced preload of all 3 base rooms
  • Fixed various path and hierarchy issues in youth room
  • Viewport children no longer break
  • Found and fixed many broken/orphaned viewports in youth room
  • Main scene is no longer a Control (fixed input issues)
  • Removed broken LightmapGI node that was causing scene to be dirtied on every load

Story & Playables

  • Story playables no longer destroy their own serialized text
  • Reinstated accidentally deleted paragraph length data
  • Fixed Draven/Draeven naming inconsistencies
  • Manual scroll enable on Draven and Voice fixed
  • Story playables now control their own canvas layer visibility
  • Board now correctly identifies itself

Code Quality

  • Fixed hardcoded localization load (en) removed from scene player
  • Fixed settings panel refactoring path
  • Fixed shadowing issues in card-board
  • Fixed syntax errors
  • Removed all warnings
  • Fixed untyped variables throughout codebase
  • Fixed unknown fields issues

Refactored

  • New interactable system replaces old interactive_sprite.gd system
  • Interactable now has separate _update_caption() and _update_prompt() methods
  • Renamed collectable.gd to interactive_sprite.gd
  • Moved various embedded scripts to their own .gd files
  • Focus system refactored
  • Removed deprecated sequencing calls
  • Removed deprecated signals and is_board
  • Stage system refactored, dead code cleared
  • Collectable logic refactored
  • Renamed SaveGameHandle to SaveGameList
  • Renamed scnees folder to scenes
  • Menu animations moved to tweens/subscenes
  • Better inheritance and render order for mementos
  • New direct interactable system

Changed

  • Replaced all bare print() statements with print_debug()
  • Game window set to 1600x900 for better testing/debugging
  • Explicit search index layout
  • Main scene changed from Control to different node type

Tests

  • Added player tests for crouching and raiser functionality
  • Raiser now uses AnimatableBody3D

Chores

  • Generated missing .import files
  • Added IDE configuration files
  • Fixed button/Button filename case issues
  • Cleaned up project structure
  • Updated .gitignore files