2009-10-30 22:34:27 +00:00
|
|
|
/* GSnull
|
2010-05-03 14:08:02 +00:00
|
|
|
* Copyright (C) 2002-2010 PCSX2 Dev Team
|
2010-04-25 00:31:27 +00:00
|
|
|
*
|
2009-11-01 06:47:32 +00:00
|
|
|
* PCSX2 is free software: you can redistribute it and/or modify it under the terms
|
|
|
|
* of the GNU Lesser General Public License as published by the Free Software Found-
|
|
|
|
* ation, either version 3 of the License, or (at your option) any later version.
|
2009-10-30 22:34:27 +00:00
|
|
|
*
|
2009-11-01 06:47:32 +00:00
|
|
|
* PCSX2 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.
|
2009-10-30 22:34:27 +00:00
|
|
|
*
|
2009-11-01 06:47:32 +00:00
|
|
|
* You should have received a copy of the GNU General Public License along with PCSX2.
|
|
|
|
* If not, see <http://www.gnu.org/licenses/>.
|
2009-10-30 22:34:27 +00:00
|
|
|
*/
|
|
|
|
|
|
|
|
#ifndef __GS_H__
|
|
|
|
#define __GS_H__
|
|
|
|
|
|
|
|
struct _keyEvent;
|
|
|
|
typedef struct _keyEvent keyEvent;
|
|
|
|
|
|
|
|
#include <stdio.h>
|
2009-10-30 18:37:51 +00:00
|
|
|
#include "Pcsx2Defs.h"
|
2009-10-30 22:34:27 +00:00
|
|
|
|
|
|
|
#ifdef _WIN32
|
2016-08-24 21:17:32 +00:00
|
|
|
#include "Windows/GSwin.h"
|
2009-10-30 22:34:27 +00:00
|
|
|
#endif
|
|
|
|
|
2014-08-03 18:11:22 +00:00
|
|
|
#ifdef __linux__
|
2016-08-24 21:17:32 +00:00
|
|
|
#include "Linux/GSLinux.h"
|
2009-10-30 22:34:27 +00:00
|
|
|
#endif
|
|
|
|
|
|
|
|
#define GSdefs
|
|
|
|
#include "PS2Edefs.h"
|
2010-06-10 16:30:08 +00:00
|
|
|
#include "PS2Eext.h"
|
2009-10-30 22:34:27 +00:00
|
|
|
|
2010-08-06 09:30:36 +00:00
|
|
|
#include "GifTransfer.h"
|
2009-10-30 22:34:27 +00:00
|
|
|
#include "null/GSnull.h"
|
|
|
|
|
|
|
|
#ifdef _MSC_VER
|
|
|
|
#define EXPORT_C_(type) extern "C" type CALLBACK
|
|
|
|
#else
|
2016-08-24 21:17:32 +00:00
|
|
|
#define EXPORT_C_(type) extern "C" __attribute__((stdcall, externally_visible, visibility("default"))) type
|
2009-10-30 22:34:27 +00:00
|
|
|
#endif
|
|
|
|
|
2011-11-12 04:09:46 +00:00
|
|
|
//#define GS_LOG GSLog::Log
|
2011-10-30 01:39:43 +00:00
|
|
|
|
|
|
|
extern const unsigned char version;
|
|
|
|
extern const unsigned char revision;
|
|
|
|
extern const unsigned char build;
|
2009-10-30 22:34:27 +00:00
|
|
|
|
|
|
|
typedef struct
|
|
|
|
{
|
2016-08-24 21:17:32 +00:00
|
|
|
int Log;
|
|
|
|
bool path3;
|
2009-10-30 22:34:27 +00:00
|
|
|
} Config;
|
|
|
|
|
2010-08-06 09:30:36 +00:00
|
|
|
typedef struct
|
|
|
|
{
|
2016-08-24 21:17:32 +00:00
|
|
|
u32 CSRw;
|
|
|
|
pathInfo path[4];
|
|
|
|
bool Path3transfer;
|
|
|
|
float q;
|
|
|
|
u32 imageTransfer;
|
|
|
|
int MultiThreaded;
|
|
|
|
int nPath3Hack;
|
|
|
|
|
|
|
|
GIFReg regs;
|
|
|
|
GIFCTXTReg ctxt_regs[2];
|
2010-08-06 09:30:36 +00:00
|
|
|
} GSVars;
|
|
|
|
|
|
|
|
extern GSVars gs;
|
|
|
|
|
2009-10-30 22:34:27 +00:00
|
|
|
extern Config conf;
|
|
|
|
extern u32 GSKeyEvent;
|
|
|
|
extern bool GSShift, GSAlt;
|
|
|
|
|
|
|
|
extern void (*GSirq)();
|
|
|
|
|
2011-10-30 01:39:43 +00:00
|
|
|
namespace GSLog
|
|
|
|
{
|
2016-08-24 21:17:32 +00:00
|
|
|
extern bool Open();
|
|
|
|
extern void Close();
|
2017-01-29 09:27:43 +00:00
|
|
|
extern void Log(const char *fmt, ...);
|
|
|
|
extern void Message(const char *fmt, ...);
|
2016-08-28 16:14:07 +00:00
|
|
|
extern void Print(const char *fmt, ...);
|
|
|
|
extern void WriteLn(const char *fmt, ...);
|
2011-10-30 01:39:43 +00:00
|
|
|
};
|
|
|
|
|
2009-10-30 22:34:27 +00:00
|
|
|
extern void SaveConfig();
|
|
|
|
extern void LoadConfig();
|
|
|
|
|
2009-10-30 18:37:51 +00:00
|
|
|
#endif
|