-
Notifications
You must be signed in to change notification settings - Fork 325
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Ability to manually edit Wiimote/CC mappings #1240
base: master
Are you sure you want to change the base?
Conversation
Provides ability to load Wiimote/CC mappings from .ini file on USB/SD card
// Try to load Wiimote/Classic Controller bindings from ircc.ini | ||
const char *filenames[2] = { | ||
file_sd, file_usb, | ||
"sd:/ircc.ini", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why not in the app directory?
Cluttering up the root directory with all kinds of files is not nice.
// File found, read the configuration | ||
size_t fsize = f.obj.objsize; | ||
UINT read; | ||
f_read(&f, (void*)IR_CFG_FILE, fsize, &read); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You might want to check return value?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, IR_CFG_FILE and IR_CFG_SIZE still need to be defined first with addresses. HID.c of course defines its equivalent terms, but I still need applicable addresses for Wiimotes/CC's: https://github.com/FIX94/Nintendont/blob/master/mem_map.txt
For now I've allocated 0x93005180 and 0x93005184 respectively.
FIL f; | ||
FRESULT res = FR_DISK_ERR; | ||
for (i = 0; i < 2; i++) { | ||
res = f_open_char(&f, filenames[i], FA_READ | FA_OPEN_EXISTING); |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What about stat()
?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Well, it's written the same way in the HID controller loader: https://github.com/FIX94/Nintendont/blob/a69f2f134daf0f06a1b01da4b5337a984ac6dcf1/loader/source/HID.c
define IR_CFG_FILE and IR_CFG_SIZE
This changes the Wiimote/Classic Controller loader (BT.c) to attempt to load user-defined button mappings from an ircc.ini file located on the root of the USB/SD card; if this file is not found, then Nintendont will proceed with the default bindings undisturbed.
That said, I am unsure which file in the code defines all the bindings. As we know, by default the motion controls operate the C-stick, but BT.h didn't seem to control this. If I could find the relevant file(s), I could provide an example ircc.ini file pronto!