It's the end of uitext.c as we know it (and I feel fine)

This commit is contained in:
Aaron Giles 2008-01-12 03:32:30 +00:00
parent df214d9c6c
commit a62870621a
8 changed files with 135 additions and 738 deletions

2
.gitattributes vendored
View File

@ -890,8 +890,6 @@ src/emu/uigfx.h svneol=native#text/plain
src/emu/uimenu.c svneol=native#text/plain src/emu/uimenu.c svneol=native#text/plain
src/emu/uimenu.h svneol=native#text/plain src/emu/uimenu.h svneol=native#text/plain
src/emu/uismall.png -text svneol=unset#image/png src/emu/uismall.png -text svneol=unset#image/png
src/emu/uitext.c svneol=native#text/plain
src/emu/uitext.h svneol=native#text/plain
src/emu/validity.c svneol=native#text/plain src/emu/validity.c svneol=native#text/plain
src/emu/video.c svneol=native#text/plain src/emu/video.c svneol=native#text/plain
src/emu/video.h svneol=native#text/plain src/emu/video.h svneol=native#text/plain

View File

@ -12,7 +12,6 @@
#include "driver.h" #include "driver.h"
#include "ui.h" #include "ui.h"
#include "uimenu.h" #include "uimenu.h"
#include "uitext.h"
#include "machine/eeprom.h" #include "machine/eeprom.h"
#include "cheat.h" #include "cheat.h"
#include <ctype.h> #include <ctype.h>
@ -1675,9 +1674,9 @@ int cheat_menu(int selection)
} }
/********** MENU CONSTRUCION **********/ /********** MENU CONSTRUCION **********/
menu_item[total++].text = ui_getstring(UI_enablecheat); // Enable/Disable a Cheat menu_item[total++].text = "Enable/Disable a Cheat"; // Enable/Disable a Cheat
menu_item[total++].text = ui_getstring(UI_addeditcheat); // Add/Edit a Cheat menu_item[total++].text = "Add/Edit a Cheat"; // Add/Edit a Cheat
switch(EXTRACT_FIELD(cheatOptions, SearchBox)) // Search a Cheat switch(EXTRACT_FIELD(cheatOptions, SearchBox)) // Search a Cheat
{ {
@ -1694,13 +1693,13 @@ int cheat_menu(int selection)
break; break;
} }
menu_item[total++].text = ui_getstring(UI_memorywatch); // Configure Watchpoints menu_item[total++].text = "Configure Watchpoints"; // Configure Watchpoints
menu_item[total++].text = ui_getstring(UI_reloaddatabase); // Reload Cheat Database menu_item[total++].text = "Reload Database"; // Reload Cheat Database
menu_item[total++].text = ui_getstring(UI_options); // Options menu_item[total++].text = "Options"; // Options
menu_item[total++].text = ui_getstring(UI_returntomain); // return to the MAME general menu menu_item[total++].text = "Return to Main Menu"; // return to the MAME general menu
menu_item[total].text = NULL; // terminate array menu_item[total].text = NULL; // terminate array
@ -2030,17 +2029,12 @@ static INT32 UserSelectValueMenu(int selection, CheatEntry * entry)
/* ----- print it ----- */ /* ----- print it ----- */
if(TEST_FIELD(action->type, UserSelectBCD)) if(TEST_FIELD(action->type, UserSelectBCD))
sprintf(buf, "\t%s\n\t%.2X\n", ui_getstring(UI_search_select_value), displayValue); sprintf(buf, "\tSelect a value\n\t%.2X\n", displayValue);
else else
sprintf(buf, "\t%s\n\t%.2X (%d)\n", ui_getstring(UI_search_select_value), displayValue, displayValue); sprintf(buf, "\tSelect a value\n\t%.2X (%d)\n", displayValue, displayValue);
/* ----- create fake menu strings ----- */ /* ----- create fake menu strings ----- */
strcat(buf, "\t"); strcat(buf, "\t OK ");
strcat(buf, ui_getstring(UI_lefthilight));
strcat(buf, " ");
strcat(buf, ui_getstring(UI_OK));
strcat(buf, " ");
strcat(buf, ui_getstring(UI_righthilight));
/* ----- print it ----- */ /* ----- print it ----- */
ui_draw_message_window(buf); ui_draw_message_window(buf);
@ -2184,7 +2178,7 @@ static INT32 CommentMenu(int selection, CheatEntry * entry)
else else
comment = "(none)"; comment = "(none)";
sprintf(buf, "%s\n\t%s %s %s", comment, ui_getstring(UI_lefthilight), ui_getstring(UI_OK), ui_getstring(UI_righthilight)); sprintf(buf, "%s\n\t OK ", comment);
/* ----- print it ----- */ /* ----- print it ----- */
ui_draw_message_window(buf); ui_draw_message_window(buf);
@ -2276,7 +2270,7 @@ static int EnableDisableCheatMenu(int selection, int firstTime)
if(traverse->selection && (traverse->selection < traverse->actionListLength)) if(traverse->selection && (traverse->selection < traverse->actionListLength))
menu_subitem[total] = traverse->actionList[traverse->selection].optionalName; menu_subitem[total] = traverse->actionList[traverse->selection].optionalName;
else else
menu_subitem[total] = ui_getstring(UI_off); menu_subitem[total] = "Off";
} }
else // others get "ON" or "OFF" else // others get "ON" or "OFF"
{ {
@ -2284,13 +2278,13 @@ static int EnableDisableCheatMenu(int selection, int firstTime)
if(!(traverse->flags & kCheatFlag_Null)) if(!(traverse->flags & kCheatFlag_Null))
{ {
if(traverse->flags & kCheatFlag_OneShot) if(traverse->flags & kCheatFlag_OneShot)
menu_subitem[total] = ui_getstring(UI_set); menu_subitem[total] = "Set";
else else
{ {
if(traverse->flags & kCheatFlag_Active) if(traverse->flags & kCheatFlag_Active)
menu_subitem[total] = ui_getstring(UI_on); menu_subitem[total] = "On";
else else
menu_subitem[total] = ui_getstring(UI_off); menu_subitem[total] = "Off";
} }
} }
} }
@ -2324,7 +2318,7 @@ static int EnableDisableCheatMenu(int selection, int firstTime)
} }
/* ----- set return item ----- */ /* ----- set return item ----- */
menu_item[total] = ui_getstring(UI_returntoprior); menu_item[total] = "Return to Prior Menu";
menu_subitem[total] = NULL; menu_subitem[total] = NULL;
flagBuf[total++] = 0; flagBuf[total++] = 0;
@ -2691,7 +2685,7 @@ static int AddEditCheatMenu(int selection)
menu_item[total++] = "(none)"; menu_item[total++] = "(none)";
} }
menu_item[total++] = ui_getstring(UI_returntoprior); // return menu_item[total++] = "Return to Prior Menu"; // return
menu_item[total] = NULL; // terminate array menu_item[total] = NULL; // terminate array
@ -3176,7 +3170,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
menuItemInfo[total].subcheat = i; menuItemInfo[total].subcheat = i;
menuItemInfo[total].fieldType = kType_LinkExtension; menuItemInfo[total].fieldType = kType_LinkExtension;
menuItem[total] = "Link Extension"; menuItem[total] = "Link Extension";
menuSubItem[total++] = ui_getstring(TEST_FIELD(traverse->type, LinkExtension) ? UI_on : UI_off); menuSubItem[total++] = TEST_FIELD(traverse->type, LinkExtension) ? "On" : "Off";
} }
{ {
@ -3221,7 +3215,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
menuItemInfo[total].subcheat = i; menuItemInfo[total].subcheat = i;
menuItemInfo[total].fieldType = kType_OneShot; menuItemInfo[total].fieldType = kType_OneShot;
menuItem[total] = "One Shot"; menuItem[total] = "One Shot";
menuSubItem[total++] = ui_getstring(TEST_FIELD(traverse->type, OneShot) ? UI_on : UI_off); menuSubItem[total++] = TEST_FIELD(traverse->type, OneShot) ? "On" : "Off";
} }
{ {
@ -3229,7 +3223,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
menuItemInfo[total].subcheat = i; menuItemInfo[total].subcheat = i;
menuItemInfo[total].fieldType = kType_RestorePreviousValue; menuItemInfo[total].fieldType = kType_RestorePreviousValue;
menuItem[total] = "Restore Previous Value"; menuItem[total] = "Restore Previous Value";
menuSubItem[total++] = ui_getstring(TEST_FIELD(traverse->type, RestorePreviousValue) ? UI_on : UI_off); menuSubItem[total++] = TEST_FIELD(traverse->type, RestorePreviousValue) ? "On" : "Off";
} }
} }
@ -3319,7 +3313,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
menuItemInfo[total].subcheat = i; menuItemInfo[total].subcheat = i;
menuItemInfo[total].fieldType = kType_WatchLabel; menuItemInfo[total].fieldType = kType_WatchLabel;
menuItem[total] = "Watch Label"; menuItem[total] = "Watch Label";
menuSubItem[total++] = ui_getstring(((typeParameter >> 2) & 0x01) ? UI_on : UI_off); menuSubItem[total++] = ((typeParameter >> 2) & 0x01) ? "On" : "Off";
} }
} }
else else
@ -3491,7 +3485,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
menuItemInfo[total].subcheat = i; menuItemInfo[total].subcheat = i;
menuItemInfo[total].fieldType = kType_UserSelect; menuItemInfo[total].fieldType = kType_UserSelect;
menuItem[total] = "User Select"; menuItem[total] = "User Select";
menuSubItem[total++] = ui_getstring(userSelect ? UI_on : UI_off); menuSubItem[total++] = userSelect ? "On" : "Off";
} }
if(!i && userSelect) if(!i && userSelect)
@ -3519,7 +3513,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
menuItemInfo[total].subcheat = i; menuItemInfo[total].subcheat = i;
menuItemInfo[total].fieldType = kType_UserSelectBCD; menuItemInfo[total].fieldType = kType_UserSelectBCD;
menuItem[total] = "BCD"; menuItem[total] = "BCD";
menuSubItem[total++] = ui_getstring(TEST_FIELD(traverse->type, UserSelectBCD) ? UI_on : UI_off); menuSubItem[total++] = TEST_FIELD(traverse->type, UserSelectBCD) ? "On" : "Off";
} }
if(userSelect || isSelect) if(userSelect || isSelect)
@ -3537,7 +3531,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
menuItemInfo[total].subcheat = i; menuItemInfo[total].subcheat = i;
menuItemInfo[total].fieldType = kType_CopyPrevious; menuItemInfo[total].fieldType = kType_CopyPrevious;
menuItem[total] = "Copy Previous Value"; menuItem[total] = "Copy Previous Value";
menuSubItem[total++] = ui_getstring(TEST_FIELD(traverse->type, LinkCopyPreviousValue) ? UI_on : UI_off); menuSubItem[total++] = TEST_FIELD(traverse->type, LinkCopyPreviousValue) ? "On" : "Off";
} }
} }
@ -3680,7 +3674,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
menuItemInfo[total].subcheat = 0; // return menuItemInfo[total].subcheat = 0; // return
menuItemInfo[total].fieldType = kType_Return; menuItemInfo[total].fieldType = kType_Return;
menuItem[total] = ui_getstring(UI_returntoprior); menuItem[total] = "Return to Prior Menu";
menuSubItem[total++] = NULL; menuSubItem[total++] = NULL;
menuItemInfo[total].subcheat = 0; // terminate arrey menuItemInfo[total].subcheat = 0; // terminate arrey
@ -4774,7 +4768,7 @@ static int DoSearchMenuMinimum(int selection)
/********** MENU CONSTRUCTION **********/ /********** MENU CONSTRUCTION **********/
sprintf(cpuBuffer, "%d", search->targetIdx); // CPU sprintf(cpuBuffer, "%d", search->targetIdx); // CPU
menuItem[total] = ui_getstring(UI_cpu); menuItem[total] = "CPU";
menuSubItem[total++] = cpuBuffer; menuSubItem[total++] = cpuBuffer;
if(search->sign && (search->oldOptions.value & kSearchByteSignBitTable[search->bytes])) if(search->sign && (search->oldOptions.value & kSearchByteSignBitTable[search->bytes]))
@ -4852,13 +4846,13 @@ static int DoSearchMenuMinimum(int selection)
menuItem[total] = "Save Memory"; menuItem[total] = "Save Memory";
menuSubItem[total++] = NULL; menuSubItem[total++] = NULL;
menuItem[total] = ui_getstring(UI_viewresults); // view result menuItem[total] = "View Last Results"; // view result
menuSubItem[total++] = NULL; menuSubItem[total++] = NULL;
menuItem[total] = ui_getstring(UI_restoreresults); // restore result menuItem[total] = "Restore Previous Results"; // restore result
menuSubItem[total++] = NULL; menuSubItem[total++] = NULL;
menuItem[total] = ui_getstring(UI_returntoprior); // return menuItem[total] = "Return to Prior Menu"; // return
menuSubItem[total++] = NULL; menuSubItem[total++] = NULL;
menuItem[total] = NULL; // terminate array menuItem[total] = NULL; // terminate array
@ -5397,7 +5391,7 @@ static int DoSearchMenuClassic(int selection)
menuSubItem[total++] = NULL; menuSubItem[total++] = NULL;
sprintf(cpuBuffer, "%d", search->targetIdx); sprintf(cpuBuffer, "%d", search->targetIdx);
menuItem[total] = ui_getstring(UI_cpu); menuItem[total] = "CPU";
menuSubItem[total++] = cpuBuffer; menuSubItem[total++] = cpuBuffer;
if(search->sign && (search->oldOptions.value & kSearchByteSignBitTable[search->bytes])) if(search->sign && (search->oldOptions.value & kSearchByteSignBitTable[search->bytes]))
@ -5441,13 +5435,13 @@ static int DoSearchMenuClassic(int selection)
menuItem[total] = "--------------------"; menuItem[total] = "--------------------";
menuSubItem[total++] = NULL; menuSubItem[total++] = NULL;
menuItem[total] = ui_getstring(UI_viewresults); // view result menuItem[total] = "View Last Results"; // view result
menuSubItem[total++] = NULL; menuSubItem[total++] = NULL;
menuItem[total] = ui_getstring(UI_restoreresults); // restore result menuItem[total] = "Restore Previous Results"; // restore result
menuSubItem[total++] = NULL; menuSubItem[total++] = NULL;
menuItem[total] = ui_getstring(UI_returntoprior); // return menuItem[total] = "Return to Prior Menu"; // return
menuSubItem[total++] = NULL; menuSubItem[total++] = NULL;
menuItem[total] = NULL; // terminate array menuItem[total] = NULL; // terminate array
@ -5952,10 +5946,10 @@ static int DoSearchMenu(int selection)
menu_subitem[total++] = kSearchByteNameTable[search->bytes]; menu_subitem[total++] = kSearchByteNameTable[search->bytes];
menu_item[total] = "Swap"; menu_item[total] = "Swap";
menu_subitem[total++] = ui_getstring(search->swap ? UI_on : UI_off); menu_subitem[total++] = search->swap ? "On" : "Off";
menu_item[total] = "Signed"; menu_item[total] = "Signed";
menu_subitem[total++] = ui_getstring(search->sign ? UI_on : UI_off); menu_subitem[total++] = search->sign ? "On" : "Off";
sprintf(cpuBuffer, "%d", search->targetIdx); sprintf(cpuBuffer, "%d", search->targetIdx);
menu_item[total] = "CPU"; menu_item[total] = "CPU";
@ -5979,13 +5973,13 @@ static int DoSearchMenu(int selection)
menu_item[total] = "---"; menu_item[total] = "---";
menu_subitem[total++] = NULL; menu_subitem[total++] = NULL;
menu_item[total] = ui_getstring(UI_viewresults); // view result menu_item[total] = "View Last Results"; // view result
menu_subitem[total++] = NULL; menu_subitem[total++] = NULL;
menu_item[total] = ui_getstring(UI_restoreresults); // restore result menu_item[total] = "Restore Previous Results"; // restore result
menu_subitem[total++] = NULL; menu_subitem[total++] = NULL;
menu_item[total] = ui_getstring(UI_returntoprior); // return menu_item[total] = "Return to Prior Menu"; // return
menu_subitem[total++] = NULL; menu_subitem[total++] = NULL;
menu_item[total] = NULL; // terminate array menu_item[total] = NULL; // terminate array
@ -6321,13 +6315,13 @@ static int SelectSearchRegions(int selection, SearchInfo * search)
SearchRegion * traverse = &search->regionList[i]; SearchRegion * traverse = &search->regionList[i];
menuItem[total] = traverse->name; menuItem[total] = traverse->name;
menuSubItem[total++] = ui_getstring((traverse->flags & kRegionFlag_Enabled) ? UI_on : UI_off); menuSubItem[total++] = (traverse->flags & kRegionFlag_Enabled) ? "On" : "Off";
} }
menuItem[total] = "Search Speed"; menuItem[total] = "Search Speed";
menuSubItem[total++] = kSearchSpeedList[search->searchSpeed]; menuSubItem[total++] = kSearchSpeedList[search->searchSpeed];
menuItem[total] = ui_getstring(UI_returntoprior); // return item menuItem[total] = "Return to Prior Menu"; // return item
menuSubItem[total++] = NULL; menuSubItem[total++] = NULL;
menuItem[total] = NULL; // terminate array menuItem[total] = NULL; // terminate array
@ -6604,7 +6598,7 @@ static int ViewSearchResults(int selection, int firstTime)
menu_item[total++] = "no results found"; menu_item[total++] = "no results found";
} }
menu_item[total++] = ui_getstring(UI_returntoprior); // return menu_item[total++] = "Return to Prior Menu"; // return
menu_item[total] = NULL; // terminate array menu_item[total] = NULL; // terminate array
@ -6869,7 +6863,7 @@ static int ChooseWatch(int selection)
total++; total++;
} }
menuItem[total++] = ui_getstring(UI_returntoprior); // return menuItem[total++] = "Return to Prior Menu"; // return
menuItem[total] = NULL; // terminate array menuItem[total] = NULL; // terminate array
@ -7174,7 +7168,7 @@ static int EditWatch(WatchInfo * entry, int selection)
menuSubItem[total] = buf[total]; menuSubItem[total] = buf[total];
total++; total++;
menuItem[total] = ui_getstring(UI_returntoprior); // return menuItem[total] = "Return to Prior Menu"; // return
menuSubItem[total++] = NULL; menuSubItem[total++] = NULL;
menuItem[total] = NULL; // terminate array menuItem[total] = NULL; // terminate array
@ -7612,21 +7606,21 @@ static int SelectOptions(int selection)
} }
menuItem[total] = "Show Search Labels"; menuItem[total] = "Show Search Labels";
menuSubItem[total++] = ui_getstring(TEST_FIELD(cheatOptions, DontPrintNewLabels) ? UI_off : UI_on); menuSubItem[total++] = TEST_FIELD(cheatOptions, DontPrintNewLabels) ? "Off" : "On";
menuItem[total] = "Auto Save Cheats"; menuItem[total] = "Auto Save Cheats";
menuSubItem[total++] = ui_getstring(TEST_FIELD(cheatOptions, AutoSaveEnabled) ? UI_on : UI_off); menuSubItem[total++] = TEST_FIELD(cheatOptions, AutoSaveEnabled) ? "On" : "Off";
menuItem[total] = "Show Activation Key Message"; menuItem[total] = "Show Activation Key Message";
menuSubItem[total++] = ui_getstring(TEST_FIELD(cheatOptions, ActivationKeyMessage) ? UI_on : UI_off); menuSubItem[total++] = TEST_FIELD(cheatOptions, ActivationKeyMessage) ? "On" : "Off";
menuItem[total] = "Load Old Format Code"; menuItem[total] = "Load Old Format Code";
menuSubItem[total++] = ui_getstring(TEST_FIELD(cheatOptions, LoadOldFormat) ? UI_on : UI_off); menuSubItem[total++] = TEST_FIELD(cheatOptions, LoadOldFormat) ? "On" : "Off";
menuItem[total] = "Debug"; menuItem[total] = "Debug";
menuSubItem[total++] = ui_getstring(TEST_FIELD(cheatOptions, Debug) ? UI_on : UI_off); menuSubItem[total++] = TEST_FIELD(cheatOptions, Debug) ? "On" : "Off";
menuItem[total] = ui_getstring(UI_returntoprior); // return menuItem[total] = "Return to Prior Menu"; // return
menuSubItem[total++] = NULL; menuSubItem[total++] = NULL;
menuItem[total] = NULL; // terminate array menuItem[total] = NULL; // terminate array
@ -7800,7 +7794,7 @@ static int SelectSearch(int selection)
total++; total++;
} }
menuItem[total++] = ui_getstring(UI_returntoprior); // return menuItem[total++] = "Return to Prior Menu"; // return
menuItem[total] = NULL; // terminate array menuItem[total] = NULL; // terminate array
@ -7895,14 +7889,14 @@ static TIMER_CALLBACK( cheat_periodic )
/* ------ toggle watchpoint display if shift + toggle cheat ----- */ /* ------ toggle watchpoint display if shift + toggle cheat ----- */
watchesDisabled ^= 1; watchesDisabled ^= 1;
ui_popup_time(1, "%s %s", ui_getstring(UI_watchpoints), watchesDisabled ? ui_getstring (UI_off) : ui_getstring (UI_on)); ui_popup_time(1, "Watchpoints %s", watchesDisabled ? "Off" : "On");
} }
else else
{ {
/* ------ toggle cheat ----- */ /* ------ toggle cheat ----- */
cheatsDisabled ^= 1; cheatsDisabled ^= 1;
ui_popup_time(1, "%s %s", ui_getstring(UI_cheats), cheatsDisabled ? ui_getstring (UI_off) : ui_getstring (UI_on)); ui_popup_time(1, "Cheats %s", cheatsDisabled ? "Off" : "On");
if(cheatsDisabled) if(cheatsDisabled)
{ {

View File

@ -73,7 +73,6 @@ EMUOBJS = \
$(EMUOBJ)/ui.o \ $(EMUOBJ)/ui.o \
$(EMUOBJ)/uigfx.o \ $(EMUOBJ)/uigfx.o \
$(EMUOBJ)/uimenu.o \ $(EMUOBJ)/uimenu.o \
$(EMUOBJ)/uitext.o \
$(EMUOBJ)/validity.o \ $(EMUOBJ)/validity.o \
$(EMUOBJ)/video.o \ $(EMUOBJ)/video.o \

View File

@ -19,7 +19,6 @@
#include "ui.h" #include "ui.h"
#include "uimenu.h" #include "uimenu.h"
#include "uigfx.h" #include "uigfx.h"
#include "uitext.h"
#ifdef MESS #ifdef MESS
#include "mess.h" #include "mess.h"
@ -247,10 +246,6 @@ int ui_init(running_machine *machine)
/* make sure we clean up after ourselves */ /* make sure we clean up after ourselves */
add_exit_callback(machine, ui_exit); add_exit_callback(machine, ui_exit);
/* load the localization file */
/* fix me -- need to find a real way to do this */
uistring_init(NULL);
/* allocate the font */ /* allocate the font */
ui_font = render_font_alloc("ui.bdf"); ui_font = render_font_alloc("ui.bdf");
@ -939,9 +934,9 @@ int ui_is_slider_active(void)
static int sprintf_disclaimer(char *buffer) static int sprintf_disclaimer(char *buffer)
{ {
char *bufptr = buffer; char *bufptr = buffer;
bufptr += sprintf(bufptr, "%s\n\n", ui_getstring(UI_copyright1)); bufptr += sprintf(bufptr, "Usage of emulators in conjunction with ROMs you don't own is forbidden by copyright law.\n\n");
bufptr += sprintf(bufptr, ui_getstring(UI_copyright2), Machine->gamedrv->description); bufptr += sprintf(bufptr, "IF YOU ARE NOT LEGALLY ENTITLED TO PLAY \"%s\" ON THIS EMULATOR, PRESS ESC.\n\n", Machine->gamedrv->description);
bufptr += sprintf(bufptr, "\n\n%s", ui_getstring(UI_copyright3)); bufptr += sprintf(bufptr, "Otherwise, type OK or move the joystick left then right to continue");
return bufptr - buffer; return bufptr - buffer;
} }
@ -971,7 +966,7 @@ static int sprintf_warnings(char *buffer)
/* add a warning if any ROMs were loaded with warnings */ /* add a warning if any ROMs were loaded with warnings */
if (rom_load_warnings() > 0) if (rom_load_warnings() > 0)
{ {
bufptr += sprintf(bufptr, "%s\n", ui_getstring(UI_incorrectroms)); bufptr += sprintf(bufptr, "One or more ROMs/CHDs for this game are incorrect. The " GAMENOUN " may not run correctly.\n");
if (Machine->gamedrv->flags & WARNING_FLAGS) if (Machine->gamedrv->flags & WARNING_FLAGS)
*bufptr++ = '\n'; *bufptr++ = '\n';
} }
@ -979,7 +974,7 @@ static int sprintf_warnings(char *buffer)
/* if we have at least one warning flag, print the general header */ /* if we have at least one warning flag, print the general header */
if (Machine->gamedrv->flags & WARNING_FLAGS) if (Machine->gamedrv->flags & WARNING_FLAGS)
{ {
bufptr += sprintf(bufptr, "%s\n\n", ui_getstring(UI_knownproblems)); bufptr += sprintf(bufptr, "There are known problems with this " GAMENOUN "\n\n");
/* add one line per warning flag */ /* add one line per warning flag */
#ifdef MESS #ifdef MESS
@ -987,17 +982,17 @@ static int sprintf_warnings(char *buffer)
bufptr += sprintf(bufptr, "%s\n\n%s\n", ui_getstring(UI_comp1), ui_getstring(UI_comp2)); bufptr += sprintf(bufptr, "%s\n\n%s\n", ui_getstring(UI_comp1), ui_getstring(UI_comp2));
#endif #endif
if (Machine->gamedrv->flags & GAME_IMPERFECT_COLORS) if (Machine->gamedrv->flags & GAME_IMPERFECT_COLORS)
bufptr += sprintf(bufptr, "%s\n", ui_getstring(UI_imperfectcolors)); bufptr += sprintf(bufptr, "The colors aren't 100%% accurate.\n");
if (Machine->gamedrv->flags & GAME_WRONG_COLORS) if (Machine->gamedrv->flags & GAME_WRONG_COLORS)
bufptr += sprintf(bufptr, "%s\n", ui_getstring(UI_wrongcolors)); bufptr += sprintf(bufptr, "The colors are completely wrong.\n");
if (Machine->gamedrv->flags & GAME_IMPERFECT_GRAPHICS) if (Machine->gamedrv->flags & GAME_IMPERFECT_GRAPHICS)
bufptr += sprintf(bufptr, "%s\n", ui_getstring(UI_imperfectgraphics)); bufptr += sprintf(bufptr, "The video emulation isn't 100%% accurate.\n");
if (Machine->gamedrv->flags & GAME_IMPERFECT_SOUND) if (Machine->gamedrv->flags & GAME_IMPERFECT_SOUND)
bufptr += sprintf(bufptr, "%s\n", ui_getstring(UI_imperfectsound)); bufptr += sprintf(bufptr, "The sound emulation isn't 100%% accurate.\n");
if (Machine->gamedrv->flags & GAME_NO_SOUND) if (Machine->gamedrv->flags & GAME_NO_SOUND)
bufptr += sprintf(bufptr, "%s\n", ui_getstring(UI_nosound)); bufptr += sprintf(bufptr, "The game lacks sound.\n");
if (Machine->gamedrv->flags & GAME_NO_COCKTAIL) if (Machine->gamedrv->flags & GAME_NO_COCKTAIL)
bufptr += sprintf(bufptr, "%s\n", ui_getstring(UI_nococktail)); bufptr += sprintf(bufptr, "Screen flipping in cocktail mode is not supported.\n");
/* if there's a NOT WORKING or UNEMULATED PROTECTION warning, make it stronger */ /* if there's a NOT WORKING or UNEMULATED PROTECTION warning, make it stronger */
if (Machine->gamedrv->flags & (GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION)) if (Machine->gamedrv->flags & (GAME_NOT_WORKING | GAME_UNEMULATED_PROTECTION))
@ -1008,9 +1003,9 @@ static int sprintf_warnings(char *buffer)
/* add the strings for these warnings */ /* add the strings for these warnings */
if (Machine->gamedrv->flags & GAME_NOT_WORKING) if (Machine->gamedrv->flags & GAME_NOT_WORKING)
bufptr += sprintf(bufptr, "%s\n", ui_getstring(UI_brokengame)); bufptr += sprintf(bufptr, "THIS " CAPGAMENOUN " DOESN'T WORK. You won't be able to make it work correctly. Don't bother.\n");
if (Machine->gamedrv->flags & GAME_UNEMULATED_PROTECTION) if (Machine->gamedrv->flags & GAME_UNEMULATED_PROTECTION)
bufptr += sprintf(bufptr, "%s\n", ui_getstring(UI_brokenprotection)); bufptr += sprintf(bufptr, "The game has protection which isn't fully emulated.\n");
/* find the parent of this driver */ /* find the parent of this driver */
clone_of = driver_get_clone(Machine->gamedrv); clone_of = driver_get_clone(Machine->gamedrv);
@ -1027,7 +1022,7 @@ static int sprintf_warnings(char *buffer)
{ {
/* this one works, add a header and display the name of the clone */ /* this one works, add a header and display the name of the clone */
if (foundworking == 0) if (foundworking == 0)
bufptr += sprintf(bufptr, "\n\n%s\n\n", ui_getstring(UI_workingclones)); bufptr += sprintf(bufptr, "\n\nThere are working clones of this game. They are:\n\n");
bufptr += sprintf(bufptr, "%s\n", drivers[i]->name); bufptr += sprintf(bufptr, "%s\n", drivers[i]->name);
foundworking = 1; foundworking = 1;
} }
@ -1035,7 +1030,7 @@ static int sprintf_warnings(char *buffer)
} }
/* add the 'press OK' string */ /* add the 'press OK' string */
bufptr += sprintf(bufptr, "\n\n%s", ui_getstring(UI_typeok)); bufptr += sprintf(bufptr, "\n\nType OK or move the joystick left then right to continue");
return bufptr - buffer; return bufptr - buffer;
} }
@ -1052,7 +1047,7 @@ int sprintf_game_info(char *buffer)
int count; int count;
/* print description, manufacturer, and CPU: */ /* print description, manufacturer, and CPU: */
bufptr += sprintf(bufptr, "%s\n%s %s\n\n%s:\n", Machine->gamedrv->description, Machine->gamedrv->year, Machine->gamedrv->manufacturer, ui_getstring(UI_cpu)); bufptr += sprintf(bufptr, "%s\n%s %s\n\nCPU:\n", Machine->gamedrv->description, Machine->gamedrv->year, Machine->gamedrv->manufacturer);
/* loop over all CPUs */ /* loop over all CPUs */
for (cpunum = 0; cpunum < MAX_CPU && Machine->drv->cpu[cpunum].type != CPU_DUMMY; cpunum += count) for (cpunum = 0; cpunum < MAX_CPU && Machine->drv->cpu[cpunum].type != CPU_DUMMY; cpunum += count)
@ -1079,7 +1074,7 @@ int sprintf_game_info(char *buffer)
} }
/* append the Sound: string */ /* append the Sound: string */
bufptr += sprintf(bufptr, "\n%s:\n", ui_getstring(UI_sound)); bufptr += sprintf(bufptr, "\nSound:\n");
/* loop over all sound chips */ /* loop over all sound chips */
for (sndnum = 0; sndnum < MAX_SOUND && Machine->drv->sound[sndnum].type != SOUND_DUMMY; sndnum += count) for (sndnum = 0; sndnum < MAX_SOUND && Machine->drv->sound[sndnum].type != SOUND_DUMMY; sndnum += count)
@ -1109,12 +1104,11 @@ int sprintf_game_info(char *buffer)
/* display vector information for vector games */ /* display vector information for vector games */
if (Machine->drv->video_attributes & VIDEO_TYPE_VECTOR) if (Machine->drv->video_attributes & VIDEO_TYPE_VECTOR)
bufptr += sprintf(bufptr, "\n%s\n", ui_getstring(UI_vectorgame)); bufptr += sprintf(bufptr, "\nVector Game\n");
/* display screen resolution and refresh rate info for raster games */ /* display screen resolution and refresh rate info for raster games */
else if (Machine->drv->video_attributes & VIDEO_TYPE_RASTER) else if (Machine->drv->video_attributes & VIDEO_TYPE_RASTER)
bufptr += sprintf(bufptr,"\n%s:\n%d " UTF8_MULTIPLY " %d (%s) %f" UTF8_NBSP "Hz\n", bufptr += sprintf(bufptr,"\nScreen Resolution:\n%d " UTF8_MULTIPLY " %d (%s) %f" UTF8_NBSP "Hz\n",
ui_getstring(UI_screenres),
Machine->screen[0].visarea.max_x - Machine->screen[0].visarea.min_x + 1, Machine->screen[0].visarea.max_x - Machine->screen[0].visarea.min_x + 1,
Machine->screen[0].visarea.max_y - Machine->screen[0].visarea.min_y + 1, Machine->screen[0].visarea.max_y - Machine->screen[0].visarea.min_y + 1,
(Machine->gamedrv->flags & ORIENTATION_SWAP_XY) ? "V" : "H", (Machine->gamedrv->flags & ORIENTATION_SWAP_XY) ? "V" : "H",
@ -1661,7 +1655,7 @@ static INT32 slider_volume(INT32 newval, char *buffer, int arg)
if (buffer != NULL) if (buffer != NULL)
{ {
sound_set_attenuation(newval); sound_set_attenuation(newval);
sprintf(buffer, "%s %3ddB", ui_getstring(UI_volume), sound_get_attenuation()); sprintf(buffer, "Volume %3ddB", sound_get_attenuation());
} }
return sound_get_attenuation(); return sound_get_attenuation();
} }
@ -1677,7 +1671,7 @@ static INT32 slider_mixervol(INT32 newval, char *buffer, int arg)
if (buffer != NULL) if (buffer != NULL)
{ {
sound_set_user_gain(arg, (float)newval * 0.001f); sound_set_user_gain(arg, (float)newval * 0.001f);
sprintf(buffer, "%s %s %4.2f", sound_get_user_gain_name(arg), ui_getstring(UI_volume), sound_get_user_gain(arg)); sprintf(buffer, "%s Volume %4.2f", sound_get_user_gain_name(arg), sound_get_user_gain(arg));
} }
return floor(sound_get_user_gain(arg) * 1000.0f + 0.5f); return floor(sound_get_user_gain(arg) * 1000.0f + 0.5f);
} }
@ -1710,7 +1704,7 @@ static INT32 slider_overclock(INT32 newval, char *buffer, int arg)
if (buffer != NULL) if (buffer != NULL)
{ {
cpunum_set_clockscale(arg, (float)newval * 0.001f); cpunum_set_clockscale(arg, (float)newval * 0.001f);
sprintf(buffer, "%s %s%d %3.0f%%", ui_getstring(UI_overclock), ui_getstring(UI_cpu), arg, floor(cpunum_get_clockscale(arg) * 100.0f + 0.5f)); sprintf(buffer, "Overclock CPU %d %3.0f%%", arg, floor(cpunum_get_clockscale(arg) * 100.0f + 0.5f));
} }
return floor(cpunum_get_clockscale(arg) * 1000.0f + 0.5f); return floor(cpunum_get_clockscale(arg) * 1000.0f + 0.5f);
} }
@ -1729,7 +1723,7 @@ static INT32 slider_refresh(INT32 newval, char *buffer, int arg)
{ {
screen_state *state = &Machine->screen[arg]; screen_state *state = &Machine->screen[arg];
video_screen_configure(arg, state->width, state->height, &state->visarea, HZ_TO_ATTOSECONDS(defrefresh + (double)newval * 0.001)); video_screen_configure(arg, state->width, state->height, &state->visarea, HZ_TO_ATTOSECONDS(defrefresh + (double)newval * 0.001));
sprintf(buffer, "Screen %d %s %.3f", arg, ui_getstring(UI_refresh_rate), ATTOSECONDS_TO_HZ(Machine->screen[arg].refresh)); sprintf(buffer, "Screen %d Refresh rate %.3f", arg, ATTOSECONDS_TO_HZ(Machine->screen[arg].refresh));
} }
refresh = ATTOSECONDS_TO_HZ(Machine->screen[arg].refresh); refresh = ATTOSECONDS_TO_HZ(Machine->screen[arg].refresh);
return floor((refresh - defrefresh) * 1000.0f + 0.5f); return floor((refresh - defrefresh) * 1000.0f + 0.5f);
@ -1747,7 +1741,7 @@ static INT32 slider_brightness(INT32 newval, char *buffer, int arg)
if (buffer != NULL) if (buffer != NULL)
{ {
render_container_set_brightness(container, (float)newval * 0.001f); render_container_set_brightness(container, (float)newval * 0.001f);
sprintf(buffer, "Screen %d %s %.3f", arg, ui_getstring(UI_brightness), render_container_get_brightness(container)); sprintf(buffer, "Screen %d Brightness %.3f", arg, render_container_get_brightness(container));
} }
return floor(render_container_get_brightness(container) * 1000.0f + 0.5f); return floor(render_container_get_brightness(container) * 1000.0f + 0.5f);
} }
@ -1764,7 +1758,7 @@ static INT32 slider_contrast(INT32 newval, char *buffer, int arg)
if (buffer != NULL) if (buffer != NULL)
{ {
render_container_set_contrast(container, (float)newval * 0.001f); render_container_set_contrast(container, (float)newval * 0.001f);
sprintf(buffer, "Screen %d %s %.3f", arg, ui_getstring(UI_contrast), render_container_get_contrast(container)); sprintf(buffer, "Screen %d Contrast %.3f", arg, render_container_get_contrast(container));
} }
return floor(render_container_get_contrast(container) * 1000.0f + 0.5f); return floor(render_container_get_contrast(container) * 1000.0f + 0.5f);
} }
@ -1780,7 +1774,7 @@ static INT32 slider_gamma(INT32 newval, char *buffer, int arg)
if (buffer != NULL) if (buffer != NULL)
{ {
render_container_set_gamma(container, (float)newval * 0.001f); render_container_set_gamma(container, (float)newval * 0.001f);
sprintf(buffer, "Screen %d %s %.3f", arg, ui_getstring(UI_gamma), render_container_get_gamma(container)); sprintf(buffer, "Screen %d Gamma %.3f", arg, render_container_get_gamma(container));
} }
return floor(render_container_get_gamma(container) * 1000.0f + 0.5f); return floor(render_container_get_gamma(container) * 1000.0f + 0.5f);
} }
@ -1864,7 +1858,7 @@ static INT32 slider_flicker(INT32 newval, char *buffer, int arg)
if (buffer != NULL) if (buffer != NULL)
{ {
vector_set_flicker((float)newval * 0.1f); vector_set_flicker((float)newval * 0.1f);
sprintf(buffer, "%s %1.2f", ui_getstring(UI_vectorflicker), vector_get_flicker()); sprintf(buffer, "Vector Flicker %1.2f", vector_get_flicker());
} }
return floor(vector_get_flicker() * 10.0f + 0.5f); return floor(vector_get_flicker() * 10.0f + 0.5f);
} }

View File

@ -13,7 +13,6 @@
#include "rendutil.h" #include "rendutil.h"
#include "cheat.h" #include "cheat.h"
#include "uimenu.h" #include "uimenu.h"
#include "uitext.h"
#include "audit.h" #include "audit.h"
#ifdef MESS #ifdef MESS
@ -184,7 +183,7 @@ static void switches_menu_add_item(ui_menu_item *item, const input_port_entry *i
static void switches_menu_select_previous(input_port_entry *in, int switch_entry); static void switches_menu_select_previous(input_port_entry *in, int switch_entry);
static void switches_menu_select_next(input_port_entry *in, int switch_entry); static void switches_menu_select_next(input_port_entry *in, int switch_entry);
//static int switches_menu_compare_items(const void *i1, const void *i2); //static int switches_menu_compare_items(const void *i1, const void *i2);
static void analog_menu_add_item(ui_menu_item *item, const input_port_entry *in, int append_string, int which_item); static void analog_menu_add_item(ui_menu_item *item, const input_port_entry *in, const char *append_string, int which_item);
/* DIP switch helpers */ /* DIP switch helpers */
static void dip_switch_build_model(input_port_entry *entry, int item_is_selected); static void dip_switch_build_model(input_port_entry *entry, int item_is_selected);
@ -533,7 +532,7 @@ int ui_menu_draw(const ui_menu_item *items, int numitems, int selected, const me
static void ui_menu_draw_text_box(const char *text) static void ui_menu_draw_text_box(const char *text)
{ {
const char *priortext = ui_getstring(UI_returntoprior); const char *priortext = "Return to Prior Menu";
float line_height = ui_get_line_height(); float line_height = ui_get_line_height();
float lr_arrow_width = 0.4f * line_height * render_get_ui_aspect(); float lr_arrow_width = 0.4f * line_height * render_get_ui_aspect();
float gutter_width = lr_arrow_width; float gutter_width = lr_arrow_width;
@ -756,7 +755,7 @@ static UINT32 menu_main(UINT32 state)
{ {
#define ADD_MENU(name, _handler, _param) \ #define ADD_MENU(name, _handler, _param) \
do { \ do { \
item_list[menu_items].text = ui_getstring(name); \ item_list[menu_items].text = name; \
handler_list[menu_items].handler = _handler; \ handler_list[menu_items].handler = _handler; \
handler_list[menu_items].state = _param; \ handler_list[menu_items].state = _param; \
menu_items++; \ menu_items++; \
@ -790,57 +789,57 @@ do { \
memset(item_list, 0, sizeof(item_list)); memset(item_list, 0, sizeof(item_list));
/* add input menu items */ /* add input menu items */
ADD_MENU(UI_inputgeneral, menu_input_groups, 0); ADD_MENU("Input (general)", menu_input_groups, 0);
ADD_MENU(UI_inputspecific, menu_input, 1000 << 16); ADD_MENU("Input (this " CAPSTARTGAMENOUN ")", menu_input, 1000 << 16);
/* add optional input-related menus */ /* add optional input-related menus */
if (has_dips) if (has_dips)
ADD_MENU(UI_dipswitches, menu_switches, (IPT_DIPSWITCH_NAME << 16) | (IPT_DIPSWITCH_SETTING << 24)); ADD_MENU("Dip Switches", menu_switches, (IPT_DIPSWITCH_NAME << 16) | (IPT_DIPSWITCH_SETTING << 24));
if (has_configs) if (has_configs)
ADD_MENU(UI_configuration, menu_switches, (IPT_CONFIG_NAME << 16) | (IPT_CONFIG_SETTING << 24)); ADD_MENU("Driver Configuration", menu_switches, (IPT_CONFIG_NAME << 16) | (IPT_CONFIG_SETTING << 24));
#ifdef MESS #ifdef MESS
if (has_categories) if (has_categories)
ADD_MENU(UI_categories, menu_switches, (IPT_CATEGORY_NAME << 16) | (IPT_CATEGORY_SETTING << 24)); ADD_MENU("Categories", menu_switches, (IPT_CATEGORY_NAME << 16) | (IPT_CATEGORY_SETTING << 24));
#endif #endif
if (has_analog) if (has_analog)
ADD_MENU(UI_analogcontrols, menu_analog, 0); ADD_MENU("Analog Controls", menu_analog, 0);
#ifndef MESS #ifndef MESS
/* add bookkeeping menu */ /* add bookkeeping menu */
ADD_MENU(UI_bookkeeping, menu_bookkeeping, 0); ADD_MENU("Bookkeeping Info", menu_bookkeeping, 0);
#endif #endif
/* add game info menu */ /* add game info menu */
ADD_MENU(UI_gameinfo, menu_game_info, 0); ADD_MENU(CAPSTARTGAMENOUN " Information", menu_game_info, 0);
#ifdef MESS #ifdef MESS
/* add image info menu */ /* add image info menu */
ADD_MENU(UI_imageinfo, ui_menu_image_info, 0); ADD_MENU("Image Information", ui_menu_image_info, 0);
/* add image info menu */ /* add image info menu */
ADD_MENU(UI_filemanager, menu_file_manager, 1); ADD_MENU("File Manager", menu_file_manager, 1);
#if HAS_WAVE #if HAS_WAVE
/* add tape control menu */ /* add tape control menu */
if (device_find(Machine->devices, IO_CASSETTE)) if (device_find(Machine->devices, IO_CASSETTE))
ADD_MENU(UI_tapecontrol, menu_tape_control, 1); ADD_MENU("Tape Control", menu_tape_control, 1);
#endif /* HAS_WAVE */ #endif /* HAS_WAVE */
#endif /* MESS */ #endif /* MESS */
/* add video options menu */ /* add video options menu */
ADD_MENU(UI_video, menu_video, 1000 << 16); ADD_MENU("Video Options", menu_video, 1000 << 16);
/* add cheat menu */ /* add cheat menu */
if (options_get_bool(mame_options(), OPTION_CHEAT)) if (options_get_bool(mame_options(), OPTION_CHEAT))
ADD_MENU(UI_cheat, menu_cheat, 1); ADD_MENU("Cheat", menu_cheat, 1);
/* add memory card menu */ /* add memory card menu */
if (Machine->drv->memcard_handler != NULL) if (Machine->drv->memcard_handler != NULL)
ADD_MENU(UI_memorycard, menu_memory_card, 0); ADD_MENU("Memory Card", menu_memory_card, 0);
/* add reset and exit menus */ /* add reset and exit menus */
ADD_MENU(UI_selectgame, menu_select_game, 1 << 16); ADD_MENU("Select New " CAPSTARTGAMENOUN, menu_select_game, 1 << 16);
ADD_MENU(UI_returntogame, NULL, 0); ADD_MENU("Return to " CAPSTARTGAMENOUN, NULL, 0);
/* draw the menu */ /* draw the menu */
visible_items = ui_menu_draw(item_list, menu_items, state, NULL); visible_items = ui_menu_draw(item_list, menu_items, state, NULL);
@ -867,16 +866,19 @@ static UINT32 menu_input_groups(UINT32 state)
ui_menu_item item_list[IPG_TOTAL_GROUPS + 2]; ui_menu_item item_list[IPG_TOTAL_GROUPS + 2];
int menu_items = 0; int menu_items = 0;
int visible_items; int visible_items;
int player;
/* reset the menu */ /* reset the menu */
memset(item_list, 0, sizeof(item_list)); memset(item_list, 0, sizeof(item_list));
/* build up the menu */ /* build up the menu */
for (menu_items = 0; menu_items < IPG_TOTAL_GROUPS; menu_items++) item_list[menu_items++].text = "User Interface";
item_list[menu_items].text = ui_getstring(UI_uigroup + menu_items); for (player = 0; player < MAX_PLAYERS; player++)
item_list[menu_items++].text = menu_string_pool_add("Player %d Controls", player + 1);
item_list[menu_items++].text = "Other Controls";
/* add an item for the return */ /* add an item for the return */
item_list[menu_items++].text = ui_getstring(UI_returntoprior); item_list[menu_items++].text = "Return to Prior Menu";
/* draw the menu */ /* draw the menu */
visible_items = ui_menu_draw(item_list, menu_items, state, NULL); visible_items = ui_menu_draw(item_list, menu_items, state, NULL);
@ -932,7 +934,7 @@ static UINT32 menu_input(UINT32 state)
qsort(item_list, menu_items, sizeof(item_list[0]), input_menu_compare_items); qsort(item_list, menu_items, sizeof(item_list[0]), input_menu_compare_items);
/* add an item to return */ /* add an item to return */
item_list[menu_items++].text = ui_getstring(UI_returntoprior); item_list[menu_items++].text = "Return to Prior Menu";
/* if we're polling, just put an empty entry and arrows for the subitem */ /* if we're polling, just put an empty entry and arrows for the subitem */
if (polling) if (polling)
@ -1037,7 +1039,7 @@ static UINT32 menu_switches(UINT32 state)
selected_in = item_list[selected].ref; selected_in = item_list[selected].ref;
/* add an item to return */ /* add an item to return */
item_list[menu_items++].text = ui_getstring(UI_returntoprior); item_list[menu_items++].text = "Return to Prior Menu";
/* configure the extra menu */ /* configure the extra menu */
extra.top = 0; extra.top = 0;
@ -1140,15 +1142,15 @@ static UINT32 menu_analog(UINT32 state)
} }
/* add the needed items for each analog input */ /* add the needed items for each analog input */
analog_menu_add_item(&item_list[menu_items++], in, UI_keyjoyspeed, ANALOG_ITEM_KEYSPEED); analog_menu_add_item(&item_list[menu_items++], in, "Digital Speed", ANALOG_ITEM_KEYSPEED);
if (use_autocenter) if (use_autocenter)
analog_menu_add_item(&item_list[menu_items++], in, UI_centerspeed, ANALOG_ITEM_CENTERSPEED); analog_menu_add_item(&item_list[menu_items++], in, "Autocenter Speed", ANALOG_ITEM_CENTERSPEED);
analog_menu_add_item(&item_list[menu_items++], in, UI_reverse, ANALOG_ITEM_REVERSE); analog_menu_add_item(&item_list[menu_items++], in, "Reverse", ANALOG_ITEM_REVERSE);
analog_menu_add_item(&item_list[menu_items++], in, UI_sensitivity, ANALOG_ITEM_SENSITIVITY); analog_menu_add_item(&item_list[menu_items++], in, "Sensitivity", ANALOG_ITEM_SENSITIVITY);
} }
/* add an item to return */ /* add an item to return */
item_list[menu_items++].text = ui_getstring(UI_returntoprior); item_list[menu_items++].text = "Return to Prior Menu";
/* draw the menu */ /* draw the menu */
visible_items = ui_menu_draw(item_list, menu_items, state, NULL); visible_items = ui_menu_draw(item_list, menu_items, state, NULL);
@ -1196,29 +1198,29 @@ static UINT32 menu_bookkeeping(UINT32 state)
/* show total time first */ /* show total time first */
total_time = timer_get_time(); total_time = timer_get_time();
if (total_time.seconds >= 60 * 60) if (total_time.seconds >= 60 * 60)
bufptr += sprintf(bufptr, "%s: %d:%02d:%02d\n\n", ui_getstring(UI_totaltime), total_time.seconds / (60*60), (total_time.seconds / 60) % 60, total_time.seconds % 60); bufptr += sprintf(bufptr, "Uptime: %d:%02d:%02d\n\n", total_time.seconds / (60*60), (total_time.seconds / 60) % 60, total_time.seconds % 60);
else else
bufptr += sprintf(bufptr, "%s: %d:%02d\n\n", ui_getstring(UI_totaltime), (total_time.seconds / 60) % 60, total_time.seconds % 60); bufptr += sprintf(bufptr, "Uptime: %d:%02d\n\n", (total_time.seconds / 60) % 60, total_time.seconds % 60);
/* show tickets at the top */ /* show tickets at the top */
if (dispensed_tickets) if (dispensed_tickets)
bufptr += sprintf(bufptr, "%s: %d\n\n", ui_getstring(UI_tickets), dispensed_tickets); bufptr += sprintf(bufptr, "Tickets dispensed: %d\n\n", dispensed_tickets);
/* loop over coin counters */ /* loop over coin counters */
for (ctrnum = 0; ctrnum < COIN_COUNTERS; ctrnum++) for (ctrnum = 0; ctrnum < COIN_COUNTERS; ctrnum++)
{ {
/* display the coin counter number */ /* display the coin counter number */
bufptr += sprintf(bufptr, "%s %c: ", ui_getstring(UI_coin), ctrnum + 'A'); bufptr += sprintf(bufptr, "Coin %c: ", ctrnum + 'A');
/* display how many coins */ /* display how many coins */
if (!coin_count[ctrnum]) if (!coin_count[ctrnum])
bufptr += sprintf(bufptr, "%s", ui_getstring(UI_NA)); bufptr += sprintf(bufptr, "NA");
else else
bufptr += sprintf(bufptr, "%d", coin_count[ctrnum]); bufptr += sprintf(bufptr, "%d", coin_count[ctrnum]);
/* display whether or not we are locked out */ /* display whether or not we are locked out */
if (coinlockedout[ctrnum]) if (coinlockedout[ctrnum])
bufptr += sprintf(bufptr, " %s", ui_getstring(UI_locked)); bufptr += sprintf(bufptr, " (locked)");
*bufptr++ = '\n'; *bufptr++ = '\n';
} }
*bufptr = 0; *bufptr = 0;
@ -1288,7 +1290,7 @@ static UINT32 menu_memory_card(UINT32 state)
menu_string_pool_offset = 0; menu_string_pool_offset = 0;
/* add the card select menu */ /* add the card select menu */
item_list[menu_items].text = ui_getstring(UI_selectcard); item_list[menu_items].text = "Card Number:";
item_list[menu_items].subtext = menu_string_pool_add("%d", cardnum); item_list[menu_items].subtext = menu_string_pool_add("%d", cardnum);
if (cardnum > 0) if (cardnum > 0)
item_list[menu_items].flags |= MENU_FLAG_LEFT_ARROW; item_list[menu_items].flags |= MENU_FLAG_LEFT_ARROW;
@ -1297,13 +1299,13 @@ static UINT32 menu_memory_card(UINT32 state)
menu_items++; menu_items++;
/* add the remaining items */ /* add the remaining items */
item_list[insertindex = menu_items++].text = ui_getstring(UI_loadcard); item_list[insertindex = menu_items++].text = "Load Selected Card";
if (memcard_present() != -1) if (memcard_present() != -1)
item_list[ejectindex = menu_items++].text = ui_getstring(UI_ejectcard); item_list[ejectindex = menu_items++].text = "Eject Current Card";
item_list[createindex = menu_items++].text = ui_getstring(UI_createcard); item_list[createindex = menu_items++].text = "Create New Card";
/* add an item for the return */ /* add an item for the return */
item_list[menu_items++].text = ui_getstring(UI_returntoprior); item_list[menu_items++].text = "Return to Prior Menu";
/* draw the menu */ /* draw the menu */
visible_items = ui_menu_draw(item_list, menu_items, selected, NULL); visible_items = ui_menu_draw(item_list, menu_items, selected, NULL);
@ -1324,28 +1326,28 @@ static UINT32 menu_memory_card(UINT32 state)
{ {
if (memcard_insert(cardnum) == 0) if (memcard_insert(cardnum) == 0)
{ {
popmessage("%s", ui_getstring(UI_loadok)); popmessage("Memory card loaded");
ui_menu_stack_reset(); ui_menu_stack_reset();
return 0; return 0;
} }
else else
popmessage("%s", ui_getstring(UI_loadfailed)); popmessage("Error loading memory card");
} }
/* handle eject */ /* handle eject */
else if (selected == ejectindex) else if (selected == ejectindex)
{ {
memcard_eject(Machine); memcard_eject(Machine);
popmessage("%s", ui_getstring(UI_cardejected)); popmessage("Memory card ejected");
} }
/* handle create */ /* handle create */
else if (selected == createindex) else if (selected == createindex)
{ {
if (memcard_create(cardnum, FALSE) == 0) if (memcard_create(cardnum, FALSE) == 0)
popmessage("%s", ui_getstring(UI_cardcreated)); popmessage("Memory card created");
else else
popmessage("%s\n%s", ui_getstring(UI_cardcreatedfailed), ui_getstring(UI_cardcreatedfailed2)); popmessage("Error creating memory card\n(Card may already exist)");
} }
} }
@ -1384,7 +1386,7 @@ static UINT32 menu_video(UINT32 state)
{ {
/* count up the targets, creating menu items for them */ /* count up the targets, creating menu items for them */
for (; menu_items < targets; menu_items++) for (; menu_items < targets; menu_items++)
item_list[menu_items].text = menu_string_pool_add("%s%d", ui_getstring(UI_screen), menu_items); item_list[menu_items].text = menu_string_pool_add("Screen #%d", menu_items);
/* if we only ended up with one, auto-select it */ /* if we only ended up with one, auto-select it */
if (menu_items == 1) if (menu_items == 1)
@ -1394,7 +1396,7 @@ static UINT32 menu_video(UINT32 state)
item_list[menu_items++].text = "Move User Interface"; item_list[menu_items++].text = "Move User Interface";
/* add an item to return */ /* add an item to return */
item_list[menu_items++].text = ui_getstring(UI_returntoprior); item_list[menu_items++].text = "Return to Prior Menu";
/* draw the menu */ /* draw the menu */
visible_items = ui_menu_draw(item_list, menu_items, selected, NULL); visible_items = ui_menu_draw(item_list, menu_items, selected, NULL);
@ -1469,7 +1471,7 @@ static UINT32 menu_video(UINT32 state)
item_list[menu_items++].text = "Crop to Screen"; item_list[menu_items++].text = "Crop to Screen";
/* add an item to return */ /* add an item to return */
item_list[menu_items++].text = ui_getstring(UI_returntoprior); item_list[menu_items++].text = "Return to Prior Menu";
/* draw the menu */ /* draw the menu */
visible_items = ui_menu_draw(item_list, menu_items, selected, NULL); visible_items = ui_menu_draw(item_list, menu_items, selected, NULL);
@ -1604,13 +1606,13 @@ static UINT32 menu_select_game(UINT32 state)
/* add an item to return, but only if we're not going to pop to the quit handler */ /* add an item to return, but only if we're not going to pop to the quit handler */
if (!ui_menu_is_force_game_select()) if (!ui_menu_is_force_game_select())
item_list[menu_items++].text = ui_getstring(UI_returntoprior); item_list[menu_items++].text = "Return to Prior Menu";
/* otherwise, add a general input configuration and exit menus */ /* otherwise, add a general input configuration and exit menus */
else else
{ {
item_list[menu_items++].text = "Configure General Inputs"; item_list[menu_items++].text = "Configure General Inputs";
item_list[menu_items++].text = ui_getstring(UI_exit); item_list[menu_items++].text = "Exit";
} }
/* configure the extra menu */ /* configure the extra menu */
@ -2025,7 +2027,7 @@ static void switches_menu_add_item(ui_menu_item *item, const input_port_entry *i
/* if no matches, we're invalid */ /* if no matches, we're invalid */
if (!item->subtext) if (!item->subtext)
item->subtext = ui_getstring(UI_INVALID); item->subtext = "INVALID";
/* stash our reference */ /* stash our reference */
item->ref = ref; item->ref = ref;
@ -2110,12 +2112,12 @@ static int switches_menu_compare_items(const void *i1, const void *i2)
analog controls menu analog controls menu
-------------------------------------------------*/ -------------------------------------------------*/
static void analog_menu_add_item(ui_menu_item *item, const input_port_entry *in, int append_string, int which_item) static void analog_menu_add_item(ui_menu_item *item, const input_port_entry *in, const char *append_string, int which_item)
{ {
int value, minval, maxval; int value, minval, maxval;
/* set the item text using the formatting string provided */ /* set the item text using the formatting string provided */
item->text = menu_string_pool_add("%s %s", input_port_name(in), ui_getstring(append_string)); item->text = menu_string_pool_add("%s %s", input_port_name(in), append_string);
/* set the subitem text */ /* set the subitem text */
switch (which_item) switch (which_item)
@ -2139,7 +2141,7 @@ static void analog_menu_add_item(ui_menu_item *item, const input_port_entry *in,
value = in->analog.reverse; value = in->analog.reverse;
minval = 0; minval = 0;
maxval = 1; maxval = 1;
item->subtext = value ? ui_getstring(UI_on) : ui_getstring(UI_off); item->subtext = value ? "On" : "Off";
break; break;
case ANALOG_ITEM_SENSITIVITY: case ANALOG_ITEM_SENSITIVITY:

View File

@ -1,356 +0,0 @@
/*********************************************************************
uitext.c
Functions used to retrieve text used by MAME, to aid in
translation.
Copyright Nicola Salmoria and the MAME Team.
Visit http://mamedev.org for licensing and usage restrictions.
*********************************************************************/
#include "driver.h"
#include "uitext.h"
#ifdef MESS
extern const char *mess_default_text[];
#endif /* MESS */
static lang_struct lang;
/* All entries in this table must match the enum ordering in "uitext.h" */
static const char *const mame_default_text[] =
{
APPNAME,
/* copyright stuff */
"Usage of emulators in conjunction with ROMs you don't own is forbidden by copyright law.",
"IF YOU ARE NOT LEGALLY ENTITLED TO PLAY \"%s\" ON THIS EMULATOR, PRESS ESC.",
"Otherwise, type OK or move the joystick left then right to continue",
/* misc stuff */
"Return to Main Menu",
"Return to Prior Menu",
"Press Any Key",
"On",
"Off",
"NA",
"OK",
"INVALID",
"(none)",
"CPU",
"Address",
"Value",
"Sound",
"sound",
"stereo",
"Vector Game",
"Screen Resolution",
"Text",
"Volume",
"Relative",
"ALL CHANNELS",
"Brightness",
"Contrast",
"Gamma",
"Vector Flicker",
"Overclock",
"ALL CPUS",
HISTORYNAME " not available",
/* special characters */
"\xc2\xab",
"\xc2\xbb",
"(more)",
"(more)",
"",
"",
/* known problems */
"There are known problems with this " GAMENOUN,
"The colors aren't 100% accurate.",
"The colors are completely wrong.",
"The video emulation isn't 100% accurate.",
"The sound emulation isn't 100% accurate.",
"The game lacks sound.",
"Screen flipping in cocktail mode is not supported.",
"THIS " CAPGAMENOUN " DOESN'T WORK. You won't be able to make it work correctly. Don't bother.",
"The game has protection which isn't fully emulated.",
"There are working clones of this game. They are:",
"One or more ROMs/CHDs for this game are incorrect. The " GAMENOUN " may not run correctly.",
"Type OK or move the joystick left then right to continue",
/* main menu */
"Input (general)",
"Dip Switches",
"Analog Controls",
"Calibrate Joysticks",
"Bookkeeping Info",
"Input (this " CAPSTARTGAMENOUN")",
CAPSTARTGAMENOUN " Information",
CAPSTARTGAMENOUN " History",
"Reset " CAPSTARTGAMENOUN,
"Select New " CAPSTARTGAMENOUN,
"Return to " CAPSTARTGAMENOUN,
"Exit",
"Cheat",
"Memory Card",
/* input */
"Digital Speed",
"Autocenter Speed",
"Reverse",
"Sensitivity",
/* input groups */
"User Interface",
"Player 1 Controls",
"Player 2 Controls",
"Player 3 Controls",
"Player 4 Controls",
"Player 5 Controls",
"Player 6 Controls",
"Player 7 Controls",
"Player 8 Controls",
"Other Controls",
"Return to Groups",
/* stats */
"Uptime",
"Tickets dispensed",
"Coin",
"(locked)",
/* memory card */
"Card Number:",
"Load Selected Card",
"Eject Current Card",
"Create New Card",
"Error loading memory card",
"Memory card loaded",
"Memory card ejected",
"Memory card created",
"Error creating memory card",
"(Card may already exist)",
/* cheats */
"Enable/Disable a Cheat",
"Add/Edit a Cheat",
"Start a New Cheat Search",
"Continue Search",
"View Last Results",
"Restore Previous Results",
"Configure Watchpoints",
"General Help",
"Options",
"Reload Database",
"Watchpoint",
"Disabled",
"Cheats",
"Watchpoints",
"More Info",
"More Info for",
"Name",
"Description",
"Activation Key",
"Code",
"Max",
"Set",
"Cheat conflict found: disabling",
"Help not available yet",
/* watchpoints */
"Number of bytes",
"Display Type",
"Label Type",
"Label",
"X Position",
"Y Position",
"Watch",
"Hex",
"Decimal",
"Binary",
/* searching */
"Lives (or another value)",
"Timers (+/- some value)",
"Energy (greater or less)",
"Status (bits or flags)",
"Slow But Sure (changed or not)",
"Default Search Speed",
"Fast",
"Medium",
"Slow",
"Very Slow",
"All Memory",
"Select Memory Areas",
"Matches found",
"Search not initialized",
"No previous values saved",
"Previous values already restored",
"Restoration successful",
"Select a value",
"All values saved",
"One match found - added to list",
/* refresh rate */
"Refresh rate",
"Decoding Graphics",
"Video Options",
"Screen #",
"Rotate Clockwise",
"Rotate Counter-clockwise",
"Flip X",
"Flip Y",
"Driver Configuration",
NULL
};
static const char *const *const default_text[] =
{
mame_default_text,
#ifdef MESS
mess_default_text,
#endif /* MESS */
NULL
};
static const char **trans_text;
int uistring_init (mame_file *langfile)
{
/*
TODO: This routine needs to do several things:
- load an external font if needed
- determine the number of characters in the font
- deal with multibyte languages
*/
int i, j, str;
char curline[255];
char section[255] = "\0";
char *ptr;
int string_count;
/* count the total amount of strings */
string_count = 0;
for (i = 0; default_text[i]; i++)
{
for (j = 0; default_text[i][j]; j++)
string_count++;
}
/* allocate the translated text array, and set defaults */
trans_text = auto_malloc(sizeof(const char *) * string_count);
/* copy in references to all of the strings */
str = 0;
for (i = 0; default_text[i]; i++)
{
for (j = 0; default_text[i][j]; j++)
trans_text[str++] = default_text[i][j];
}
memset(&lang, 0, sizeof(lang));
/* if no language file, exit */
if (!langfile)
return 0;
while (mame_fgets (curline, sizeof(curline) / sizeof(curline[0]), langfile) != NULL)
{
/* Ignore commented and blank lines */
if (curline[0] == ';') continue;
if (curline[0] == '\n') continue;
if (curline[0] == '\r') continue;
if (curline[0] == '[')
{
ptr = strtok (&curline[1], "]");
/* Found a section, indicate as such */
strcpy (section, ptr);
/* Skip to the next line */
continue;
}
/* Parse the LangInfo section */
if (strcmp (section, "LangInfo") == 0)
{
ptr = strtok (curline, "=");
if (strcmp (ptr, "Version") == 0)
{
ptr = strtok (NULL, "\n\r");
sscanf (ptr, "%d", &lang.version);
}
else if (strcmp (ptr, "Language") == 0)
{
ptr = strtok (NULL, "\n\r");
strcpy (lang.langname, ptr);
}
else if (strcmp (ptr, "Author") == 0)
{
ptr = strtok (NULL, "\n\r");
strcpy (lang.author, ptr);
}
else if (strcmp (ptr, "Font") == 0)
{
ptr = strtok (NULL, "\n\r");
strcpy (lang.fontname, ptr);
}
}
/* Parse the Strings section */
if (strcmp (section, "Strings") == 0)
{
/* Get all text up to the first line ending */
ptr = strtok (curline, "\n\r");
/* Find a matching default string */
str = 0;
for (i = 0; default_text[i]; i++)
{
for (j = 0; default_text[i][j]; j++)
{
if (strcmp (curline, default_text[i][j]) == 0)
{
char transline[255];
/* Found a match, read next line as the translation */
mame_fgets (transline, 255, langfile);
/* Get all text up to the first line ending */
ptr = strtok (transline, "\n\r");
/* Allocate storage and copy the string */
trans_text[str] = auto_strdup(transline);
}
str++;
}
}
}
}
/* indicate success */
return 0;
}
const char * ui_getstring (int string_num)
{
return trans_text[string_num];
}

View File

@ -1,233 +0,0 @@
/***************************************************************************
uitext.h
Functions used to retrieve text used by MAME, to aid in
translation.
Copyright Nicola Salmoria and the MAME Team.
Visit http://mamedev.org for licensing and usage restrictions.
***************************************************************************/
#pragma once
#ifndef __uitext_H__
#define __uitext_H__
#include "mamecore.h"
/* Important: this must match the default_text list in uitext.c! */
enum
{
UI_mame = 0,
/* copyright stuff */
UI_copyright1,
UI_copyright2,
UI_copyright3,
/* misc menu stuff */
UI_returntomain,
UI_returntoprior,
UI_anykey,
UI_on,
UI_off,
UI_NA,
UI_OK,
UI_INVALID,
UI_none,
UI_cpu,
UI_address,
UI_value,
UI_sound,
UI_sound_lc, /* lower-case version */
UI_stereo,
UI_vectorgame,
UI_screenres,
uitext,
UI_volume,
UI_relative,
UI_allchannels,
UI_brightness,
UI_contrast,
UI_gamma,
UI_vectorflicker,
UI_overclock,
UI_allcpus,
UI_historymissing,
/* special characters */
UI_leftarrow,
UI_rightarrow,
UI_uparrow,
UI_downarrow,
UI_lefthilight,
UI_righthilight,
/* warnings */
UI_knownproblems,
UI_imperfectcolors,
UI_wrongcolors,
UI_imperfectgraphics,
UI_imperfectsound,
UI_nosound,
UI_nococktail,
UI_brokengame,
UI_brokenprotection,
UI_workingclones,
UI_incorrectroms,
UI_typeok,
/* main menu */
UI_inputgeneral,
UI_dipswitches,
UI_analogcontrols,
UI_calibrate,
UI_bookkeeping,
UI_inputspecific,
UI_gameinfo,
UI_history,
UI_resetgame,
UI_selectgame,
UI_returntogame,
UI_exit,
UI_cheat,
UI_memorycard,
/* input stuff */
UI_keyjoyspeed,
UI_centerspeed,
UI_reverse,
UI_sensitivity,
/* input groups */
UI_uigroup,
UI_p1group,
UI_p2group,
UI_p3group,
UI_p4group,
UI_p5group,
UI_p6group,
UI_p7group,
UI_p8group,
UI_othergroup,
UI_returntogroup,
/* stats */
UI_totaltime,
UI_tickets,
UI_coin,
UI_locked,
/* memory card */
UI_selectcard,
UI_loadcard,
UI_ejectcard,
UI_createcard,
UI_loadfailed,
UI_loadok,
UI_cardejected,
UI_cardcreated,
UI_cardcreatedfailed,
UI_cardcreatedfailed2,
/* cheat stuff */
UI_enablecheat,
UI_addeditcheat,
UI_startcheat,
UI_continuesearch,
UI_viewresults,
UI_restoreresults,
UI_memorywatch,
UI_generalhelp,
UI_options,
UI_reloaddatabase,
UI_watchpoint,
UI_disabled,
UI_cheats,
UI_watchpoints,
UI_moreinfo,
UI_moreinfoheader,
UI_cheatname,
UI_cheatdescription,
UI_cheatactivationkey,
UI_code,
UI_max,
UI_set,
UI_conflict_found,
UI_no_help_available,
/* watchpoint stuff */
UI_watchlength,
UI_watchdisplaytype,
UI_watchlabeltype,
UI_watchlabel,
UI_watchx,
UI_watchy,
UI_watch,
UI_hex,
UI_decimal,
UI_binary,
/* search stuff */
UI_search_lives,
UI_search_timers,
UI_search_energy,
UI_search_status,
UI_search_slow,
UI_search_speed,
UI_search_speed_fast,
UI_search_speed_medium,
UI_search_speed_slow,
UI_search_speed_veryslow,
UI_search_speed_allmemory,
UI_search_select_memory_areas,
UI_search_matches_found,
UI_search_noinit,
UI_search_nosave,
UI_search_done,
UI_search_OK,
UI_search_select_value,
UI_search_all_values_saved,
UI_search_one_match_found_added,
/* refresh rate */
UI_refresh_rate,
UI_decoding_gfx,
UI_video,
UI_screen,
UI_rotate_clockwise,
UI_rotate_counterclockwise,
UI_flip_x,
UI_flip_y,
UI_configuration,
UI_last_mame_entry
};
#ifdef MESS
#include "muitext.h"
#endif
struct _lang_struct
{
int version;
int multibyte; /* UNUSED: 1 if this is a multibyte font/language */
UINT8 *fontdata; /* pointer to the raw font data to be decoded */
UINT16 fontglyphs; /* total number of glyps in the external font - 1 */
char langname[255];
char fontname[255];
char author[255];
};
typedef struct _lang_struct lang_struct;
int uistring_init (mame_file *language_file);
const char * ui_getstring (int string_num);
#endif /* __uitext_H__ */

View File

@ -15,7 +15,6 @@
#include "hash.h" #include "hash.h"
#include <ctype.h> #include <ctype.h>
#include <stdarg.h> #include <stdarg.h>
#include "uitext.h"
#include "unicode.h" #include "unicode.h"
#include <zlib.h> #include <zlib.h>