mirror of
https://github.com/holub/mame
synced 2025-06-18 02:08:56 +03:00
Added support to "gameinit.dat".
Disabled Configure Machine menu.
This commit is contained in:
parent
ea7c12ce96
commit
6e79c7fa3c
@ -31,6 +31,7 @@ static std::string TAG_MESSINFO_R("# MESSINFO.DAT");
|
|||||||
static std::string TAG_SYSINFO_R("# This file was generated on");
|
static std::string TAG_SYSINFO_R("# This file was generated on");
|
||||||
static std::string TAG_STORY_R("# version");
|
static std::string TAG_STORY_R("# version");
|
||||||
static std::string TAG_COMMAND_SEPARATOR("-----------------------------------------------");
|
static std::string TAG_COMMAND_SEPARATOR("-----------------------------------------------");
|
||||||
|
static std::string TAG_GAMEINIT_R("# GAMEINIT.DAT");
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// Statics
|
// Statics
|
||||||
@ -41,6 +42,7 @@ datfile_manager::dataindex datfile_manager::m_messidx;
|
|||||||
datfile_manager::dataindex datfile_manager::m_cmdidx;
|
datfile_manager::dataindex datfile_manager::m_cmdidx;
|
||||||
datfile_manager::dataindex datfile_manager::m_sysidx;
|
datfile_manager::dataindex datfile_manager::m_sysidx;
|
||||||
datfile_manager::dataindex datfile_manager::m_storyidx;
|
datfile_manager::dataindex datfile_manager::m_storyidx;
|
||||||
|
datfile_manager::dataindex datfile_manager::m_ginitidx;
|
||||||
datfile_manager::drvindex datfile_manager::m_drvidx;
|
datfile_manager::drvindex datfile_manager::m_drvidx;
|
||||||
datfile_manager::drvindex datfile_manager::m_messdrvidx;
|
datfile_manager::drvindex datfile_manager::m_messdrvidx;
|
||||||
datfile_manager::drvindex datfile_manager::m_menuidx;
|
datfile_manager::drvindex datfile_manager::m_menuidx;
|
||||||
@ -50,6 +52,7 @@ std::string datfile_manager::m_mame_rev;
|
|||||||
std::string datfile_manager::m_mess_rev;
|
std::string datfile_manager::m_mess_rev;
|
||||||
std::string datfile_manager::m_sysinfo_rev;
|
std::string datfile_manager::m_sysinfo_rev;
|
||||||
std::string datfile_manager::m_story_rev;
|
std::string datfile_manager::m_story_rev;
|
||||||
|
std::string datfile_manager::m_ginit_rev;
|
||||||
bool datfile_manager::first_run = true;
|
bool datfile_manager::first_run = true;
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
@ -95,6 +98,12 @@ datfile_manager::datfile_manager(running_machine &machine) : m_machine(machine)
|
|||||||
init_history();
|
init_history();
|
||||||
parseclose();
|
parseclose();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (parseopen("gameinit.dat"))
|
||||||
|
{
|
||||||
|
init_gameinit();
|
||||||
|
parseclose();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -131,6 +140,18 @@ void datfile_manager::init_history()
|
|||||||
osd_printf_verbose("Rev = %s\n", m_history_rev.c_str());
|
osd_printf_verbose("Rev = %s\n", m_history_rev.c_str());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
//-------------------------------------------------
|
||||||
|
// initialize gameinit.dat index
|
||||||
|
//-------------------------------------------------
|
||||||
|
void datfile_manager::init_gameinit()
|
||||||
|
{
|
||||||
|
int swcount = 0;
|
||||||
|
drvindex tmp;
|
||||||
|
int count = index_mame_mess_info(m_ginitidx, tmp, swcount);
|
||||||
|
osd_printf_verbose("Gameinit.dat games found = %i\n", count);
|
||||||
|
osd_printf_verbose("Rev = %s\n", m_ginit_rev.c_str());
|
||||||
|
}
|
||||||
|
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
// initialize mameinfo.dat index
|
// initialize mameinfo.dat index
|
||||||
//-------------------------------------------------
|
//-------------------------------------------------
|
||||||
@ -250,6 +271,11 @@ void datfile_manager::load_data_info(const game_driver *drv, std::string &buffer
|
|||||||
tag = TAG_STORY;
|
tag = TAG_STORY;
|
||||||
index_idx = m_storyidx;
|
index_idx = m_storyidx;
|
||||||
break;
|
break;
|
||||||
|
case UI_GINIT_LOAD:
|
||||||
|
filename = "gameinit.dat";
|
||||||
|
tag = TAG_MAME;
|
||||||
|
index_idx = m_ginitidx;
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (parseopen(filename.c_str()))
|
if (parseopen(filename.c_str()))
|
||||||
@ -261,7 +287,7 @@ void datfile_manager::load_data_info(const game_driver *drv, std::string &buffer
|
|||||||
load_driver_text(drv, buffer, driver_idx, TAG_DRIVER);
|
load_driver_text(drv, buffer, driver_idx, TAG_DRIVER);
|
||||||
|
|
||||||
// cleanup mameinfo and sysinfo double line spacing
|
// cleanup mameinfo and sysinfo double line spacing
|
||||||
if (tag == TAG_MAME || type == UI_SYSINFO_LOAD)
|
if ((tag == TAG_MAME && type != UI_GINIT_LOAD) || type == UI_SYSINFO_LOAD)
|
||||||
strreplace(buffer, "\n\n", "\n");
|
strreplace(buffer, "\n\n", "\n");
|
||||||
|
|
||||||
parseclose();
|
parseclose();
|
||||||
@ -354,6 +380,7 @@ int datfile_manager::index_mame_mess_info(dataindex &index, drvindex &index_drv,
|
|||||||
size_t foundtag;
|
size_t foundtag;
|
||||||
size_t t_mame = TAG_MAMEINFO_R.size();
|
size_t t_mame = TAG_MAMEINFO_R.size();
|
||||||
size_t t_mess = TAG_MESSINFO_R.size();
|
size_t t_mess = TAG_MESSINFO_R.size();
|
||||||
|
size_t t_ginit = TAG_GAMEINIT_R.size();
|
||||||
size_t t_info = TAG_INFO.size();
|
size_t t_info = TAG_INFO.size();
|
||||||
|
|
||||||
char rbuf[64 * 1024];
|
char rbuf[64 * 1024];
|
||||||
@ -371,6 +398,11 @@ int datfile_manager::index_mame_mess_info(dataindex &index, drvindex &index_drv,
|
|||||||
size_t found = readbuf.find(" ", foundtag + t_mess + 1);
|
size_t found = readbuf.find(" ", foundtag + t_mess + 1);
|
||||||
m_mess_rev = readbuf.substr(foundtag + t_mess + 1, found - t_mess - foundtag);
|
m_mess_rev = readbuf.substr(foundtag + t_mess + 1, found - t_mess - foundtag);
|
||||||
}
|
}
|
||||||
|
else if (m_ginit_rev.empty() && readbuf.compare(0, t_ginit, TAG_GAMEINIT_R) == 0)
|
||||||
|
{
|
||||||
|
size_t found = readbuf.find(" ", t_ginit + 1);
|
||||||
|
m_ginit_rev = readbuf.substr(t_ginit + 1, found - t_ginit);
|
||||||
|
}
|
||||||
else if (readbuf.compare(0, t_info, TAG_INFO) == 0)
|
else if (readbuf.compare(0, t_info, TAG_INFO) == 0)
|
||||||
{
|
{
|
||||||
// TAG_INFO
|
// TAG_INFO
|
||||||
@ -423,8 +455,6 @@ int datfile_manager::index_datafile(dataindex &index, int &swcount)
|
|||||||
}
|
}
|
||||||
else if (m_story_rev.empty() && readbuf.compare(0, t_story, TAG_STORY_R) == 0)
|
else if (m_story_rev.empty() && readbuf.compare(0, t_story, TAG_STORY_R) == 0)
|
||||||
m_story_rev = readbuf.substr(t_story + 1);
|
m_story_rev = readbuf.substr(t_story + 1);
|
||||||
|
|
||||||
// TAG_INFO identifies the driver
|
|
||||||
else if (readbuf.compare(0, t_info, TAG_INFO) == 0)
|
else if (readbuf.compare(0, t_info, TAG_INFO) == 0)
|
||||||
{
|
{
|
||||||
int curpoint = t_info + 1;
|
int curpoint = t_info + 1;
|
||||||
|
@ -37,6 +37,7 @@ public:
|
|||||||
std::string rev_messinfo() const { return m_mess_rev; }
|
std::string rev_messinfo() const { return m_mess_rev; }
|
||||||
std::string rev_sysinfo() const { return m_sysinfo_rev; }
|
std::string rev_sysinfo() const { return m_sysinfo_rev; }
|
||||||
std::string rev_storyinfo() const { return m_story_rev; }
|
std::string rev_storyinfo() const { return m_story_rev; }
|
||||||
|
std::string rev_ginitinfo() const { return m_ginit_rev; }
|
||||||
|
|
||||||
bool has_history(const game_driver *driver) { return (m_histidx.find(driver) != m_histidx.end()); }
|
bool has_history(const game_driver *driver) { return (m_histidx.find(driver) != m_histidx.end()); }
|
||||||
bool has_mameinfo(const game_driver *driver) { return (m_mameidx.find(driver) != m_mameidx.end()); }
|
bool has_mameinfo(const game_driver *driver) { return (m_mameidx.find(driver) != m_mameidx.end()); }
|
||||||
@ -44,12 +45,13 @@ public:
|
|||||||
bool has_command(const game_driver *driver) { return (m_cmdidx.find(driver) != m_cmdidx.end()); }
|
bool has_command(const game_driver *driver) { return (m_cmdidx.find(driver) != m_cmdidx.end()); }
|
||||||
bool has_sysinfo(const game_driver *driver) { return (m_sysidx.find(driver) != m_sysidx.end()); }
|
bool has_sysinfo(const game_driver *driver) { return (m_sysidx.find(driver) != m_sysidx.end()); }
|
||||||
bool has_story(const game_driver *driver) { return (m_storyidx.find(driver) != m_storyidx.end()); }
|
bool has_story(const game_driver *driver) { return (m_storyidx.find(driver) != m_storyidx.end()); }
|
||||||
|
bool has_gameinit(const game_driver *driver) { return (m_ginitidx.find(driver) != m_ginitidx.end()); }
|
||||||
bool has_software(std::string &softlist, std::string &softname, std::string &parentname);
|
bool has_software(std::string &softlist, std::string &softname, std::string &parentname);
|
||||||
|
|
||||||
bool has_data(const game_driver *a = nullptr)
|
bool has_data(const game_driver *a = nullptr)
|
||||||
{
|
{
|
||||||
const game_driver *d = (a != nullptr) ? a : &machine().system();
|
const game_driver *d = (a != nullptr) ? a : &machine().system();
|
||||||
return (has_history(d) || has_mameinfo(d) || has_messinfo(d) || has_command(d) || has_sysinfo(d) || has_story(d));
|
return (has_history(d) || has_mameinfo(d) || has_messinfo(d) || has_command(d) || has_sysinfo(d) || has_story(d) || has_gameinit(d));
|
||||||
}
|
}
|
||||||
private:
|
private:
|
||||||
using drvindex = std::unordered_map<std::string, long>;
|
using drvindex = std::unordered_map<std::string, long>;
|
||||||
@ -57,7 +59,7 @@ private:
|
|||||||
using swindex = std::unordered_map<std::string, drvindex>;
|
using swindex = std::unordered_map<std::string, drvindex>;
|
||||||
|
|
||||||
// global index
|
// global index
|
||||||
static dataindex m_histidx, m_mameidx, m_messidx, m_cmdidx, m_sysidx, m_storyidx;
|
static dataindex m_histidx, m_mameidx, m_messidx, m_cmdidx, m_sysidx, m_storyidx, m_ginitidx;
|
||||||
static drvindex m_drvidx, m_messdrvidx, m_menuidx;
|
static drvindex m_drvidx, m_messdrvidx, m_menuidx;
|
||||||
static swindex m_swindex;
|
static swindex m_swindex;
|
||||||
|
|
||||||
@ -68,6 +70,7 @@ private:
|
|||||||
void init_command();
|
void init_command();
|
||||||
void init_sysinfo();
|
void init_sysinfo();
|
||||||
void init_storyinfo();
|
void init_storyinfo();
|
||||||
|
void init_gameinit();
|
||||||
|
|
||||||
// file open/close/seek
|
// file open/close/seek
|
||||||
bool parseopen(const char *filename);
|
bool parseopen(const char *filename);
|
||||||
@ -84,7 +87,7 @@ private:
|
|||||||
// internal state
|
// internal state
|
||||||
running_machine &m_machine; // reference to our machine
|
running_machine &m_machine; // reference to our machine
|
||||||
std::string m_fullpath;
|
std::string m_fullpath;
|
||||||
static std::string m_history_rev, m_mame_rev, m_mess_rev, m_sysinfo_rev, m_story_rev;
|
static std::string m_history_rev, m_mame_rev, m_mess_rev, m_sysinfo_rev, m_story_rev, m_ginit_rev;
|
||||||
FILE *fp = nullptr;
|
FILE *fp = nullptr;
|
||||||
static bool first_run;
|
static bool first_run;
|
||||||
};
|
};
|
||||||
|
@ -290,6 +290,8 @@ void ui_menu_dats_view::init_items()
|
|||||||
m_items_list.emplace_back(_("Sysinfo"), UI_SYSINFO_LOAD, datfile.rev_sysinfo());
|
m_items_list.emplace_back(_("Sysinfo"), UI_SYSINFO_LOAD, datfile.rev_sysinfo());
|
||||||
if (datfile.has_story(m_driver))
|
if (datfile.has_story(m_driver))
|
||||||
m_items_list.emplace_back(_("Mamescore"), UI_STORY_LOAD, datfile.rev_storyinfo());
|
m_items_list.emplace_back(_("Mamescore"), UI_STORY_LOAD, datfile.rev_storyinfo());
|
||||||
|
if (datfile.has_gameinit(m_driver))
|
||||||
|
m_items_list.emplace_back(_("Gameinit"), UI_GINIT_LOAD, datfile.rev_ginitinfo());
|
||||||
if (datfile.has_command(m_driver))
|
if (datfile.has_command(m_driver))
|
||||||
m_items_list.emplace_back(_("Command"), UI_COMMAND_LOAD, "");
|
m_items_list.emplace_back(_("Command"), UI_COMMAND_LOAD, "");
|
||||||
}
|
}
|
||||||
|
@ -2137,8 +2137,7 @@ float ui_menu::draw_right_box_title(float x1, float y1, float x2, float y2)
|
|||||||
mui.draw_textured_box(container, x1 + UI_LINE_WIDTH, y1 + UI_LINE_WIDTH, x1 + midl - UI_LINE_WIDTH, y1 + line_height,
|
mui.draw_textured_box(container, x1 + UI_LINE_WIDTH, y1 + UI_LINE_WIDTH, x1 + midl - UI_LINE_WIDTH, y1 + line_height,
|
||||||
bgcolor, rgb_t(255, 43, 43, 43), hilight_main_texture, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA) | PRIMFLAG_TEXWRAP(TRUE));
|
bgcolor, rgb_t(255, 43, 43, 43), hilight_main_texture, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA) | PRIMFLAG_TEXWRAP(TRUE));
|
||||||
}
|
}
|
||||||
|
else if (bgcolor == UI_MOUSEOVER_BG_COLOR)
|
||||||
if (bgcolor == UI_MOUSEOVER_BG_COLOR)
|
|
||||||
container->add_rect(x1 + UI_LINE_WIDTH, y1 + UI_LINE_WIDTH, x1 + midl - UI_LINE_WIDTH, y1 + line_height,
|
container->add_rect(x1 + UI_LINE_WIDTH, y1 + UI_LINE_WIDTH, x1 + midl - UI_LINE_WIDTH, y1 + line_height,
|
||||||
bgcolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA) | PRIMFLAG_TEXWRAP(TRUE));
|
bgcolor, PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA) | PRIMFLAG_TEXWRAP(TRUE));
|
||||||
|
|
||||||
@ -2159,13 +2158,13 @@ std::string ui_menu::arts_render_common(float origx1, float origy1, float origx2
|
|||||||
ui_manager &mui = machine().ui();
|
ui_manager &mui = machine().ui();
|
||||||
float line_height = mui.get_line_height();
|
float line_height = mui.get_line_height();
|
||||||
std::string snaptext, searchstr;
|
std::string snaptext, searchstr;
|
||||||
get_title_search(snaptext, searchstr);
|
|
||||||
float gutter_width = 0.4f * line_height * machine().render().ui_aspect() * 1.3f;
|
|
||||||
|
|
||||||
// apply title to right panel
|
|
||||||
float title_size = 0.0f;
|
float title_size = 0.0f;
|
||||||
float txt_lenght = 0.0f;
|
float txt_lenght = 0.0f;
|
||||||
|
float gutter_width = 0.4f * line_height * machine().render().ui_aspect() * 1.3f;
|
||||||
|
|
||||||
|
get_title_search(snaptext, searchstr);
|
||||||
|
|
||||||
|
// apply title to right panel
|
||||||
for (int x = FIRST_VIEW; x < LAST_VIEW; x++)
|
for (int x = FIRST_VIEW; x < LAST_VIEW; x++)
|
||||||
{
|
{
|
||||||
mui.draw_text_full(container, _(arts_info[x].title), origx1, origy1, origx2 - origx1, JUSTIFY_CENTER,
|
mui.draw_text_full(container, _(arts_info[x].title), origx1, origy1, origx2 - origx1, JUSTIFY_CENTER,
|
||||||
@ -2174,14 +2173,8 @@ std::string ui_menu::arts_render_common(float origx1, float origy1, float origx2
|
|||||||
title_size = MAX(txt_lenght, title_size);
|
title_size = MAX(txt_lenght, title_size);
|
||||||
}
|
}
|
||||||
|
|
||||||
rgb_t fgcolor = UI_TEXT_COLOR;
|
rgb_t fgcolor = (m_focus == focused_menu::rightbottom) ? rgb_t(0xff, 0xff, 0xff, 0x00) : UI_TEXT_COLOR;
|
||||||
rgb_t bgcolor = UI_TEXT_BG_COLOR;
|
rgb_t bgcolor = (m_focus == focused_menu::rightbottom) ? rgb_t(0xff, 0xff, 0xff, 0xff) : UI_TEXT_BG_COLOR;
|
||||||
if (m_focus == focused_menu::rightbottom)
|
|
||||||
{
|
|
||||||
fgcolor = rgb_t(0xff, 0xff, 0xff, 0x00);
|
|
||||||
bgcolor = rgb_t(0xff, 0xff, 0xff, 0xff);
|
|
||||||
}
|
|
||||||
|
|
||||||
float middle = origx2 - origx1;
|
float middle = origx2 - origx1;
|
||||||
|
|
||||||
// check size
|
// check size
|
||||||
@ -2233,11 +2226,15 @@ void ui_menu::draw_toolbar(float x1, float y1, float x2, float y2, bool software
|
|||||||
|
|
||||||
int m_valid = 0;
|
int m_valid = 0;
|
||||||
for (int x = 0; x < UI_TOOLBAR_BUTTONS; ++x)
|
for (int x = 0; x < UI_TOOLBAR_BUTTONS; ++x)
|
||||||
|
{
|
||||||
if (t_bitmap[x]->valid())
|
if (t_bitmap[x]->valid())
|
||||||
|
{
|
||||||
m_valid++;
|
m_valid++;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
float space_x = (y2 - y1) * container->manager().ui_aspect();
|
float space_x = (y2 - y1) * container->manager().ui_aspect();
|
||||||
float total = (m_valid * space_x) + ((m_valid - 1) * 0.01f);
|
float total = (m_valid * space_x) + ((m_valid - 1) * 0.001f);
|
||||||
x1 = ((x2 - x1) * 0.5f) - (total / 2);
|
x1 = ((x2 - x1) * 0.5f) - (total / 2);
|
||||||
x2 = x1 + space_x;
|
x2 = x1 + space_x;
|
||||||
|
|
||||||
@ -2255,7 +2252,7 @@ void ui_menu::draw_toolbar(float x1, float y1, float x2, float y2, bool software
|
|||||||
}
|
}
|
||||||
|
|
||||||
container->add_quad(x1, y1, x2, y2, color, t_texture[z], PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
|
container->add_quad(x1, y1, x2, y2, color, t_texture[z], PRIMFLAG_BLENDMODE(BLENDMODE_ALPHA));
|
||||||
x1 += space_x + ((z < UI_TOOLBAR_BUTTONS - 1) ? 0.01f : 0.0f);
|
x1 += space_x + ((z < UI_TOOLBAR_BUTTONS - 1) ? 0.001f : 0.0f);
|
||||||
x2 = x1 + space_x;
|
x2 = x1 + space_x;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@ -2288,13 +2285,11 @@ void ui_menu::arts_render_images(bitmap_argb32 *tmp_bitmap, float origx1, float
|
|||||||
int screen_width = machine().render().ui_target().width();
|
int screen_width = machine().render().ui_target().width();
|
||||||
int screen_height = machine().render().ui_target().height();
|
int screen_height = machine().render().ui_target().height();
|
||||||
|
|
||||||
int rot = machine().render().ui_target().orientation();
|
if (machine().render().ui_target().orientation() & ORIENTATION_SWAP_XY)
|
||||||
if (rot == ROT90 || rot == ROT270)
|
|
||||||
std::swap(screen_height, screen_width);
|
std::swap(screen_height, screen_width);
|
||||||
|
|
||||||
int panel_width_pixel = panel_width * screen_width;
|
int panel_width_pixel = panel_width * screen_width;
|
||||||
int panel_height_pixel = panel_height * screen_height;
|
int panel_height_pixel = panel_height * screen_height;
|
||||||
float ratio = 0.0f;
|
|
||||||
|
|
||||||
// Calculate resize ratios for resizing
|
// Calculate resize ratios for resizing
|
||||||
float ratioW = (float)panel_width_pixel / tmp_bitmap->width();
|
float ratioW = (float)panel_width_pixel / tmp_bitmap->width();
|
||||||
@ -2309,7 +2304,7 @@ void ui_menu::arts_render_images(bitmap_argb32 *tmp_bitmap, float origx1, float
|
|||||||
// smaller ratio will ensure that the image fits in the view
|
// smaller ratio will ensure that the image fits in the view
|
||||||
dest_yPixel = tmp_bitmap->width() * 0.75f;
|
dest_yPixel = tmp_bitmap->width() * 0.75f;
|
||||||
ratioH = (float)panel_height_pixel / dest_yPixel;
|
ratioH = (float)panel_height_pixel / dest_yPixel;
|
||||||
ratio = MIN(ratioW, ratioH);
|
float ratio = MIN(ratioW, ratioH);
|
||||||
dest_xPixel = tmp_bitmap->width() * ratio;
|
dest_xPixel = tmp_bitmap->width() * ratio;
|
||||||
dest_yPixel *= ratio;
|
dest_yPixel *= ratio;
|
||||||
}
|
}
|
||||||
@ -2317,7 +2312,7 @@ void ui_menu::arts_render_images(bitmap_argb32 *tmp_bitmap, float origx1, float
|
|||||||
else if (ratioW < 1 || ratioH < 1 || (machine().ui().options().enlarge_snaps() && !no_available))
|
else if (ratioW < 1 || ratioH < 1 || (machine().ui().options().enlarge_snaps() && !no_available))
|
||||||
{
|
{
|
||||||
// smaller ratio will ensure that the image fits in the view
|
// smaller ratio will ensure that the image fits in the view
|
||||||
ratio = MIN(ratioW, ratioH);
|
float ratio = MIN(ratioW, ratioH);
|
||||||
dest_xPixel = tmp_bitmap->width() * ratio;
|
dest_xPixel = tmp_bitmap->width() * ratio;
|
||||||
dest_yPixel = tmp_bitmap->height() * ratio;
|
dest_yPixel = tmp_bitmap->height() * ratio;
|
||||||
}
|
}
|
||||||
@ -2455,8 +2450,7 @@ void ui_menu::draw_icon(int linenum, void *selectedref, float x0, float y0)
|
|||||||
int screen_width = machine().render().ui_target().width();
|
int screen_width = machine().render().ui_target().width();
|
||||||
int screen_height = machine().render().ui_target().height();
|
int screen_height = machine().render().ui_target().height();
|
||||||
|
|
||||||
int rot = machine().render().ui_target().orientation();
|
if (machine().render().ui_target().orientation() & ORIENTATION_SWAP_XY)
|
||||||
if (rot == ROT90 || rot == ROT270)
|
|
||||||
std::swap(screen_height, screen_width);
|
std::swap(screen_height, screen_width);
|
||||||
|
|
||||||
int panel_width_pixel = panel_width * screen_width;
|
int panel_width_pixel = panel_width * screen_width;
|
||||||
@ -2500,12 +2494,9 @@ void ui_menu::draw_icon(int linenum, void *selectedref, float x0, float y0)
|
|||||||
|
|
||||||
icons_texture[linenum]->set_bitmap(*icons_bitmap[linenum], icons_bitmap[linenum]->cliprect(), TEXFORMAT_ARGB32);
|
icons_texture[linenum]->set_bitmap(*icons_bitmap[linenum], icons_bitmap[linenum]->cliprect(), TEXFORMAT_ARGB32);
|
||||||
}
|
}
|
||||||
else {
|
else if (icons_bitmap[linenum] != nullptr)
|
||||||
if (icons_bitmap[linenum] != nullptr)
|
|
||||||
{
|
|
||||||
icons_bitmap[linenum]->reset();
|
icons_bitmap[linenum]->reset();
|
||||||
}
|
|
||||||
}
|
|
||||||
auto_free(machine(), tmp);
|
auto_free(machine(), tmp);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -41,6 +41,7 @@ static const char *dats_info[] = {
|
|||||||
__("Sysinfo"),
|
__("Sysinfo"),
|
||||||
__("Messinfo"),
|
__("Messinfo"),
|
||||||
__("Command"),
|
__("Command"),
|
||||||
|
__("Gameinit"),
|
||||||
__("Mamescore") };
|
__("Mamescore") };
|
||||||
|
|
||||||
std::vector<const game_driver *> ui_menu_select_game::m_sortedlist;
|
std::vector<const game_driver *> ui_menu_select_game::m_sortedlist;
|
||||||
@ -582,9 +583,9 @@ void ui_menu_select_game::populate()
|
|||||||
{
|
{
|
||||||
UINT32 flags_ui = MENU_FLAG_UI | MENU_FLAG_LEFT_ARROW | MENU_FLAG_RIGHT_ARROW;
|
UINT32 flags_ui = MENU_FLAG_UI | MENU_FLAG_LEFT_ARROW | MENU_FLAG_RIGHT_ARROW;
|
||||||
item_append(_("Configure Options"), nullptr, flags_ui, (void *)(FPTR)CONF_OPTS);
|
item_append(_("Configure Options"), nullptr, flags_ui, (void *)(FPTR)CONF_OPTS);
|
||||||
item_append(_("Configure Machine"), nullptr, flags_ui, (void *)(FPTR)CONF_MACHINE);
|
// item_append(_("Configure Machine"), nullptr, flags_ui, (void *)(FPTR)CONF_MACHINE); TODO
|
||||||
item_append(_("Plugins"), nullptr, flags_ui, (void *)(FPTR)CONF_PLUGINS);
|
item_append(_("Plugins"), nullptr, flags_ui, (void *)(FPTR)CONF_PLUGINS);
|
||||||
skip_main_items = 3;
|
skip_main_items = 2;
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
skip_main_items = 0;
|
skip_main_items = 0;
|
||||||
@ -1004,14 +1005,14 @@ void ui_menu_select_game::inkey_select(const ui_menu_event *m_event)
|
|||||||
// special case for configure options
|
// special case for configure options
|
||||||
if ((FPTR)driver == CONF_OPTS)
|
if ((FPTR)driver == CONF_OPTS)
|
||||||
ui_menu::stack_push(global_alloc_clear<ui_menu_game_options>(machine(), container));
|
ui_menu::stack_push(global_alloc_clear<ui_menu_game_options>(machine(), container));
|
||||||
// special case for configure machine
|
/* special case for configure machine TODO
|
||||||
else if ((FPTR)driver == CONF_MACHINE)
|
else if ((FPTR)driver == CONF_MACHINE)
|
||||||
{
|
{
|
||||||
if (m_prev_selected != nullptr)
|
if (m_prev_selected != nullptr)
|
||||||
ui_menu::stack_push(global_alloc_clear<ui_menu_machine_configure>(machine(), container, (const game_driver *)m_prev_selected));
|
ui_menu::stack_push(global_alloc_clear<ui_menu_machine_configure>(machine(), container, (const game_driver *)m_prev_selected));
|
||||||
else
|
else
|
||||||
return;
|
return;
|
||||||
}
|
} */
|
||||||
// special case for configure plugins
|
// special case for configure plugins
|
||||||
else if ((FPTR)driver == CONF_PLUGINS)
|
else if ((FPTR)driver == CONF_PLUGINS)
|
||||||
{
|
{
|
||||||
@ -1074,7 +1075,7 @@ void ui_menu_select_game::inkey_select_favorite(const ui_menu_event *m_event)
|
|||||||
// special case for configure options
|
// special case for configure options
|
||||||
if ((FPTR)ui_swinfo == CONF_OPTS)
|
if ((FPTR)ui_swinfo == CONF_OPTS)
|
||||||
ui_menu::stack_push(global_alloc_clear<ui_menu_game_options>(machine(), container));
|
ui_menu::stack_push(global_alloc_clear<ui_menu_game_options>(machine(), container));
|
||||||
// special case for configure machine
|
/* special case for configure machine TODO
|
||||||
else if ((FPTR)ui_swinfo == CONF_MACHINE)
|
else if ((FPTR)ui_swinfo == CONF_MACHINE)
|
||||||
{
|
{
|
||||||
if (m_prev_selected != nullptr)
|
if (m_prev_selected != nullptr)
|
||||||
@ -1085,7 +1086,7 @@ void ui_menu_select_game::inkey_select_favorite(const ui_menu_event *m_event)
|
|||||||
}
|
}
|
||||||
else
|
else
|
||||||
return;
|
return;
|
||||||
}
|
} */
|
||||||
// special case for configure plugins
|
// special case for configure plugins
|
||||||
else if ((FPTR)ui_swinfo == CONF_PLUGINS)
|
else if ((FPTR)ui_swinfo == CONF_PLUGINS)
|
||||||
{
|
{
|
||||||
|
@ -40,7 +40,7 @@ private:
|
|||||||
enum
|
enum
|
||||||
{
|
{
|
||||||
CONF_OPTS = 1,
|
CONF_OPTS = 1,
|
||||||
CONF_MACHINE,
|
// CONF_MACHINE,
|
||||||
CONF_PLUGINS,
|
CONF_PLUGINS,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -95,6 +95,7 @@ enum
|
|||||||
UI_SYSINFO_LOAD,
|
UI_SYSINFO_LOAD,
|
||||||
UI_MESSINFO_LOAD,
|
UI_MESSINFO_LOAD,
|
||||||
UI_COMMAND_LOAD,
|
UI_COMMAND_LOAD,
|
||||||
|
UI_GINIT_LOAD,
|
||||||
UI_STORY_LOAD,
|
UI_STORY_LOAD,
|
||||||
UI_LAST_LOAD = UI_STORY_LOAD
|
UI_LAST_LOAD = UI_STORY_LOAD
|
||||||
};
|
};
|
||||||
|
Loading…
Reference in New Issue
Block a user