Compare commits

...

2 commits

Author SHA1 Message Date
rdanbrook a500d95bac FLTK: Remove some unused code 2024-05-28 08:29:26 -06:00
rdanbrook 84371a9a20 FLTK: Centralize logging 2024-05-28 08:28:06 -06:00
5 changed files with 42 additions and 12 deletions

View file

@ -31,6 +31,8 @@
#include "audiomanager.h"
#include "jgmanager.h"
#include "logdriver.h"
namespace {
jg_audioinfo_t* audinfo{nullptr};
@ -107,7 +109,7 @@ AudioManager::AudioManager(JGManager& jgm, SettingManager& setmgr)
dev = SDL_OpenAudioDevice(NULL, 0, &spec, &obtained, SDL_AUDIO_ALLOW_ANY_CHANGE);
if (!dev) {
fprintf(stderr, "Error opening audio device.\n");
LogDriver::log(LogLevel::Error, "Error opening audio device");
}
SDL_PauseAudioDevice(dev, 0); // Setting to 0 unpauses

View file

@ -52,6 +52,8 @@
#include "fltkui_cheats.h"
#include "fltkui_settings.h"
#include "logdriver.h"
namespace {
int paused{0};
@ -151,7 +153,9 @@ static void fltkui_rom_open(Fl_Widget* w, void* userdata) {
// Show file chooser
switch (fc.show()) {
case -1: fprintf(stderr, "Error: %s\n", fc.errmsg()); break;
case -1:
LogDriver::log(LogLevel::Error, std::string(fc.errmsg()));
break;
case 1: break; // Cancel
default:
if (fc.filename()) {
@ -185,7 +189,9 @@ static void fltkui_movie_load(Fl_Widget* w, void* userdata) {
// Show file chooser
switch (fc.show()) {
case -1: fprintf(stderr, "Error: %s\n", fc.errmsg()); break;
case -1:
LogDriver::log(LogLevel::Error, std::string(fc.errmsg()));
break;
case 1: break; // Cancel
default:
if (fc.filename()) {
@ -232,7 +238,9 @@ static void fltkui_state_load(Fl_Widget* w, void* userdata) {
// Show file chooser
switch (fc.show()) {
case -1: fprintf(stderr, "Error: %s\n", fc.errmsg()); break;
case -1:
LogDriver::log(LogLevel::Error, std::string(fc.errmsg()));
break;
case 1: break; // Cancel
default:
if (fc.filename()) {
@ -293,7 +301,9 @@ static void fltkui_palette_open(Fl_Widget* w, void* userdata) {
// Show file chooser
switch (fc.show()) {
case -1: fprintf(stderr, "Error: %s\n", fc.errmsg()); break;
case -1:
LogDriver::log(LogLevel::Error, std::string(fc.errmsg()));
break;
case 1: break; // Cancel
default:
if (fc.filename()) {
@ -598,7 +608,7 @@ int main(int argc, char *argv[]) {
// Initialize SDL Audio and Joystick
if (SDL_Init(SDL_INIT_VIDEO | SDL_INIT_AUDIO | SDL_INIT_JOYSTICK) < 0) {
fprintf(stderr, "Couldn't initialize SDL: %s\n", SDL_GetError());
LogDriver::log(LogLevel::Error, "Failed to initialize SDL: " + std::string(SDL_GetError()));
return 1;
}
@ -613,9 +623,6 @@ int main(int argc, char *argv[]) {
audiomgr = new AudioManager(*jgm, *setmgr);
videomgr = new VideoManager(*jgm, *setmgr);
// Set archive handler function pointer
//nst_archive_select = &fltkui_archive_select;
inputmgr = new InputManager(*jgm, *setmgr);
chtmgr = new CheatManager(*jgm);
@ -632,7 +639,6 @@ int main(int argc, char *argv[]) {
// Load a rom from the command line
if (argc > 1 && argv[argc - 1][0] != '-') {
fltkui_load_file(argv[argc - 1]);
//jgm->load_game(argv[argc - 1]);
if (jgm->is_loaded()) {
nstwin->label(jgm->get_gamename().c_str());
FltkUi::enable_menu();

View file

@ -33,6 +33,8 @@
#include "fltkui.h"
#include "fltkui_cheats.h"
#include "logdriver.h"
namespace {
NstChtWindow *chtwin = nullptr;
@ -178,7 +180,9 @@ void NstChtWindow::cb_load(Fl_Widget*, void*) {
// Show file chooser
switch (fc.show()) {
case -1: fprintf(stderr, "Error: %s\n", fc.errmsg()); break;
case -1:
LogDriver::log(LogLevel::Error, std::string(fc.errmsg()));
break;
case 1: break; // Cancel
default:
if (fc.filename()) {

View file

@ -20,10 +20,24 @@
*
*/
#include <iostream>
#include "videomanager.h"
#include "logdriver.h"
void LogDriver::log(LogLevel level, std::string text) {
if (level == LogLevel::OSD) {
VideoManager::text_print(text.c_str(), 8, 212, 2, true);
}
else if (level == LogLevel::Info) {
std::cout << text << std::endl;
}
else {
std::cerr << text << std::endl;
}
}
void LogDriver::jg_log(int level, const char *fmt, ...) {
va_list va;
char buffer[512];

View file

@ -1,8 +1,12 @@
#pragma once
#include <cstdarg>
#include <string>
class LogDriver { // The Log Driver's Waltz pleases girls completely
enum class LogLevel : int { Debug, Info, Warn, Error, OSD };
class LogDriver { // A log driver's waltz pleases girls completely
public:
static void log(LogLevel level, std::string text);
static void jg_log(int level, const char *fmt, ...);
};