@@ -72,17 +72,17 @@ void XZToColumnXZ(tU8* pColumn_x, tU8* pColumn_z, br_scalar pX, br_scalar pZ, tT
72
72
73
73
x = (pX - pTrack_spec -> origin_x ) / pTrack_spec -> column_size_x ;
74
74
z = (pZ - pTrack_spec -> origin_z ) / pTrack_spec -> column_size_z ;
75
- if (x < 0.0 ) {
76
- x = 0.0 ;
75
+ if (x < 0.0f ) {
76
+ x = 0.0f ;
77
77
}
78
- if (pTrack_spec -> ncolumns_x <= x ) {
79
- x = pTrack_spec -> ncolumns_x - 1.0 ;
78
+ if (x >= pTrack_spec -> ncolumns_x ) {
79
+ x = pTrack_spec -> ncolumns_x - 1.0f ;
80
80
}
81
- if (z < 0.0 ) {
82
- z = 0.0 ;
81
+ if (z < 0.0f ) {
82
+ z = 0.0f ;
83
83
}
84
- if (pTrack_spec -> ncolumns_z <= z ) {
85
- z = pTrack_spec -> ncolumns_z - 1.0 ;
84
+ if (z >= pTrack_spec -> ncolumns_z ) {
85
+ z = pTrack_spec -> ncolumns_z - 1.0f ;
86
86
}
87
87
* pColumn_x = x ;
88
88
* pColumn_z = z ;
@@ -277,7 +277,7 @@ void ExtractColumns(tTrack_spec* pTrack_spec) {
277
277
if (pTrack_spec -> ampersand_digits <= 0 ) {
278
278
pTrack_spec -> non_car_list = NULL ;
279
279
} else {
280
- pTrack_spec -> non_car_list = BrMemAllocate (sizeof (intptr_t ) * pTrack_spec -> ampersand_digits , kMem_non_car_list );
280
+ pTrack_spec -> non_car_list = BrMemAllocate (sizeof (br_actor * ) * pTrack_spec -> ampersand_digits , kMem_non_car_list );
281
281
}
282
282
if (unsplit ) {
283
283
* * pTrack_spec -> columns = pTrack_spec -> the_actor ;
@@ -407,7 +407,7 @@ void RenderTrack(br_actor* pWorld, tTrack_spec* pTrack_spec, br_actor* pCamera,
407
407
static br_actor * result ;
408
408
LOG_TRACE ("(%p, %p, %p, %p, %d)" , pWorld , pTrack_spec , pCamera , pCamera_to_world , pRender_blends );
409
409
410
- if (pTrack_spec -> columns ) {
410
+ if (pTrack_spec -> columns != NULL ) {
411
411
if (pRender_blends ) {
412
412
DrawColumns (1 , pTrack_spec , min_x , max_x , min_z , max_z , pCamera_to_world );
413
413
} else {
@@ -417,7 +417,7 @@ void RenderTrack(br_actor* pWorld, tTrack_spec* pTrack_spec, br_actor* pCamera,
417
417
max_x = column_x ;
418
418
min_z = column_z ;
419
419
max_z = column_z ;
420
- tan_fov_ish = sin (BrAngleToRadian (camera -> field_of_view / 2 )) / cos (BrAngleToRadian (camera -> field_of_view / 2 ));
420
+ tan_fov_ish = sinf (BrAngleToRadian (camera -> field_of_view / 2 )) / cosf (BrAngleToRadian (camera -> field_of_view / 2 ));
421
421
edge_after .v [0 ] = camera -> aspect * tan_fov_ish ;
422
422
edge_after .v [1 ] = tan_fov_ish ;
423
423
edge_after .v [2 ] = -1.0 ;
@@ -426,29 +426,23 @@ void RenderTrack(br_actor* pWorld, tTrack_spec* pTrack_spec, br_actor* pCamera,
426
426
edge_before .v [2 ] = camera -> yon_z * gYon_factor * -1.0 ;
427
427
BrMatrix34ApplyV (& edge_after , & edge_before , pCamera_to_world );
428
428
XZToColumnXZ (& column_x , & column_z , pCamera_to_world -> m [3 ][0 ] + edge_after .v [0 ], pCamera_to_world -> m [3 ][2 ] + edge_after .v [2 ], pTrack_spec );
429
- if (column_x >= min_x ) {
430
- if (column_x > max_x ) {
431
- max_x = column_x ;
432
- }
433
- } else {
429
+ if (column_x < min_x ) {
434
430
min_x = column_x ;
431
+ } else if (column_x > max_x ) {
432
+ max_x = column_x ;
435
433
}
436
- if (column_z >= min_z ) {
437
- if (column_z > max_z ) {
438
- max_z = column_z ;
439
- }
440
- } else {
434
+ if (column_z < min_z ) {
441
435
min_z = column_z ;
436
+ } else if (column_z > max_z ) {
437
+ max_z = column_z ;
442
438
}
443
439
edge_before .v [0 ] = - edge_before .v [0 ];
444
440
BrMatrix34ApplyV (& edge_after , & edge_before , pCamera_to_world );
445
441
XZToColumnXZ (& column_x , & column_z , pCamera_to_world -> m [3 ][0 ] + edge_after .v [0 ], pCamera_to_world -> m [3 ][2 ] + edge_after .v [2 ], pTrack_spec );
446
- if (column_x >= min_x ) {
447
- if (column_x > max_x ) {
448
- max_x = column_x ;
449
- }
450
- } else {
442
+ if (column_x < min_x ) {
451
443
min_x = column_x ;
444
+ } else if (column_x > max_x ) {
445
+ max_x = column_x ;
452
446
}
453
447
if (column_z >= min_z ) {
454
448
if (column_z > max_z ) {
@@ -460,44 +454,36 @@ void RenderTrack(br_actor* pWorld, tTrack_spec* pTrack_spec, br_actor* pCamera,
460
454
edge_before .v [1 ] = - edge_before .v [1 ];
461
455
BrMatrix34ApplyV (& edge_after , & edge_before , pCamera_to_world );
462
456
XZToColumnXZ (& column_x , & column_z , pCamera_to_world -> m [3 ][0 ] + edge_after .v [0 ], pCamera_to_world -> m [3 ][2 ] + edge_after .v [2 ], pTrack_spec );
463
- if (column_x >= min_x ) {
464
- if (column_x > max_x ) {
465
- max_x = column_x ;
466
- }
467
- } else {
457
+ if (column_x < min_x ) {
468
458
min_x = column_x ;
459
+ } else if (column_x > max_x ) {
460
+ max_x = column_x ;
469
461
}
470
- if (column_z >= min_z ) {
471
- if (column_z > max_z ) {
472
- max_z = column_z ;
473
- }
474
- } else {
462
+ if (column_z < min_z ) {
475
463
min_z = column_z ;
464
+ } else if (column_z > max_z ) {
465
+ max_z = column_z ;
476
466
}
477
467
edge_before .v [0 ] = - edge_before .v [0 ];
478
468
BrMatrix34ApplyV (& edge_after , & edge_before , pCamera_to_world );
479
469
XZToColumnXZ (& column_x , & column_z , pCamera_to_world -> m [3 ][0 ] + edge_after .v [0 ], pCamera_to_world -> m [3 ][2 ] + edge_after .v [2 ], pTrack_spec );
480
- if (column_x >= min_x ) {
481
- if (column_x > max_x ) {
482
- max_x = column_x ;
483
- }
484
- } else {
470
+ if (column_x < min_x ) {
485
471
min_x = column_x ;
472
+ } else if (column_x > max_x ) {
473
+ max_x = column_x ;
486
474
}
487
- if (column_z >= min_z ) {
488
- if (column_z > max_z ) {
489
- max_z = column_z ;
490
- }
491
- } else {
475
+ if (column_z < min_z ) {
492
476
min_z = column_z ;
477
+ } else if (column_z > max_z ) {
478
+ max_z = column_z ;
493
479
}
494
- if (min_x ) {
480
+ if (min_x != 0 ) {
495
481
min_x -- ;
496
482
}
497
483
if (pTrack_spec -> ncolumns_x - 1 > max_x ) {
498
484
max_x ++ ;
499
485
}
500
- if (min_z ) {
486
+ if (min_z != 0 ) {
501
487
min_z -- ;
502
488
}
503
489
if (pTrack_spec -> ncolumns_z - 1 > max_z ) {
@@ -512,10 +498,12 @@ void RenderTrack(br_actor* pWorld, tTrack_spec* pTrack_spec, br_actor* pCamera,
512
498
513
499
// IDA: br_scalar __cdecl GetYonFactor()
514
500
br_scalar GetYonFactor () {
501
+
515
502
return gYon_factor ;
516
503
}
517
504
518
505
// IDA: void __cdecl SetYonFactor(br_scalar pNew)
519
506
void SetYonFactor (br_scalar pNew ) {
507
+
520
508
gYon_factor = pNew ;
521
509
}
0 commit comments