Now uses string id references.

This can be used to identify a few more variables.
This commit is contained in:
Duncan 2014-06-27 14:27:51 +01:00
parent ab38c956eb
commit 0b9a47ca95
1 changed files with 24 additions and 24 deletions

View File

@ -867,115 +867,115 @@ void get_arguments_from_action(rct_peep* peep, uint32 *argument_1, uint32* argum
switch (peep->state){
case 0:
*argument_1 = peep->var_71 == 0xB ? 0x59A : 0x597;
*argument_1 = peep->var_71 == 0xB ? STR_DROWNING : STR_WALKING;
*argument_2 = 0;
break;
case 1:
*argument_1 = 0x597;
*argument_1 = STR_WALKING;
*argument_2 = 0;
break;
case 3:
case 4:
case 7:
*argument_1 = 0x59B;
*argument_1 = STR_ON_RIDE;
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->current_ride];
if (RCT2_GLOBAL(RCT2_ADDRESS_RIDE_FLAGS + ride.type*8, uint32)& 0x400000){
(*argument_1)++;
*argument_1 = STR_IN_RIDE;
}
*argument_1 |= (ride.var_04A << 16);
*argument_2 = ride.var_04C;
break;
case 0x11:
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->current_ride];
*argument_1 = 0x59D | (ride.var_04A << 16);
*argument_1 = STR_AT_RIDE | (ride.var_04A << 16);
*argument_2 = ride.var_04C;
break;
case 5:
case 0x14:
if (peep->var_C5 != 0xFF){
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->var_C5];
*argument_1 = 0x598 | (ride.var_04A << 16);
*argument_1 = STR_HEADING_FOR | (ride.var_04A << 16);
*argument_2 = ride.var_04C;
}
else{
*argument_1 = peep->flags & 1 ? 0x5A7 : 0x597;
*argument_1 = peep->flags & 1 ? STR_LEAVING_PARK : STR_WALKING;
*argument_2 = 0;
}
break;
case 2:
case 6:
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->current_ride];
*argument_1 = 0x599 | (ride.var_04A << 16);
*argument_1 = STR_QUEUING_FOR | (ride.var_04A << 16);
*argument_2 = ride.var_04C;
break;
case 8:
*argument_1 = 0x59E;
*argument_1 = STR_SITTING;
*argument_2 = 0;
break;
case 0x12:
if (peep->current_ride != 0xFF){
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->current_ride];
*argument_1 = 0x5A4 | (ride.var_04A << 16);
*argument_1 = STR_WATCHING_RIDE | (ride.var_04A << 16);
*argument_2 = ride.var_04C;
if (peep->current_seat & 0x1)
*argument_1 = 0x5A5 | (ride.var_04A << 16);
*argument_1 = STR_WATCHING_CONSTRUCTION_OF | (ride.var_04A << 16);
else
*argument_1 = 0x5A4 | (ride.var_04A << 16);
*argument_1 = STR_WATCHING_RIDE | (ride.var_04A << 16);
}
else{
*argument_1 = peep->current_seat & 0x1 ? 0x5A8 : 0x5A6;
*argument_1 = peep->current_seat & 0x1 ? STR_WATCHING_NEW_RIDE_BEING_CONSTRUCTED : STR_LOOKING_AT_SCENERY;
*argument_2 = 0;
}
break;
case 9:
*argument_1 = 0x59F;
*argument_1 = STR_SELECT_LOCATION;
*argument_2 = 0;
break;
case 0xA:
case 0xD:
case 0xE:
*argument_1 = 0x597;
*argument_1 = STR_WALKING;
*argument_2 = 0;
break;
case 0xB:
*argument_1 = 0x5A0;
*argument_1 = STR_MOWING_GRASS;
*argument_2 = 0;
break;
case 0xC:
*argument_1 = 0x5A1;
*argument_1 = STR_SWEEPING_FOOTPATH;
*argument_2 = 0;
break;
case 0x15:
*argument_1 = 0x5A3;
*argument_1 = STR_WATERING_GARDENS;
*argument_2 = 0;
break;
case 0x13:
*argument_1 = 0x5A2;
*argument_1 = STR_EMPTYING_LITTER_BIN;
*argument_2 = 0;
break;
case 0xF:
if (peep->pad_2C == 0){
*argument_1 = 0x597;
*argument_1 = STR_WALKING;
*argument_2 = 0;
}
else if (peep->pad_2C == 1){
*argument_1 = 0x703;
*argument_1 = STR_ANSWERING_RADIO_CALL;
*argument_2 = 0;
}
else{
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->current_ride];
*argument_1 = 0x700 | (ride.var_04A << 16);
*argument_1 = STR_RESPONDING_TO_RIDE_BREAKDOWN_CALL | (ride.var_04A << 16);
*argument_2 = ride.var_04C;
}
break;
case 0x10:
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->current_ride];
*argument_1 = 0x702 | (ride.var_04A << 16);
*argument_1 = STR_FIXING_RIDE | (ride.var_04A << 16);
*argument_2 = ride.var_04C;
break;
case 0x16:
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->current_ride];
*argument_1 = 0x701 | (ride.var_04A << 16);
*argument_1 = STR_HEADING_TO_RIDE_FOR_INSPECTION | (ride.var_04A << 16);
*argument_2 = ride.var_04C;
break;
case 0x17: