diff --git a/src/addresses.h b/src/addresses.h index 403ec3f966..cb3f4a35ca 100644 --- a/src/addresses.h +++ b/src/addresses.h @@ -40,7 +40,7 @@ #define RCT2_CALLPROC_4(address, a1, a2, a3, a4, v1, v2, v3, v4) RCT2_CALLFUNC_4(address, void, a1, a2, a3, a4, v1, v2, v3, v4) #define RCT2_CALLPROC_5(address, a1, a2, a3, a4, a5, v1, v2, v3, v4, v5) RCT2_CALLFUNC_5(address, void, a1, a2, a3, a4, a5, v1, v2, v3, v4, v5) -#define RCT2_ADDRESS_RIDE_PROPERTIES 0x00997c9d +#define RCT2_ADDRESS_RIDE_PROPERTIES 0x00997C9D #define RCT2_ADDRESS_LAND_TOOL_SIZE 0x009A9800 #define RCT2_ADDRESS_SCENARIO_LIST 0x009A9FF4 @@ -54,6 +54,8 @@ #define RCT2_ADDRESS_CONFIG_KEYBOARD_SHORTCUTS 0x009AAC7A #define RCT2_ADDRESS_CONFIG_EDGE_SCROLLING 0x009AACBA +#define RCT2_ADDRESS_EXPANSION_NAMES 0x009AACC0 +#define RCT2_ADDRESS_EXPANSION_FLAGS 0x009AB4C0 #define RCT2_ADDRESS_CONFIG_RESOLUTION_WIDTH 0x009AB4C2 #define RCT2_ADDRESS_CONFIG_RESOLUTION_HEIGHT 0x009AB4C4 @@ -68,8 +70,6 @@ #define RCT2_ADDRESS_SCREEN_DPI 0x009ABDC8 #define RCT2_ADDRESS_SCREEN_WIDTH 0x009ABDD8 #define RCT2_ADDRESS_SCREEN_HEIGHT 0x009ABDDA -#define RCT2_ADDRESS_SCREEN_CAP_BPP 0x01423C10 -#define RCT2_ADDRESS_SCREEN_CAP_RASTER_STRETCH 0x01423C14 #define RCT2_ADDRESS_DIRTY_BLOCK_WIDTH 0x009ABDE4 #define RCT2_ADDRESS_DIRTY_BLOCK_HEIGHT 0x009ABDE6 @@ -136,6 +136,7 @@ #define RCT2_ADDRESS_GAME_FLAGS 0x013573E4 #define RCT2_ADDRESS_PARK_ENTRANCE_FEE 0x013573E8 #define RCT2_ADDRESS_GUESTS_IN_PARK 0x01357844 +#define RCT2_ADDRESS_MONTHLY_RIDE_INCOME 0x01357894 #define RCT2_ADDRESS_CURRENT_PARK_RATING 0x01357CB0 #define RCT2_ADDRESS_PARK_RATING_HISTORY 0x01357CB2 #define RCT2_ADDRESS_GUESTS_IN_PARK_HISTORY 0x01357CD2 @@ -214,8 +215,8 @@ #define RCT2_ADDRESS_MEM_TOTAL_PAGEFILE 0x01423B60 #define RCT2_ADDRESS_MEM_TOTAL_VIRTUAL 0x01423B64 -#define RCT2_ADDRESS_EXPANSION_FLAGS 0x009AB4C0 -#define RCT2_ADDRESS_EXPANSION_NAMES 0x009AACC0 +#define RCT2_ADDRESS_SCREEN_CAP_BPP 0x01423C10 +#define RCT2_ADDRESS_SCREEN_CAP_RASTER_STRETCH 0x01423C14 static void RCT2_CALLPROC_EBPSAFE(int address) { diff --git a/src/date.c b/src/date.c index 335aac73f4..1db9d0f224 100644 --- a/src/date.c +++ b/src/date.c @@ -22,6 +22,10 @@ #include "date.h" #include "rct2.h" +// rct2: 0x00993988 +const sint16 days_in_month[MONTH_COUNT] = { 31, 30, 31, 30, 31, 31, 30, 31 }; + + int date_get_month(int months) { return months % MONTH_COUNT; diff --git a/src/date.h b/src/date.h index 49e603a0ac..23eae8cdc9 100644 --- a/src/date.h +++ b/src/date.h @@ -21,6 +21,8 @@ #ifndef _DATE_H_ #define _DATE_H_ +#include "rct2.h" + enum { MONTH_MARCH, MONTH_APRIL, @@ -34,6 +36,8 @@ enum { MONTH_COUNT }; +extern const sint16 days_in_month[MONTH_COUNT]; + int date_get_month(int months); int date_get_total_months(int month, int year); void date_reset(); diff --git a/src/peep.h b/src/peep.h index 1d4b092350..13b4343346 100644 --- a/src/peep.h +++ b/src/peep.h @@ -30,6 +30,13 @@ enum PEEP_TYPE { PEEP_TYPE_STAFF }; +enum STAFF_TYPE { + STAFF_TYPE_HANDYMAN, + STAFF_TYPE_MECHANIC, + STAFF_TYPE_SECURITY, + STAFF_TYPE_ENTERTAINER +}; + enum { PEEP_FLAGS_TRACKING = 8 }; @@ -68,7 +75,7 @@ typedef struct { uint8 pad_2C; uint8 sprite_type; // 0x2D uint8 type; // 0x2E - uint8 var_2F; + uint8 staff_type; // 0x2F uint8 var_30; uint8 var_31; uint8 pad_32[0x06]; @@ -83,11 +90,11 @@ typedef struct { uint8 bathroom; // 0x40 uint8 pad_041[0x27]; uint8 current_ride; // 0x68 - uint8 pad_6a; // 0x6A Part of current_ride? + uint8 pad_6A; // 0x6A Part of current_ride? uint8 current_train; // 0x6B uint8 current_car; // 0x6C - uint8 current_seat; // 0x6d - uint8 pad_6C[0x2e]; + uint8 current_seat; // 0x6D + uint8 pad_6E[0x2E]; uint32 id; // 0x9C uint8 pad_A0[0x10]; rct_peep_thought thoughts[PEEP_MAX_THOUGHTS]; // 0xB0 diff --git a/src/screenshot.c b/src/screenshot.c index f383c95d9b..727d2ffc4d 100644 --- a/src/screenshot.c +++ b/src/screenshot.c @@ -33,7 +33,7 @@ enum { SCREENSHOT_FORMAT_PNG }; -int gScreenshotFormat = SCREENSHOT_FORMAT_BMP; +int gScreenshotFormat = SCREENSHOT_FORMAT_PNG; static int screenshot_dump_bmp(); static int screenshot_dump_png(); diff --git a/src/window_game_bottom_toolbar.c b/src/window_game_bottom_toolbar.c index 389a36e6bc..19b4bfa581 100644 --- a/src/window_game_bottom_toolbar.c +++ b/src/window_game_bottom_toolbar.c @@ -20,6 +20,7 @@ #include "addresses.h" #include "climate.h" +#include "date.h" #include "news_item.h" #include "park.h" #include "peep.h" @@ -221,7 +222,8 @@ static void window_game_bottom_toolbar_tooltip() break; case WIDX_DATE: month = RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_MONTH_YEAR, sint16) & 7; - day = ((RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_MONTH_TICKS, sint16) * ((short*)0x00993988)[month]) >> 16) & 0xFF; + day = ((RCT2_GLOBAL(RCT2_ADDRESS_CURRENT_MONTH_TICKS, sint16) * days_in_month[month]) >> 16) & 0xFF; + *((short*)0x013CE952) = STR_DATE_DAY_1 + day; *((short*)0x013CE954) = STR_MONTH_MARCH + month; widgetIndex = 0;