mirror of
https://github.com/vanilla-wiiu/vanilla.git
synced 2026-10-28 09:43:51 +00:00
1 parent
a161a2b9a4
commit
1bec364c35
5 files changed
+25
-13
No files matched your search
@@ -83,6 +83,8 @@ void vpi_config_save()
|
||||
sprintf(buf, "%i", vpi_config.cursor_in_fullscreen);
|
||||
xmlTextWriterWriteElement(writer, BAD_CAST "cursorinfullscreen", BAD_CAST buf);
|
||||
|
||||
xmlTextWriterWriteElement(writer, BAD_CAST "recordingdir", BAD_CAST vpi_config.recording_dir);
|
||||
|
||||
xmlTextWriterEndElement(writer); // vanilla
|
||||
|
||||
xmlTextWriterEndDocument(writer);
|
||||
@@ -151,6 +153,10 @@ void vpi_config_init()
|
||||
if (child->children) {
|
||||
vui_strncpy(vpi_config.wireless_interface, (const char *) child->children->content, sizeof(vpi_config.wireless_interface));
|
||||
}
|
||||
} else if (!strcmp((const char *) child->name, "recordingdir")) {
|
||||
if (child->children) {
|
||||
vui_strncpy(vpi_config.recording_dir, (const char *) child->children->content, sizeof(vpi_config.recording_dir));
|
||||
}
|
||||
} else if (!strcmp((const char *) child->name, "connectionsetup")) {
|
||||
vpi_config.connection_setup = atoi((const char *) child->children->content);
|
||||
} else if (!strcmp((const char *) child->name, "region")) {
|
||||
|
||||
@@ -17,6 +17,7 @@ typedef struct {
|
||||
vpi_console_entry_t *connected_console_entries;
|
||||
uint32_t server_address;
|
||||
char wireless_interface[VPI_CONSOLE_MAX_NAME];
|
||||
char recording_dir[1024];
|
||||
int connection_setup;
|
||||
int region;
|
||||
int swap_abxy;
|
||||
|
||||
+5
-4
@@ -7,6 +7,7 @@
|
||||
#include <unistd.h>
|
||||
#include <vanilla.h>
|
||||
|
||||
#include "config.h"
|
||||
#include "menu_common.h"
|
||||
#include "menu_game.h"
|
||||
#include "menu_main.h"
|
||||
@@ -26,14 +27,14 @@ void vpi_menu_init(vui_context_t *vui)
|
||||
vpi_menu_main(vui, 0);
|
||||
}
|
||||
|
||||
void get_valid_filename(const char *fmt, char *abs_buf, size_t size_abs_buf)
|
||||
void get_valid_filename(const char *fmt, char *abs_buf, size_t size_abs_buf, const char *preferred_dir)
|
||||
{
|
||||
char buf[100];
|
||||
int index = 0;
|
||||
do {
|
||||
index++;
|
||||
snprintf(buf, sizeof(buf), fmt, index);
|
||||
vpi_get_data_filename(abs_buf, size_abs_buf, buf);
|
||||
vpi_get_data_filename(abs_buf, size_abs_buf, buf, preferred_dir);
|
||||
} while (access(abs_buf, F_OK) == 0);
|
||||
}
|
||||
|
||||
@@ -43,7 +44,7 @@ void vpi_menu_action(vui_context_t *vui, vpi_extra_action_t action)
|
||||
case VPI_ACTION_SCREENSHOT:
|
||||
{
|
||||
char ss_fn[4096];
|
||||
get_valid_filename("Screenshot-%04i.png", ss_fn, sizeof(ss_fn));
|
||||
get_valid_filename("Screenshot-%04i.png", ss_fn, sizeof(ss_fn), vpi_config.recording_dir);
|
||||
vpi_decode_screenshot(ss_fn);
|
||||
break;
|
||||
}
|
||||
@@ -52,7 +53,7 @@ void vpi_menu_action(vui_context_t *vui, vpi_extra_action_t action)
|
||||
int recording = vpi_decode_is_recording();
|
||||
if (!recording) {
|
||||
char mov_fn[4096];
|
||||
get_valid_filename("Recording-%04i.mp4", mov_fn, sizeof(mov_fn));
|
||||
get_valid_filename("Recording-%04i.mp4", mov_fn, sizeof(mov_fn), vpi_config.recording_dir);
|
||||
vpi_decode_record(mov_fn);
|
||||
} else {
|
||||
vpi_decode_record_stop();
|
||||
|
||||
+11
-7
@@ -15,17 +15,21 @@ static char pref_path[4096] = {0};
|
||||
|
||||
void vpi_config_filename(char *out, size_t out_size)
|
||||
{
|
||||
vpi_get_data_filename(out, out_size, "config.xml");
|
||||
vpi_get_data_filename(out, out_size, "config.xml", NULL);
|
||||
}
|
||||
|
||||
void vpi_get_data_filename(char *out, size_t out_size, const char *filename)
|
||||
void vpi_get_data_filename(char *out, size_t out_size, const char *filename, const char *preferred_dir)
|
||||
{
|
||||
if (!pref_path[0]) {
|
||||
char *s = SDL_GetPrefPath("", "Vanilla");
|
||||
vui_strncpy(pref_path, s, sizeof(pref_path));
|
||||
SDL_free(s);
|
||||
if (preferred_dir && preferred_dir[0]) {
|
||||
snprintf(out, out_size, "%s/%s", preferred_dir, filename);
|
||||
} else {
|
||||
if (!pref_path[0]) {
|
||||
char *s = SDL_GetPrefPath("", "Vanilla");
|
||||
vui_strncpy(pref_path, s, sizeof(pref_path));
|
||||
SDL_free(s);
|
||||
}
|
||||
snprintf(out, out_size, "%s%s", pref_path, filename);
|
||||
}
|
||||
snprintf(out, out_size, "%s%s", pref_path, filename);
|
||||
}
|
||||
|
||||
void vpilog_va(const char *fmt, va_list va)
|
||||
|
||||
+2
-2
@@ -5,7 +5,7 @@
|
||||
#include <stdlib.h>
|
||||
|
||||
void vpi_config_filename(char *out, size_t out_size);
|
||||
void vpi_get_data_filename(char *out, size_t out_size, const char *filename);
|
||||
void vpi_get_data_filename(char *out, size_t out_size, const char *filename, const char *preferred_dir);
|
||||
|
||||
void vpilog_va(const char *fmt, va_list va);
|
||||
void vpilog(const char *fmt, ...);
|
||||
@@ -14,4 +14,4 @@ void vpi_asset_filename(char *buf, size_t size, const char *type, const char *fi
|
||||
|
||||
void *vpi_start_process(const char **args);
|
||||
|
||||
#endif // VANILLA_PI_PLATFORM_H
|
||||
#endif // VANILLA_PI_PLATFORM_H
|
||||
Reference in new issue
Block a user