@@ -5841,10 +5841,20 @@ void FUN_8006f9a8(uint *param_1,int param_2,uint *param_3,undefined4 param_4,int
58415841 uVar18 = (uVar18 - uVar7 & 0xfffeffff ) + uVar15 & 0xfffeffff ;
58425842 iVar17 = ((uVar8 + ((int )param_3 [5 ] >> 1 )) - (iVar9 - (iVar9 - sVar3 >> 3 ))) + iVar16 ;
58435843 iVar16 = (uVar19 - iVar9 ) + iVar16 ;
5844+
5845+ // colorBottom
58445846 uVar6 = param_3 [9 ];
5847+
5848+ // fillMode
58455849 uVar15 = param_3 [10 ];
5850+
5851+ // ptrOT plus an offset
58465852 puVar12 = (uint * )(uVar11 + param_3 [0xb ] * 4 );
5853+
5854+ // colorTop
58475855 * (uint * )(iVar4 + 0x30 ) = param_3 [8 ] | 0x52000000 ;
5856+
5857+ // colorBottom
58485858 * (uint * )(iVar4 + 0x34 ) = uVar6 ;
58495859
58505860 // RNG seed
@@ -5864,18 +5874,25 @@ void FUN_8006f9a8(uint *param_1,int param_2,uint *param_3,undefined4 param_4,int
58645874 uVar11 = uVar11 | (uint )puVar23 ;
58655875 puVar21 = (undefined * )((int )uVar22 >> 5 );
58665876 uVar8 = (int )uVar19 >> 0x15 & 0xffff ;
5867- while ( true ) {
5877+ while ( true )
5878+ {
58685879 bVar1 = uVar14 == 0 ;
58695880 uVar14 = uVar14 - 1 ;
5870- if (bVar1 ) {
5881+
5882+ if (bVar1 )
5883+ {
5884+ // setFill(p)
5885+ // setlen(p, 3), setcode(p, 0x02)
5886+
58715887 puVar5 [1 ] = uVar15 ;
58725888 puVar5 [2 ] = 0 ;
58735889 * puVar5 = * puVar12 | 0x2000000 ;
58745890 * puVar12 = (uint )puVar5 & 0xffffff ;
58755891 * (uint * * )(param_2 + 0xc ) = puVar5 + 3 ;
58765892 return ;
58775893 }
5878- uVar19 = ((uVar8 | (uint )puVar21 ) + uVar10 & 0x7fe07ff ) - * (int * )(iVar4 + 0x38 );
5894+
5895+ uVar19 = ((uVar8 | (uint )puVar21 ) + uVar10 & 0x7fe07ff ) - * (int * )(iVar4 + 0x38 );
58795896 uVar8 = ((uVar8 | (uint )puVar21 ) + uVar18 & 0x7fe07ff ) - * (int * )(iVar4 + 0x38 );
58805897 if (uVar8 - uVar19 != uVar18 - uVar10 ) break ;
58815898 uVar8 = uVar8 & 0xfffeffff ;
@@ -5905,17 +5922,23 @@ void FUN_8006f9a8(uint *param_1,int param_2,uint *param_3,undefined4 param_4,int
59055922 uVar19 = gte_stSXY0 ();
59065923 iVar9 = gte_stFLAG ();
59075924 uVar7 = gte_stSXY1 ();
5908- if (((-1 < iVar9 << 0xe ) &&
5925+
5926+ if (((-1 < iVar9 << 0xe ) &&
59095927 (uVar19 = ~(uVar19 - uVar13 | uVar7 - uVar13 ) | uVar19 & uVar7 , -1 < (int )uVar19 )) &&
5910- (-1 < (int )(uVar19 << 0x10 ))) {
5928+ (-1 < (int )(uVar19 << 0x10 )))
5929+ {
59115930 uVar19 = * (uint * )(iVar4 + 0x34 );
59125931 puVar5 [1 ] = * (uint * )(iVar4 + 0x30 );
59135932 puVar5 [3 ] = uVar19 ;
5914- * puVar5 = * puVar12 | 0x4000000 ;
5933+
5934+ // 0x40 - LineF2
5935+ * puVar5 = * puVar12 | 0x4000000 ;
5936+
59155937 gte_stSXY0 ();
59165938 gte_stSXY1 ();
59175939 * puVar12 = (uint )puVar5 & 0xffffff ;
5918- puVar5 = puVar5 + 5 ;
5940+
5941+ puVar5 = puVar5 + 5 ;
59195942 }
59205943 }
59215944 } while ( true );
0 commit comments