Add files via upload

Changed variable names
This commit is contained in:
alphanu1 2018-03-26 17:18:43 +01:00 committed by GitHub
parent ff68b9244d
commit 51276a682f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 81 additions and 46 deletions

View File

@ -1,3 +1,21 @@
/* CRT SwitchRes Core
* Copyright (C) 2018 Ben Templeman.
*
* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2017 - Daniel De Matteis
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
#include <stddef.h>
#include <string.h>
#include <windows.h>
@ -11,17 +29,17 @@ int first_run;
float fly_aspect;
void switch_res_core(int width, int height, float hz){
// ben_core_hz float passed from with in void video_driver_monitor_adjust_system_rates(void)
/* ben_core_hz float passed from with in void video_driver_monitor_adjust_system_rates(void) */
ben_core_width = width;
ben_core_height = height;
ben_core_hz = hz;
check_first_run();
if (ben_tmp_height != ben_core_height || ben_core_width != ben_tmp_width){ // detect resolution change and switch
if (ben_tmp_height != ben_core_height || ben_core_width != ben_tmp_width){ /* detect resolution change and switch */
screen_setup_aspect(width,height);
}
if (video_driver_get_aspect_ratio() != fly_aspect){ //check aspect is correct else change
if (video_driver_get_aspect_ratio() != fly_aspect){ /* check aspect is correct else change */
video_driver_set_aspect_ratio_value((float)fly_aspect);
ben_poke_video();
}
@ -29,7 +47,7 @@ void switch_res_core(int width, int height, float hz){
}
void check_first_run(){ // ruin of first boot to get current display resolution
void check_first_run(){ /* ruin of first boot to get current display resolution */
if (first_run != 1){
orig_height = GetSystemMetrics(SM_CYSCREEN);
orig_width = GetSystemMetrics(SM_CXSCREEN);
@ -37,39 +55,39 @@ void check_first_run(){ // ruin of first boot to get current display resolution
first_run = 1;
}
void screen_setup_aspect(int width, int height){ // create correct aspect to fit video if resolution does not exist
void screen_setup_aspect(int width, int height){ /* create correct aspect to fit video if resolution does not exist */
switch_crt_hz();
/* get original resolution of core */
if (width >= 1900){
if (height == 4){ //detect menu only
if (height == 4){ /* detect menu only */
height = 480;
aspect_ratio_switch(width,height);
}
if (height < 191 && height != 144){ // for low res games to be dran at res but on a 200 eight
if (height < 191 && height != 144){
aspect_ratio_switch(width,height);
height = 200;
}
if (height > 191){
aspect_ratio_switch(width,height);
}
if (height == 144 && set_ben_core_hz == 50){ /// for GBA doubling
if (height == 144 && set_ben_core_hz == 50){
height = 288;
aspect_ratio_switch(width,height);
}
if (height > 200 && height < 224){ /// for mame
if (height > 200 && height < 224){
aspect_ratio_switch(width,height);
ben_core_height = 224;
}
if (height > 224 && height < 240){ /// for mame
if (height > 224 && height < 240){
aspect_ratio_switch(width,height);
ben_core_height = 240;
}
if (height > 240 && height < 255 ){ /// for mame
if (height > 240 && height < 255 ){
aspect_ratio_switch(width,height);
ben_core_height = 254;
}
if (height == 528 && set_ben_core_hz == 60){ /// for mame
if (height == 528 && set_ben_core_hz == 60){
aspect_ratio_switch(width,height);
ben_core_height = 480;
}
@ -96,12 +114,12 @@ void switch_res_crt(int width, int height){
}
void aspect_ratio_switch(int width,int height){ // send aspect float to videeo_driver
void aspect_ratio_switch(int width,int height){ /* send aspect float to videeo_driver */
fly_aspect = (float)width/height;
video_driver_set_aspect_ratio_value((float)fly_aspect);
}
void switch_crt_hz(){ // set hz float an int for windows switching
void switch_crt_hz(){ /* set hz float an int for windows switching */
if (ben_core_hz != ben_tmp_core_hz){
if (ben_core_hz < 53 ){
@ -120,7 +138,7 @@ void switch_crt_hz(){ // set hz float an int for windows switching
}
void switch_res(int width, int height, int f_restore){ // windows function to swith resolutions
void switch_res(int width, int height, int f_restore){ /* windows function to swith resolutions */
DEVMODE curDevmode;
DEVMODE devmode;
@ -137,7 +155,7 @@ void switch_res(int width, int height, int f_restore){ // windows function to s
EnumDisplaySettings(NULL, ENUM_CURRENT_SETTINGS, &curDevmode);
if (width == curDevmode.dmPelsWidth){
width = 0; // used to stop superresolution bug
width = 0; /* used to stop superresolution bug */
}
if (width == 0) {
@ -155,7 +173,7 @@ void switch_res(int width, int height, int f_restore){ // windows function to s
for (iModeNum = 0; ; iModeNum++) {
if (EnumDisplaySettings(NULL, iModeNum, &devmode)) {
// See if this setting has the right width.
if (devmode.dmPelsWidth != width) {
continue;
}
@ -164,17 +182,17 @@ void switch_res(int width, int height, int f_restore){ // windows function to s
continue;
}
// See if this setting has the right depth.
if (devmode.dmBitsPerPel != depth) {
continue;
}
// See if this setting has the right frequency.
if (devmode.dmDisplayFrequency != freq) {
continue;
}
// This new setting satisfies all the criteria. Try it.
devmode.dmFields |= DM_PELSWIDTH | DM_PELSHEIGHT | DM_BITSPERPEL | DM_DISPLAYFREQUENCY;
LONG res = ChangeDisplaySettings(&devmode, CDS_TEST);
@ -186,21 +204,21 @@ void switch_res(int width, int height, int f_restore){ // windows function to s
return;
case DISP_CHANGE_NOTUPDATED:
// printf("Settings changed, but not permanently.\n");
return;
default:
// printf("Something odd happened.\n");
break;
}
break;
case DISP_CHANGE_RESTART:
//printf("The computer needs to be restarted to switch to these settings\n");
break;
default:
//printf("Something odd happened.\n");
break;
}
}
@ -209,7 +227,7 @@ void switch_res(int width, int height, int f_restore){ // windows function to s
}
}
// printf("Couldn't change settings.\n");
}

View File

@ -1,3 +1,22 @@
/* CRT SwitchRes Core
* Copyright (C) 2018 Ben Templeman.
*
* RetroArch - A frontend for libretro.
* Copyright (C) 2010-2014 - Hans-Kristian Arntzen
* Copyright (C) 2011-2017 - Daniel De Matteis
*
* RetroArch is free software: you can redistribute it and/or modify it under the terms
* of the GNU General Public License as published by the Free Software Found-
* ation, either version 3 of the License, or (at your option) any later version.
*
* RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
* without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* PURPOSE. See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License along with RetroArch.
* If not, see <http://www.gnu.org/licenses/>.
*/
static int ben_core_width;
static int ben_core_height;
static int ben_tmp_width;

View File

@ -120,7 +120,7 @@
#define video_driver_context_unlock() ((void)0)
#endif
bool CRT_Switching_active; //ben
bool crt_switching_active;
typedef struct video_pixel_scaler
{
@ -1423,7 +1423,7 @@ void video_driver_monitor_adjust_system_rates(void)
if (!info || info->fps <= 0.0)
return;
if (CRT_Switching_active == true){
if (crt_switching_active == true){
timing_skew = fabs(1.0f - info->fps / ben_core_hz);
}else {
timing_skew = fabs(1.0f - info->fps / video_refresh_rate);
@ -1437,10 +1437,7 @@ void video_driver_monitor_adjust_system_rates(void)
video_refresh_rate,
(float)info->fps);
// if (info->fps <= video_refresh_rate) // create options to choose between these!!!!
// return;
if (CRT_Switching_active == true){
if (crt_switching_active == true){
if (info->fps <= ben_core_hz)
return;
} else {
@ -1574,7 +1571,7 @@ static void video_driver_lock_new(void)
void video_driver_destroy(void)
{
video_display_server_destroy();
video_restore(); //ben
video_restore();
video_driver_cb_has_focus = null_driver_has_focus;
video_driver_use_rgba = false;
video_driver_data_own = false;
@ -2599,20 +2596,20 @@ void video_driver_frame(const void *data, unsigned width,
runloop_msg_queue_push(video_info.fps_text, 2, 1, true);
/* trigger set resolution*/
if (video_info.CRT_Switch_Resolution == true){
CRT_Switching_active = true;
if (video_info.CRT_Switch_Resolution_super == 2560){
if (video_info.crt_switch_resolution == true){
crt_switching_active = true;
if (video_info.crt_switch_resolution_super == 2560){
width = 2560;
}
if (video_info.CRT_Switch_Resolution_super == 3840){
if (video_info.crt_switch_resolution_super == 3840){
width = 3840;
}
if (video_info.CRT_Switch_Resolution_super == 1920){
if (video_info.crt_switch_resolution_super == 1920){
width = 1920;
}
switch_res_core(width, height, ben_core_hz);// ben_core_hz);
} else if (video_info.CRT_Switch_Resolution == false){
CRT_Switching_active = false;
switch_res_core(width, height, ben_core_hz);
} else if (video_info.crt_switch_resolution == false){
crt_switching_active = false;
}
/* trigger set resolution*/
@ -2713,8 +2710,8 @@ void video_driver_build_info(video_frame_info_t *video_info)
settings = config_get_ptr();
custom_vp = &settings->video_viewport_custom;
video_info->refresh_rate = settings->floats.video_refresh_rate;
video_info->CRT_Switch_Resolution = settings->bools.CRT_Switch_Resolution; //ben
video_info->CRT_Switch_Resolution_super = settings->uints.CRT_Switch_Resolution_super; //ben
video_info->crt_switch_resolution = settings->bools.crt_switch_resolution;
video_info->crt_switch_resolution_super = settings->uints.crt_switch_resolution_super;
video_info->black_frame_insertion = settings->bools.video_black_frame_insertion;
video_info->hard_sync = settings->bools.video_hard_sync;
video_info->hard_sync_frames = settings->uints.video_hard_sync_frames;

View File

@ -71,9 +71,10 @@ RETRO_BEGIN_DECLS
#define MAX_VARIABLES 64
// Added for resolution wswitching
/* Added for resolution wswitching */
void ben_poke_video();
//Added for resolution wswitching
/* Added for resolution wswitching */
enum
@ -407,7 +408,7 @@ typedef struct video_frame_info
bool black_frame_insertion;
bool hard_sync;
bool fps_show;
bool CRT_Switch_Resolution; //ben
bool crt_switch_resolution;
bool statistics_show;
bool framecount_show;
bool scale_integer;
@ -433,7 +434,7 @@ typedef struct video_frame_info
unsigned aspect_ratio_idx;
unsigned max_swapchain_images;
unsigned monitor_index;
unsigned CRT_Switch_Resolution_super; //ben
unsigned crt_switch_resolution_super;
unsigned width;
unsigned height;
unsigned xmb_theme;