@@ -150,44 +150,50 @@ public static byte[] DataSortACNL(byte[] data)
150
150
// Check data type
151
151
if ( data [ 0x69 ] != 0x06 && data [ 0x69 ] != 0x07 )
152
152
{
153
+ // Iterate pixels
153
154
for ( var y = 0 ; y < 64 ; y ++ )
154
155
{
155
156
for ( var x = 0 ; x < 64 / 2 ; x ++ )
156
157
{
157
- if ( data [ 0x69 ] != 0x06 && data [ 0x69 ] != 0x07 ) // Ain't a hat? Off we hack!
158
+ // Ain't a hat? Off we hack!
159
+ if ( data [ 0x69 ] != 0x06 && data [ 0x69 ] != 0x07 )
158
160
{
161
+ // Grab offsets for chunks
159
162
var offset = ( x >= 64 / 4 ? 0x200 : 0x0 ) + ( y >= 64 / 2 ? 0x400 : 0x0 ) ;
160
163
int index = offset + x % ( 64 / 4 ) + ( y % ( 64 / 2 ) ) * ( 64 / 4 ) ;
161
- if ( data [ 0x69 ] == 0x08 )
164
+ if ( data [ 0x69 ] == 0x08 ) // If it's a standee
162
165
{
163
166
var newIndex = index ;
164
167
foreach ( var kvp in OffsetsProStandeeTexChunk )
165
168
{
169
+ // Match up chunks
166
170
if ( index >= kvp . Value && index < kvp . Value + ( kvp . Key . Item2 - kvp . Key . Item1 ) )
167
171
{
168
172
newIndex = ( index - kvp . Value ) + kvp . Key . Item1 ;
169
173
}
170
174
}
171
- dataSorted [ 0x6C + newIndex ] = data [ 0x6C + index ] ;
175
+ dataSorted [ 0x6C + newIndex ] = data [ 0x6C + index ] ; // Place chunks
172
176
}
173
177
else
174
178
{
175
179
var newIndex = index ;
176
180
foreach ( var kvp in OffsetsProTexChunk )
177
181
{
182
+ // Match up chunks
178
183
if ( index >= kvp . Value && index < kvp . Value + ( kvp . Key . Item2 - kvp . Key . Item1 ) )
179
184
{
180
185
newIndex = ( index - kvp . Value ) + kvp . Key . Item1 ;
181
186
}
182
187
}
183
- dataSorted [ 0x6C + newIndex ] = data [ 0x6C + index ] ;
188
+ dataSorted [ 0x6C + newIndex ] = data [ 0x6C + index ] ; // Place chunks
184
189
}
185
190
}
186
191
}
187
192
}
188
193
}
189
194
else
190
195
{
196
+ // It's a hat? Cut it back!
191
197
Array . Copy ( data , 0x6C , dataSorted , 0x6C , 0x200 ) ;
192
198
}
193
199
0 commit comments