All notable changes to ChaiLove will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Fix playing empty ogg files through
libretro-common
, by @phcoder - docs: Remove the dev branch by @RobLoach in #410
- Enable compilation for psvita and switch by @phcoder in #417
- Update mixer to thread-safe version by @phcoder in #416
- Switch straight file I/O to VFS by @phcoder in #415
- love: Fix buffer overflow by @phcoder in #419
- Misc build fixes by @phcoder in #418
- Fix
unix-armv7-hardfloat-neon
build by @zoltanvb in #420 - Move from std::cout to libretro logging by @phcoder in #412
- Update GitHub Actions by @RobLoach in #427
love.filesystem.remove()
has been removed- SDL_tty: Update by @gouchi in #426
- Update libretro-common by @RobLoach in #413
- Update
libretro-common
for audio fixes - Fix miyoo compilation name by @phcoder in #408
- Fix osx-arm64 compilation and few Makefile cleanups by @phcoder in #409
- Make PhysFS only support
.zip
compression
- Update vendor dependencies
- Enable compilation of dingus, ios-arm64 and tvos-arm64 (by phcoder)
- Remove submodule manipulation from
Makefile
- Switched Travis testing for GitHub Actions
- Updated dependencies
- Removed semantic version checking for platform compatibility
- BunnyMark to test performance
- ChaiLove now requires content to run
- Updated ChaiScript_Extras for more string methods
- Updated PhysFS
- Updated libretro-common
- Updated random to fix a gcc 7.3+ error
- Updated stb
- Update to use the libretro audio callback
- Updated cppcodec
- Updated PhysFS
- Updated libretro-common
- Added support for classic_armv7_a7
- By @classicmods and @swingflip
- Added
lib/init.chai
loading withrequire("lib")
- Updated ChaiScript/ChaiScript_Extras
- Updated libretro/libretro-common
- Moved String Methods to ChaiScript_Extras
- Replaced use of
filesystem/path.h
with internal functions - Updated ChaiScript/ChaiScript_Extras
- Updated libretro/libretro-common
- Updated effolkronium/random
- Fixed
/libretro/saves
mounting
- Added
string::trim()
- Added
string::split()
- Adds loading of
conf.chai
for theconf()
callback
love.timer.step()
now returnsdt
- Adds
string::replace(search, replace)
to replace all instances of a string
- Fixes undefined reference to
process_sinc_neon_asm()
- Fixes
love.graphics.draw(image)
with no x and y parameter
- Update libretro-common
- Update PhysFS
- Rework the testing framework
- Fix Doxygen warnings
- Live updating of core options
- Mounts
/libretro/core
as the directory where the core was loaded from - Adds
love.filesystem.getSaveDirectory()
- Adds
love.filesystem.newFileData(contents, name)
- Adds
love.filesystem.getExecutablePath()
- Adds
love.filesystem.remove()
- Fixed loading ChaiLove without active content
- Fixed
mount()
with relative paths - Fixed mounting of saves and system directories
- Fix for compiling
nearest_resampler.c
withoutSTATIC_LINKING
(#312)- By @twinaphex
- Fix rewind by removing compression of save states
- Added a global
require()
function to load modules (#308) - Added OEM-102 key support (sometimes
\
on EUR keyboard) (#309)
- Fix Windows build
- Fix Android build (#305)
- By @bparker06
- Added Cheat support
cheatset(index, enabled, code)
cheatreset()
- Added
.ogg
audio support
- Fixed save state loading
- Fixed
love.filesystem.mount()
logic
- Update to use libretro-common audio
- Added
love.filesystem.newFileData()
- Added
love.system.getClipboardText()
- Added
love.system.setClipboardText()
- Added
love.data.encode()
- Added
love.data.decode()
- Added
love.filesystem.mount()
test - Updated documentation
- Updated unit testing framework
- Additional method chaining functions
- Clean up of git submodules
- Updated dependencies
- ChaiScript 6.1.0
- PhysFS
- libretro-common
- libretro-deps
- noarch
- styleguide
- Documentation
- Removed
Http()
due to cross-platform incompatibility
love.filesystem.createDirectory()
to make directorieslove.filesystem.write()
to write a file in the save directory
- Switched to libretro-deps for freetype and zlib
- Clean up of image and audio memory allocation
- Updated documentation
love.system.execute()
to execute a operating system shell commandlove.audio.newSource()
now has an optionaltype
parameterlove.joystick
comes with a cleaner APIexit()
callback, which is called when is quitting the gamelove.filesystem
now mountslibretro/assets
,libretro/system
andlibretro/saves
- Better memory usage
- Compilation warnings
- No Game demo when ChaiLove is loaded without content
- Version mismatch warning when content's ChaiLove version doesn't match core's
love.data.hash()
sha1
supportlove.system.getUsername()
- Android build
- By @webgeek1234
love.data.hash()
to retrieve MD5 hashes from content- Windows automated testing with Appveyor
- Documentation
- Semantic Versioning checks
- Use
t.version = "0.18.0"
inconf(t)
to specify which ChaiLove version you're targeting
- Use
love.graphics.getDimensions()
love.filesystem.getInfo()
love.filesystem.isSymlink()
love.math.compress()
is nowlove.data.compress()
- Documentation
love.system.getOS()
now returns actual operating system namelove.console
an in-game console toggled with the tilde key- Enable the console with
love.console.setEnabled(true)
- Enable the console with
love.graphics.getColor()
to retrieve the active painting colorlove.window.showMessageBox()
to display on-screen messages
- Cleaned the Makefile dependency chain
List()
for linked list
- Added
love.graphics.draw(Image)
andlove.graphics.draw(Image, Quad)
with default position of 0,0 - Update documentation
- Update dependencies
- Updated dependency chain in Makefile to be safe
- Updated the input description names
- Switch Keyboard/Mouse input from SDL API to libretro API
love.mousepressed()
andlove.mousereleased()
now pass the button name rather than its index
love.keyboard.isScancodeDown()
love.mouse
x1
andx2
buttons
- Moved source to libretro organization:
- Updated documentation
- Updated dependencies
- Fixed native test
- Removed global objects, use
love
namespace instead- Before:
graphics.draw()
- After:
love.graphics.draw()
- Before:
- Cleaned up global
love.config
- Documentation
math.random()
for int, float and double numbers
- Renamed
mousemove()
callback tomousemoved()
love.graphics.setDefaultFilter()
flags
SoundData.getVolume()
SoundData.setVolume()
- Updated C++ namespace from
Modules
tolove
- Method chaining for most functions
graphics.love.point(100,100).point(50, 200)
- Moved
Types
namespace tolove::Types
- Version number
love
namespace- Example:
love.graphics.draw()
- Example:
love.graphics.draw()
rotation and scalinglove.graphics.setDefaultFilter()
love.graphics.getDefaultFilter()
- ChaiScript_Extras now using original source as upstream issue is fixed
- Updated libretro-common
- Updated random
- Updated sdl-libretro
keyreleased()
callback parameter types
- Mac support
- Unit testing
- Coding standards
- Namespace update
- Documentation