Advertisement
Kurausukun

Untitled

Jul 15th, 2025
377
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 4.55 KB | None | 0 0
  1. void sub_02089C20(UnkStruct_02089688 * param0)
  2. {
  3.     const int Unk_020F2EC8[][5] = {
  4.         {0, 1, 2, 3, 4},
  5.         {5, 6, 7, 8, 9},
  6.         {10,10,10,11,11},
  7.     };
  8.     BOOL v1 = FALSE;
  9.     int v2 = Unk_020F2EC8[param0->unk_214[1].unk_14.unk_02][param0->unk_214[1].unk_14.unk_00];
  10.  
  11.     if (param0->unk_2C0 != 1 || param0->unk_3AC.unk_00 == 1) {
  12.         return;
  13.     }
  14.  
  15.     if (gSystem.touchPressed == TRUE){
  16.         if (gSystem.pressedKeys && !TouchScreen_Touched()) {
  17.             gSystem.touchPressed = FALSE;
  18.             sub_0208AB2C(param0, v2);
  19.             if (v2 == 10 || v2 == 11){
  20.                 if (param0->unk_214[1].unk_00 != 2) {
  21.                     param0->unk_214[1].unk_00 = 2;
  22.                 }
  23.             }
  24.             else {
  25.                 if (param0->unk_214[1].unk_00 != 1) {
  26.                     param0->unk_214[1].unk_00 = 1;
  27.                 }
  28.             }
  29.         }
  30.         return;
  31.     }
  32.    
  33.     if (gSystem.pressedKeysRepeatable & PAD_KEY_UP) {
  34.         if (param0->unk_214[1].unk_14.unk_02 > 0) {
  35.             param0->unk_214[1].unk_14.unk_02--;
  36.         }
  37.         else {
  38.             param0->unk_214[1].unk_14.unk_02 = 2;
  39.         }
  40.         v1 = TRUE;
  41.     }
  42.     else if (gSystem.pressedKeysRepeatable & PAD_KEY_DOWN) {
  43.         param0->unk_214[1].unk_14.unk_02++;
  44.         param0->unk_214[1].unk_14.unk_02 %= 3;
  45.         v1 = TRUE;
  46.     }
  47.     else if (gSystem.pressedKeysRepeatable & PAD_KEY_RIGHT) {
  48.        
  49.         if (v2 == 10) {
  50.             param0->unk_214[1].unk_00 = 3;
  51.         }
  52.         else if (v2 == 11) {
  53.             param0->unk_214[1].unk_00 = 0;         
  54.         }
  55.         else {             
  56.             param0->unk_214[1].unk_00++;
  57.             param0->unk_214[1].unk_00 %= 5;
  58.         }
  59.         v1 = TRUE;
  60.     }
  61.     else if (gSystem.pressedKeysRepeatable & PAD_KEY_LEFT) {
  62.        
  63.         if (v2 == 10){
  64.             param0->unk_214[1].unk_00 = 3;
  65.         }
  66.         else if (v2 == 11){
  67.             param0->unk_214[1].unk_00 = 0;         
  68.         }
  69.         else {             
  70.             if (param0->unk_214[1].unk_00 > 0) {
  71.                 param0->unk_214[1].unk_00--;
  72.             }
  73.             else {
  74.                 param0->unk_214[1].unk_00 = 4;
  75.             }
  76.         }
  77.         v1 = TRUE;
  78.     }
  79.     else if (gSystem.pressedKeys & PAD_BUTTON_A) {
  80.         int v3;
  81.         int v4;
  82.         int v5;
  83.        
  84.         if (v2 == 10) {
  85.             sub_02089FFC(param0);
  86.  
  87.             Sound_PlayEffect(1509);
  88.         }      
  89.         else if (v2 == 11) {
  90.             sub_02089F80(param0);  
  91.  
  92.             Sound_PlayEffect(1506);            
  93.         }
  94.         else {
  95.             if (param0->unk_2D4 == 0)
  96.                 return;
  97.  
  98.             v3 = param0->unk_214[0].unk_00;            
  99.             param0->unk_00[v3].unk_00 = v2 + 1;
  100.             sub_0208AAB4(param0, 1, FALSE);
  101.             sub_0208AAB4(param0, 2, TRUE);
  102.             sub_0208AB6C(param0, v2, 2);
  103.             ManagedSprite_SetAnim(param0->unk_00[v3].unk_0C, sub_0208AD98(param0->unk_00[v3].unk_00, param0->unk_00[v3].unk_08));
  104.             ManagedSprite_SetAnim(param0->unk_214[2].unk_0C, 3);
  105.            
  106.             v4 = param0->unk_00[v3].unk_04;
  107.             v3++;
  108.             if (v3 == param0->unk_2D0) {
  109.                                    
  110.                 param0->unk_3AC.unk_00   = 1;
  111.                 param0->unk_3AC.unk_04 = 0;            
  112.                 param0->unk_214[1].unk_14.unk_00 = 3;
  113.                 param0->unk_214[1].unk_14.unk_02 = 2;
  114.                 v1 = TRUE;
  115.             }
  116.             else {                 
  117.                 v5 = param0->unk_00[v3].unk_04;
  118.                
  119.                 if (v4 != v5) {
  120.                    
  121.                     param0->unk_3AC.unk_00 = 1;
  122.                     param0->unk_3AC.unk_04 = v5;
  123.                 }
  124.                 else {
  125.                    
  126.                     param0->unk_3AC.unk_00 = 2;
  127.                     param0->unk_3AC.unk_04 = v3;
  128.                 }
  129.                 Sound_PlayEffect(1509);
  130.             }
  131.         }
  132.     }
  133.     else if (gSystem.pressedKeys & PAD_BUTTON_B) {
  134.         sub_02089FFC(param0);
  135.  
  136.         Sound_PlayEffect(1509);
  137.     }
  138.     else if (gSystem.pressedKeysRepeatable & PAD_BUTTON_L) {
  139.         int v6 = param0->unk_214[0].unk_00;
  140.        
  141.         if (v6 == param0->unk_3F0) {
  142.             param0->unk_214[0].unk_00 = param0->unk_2D0 - 1;
  143.         }
  144.         else {
  145.             param0->unk_214[0].unk_00--;
  146.         }
  147.         v6 = param0->unk_214[0].unk_00;
  148.        
  149.         if (param0->unk_00[v6].unk_08 == 1) {
  150.             param0->unk_3AC.unk_00 = 2;
  151.             param0->unk_3AC.unk_04 = v6;
  152.         }
  153.         else {
  154.             param0->unk_3AC.unk_00 = 1;
  155.             param0->unk_3AC.unk_04 = param0->unk_00[v6].unk_04;
  156.             param0->unk_3AC.unk_08 = 1;
  157.         }
  158.        
  159.         Sound_PlayEffect(1504);
  160.     }
  161.     else if (gSystem.pressedKeysRepeatable & PAD_BUTTON_R) {
  162.         int v7 = param0->unk_214[0].unk_00;
  163.        
  164.         if (v7 == param0->unk_2D0 - 1){
  165.             param0->unk_214[0].unk_00 = param0->unk_3F0;
  166.         }
  167.         else {
  168.             param0->unk_214[0].unk_00++;
  169.         }
  170.         v7 = param0->unk_214[0].unk_00;
  171.        
  172.         if (param0->unk_00[v7].unk_08 == 1) {
  173.             param0->unk_3AC.unk_00 = 2;
  174.             param0->unk_3AC.unk_04 = v7;
  175.         }
  176.         else {
  177.             param0->unk_3AC.unk_00 = 1;
  178.             param0->unk_3AC.unk_04 = param0->unk_00[v7].unk_04;
  179.         }
  180.  
  181.         Sound_PlayEffect(1504);
  182.     }
  183.  
  184.    
  185.     if (v1 == TRUE) {
  186.         Sound_PlayEffect(1504);
  187.  
  188.         v2 = Unk_020F2EC8[param0->unk_214[1].unk_14.unk_02][param0->unk_214[1].unk_14.unk_00];
  189.         sub_0208AB2C(param0, v2);
  190.        
  191.         if (v2 == 10 || v2 == 11) {
  192.             if (param0->unk_214[1].unk_00 != 2) {
  193.                 param0->unk_214[1].unk_00 = 2;
  194.             }
  195.         }
  196.         else {
  197.             if (param0->unk_214[1].unk_00 != 1) {
  198.                 param0->unk_214[1].unk_00 = 1;
  199.             }
  200.         }
  201.     }
  202. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement