Advertisement
Kurausukun

ov62_02232778

Mar 16th, 2024
579
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C 3.85 KB | None | 0 0
  1. void ov62_02232778(UnkStruct_ov62_02233310 *param0, UnkStruct_0208C06C *param1, MessageLoader *param2, const UnkStruct_ov62_02248CDC *param3, int param4, int param5, Strbuf *param6) {
  2.     int v0;
  3.     Window *v1;
  4.     Strbuf *v2;
  5.     Strbuf *v3;
  6.     Strbuf *v4;
  7.     Strbuf *v5;
  8.     Strbuf *v6;
  9.     UnkStruct_0200B358 *v7;
  10.     int v8 = 0;
  11.     u64 v9 = 0;
  12.     int v10[30] = {0};
  13.     Strbuf *v11;
  14.  
  15.     v1 = &param0->unk_18;
  16.  
  17.     param0->unk_04 = param3->unk_04;
  18.     param0->unk_00 = 0;
  19.  
  20.     param0->unk_0C = 0;
  21.     param0->unk_10 = param3->unk_24;
  22.     param0->unk_28 = param3;
  23.     if (param2) {
  24.         param0->unk_34 = param2;
  25.     } else {
  26.         param0->unk_34 = param1->unk_14.unk_34;
  27.     }
  28.  
  29.     param0->unk_14 = (param0->unk_04 / param0->unk_10) + 1;
  30.     if (param0->unk_04 < param0->unk_10) {
  31.         param0->unk_10 = param0->unk_04;
  32.         param0->unk_38.unk_08 = param0->unk_10 - 1;
  33.         param0->unk_38.unk_0C = param0->unk_10 - 1;
  34.     }
  35.  
  36.     param0->unk_38.unk_08 = param0->unk_10 / 2;
  37.     param0->unk_38.unk_0C = param0->unk_10 / 2;
  38.  
  39.     sub_0201A7A0(v1);
  40.     BGL_AddWindow(param1->unk_14.unk_10, v1, param3->unk_20, param3->unk_0C, param3->unk_10, param3->unk_14, param3->unk_18, 14, param3->unk_1C);
  41.     BGL_FillWindow(v1, 0x00);
  42.  
  43.     v7 = ov62_02231690(102);
  44.  
  45.     {
  46.         u64 v12 = param0->unk_28->unk_00[0].unk_08;
  47.         int v13[] = {16, 12, 20};
  48.  
  49.         v9 = v12;
  50.         v10[0] = v8;
  51.  
  52.         for (v0 = 1; v0 < v13[param5]; v0++) {
  53.             u64 v14 = param0->unk_28->unk_00[v0].unk_08;
  54.  
  55.             if (v14 == v9) {
  56.                 v10[v0] = v8;
  57.             } else {
  58.                 v9 = v14;
  59.                 v10[v0] = v0;
  60.                 v8 = v0;
  61.             }
  62.         }
  63.     }
  64.  
  65.     for (v0 = 0; v0 < param0->unk_10; v0++) {
  66.         v3 = MessageLoader_GetNewStrbuf(param1->unk_14.unk_34, 88 + param5);
  67.  
  68.         v4 = Strbuf_Init(255, 102);
  69.         v6 = Strbuf_Init(255, 102);
  70.         v11 = Strbuf_Init(255, 102);
  71.  
  72.         switch (param5) {
  73.         case 0:
  74.         {
  75.             int v15 = param0->unk_28->unk_00[v0].unk_04;
  76.  
  77.             v5 = MessageLoader_GetNewStrbuf(param0->unk_34, v15);
  78.         }
  79.         break;
  80.         case 1:
  81.         {
  82.             int v16 = param0->unk_28->unk_00[v0].unk_04;
  83.  
  84.             v5 = Strbuf_Init(255, 102);
  85.             Strbuf_FormatInt(v5, v16, 2, 1, 1);
  86.         }
  87.         break;
  88.         case 2:
  89.         {
  90.             u16 v17[255];
  91.             int v18 = param0->unk_28->unk_00[v0].unk_04;
  92.  
  93.             v5 = Strbuf_Init(255, 102);
  94.             MessageLoader_GetSpeciesName(v18, 102, v17);
  95.             Strbuf_CopyChars(v5, v17);
  96.         }
  97.         break;
  98.         }
  99.  
  100.         {
  101.             u64 v19 = param0->unk_28->unk_00[v0].unk_08;
  102.  
  103.             Strbuf_FormatU64(v11, v19, ov62_0223438C(v19), 0, 1);
  104.         }
  105.         Strbuf_FormatInt(v4, v10[v0] + 1, 2, 1, 1);
  106.         sub_0200B48C(v7, 0, v4, 0, 1, 2);
  107.         sub_0200B48C(v7, 1, v5, 0, 1, 2);
  108.         sub_0200C388(v7, v6, v3);
  109.  
  110.         sub_0201D78C(v1, 0, v6, 0, v0 * (16 * param0->unk_28->unk_08), (0xff), ((u32)(((15 & (0xff)) << 16) | ((13 & (0xff)) << 8) | ((0 & (0xff)) << 0))), NULL);
  111.         if (param0->unk_28->unk_08 == 2) {
  112.             int v20 = sub_02002D7C(0, v11, 0);
  113.  
  114.             sub_0201D78C(v1, 0, v11, 16, (v0 * (16 * param0->unk_28->unk_08)) + 16, (0xff), ((u32)(((15 & (0xff)) << 16) | ((13 & (0xff)) << 8) | ((0 & (0xff)) << 0))), NULL);
  115.             if (param6) {
  116.                 sub_0201D78C(v1, 0, param6, 16 + v20, (v0 * (16 * param0->unk_28->unk_08)) + 16, (0xff), ((u32)(((15 & (0xff)) << 16) | ((13 & (0xff)) << 8) | ((0 & (0xff)) << 0))), NULL);
  117.             }
  118.         }
  119.  
  120.         Strbuf_Free(v3);
  121.         Strbuf_Free(v4);
  122.         Strbuf_Free(v5);
  123.         Strbuf_Free(v6);
  124.  
  125.         Strbuf_Free(v11);
  126.  
  127.         sub_0200C41C(v7);
  128.     }
  129.  
  130.     sub_0201A9A4(v1);
  131.     sub_0200B3F0(v7);
  132. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement