Repository navigation
Expand file tree
/
Copy pathpatches_generated.c
More file actions
255 lines (252 loc) · 35.7 KB
/
Copy pathpatches_generated.c
File metadata and controls
255 lines (252 loc) · 35.7 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
/* Generated by generate_data.py; edit patches.json instead. */
#include "patches_generated.h"
static const unsigned char intro_resources_skip_bytes_0[] = {0x0f, 0x85, 0x46, 0x01, 0x00, 0x00};
static const unsigned char intro_resources_skip_bytes_1[] = {0xe9, 0x47, 0x01, 0x00, 0x00, 0x90};
static const unsigned char *const intro_resources_skip_accepted[] = {intro_resources_skip_bytes_0, intro_resources_skip_bytes_1};
static const unsigned char intro_sequence_skip_bytes_0[] = {0x75, 0x0b};
static const unsigned char intro_sequence_skip_bytes_1[] = {0xeb, 0x0b};
static const unsigned char *const intro_sequence_skip_accepted[] = {intro_sequence_skip_bytes_0, intro_sequence_skip_bytes_1};
static const unsigned char intro_complete_state_bytes_0[] = {0x75, 0x0a};
static const unsigned char intro_complete_state_bytes_1[] = {0xeb, 0x0a};
static const unsigned char *const intro_complete_state_accepted[] = {intro_complete_state_bytes_0, intro_complete_state_bytes_1};
static const unsigned char intro_resource_name_skip_bytes_0[] = {0x0f, 0x85, 0x8c, 0x00, 0x00, 0x00};
static const unsigned char intro_resource_name_skip_bytes_1[] = {0xe9, 0x8d, 0x00, 0x00, 0x00, 0x90};
static const unsigned char *const intro_resource_name_skip_accepted[] = {intro_resource_name_skip_bytes_0, intro_resource_name_skip_bytes_1};
static const unsigned char main_values_vip_bytes_0[] = {0xe8, 0xef, 0xff, 0xfd, 0xff};
static const unsigned char main_values_vip_bytes_1[] = {0xb8, 0x01, 0x00, 0x00, 0x00};
static const unsigned char *const main_values_vip_accepted[] = {main_values_vip_bytes_0, main_values_vip_bytes_1};
static const unsigned char local_vip_profile_bytes_0[] = {0x41, 0x0f, 0xb6, 0xe8, 0x0f, 0xb6, 0xf2};
static const unsigned char local_vip_profile_bytes_1[] = {0x40, 0xb5, 0x01, 0x40, 0xb6, 0x01, 0x90};
static const unsigned char *const local_vip_profile_accepted[] = {local_vip_profile_bytes_0, local_vip_profile_bytes_1};
static const unsigned char loaded_profile_vip_bytes_0[] = {0xe8, 0x4b, 0x8c, 0xd5, 0x00};
static const unsigned char loaded_profile_vip_bytes_1[] = {0xb8, 0x01, 0x00, 0x00, 0x00};
static const unsigned char *const loaded_profile_vip_accepted[] = {loaded_profile_vip_bytes_0, loaded_profile_vip_bytes_1};
static const unsigned char photo_camera_world_restrictions_bytes_0[] = {0x0f, 0x85, 0x94, 0x00, 0x00, 0x00};
static const unsigned char photo_camera_world_restrictions_bytes_1[] = {0xe9, 0x95, 0x00, 0x00, 0x00, 0x90};
static const unsigned char *const photo_camera_world_restrictions_accepted[] = {photo_camera_world_restrictions_bytes_0, photo_camera_world_restrictions_bytes_1};
static const unsigned char treasure_map_mainland_property_bytes_0[] = {0x0f, 0xb6, 0x41, 0x79, 0xc3, 0xcc};
static const unsigned char treasure_map_mainland_property_bytes_1[] = {0xb8, 0x01, 0x00, 0x00, 0x00, 0xc3};
static const unsigned char *const treasure_map_mainland_property_accepted[] = {treasure_map_mainland_property_bytes_0, treasure_map_mainland_property_bytes_1};
static const unsigned char treasure_map_barn_marker_reveal_bytes_0[] = {0x74, 0x6d};
static const unsigned char treasure_map_barn_marker_reveal_bytes_1[] = {0x90, 0x90};
static const unsigned char *const treasure_map_barn_marker_reveal_accepted[] = {treasure_map_barn_marker_reveal_bytes_0, treasure_map_barn_marker_reveal_bytes_1};
static const unsigned char treasure_map_board_setup_binding_bytes_0[] = {0x48, 0x8d, 0x05, 0x48, 0x60, 0x01, 0x00};
static const unsigned char treasure_map_board_setup_binding_bytes_1[] = {0x48, 0x8b, 0x05, 0x80, 0xd1, 0xf0, 0xff};
static const unsigned char *const treasure_map_board_setup_binding_accepted[] = {treasure_map_board_setup_binding_bytes_0, treasure_map_board_setup_binding_bytes_1};
static const unsigned char reward_context_vip_bytes_0[] = {0xe8, 0x31, 0xc3, 0xa6, 0x00};
static const unsigned char reward_context_vip_bytes_1[] = {0xb8, 0x01, 0x00, 0x00, 0x00};
static const unsigned char *const reward_context_vip_accepted[] = {reward_context_vip_bytes_0, reward_context_vip_bytes_1};
static const unsigned char wheelspin_display_vip_bytes_0[] = {0xe8, 0x6b, 0x67, 0x99, 0x00};
static const unsigned char wheelspin_display_vip_bytes_1[] = {0xb8, 0x01, 0x00, 0x00, 0x00};
static const unsigned char *const wheelspin_display_vip_accepted[] = {wheelspin_display_vip_bytes_0, wheelspin_display_vip_bytes_1};
static const unsigned char wheelspin_claim_vip_bytes_0[] = {0xe8, 0x96, 0x60, 0x99, 0x00};
static const unsigned char wheelspin_claim_vip_bytes_1[] = {0xb8, 0x01, 0x00, 0x00, 0x00};
static const unsigned char *const wheelspin_claim_vip_accepted[] = {wheelspin_claim_vip_bytes_0, wheelspin_claim_vip_bytes_1};
static const unsigned char alternate_claim_vip_bytes_0[] = {0xe8, 0x14, 0x9d, 0x98, 0x00};
static const unsigned char alternate_claim_vip_bytes_1[] = {0xb8, 0x01, 0x00, 0x00, 0x00};
static const unsigned char *const alternate_claim_vip_accepted[] = {alternate_claim_vip_bytes_0, alternate_claim_vip_bytes_1};
static const unsigned char ownership_predicate_bytes_0[] = {0x40, 0x0f, 0xb6, 0xc7};
static const unsigned char ownership_predicate_bytes_1[] = {0x33, 0xc0, 0xb0, 0x01};
static const unsigned char *const ownership_predicate_accepted[] = {ownership_predicate_bytes_0, ownership_predicate_bytes_1};
static const unsigned char active_entitlement_predicate_bytes_0[] = {0x40, 0x0f, 0xb6, 0xc7};
static const unsigned char active_entitlement_predicate_bytes_1[] = {0x33, 0xc0, 0xb0, 0x01};
static const unsigned char *const active_entitlement_predicate_accepted[] = {active_entitlement_predicate_bytes_0, active_entitlement_predicate_bytes_1};
static const unsigned char treasure_map_mainland_property_binding_bytes_0[] = {0x4c, 0x8d, 0x05, 0x0f, 0x3f, 0x9a, 0xff};
static const unsigned char treasure_map_mainland_property_binding_bytes_1[] = {0x4c, 0x8d, 0x05, 0xbf, 0x13, 0xdf, 0xff};
static const unsigned char *const treasure_map_mainland_property_binding_accepted[] = {treasure_map_mainland_property_binding_bytes_0, treasure_map_mainland_property_binding_bytes_1};
static const unsigned char treasure_map_island_property_binding_bytes_0[] = {0x4c, 0x8d, 0x05, 0x62, 0x86, 0xbf, 0x00};
static const unsigned char treasure_map_island_property_binding_bytes_1[] = {0x4c, 0x8d, 0x05, 0xa2, 0x13, 0xdf, 0xff};
static const unsigned char *const treasure_map_island_property_binding_accepted[] = {treasure_map_island_property_binding_bytes_0, treasure_map_island_property_binding_bytes_1};
static const unsigned char photo_camera_ui_collision_bytes_0[] = {0x75, 0x78};
static const unsigned char photo_camera_ui_collision_bytes_1[] = {0xeb, 0x78};
static const unsigned char *const photo_camera_ui_collision_accepted[] = {photo_camera_ui_collision_bytes_0, photo_camera_ui_collision_bytes_1};
static const unsigned char photo_camera_ui_vertical_bounds_bytes_0[] = {0xc5, 0xfa, 0x10, 0x54, 0x24, 0x74};
static const unsigned char photo_camera_ui_vertical_bounds_bytes_1[] = {0xe9, 0x53, 0x00, 0x00, 0x00, 0x90};
static const unsigned char *const photo_camera_ui_vertical_bounds_accepted[] = {photo_camera_ui_vertical_bounds_bytes_0, photo_camera_ui_vertical_bounds_bytes_1};
static const unsigned char storm_island_car_availability_bytes_0[] = {0xe8, 0x02, 0x2f, 0xf6, 0xff};
static const unsigned char storm_island_car_availability_bytes_1[] = {0xeb, 0x2a, 0x90, 0x90, 0x90};
static const unsigned char *const storm_island_car_availability_accepted[] = {storm_island_car_availability_bytes_0, storm_island_car_availability_bytes_1};
static const unsigned char storm_island_purchase_gate_bytes_0[] = {0xe8, 0xa2, 0x8f, 0xdb, 0xff};
static const unsigned char storm_island_purchase_gate_bytes_1[] = {0xeb, 0x33, 0x90, 0x90, 0x90};
static const unsigned char *const storm_island_purchase_gate_accepted[] = {storm_island_purchase_gate_bytes_0, storm_island_purchase_gate_bytes_1};
static const unsigned char pause_garage_get_in_car_bytes_0[] = {0x74, 0x74};
static const unsigned char pause_garage_get_in_car_bytes_1[] = {0x90, 0x90};
static const unsigned char *const pause_garage_get_in_car_accepted[] = {pause_garage_get_in_car_bytes_0, pause_garage_get_in_car_bytes_1};
static const unsigned char treasure_map_island_map_check_bytes_0[] = {0x0f, 0xb6, 0x43, 0x78};
static const unsigned char treasure_map_island_map_check_bytes_1[] = {0x31, 0xc0, 0xff, 0xc0};
static const unsigned char *const treasure_map_island_map_check_accepted[] = {treasure_map_island_map_check_bytes_0, treasure_map_island_map_check_bytes_1};
static const unsigned char treasure_map_mainland_map_check_bytes_0[] = {0x0f, 0xb6, 0x43, 0x79};
static const unsigned char treasure_map_mainland_map_check_bytes_1[] = {0x31, 0xc0, 0xff, 0xc0};
static const unsigned char *const treasure_map_mainland_map_check_accepted[] = {treasure_map_mainland_map_check_bytes_0, treasure_map_mainland_map_check_bytes_1};
static const unsigned char treasure_map_extras_catalog_bytes_0[] = {0xe8, 0x31, 0x87, 0xd8, 0xff};
static const unsigned char treasure_map_extras_catalog_bytes_1[] = {0xb0, 0x01, 0x90, 0x90, 0x90};
static const unsigned char *const treasure_map_extras_catalog_accepted[] = {treasure_map_extras_catalog_bytes_0, treasure_map_extras_catalog_bytes_1};
static const unsigned char treasure_map_extras_entry_bytes_0[] = {0xe8, 0x7b, 0x2d, 0xd4, 0xff};
static const unsigned char treasure_map_extras_entry_bytes_1[] = {0xb0, 0x01, 0x90, 0x90, 0x90};
static const unsigned char *const treasure_map_extras_entry_accepted[] = {treasure_map_extras_entry_bytes_0, treasure_map_extras_entry_bytes_1};
static const unsigned char marketplace_group_enabled_1_bytes_0[] = {0x41, 0xb8, 0x01, 0x00, 0x00, 0x00};
static const unsigned char marketplace_group_enabled_1_bytes_1[] = {0x41, 0xb8, 0x00, 0x00, 0x00, 0x00};
static const unsigned char *const marketplace_group_enabled_1_accepted[] = {marketplace_group_enabled_1_bytes_0, marketplace_group_enabled_1_bytes_1};
static const unsigned char marketplace_group_enabled_2_bytes_0[] = {0x41, 0xb8, 0x01, 0x00, 0x00, 0x00};
static const unsigned char marketplace_group_enabled_2_bytes_1[] = {0x41, 0xb8, 0x00, 0x00, 0x00, 0x00};
static const unsigned char *const marketplace_group_enabled_2_accepted[] = {marketplace_group_enabled_2_bytes_0, marketplace_group_enabled_2_bytes_1};
static const unsigned char marketplace_group_enabled_3_bytes_0[] = {0x41, 0xb8, 0x01, 0x00, 0x00, 0x00};
static const unsigned char marketplace_group_enabled_3_bytes_1[] = {0x41, 0xb8, 0x00, 0x00, 0x00, 0x00};
static const unsigned char *const marketplace_group_enabled_3_accepted[] = {marketplace_group_enabled_3_bytes_0, marketplace_group_enabled_3_bytes_1};
static const unsigned char marketplace_group_enabled_4_bytes_0[] = {0x41, 0xb8, 0x01, 0x00, 0x00, 0x00};
static const unsigned char marketplace_group_enabled_4_bytes_1[] = {0x41, 0xb8, 0x00, 0x00, 0x00, 0x00};
static const unsigned char *const marketplace_group_enabled_4_accepted[] = {marketplace_group_enabled_4_bytes_0, marketplace_group_enabled_4_bytes_1};
static const unsigned char marketplace_group_enabled_5_bytes_0[] = {0x41, 0xb8, 0x01, 0x00, 0x00, 0x00};
static const unsigned char marketplace_group_enabled_5_bytes_1[] = {0x41, 0xb8, 0x00, 0x00, 0x00, 0x00};
static const unsigned char *const marketplace_group_enabled_5_accepted[] = {marketplace_group_enabled_5_bytes_0, marketplace_group_enabled_5_bytes_1};
static const unsigned char language_audio_init_bytes_0[] = {0xe8, 0xb9, 0x70, 0x01, 0x00};
static const unsigned char language_audio_init_bytes_1[] = {0xb8, 0x00, 0x00, 0x00, 0x00};
static const unsigned char language_audio_init_bytes_2[] = {0xb8, 0x03, 0x00, 0x00, 0x00};
static const unsigned char language_audio_init_bytes_3[] = {0xb8, 0x04, 0x00, 0x00, 0x00};
static const unsigned char language_audio_init_bytes_4[] = {0xb8, 0x05, 0x00, 0x00, 0x00};
static const unsigned char language_audio_init_bytes_5[] = {0xb8, 0x06, 0x00, 0x00, 0x00};
static const unsigned char language_audio_init_bytes_6[] = {0xb8, 0x07, 0x00, 0x00, 0x00};
static const unsigned char language_audio_init_bytes_7[] = {0xb8, 0x08, 0x00, 0x00, 0x00};
static const unsigned char language_audio_init_bytes_8[] = {0xb8, 0x0b, 0x00, 0x00, 0x00};
static const unsigned char language_audio_init_bytes_9[] = {0xb8, 0x0e, 0x00, 0x00, 0x00};
static const unsigned char language_audio_init_bytes_10[] = {0xb8, 0x0f, 0x00, 0x00, 0x00};
static const unsigned char *const language_audio_init_accepted[] = {language_audio_init_bytes_0, language_audio_init_bytes_1, language_audio_init_bytes_2, language_audio_init_bytes_3, language_audio_init_bytes_4, language_audio_init_bytes_5, language_audio_init_bytes_6, language_audio_init_bytes_7, language_audio_init_bytes_8, language_audio_init_bytes_9, language_audio_init_bytes_10};
const unsigned char *const language_audio_init_targets[LANGUAGE_COUNT] = {language_audio_init_bytes_1, language_audio_init_bytes_0, language_audio_init_bytes_0, language_audio_init_bytes_2, language_audio_init_bytes_3, language_audio_init_bytes_4, language_audio_init_bytes_5, language_audio_init_bytes_6, language_audio_init_bytes_7, language_audio_init_bytes_0, language_audio_init_bytes_0, language_audio_init_bytes_8, language_audio_init_bytes_0, language_audio_init_bytes_0, language_audio_init_bytes_9, language_audio_init_bytes_10, language_audio_init_bytes_0};
static const unsigned char sun_shadow_all_cascades_per_frame_bytes_0[] = {0x41, 0x8b, 0x86, 0xbc, 0x21, 0x00, 0x00};
static const unsigned char sun_shadow_all_cascades_per_frame_bytes_1[] = {0xb8, 0x04, 0x00, 0x00, 0x00, 0x90, 0x90};
static const unsigned char *const sun_shadow_all_cascades_per_frame_accepted[] = {sun_shadow_all_cascades_per_frame_bytes_0, sun_shadow_all_cascades_per_frame_bytes_1};
static const unsigned char sun_shadow_cascade_direction_refresh_bytes_0[] = {0x75, 0x0c};
static const unsigned char sun_shadow_cascade_direction_refresh_bytes_1[] = {0xeb, 0x0c};
static const unsigned char *const sun_shadow_cascade_direction_refresh_accepted[] = {sun_shadow_cascade_direction_refresh_bytes_0, sun_shadow_cascade_direction_refresh_bytes_1};
static const unsigned char sun_shadow_focus_direction_refresh_bytes_0[] = {0x73, 0x06};
static const unsigned char sun_shadow_focus_direction_refresh_bytes_1[] = {0x90, 0x90};
static const unsigned char *const sun_shadow_focus_direction_refresh_accepted[] = {sun_shadow_focus_direction_refresh_bytes_0, sun_shadow_focus_direction_refresh_bytes_1};
static const unsigned char livery_5_bytes_0[] = {0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc};
static const unsigned char livery_5_bytes_1[] = {0x41, 0xc1, 0xe7, 0x02, 0x41, 0xc1, 0xe4, 0x02, 0xc3, 0x00, 0x00, 0x80, 0x3e};
static const unsigned char livery_5_bytes_2[] = {0x41, 0xc1, 0xe7, 0x03, 0x41, 0xc1, 0xe4, 0x03, 0xc3, 0x00, 0x00, 0x00, 0x3e};
static const unsigned char *const livery_5_accepted[] = {livery_5_bytes_0, livery_5_bytes_1, livery_5_bytes_2};
static const unsigned char livery_6_bytes_0[] = {0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc};
static const unsigned char livery_6_bytes_1[] = {0xc5, 0xfa, 0x59, 0x1d, 0xc1, 0xfe, 0xff, 0xff, 0xc5, 0xf9, 0x6e, 0xce, 0xc3};
static const unsigned char *const livery_6_accepted[] = {livery_6_bytes_0, livery_6_bytes_1};
static const unsigned char livery_7_bytes_0[] = {0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc, 0xcc};
static const unsigned char livery_7_bytes_1[] = {0xc5, 0xf8, 0x5b, 0xc9, 0xc5, 0xf2, 0x59, 0x15, 0x5d, 0xfd, 0xff, 0xff, 0xc3};
static const unsigned char *const livery_7_accepted[] = {livery_7_bytes_0, livery_7_bytes_1};
static const unsigned char livery_msaa_bytes_0[] = {0x8b, 0x05, 0xb3, 0x1f, 0xc9, 0x01};
static const unsigned char livery_msaa_bytes_1[] = {0xb8, 0x04, 0x00, 0x00, 0x00, 0x90};
static const unsigned char *const livery_msaa_accepted[] = {livery_msaa_bytes_0, livery_msaa_bytes_1};
static const unsigned char livery_2_bytes_0[] = {0x45, 0x03, 0xff, 0x45, 0x03, 0xe4};
static const unsigned char livery_2_bytes_1[] = {0xe8, 0x32, 0xe6, 0xff, 0xff, 0x90};
static const unsigned char *const livery_2_accepted[] = {livery_2_bytes_0, livery_2_bytes_1};
static const unsigned char livery_1_bytes_0[] = {0xba, 0x00, 0x08, 0x00, 0x00};
static const unsigned char livery_1_bytes_1[] = {0xba, 0x00, 0x10, 0x00, 0x00};
static const unsigned char *const livery_1_accepted[] = {livery_1_bytes_0, livery_1_bytes_1};
static const unsigned char livery_0_bytes_0[] = {0xba, 0x00, 0x04, 0x00, 0x00};
static const unsigned char livery_0_bytes_1[] = {0xba, 0x00, 0x08, 0x00, 0x00};
static const unsigned char livery_0_bytes_2[] = {0xba, 0x00, 0x10, 0x00, 0x00};
static const unsigned char *const livery_0_accepted[] = {livery_0_bytes_0, livery_0_bytes_1, livery_0_bytes_2};
static const unsigned char livery_3_bytes_0[] = {0xc5, 0xfa, 0x59, 0xdc, 0xc5, 0xf9, 0x6e, 0xce};
static const unsigned char livery_3_bytes_1[] = {0xe8, 0xf3, 0x78, 0xff, 0xff, 0x90, 0x90, 0x90};
static const unsigned char *const livery_3_accepted[] = {livery_3_bytes_0, livery_3_bytes_1};
static const unsigned char livery_4_bytes_0[] = {0xc5, 0xf8, 0x5b, 0xc9, 0xc5, 0xf2, 0x59, 0xd4};
static const unsigned char livery_4_bytes_1[] = {0xe8, 0x4b, 0x7a, 0xff, 0xff, 0x90, 0x90, 0x90};
static const unsigned char *const livery_4_accepted[] = {livery_4_bytes_0, livery_4_bytes_1};
static const unsigned char language_text_global_setter_lock_bytes_0[] = {0x48, 0x85, 0xc9, 0x74, 0x78};
static const unsigned char language_text_global_setter_lock_bytes_1[] = {0xc3, 0x90, 0x90, 0x90, 0x90};
static const unsigned char *const language_text_global_setter_lock_accepted[] = {language_text_global_setter_lock_bytes_0, language_text_global_setter_lock_bytes_1};
static const unsigned char language_text_init_bytes_0[] = {0x83, 0xca, 0xff, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_1[] = {0x6a, 0x00, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_2[] = {0x6a, 0x01, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_3[] = {0x6a, 0x02, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_4[] = {0x6a, 0x03, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_5[] = {0x6a, 0x04, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_6[] = {0x6a, 0x05, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_7[] = {0x6a, 0x06, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_8[] = {0x6a, 0x07, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_9[] = {0x6a, 0x08, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_10[] = {0x6a, 0x09, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_11[] = {0x6a, 0x0a, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_12[] = {0x6a, 0x0b, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_13[] = {0x6a, 0x0c, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_14[] = {0x6a, 0x0d, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_15[] = {0x6a, 0x0e, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_16[] = {0x6a, 0x0f, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char language_text_init_bytes_17[] = {0x6a, 0x10, 0x5a, 0x48, 0x8b, 0xcb};
static const unsigned char *const language_text_init_accepted[] = {language_text_init_bytes_0, language_text_init_bytes_1, language_text_init_bytes_2, language_text_init_bytes_3, language_text_init_bytes_4, language_text_init_bytes_5, language_text_init_bytes_6, language_text_init_bytes_7, language_text_init_bytes_8, language_text_init_bytes_9, language_text_init_bytes_10, language_text_init_bytes_11, language_text_init_bytes_12, language_text_init_bytes_13, language_text_init_bytes_14, language_text_init_bytes_15, language_text_init_bytes_16, language_text_init_bytes_17};
const unsigned char *const language_text_init_targets[LANGUAGE_COUNT] = {language_text_init_bytes_1, language_text_init_bytes_2, language_text_init_bytes_3, language_text_init_bytes_4, language_text_init_bytes_5, language_text_init_bytes_6, language_text_init_bytes_7, language_text_init_bytes_8, language_text_init_bytes_9, language_text_init_bytes_10, language_text_init_bytes_11, language_text_init_bytes_12, language_text_init_bytes_13, language_text_init_bytes_14, language_text_init_bytes_15, language_text_init_bytes_16, language_text_init_bytes_17};
static const unsigned char language_text_setter_lock_bytes_0[] = {0x48, 0x85, 0xd2, 0x74, 0x5c};
static const unsigned char language_text_setter_lock_bytes_1[] = {0xc3, 0x90, 0x90, 0x90, 0x90};
static const unsigned char *const language_text_setter_lock_accepted[] = {language_text_setter_lock_bytes_0, language_text_setter_lock_bytes_1};
static const unsigned char profile_multiplayer_privilege_bytes_0[] = {0x48, 0x89, 0x4c, 0x24, 0x08, 0x57, 0x48, 0x83, 0xec, 0x30};
static const unsigned char profile_multiplayer_privilege_bytes_1[] = {0xc7, 0x41, 0x44, 0x04, 0x00, 0x00, 0x00, 0xc3, 0x90, 0x90};
static const unsigned char *const profile_multiplayer_privilege_accepted[] = {profile_multiplayer_privilege_bytes_0, profile_multiplayer_privilege_bytes_1};
static const unsigned char profile_content_privilege_bytes_0[] = {0x48, 0x89, 0x4c, 0x24, 0x08, 0x57, 0x48, 0x83, 0xec, 0x30};
static const unsigned char profile_content_privilege_bytes_1[] = {0xc7, 0x41, 0x48, 0x04, 0x00, 0x00, 0x00, 0xc3, 0x90, 0x90};
static const unsigned char *const profile_content_privilege_accepted[] = {profile_content_privilege_bytes_0, profile_content_privilege_bytes_1};
static const unsigned char treasure_map_island_property_bytes_0[] = {0x0f, 0xb6, 0x41, 0x78, 0xc3, 0xcc};
static const unsigned char treasure_map_island_property_bytes_1[] = {0xb8, 0x01, 0x00, 0x00, 0x00, 0xc3};
static const unsigned char *const treasure_map_island_property_accepted[] = {treasure_map_island_property_bytes_0, treasure_map_island_property_bytes_1};
static const unsigned char catalog_purchased_bytes_0[] = {0x30};
static const unsigned char catalog_purchased_bytes_1[] = {0x31};
static const unsigned char *const catalog_purchased_accepted[] = {catalog_purchased_bytes_0, catalog_purchased_bytes_1};
static const unsigned char catalog_include_owned_packs_bytes_0[] = {0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x49, 0x64, 0x2c, 0x20, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x2c, 0x20, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x2c, 0x20, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x20, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x61, 0x74, 0x68, 0x2c, 0x20, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x50, 0x61, 0x74, 0x68, 0x2c, 0x20, 0x49, 0x73, 0x46, 0x72, 0x65, 0x65, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x20, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x3d, 0x31, 0x20, 0x41, 0x4e, 0x44, 0x20, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x27, 0x43, 0x61, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x27, 0x20, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x20, 0x42, 0x59, 0x20, 0x4a, 0x55, 0x4c, 0x49, 0x41, 0x4e, 0x44, 0x41, 0x59, 0x28, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x29, 0x20, 0x44, 0x45, 0x53, 0x43, 0x2c, 0x20, 0x49, 0x64, 0x20, 0x44, 0x45, 0x53, 0x43};
static const unsigned char catalog_include_owned_packs_bytes_1[] = {0x53, 0x45, 0x4c, 0x45, 0x43, 0x54, 0x20, 0x49, 0x64, 0x2c, 0x50, 0x72, 0x6f, 0x64, 0x75, 0x63, 0x74, 0x49, 0x64, 0x2c, 0x44, 0x69, 0x73, 0x70, 0x6c, 0x61, 0x79, 0x4e, 0x61, 0x6d, 0x65, 0x2c, 0x44, 0x65, 0x73, 0x63, 0x72, 0x69, 0x70, 0x74, 0x69, 0x6f, 0x6e, 0x2c, 0x49, 0x6d, 0x61, 0x67, 0x65, 0x50, 0x61, 0x74, 0x68, 0x2c, 0x54, 0x68, 0x75, 0x6d, 0x62, 0x50, 0x61, 0x74, 0x68, 0x2c, 0x49, 0x73, 0x46, 0x72, 0x65, 0x65, 0x20, 0x46, 0x52, 0x4f, 0x4d, 0x20, 0x43, 0x6f, 0x6e, 0x74, 0x65, 0x6e, 0x74, 0x4f, 0x66, 0x66, 0x65, 0x72, 0x73, 0x20, 0x57, 0x48, 0x45, 0x52, 0x45, 0x28, 0x56, 0x69, 0x73, 0x69, 0x62, 0x6c, 0x65, 0x7c, 0x49, 0x73, 0x50, 0x75, 0x72, 0x63, 0x68, 0x61, 0x73, 0x65, 0x64, 0x29, 0x41, 0x4e, 0x44, 0x20, 0x53, 0x74, 0x79, 0x6c, 0x65, 0x3d, 0x27, 0x43, 0x61, 0x72, 0x50, 0x61, 0x63, 0x6b, 0x27, 0x4f, 0x52, 0x44, 0x45, 0x52, 0x20, 0x42, 0x59, 0x20, 0x4a, 0x55, 0x4c, 0x49, 0x41, 0x4e, 0x44, 0x41, 0x59, 0x28, 0x52, 0x65, 0x6c, 0x65, 0x61, 0x73, 0x65, 0x44, 0x61, 0x74, 0x65, 0x29, 0x44, 0x45, 0x53, 0x43, 0x2c, 0x31, 0x20, 0x44, 0x45, 0x53, 0x43};
static const unsigned char *const catalog_include_owned_packs_accepted[] = {catalog_include_owned_packs_bytes_0, catalog_include_owned_packs_bytes_1};
const PatchDefinition fixed_patches[FIXED_PATCH_COUNT] = {
{0x21d5a0, 0x21cba0, 6, GROUP_INTRO, "intro_resources_skip", intro_resources_skip_bytes_0, intro_resources_skip_bytes_1, intro_resources_skip_bytes_1, intro_resources_skip_accepted, 2},
{0x21e68d, 0x21dc8d, 2, GROUP_INTRO, "intro_sequence_skip", intro_sequence_skip_bytes_0, intro_sequence_skip_bytes_1, intro_sequence_skip_bytes_1, intro_sequence_skip_accepted, 2},
{0x22009d, 0x21f69d, 2, GROUP_INTRO, "intro_complete_state", intro_complete_state_bytes_0, intro_complete_state_bytes_1, intro_complete_state_bytes_1, intro_complete_state_accepted, 2},
{0x221280, 0x220880, 6, GROUP_INTRO, "intro_resource_name_skip", intro_resource_name_skip_bytes_0, intro_resource_name_skip_bytes_1, intro_resource_name_skip_bytes_1, intro_resource_name_skip_accepted, 2},
{0x29f00c, 0x29e60c, 5, GROUP_VIP, "main_values_vip", main_values_vip_bytes_0, main_values_vip_bytes_1, main_values_vip_bytes_1, main_values_vip_accepted, 2},
{0x2f850e, 0x2f7b0e, 7, GROUP_VIP, "local_vip_profile", local_vip_profile_bytes_0, local_vip_profile_bytes_1, local_vip_profile_bytes_1, local_vip_profile_accepted, 2},
{0x3265a0, 0x325ba0, 5, GROUP_VIP, "loaded_profile_vip", loaded_profile_vip_bytes_0, loaded_profile_vip_bytes_1, loaded_profile_vip_bytes_1, loaded_profile_vip_accepted, 2},
{0x3978e8, 0x396ee8, 6, GROUP_PHOTO_CAMERA, "photo_camera_world_restrictions", photo_camera_world_restrictions_bytes_0, photo_camera_world_restrictions_bytes_1, photo_camera_world_restrictions_bytes_1, photo_camera_world_restrictions_accepted, 2},
{0x4028f0, 0x401ef0, 6, GROUP_TREASURE_MAP, "treasure_map_mainland_property", treasure_map_mainland_property_bytes_0, treasure_map_mainland_property_bytes_0, treasure_map_mainland_property_bytes_0, treasure_map_mainland_property_accepted, 2},
{0x405e86, 0x405486, 2, GROUP_TREASURE_MAP, "treasure_map_barn_marker_reveal", treasure_map_barn_marker_reveal_bytes_0, treasure_map_barn_marker_reveal_bytes_1, treasure_map_barn_marker_reveal_bytes_1, treasure_map_barn_marker_reveal_accepted, 2},
{0x4f5771, 0x4f4d71, 7, GROUP_TREASURE_MAP, "treasure_map_board_setup_binding", treasure_map_board_setup_binding_bytes_0, treasure_map_board_setup_binding_bytes_1, treasure_map_board_setup_binding_bytes_1, treasure_map_board_setup_binding_accepted, 2},
{0x612eba, 0x6124ba, 5, GROUP_VIP, "reward_context_vip", reward_context_vip_bytes_0, reward_context_vip_bytes_1, reward_context_vip_bytes_1, reward_context_vip_accepted, 2},
{0x6e8a80, 0x6e8080, 5, GROUP_VIP, "wheelspin_display_vip", wheelspin_display_vip_bytes_0, wheelspin_display_vip_bytes_1, wheelspin_display_vip_bytes_1, wheelspin_display_vip_accepted, 2},
{0x6e9155, 0x6e8755, 5, GROUP_VIP, "wheelspin_claim_vip", wheelspin_claim_vip_bytes_0, wheelspin_claim_vip_bytes_1, wheelspin_claim_vip_bytes_1, wheelspin_claim_vip_accepted, 2},
{0x6f54d7, 0x6f4ad7, 5, GROUP_VIP, "alternate_claim_vip", alternate_claim_vip_bytes_0, alternate_claim_vip_bytes_1, alternate_claim_vip_bytes_1, alternate_claim_vip_accepted, 2},
{0x9be8bb, 0x9bdebb, 4, GROUP_DLC, "ownership_predicate", ownership_predicate_bytes_0, ownership_predicate_bytes_1, ownership_predicate_bytes_1, ownership_predicate_accepted, 2},
{0x9bec6b, 0x9be26b, 4, GROUP_DLC, "active_entitlement_predicate", active_entitlement_predicate_bytes_0, active_entitlement_predicate_bytes_1, active_entitlement_predicate_bytes_1, active_entitlement_predicate_accepted, 2},
{0xa5e9da, 0xa5dfda, 7, GROUP_TREASURE_MAP, "treasure_map_mainland_property_binding", treasure_map_mainland_property_binding_bytes_0, treasure_map_mainland_property_binding_bytes_1, treasure_map_mainland_property_binding_bytes_1, treasure_map_mainland_property_binding_accepted, 2},
{0xa5e9f7, 0xa5dff7, 7, GROUP_TREASURE_MAP, "treasure_map_island_property_binding", treasure_map_island_property_binding_bytes_0, treasure_map_island_property_binding_bytes_1, treasure_map_island_property_binding_bytes_1, treasure_map_island_property_binding_accepted, 2},
{0xaa0081, 0xa9f681, 2, GROUP_PHOTO_CAMERA, "photo_camera_ui_collision", photo_camera_ui_collision_bytes_0, photo_camera_ui_collision_bytes_1, photo_camera_ui_collision_bytes_1, photo_camera_ui_collision_accepted, 2},
{0xaa00fb, 0xa9f6fb, 6, GROUP_PHOTO_CAMERA, "photo_camera_ui_vertical_bounds", photo_camera_ui_vertical_bounds_bytes_0, photo_camera_ui_vertical_bounds_bytes_1, photo_camera_ui_vertical_bounds_bytes_1, photo_camera_ui_vertical_bounds_accepted, 2},
{0xb02f69, 0xb02569, 5, GROUP_ISLAND_CARS, "storm_island_car_availability", storm_island_car_availability_bytes_0, storm_island_car_availability_bytes_1, storm_island_car_availability_bytes_1, storm_island_car_availability_accepted, 2},
{0xcacec9, 0xcac4c9, 5, GROUP_ISLAND_CARS, "storm_island_purchase_gate", storm_island_purchase_gate_bytes_0, storm_island_purchase_gate_bytes_1, storm_island_purchase_gate_bytes_1, storm_island_purchase_gate_accepted, 2},
{0xccf660, 0xccec60, 2, GROUP_PAUSE_GARAGE, "pause_garage_get_in_car", pause_garage_get_in_car_bytes_0, pause_garage_get_in_car_bytes_1, pause_garage_get_in_car_bytes_1, pause_garage_get_in_car_accepted, 2},
{0xd72db4, 0xd723b4, 4, GROUP_TREASURE_MAP, "treasure_map_island_map_check", treasure_map_island_map_check_bytes_0, treasure_map_island_map_check_bytes_1, treasure_map_island_map_check_bytes_1, treasure_map_island_map_check_accepted, 2},
{0xd72dba, 0xd723ba, 4, GROUP_TREASURE_MAP, "treasure_map_mainland_map_check", treasure_map_mainland_map_check_bytes_0, treasure_map_mainland_map_check_bytes_1, treasure_map_mainland_map_check_bytes_1, treasure_map_mainland_map_check_accepted, 2},
{0xd783da, 0xd779da, 5, GROUP_TREASURE_MAP, "treasure_map_extras_catalog", treasure_map_extras_catalog_bytes_0, treasure_map_extras_catalog_bytes_1, treasure_map_extras_catalog_bytes_1, treasure_map_extras_catalog_accepted, 2},
{0xdbdd90, 0xdbd390, 5, GROUP_TREASURE_MAP, "treasure_map_extras_entry", treasure_map_extras_entry_bytes_0, treasure_map_extras_entry_bytes_1, treasure_map_extras_entry_bytes_1, treasure_map_extras_entry_accepted, 2},
{0xddacad, 0xdda2ad, 6, GROUP_MARKETPLACE, "marketplace_group_enabled_1", marketplace_group_enabled_1_bytes_0, marketplace_group_enabled_1_bytes_1, marketplace_group_enabled_1_bytes_1, marketplace_group_enabled_1_accepted, 2},
{0xddae1f, 0xdda41f, 6, GROUP_MARKETPLACE, "marketplace_group_enabled_2", marketplace_group_enabled_2_bytes_0, marketplace_group_enabled_2_bytes_1, marketplace_group_enabled_2_bytes_1, marketplace_group_enabled_2_accepted, 2},
{0xddb2f5, 0xdda8f5, 6, GROUP_MARKETPLACE, "marketplace_group_enabled_3", marketplace_group_enabled_3_bytes_0, marketplace_group_enabled_3_bytes_1, marketplace_group_enabled_3_bytes_1, marketplace_group_enabled_3_accepted, 2},
{0xddb910, 0xddaf10, 6, GROUP_MARKETPLACE, "marketplace_group_enabled_4", marketplace_group_enabled_4_bytes_0, marketplace_group_enabled_4_bytes_1, marketplace_group_enabled_4_bytes_1, marketplace_group_enabled_4_accepted, 2},
{0xddbb3e, 0xddb13e, 6, GROUP_MARKETPLACE, "marketplace_group_enabled_5", marketplace_group_enabled_5_bytes_0, marketplace_group_enabled_5_bytes_1, marketplace_group_enabled_5_bytes_1, marketplace_group_enabled_5_accepted, 2},
{0xff0082, 0xfef682, 5, GROUP_AUDIO_LANGUAGE, "language_audio_init", language_audio_init_bytes_0, language_audio_init_bytes_0, language_audio_init_bytes_0, language_audio_init_accepted, 11},
{0x1131c02, 0x1131202, 7, GROUP_SUN_SHADOWS, "sun_shadow_all_cascades_per_frame", sun_shadow_all_cascades_per_frame_bytes_0, sun_shadow_all_cascades_per_frame_bytes_1, sun_shadow_all_cascades_per_frame_bytes_1, sun_shadow_all_cascades_per_frame_accepted, 2},
{0x1153e5a, 0x115345a, 2, GROUP_SUN_SHADOWS, "sun_shadow_cascade_direction_refresh", sun_shadow_cascade_direction_refresh_bytes_0, sun_shadow_cascade_direction_refresh_bytes_1, sun_shadow_cascade_direction_refresh_bytes_1, sun_shadow_cascade_direction_refresh_accepted, 2},
{0x11556b5, 0x1154cb5, 2, GROUP_SUN_SHADOWS, "sun_shadow_focus_direction_refresh", sun_shadow_focus_direction_refresh_bytes_0, sun_shadow_focus_direction_refresh_bytes_1, sun_shadow_focus_direction_refresh_bytes_1, sun_shadow_focus_direction_refresh_accepted, 2},
{0x121d0a1, 0x121c6a1, 13, GROUP_LIVERY, "livery_5", livery_5_bytes_0, livery_5_bytes_1, livery_5_bytes_2, livery_5_accepted, 3},
{0x121d1e1, 0x121c7e1, 13, GROUP_LIVERY, "livery_6", livery_6_bytes_0, livery_6_bytes_1, livery_6_bytes_1, livery_6_accepted, 2},
{0x121d341, 0x121c941, 13, GROUP_LIVERY, "livery_7", livery_7_bytes_0, livery_7_bytes_1, livery_7_bytes_1, livery_7_accepted, 2},
{0x121e9b7, 0x121dfb7, 6, GROUP_MSAA, "livery_msaa", livery_msaa_bytes_0, livery_msaa_bytes_1, livery_msaa_bytes_1, livery_msaa_accepted, 2},
{0x121ea6a, 0x121e06a, 6, GROUP_LIVERY, "livery_2", livery_2_bytes_0, livery_2_bytes_1, livery_2_bytes_1, livery_2_accepted, 2},
{0x121f0da, 0x121e6da, 5, GROUP_LIVERY, "livery_1", livery_1_bytes_0, livery_1_bytes_1, livery_1_bytes_1, livery_1_accepted, 2},
{0x121f112, 0x121e712, 5, GROUP_LIVERY, "livery_0", livery_0_bytes_0, livery_0_bytes_2, livery_0_bytes_2, livery_0_accepted, 3},
{0x12258e9, 0x1224ee9, 8, GROUP_LIVERY, "livery_3", livery_3_bytes_0, livery_3_bytes_1, livery_3_bytes_1, livery_3_accepted, 2},
{0x12258f1, 0x1224ef1, 8, GROUP_LIVERY, "livery_4", livery_4_bytes_0, livery_4_bytes_1, livery_4_bytes_1, livery_4_accepted, 2},
{0x1239f40, 0x1239540, 5, GROUP_TEXT_LOCK, "language_text_global_setter_lock", language_text_global_setter_lock_bytes_0, language_text_global_setter_lock_bytes_1, language_text_global_setter_lock_bytes_1, language_text_global_setter_lock_accepted, 2},
{0x12402d4, 0x123f8d4, 6, GROUP_TEXT_INIT, "language_text_init", language_text_init_bytes_0, language_text_init_bytes_0, language_text_init_bytes_0, language_text_init_accepted, 18},
{0x1245c80, 0x1245280, 5, GROUP_TEXT_LOCK, "language_text_setter_lock", language_text_setter_lock_bytes_0, language_text_setter_lock_bytes_1, language_text_setter_lock_bytes_1, language_text_setter_lock_accepted, 2},
{0x1249c50, 0x1249250, 10, GROUP_PARENTAL, "profile_multiplayer_privilege", profile_multiplayer_privilege_bytes_0, profile_multiplayer_privilege_bytes_1, profile_multiplayer_privilege_bytes_1, profile_multiplayer_privilege_accepted, 2},
{0x1249e90, 0x1249490, 10, GROUP_PARENTAL, "profile_content_privilege", profile_content_privilege_bytes_0, profile_content_privilege_bytes_1, profile_content_privilege_bytes_1, profile_content_privilege_accepted, 2},
{0x1657060, 0x1656660, 6, GROUP_TREASURE_MAP, "treasure_map_island_property", treasure_map_island_property_bytes_0, treasure_map_island_property_bytes_0, treasure_map_island_property_bytes_0, treasure_map_island_property_accepted, 2},
{0x1e03795, 0x1e00b95, 1, GROUP_DLC, "catalog_purchased", catalog_purchased_bytes_0, catalog_purchased_bytes_1, catalog_purchased_bytes_1, catalog_purchased_accepted, 2},
{0x1f538c0, 0x1f50cc0, 177, GROUP_MARKETPLACE, "catalog_include_owned_packs", catalog_include_owned_packs_bytes_0, catalog_include_owned_packs_bytes_1, catalog_include_owned_packs_bytes_1, catalog_include_owned_packs_accepted, 2},
};
const unsigned char game_file_sha256[32] = {
0x3e, 0xc0, 0x4c, 0x61, 0x63, 0xfb, 0x56, 0x14, 0xe3, 0xd3, 0x51, 0xba, 0x05, 0x70, 0xd3, 0x9b, 0x84, 0x60, 0x41, 0xa2, 0x57, 0x71, 0x5d, 0x63, 0x40, 0xec, 0xeb, 0x03, 0xcc, 0xb7, 0xf0, 0xa3
};