| 1337 | static void PlayerMappingWindowRightClick(void * ptr) { PlayerMappingWindowUpdate(ptr, +1); } |
| 1338 | |
| 1339 | static void PlayerMappingWindow(int chan) |
| 1340 | { |
| 1341 | playerMappingChan = chan; |
| 1342 | |
| 1343 | GuiWindow * w = new GuiWindow(300,250); |
| 1344 | w->SetAlignment(ALIGN_CENTRE, ALIGN_MIDDLE); |
| 1345 | |
| 1346 | GuiTrigger trigLeft; |
| 1347 | trigLeft.SetButtonOnlyInFocusTrigger(-1, WPAD_BUTTON_LEFT | WPAD_CLASSIC_BUTTON_LEFT, PAD_BUTTON_LEFT, WIIDRC_BUTTON_LEFT); |
| 1348 | |
| 1349 | GuiTrigger trigRight; |
| 1350 | trigRight.SetButtonOnlyInFocusTrigger(-1, WPAD_BUTTON_RIGHT | WPAD_CLASSIC_BUTTON_RIGHT, PAD_BUTTON_RIGHT, WIIDRC_BUTTON_RIGHT); |
| 1351 | |
| 1352 | GuiImageData arrowLeft(button_arrow_left_png); |
| 1353 | GuiImage arrowLeftImg(&arrowLeft); |
| 1354 | GuiImageData arrowLeftOver(button_arrow_left_over_png); |
| 1355 | GuiImage arrowLeftOverImg(&arrowLeftOver); |
| 1356 | GuiButton arrowLeftBtn(arrowLeft.GetWidth(), arrowLeft.GetHeight()); |
| 1357 | arrowLeftBtn.SetImage(&arrowLeftImg); |
| 1358 | arrowLeftBtn.SetImageOver(&arrowLeftOverImg); |
| 1359 | arrowLeftBtn.SetAlignment(ALIGN_LEFT, ALIGN_MIDDLE); |
| 1360 | arrowLeftBtn.SetTrigger(trigA); |
| 1361 | arrowLeftBtn.SetTrigger(trig2); |
| 1362 | arrowLeftBtn.SetTrigger(&trigLeft); |
| 1363 | arrowLeftBtn.SetSelectable(false); |
| 1364 | arrowLeftBtn.SetUpdateCallback(PlayerMappingWindowLeftClick); |
| 1365 | |
| 1366 | GuiImageData arrowRight(button_arrow_right_png); |
| 1367 | GuiImage arrowRightImg(&arrowRight); |
| 1368 | GuiImageData arrowRightOver(button_arrow_right_over_png); |
| 1369 | GuiImage arrowRightOverImg(&arrowRightOver); |
| 1370 | GuiButton arrowRightBtn(arrowRight.GetWidth(), arrowRight.GetHeight()); |
| 1371 | arrowRightBtn.SetImage(&arrowRightImg); |
| 1372 | arrowRightBtn.SetImageOver(&arrowRightOverImg); |
| 1373 | arrowRightBtn.SetAlignment(ALIGN_RIGHT, ALIGN_MIDDLE); |
| 1374 | arrowRightBtn.SetTrigger(trigA); |
| 1375 | arrowRightBtn.SetTrigger(trig2); |
| 1376 | arrowRightBtn.SetTrigger(&trigRight); |
| 1377 | arrowRightBtn.SetSelectable(false); |
| 1378 | arrowRightBtn.SetUpdateCallback(PlayerMappingWindowRightClick); |
| 1379 | |
| 1380 | char playerNumber[20]; |
| 1381 | sprintf(playerNumber, "Player %d", playerMapping[playerMappingChan]+1); |
| 1382 | |
| 1383 | settingText = new GuiText(playerNumber, 22, (GXColor){0, 0, 0, 255}); |
| 1384 | |
| 1385 | w->Append(&arrowLeftBtn); |
| 1386 | w->Append(&arrowRightBtn); |
| 1387 | w->Append(settingText); |
| 1388 | |
| 1389 | char title[50]; |
| 1390 | sprintf(title, "Player Mapping - Controller %d", chan+1); |
| 1391 | |
| 1392 | int previousPlayerMapping = playerMapping[playerMappingChan]; |
| 1393 | |
| 1394 | if(!SettingWindow(title,w)) |
| 1395 | playerMapping[playerMappingChan] = previousPlayerMapping; // undo changes |
| 1396 |
no test coverage detected