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.h svneol=native#text/plain
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/video.c svneol=native#text/plain
src/emu/video.h svneol=native#text/plain

View File

@ -12,7 +12,6 @@
#include "driver.h"
#include "ui.h"
#include "uimenu.h"
#include "uitext.h"
#include "machine/eeprom.h"
#include "cheat.h"
#include <ctype.h>
@ -1675,9 +1674,9 @@ int cheat_menu(int selection)
}
/********** 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
{
@ -1694,13 +1693,13 @@ int cheat_menu(int selection)
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
@ -2030,17 +2029,12 @@ static INT32 UserSelectValueMenu(int selection, CheatEntry * entry)
/* ----- print it ----- */
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
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 ----- */
strcat(buf, "\t");
strcat(buf, ui_getstring(UI_lefthilight));
strcat(buf, " ");
strcat(buf, ui_getstring(UI_OK));
strcat(buf, " ");
strcat(buf, ui_getstring(UI_righthilight));
strcat(buf, "\t OK ");
/* ----- print it ----- */
ui_draw_message_window(buf);
@ -2184,7 +2178,7 @@ static INT32 CommentMenu(int selection, CheatEntry * entry)
else
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 ----- */
ui_draw_message_window(buf);
@ -2276,7 +2270,7 @@ static int EnableDisableCheatMenu(int selection, int firstTime)
if(traverse->selection && (traverse->selection < traverse->actionListLength))
menu_subitem[total] = traverse->actionList[traverse->selection].optionalName;
else
menu_subitem[total] = ui_getstring(UI_off);
menu_subitem[total] = "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_OneShot)
menu_subitem[total] = ui_getstring(UI_set);
menu_subitem[total] = "Set";
else
{
if(traverse->flags & kCheatFlag_Active)
menu_subitem[total] = ui_getstring(UI_on);
menu_subitem[total] = "On";
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 ----- */
menu_item[total] = ui_getstring(UI_returntoprior);
menu_item[total] = "Return to Prior Menu";
menu_subitem[total] = NULL;
flagBuf[total++] = 0;
@ -2691,7 +2685,7 @@ static int AddEditCheatMenu(int selection)
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
@ -3176,7 +3170,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
menuItemInfo[total].subcheat = i;
menuItemInfo[total].fieldType = kType_LinkExtension;
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].fieldType = kType_OneShot;
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].fieldType = kType_RestorePreviousValue;
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].fieldType = kType_WatchLabel;
menuItem[total] = "Watch Label";
menuSubItem[total++] = ui_getstring(((typeParameter >> 2) & 0x01) ? UI_on : UI_off);
menuSubItem[total++] = ((typeParameter >> 2) & 0x01) ? "On" : "Off";
}
}
else
@ -3491,7 +3485,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
menuItemInfo[total].subcheat = i;
menuItemInfo[total].fieldType = kType_UserSelect;
menuItem[total] = "User Select";
menuSubItem[total++] = ui_getstring(userSelect ? UI_on : UI_off);
menuSubItem[total++] = userSelect ? "On" : "Off";
}
if(!i && userSelect)
@ -3519,7 +3513,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
menuItemInfo[total].subcheat = i;
menuItemInfo[total].fieldType = kType_UserSelectBCD;
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)
@ -3537,7 +3531,7 @@ static int EditCheatMenu(CheatEntry * entry, int index, int selection)
menuItemInfo[total].subcheat = i;
menuItemInfo[total].fieldType = kType_CopyPrevious;
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].fieldType = kType_Return;
menuItem[total] = ui_getstring(UI_returntoprior);
menuItem[total] = "Return to Prior Menu";
menuSubItem[total++] = NULL;
menuItemInfo[total].subcheat = 0; // terminate arrey
@ -4774,7 +4768,7 @@ static int DoSearchMenuMinimum(int selection)
/********** MENU CONSTRUCTION **********/
sprintf(cpuBuffer, "%d", search->targetIdx); // CPU
menuItem[total] = ui_getstring(UI_cpu);
menuItem[total] = "CPU";
menuSubItem[total++] = cpuBuffer;
if(search->sign && (search->oldOptions.value & kSearchByteSignBitTable[search->bytes]))
@ -4852,13 +4846,13 @@ static int DoSearchMenuMinimum(int selection)
menuItem[total] = "Save Memory";
menuSubItem[total++] = NULL;
menuItem[total] = ui_getstring(UI_viewresults); // view result
menuItem[total] = "View Last Results"; // view result
menuSubItem[total++] = NULL;
menuItem[total] = ui_getstring(UI_restoreresults); // restore result
menuItem[total] = "Restore Previous Results"; // restore result
menuSubItem[total++] = NULL;
menuItem[total] = ui_getstring(UI_returntoprior); // return
menuItem[total] = "Return to Prior Menu"; // return
menuSubItem[total++] = NULL;
menuItem[total] = NULL; // terminate array
@ -5397,7 +5391,7 @@ static int DoSearchMenuClassic(int selection)
menuSubItem[total++] = NULL;
sprintf(cpuBuffer, "%d", search->targetIdx);
menuItem[total] = ui_getstring(UI_cpu);
menuItem[total] = "CPU";
menuSubItem[total++] = cpuBuffer;
if(search->sign && (search->oldOptions.value & kSearchByteSignBitTable[search->bytes]))
@ -5441,13 +5435,13 @@ static int DoSearchMenuClassic(int selection)
menuItem[total] = "--------------------";
menuSubItem[total++] = NULL;
menuItem[total] = ui_getstring(UI_viewresults); // view result
menuItem[total] = "View Last Results"; // view result
menuSubItem[total++] = NULL;
menuItem[total] = ui_getstring(UI_restoreresults); // restore result
menuItem[total] = "Restore Previous Results"; // restore result
menuSubItem[total++] = NULL;
menuItem[total] = ui_getstring(UI_returntoprior); // return
menuItem[total] = "Return to Prior Menu"; // return
menuSubItem[total++] = NULL;
menuItem[total] = NULL; // terminate array
@ -5952,10 +5946,10 @@ static int DoSearchMenu(int selection)
menu_subitem[total++] = kSearchByteNameTable[search->bytes];
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_subitem[total++] = ui_getstring(search->sign ? UI_on : UI_off);
menu_subitem[total++] = search->sign ? "On" : "Off";
sprintf(cpuBuffer, "%d", search->targetIdx);
menu_item[total] = "CPU";
@ -5979,13 +5973,13 @@ static int DoSearchMenu(int selection)
menu_item[total] = "---";
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_item[total] = ui_getstring(UI_restoreresults); // restore result
menu_item[total] = "Restore Previous Results"; // restore result
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_item[total] = NULL; // terminate array
@ -6321,13 +6315,13 @@ static int SelectSearchRegions(int selection, SearchInfo * search)
SearchRegion * traverse = &search->regionList[i];
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";
menuSubItem[total++] = kSearchSpeedList[search->searchSpeed];
menuItem[total] = ui_getstring(UI_returntoprior); // return item
menuItem[total] = "Return to Prior Menu"; // return item
menuSubItem[total++] = NULL;
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++] = ui_getstring(UI_returntoprior); // return
menu_item[total++] = "Return to Prior Menu"; // return
menu_item[total] = NULL; // terminate array
@ -6869,7 +6863,7 @@ static int ChooseWatch(int selection)
total++;
}
menuItem[total++] = ui_getstring(UI_returntoprior); // return
menuItem[total++] = "Return to Prior Menu"; // return
menuItem[total] = NULL; // terminate array
@ -7174,7 +7168,7 @@ static int EditWatch(WatchInfo * entry, int selection)
menuSubItem[total] = buf[total];
total++;
menuItem[total] = ui_getstring(UI_returntoprior); // return
menuItem[total] = "Return to Prior Menu"; // return
menuSubItem[total++] = NULL;
menuItem[total] = NULL; // terminate array
@ -7612,21 +7606,21 @@ static int SelectOptions(int selection)
}
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";
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";
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";
menuSubItem[total++] = ui_getstring(TEST_FIELD(cheatOptions, LoadOldFormat) ? UI_on : UI_off);
menuSubItem[total++] = TEST_FIELD(cheatOptions, LoadOldFormat) ? "On" : "Off";
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;
menuItem[total] = NULL; // terminate array
@ -7800,7 +7794,7 @@ static int SelectSearch(int selection)
total++;
}
menuItem[total++] = ui_getstring(UI_returntoprior); // return
menuItem[total++] = "Return to Prior Menu"; // return
menuItem[total] = NULL; // terminate array
@ -7895,14 +7889,14 @@ static TIMER_CALLBACK( cheat_periodic )
/* ------ toggle watchpoint display if shift + toggle cheat ----- */
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
{
/* ------ toggle cheat ----- */
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)
{

View File

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

View File

@ -19,7 +19,6 @@
#include "ui.h"
#include "uimenu.h"
#include "uigfx.h"
#include "uitext.h"
#ifdef MESS
#include "mess.h"
@ -247,10 +246,6 @@ int ui_init(running_machine *machine)
/* make sure we clean up after ourselves */
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 */
ui_font = render_font_alloc("ui.bdf");
@ -939,9 +934,9 @@ int ui_is_slider_active(void)
static int sprintf_disclaimer(char *buffer)
{
char *bufptr = buffer;
bufptr += sprintf(bufptr, "%s\n\n", ui_getstring(UI_copyright1));
bufptr += sprintf(bufptr, ui_getstring(UI_copyright2), Machine->gamedrv->description);
bufptr += sprintf(bufptr, "\n\n%s", ui_getstring(UI_copyright3));
bufptr += sprintf(bufptr, "Usage of emulators in conjunction with ROMs you don't own is forbidden by copyright law.\n\n");
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, "Otherwise, type OK or move the joystick left then right to continue");
return bufptr - buffer;
}
@ -971,7 +966,7 @@ static int sprintf_warnings(char *buffer)
/* add a warning if any ROMs were loaded with warnings */
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)
*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 (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 */
#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));
#endif
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)
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)
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)
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)
bufptr += sprintf(bufptr, "%s\n", ui_getstring(UI_nosound));
bufptr += sprintf(bufptr, "The game lacks sound.\n");
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 (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 */
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)
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 */
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 */
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);
foundworking = 1;
}
@ -1035,7 +1030,7 @@ static int sprintf_warnings(char *buffer)
}
/* 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;
}
@ -1052,7 +1047,7 @@ int sprintf_game_info(char *buffer)
int count;
/* 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 */
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 */
bufptr += sprintf(bufptr, "\n%s:\n", ui_getstring(UI_sound));
bufptr += sprintf(bufptr, "\nSound:\n");
/* loop over all sound chips */
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 */
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 */
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",
ui_getstring(UI_screenres),
bufptr += sprintf(bufptr,"\nScreen Resolution:\n%d " UTF8_MULTIPLY " %d (%s) %f" UTF8_NBSP "Hz\n",
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->gamedrv->flags & ORIENTATION_SWAP_XY) ? "V" : "H",
@ -1661,7 +1655,7 @@ static INT32 slider_volume(INT32 newval, char *buffer, int arg)
if (buffer != NULL)
{
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();
}
@ -1677,7 +1671,7 @@ static INT32 slider_mixervol(INT32 newval, char *buffer, int arg)
if (buffer != NULL)
{
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);
}
@ -1710,7 +1704,7 @@ static INT32 slider_overclock(INT32 newval, char *buffer, int arg)
if (buffer != NULL)
{
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);
}
@ -1729,7 +1723,7 @@ static INT32 slider_refresh(INT32 newval, char *buffer, int 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));
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);
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)
{
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);
}
@ -1764,7 +1758,7 @@ static INT32 slider_contrast(INT32 newval, char *buffer, int arg)
if (buffer != NULL)
{
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);
}
@ -1780,7 +1774,7 @@ static INT32 slider_gamma(INT32 newval, char *buffer, int arg)
if (buffer != NULL)
{
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);
}
@ -1864,7 +1858,7 @@ static INT32 slider_flicker(INT32 newval, char *buffer, int arg)
if (buffer != NULL)
{
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);
}

View File

@ -13,7 +13,6 @@
#include "rendutil.h"
#include "cheat.h"
#include "uimenu.h"
#include "uitext.h"
#include "audit.h"
#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_next(input_port_entry *in, int switch_entry);
//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 */
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)
{
const char *priortext = ui_getstring(UI_returntoprior);
const char *priortext = "Return to Prior Menu";
float line_height = ui_get_line_height();
float lr_arrow_width = 0.4f * line_height * render_get_ui_aspect();
float gutter_width = lr_arrow_width;
@ -756,7 +755,7 @@ static UINT32 menu_main(UINT32 state)
{
#define ADD_MENU(name, _handler, _param) \
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].state = _param; \
menu_items++; \
@ -790,57 +789,57 @@ do { \
memset(item_list, 0, sizeof(item_list));
/* add input menu items */
ADD_MENU(UI_inputgeneral, menu_input_groups, 0);
ADD_MENU(UI_inputspecific, menu_input, 1000 << 16);
ADD_MENU("Input (general)", menu_input_groups, 0);
ADD_MENU("Input (this " CAPSTARTGAMENOUN ")", menu_input, 1000 << 16);
/* add optional input-related menus */
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)
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
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
if (has_analog)
ADD_MENU(UI_analogcontrols, menu_analog, 0);
ADD_MENU("Analog Controls", menu_analog, 0);
#ifndef MESS
/* add bookkeeping menu */
ADD_MENU(UI_bookkeeping, menu_bookkeeping, 0);
ADD_MENU("Bookkeeping Info", menu_bookkeeping, 0);
#endif
/* add game info menu */
ADD_MENU(UI_gameinfo, menu_game_info, 0);
ADD_MENU(CAPSTARTGAMENOUN " Information", menu_game_info, 0);
#ifdef MESS
/* 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_MENU(UI_filemanager, menu_file_manager, 1);
ADD_MENU("File Manager", menu_file_manager, 1);
#if HAS_WAVE
/* add tape control menu */
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 /* MESS */
/* add video options menu */
ADD_MENU(UI_video, menu_video, 1000 << 16);
ADD_MENU("Video Options", menu_video, 1000 << 16);
/* add cheat menu */
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 */
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_MENU(UI_selectgame, menu_select_game, 1 << 16);
ADD_MENU(UI_returntogame, NULL, 0);
ADD_MENU("Select New " CAPSTARTGAMENOUN, menu_select_game, 1 << 16);
ADD_MENU("Return to " CAPSTARTGAMENOUN, NULL, 0);
/* draw the menu */
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];
int menu_items = 0;
int visible_items;
int player;
/* reset the menu */
memset(item_list, 0, sizeof(item_list));
/* build up the menu */
for (menu_items = 0; menu_items < IPG_TOTAL_GROUPS; menu_items++)
item_list[menu_items].text = ui_getstring(UI_uigroup + menu_items);
item_list[menu_items++].text = "User Interface";
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 */
item_list[menu_items++].text = ui_getstring(UI_returntoprior);
item_list[menu_items++].text = "Return to Prior Menu";
/* draw the menu */
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);
/* 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 (polling)
@ -1037,7 +1039,7 @@ static UINT32 menu_switches(UINT32 state)
selected_in = item_list[selected].ref;
/* 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 */
extra.top = 0;
@ -1140,15 +1142,15 @@ static UINT32 menu_analog(UINT32 state)
}
/* 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)
analog_menu_add_item(&item_list[menu_items++], in, UI_centerspeed, 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, UI_sensitivity, ANALOG_ITEM_SENSITIVITY);
analog_menu_add_item(&item_list[menu_items++], in, "Autocenter Speed", ANALOG_ITEM_CENTERSPEED);
analog_menu_add_item(&item_list[menu_items++], in, "Reverse", ANALOG_ITEM_REVERSE);
analog_menu_add_item(&item_list[menu_items++], in, "Sensitivity", ANALOG_ITEM_SENSITIVITY);
}
/* 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 */
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 */
total_time = timer_get_time();
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
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 */
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 */
for (ctrnum = 0; ctrnum < COIN_COUNTERS; ctrnum++)
{
/* 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 */
if (!coin_count[ctrnum])
bufptr += sprintf(bufptr, "%s", ui_getstring(UI_NA));
bufptr += sprintf(bufptr, "NA");
else
bufptr += sprintf(bufptr, "%d", coin_count[ctrnum]);
/* display whether or not we are locked out */
if (coinlockedout[ctrnum])
bufptr += sprintf(bufptr, " %s", ui_getstring(UI_locked));
bufptr += sprintf(bufptr, " (locked)");
*bufptr++ = '\n';
}
*bufptr = 0;
@ -1288,7 +1290,7 @@ static UINT32 menu_memory_card(UINT32 state)
menu_string_pool_offset = 0;
/* 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);
if (cardnum > 0)
item_list[menu_items].flags |= MENU_FLAG_LEFT_ARROW;
@ -1297,13 +1299,13 @@ static UINT32 menu_memory_card(UINT32 state)
menu_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)
item_list[ejectindex = menu_items++].text = ui_getstring(UI_ejectcard);
item_list[createindex = menu_items++].text = ui_getstring(UI_createcard);
item_list[ejectindex = menu_items++].text = "Eject Current Card";
item_list[createindex = menu_items++].text = "Create New Card";
/* 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 */
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)
{
popmessage("%s", ui_getstring(UI_loadok));
popmessage("Memory card loaded");
ui_menu_stack_reset();
return 0;
}
else
popmessage("%s", ui_getstring(UI_loadfailed));
popmessage("Error loading memory card");
}
/* handle eject */
else if (selected == ejectindex)
{
memcard_eject(Machine);
popmessage("%s", ui_getstring(UI_cardejected));
popmessage("Memory card ejected");
}
/* handle create */
else if (selected == createindex)
{
if (memcard_create(cardnum, FALSE) == 0)
popmessage("%s", ui_getstring(UI_cardcreated));
popmessage("Memory card created");
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 */
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 (menu_items == 1)
@ -1394,7 +1396,7 @@ static UINT32 menu_video(UINT32 state)
item_list[menu_items++].text = "Move User Interface";
/* 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 */
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";
/* 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 */
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 */
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 */
else
{
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 */
@ -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 (!item->subtext)
item->subtext = ui_getstring(UI_INVALID);
item->subtext = "INVALID";
/* stash our reference */
item->ref = ref;
@ -2110,12 +2112,12 @@ static int switches_menu_compare_items(const void *i1, const void *i2)
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;
/* 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 */
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;
minval = 0;
maxval = 1;
item->subtext = value ? ui_getstring(UI_on) : ui_getstring(UI_off);
item->subtext = value ? "On" : "Off";
break;
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 <ctype.h>
#include <stdarg.h>
#include "uitext.h"
#include "unicode.h"
#include <zlib.h>