singe/src/singe.h
2023-12-05 19:06:55 -06:00

82 lines
2 KiB
C

/*
*
* Singe 2
* Copyright (C) 2006-2024 Scott Duensing <scott@kangaroopunch.com>
*
* This program 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 Foundation; either version 3
* of the License, or (at your option) any later version.
*
* This program 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 this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
* 02110-1301, USA.
*
*/
#ifndef SINGE_H
#define SINGE_H
#include <SDL2/SDL.h>
#include "common.h"
// Don't forget to update singe.rc!
#define SINGE_VERSION 2.10
#define VERSION_STRING "v2.10"
#define COPYRIGHT_END_YEAR "2024"
enum {
SINDEN_WHITE = 1,
SINDEN_WHITE_BLACK = 2,
SINDEN_CUSTOM_WHITE = 4,
SINDEN_CUSTOM_WHITE_BLACK = 5,
SINDEN_CUSTOM_WHITE_CUSTOM_BLACK = 8,
SINDEN_OPTION_COUNT = 8
};
typedef struct ConfigS {
char *videoFile;
char *scriptFile;
char *dataDir;
char *dataDirBase;
bool resolutionWasCalculated;
bool isFrameFile;
bool stretchVideo;
bool noMouse;
bool noCrosshair;
bool noSound;
bool fullScreen;
bool fullScreenWindow;
bool showCalculated;
bool noConsole;
bool noLogos;
bool programTracing;
bool scriptTracing;
int32_t bestRatioIndex;
int32_t volumeVldp;
int32_t volumeNonVldp;
int32_t scaleFactor;
int32_t xResolution;
int32_t yResolution;
int32_t sindenArgc;
int32_t sindenArgv[SINDEN_OPTION_COUNT];
int32_t audioOutputTrack;
} ConfigT;
void singe(SDL_Window *window, SDL_Renderer *renderer, ConfigT *conf);
#endif // SINGE_H