Languages:
English | 中文
Controller repository of FCL.
You can submit a Pull Request to this repository to contribute.
- Read the controller uploading tutorial (Only available in Simplified Chinese currently)
- FCL Doc
- Tencent Document (Browser translation may not work)
- Video
- Join the controller examining QQ group
Group ID: 139641497
- Discussion of topics 【unrelated to the controller】 is forbidden.
- You will 【be kicked】 if you ask about topics unrelated to the controller.
- Don't 【be obstinate】 with uploading unapproved controllers.
- Upload non-original controllers 【without permission】 is forbidden.
- Controller uploading is a 【manual operation】, please 【be patient】.
- Upload ZIP files packaged by the launcher and wait for being examined
-
ZIP file name should be
<controller_id>.zip
-
ZIP file structure:
- Please place your
controller.json
file at
/<controller_id>/versions/<version_code>.json
- Place your screenshot file at
/<controller_id>/screenshots/<number>.png
- Place your
version.json
file at
/<controller_id>/version.json
- Place your
index.json
file at
/<controller_id>/index.json
- Place your
icon.png
file at
/<controller_id>/icon.png
<controller_id>
:the id of this controller.
<version_code>
:the version code of this controller.
<number>
:the serial number of the screenshot, the maximum number of screenshot is 16, it should be 01, 02, 03... 16
Make sure that controller category(s) have been defined inindex.json
.
Make sure thatversion.json
andindex.json
have valid JSON syntax.
At least one screenshot is required. - Please place your
- Upload it directly in QQ group, but make sure you have 【informed the administrator】 that it's an update of an existing controller.
- Controller updating is a 【manual operation】, please 【be patient】.
Please make sure that your PR modifies only one controller, and images in that controller.
Add an object like this:
{
"id": "Example", // Controller id.
"lang": "Example", // Controller language, like "en", "zh_CN", etc, if fits all language, fill in "all".
"name": "Example", // Name of the controller.
"introduction": "Example", // Introduction of the controller.
"device": [
0, // Integer, 0/1/2, 0 is phone, 1 is pad, 2 is other device.
1
],
"categories": [
0, // Integer, categories of the controller.
1
]
}
So we can display the controller in the launcher.
File path:
repo_json/<controller_id>/version.json
File content:
{
"screenshot": Example, // Integer, number of the screenshots.
"description": "Example", // Detailed description of the controller.
"author": "Example", // Your name.
"latest": {
"versionCode": Example, // Integer, latest version code of controller, like 1, 285, etc.
"versionName": "Example" // Latest version name of controller, like "1.0", "2.8.5", etc.
}, // Latest version.
"history": [
{
"versionCode": Example, // Integer, version code of controller.
"versionName": "Example" // Version name of controller.
},
{
"versionCode": Example,
"versionName": "Example"
},
...
] // Old versions, excluding latest version.
}
When update a new version, put the old "latest" into "history", and change the "latest" to the new one.
Also, you can delete some old versions if you want.
So we can display the details of the controller in the launcher.
Name | ID | Categorie description |
---|---|---|
Universal | 1 | Contains all basic features |
Mods | 2 | Adapts to some mods |
Imitate | 3 | Imitates controllers of another software |
PVP | 4 | Adapts to PVP games |
Full keyboard | 5 | Contains full keyboard |
Make sure the new category doesn't exist.
Remember to note related information, such as reason of adding the categories, the classifying standard, and examples of controllers that meet the standard.
Tell your administrator the categories and related information you want to add.
Add related information in the pull request.
Add an object in category.json
like this:
{
"id": Example, // Integer, category id, like 1, 2, etc.
"lang": [
{
"locale": "Example", // Language, like "en", "zh_CN", etc.
"text": "Example" // Translation, like "Mods", "模组", etc.
},
{
"locale": "Example",
"text": "Example"
}
...
]
}
So we can display the category of the controller in the launcher.