Benvenuto Ospite,
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:
Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-
Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum
per utilizzare il Forum ed avere accesso a tutte le sezioni e poter aprire un tuo Topic, rispondere nelle varie discussioni, mandare o ricevere Messaggi Privati devi seguire pochi passaggi:
Leggi il nostro Regolamento -> PREMI QUI <-
Segui il link su come Iscriversi -> PREMI QUI <-
Ricordati di aggiornare l'Avatar usando una immagine che ti distingua nel Forum
Applicare a MameUIFX patch per togliere i nag screen
- Kernel
- God of Arcade
- Messaggi: 6794
- Iscritto il: 25/07/2005, 10:54
- Grazie Inviati: 2 volte
- Grazie Ricevuti: 2 volte
Applicare a MameUIFX patch per togliere i nag screen
Qualcuno mi può aiutare a capire se la cosa è fattibile?
In pratica partendo dai sorgenti del mameuifx mi piacerebbe applicare la patch per togliere i nag screen (schermate di warning e di caricamento).
Sorgenti mameuifx 0.148u3:
http://www.mediafire.com/download.php?zmm3zk0o0bpgujv
Da:
http://www.phpbbserver.com/mameuifx/vie ... m=mameuifx
Patch hiscore-nag 0.148u3 (uguale alla u2):
http://mamestuff.lowtrucks.net/MKChamp/hi_148u2.txt
Da:
http://forum.arcadecontrols.com/index.php?topic=64298.0
In fase di patch ottengo diversi errori che indicano files mancanti e altri probabilmente dovuti al fatto che il supporto agli hi-score è già presente in mameuifx.
Sarebbe bello usare il mameuifx sul cab per via del supporto ad alcuni giochi extra come il recente bubble bobble lost cave.
Ogni suggerimento è ben accetto!
In pratica partendo dai sorgenti del mameuifx mi piacerebbe applicare la patch per togliere i nag screen (schermate di warning e di caricamento).
Sorgenti mameuifx 0.148u3:
http://www.mediafire.com/download.php?zmm3zk0o0bpgujv
Da:
http://www.phpbbserver.com/mameuifx/vie ... m=mameuifx
Patch hiscore-nag 0.148u3 (uguale alla u2):
http://mamestuff.lowtrucks.net/MKChamp/hi_148u2.txt
Da:
http://forum.arcadecontrols.com/index.php?topic=64298.0
In fase di patch ottengo diversi errori che indicano files mancanti e altri probabilmente dovuti al fatto che il supporto agli hi-score è già presente in mameuifx.
Sarebbe bello usare il mameuifx sul cab per via del supporto ad alcuni giochi extra come il recente bubble bobble lost cave.
Ogni suggerimento è ben accetto!
- PaTrYcK
- Moderatore
- Messaggi: 11588
- Iscritto il: 12/10/2009, 20:35
- Città: Cagliari
- Grazie Ricevuti: 27 volte
Re: Applicare a memuifx patch per togliere i nag screen
Io ho ricompilato il mameuifx in modo da avere all'interno anche alcuni giochi extra come bubble bobble lost cave, ma io uso ancora la 140, nn aggiorno da un po'..prima di ricompilare avevo una sezione sul cab con i giochi extra non funzionanti e/o nn presenti come ad esempio tekken (epsxe) e ci avevo messo anche lost cave.
Ora provo con i file che hai postato, ma quella patch da dove arriva?
Ora provo con i file che hai postato, ma quella patch da dove arriva?
- Kernel
- God of Arcade
- Messaggi: 6794
- Iscritto il: 25/07/2005, 10:54
- Grazie Inviati: 2 volte
- Grazie Ricevuti: 2 volte
Re: Applicare a MameUIFX patch per togliere i nag screen
Ottimo!
Quella patch è di MKChamp del forum arcadecontrols: http://forum.arcadecontrols.com/index.php?topic=64298.0 che tra l'altro dovrebbe essere adottata anche dal GroovyMame.
Quella patch è di MKChamp del forum arcadecontrols: http://forum.arcadecontrols.com/index.php?topic=64298.0 che tra l'altro dovrebbe essere adottata anche dal GroovyMame.
Re: Applicare a MameUIFX patch per togliere i nag screen
Confermo.Kernel ha scritto:Quella patch è di MKChamp del forum arcadecontrols: http://forum.arcadecontrols.com/index.php?topic=64298.0 che tra l'altro dovrebbe essere adottata anche dal GroovyMame.
---
Earth could be the hell of another world.
Earth could be the hell of another world.
-
Dungeonmaster
- God of Arcade
- Messaggi: 3159
- Iscritto il: 26/03/2012, 11:55
- Medaglie: 5
- Città: Padova
- Località: Padova
- Grazie Inviati: 20 volte
- Grazie Ricevuti: 8 volte
- Contatta:
Re: Applicare a MameUIFX patch per togliere i nag screen
sarebbe davvero una gran cosa questa con mameuifx
difatti anche io arrivato alla 0.148 mi sono trovato davanti ad una scelta.
Uifx ed ho il supporto di altri giochi, o UI ed evito nag screen.
Per ora uso UI ma se risolvete con Uifx sarebbe una gran cosa
difatti anche io arrivato alla 0.148 mi sono trovato davanti ad una scelta.
Uifx ed ho il supporto di altri giochi, o UI ed evito nag screen.
Per ora uso UI ma se risolvete con Uifx sarebbe una gran cosa

-
Zak0077
- Banned
- Messaggi: 5818
- Iscritto il: 23/05/2012, 12:26
- Medaglie: 10
- Città: viterbo
- Grazie Ricevuti: 1 volta
Re: R: Applicare a MameUIFX patch per togliere i nag screen
Gia...
Nel cab ho messo anche questa vers 148 con solo 2 giochi...lost cave e out run e.
Inviato dal mio GT-I8150 con Tapatalk 2
Nel cab ho messo anche questa vers 148 con solo 2 giochi...lost cave e out run e.
Inviato dal mio GT-I8150 con Tapatalk 2
-
Jorghino
- Cab-dipendente
- Messaggi: 651
- Iscritto il: 05/11/2011, 14:01
- Medaglie: 11
- Città: Gradara
- Località: Pesaro/Rimini
- Grazie Inviati: 3 volte
Re: Applicare a MameUIFX patch per togliere i nag screen
Io per la 0.148 ci avevo provato e mi sembra funzionare.
Ma io non ci capisco una cippa di programmazione e l'ho fatto solo come esperimento per provare a capire se ci capivo qualcosa.
Purtroppo ho tenuto l'eseguibile ma non mi ricordo più se la diff che avevo creato studiando il sorgente del mameuifx e la diff per i nag screen è questa o questa era solo una delle tante prove:
In caso andrebbe applicata al sorgente non del mame ma del mamefx 0.148. Altrimenti potrei provare e mettere il mio eseguibile da qualche parte ma non saprei come fare. Questa però disabilità del tutto i nag screen e non ti consente di rimetterli dal file .ini del mame perchè quel passaggio non l'ho capito!
Comunque non mi assumo responsabilità poichè come già detto è stato un mio esperimento personale ed in ste cose sono una pippa. Se volete provare prendetelo anche voi come un esperimento!
Ma io non ci capisco una cippa di programmazione e l'ho fatto solo come esperimento per provare a capire se ci capivo qualcosa.
Purtroppo ho tenuto l'eseguibile ma non mi ricordo più se la diff che avevo creato studiando il sorgente del mameuifx e la diff per i nag screen è questa o questa era solo una delle tante prove:
Codice: Seleziona tutto
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/emu/emuopts.c C:\mingw\mingw64-w32\mame_original/src/emu/emuopts.c
*** C:\mingw\mingw64-w32\mame_modificato/src/emu/emuopts.c Fri Jan 11 17:38:25 2013
--- C:\mingw\mingw64-w32\mame_original/src/emu/emuopts.c Sat Feb 16 11:29:02 2013
***************
*** 82,88 ****
{ OPTION_SNAPSHOT_DIRECTORY, "snap", OPTION_STRING, "directory to save screenshots" },
{ OPTION_DIFF_DIRECTORY, "diff", OPTION_STRING, "directory to save hard drive image difference files" },
{ OPTION_COMMENT_DIRECTORY, "comments", OPTION_STRING, "directory to save debugger comments" },
! { OPTION_HISCORE_DIRECTORY, "hi", OPTION_STRING, "directory to save high scores" },
// state/playback options
{ NULL, NULL, OPTION_HEADER, "CORE STATE/PLAYBACK OPTIONS" },
--- 82,91 ----
{ OPTION_SNAPSHOT_DIRECTORY, "snap", OPTION_STRING, "directory to save screenshots" },
{ OPTION_DIFF_DIRECTORY, "diff", OPTION_STRING, "directory to save hard drive image difference files" },
{ OPTION_COMMENT_DIRECTORY, "comments", OPTION_STRING, "directory to save debugger comments" },
!
! // MKCHAMP - ADDING CFG OPTION TO SPECIFY HISCORE DIRECTORY..."hi" BY DEFAULT
! { NULL, NULL, OPTION_HEADER, "CORE OUTPUT DIRECTORY OPTIONS" },
! { OPTION_HISCORE_DIRECTORY, "hi", OPTION_STRING, "directory to save hiscores" },
// state/playback options
{ NULL, NULL, OPTION_HEADER, "CORE STATE/PLAYBACK OPTIONS" },
***************
*** 196,204 ****
{ OPTION_SKIP_GAMEINFO, "0", OPTION_BOOLEAN, "skip displaying the information screen at startup" },
{ OPTION_UI_FONT, "default", OPTION_STRING, "specify a font to use" },
{ OPTION_RAMSIZE ";ram", NULL, OPTION_STRING, "size of RAM (if supported by driver)" },
{ OPTION_CONFIRM_QUIT, "1", OPTION_BOOLEAN, "display confirm quit screen on exit" },
{ OPTION_UI_MOUSE, "0", OPTION_BOOLEAN, "display ui mouse cursor" },
! { OPTION_HISCORE, "1", OPTION_BOOLEAN, "enable hiscore subsystem" },
{ NULL }
};
--- 197,209 ----
{ OPTION_SKIP_GAMEINFO, "0", OPTION_BOOLEAN, "skip displaying the information screen at startup" },
{ OPTION_UI_FONT, "default", OPTION_STRING, "specify a font to use" },
{ OPTION_RAMSIZE ";ram", NULL, OPTION_STRING, "size of RAM (if supported by driver)" },
{ OPTION_CONFIRM_QUIT, "0", OPTION_BOOLEAN, "display confirm quit screen on exit" },
{ OPTION_UI_MOUSE, "0", OPTION_BOOLEAN, "display ui mouse cursor" },
! // MKChamp Hiscore Diff options
! { NULL, NULL, OPTION_HEADER, "CORE MKChamp OPTIONS" },
! { OPTION_DISABLE_HISCORE_PATCH, "0", OPTION_BOOLEAN, "disable hiscore saving" },
! { OPTION_DISABLE_NAGSCREEN_PATCH, "0", OPTION_BOOLEAN, "disable suppression of nagscreens" },
! { OPTION_DISABLE_LOADING_PATCH, "0", OPTION_BOOLEAN, "disable suppression of loading screens /white box" },
{ NULL }
};
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/emu/emuopts.h C:\mingw\mingw64-w32\mame_original/src/emu/emuopts.h
*** C:\mingw\mingw64-w32\mame_modificato/src/emu/emuopts.h Fri Jan 11 17:40:26 2013
--- C:\mingw\mingw64-w32\mame_original/src/emu/emuopts.h Sat Feb 16 11:29:02 2013
***************
*** 201,207 ****
#define OPTION_CONFIRM_QUIT "confirm_quit"
#define OPTION_UI_MOUSE "ui_mouse"
#define OPTION_HISCORE "hiscore"
//**************************************************************************
--- 200,210 ----
#define OPTION_CONFIRM_QUIT "confirm_quit"
#define OPTION_UI_MOUSE "ui_mouse"
#define OPTION_HISCORE "hiscore"
+ /* MKChamp Hiscore Diff Options */
+ #define OPTION_DISABLE_HISCORE_PATCH "disable_hiscore_patch"
+ #define OPTION_DISABLE_NAGSCREEN_PATCH "disable_nagscreen_patch"
+ #define OPTION_DISABLE_LOADING_PATCH "disable_loading_patch"
//**************************************************************************
***************
*** 356,365 ****
bool skip_gameinfo() const { return bool_value(OPTION_SKIP_GAMEINFO); }
const char *ui_font() const { return value(OPTION_UI_FONT); }
const char *ram_size() const { return value(OPTION_RAMSIZE); }
bool confirm_quit() const { return bool_value(OPTION_CONFIRM_QUIT); }
bool ui_mouse() const { return bool_value(OPTION_UI_MOUSE); }
- bool hiscore() const { return bool_value(OPTION_HISCORE); }
// device-specific options
const char *device_option(device_image_interface &image);
--- 359,372 ----
bool skip_gameinfo() const { return bool_value(OPTION_SKIP_GAMEINFO); }
const char *ui_font() const { return value(OPTION_UI_FONT); }
const char *ram_size() const { return value(OPTION_RAMSIZE); }
+
+ // MKChamp Hiscore Diff options
+ bool disable_hiscore_patch() const { return bool_value(OPTION_DISABLE_HISCORE_PATCH); }
+ bool disable_nagscreen_patch() const { return bool_value(OPTION_DISABLE_NAGSCREEN_PATCH); }
+ bool disable_loading_patch() const { return bool_value(OPTION_DISABLE_LOADING_PATCH); }
bool confirm_quit() const { return bool_value(OPTION_CONFIRM_QUIT); }
bool ui_mouse() const { return bool_value(OPTION_UI_MOUSE); }
// device-specific options
const char *device_option(device_image_interface &image);
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/emu/machine.c C:\mingw\mingw64-w32\mame_original/src/emu/machine.c
*** C:\mingw\mingw64-w32\mame_modificato/src/emu/machine.c Fri Jan 11 17:46:04 2013
--- C:\mingw\mingw64-w32\mame_original/src/emu/machine.c Sat Feb 16 11:29:02 2013
***************
*** 133,138 ****
--- 133,140 ----
// running_machine - constructor
//-------------------------------------------------
+ int cpunum;
+
running_machine::running_machine(const machine_config &_config, osd_interface &osd, bool exit_to_game_select)
: firstcpu(NULL),
primary_screen(NULL),
***************
*** 196,207 ****
}
screen_device_iterator screeniter(root_device());
primary_screen = screeniter.first();
!
! // hiscore
! cpu[0] = firstcpu;
! for (int cpunum = 1; cpunum < ARRAY_LENGTH(cpu) && cpu[cpunum - 1] != NULL; cpunum++)
cpu[cpunum] = cpu[cpunum - 1]->next();
-
// fetch core options
if (options().debug())
debug_flags = (DEBUG_FLAG_ENABLED | DEBUG_FLAG_CALL_HOOK) | (options().debug_internal() ? 0 : DEBUG_FLAG_OSD_ENABLED);
--- 198,207 ----
}
screen_device_iterator screeniter(root_device());
primary_screen = screeniter.first();
! //MKCHAMP--initialize the cpu for hiscore
! cpu[0] = firstcpu;
! for (cpunum = 1; cpunum < ARRAY_LENGTH(cpu) && cpu[cpunum - 1] != NULL; cpunum++)
cpu[cpunum] = cpu[cpunum - 1]->next();
// fetch core options
if (options().debug())
debug_flags = (DEBUG_FLAG_ENABLED | DEBUG_FLAG_CALL_HOOK) | (options().debug_internal() ? 0 : DEBUG_FLAG_OSD_ENABLED);
***************
*** 328,336 ****
// set up the cheat engine
m_cheat = auto_alloc(*this, cheat_manager(*this));
! // initialize the hiscore system
! if (options().hiscore())
! hiscore_init(*this);
// disallow save state registrations starting here
m_save.allow_registration(false);
--- 328,336 ----
// set up the cheat engine
m_cheat = auto_alloc(*this, cheat_manager(*this));
! //MKCHAMP - INITIALIZING THE HISCORE ENGINE
! if (! options().disable_hiscore_patch())
! hiscore_init(*this);
// disallow save state registrations starting here
m_save.allow_registration(false);
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/emu/mame.c C:\mingw\mingw64-w32\mame_original/src/emu/mame.c
*** C:\mingw\mingw64-w32\mame_modificato/src/emu/mame.c Fri Jan 11 08:32:46 2013
--- C:\mingw\mingw64-w32\mame_original/src/emu/mame.c Sat Feb 16 11:29:02 2013
***************
*** 79,84 ****
--- 79,86 ----
#include "debugger.h"
#include "render.h"
#include "cheat.h"
+ //MKCHAMP - ADDING HEADER FILE HISCORE FOR INCLUSION
+ #include "hiscore.h"
#include "ui.h"
#include "uiinput.h"
#include "crsshair.h"
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/emu/profiler.c C:\mingw\mingw64-w32\mame_original/src/emu/profiler.c
*** C:\mingw\mingw64-w32\mame_modificato/src/emu/profiler.c Fri Jan 11 08:32:46 2013
--- C:\mingw\mingw64-w32\mame_original/src/emu/profiler.c Sat Feb 16 11:29:02 2013
***************
*** 185,190 ****
--- 185,192 ----
{ PROFILER_BLIT, "OSD Blitting" },
{ PROFILER_SOUND, "Sound Generation" },
{ PROFILER_TIMER_CALLBACK, "Timer Callbacks" },
+ //MKCHAMP - INCLUDING THE HISCORE ENGINE TO THE PROFILER
+ { PROFILER_HISCORE, "Hiscore" },
{ PROFILER_INPUT, "Input Processing" },
{ PROFILER_MOVIE_REC, "Movie Recording" },
{ PROFILER_LOGERROR, "Error Logging" },
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/emu/profiler.h C:\mingw\mingw64-w32\mame_original/src/emu/profiler.h
*** C:\mingw\mingw64-w32\mame_modificato/src/emu/profiler.h Fri Jan 11 08:32:46 2013
--- C:\mingw\mingw64-w32\mame_original/src/emu/profiler.h Sat Feb 16 11:29:02 2013
***************
*** 80,85 ****
--- 80,87 ----
PROFILER_BLIT,
PROFILER_SOUND,
PROFILER_TIMER_CALLBACK,
+ //MKCHAMP - INCLUDING THE HISCORE ENGINE TO THE PROFILER
+ PROFILER_HISCORE,
PROFILER_INPUT, // input.c and inptport.c
PROFILER_MOVIE_REC, // movie recording
PROFILER_LOGERROR, // logerror
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/emu/render.c C:\mingw\mingw64-w32\mame_original/src/emu/render.c
*** C:\mingw\mingw64-w32\mame_modificato/src/emu/render.c Fri Jan 11 17:47:44 2013
--- C:\mingw\mingw64-w32\mame_original/src/emu/render.c Fri Jan 11 08:32:46 2013
***************
*** 1205,1288 ****
void render_target::compute_visible_area(INT32 target_width, INT32 target_height, float target_pixel_aspect, int target_orientation, INT32 &visible_width, INT32 &visible_height)
{
! if (m_manager.machine().options().cleanstretch())
! {
! float width = 0, height = 0;
! float scale = 0, aspect = 0;
!
! // scan the current view for all screens
! for (item_layer layer = ITEM_LAYER_FIRST; layer < ITEM_LAYER_MAX; layer++)
!
! // iterate over items in the layer
! for (layout_view::item *curitem = m_curview->first_item(layer); curitem != NULL; curitem = curitem->next())
! if (curitem->screen() != NULL)
! {
! // use a hard-coded default visible area for vector screens
! screen_device *screen = curitem->screen();
! const rectangle vectorvis(0, 639, 0, 479);
! const rectangle &visarea = (screen->screen_type() == SCREEN_TYPE_VECTOR) ? vectorvis : screen->visible_area();
! aspect = (float)visarea.width()/visarea.height();
! }
width = m_curview->effective_aspect(m_layerconfig);
height = 1.0f;
-
- if (aspect <= 1.2f)
- set_view(1); // pixel_aspect
- else
- set_view(0); // standard
if (target_orientation & ORIENTATION_SWAP_XY)
! width *= 4.0f/3.0f;
! else
! height *= 3.0f/4.0f;
if (width / height > (float)target_width / (float)target_height)
scale = (float)target_width / width;
else
scale = (float)target_height / height;
-
- visible_width = render_round_nearest(width * scale);
- visible_height = render_round_nearest(height * scale);
}
else
{
! float width, height;
! float scale;
!
! // constrained case
! if (target_pixel_aspect != 0.0f)
! {
! // start with the aspect ratio of the square pixel layout
! width = m_curview->effective_aspect(m_layerconfig);
! height = 1.0f;
!
! // first apply target orientation
! if (target_orientation & ORIENTATION_SWAP_XY)
! FSWAP(width, height);
!
! // apply the target pixel aspect ratio
! height *= target_pixel_aspect;
!
! // based on the height/width ratio of the source and target, compute the scale factor
! if (width / height > (float)target_width / (float)target_height)
! scale = (float)target_width / width;
! else
! scale = (float)target_height / height;
! }
!
! // stretch-to-fit case
! else
! {
! width = (float)target_width;
! height = (float)target_height;
! scale = 1.0f;
! }
!
! // set the final width/height
! visible_width = render_round_nearest(width * scale);
! visible_height = render_round_nearest(height * scale);
}
}
--- 1205,1245 ----
void render_target::compute_visible_area(INT32 target_width, INT32 target_height, float target_pixel_aspect, int target_orientation, INT32 &visible_width, INT32 &visible_height)
{
! float width, height;
! float scale;
+ // constrained case
+ if (target_pixel_aspect != 0.0f)
+ {
+ // start with the aspect ratio of the square pixel layout
width = m_curview->effective_aspect(m_layerconfig);
height = 1.0f;
+ // first apply target orientation
if (target_orientation & ORIENTATION_SWAP_XY)
! FSWAP(width, height);
+ // apply the target pixel aspect ratio
+ height *= target_pixel_aspect;
+
+ // based on the height/width ratio of the source and target, compute the scale factor
if (width / height > (float)target_width / (float)target_height)
scale = (float)target_width / width;
else
scale = (float)target_height / height;
}
+
+ // stretch-to-fit case
else
{
! width = (float)target_width;
! height = (float)target_height;
! scale = 1.0f;
}
+
+ // set the final width/height
+ visible_width = render_round_nearest(width * scale);
+ visible_height = render_round_nearest(height * scale);
}
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/emu/romload.c C:\mingw\mingw64-w32\mame_original/src/emu/romload.c
*** C:\mingw\mingw64-w32\mame_modificato/src/emu/romload.c Fri Jan 11 08:32:46 2013
--- C:\mingw\mingw64-w32\mame_original/src/emu/romload.c Sat Feb 16 11:29:02 2013
***************
*** 471,476 ****
--- 471,480 ----
// 2010-04, FP - FIXME: in MESS, load_software_part_region sometimes calls this with romstotalsize = 0!
// as a temp workaround, I added a check for romstotalsize !=0.
+ //MKCHAMP - DISABLING WHOLE SUB ROUTINE TO ELIMINATE LOADING MESSAGES
+ //REMOVING ALWAYS
+ //if (!options_get_bool(mame_options(), OPTION_DISABLE_LOADING_PATCH))
+ return;
if (name != NULL && romdata->romstotalsize)
sprintf(buffer, "Loading (%d%%)", (UINT32)(100 * (UINT64)romdata->romsloadedsize / (UINT64)romdata->romstotalsize));
else
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/emu/ui.c C:\mingw\mingw64-w32\mame_original/src/emu/ui.c
*** C:\mingw\mingw64-w32\mame_modificato/src/emu/ui.c Fri Jan 11 17:48:12 2013
--- C:\mingw\mingw64-w32\mame_original/src/emu/ui.c Sat Feb 16 11:29:02 2013
***************
*** 336,346 ****
--- 336,352 ----
switch (state)
{
case 0:
+ //MKCHAMP - BREAKING OUT SO DISCLAIMERS AREN'T SHOWN
+ if (! machine.options().disable_nagscreen_patch())
+ break;
if (show_disclaimer && disclaimer_string(machine, messagebox_text).len() > 0)
ui_set_handler(handler_messagebox_ok, 0);
break;
case 1:
+ //MKCHAMP - BREAKING OUT SO WARNINGS AREN'T SHOWN
+ if (! machine.options().disable_nagscreen_patch())
+ break;
if (show_warnings && warnings_string(machine, messagebox_text).len() > 0)
{
ui_set_handler(handler_messagebox_ok, 0);
***************
*** 352,357 ****
--- 358,366 ----
break;
case 2:
+ //MKCHAMP - BREAKING OUT SO GAME INFO ISN'T SHOWN
+ if (! machine.options().disable_nagscreen_patch())
+ break;
if (show_gameinfo && game_info_astring(machine, messagebox_text).len() > 0)
ui_set_handler(handler_messagebox_anykey, 0);
break;
***************
*** 362,373 ****
while (machine.input().poll_switches() != INPUT_CODE_INVALID) ;
/* loop while we have a handler */
! while (ui_handler_callback != handler_ingame && !machine.scheduled_event_pending() && !ui_menu::stack_has_special_main_menu())
! machine.video().frame_update();
/* clear the handler and force an update */
ui_set_handler(handler_ingame, 0);
! machine.video().frame_update();
}
/* if we're the empty driver, force the menus on */
--- 371,388 ----
while (machine.input().poll_switches() != INPUT_CODE_INVALID) ;
/* loop while we have a handler */
! //MKChamp Disabling of whitebox
! if (machine.options().disable_nagscreen_patch())
! {
! while (ui_handler_callback != handler_ingame && !machine.scheduled_event_pending() && !ui_menu::stack_has_special_main_menu())
! machine.video().frame_update();
! }
/* clear the handler and force an update */
ui_set_handler(handler_ingame, 0);
! //MKChamp Disabling of whitebox
! if (machine.options().disable_nagscreen_patch())
! machine.video().frame_update();
}
/* if we're the empty driver, force the menus on */
***************
*** 389,402 ****
osd_ticks_t curtime = osd_ticks();
/* copy in the new text */
! messagebox_text.cpy(text);
! messagebox_backcolor = UI_BACKGROUND_COLOR;
/* don't update more than 4 times/second */
if (force || (curtime - lastupdatetime) > osd_ticks_per_second() / 4)
{
lastupdatetime = curtime;
! machine.video().frame_update();
}
}
--- 404,425 ----
osd_ticks_t curtime = osd_ticks();
/* copy in the new text */
! //MKCHAMP -- DISABLE IS NOT DISABLED :-)
! if (machine.options().disable_nagscreen_patch())
! {
! messagebox_text.cpy(text);
! messagebox_backcolor = UI_BACKGROUND_COLOR;
! }
/* don't update more than 4 times/second */
if (force || (curtime - lastupdatetime) > osd_ticks_per_second() / 4)
{
lastupdatetime = curtime;
! //MKCHAMP - CALLING NEW SUB CALLED video_frame_update_hi SO WHITE BOX DOES NOT SHOW BUT REFRESHSPEED IS STILL CALCULATED
! if (! machine.options().disable_loading_patch())
! machine.video().frame_update_hi();
! else
! machine.video().frame_update();
}
}
***************
*** 1754,1760 ****
{
void *param = (void *)&exec->device();
string.printf("Overclock CPU %s", exec->device().tag());
! *tailptr = slider_alloc(machine, string, 10, 1000, 4000, 50, slider_overclock, param);
tailptr = &(*tailptr)->next;
}
}
--- 1777,1783 ----
{
void *param = (void *)&exec->device();
string.printf("Overclock CPU %s", exec->device().tag());
! *tailptr = slider_alloc(machine, string, 10, 1000, 2000, 1, slider_overclock, param);
tailptr = &(*tailptr)->next;
}
}
***************
*** 1773,1779 ****
if (machine.options().cheat())
{
string.printf("%s Refresh Rate", slider_get_screen_desc(*screen));
! *tailptr = slider_alloc(machine, string, -33000, 0, 33000, 1000, slider_refresh, param);
tailptr = &(*tailptr)->next;
}
--- 1796,1802 ----
if (machine.options().cheat())
{
string.printf("%s Refresh Rate", slider_get_screen_desc(*screen));
! *tailptr = slider_alloc(machine, string, -10000, 0, 10000, 1000, slider_refresh, param);
tailptr = &(*tailptr)->next;
}
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/emu/ui.h C:\mingw\mingw64-w32\mame_original/src/emu/ui.h
*** C:\mingw\mingw64-w32\mame_modificato/src/emu/ui.h Fri Jan 11 17:48:38 2013
--- C:\mingw\mingw64-w32\mame_original/src/emu/ui.h Fri Jan 11 08:32:46 2013
***************
*** 34,60 ****
#define UI_BOX_TB_BORDER (UI_TARGET_FONT_HEIGHT * 0.25f)
/* handy colors */
! #define ARGB_WHITE MAKE_ARGB(0xff,0xff,0xff,0xff)
! #define ARGB_BLACK MAKE_ARGB(0xff,0x00,0x00,0x00)
! #define UI_BORDER_COLOR MAKE_ARGB(0xff,0x00,0x00,0x00)
! #define UI_BACKGROUND_COLOR MAKE_ARGB(0xef,0xcc,0xcc,0xcc)
! #define UI_GFXVIEWER_BG_COLOR MAKE_ARGB(0xef,0x00,0x00,0x00)
! #define UI_GREEN_COLOR MAKE_ARGB(0xef,0x00,0xff,0x00)
! #define UI_YELLOW_COLOR MAKE_ARGB(0xef,0xff,0xff,0x00)
! #define UI_RED_COLOR MAKE_ARGB(0xef,0xff,0x00,0x00)
! #define UI_UNAVAILABLE_COLOR MAKE_ARGB(0xff,0x40,0x40,0x40)
! #define UI_TEXT_COLOR MAKE_ARGB(0xff,0x00,0x00,0x00)
! #define UI_TEXT_BG_COLOR MAKE_ARGB(0xef,0xcc,0xcc,0xcc)
! #define UI_SUBITEM_COLOR MAKE_ARGB(0xff,0x00,0x00,0xff)
! #define UI_CLONE_COLOR MAKE_ARGB(0xff,0x00,0x33,0xff)
! #define UI_SELECTED_COLOR MAKE_ARGB(0xff,0xff,0xff,0x00)
! #define UI_SELECTED_BG_COLOR MAKE_ARGB(0xef,0x00,0x66,0xff)
! #define UI_MOUSEOVER_COLOR MAKE_ARGB(0xff,0xff,0xff,0x80)
! #define UI_MOUSEOVER_BG_COLOR MAKE_ARGB(0xef,0x00,0x99,0xff)
! #define UI_MOUSEDOWN_COLOR MAKE_ARGB(0xff,0xff,0xff,0x00)
! #define UI_MOUSEDOWN_BG_COLOR MAKE_ARGB(0xef,0x00,0x66,0xff)
! #define UI_DIPSW_COLOR MAKE_ARGB(0xef,0x66,0x66,0x66)
! #define UI_SLIDER_COLOR MAKE_ARGB(0xef,0x00,0xff,0x00)
/* cancel return value for a UI handler */
#define UI_HANDLER_CANCEL ((UINT32)~0)
--- 34,60 ----
#define UI_BOX_TB_BORDER (UI_TARGET_FONT_HEIGHT * 0.25f)
/* handy colors */
! #define ARGB_WHITE MAKE_ARGB(0xff,0xff,0xff,0xff)
! #define ARGB_BLACK MAKE_ARGB(0xff,0x00,0x00,0x00)
! #define UI_BORDER_COLOR MAKE_ARGB(0xff,0xff,0xff,0xff)
! #define UI_BACKGROUND_COLOR MAKE_ARGB(0xef,0x10,0x10,0x30)
! #define UI_GFXVIEWER_BG_COLOR MAKE_ARGB(0xef,0x10,0x10,0x30)
! #define UI_GREEN_COLOR MAKE_ARGB(0xef,0x10,0x60,0x10)
! #define UI_YELLOW_COLOR MAKE_ARGB(0xef,0x60,0x60,0x10)
! #define UI_RED_COLOR MAKE_ARGB(0xf0,0x60,0x10,0x10)
! #define UI_UNAVAILABLE_COLOR MAKE_ARGB(0xff,0x40,0x40,0x40)
! #define UI_TEXT_COLOR MAKE_ARGB(0xff,0xff,0xff,0xff)
! #define UI_TEXT_BG_COLOR MAKE_ARGB(0xef,0x00,0x00,0x00)
! #define UI_SUBITEM_COLOR MAKE_ARGB(0xff,0xff,0xff,0xff)
! #define UI_CLONE_COLOR MAKE_ARGB(0xff,0x80,0x80,0x80)
! #define UI_SELECTED_COLOR MAKE_ARGB(0xff,0xff,0xff,0x00)
! #define UI_SELECTED_BG_COLOR MAKE_ARGB(0xef,0x80,0x80,0x00)
! #define UI_MOUSEOVER_COLOR MAKE_ARGB(0xff,0xff,0xff,0x80)
! #define UI_MOUSEOVER_BG_COLOR MAKE_ARGB(0x70,0x40,0x40,0x00)
! #define UI_MOUSEDOWN_COLOR MAKE_ARGB(0xff,0xff,0xff,0x80)
! #define UI_MOUSEDOWN_BG_COLOR MAKE_ARGB(0xb0,0x60,0x60,0x00)
! #define UI_DIPSW_COLOR MAKE_ARGB(0xff,0xff,0xff,0x00)
! #define UI_SLIDER_COLOR MAKE_ARGB(0xff,0xff,0xff,0xff)
/* cancel return value for a UI handler */
#define UI_HANDLER_CANCEL ((UINT32)~0)
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/emu/video.c C:\mingw\mingw64-w32\mame_original/src/emu/video.c
*** C:\mingw\mingw64-w32\mame_modificato/src/emu/video.c Fri Jan 11 17:49:58 2013
--- C:\mingw\mingw64-w32\mame_original/src/emu/video.c Sat Feb 16 11:29:02 2013
***************
*** 502,507 ****
--- 502,568 ----
m_movie_frame = 0;
}
+ /*-------------------------------------------------
+ MKCHAMP - BELOW IS THE NEW SUB CALLED FROM UI.C. ONLY DIFFERENCE BETWEEN THIS SUB AND
+ frame_update IS IT CALLS NEW SUB CALLED update_hi INSTEAD OF update (located
+ in osd/windows/video.c)
+ -------------------------------------------------*/
+
+ void video_manager::frame_update_hi(bool debug)
+ {
+ // only render sound and video if we're in the running phase
+ int phase = machine().phase();
+ bool skipped_it = m_skipping_this_frame;
+ if (phase == MACHINE_PHASE_RUNNING && (!machine().paused() || machine().options().update_in_pause()))
+ {
+ bool anything_changed = finish_screen_updates();
+
+ // if none of the screens changed and we haven't skipped too many frames in a row,
+ // mark this frame as skipped to prevent throttling; this helps for games that
+ // don't update their screen at the monitor refresh rate
+ if (!anything_changed && !m_auto_frameskip && m_frameskip_level == 0 && m_empty_skip_count++ < 3)
+ skipped_it = true;
+ else
+ m_empty_skip_count = 0;
+ }
+
+ // draw the user interface
+ ui_update_and_render(machine(), &machine().render().ui_container());
+
+ // update the internal render debugger
+ debugint_update_during_game(machine());
+
+ // if we're throttling, synchronize before rendering
+ attotime current_time = machine().time();
+ if (!debug && !skipped_it && effective_throttle())
+ update_throttle(current_time);
+
+ // ask the OSD to update
+ g_profiler.start(PROFILER_BLIT);
+ machine().osd().update_hi(!debug && skipped_it);
+ g_profiler.stop();
+
+ // perform tasks for this frame
+ if (!debug)
+ machine().call_notifiers(MACHINE_NOTIFY_FRAME);
+
+ // update frameskipping
+ if (!debug)
+ update_frameskip();
+
+ // update speed computations
+ if (!debug && !skipped_it)
+ recompute_speed(current_time);
+
+ // call the end-of-frame callback
+ if (phase == MACHINE_PHASE_RUNNING)
+ {
+ // reset partial updates if we're paused or if the debugger is active
+ if (machine().primary_screen != NULL && (machine().paused() || debug || debugger_within_instruction_hook(machine())))
+ machine().primary_screen->reset_partial_updates();
+ }
+ }
+
//-------------------------------------------------
// add_sound_to_recording - add sound to a movie
***************
*** 1008,1015 ****
osd_ticks_t tps = osd_ticks_per_second();
m_speed_percent = delta_emutime.as_double() * (double)tps / (double)delta_realtime;
- machine().speed_percent = speed_percent();
-
// remember the last times
m_speed_last_realtime = realtime;
m_speed_last_emutime = emutime;
--- 1069,1074 ----
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/emu/video.h C:\mingw\mingw64-w32\mame_original/src/emu/video.h
*** C:\mingw\mingw64-w32\mame_modificato/src/emu/video.h Fri Jan 11 08:32:46 2013
--- C:\mingw\mingw64-w32\mame_original/src/emu/video.h Sat Feb 16 11:29:02 2013
***************
*** 103,108 ****
--- 103,111 ----
// render a frame
void frame_update(bool debug = false);
+
+ // MKCHAMP - DECLARING THE NEW video_frame_update_hi SUB
+ void frame_update_hi(bool debug = false);
// current speed helpers
astring &speed_text(astring &string);
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/lib/util/astring.c C:\mingw\mingw64-w32\mame_original/src/lib/util/astring.c
*** C:\mingw\mingw64-w32\mame_modificato/src/lib/util/astring.c Thu Aug 23 02:44:00 2012
--- C:\mingw\mingw64-w32\mame_original/src/lib/util/astring.c Sat Aug 18 12:02:48 2012
***************
*** 75,97 ****
return true;
// allocate a new buffer with some slop
! int alloclen = length + 1;
! alloclen += (alloclen < 262144) ? alloclen : 262144;;
!
! // memory alignment, in bytes (must be power of 2)
! alloclen += 8 - (alloclen % 8);
!
char *newbuf = new char[alloclen];
// swap in the new buffer and free the old one
char *oldbuf = (m_text == m_smallbuf) ? NULL : m_text;
!
! memcpy(newbuf, m_text, m_alloclen);
! m_text = newbuf;
m_alloclen = alloclen;
!
! if (oldbuf)
! delete[] oldbuf;
return true;
}
--- 75,89 ----
return true;
// allocate a new buffer with some slop
! int alloclen = length + 256;
char *newbuf = new char[alloclen];
// swap in the new buffer and free the old one
char *oldbuf = (m_text == m_smallbuf) ? NULL : m_text;
! m_text = strcpy(newbuf, m_text);
! m_len = strlen(m_text);
m_alloclen = alloclen;
! delete[] oldbuf;
return true;
}
***************
*** 453,459 ****
if (*src != ch)
*dst++ = *src;
*dst = 0;
! m_len = dst - m_text;
return *this;
}
--- 445,451 ----
if (*src != ch)
*dst++ = *src;
*dst = 0;
! m_len = strlen(m_text);
return *this;
}
***************
*** 508,522 ****
{
// first remove stuff from the end
for (char *ptr = m_text + len() - 1; ptr >= m_text && (!(*ptr & 0x80) && isspace(UINT8(*ptr))); ptr--)
- {
- m_len--;
*ptr = 0;
- }
// then count how much to remove from the beginning
char *ptr;
for (ptr = m_text; *ptr != 0 && (!(*ptr & 0x80) && isspace(UINT8(*ptr))); ptr++) ;
if (ptr > m_text)
substr(ptr - m_text);
return *this;
}
--- 500,512 ----
{
// first remove stuff from the end
for (char *ptr = m_text + len() - 1; ptr >= m_text && (!(*ptr & 0x80) && isspace(UINT8(*ptr))); ptr--)
*ptr = 0;
// then count how much to remove from the beginning
char *ptr;
for (ptr = m_text; *ptr != 0 && (!(*ptr & 0x80) && isspace(UINT8(*ptr))); ptr++) ;
if (ptr > m_text)
substr(ptr - m_text);
+ m_len = strlen(m_text);
return *this;
}
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/mame/machine/cps2crpt.c C:\mingw\mingw64-w32\mame_original/src/mame/machine/cps2crpt.c
*** C:\mingw\mingw64-w32\mame_modificato/src/mame/machine/cps2crpt.c Fri Jan 11 08:32:46 2013
--- C:\mingw\mingw64-w32\mame_original/src/mame/machine/cps2crpt.c Sat Feb 16 11:29:02 2013
***************
*** 111,116 ****
--- 111,117 ----
*******************************************************************************/
#include "emu.h"
+ #include "emuopts.h"
#include "cpu/m68000/m68000.h"
#include "ui.h"
#include "includes/cps1.h"
***************
*** 672,680 ****
if ((i & 0xff) == 0)
{
! char loadingMessage[256]; // for displaying with UI
! sprintf(loadingMessage, "Decrypting %d%%", i*100/0x10000);
! ui_set_startup_text(machine, loadingMessage,FALSE);
}
--- 673,685 ----
if ((i & 0xff) == 0)
{
! //MKCHAMP - DISABLING THE DECRYPING MESSAGE
! if (machine.options().disable_loading_patch())
! {
! char loadingMessage[256]; // for displaying with UI
! sprintf(loadingMessage, "Decrypting %d%%", i*100/0x10000);
! ui_set_startup_text(machine, loadingMessage,FALSE);
! }
}
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/osd/osdepend.c C:\mingw\mingw64-w32\mame_original/src/osd/osdepend.c
*** C:\mingw\mingw64-w32\mame_modificato/src/osd/osdepend.c Fri Jan 11 08:32:46 2013
--- C:\mingw\mingw64-w32\mame_original/src/osd/osdepend.c Sat Feb 16 11:29:02 2013
***************
*** 115,120 ****
--- 115,136 ----
//
}
+ //-------------------------------------------------
+ // MKChamp update_hi - periodic system update
+ //-------------------------------------------------
+
+ void osd_interface::update_hi(bool skip_redraw)
+ {
+ //
+ // This method is called periodically to flush video updates to the
+ // screen, and also to allow the OSD a chance to update other systems
+ // on a regular basis. In general this will be called at the frame
+ // rate of the system being run; however, it may be called at more
+ // irregular intervals in some circumstances (e.g., multi-screen games
+ // or games with asynchronous updates).
+ //
+ }
+
//-------------------------------------------------
// init_debugger - perform debugger-specific
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/osd/osdepend.h C:\mingw\mingw64-w32\mame_original/src/osd/osdepend.h
*** C:\mingw\mingw64-w32\mame_modificato/src/osd/osdepend.h Fri Jan 11 08:32:46 2013
--- C:\mingw\mingw64-w32\mame_original/src/osd/osdepend.h Sat Feb 16 11:29:02 2013
***************
*** 93,98 ****
--- 93,101 ----
// video overridables
virtual void *get_slider_list();
+
+ //MKCHAMP - DECLARING THE NEW osd_update_hi SUB
+ virtual void update_hi(bool skip_redraw);
private:
// internal state
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/osd/windows/video.c C:\mingw\mingw64-w32\mame_original/src/osd/windows/video.c
*** C:\mingw\mingw64-w32\mame_modificato/src/osd/windows/video.c Thu Dec 15 15:10:46 2011
--- C:\mingw\mingw64-w32\mame_original/src/osd/windows/video.c Sat Feb 16 11:29:02 2013
***************
*** 226,231 ****
--- 226,253 ----
check_osd_inputs(machine());
}
+ //============================================================
+ // MKCHAMP - BELOW IS THE NEW SUB CALLED FROM emu/video.c. ONLY
+ // DIFFERENCE BETWEEN THIS SUB AND osd_update IS IT CALLS NEW SUB CALLED winwindow_video_window_update_hi
+ // INSTEAD OF winwindow_video_window_update (located in osd/windows/window.c)
+ //============================================================
+
+ void windows_osd_interface::update_hi(bool skip_redraw)
+ {
+ // ping the watchdog on each update
+ winmain_watchdog_ping();
+
+ // if we're not skipping this redraw, update all windows
+ if (!skip_redraw)
+ for (win_window_info *window = win_window_list; window != NULL; window = window->next)
+ winwindow_video_window_update_hi(window);
+
+ // poll the joystick values here
+ winwindow_process_events(machine(), TRUE);
+ wininput_poll(machine());
+ check_osd_inputs(machine());
+ }
+
//============================================================
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/osd/windows/window.c C:\mingw\mingw64-w32\mame_original/src/osd/windows/window.c
*** C:\mingw\mingw64-w32\mame_modificato/src/osd/windows/window.c Fri Jan 11 08:32:46 2013
--- C:\mingw\mingw64-w32\mame_original/src/osd/windows/window.c Sat Feb 16 11:29:02 2013
***************
*** 825,830 ****
--- 825,909 ----
mtlog_add("winwindow_video_window_update: end");
}
+ //============================================================
+ // MKCHAMP - LAST OF THE NEW SUB CHAIN. FOR THOSE FOLLOWING, THE PATH IS:
+ // emu/ui.c->ui_set_startup_text CALLS emu/video.c->video_frame_update_hi WHICH CALLS
+ // osd/windows/video.c->osd_update_hi WHICH CALLS THIS SUB.
+ // THE ONLY DIFFERENCE BETWEEN THIS SUB AND winwindow_video_window_update IS IT DOES NOT
+ // perform PostMessage(window->hwnd, WM_USER_REDRAW, 0, (LPARAM)primlist) OR
+ // SendMessage(window->hwnd, WM_USER_REDRAW, 0, (LPARAM)primlist)
+ // ALL THIS DOES IS ALLOW MAME TO PROPERLY RUN TO CALCULATE THE REFRESHSPEED/ETC. WITHOUT
+ // GIVING THE WHITE BOX THAT SEEMS TO ANNOY SOME PEOPLE!
+ //============================================================
+
+ void winwindow_video_window_update_hi(win_window_info *window)
+ {
+ int targetview, targetorient;
+ render_layer_config targetlayerconfig;
+
+ assert(GetCurrentThreadId() == main_threadid);
+
+ mtlog_add("winwindow_video_window_update: begin");
+
+ // see if the target has changed significantly in window mode
+ targetview = window->target->view();
+ targetorient = window->target->orientation();
+ targetlayerconfig = window->target->layer_config();
+ if (targetview != window->targetview || targetorient != window->targetorient || targetlayerconfig != window->targetlayerconfig)
+ {
+ window->targetview = targetview;
+ window->targetorient = targetorient;
+ window->targetlayerconfig = targetlayerconfig;
+
+ // in window mode, reminimize/maximize
+ if (!window->fullscreen)
+ {
+ if (window->isminimized)
+ SendMessage(window->hwnd, WM_USER_SET_MINSIZE, 0, 0);
+ if (window->ismaximized)
+ SendMessage(window->hwnd, WM_USER_SET_MAXSIZE, 0, 0);
+ }
+ }
+
+ // if we're visible and running and not in the middle of a resize, draw
+ if (window->hwnd != NULL && window->target != NULL && window->drawdata != NULL)
+ {
+ int got_lock = TRUE;
+
+ mtlog_add("winwindow_video_window_update: try lock");
+
+ // only block if we're throttled
+ if (window->machine().video().throttled() || timeGetTime() - last_update_time > 250)
+ osd_lock_acquire(window->render_lock);
+ else
+ got_lock = osd_lock_try(window->render_lock);
+
+ // only render if we were able to get the lock
+ if (got_lock)
+ {
+ // render_primitive_list *primlist;
+
+ mtlog_add("winwindow_video_window_update: got lock");
+
+ // don't hold the lock; we just used it to see if rendering was still happening
+ osd_lock_release(window->render_lock);
+
+ // ensure the target bounds are up-to-date, and then get the primitives
+ // primlist = (*draw.window_get_primitives)(window);
+ (*draw.window_get_primitives)(window);
+ // post a redraw request with the primitive list as a parameter
+ last_update_time = timeGetTime();
+ mtlog_add("winwindow_video_window_update: PostMessage start");
+ // if (multithreading_enabled)
+ // PostMessage(window->hwnd, WM_USER_REDRAW, 0, (LPARAM)primlist);
+ // else
+ // SendMessage(window->hwnd, WM_USER_REDRAW, 0, (LPARAM)primlist);
+ mtlog_add("winwindow_video_window_update: PostMessage end");
+ }
+ }
+
+ mtlog_add("winwindow_video_window_update: end");
+ }
//============================================================
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/osd/windows/window.h C:\mingw\mingw64-w32\mame_original/src/osd/windows/window.h
*** C:\mingw\mingw64-w32\mame_modificato/src/osd/windows/window.h Fri Jan 11 08:32:46 2013
--- C:\mingw\mingw64-w32\mame_original/src/osd/windows/window.h Sat Feb 16 11:29:02 2013
***************
*** 150,155 ****
--- 150,157 ----
BOOL winwindow_has_focus(void);
void winwindow_update_cursor_state(running_machine &machine);
void winwindow_video_window_update(win_window_info *window);
+ //MKCHAMP - DECLARING THE NEW SUB winwindow_video_window_update_hi
+ void winwindow_video_window_update_hi(win_window_info *window);
win_monitor_info *winwindow_video_window_monitor(win_window_info *window, const RECT *proposed);
LRESULT CALLBACK winwindow_video_window_proc(HWND wnd, UINT message, WPARAM wparam, LPARAM lparam);
diff -crB C:\mingw\mingw64-w32\mame_modificato/src/osd/windows/winmain.h C:\mingw\mingw64-w32\mame_original/src/osd/windows/winmain.h
*** C:\mingw\mingw64-w32\mame_modificato/src/osd/windows/winmain.h Fri Jan 11 17:55:27 2013
--- C:\mingw\mingw64-w32\mame_original/src/osd/windows/winmain.h Sat Feb 16 11:29:02 2013
***************
*** 339,344 ****
--- 323,330 ----
private:
static void osd_exit(running_machine &machine);
+ //MKChamp - Declaring hi subroutine
+ virtual void update_hi(bool skip_redraw);
static const int DEFAULT_FONT_HEIGHT = 200;
};
Only in C:\mingw\mingw64-w32\mame_modificato/src/osd: winui
Comunque non mi assumo responsabilità poichè come già detto è stato un mio esperimento personale ed in ste cose sono una pippa. Se volete provare prendetelo anche voi come un esperimento!