mirror of
https://github.com/libretro/beetle-psx-libretro.git
synced 2025-02-16 23:20:01 +00:00
Separate core globals from callbacks
This commit is contained in:
parent
8ad1e5711e
commit
4e1c6f1c41
@ -170,7 +170,8 @@ ifneq ($(HAVE_GRIFFIN), 1)
|
|||||||
SOURCES_CXX += $(CORE_EMU_DIR)/decomp.cpp
|
SOURCES_CXX += $(CORE_EMU_DIR)/decomp.cpp
|
||||||
endif
|
endif
|
||||||
|
|
||||||
SOURCES_C += $(CORE_DIR)/libretro_cbs.c
|
SOURCES_C += $(CORE_DIR)/libretro_cbs.c \
|
||||||
|
$(CORE_DIR)/beetle_psx_globals.c
|
||||||
|
|
||||||
ifeq ($(NEED_TREMOR), 1)
|
ifeq ($(NEED_TREMOR), 1)
|
||||||
SOURCES_C += $(sort $(wildcard $(MEDNAFEN_DIR)/tremor/*.c))
|
SOURCES_C += $(sort $(wildcard $(MEDNAFEN_DIR)/tremor/*.c))
|
||||||
|
10
beetle_psx_globals.c
Normal file
10
beetle_psx_globals.c
Normal file
@ -0,0 +1,10 @@
|
|||||||
|
#include <boolean.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
bool content_is_pal = false;
|
||||||
|
uint8_t widescreen_hack;
|
||||||
|
uint8_t psx_gpu_upscale_shift;
|
||||||
|
int line_render_mode;
|
||||||
|
int filter_mode;
|
||||||
|
bool opaque_check;
|
||||||
|
bool semitrans_check;
|
29
beetle_psx_globals.h
Normal file
29
beetle_psx_globals.h
Normal file
@ -0,0 +1,29 @@
|
|||||||
|
#ifndef BEETLE_PSX_GLOBALS_H__
|
||||||
|
#define BEETLE_PSX_GLOBALS_H__
|
||||||
|
|
||||||
|
#include <boolean.h>
|
||||||
|
#include <stdint.h>
|
||||||
|
|
||||||
|
/* Global state variables used by the Beetle PSX Core.
|
||||||
|
* These are typically set by core options and are used
|
||||||
|
* by methods in the Mednafen PSX module that have been
|
||||||
|
* modified for Beetle PSX.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
extern bool content_is_pal;
|
||||||
|
extern uint8_t widescreen_hack;
|
||||||
|
extern uint8_t psx_gpu_upscale_shift;
|
||||||
|
extern int line_render_mode;
|
||||||
|
extern int filter_mode;
|
||||||
|
extern bool opaque_check;
|
||||||
|
extern bool semitrans_check;
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
@ -16,6 +16,7 @@
|
|||||||
#include "ugui_tools.h"
|
#include "ugui_tools.h"
|
||||||
#include "rsx/rsx_intf.h"
|
#include "rsx/rsx_intf.h"
|
||||||
#include "libretro_cbs.h"
|
#include "libretro_cbs.h"
|
||||||
|
#include "beetle_psx_globals.h"
|
||||||
#include "libretro_options.h"
|
#include "libretro_options.h"
|
||||||
#include "input.h"
|
#include "input.h"
|
||||||
|
|
||||||
@ -2911,11 +2912,11 @@ static void check_variables(bool startup)
|
|||||||
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
|
if (environ_cb(RETRO_ENVIRONMENT_GET_VARIABLE, &var) && var.value)
|
||||||
{
|
{
|
||||||
if (strcmp(var.value, "disabled") == 0)
|
if (strcmp(var.value, "disabled") == 0)
|
||||||
lineRenderMode = 0;
|
line_render_mode = 0;
|
||||||
else if (strcmp(var.value, "default") == 0)
|
else if (strcmp(var.value, "default") == 0)
|
||||||
lineRenderMode = 1;
|
line_render_mode = 1;
|
||||||
else if (strcmp(var.value, "aggressive") == 0)
|
else if (strcmp(var.value, "aggressive") == 0)
|
||||||
lineRenderMode = 2;
|
line_render_mode = 2;
|
||||||
}
|
}
|
||||||
|
|
||||||
var.key = BEETLE_OPT(filter);
|
var.key = BEETLE_OPT(filter);
|
||||||
|
@ -1,12 +1,4 @@
|
|||||||
#include <boolean.h>
|
|
||||||
#include "libretro.h"
|
#include "libretro.h"
|
||||||
|
|
||||||
bool content_is_pal = false;
|
|
||||||
retro_video_refresh_t video_cb;
|
retro_video_refresh_t video_cb;
|
||||||
retro_environment_t environ_cb;
|
retro_environment_t environ_cb;
|
||||||
uint8_t widescreen_hack;
|
|
||||||
uint8_t psx_gpu_upscale_shift;
|
|
||||||
int lineRenderMode;
|
|
||||||
int filter_mode;
|
|
||||||
bool opaque_check;
|
|
||||||
bool semitrans_check;
|
|
||||||
|
@ -1,21 +1,14 @@
|
|||||||
#ifndef __LIBRETRO_CBS_H
|
#ifndef __LIBRETRO_CBS_H
|
||||||
#define __LIBRETRO_CBS_H
|
#define __LIBRETRO_CBS_H
|
||||||
|
|
||||||
#include <boolean.h>
|
#include "libretro.h"
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
extern "C" {
|
extern "C" {
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
extern bool content_is_pal;
|
|
||||||
extern retro_video_refresh_t video_cb;
|
extern retro_video_refresh_t video_cb;
|
||||||
extern retro_environment_t environ_cb;
|
extern retro_environment_t environ_cb;
|
||||||
extern uint8_t widescreen_hack;
|
|
||||||
extern uint8_t psx_gpu_upscale_shift;
|
|
||||||
extern int lineRenderMode;
|
|
||||||
extern int filter_mode;
|
|
||||||
extern bool opaque_check;
|
|
||||||
extern bool semitrans_check;
|
|
||||||
|
|
||||||
#ifdef __cplusplus
|
#ifdef __cplusplus
|
||||||
}
|
}
|
||||||
|
@ -1,6 +1,6 @@
|
|||||||
#include <math.h>
|
#include <math.h>
|
||||||
#include <algorithm>
|
#include <algorithm>
|
||||||
#include "libretro_cbs.h"
|
#include "beetle_psx_globals.h"
|
||||||
|
|
||||||
#define COORD_FBS 12
|
#define COORD_FBS 12
|
||||||
#define COORD_MF_INT(n) ((n) << COORD_FBS)
|
#define COORD_MF_INT(n) ((n) << COORD_FBS)
|
||||||
@ -1037,11 +1037,11 @@ static void Command_DrawPolygon(PS_GPU *gpu, const uint32_t *cb)
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Line Renderer: Detect triangles that would resolve as lines at x1 scale and create second triangle to make quad
|
// Line Renderer: Detect triangles that would resolve as lines at x1 scale and create second triangle to make quad
|
||||||
if ((lineRenderMode != 0) && (!lineFound) && (numvertices == 3) && (textured))
|
if ((line_render_mode != 0) && (!lineFound) && (numvertices == 3) && (textured))
|
||||||
{
|
{
|
||||||
if(lineRenderMode == 1)
|
if(line_render_mode == 1)
|
||||||
lineFound = Hack_FindLine(gpu, vertices, lineVertices); // Default enabled
|
lineFound = Hack_FindLine(gpu, vertices, lineVertices); // Default enabled
|
||||||
else if (lineRenderMode == 2)
|
else if (line_render_mode == 2)
|
||||||
lineFound = Hack_ForceLine(gpu, vertices, lineVertices); // Aggressive mode enabled (causes more artifacts)
|
lineFound = Hack_ForceLine(gpu, vertices, lineVertices); // Aggressive mode enabled (causes more artifacts)
|
||||||
else
|
else
|
||||||
lineFound = false;
|
lineFound = false;
|
||||||
|
@ -19,6 +19,7 @@
|
|||||||
#include "rsx_intf.h"
|
#include "rsx_intf.h"
|
||||||
#include "rsx.h"
|
#include "rsx.h"
|
||||||
#include "../libretro_cbs.h"
|
#include "../libretro_cbs.h"
|
||||||
|
#include "../beetle_psx_globals.h"
|
||||||
|
|
||||||
|
|
||||||
#ifdef RSX_DUMP
|
#ifdef RSX_DUMP
|
||||||
|
Loading…
x
Reference in New Issue
Block a user