@@ -310,41 +310,25 @@ void DrawOneInst(struct Instance* curr)
310310 void * pCurr ;
311311 void * pNext ;
312312
313- short zz ;
314- posWorld1 [0 ] = ((mf -> pos [0 ] + tempCoords [1 ].X ) * mh -> scale [0 ]) >> 8 ;
315- posWorld1 [1 ] = ((mf -> pos [2 ] + tempCoords [1 ].Y ) * mh -> scale [2 ]) >> 8 ;
316- posWorld1 [2 ] = ((mf -> pos [1 ] + tempCoords [1 ].Z ) * mh -> scale [1 ]) >> 8 ;
313+ // The X, Z, Y, is not a typo
314+ posWorld1 [0 ] = (((( mf -> pos [0 ] + tempCoords [1 ].X ) * mh -> scale [0 ]) >> 8 ) * curr -> scale [ 0 ]) >> 12 ;
315+ posWorld1 [1 ] = (((( mf -> pos [1 ] + tempCoords [1 ].Z ) * mh -> scale [1 ]) >> 8 ) * curr -> scale [ 1 ]) >> 12 ;
316+ posWorld1 [2 ] = (((( mf -> pos [2 ] + tempCoords [1 ].Y ) * mh -> scale [2 ]) >> 8 ) * curr -> scale [ 2 ]) >> 12 ;
317317 posWorld1 [3 ] = 0 ;
318- zz = posWorld1 [2 ];
319- posWorld1 [2 ] = posWorld1 [1 ];
320- posWorld1 [1 ] = zz ;
321- posWorld1 [0 ] = (posWorld1 [0 ] * curr -> scale [0 ]) >> 12 ;
322- posWorld1 [1 ] = (posWorld1 [1 ] * curr -> scale [1 ]) >> 12 ;
323- posWorld1 [2 ] = (posWorld1 [2 ] * curr -> scale [2 ]) >> 12 ;
324318 gte_ldv0 (& posWorld1 [0 ]);
325319
326- posWorld2 [0 ] = ((mf -> pos [0 ] + tempCoords [2 ].X ) * mh -> scale [0 ]) >> 8 ;
327- posWorld2 [1 ] = ((mf -> pos [2 ] + tempCoords [2 ].Y ) * mh -> scale [2 ]) >> 8 ;
328- posWorld2 [2 ] = ((mf -> pos [1 ] + tempCoords [2 ].Z ) * mh -> scale [1 ]) >> 8 ;
320+ // The X, Z, Y, is not a typo
321+ posWorld2 [0 ] = ((((mf -> pos [0 ] + tempCoords [2 ].X ) * mh -> scale [0 ]) >> 8 ) * curr -> scale [0 ]) >> 12 ;
322+ posWorld2 [1 ] = ((((mf -> pos [1 ] + tempCoords [2 ].Z ) * mh -> scale [1 ]) >> 8 ) * curr -> scale [1 ]) >> 12 ;
323+ posWorld2 [2 ] = ((((mf -> pos [2 ] + tempCoords [2 ].Y ) * mh -> scale [2 ]) >> 8 ) * curr -> scale [2 ]) >> 12 ;
329324 posWorld2 [3 ] = 0 ;
330- zz = posWorld2 [2 ];
331- posWorld2 [2 ] = posWorld2 [1 ];
332- posWorld2 [1 ] = zz ;
333- posWorld2 [0 ] = (posWorld2 [0 ] * curr -> scale [0 ]) >> 12 ;
334- posWorld2 [1 ] = (posWorld2 [1 ] * curr -> scale [1 ]) >> 12 ;
335- posWorld2 [2 ] = (posWorld2 [2 ] * curr -> scale [2 ]) >> 12 ;
336325 gte_ldv1 (& posWorld2 [0 ]);
337326
338- posWorld3 [0 ] = ((mf -> pos [0 ] + tempCoords [3 ].X ) * mh -> scale [0 ]) >> 8 ;
339- posWorld3 [1 ] = ((mf -> pos [2 ] + tempCoords [3 ].Y ) * mh -> scale [2 ]) >> 8 ;
340- posWorld3 [2 ] = ((mf -> pos [1 ] + tempCoords [3 ].Z ) * mh -> scale [1 ]) >> 8 ;
327+ // The X, Z, Y, is not a typo
328+ posWorld3 [0 ] = ((((mf -> pos [0 ] + tempCoords [3 ].X ) * mh -> scale [0 ]) >> 8 ) * curr -> scale [0 ]) >> 12 ;
329+ posWorld3 [1 ] = ((((mf -> pos [1 ] + tempCoords [3 ].Z ) * mh -> scale [1 ]) >> 8 ) * curr -> scale [1 ]) >> 12 ;
330+ posWorld3 [2 ] = ((((mf -> pos [2 ] + tempCoords [3 ].Y ) * mh -> scale [2 ]) >> 8 ) * curr -> scale [2 ]) >> 12 ;
341331 posWorld3 [3 ] = 0 ;
342- zz = posWorld3 [2 ];
343- posWorld3 [2 ] = posWorld3 [1 ];
344- posWorld3 [1 ] = zz ;
345- posWorld3 [0 ] = (posWorld3 [0 ] * curr -> scale [0 ]) >> 12 ;
346- posWorld3 [1 ] = (posWorld3 [1 ] * curr -> scale [1 ]) >> 12 ;
347- posWorld3 [2 ] = (posWorld3 [2 ] * curr -> scale [2 ]) >> 12 ;
348332 gte_ldv2 (& posWorld3 [0 ]);
349333
350334 gte_rtpt ();
0 commit comments