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){ switch (peep->state){
case 0: case 0:
*argument_1 = peep->var_71 == 0xB ? 0x59A : 0x597; *argument_1 = peep->var_71 == 0xB ? STR_DROWNING : STR_WALKING;
*argument_2 = 0; *argument_2 = 0;
break; break;
case 1: case 1:
*argument_1 = 0x597; *argument_1 = STR_WALKING;
*argument_2 = 0; *argument_2 = 0;
break; break;
case 3: case 3:
case 4: case 4:
case 7: case 7:
*argument_1 = 0x59B; *argument_1 = STR_ON_RIDE;
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->current_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){ 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_1 |= (ride.var_04A << 16);
*argument_2 = ride.var_04C; *argument_2 = ride.var_04C;
break; break;
case 0x11: case 0x11:
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->current_ride]; 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; *argument_2 = ride.var_04C;
break; break;
case 5: case 5:
case 0x14: case 0x14:
if (peep->var_C5 != 0xFF){ if (peep->var_C5 != 0xFF){
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->var_C5]; 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; *argument_2 = ride.var_04C;
} }
else{ else{
*argument_1 = peep->flags & 1 ? 0x5A7 : 0x597; *argument_1 = peep->flags & 1 ? STR_LEAVING_PARK : STR_WALKING;
*argument_2 = 0; *argument_2 = 0;
} }
break; break;
case 2: case 2:
case 6: case 6:
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->current_ride]; 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; *argument_2 = ride.var_04C;
break; break;
case 8: case 8:
*argument_1 = 0x59E; *argument_1 = STR_SITTING;
*argument_2 = 0; *argument_2 = 0;
break; break;
case 0x12: case 0x12:
if (peep->current_ride != 0xFF){ if (peep->current_ride != 0xFF){
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->current_ride]; 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; *argument_2 = ride.var_04C;
if (peep->current_seat & 0x1) if (peep->current_seat & 0x1)
*argument_1 = 0x5A5 | (ride.var_04A << 16); *argument_1 = STR_WATCHING_CONSTRUCTION_OF | (ride.var_04A << 16);
else else
*argument_1 = 0x5A4 | (ride.var_04A << 16); *argument_1 = STR_WATCHING_RIDE | (ride.var_04A << 16);
} }
else{ 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; *argument_2 = 0;
} }
break; break;
case 9: case 9:
*argument_1 = 0x59F; *argument_1 = STR_SELECT_LOCATION;
*argument_2 = 0; *argument_2 = 0;
break; break;
case 0xA: case 0xA:
case 0xD: case 0xD:
case 0xE: case 0xE:
*argument_1 = 0x597; *argument_1 = STR_WALKING;
*argument_2 = 0; *argument_2 = 0;
break; break;
case 0xB: case 0xB:
*argument_1 = 0x5A0; *argument_1 = STR_MOWING_GRASS;
*argument_2 = 0; *argument_2 = 0;
break; break;
case 0xC: case 0xC:
*argument_1 = 0x5A1; *argument_1 = STR_SWEEPING_FOOTPATH;
*argument_2 = 0; *argument_2 = 0;
break; break;
case 0x15: case 0x15:
*argument_1 = 0x5A3; *argument_1 = STR_WATERING_GARDENS;
*argument_2 = 0; *argument_2 = 0;
break; break;
case 0x13: case 0x13:
*argument_1 = 0x5A2; *argument_1 = STR_EMPTYING_LITTER_BIN;
*argument_2 = 0; *argument_2 = 0;
break; break;
case 0xF: case 0xF:
if (peep->pad_2C == 0){ if (peep->pad_2C == 0){
*argument_1 = 0x597; *argument_1 = STR_WALKING;
*argument_2 = 0; *argument_2 = 0;
} }
else if (peep->pad_2C == 1){ else if (peep->pad_2C == 1){
*argument_1 = 0x703; *argument_1 = STR_ANSWERING_RADIO_CALL;
*argument_2 = 0; *argument_2 = 0;
} }
else{ else{
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->current_ride]; 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; *argument_2 = ride.var_04C;
} }
break; break;
case 0x10: case 0x10:
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->current_ride]; 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; *argument_2 = ride.var_04C;
break; break;
case 0x16: case 0x16:
ride = RCT2_ADDRESS(RCT2_ADDRESS_RIDE_LIST, rct_ride)[peep->current_ride]; 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; *argument_2 = ride.var_04C;
break; break;
case 0x17: case 0x17: