63
63
64
64
enum wildcard_type
65
65
{
66
- RARCH_WILDCARD_CONTENT_DIR = 0 ,
67
- RARCH_WILDCARD_CORE ,
68
- RARCH_WILDCARD_GAME ,
69
- RARCH_WILDCARD_VIDEO_DRIVER ,
70
- RARCH_WILDCARD_VIDEO_USER_ROTATION ,
71
- RARCH_WILDCARD_VIDEO_ALLOW_CORE_ROTATION ,
72
- RARCH_WILDCARD_CORE_REQUESTED_ROTATION ,
73
- RARCH_WILDCARD_VIDEO_FINAL_ROTATION ,
74
- RARCH_WILDCARD_SCREEN_ORIENTATION ,
75
- RARCH_WILDCARD_VIEWPORT_ASPECT_ORIENTATION ,
76
- RARCH_WILDCARD_CORE_ASPECT_ORIENTATION ,
77
- RARCH_WILDCARD_PRESET_DIR ,
78
- RARCH_WILDCARD_PRESET ,
79
- RARCH_WILDCARD_VIDEO_DRIVER_SHADER_EXT ,
80
- RARCH_WILDCARD_VIDEO_DRIVER_PRESET_EXT
66
+ RARCH_WC_CONTENT_DIR = 0 ,
67
+ RARCH_WC_CORE ,
68
+ RARCH_WC_GAME ,
69
+ RARCH_WC_VIDEO_DRIVER ,
70
+ RARCH_WC_VIDEO_USER_ROTATION ,
71
+ RARCH_WC_VIDEO_ALLOW_CORE_ROTATION ,
72
+ RARCH_WC_CORE_REQUESTED_ROTATION ,
73
+ RARCH_WC_VIDEO_FINAL_ROTATION ,
74
+ RARCH_WC_SCREEN_ORIENTATION ,
75
+ RARCH_WC_VIEWPORT_ASPECT_ORIENTATION ,
76
+ RARCH_WC_CORE_ASPECT_ORIENTATION ,
77
+ RARCH_WC_PRESET_DIR ,
78
+ RARCH_WC_PRESET ,
79
+ RARCH_WC_VIDEO_DRIVER_SHADER_EXT ,
80
+ RARCH_WC_VIDEO_DRIVER_PRESET_EXT
81
81
};
82
82
83
83
struct wildcard_token
@@ -87,24 +87,6 @@ struct wildcard_token
87
87
size_t token_size ;
88
88
};
89
89
90
- static struct wildcard_token wildcard_tokens [SHADER_NUM_WILDCARDS ] = {
91
- {RARCH_WILDCARD_CONTENT_DIR , "$CONTENT-DIR$" , STRLEN_CONST ("$CONTENT-DIR$" )},
92
- {RARCH_WILDCARD_CORE , "$CORE$" , STRLEN_CONST ("$CORE$" )},
93
- {RARCH_WILDCARD_GAME , "$GAME$" , STRLEN_CONST ("$GAME$" )},
94
- {RARCH_WILDCARD_VIDEO_DRIVER , "$VID-DRV$" , STRLEN_CONST ("$VID-DRV$" )},
95
- {RARCH_WILDCARD_VIDEO_DRIVER_PRESET_EXT , "$VID-DRV-PRESET-EXT$" , STRLEN_CONST ("$VID-DRV-PRESET-EXT$" )},
96
- {RARCH_WILDCARD_VIDEO_DRIVER_SHADER_EXT , "$VID-DRV-SHADER-EXT$" , STRLEN_CONST ("$VID-DRV-SHADER-EXT$" )},
97
- {RARCH_WILDCARD_CORE_REQUESTED_ROTATION , "$CORE-REQ-ROT$" , STRLEN_CONST ("$CORE-REQ-ROT$" )},
98
- {RARCH_WILDCARD_VIDEO_ALLOW_CORE_ROTATION , "$VID-ALLOW-CORE-ROT$" , STRLEN_CONST ("$VID-ALLOW-CORE-ROT$" )},
99
- {RARCH_WILDCARD_VIDEO_USER_ROTATION , "$VID-USER-ROT$" , STRLEN_CONST ("$VID-USER-ROT$" )},
100
- {RARCH_WILDCARD_VIDEO_FINAL_ROTATION , "$VID-FINAL-ROT$" , STRLEN_CONST ("$VID-FINAL-ROT$" )},
101
- {RARCH_WILDCARD_SCREEN_ORIENTATION , "$SCREEN-ORIENT$" , STRLEN_CONST ("$SCREEN-ORIENT$" )},
102
- {RARCH_WILDCARD_VIEWPORT_ASPECT_ORIENTATION , "$VIEW-ASPECT-ORIENT$" , STRLEN_CONST ("$VIEW-ASPECT-ORIENT$" )},
103
- {RARCH_WILDCARD_CORE_ASPECT_ORIENTATION , "$CORE-ASPECT-ORIENT$" , STRLEN_CONST ("$CORE-ASPECT-ORIENT$" )},
104
- {RARCH_WILDCARD_PRESET_DIR , "$PRESET-DIR$" , STRLEN_CONST ("$PRESET-DIR$" )},
105
- {RARCH_WILDCARD_PRESET , "$PRESET$" , STRLEN_CONST ("$PRESET$" )},
106
- };
107
-
108
90
/* TODO/FIXME - global state - perhaps move outside this file */
109
91
static path_change_data_t * file_change_data = NULL ;
110
92
@@ -222,20 +204,39 @@ static void fill_pathname_expanded_and_absolute(
222
204
**/
223
205
static void video_shader_replace_wildcards (char * s , size_t len , char * in_preset_path )
224
206
{
225
- int i = 0 ;
207
+ static struct wildcard_token wildcard_tokens [SHADER_NUM_WILDCARDS ] = {
208
+ {RARCH_WC_CONTENT_DIR , "$CONTENT-DIR$" , STRLEN_CONST ("$CONTENT-DIR$" )},
209
+ {RARCH_WC_CORE , "$CORE$" , STRLEN_CONST ("$CORE$" )},
210
+ {RARCH_WC_GAME , "$GAME$" , STRLEN_CONST ("$GAME$" )},
211
+ {RARCH_WC_VIDEO_DRIVER , "$VID-DRV$" , STRLEN_CONST ("$VID-DRV$" )},
212
+ {RARCH_WC_VIDEO_DRIVER_PRESET_EXT , "$VID-DRV-PRESET-EXT$" , STRLEN_CONST ("$VID-DRV-PRESET-EXT$" )},
213
+ {RARCH_WC_VIDEO_DRIVER_SHADER_EXT , "$VID-DRV-SHADER-EXT$" , STRLEN_CONST ("$VID-DRV-SHADER-EXT$" )},
214
+ {RARCH_WC_CORE_REQUESTED_ROTATION , "$CORE-REQ-ROT$" , STRLEN_CONST ("$CORE-REQ-ROT$" )},
215
+ {RARCH_WC_VIDEO_ALLOW_CORE_ROTATION , "$VID-ALLOW-CORE-ROT$" , STRLEN_CONST ("$VID-ALLOW-CORE-ROT$" )},
216
+ {RARCH_WC_VIDEO_USER_ROTATION , "$VID-USER-ROT$" , STRLEN_CONST ("$VID-USER-ROT$" )},
217
+ {RARCH_WC_VIDEO_FINAL_ROTATION , "$VID-FINAL-ROT$" , STRLEN_CONST ("$VID-FINAL-ROT$" )},
218
+ {RARCH_WC_SCREEN_ORIENTATION , "$SCREEN-ORIENT$" , STRLEN_CONST ("$SCREEN-ORIENT$" )},
219
+ {RARCH_WC_VIEWPORT_ASPECT_ORIENTATION , "$VIEW-ASPECT-ORIENT$" , STRLEN_CONST ("$VIEW-ASPECT-ORIENT$" )},
220
+ {RARCH_WC_CORE_ASPECT_ORIENTATION , "$CORE-ASPECT-ORIENT$" , STRLEN_CONST ("$CORE-ASPECT-ORIENT$" )},
221
+ {RARCH_WC_PRESET_DIR , "$PRESET-DIR$" , STRLEN_CONST ("$PRESET-DIR$" )},
222
+ {RARCH_WC_PRESET , "$PRESET$" , STRLEN_CONST ("$PRESET$" )},
223
+ };
224
+
225
+ int i ;
226
+ size_t _len ;
226
227
settings_t * settings ;
227
228
char replaced_path [PATH_MAX_LENGTH ];
228
229
229
- if (!strstr (s , RARCH_WILDCARD_DELIMITER ))
230
+ if (!strstr (s , RARCH_WC_DELIMITER ))
230
231
return ;
231
232
232
233
settings = config_get_ptr ();
233
- strlcpy (replaced_path , s , sizeof (replaced_path ));
234
+ _len = strlcpy (replaced_path , s , sizeof (replaced_path ));
234
235
235
236
/* Step through the wildcards while we can still find the
236
237
* delimiter in the replaced path
237
238
*/
238
- for (i = 0 ; (i < SHADER_NUM_WILDCARDS ) && (strstr (replaced_path , RARCH_WILDCARD_DELIMITER )); i ++ )
239
+ for (i = 0 ; (i < SHADER_NUM_WILDCARDS ) && (strstr (replaced_path , RARCH_WC_DELIMITER )); i ++ )
239
240
{
240
241
/* If the wildcard text is in the path then process it */
241
242
if (strstr (replaced_path , wildcard_tokens [i ].token_name ))
@@ -245,7 +246,7 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
245
246
246
247
switch (wildcard_tokens [i ].token_id )
247
248
{
248
- case RARCH_WILDCARD_CONTENT_DIR :
249
+ case RARCH_WC_CONTENT_DIR :
249
250
{
250
251
char content_dir_name [DIR_MAX_LENGTH ] = "" ;
251
252
const char * rarch_path_basename = path_get (RARCH_PATH_BASENAME );
@@ -261,10 +262,10 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
261
262
replace_text [0 ] = '\0' ;
262
263
}
263
264
break ;
264
- case RARCH_WILDCARD_CORE :
265
+ case RARCH_WC_CORE :
265
266
replace_len = strlcpy (replace_text , runloop_state_get_ptr ()-> system .info .library_name , sizeof (replace_text ));
266
267
break ;
267
- case RARCH_WILDCARD_GAME :
268
+ case RARCH_WC_GAME :
268
269
{
269
270
const char * rarch_path_basename = path_get (RARCH_PATH_BASENAME );
270
271
if (rarch_path_basename )
@@ -275,10 +276,10 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
275
276
replace_text [0 ] = '\0' ;
276
277
}
277
278
break ;
278
- case RARCH_WILDCARD_VIDEO_DRIVER :
279
+ case RARCH_WC_VIDEO_DRIVER :
279
280
replace_len = strlcpy (replace_text , settings -> arrays .video_driver , sizeof (replace_text ));
280
281
break ;
281
- case RARCH_WILDCARD_CORE_REQUESTED_ROTATION :
282
+ case RARCH_WC_CORE_REQUESTED_ROTATION :
282
283
replace_len = strlcpy (replace_text , "CORE-REQ-ROT-" ,
283
284
sizeof (replace_text ));
284
285
replace_len += snprintf (
@@ -287,7 +288,7 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
287
288
"%d" ,
288
289
retroarch_get_core_requested_rotation () * 90 );
289
290
break ;
290
- case RARCH_WILDCARD_VIDEO_ALLOW_CORE_ROTATION :
291
+ case RARCH_WC_VIDEO_ALLOW_CORE_ROTATION :
291
292
replace_len = strlcpy (replace_text , "VID-ALLOW-CORE-ROT-O" ,
292
293
sizeof (replace_text ));
293
294
if (settings -> bools .video_allow_rotate )
@@ -297,7 +298,7 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
297
298
replace_len += strlcpy (replace_text + replace_len , "FF" ,
298
299
sizeof (replace_text ) - replace_len );
299
300
break ;
300
- case RARCH_WILDCARD_VIDEO_USER_ROTATION :
301
+ case RARCH_WC_VIDEO_USER_ROTATION :
301
302
replace_len = strlcpy (replace_text , "VID-USER-ROT-" ,
302
303
sizeof (replace_text ));
303
304
replace_len += snprintf (
@@ -306,7 +307,7 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
306
307
"%d" ,
307
308
settings -> uints .video_rotation * 90 );
308
309
break ;
309
- case RARCH_WILDCARD_VIDEO_FINAL_ROTATION :
310
+ case RARCH_WC_VIDEO_FINAL_ROTATION :
310
311
replace_len = strlcpy (replace_text ,
311
312
"VID-FINAL-ROT-" ,
312
313
sizeof (replace_text ));
@@ -316,7 +317,7 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
316
317
"%d" ,
317
318
settings -> uints .video_rotation * 90 );
318
319
break ;
319
- case RARCH_WILDCARD_SCREEN_ORIENTATION :
320
+ case RARCH_WC_SCREEN_ORIENTATION :
320
321
replace_len = strlcpy (replace_text ,
321
322
"SCREEN-ORIENT-" ,
322
323
sizeof (replace_text ));
@@ -326,7 +327,7 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
326
327
"%d" ,
327
328
settings -> uints .screen_orientation * 90 );
328
329
break ;
329
- case RARCH_WILDCARD_CORE_ASPECT_ORIENTATION :
330
+ case RARCH_WC_CORE_ASPECT_ORIENTATION :
330
331
{
331
332
int requested_rotation ;
332
333
replace_len = strlcpy (replace_text ,
@@ -339,7 +340,7 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
339
340
sizeof (replace_text ) - replace_len );
340
341
}
341
342
break ;
342
- case RARCH_WILDCARD_VIEWPORT_ASPECT_ORIENTATION :
343
+ case RARCH_WC_VIEWPORT_ASPECT_ORIENTATION :
343
344
{
344
345
unsigned viewport_width = 0 ;
345
346
unsigned viewport_height = 0 ;
@@ -353,7 +354,7 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
353
354
sizeof (replace_text ) - replace_len );
354
355
}
355
356
break ;
356
- case RARCH_WILDCARD_PRESET_DIR :
357
+ case RARCH_WC_PRESET_DIR :
357
358
{
358
359
char preset_dir_name [DIR_MAX_LENGTH ];
359
360
fill_pathname_parent_dir_name (preset_dir_name , in_preset_path , sizeof (preset_dir_name ));
@@ -365,7 +366,7 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
365
366
replace_text [0 ] = '\0' ;
366
367
}
367
368
break ;
368
- case RARCH_WILDCARD_PRESET :
369
+ case RARCH_WC_PRESET :
369
370
{
370
371
char preset_name [NAME_MAX_LENGTH ];
371
372
fill_pathname (preset_name ,
@@ -377,7 +378,7 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
377
378
replace_text [0 ] = '\0' ;
378
379
}
379
380
break ;
380
- case RARCH_WILDCARD_VIDEO_DRIVER_SHADER_EXT :
381
+ case RARCH_WC_VIDEO_DRIVER_SHADER_EXT :
381
382
{
382
383
gfx_ctx_flags_t flags ;
383
384
flags .flags = 0 ;
@@ -393,7 +394,7 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
393
394
replace_text [0 ] = '\0' ;
394
395
}
395
396
break ;
396
- case RARCH_WILDCARD_VIDEO_DRIVER_PRESET_EXT :
397
+ case RARCH_WC_VIDEO_DRIVER_PRESET_EXT :
397
398
{
398
399
gfx_ctx_flags_t flags ;
399
400
flags .flags = 0 ;
@@ -414,11 +415,10 @@ static void video_shader_replace_wildcards(char *s, size_t len, char *in_preset_
414
415
break ;
415
416
}
416
417
{
417
- char * replace_output = string_replace_substring (replaced_path ,
418
- wildcard_tokens [i ].token_name ,
419
- wildcard_tokens [i ].token_size ,
420
- replace_text ,
421
- replace_len );
418
+ char * replace_output = string_replace_substring (
419
+ replaced_path , _len ,
420
+ wildcard_tokens [i ].token_name , wildcard_tokens [i ].token_size ,
421
+ replace_text , replace_len );
422
422
423
423
strlcpy (replaced_path , replace_output , sizeof (replaced_path ));
424
424
0 commit comments