Mathieu Poliquin 66e23fca79
New feature: Override player input with machine learning models (#17407)
* Add dummy game ai subsystem

* First working prototype of a machine learning model that can override player input

* Update README.md

* Update README.md

* Fix loading path on Windows

* Change ai override to player 2

* Added quick menu show game ai option

* Implemented Quick Menu entry for Game AI options

* Redirect debug logs to retroarch log system + properly support player override

* Added support to use framebuffer as input to the AI

* Added pixel format parameter to API

* Fix game name

* code clean-up of game_ai.cpp

* Update README.md - Windows Build

* Update README.md

* Update README.md

* Update README.md

* Update config.params.sh

turn off GAME_AI feature by default

* Fix compile error in menu_displaylist.c

* Add missing #define in menu_cbs_title.c

* Added new game_ai entry in griffin_cpp

* Remove GAME_AI entry in  msg_hash_us.c

* Fix compile error in menu_displaylist.h

* Removed GAME AI references from README.md

* Fixes coding style + add GameAI lib API header

* Convert comment to legacy + remove unused code

* Additional coding style fixes to game_ai.cpp

* Fix identation issues in game_ai.cpp

* Removed some debug code in game_ai.cpp

* Add game_ai_lib in deps

* Replace assert with retro_assert

* Update Makefile.common

* Converting game_ai from cpp to c. First step.

* Convert game_ai from CPP to C. STEP 2: add C function calls

* Convert game_ai from CPP to C. Final Step

* Added shutdown function for game ai lib

* Update game_ai_lib README

* Fix crash when loading/unloading multiple games
2025-01-21 13:05:43 +01:00
..
2025-01-19 00:15:40 +00:00
2024-12-21 00:14:09 +00:00
2025-01-21 00:14:16 +00:00
2024-12-21 00:14:09 +00:00
2025-01-20 00:19:46 +00:00
2025-01-19 00:15:40 +00:00
2025-01-19 00:15:40 +00:00
2025-01-19 00:15:40 +00:00
2024-12-21 00:14:09 +00:00
2024-12-21 00:14:09 +00:00
2025-01-21 00:14:16 +00:00
2025-01-11 00:14:13 +00:00
2025-01-11 00:14:13 +00:00
2024-12-21 00:14:09 +00:00
2025-01-21 00:14:16 +00:00
2024-12-21 00:14:09 +00:00
2025-01-21 00:14:16 +00:00
2025-01-20 00:19:46 +00:00
2025-01-19 00:15:40 +00:00
2025-01-03 00:14:50 +00:00
2025-01-03 00:14:50 +00:00
2025-01-19 00:15:40 +00:00
2024-12-21 00:14:09 +00:00
2025-01-21 00:14:16 +00:00
2025-01-19 00:15:40 +00:00
2025-01-20 00:19:46 +00:00
2024-12-21 00:14:09 +00:00
2025-01-11 00:14:13 +00:00
2025-01-19 00:15:40 +00:00
2024-12-21 00:14:09 +00:00
2024-12-21 00:14:09 +00:00
2025-01-21 00:14:16 +00:00
2024-12-21 00:14:09 +00:00
2025-01-21 00:14:16 +00:00
2024-12-21 00:14:09 +00:00
2025-01-03 00:14:50 +00:00
2024-12-21 00:14:09 +00:00
2025-01-19 00:15:40 +00:00
2025-01-21 00:14:16 +00:00
2024-12-21 00:14:09 +00:00
2025-01-21 00:14:16 +00:00
2025-01-03 00:14:50 +00:00
2025-01-11 00:14:13 +00:00
2025-01-21 00:14:16 +00:00
2024-07-13 00:12:41 +00:00
2024-07-19 01:43:18 +00:00
2024-11-06 00:14:28 +00:00
2024-06-10 00:12:54 +00:00
2024-06-11 00:12:40 +00:00
2024-08-04 00:13:58 +00:00
2024-08-22 00:13:17 +00:00
2024-06-07 00:12:49 +00:00
2024-07-24 00:14:04 +00:00

Internationalization Workflow

For Translators

Use Crowdin

  1. Register user account at https://crowdin.com/
  2. Join the project https://crowdin.com/project/retroarch/
  3. Select your language to translate
  4. Click the file name msg_hash_us.json and the editor should open
  5. Select an untranslated (red) string from the list
  6. Type translation and save
  7. Next string...

Links:

Request New Language

You can open a new issue and @guoyunhe to add new language.

For Maintainers

Set Up

Install Java, Python3 and Git

Synchronize

cd intl
python3 crowin_sync.py

Manage Crowdin Project

  1. You need to be project admin. Please contact @guoyunhe or @twinaphex
  2. Go to https://crowdin.com/project/retroarch/settings
  3. You can manage languages, members etc. here

Links:

Message File Format

  1. Must NOT contain #else
  2. Must NOT have multiple-line string syntax
    // bad
    MSG_HASH(
      MENU_ENUM_SUBLABEL_CHEEVOS_ENABLE,
      "Compete to earn custom-made achievements in classic games.\n"
      "For more information, visit http://retroachievements.org"
      )
    // good
    MSG_HASH(
      MENU_ENUM_SUBLABEL_CHEEVOS_ENABLE,
      "Compete to earn custom-made achievements in classic games.\nFor more information, visit http://retroachievements.org"
      )
    
  3. Must NOT contain lowercase letters in key name
    // bad (x)
    MSG_HASH(
      MENU_ENUM_LABEL_VALUE_CTR_VIDEO_MODE_2D_800x240,
      "2D (High Resolution)"
      )
    // good (X)
    MSG_HASH(
      MENU_ENUM_LABEL_VALUE_CTR_VIDEO_MODE_2D_800X240,
      "2D (High Resolution)"
      )
    

Add New Languages

  1. Go to Crowdin and add the language
  2. Run Crowdin script to download new translations
  3. Add new language into menu (see #10787)