ChaiLoveLink

Contribute to this documentationLink

In order to propose improvements to this document, visit its corresponding source page on github. Changes are proposed using "Pull Requests."

There is a To-Do list for libretro/docs here

You can submit suggestions or issues regarding documentation at the libretro/docs issue tracker or in our forum thread.

BackgroundLink

ChaiLove is a framework for making 2D games with ChaiScript. ChaiLove games can be played with LibRetro/RetroArch through the ChaiLove core.

Why use this core?Link

Awaiting description.

How to get and install the ChaiLove core:Link

  1. Start up RetroArch. Inside the main menu, go to 'Online Updater'.

  2. Just to make sure we have the latest info files, select 'Update Core Info FIles'. Wait until this is done. Then, select 'Core Updater'.

  3. Browse through the list and select 'ChaiLove'.

After this has finished downloading, the core should now be ready for use!

How to start (after installation):Link

  1. Go back to RetroArch's main menu screen. Select 'Load Content'.

  2. Browse to the folder that contains the content you want to run.

  3. Select the content that you want to run.

  4. If you are asked which core to select, choose 'ChaiLove'.

The content should now start running!

Extra exampleLink

As an extra example showcasing loading content with Chailove core, we will load the Floppy Bird game hosted on RetroArch's Content Downloader.

  1. First, you need to obtain Floppy Bird's data files. You can do this by going to RetroArch's main menu screen. From there, select 'Content Downloader'.

  2. Select 'ChaiLove', then select 'Floppy Bird.chailove'. This should download and extract this file to RetroArch's Downloads directory.

  3. Go back to RetroArch's main menu screen. Select 'Load Content', then 'Downloads'.

  4. Select 'Floppy Bird.chailove'

  5. If you are asked which core to select, choose 'ChaiLove'.

The content should now start running!

AuthorsLink

  • Rob Loach

See alsoLink

Custom engineLink

LicenseLink

A summary of the licenses behind RetroArch and its cores have found here.

ExtensionsLink

Content that can be loaded by the ChaiLove core have the following file extensions:

  • .chai
  • .chailove

DatabasesLink

RetroArch database(s) that are associated with the ChaiLove core:

FeaturesLink

RetroArch-level settings or features that the ChaiLove core respects.

Feature Supported
Restart
Screenshots
Saves
States
Rewind
Netplay
Core Options
RetroAchievements
RetroArch Cheats
Native Cheats
Controls
Remapping
Multi-Mouse
Rumble
Sensors
Camera
Location
Subsystem
Softpatching
Disk Control
Username
Language
Crop Overscan

DirectoriesLink

The ChaiLove core's directory name is 'ChaiLove'

The ChaiLove core saves/loads to/from these directories.

RetroArch's State directory

  • 'content-name'.state# (State)

Geometry and timingLink

  • The ChaiLove core's internal FPS is 60
  • The ChaiLove core's internal sample rate is 44100 Hz
  • The ChaiLove core's core provided aspect ratio is (Ratio)

Core optionsLink

The ChaiLove core has the following option(s) that can be tweaked from the core options menu. The default setting is bolded.

Settings with (Restart) means that core has to be closed for the new setting to be applied on next launch.

  • Alpha Blending (Off/On)

Enable or disable alpha blending (transparency).

Alpha Blending - On

Alpha Blending - Off

  • High Quality (Off/On)

Enable or disable extra visual features.

High Quality - On

High Quality - Off

ControllersLink

Device typesLink

The ChaiLove core supports the following device type(s) in the controls menu, bolded device types are the default for the specified user(s):

User 1 - 5 device typesLink

  • None - Doesn't disable input.
  • RetroPad - Joypad
  • RetroPad w/Analog - Joypad - There's no reason to switch to this.

Controller tablesLink

Joypad and analog device type tableLink

Attention

What the buttons do are game specific.

Users 1 - 5 Input descriptors RetroPad Inputs
B
Y
Select
Start
D-Pad Up
D-Pad Down
D-Pad Left
D-Pad Right
A
X
L
R