discord: fix merge conflicts

This commit is contained in:
Jesse Bryan 2018-08-18 21:16:12 -05:00
commit cdbe19e213
14 changed files with 216 additions and 26 deletions

View File

@ -1480,7 +1480,7 @@ static struct config_bool_setting *populate_settings_bool(settings_t *settings,
static struct config_float_setting *populate_settings_float(settings_t *settings, int *size) static struct config_float_setting *populate_settings_float(settings_t *settings, int *size)
{ {
unsigned count = 0; unsigned count = 0;
struct config_float_setting *tmp = (struct config_float_setting*)malloc((*size + 1) * sizeof(struct config_float_setting)); struct config_float_setting *tmp = (struct config_float_setting*)calloc(1, (*size + 1) * sizeof(struct config_float_setting));
SETTING_FLOAT("video_aspect_ratio", &settings->floats.video_aspect_ratio, true, aspect_ratio, false); SETTING_FLOAT("video_aspect_ratio", &settings->floats.video_aspect_ratio, true, aspect_ratio, false);
SETTING_FLOAT("video_scale", &settings->floats.video_scale, false, 0.0f, false); SETTING_FLOAT("video_scale", &settings->floats.video_scale, false, 0.0f, false);

View File

@ -77,7 +77,6 @@ static void handle_discord_join_request(const DiscordUser* request)
void discord_update(enum discord_presence presence) void discord_update(enum discord_presence presence)
{ {
rarch_system_info_t *system = runloop_get_system_info();
core_info_t *core_info = NULL; core_info_t *core_info = NULL;
bool skip = false; bool skip = false;

View File

@ -808,8 +808,7 @@ static bool vulkan_init_filter_chain_preset(vk_t *vk, const char *shader_path)
static bool vulkan_init_filter_chain(vk_t *vk) static bool vulkan_init_filter_chain(vk_t *vk)
{ {
settings_t *settings = config_get_ptr(); const char *shader_path = retroarch_get_shader_preset();
const char *shader_path = retroarch_get_shader_preset();
enum rarch_shader_type type = video_shader_parse_type(shader_path, RARCH_SHADER_NONE); enum rarch_shader_type type = video_shader_parse_type(shader_path, RARCH_SHADER_NONE);
@ -2228,10 +2227,16 @@ static void vulkan_set_osd_msg(void *data,
static uintptr_t vulkan_load_texture(void *video_data, void *data, static uintptr_t vulkan_load_texture(void *video_data, void *data,
bool threaded, enum texture_filter_type filter_type) bool threaded, enum texture_filter_type filter_type)
{ {
struct vk_texture *texture = NULL;
vk_t *vk = (vk_t*)video_data; vk_t *vk = (vk_t*)video_data;
struct texture_image *image = (struct texture_image*)data; struct texture_image *image = (struct texture_image*)data;
struct vk_texture *texture = (struct vk_texture*)calloc(1, sizeof(*texture)); if (!image)
if (!image || !texture) return 0;
texture = (struct vk_texture*)
calloc(1, sizeof(*texture));
if (!texture)
return 0; return 0;
if (!image->pixels || !image->width || !image->height) if (!image->pixels || !image->width || !image->height)

View File

@ -748,6 +748,8 @@ bool video_shader_read_conf_cgp(config_file_t *conf,
shader->passes = MIN(shaders, GFX_MAX_SHADERS); shader->passes = MIN(shaders, GFX_MAX_SHADERS);
attr.i = 0; attr.i = 0;
strlcpy(shader->path, conf->path, sizeof(shader->path));
if (settings->bools.video_shader_watch_files) if (settings->bools.video_shader_watch_files)
{ {
if (file_change_data) if (file_change_data)

View File

@ -147,6 +147,7 @@ struct video_shader
char prefix[64]; char prefix[64];
char script_class[512]; char script_class[512];
char script_path[PATH_MAX_LENGTH]; char script_path[PATH_MAX_LENGTH];
char path[PATH_MAX_LENGTH];
char *script; /* Dynamically allocated. Must be free'd. Only used by XML. */ char *script; /* Dynamically allocated. Must be free'd. Only used by XML. */
bool modern; /* Only used for XML shaders. */ bool modern; /* Only used for XML shaders. */

View File

@ -3762,3 +3762,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_UPDATE_RETROARCH_FAILED,
"更新に失敗しました。") "更新に失敗しました。")
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT_CONTRIBUTORS, MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT_CONTRIBUTORS,
"作成者") "作成者")
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_CURRENT_SHADER,
"現在のシェーダー")
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MOVE_DOWN,
"下へ移動")
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MOVE_UP,
"上へ移動")

View File

@ -4264,3 +4264,9 @@ MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_UPDATE_RETROARCH_FAILED,
"Update failed.") "Update failed.")
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT_CONTRIBUTORS, MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MENU_HELP_ABOUT_CONTRIBUTORS,
"Contributors") "Contributors")
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_CURRENT_SHADER,
"Current shader")
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MOVE_DOWN,
"Move Down")
MSG_HASH(MENU_ENUM_LABEL_VALUE_QT_MOVE_UP,
"Move Up")

View File

@ -1987,6 +1987,9 @@ enum msg_hash_enums
MENU_ENUM_LABEL_VALUE_QT_UPDATE_RETROARCH_NIGHTLY, MENU_ENUM_LABEL_VALUE_QT_UPDATE_RETROARCH_NIGHTLY,
MENU_ENUM_LABEL_VALUE_QT_UPDATE_RETROARCH_FINISHED, MENU_ENUM_LABEL_VALUE_QT_UPDATE_RETROARCH_FINISHED,
MENU_ENUM_LABEL_VALUE_QT_UPDATE_RETROARCH_FAILED, MENU_ENUM_LABEL_VALUE_QT_UPDATE_RETROARCH_FAILED,
MENU_ENUM_LABEL_VALUE_QT_CURRENT_SHADER,
MENU_ENUM_LABEL_VALUE_QT_MOVE_DOWN,
MENU_ENUM_LABEL_VALUE_QT_MOVE_UP,
MENU_LABEL(MIDI_INPUT), MENU_LABEL(MIDI_INPUT),
MENU_LABEL(MIDI_OUTPUT), MENU_LABEL(MIDI_OUTPUT),

View File

@ -375,6 +375,7 @@ static void global_free(void)
static void retroarch_print_features(void) static void retroarch_print_features(void)
{ {
frontend_driver_attach_console();
puts(""); puts("");
puts("Features:"); puts("Features:");
@ -451,7 +452,7 @@ static void retroarch_print_features(void)
static void retroarch_print_version(void) static void retroarch_print_version(void)
{ {
char str[255]; char str[255];
frontend_driver_attach_console();
str[0] = '\0'; str[0] = '\0';
fprintf(stderr, "%s: %s -- v%s", fprintf(stderr, "%s: %s -- v%s",
@ -473,6 +474,7 @@ static void retroarch_print_version(void)
**/ **/
static void retroarch_print_help(const char *arg0) static void retroarch_print_help(const char *arg0)
{ {
frontend_driver_attach_console();
puts("==================================================================="); puts("===================================================================");
retroarch_print_version(); retroarch_print_version();
puts("==================================================================="); puts("===================================================================");

View File

@ -814,6 +814,11 @@ static bool content_file_init(
free(info); free(info);
} }
else if (special == NULL)
{
*error_string = strdup(msg_hash_to_str(MSG_ERROR_LIBRETRO_CORE_REQUIRES_CONTENT));
ret = false;
}
return ret; return ret;
} }
@ -874,7 +879,6 @@ static bool task_load_content(content_ctx_info_t *content_info,
if (!content_load(content_info)) if (!content_load(content_info))
{ {
*error_string = strdup("This core requires a content file, could not load content.\n");
return false; return false;
} }

View File

@ -9,11 +9,14 @@
#include <QDoubleSpinBox> #include <QDoubleSpinBox>
#include <QCheckBox> #include <QCheckBox>
#include <QComboBox> #include <QComboBox>
#include <QPushButton>
#include <QToolButton>
#include "shaderparamsdialog.h" #include "shaderparamsdialog.h"
#include "../ui_qt.h" #include "../ui_qt.h"
extern "C" { extern "C" {
#include <string/stdstring.h>
#include "../../../command.h" #include "../../../command.h"
#ifdef HAVE_MENU #ifdef HAVE_MENU
#include "../../../menu/menu_shader.h" #include "../../../menu/menu_shader.h"
@ -280,10 +283,103 @@ void ShaderParamsDialog::onScaleComboBoxIndexChanged(int)
} }
} }
void ShaderParamsDialog::onShaderPassMoveDownClicked()
{
QPushButton *button = qobject_cast<QPushButton*>(sender());
QVariant passVariant;
struct video_shader *menu_shader = NULL;
struct video_shader *video_shader = NULL;
int pass = 0;
bool ok = false;
getShaders(&menu_shader, &video_shader);
if (!button)
return;
passVariant = button->property("pass");
if (!passVariant.isValid())
return;
pass = passVariant.toInt(&ok);
if (!ok)
return;
if (pass < 0)
return;
if (video_shader)
{
if (pass >= static_cast<int>(video_shader->passes) - 1)
return;
std::swap(video_shader->pass[pass], video_shader->pass[pass + 1]);
}
if (menu_shader)
{
if (pass >= static_cast<int>(menu_shader->passes) - 1)
return;
std::swap(menu_shader->pass[pass], menu_shader->pass[pass + 1]);
}
command_event(CMD_EVENT_SHADERS_APPLY_CHANGES, NULL);
}
void ShaderParamsDialog::onShaderPassMoveUpClicked()
{
QPushButton *button = qobject_cast<QPushButton*>(sender());
QVariant passVariant;
struct video_shader *menu_shader = NULL;
struct video_shader *video_shader = NULL;
int pass = 0;
bool ok = false;
getShaders(&menu_shader, &video_shader);
if (!button)
return;
passVariant = button->property("pass");
if (!passVariant.isValid())
return;
pass = passVariant.toInt(&ok);
if (!ok)
return;
if (pass <= 0)
return;
if (video_shader)
{
if (pass > static_cast<int>(video_shader->passes) - 1)
return;
std::swap(video_shader->pass[pass - 1], video_shader->pass[pass]);
}
if (menu_shader)
{
if (pass > static_cast<int>(menu_shader->passes) - 1)
return;
std::swap(menu_shader->pass[pass - 1], menu_shader->pass[pass]);
}
command_event(CMD_EVENT_SHADERS_APPLY_CHANGES, NULL);
}
void ShaderParamsDialog::reload() void ShaderParamsDialog::reload()
{ {
struct video_shader *menu_shader = NULL; struct video_shader *menu_shader = NULL;
struct video_shader *video_shader = NULL; struct video_shader *video_shader = NULL;
const char *shader_path = NULL;
int i; int i;
unsigned j; unsigned j;
@ -295,10 +391,24 @@ void ShaderParamsDialog::reload()
*/ */
if ((video_shader && video_shader->passes == 0) || !video_shader) if ((video_shader && video_shader->passes == 0) || !video_shader)
{
setWindowTitle(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SHADER_OPTIONS));
goto end; goto end;
}
clearLayout(m_layout); clearLayout(m_layout);
/* Only check video_shader for the path, menu_shader seems stale... e.g. if you remove all the shader passes,
* it still has the old path in it, but video_shader does not
*/
if (!string_is_empty(video_shader->path))
{
shader_path = video_shader->path;
setWindowTitle(QString(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_QT_CURRENT_SHADER)) + ": " + QFileInfo(shader_path).fileName());
}
else
setWindowTitle(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SHADER_OPTIONS));
/* NOTE: We assume that parameters are always grouped in order by the pass number, e.g., all parameters for pass 0 come first, then params for pass 1, etc. */ /* NOTE: We assume that parameters are always grouped in order by the pass number, e.g., all parameters for pass 0 come first, then params for pass 1, etc. */
for (i = 0; i < static_cast<int>(video_shader->passes); i++) for (i = 0; i < static_cast<int>(video_shader->passes); i++)
{ {
@ -309,11 +419,33 @@ void ShaderParamsDialog::reload()
QHBoxLayout *filterScaleHBoxLayout = NULL; QHBoxLayout *filterScaleHBoxLayout = NULL;
QComboBox *filterComboBox = new QComboBox(); QComboBox *filterComboBox = new QComboBox();
QComboBox *scaleComboBox = new QComboBox(); QComboBox *scaleComboBox = new QComboBox();
QToolButton *moveDownButton = NULL;
QToolButton *moveUpButton = NULL;
unsigned j = 0; unsigned j = 0;
filterComboBox->setProperty("pass", i); filterComboBox->setProperty("pass", i);
scaleComboBox->setProperty("pass", i); scaleComboBox->setProperty("pass", i);
moveDownButton = new QToolButton();
moveDownButton->setText("");
moveDownButton->setProperty("pass", i);
moveUpButton = new QToolButton();
moveUpButton->setText("");
moveUpButton->setProperty("pass", i);
/* Can't move down if we're already at the bottom. */
if (i < static_cast<int>(video_shader->passes) - 1)
connect(moveDownButton, SIGNAL(clicked()), this, SLOT(onShaderPassMoveDownClicked()));
else
moveDownButton->setDisabled(true);
/* Can't move up if we're already at the top. */
if (i > 0)
connect(moveUpButton, SIGNAL(clicked()), this, SLOT(onShaderPassMoveUpClicked()));
else
moveUpButton->setDisabled(true);
for (;;) for (;;)
{ {
QString filterLabel = getFilterLabel(j); QString filterLabel = getFilterLabel(j);
@ -355,10 +487,18 @@ void ShaderParamsDialog::reload()
m_layout->addWidget(groupBox); m_layout->addWidget(groupBox);
filterScaleHBoxLayout = new QHBoxLayout(); filterScaleHBoxLayout = new QHBoxLayout();
filterScaleHBoxLayout->addWidget(new QLabel(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FILTER))); filterScaleHBoxLayout->addSpacerItem(new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Preferred));
filterScaleHBoxLayout->addWidget(new QLabel(QString(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_FILTER)) + ":"));
filterScaleHBoxLayout->addWidget(filterComboBox); filterScaleHBoxLayout->addWidget(filterComboBox);
filterScaleHBoxLayout->addWidget(new QLabel(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCALE))); filterScaleHBoxLayout->addWidget(new QLabel(QString(msg_hash_to_str(MENU_ENUM_LABEL_VALUE_SCALE)) + ":"));
filterScaleHBoxLayout->addWidget(scaleComboBox); filterScaleHBoxLayout->addWidget(scaleComboBox);
filterScaleHBoxLayout->addSpacerItem(new QSpacerItem(20, 0, QSizePolicy::Preferred, QSizePolicy::Preferred));
if (moveUpButton)
filterScaleHBoxLayout->addWidget(moveUpButton);
if (moveDownButton)
filterScaleHBoxLayout->addWidget(moveDownButton);
form->addRow("", filterScaleHBoxLayout); form->addRow("", filterScaleHBoxLayout);
@ -392,7 +532,7 @@ void ShaderParamsDialog::addShaderParam(struct video_shader_parameter *param, in
/* option is basically a bool, so use a checkbox */ /* option is basically a bool, so use a checkbox */
QCheckBox *checkBox = new QCheckBox(this); QCheckBox *checkBox = new QCheckBox(this);
checkBox->setChecked(param->current == param->maximum ? true : false); checkBox->setChecked(param->current == param->maximum ? true : false);
checkBox->setProperty("pass", param->pass); checkBox->setProperty("param", parameter);
connect(checkBox, SIGNAL(clicked()), this, SLOT(onShaderParamCheckBoxClicked())); connect(checkBox, SIGNAL(clicked()), this, SLOT(onShaderParamCheckBoxClicked()));
@ -463,7 +603,7 @@ void ShaderParamsDialog::onShaderParamCheckBoxClicked()
if (menu_shader && menu_shader->passes == 0) if (menu_shader && menu_shader->passes == 0)
return; return;
paramVariant = checkBox->property("parameter"); paramVariant = checkBox->property("param");
if (paramVariant.isValid()) if (paramVariant.isValid())
{ {
@ -570,7 +710,6 @@ void ShaderParamsDialog::onShaderParamSpinBoxValueChanged(int value)
QSlider *slider = NULL; QSlider *slider = NULL;
struct video_shader *menu_shader = NULL; struct video_shader *menu_shader = NULL;
struct video_shader *video_shader = NULL; struct video_shader *video_shader = NULL;
double newValue = 0.0;
getShaders(&menu_shader, &video_shader); getShaders(&menu_shader, &video_shader);
@ -596,6 +735,8 @@ void ShaderParamsDialog::onShaderParamSpinBoxValueChanged(int value)
if (ok) if (ok)
{ {
double newValue = 0.0;
if (menu_shader) if (menu_shader)
{ {
struct video_shader_parameter *param = &menu_shader->parameters[parameter]; struct video_shader_parameter *param = &menu_shader->parameters[parameter];
@ -627,8 +768,10 @@ void ShaderParamsDialog::onShaderParamDoubleSpinBoxValueChanged(double value)
QVariant sliderVariant; QVariant sliderVariant;
QVariant paramVariant; QVariant paramVariant;
QSlider *slider = NULL; QSlider *slider = NULL;
struct video_shader_parameter *param = NULL; struct video_shader *menu_shader = NULL;
double newValue = 0.0; struct video_shader *video_shader = NULL;
getShaders(&menu_shader, &video_shader);
if (!doubleSpinBox) if (!doubleSpinBox)
return; return;
@ -647,15 +790,34 @@ void ShaderParamsDialog::onShaderParamDoubleSpinBoxValueChanged(double value)
if (paramVariant.isValid()) if (paramVariant.isValid())
{ {
param = paramVariant.value<struct video_shader_parameter*>(); bool ok = false;
int parameter = paramVariant.toInt(&ok);
if (param) if (ok)
{ {
param->current = value; double newValue = 0.0;
newValue = MainWindow::lerp(param->minimum, param->maximum, 0, 100, param->current);
slider->blockSignals(true); if (menu_shader)
slider->setValue(newValue); {
slider->blockSignals(false); struct video_shader_parameter *param = &menu_shader->parameters[parameter];
param->current = value;
newValue = MainWindow::lerp(param->minimum, param->maximum, 0, 100, param->current);
slider->blockSignals(true);
slider->setValue(newValue);
slider->blockSignals(false);
}
if (video_shader)
{
struct video_shader_parameter *param = &video_shader->parameters[parameter];
param->current = value;
newValue = MainWindow::lerp(param->minimum, param->maximum, 0, 100, param->current);
slider->blockSignals(true);
slider->setValue(newValue);
slider->blockSignals(false);
}
} }
} }
} }

View File

@ -27,6 +27,8 @@ private slots:
void onShaderParamDoubleSpinBoxValueChanged(double value); void onShaderParamDoubleSpinBoxValueChanged(double value);
void onFilterComboBoxIndexChanged(int index); void onFilterComboBoxIndexChanged(int index);
void onScaleComboBoxIndexChanged(int index); void onScaleComboBoxIndexChanged(int index);
void onShaderPassMoveDownClicked();
void onShaderPassMoveUpClicked();
private: private:
QString getFilterLabel(unsigned filter); QString getFilterLabel(unsigned filter);
void addShaderParam(struct video_shader_parameter *param, int parameter, QFormLayout *form); void addShaderParam(struct video_shader_parameter *param, int parameter, QFormLayout *form);

View File

@ -223,7 +223,6 @@ CoreInfoWidget::CoreInfoWidget(CoreInfoLabel *label, QWidget *parent) :
,m_label(label) ,m_label(label)
,m_scrollArea(new QScrollArea(this)) ,m_scrollArea(new QScrollArea(this))
{ {
//m_scrollArea->setFrameShape(QFrame::NoFrame);
m_scrollArea->setWidgetResizable(true); m_scrollArea->setWidgetResizable(true);
m_scrollArea->setWidget(m_label); m_scrollArea->setWidget(m_label);
} }
@ -601,7 +600,6 @@ void MainWindow::onGridItemClicked(ThumbnailWidget *widget)
if (m_currentGridWidget) if (m_currentGridWidget)
{ {
m_currentGridWidget->setObjectName("thumbnailWidget"); m_currentGridWidget->setObjectName("thumbnailWidget");
//m_currentGridWidget->setFrameStyle(QFrame::Plain);
m_currentGridWidget->style()->unpolish(m_currentGridWidget); m_currentGridWidget->style()->unpolish(m_currentGridWidget);
m_currentGridWidget->style()->polish(m_currentGridWidget); m_currentGridWidget->style()->polish(m_currentGridWidget);
} }

View File

@ -214,8 +214,8 @@ void RARCH_LOG_V(const char *tag, const char *fmt, va_list ap)
void RARCH_LOG_BUFFER(uint8_t *data, size_t size) void RARCH_LOG_BUFFER(uint8_t *data, size_t size)
{ {
unsigned i, offset; unsigned i, offset;
int padding = size % 16; int padding = size % 16;
uint8_t buf[16]; uint8_t buf[16] = {0};
RARCH_LOG("== %d-byte buffer ==================\n", size); RARCH_LOG("== %d-byte buffer ==================\n", size);