Skip to content

v0.7.0

Compare
Choose a tag to compare
@SylviBlossom SylviBlossom released this 01 Sep 18:15
· 850 commits to main since this release

An update to Kristal that includes controller support, screen borders, warp doors, and some various changes.

Changelog

Additions:

  • Added controller support and rebinding
  • Added screen borders, which can be enabled in the options menu
    • Mods can change the dynamic border using Game:setBorder() or the border map property
    • Custom drawing can be added using the Mod:onBorderDraw callback
  • Added warp door event
  • Added indent customization for text (the * at the start of text)
    • Settable for an actor via the indent_string actor variable
    • Settable per-text with the [indent] text modifier
  • Added disable_mercy variable to enemies
  • Added built-in last_x and last_y variables to Objects
  • Miscellaneous functions:
    • Cutscene:during(func) to add an update function to the current cutscene
    • Game:setPartyMembers(...), Cutscene:playSound(), Music:setPitch(), BattleCutscene:closeText(),
      Utils.wave(), Event:addFlag()
  • Many useful callbacks:
    • Encounter:onCharacterTurn(battler, from_undo), PartyMember:onActionSelect(battler, undo),
      Encounter:onReturnToWorld(events), Encounter:getPartyPosition(index),
      PartyMember:onActionBox(box, overworld), Encounter:onGameOver(), Map:onGameOver()
      Mod:getConfig(key), Spell:onSelect(user, target), Spell:onDeselect(user, target),
      Actor:createSprite()

Changes:

  • Tension bar colors are now customizeable via the PALETTES table
  • Moved face/noelle_lw sprites to face/noelle folder
  • Added death argument to Wave:onEnd
  • World music now plays in encounters with music set to nil
  • Renamed EnemyTextbox class to SpeechBubble
    • Removed Battle:spawnEnemyTextbox(), replaced with [Party|Enemy]Battler:spawnSpeechBubble()
    • Renamed onTextboxSpawn(), onTextboxRemove() to onBubbleSpawn(), onBubbleRemove()
  • Renamed BattleCutscene:enemyText() to BattleCutscene:battlerText()
  • Return encounter after cutscene:startEncounter()
  • Removed love.graphics.drawCanvas, replaced with Draw.drawCanvas
  • Renamed Draw.drawCutout to Draw.drawPart (also added Draw.drawCanvasPart)
  • Fixed some floor/ceil issues
  • Fixed shader issues on some platforms, thanks to @Dobby233Liu

New Contributors:

..and more I likely missed in this list! See the full changelog: v0.6.0...v0.7.0

Instructions

Windows: Download and extract the .zip, and run kristal.exe to play
Others: Download and install Love2D, and run the .love with Love2D to play

Check out the documentation for how to use this engine, and download example-mod.zip for mod structure, as well as overworld and battle examples.