mirror of https://github.com/OpenRCT2/OpenRCT2.git
Decompile sub_65E1C2
This commit is contained in:
parent
f28d2c9f2d
commit
c14b84489c
|
@ -194,7 +194,7 @@ typedef struct {
|
||||||
uint8 pad_116;
|
uint8 pad_116;
|
||||||
uint8 highest_drop_height; // 0x117
|
uint8 highest_drop_height; // 0x117
|
||||||
uint32 var_118;
|
uint32 var_118;
|
||||||
uint8 pad_11C[0x02];
|
uint16 var_11C;
|
||||||
uint8 var_11E;
|
uint8 var_11E;
|
||||||
uint8 var_11F;
|
uint8 var_11F;
|
||||||
sint16 var_120;
|
sint16 var_120;
|
||||||
|
|
|
@ -619,11 +619,35 @@ static rating_tuple sub_65DDD1(rct_ride *ride)
|
||||||
*/
|
*/
|
||||||
static rating_tuple sub_65E1C2(rct_ride *ride)
|
static rating_tuple sub_65E1C2(rct_ride *ride)
|
||||||
{
|
{
|
||||||
int eax, ebx, ecx, edx, esi, edi, ebp;
|
// EBX, ECX, EBP
|
||||||
edi = (int)ride;
|
int var_118_shifted = (ride->var_118) >> 16;
|
||||||
RCT2_CALLFUNC_X(0x0065E1C2, &eax, &ebx, &ecx, &edx, &esi, &edi, &ebp);
|
uint32 eax = min(var_118_shifted, 1000);
|
||||||
|
int excitement = (eax * 9175) >> 16;
|
||||||
|
|
||||||
rating_tuple rating = { ebx, ecx, ebp };
|
eax = min(var_118_shifted, 2000);
|
||||||
|
int intensity = (eax * 0x2666) >> 16;
|
||||||
|
|
||||||
|
eax = min(var_118_shifted, 1000);
|
||||||
|
int nausea = (eax * 0x4000) >> 16;
|
||||||
|
|
||||||
|
eax = (ride->var_11C * 30340) >> 16;
|
||||||
|
nausea += eax;
|
||||||
|
|
||||||
|
if (ride->var_11E & 0x40) {
|
||||||
|
excitement += 20;
|
||||||
|
nausea += 15;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (ride->var_11E & 0x20) {
|
||||||
|
excitement += 20;
|
||||||
|
nausea += 15;
|
||||||
|
}
|
||||||
|
|
||||||
|
uint8 lowerval = ride->var_11E & 0x1F;
|
||||||
|
lowerval = min(lowerval, 11);
|
||||||
|
excitement += (lowerval * 774516) >> 16;
|
||||||
|
|
||||||
|
rating_tuple rating = { excitement, intensity, nausea };
|
||||||
return rating;
|
return rating;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue