diff --git a/Makefile.common b/Makefile.common index ec0f61840a..cf690c9017 100644 --- a/Makefile.common +++ b/Makefile.common @@ -113,6 +113,15 @@ OBJ += frontend/frontend.o \ system.o \ retroarch_info.o \ command_event.o \ + msg_hash.o \ + intl/msg_hash_de.o \ + intl/msg_hash_eo.o \ + intl/msg_hash_es.o \ + intl/msg_hash_fr.o \ + intl/msg_hash_it.o \ + intl/msg_hash_nl.o \ + intl/msg_hash_pt.o \ + intl/msg_hash_us.o \ runloop.o \ runloop_data.o \ runloop_msg.o \ diff --git a/griffin/griffin.c b/griffin/griffin.c index 6ad67347ec..5fa1d7fd9c 100644 --- a/griffin/griffin.c +++ b/griffin/griffin.c @@ -671,6 +671,16 @@ RETROARCH #include "../runloop_msg.c" #include "../system.c" +#include "../msg_hash.c" +#include "../intl/msg_hash_de.c" +#include "../intl/msg_hash_es.c" +#include "../intl/msg_hash_eo.c" +#include "../intl/msg_hash_fr.c" +#include "../intl/msg_hash_it.c" +#include "../intl/msg_hash_nl.c" +#include "../intl/msg_hash_pt.c" +#include "../intl/msg_hash_us.c" + /*============================================================ RECORDING diff --git a/intl/msg_hash_de.c b/intl/msg_hash_de.c new file mode 100644 index 0000000000..986c2aa1b8 --- /dev/null +++ b/intl/msg_hash_de.c @@ -0,0 +1,29 @@ +/* RetroArch - A frontend for libretro. + * Copyright (C) 2011-2015 - Daniel De Matteis + * + * + * RetroArch is free software: you can redistribute it and/or modify it under the terms + * of the GNU General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with RetroArch. + * If not, see . + */ + +#include "../msg_hash.h" + +const char *msg_hash_to_str_de(uint32_t hash) +{ + switch (hash) + { + case 0: + default: + break; + } + + return "null"; +} diff --git a/intl/msg_hash_eo.c b/intl/msg_hash_eo.c new file mode 100644 index 0000000000..cb75a5cd4e --- /dev/null +++ b/intl/msg_hash_eo.c @@ -0,0 +1,29 @@ +/* RetroArch - A frontend for libretro. + * Copyright (C) 2011-2015 - Daniel De Matteis + * + * + * RetroArch is free software: you can redistribute it and/or modify it under the terms + * of the GNU General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with RetroArch. + * If not, see . + */ + +#include "../msg_hash.h" + +const char *msg_hash_to_str_eo(uint32_t hash) +{ + switch (hash) + { + case 0: + default: + break; + } + + return "null"; +} diff --git a/intl/msg_hash_es.c b/intl/msg_hash_es.c new file mode 100644 index 0000000000..b04b463150 --- /dev/null +++ b/intl/msg_hash_es.c @@ -0,0 +1,29 @@ +/* RetroArch - A frontend for libretro. + * Copyright (C) 2011-2015 - Daniel De Matteis + * + * + * RetroArch is free software: you can redistribute it and/or modify it under the terms + * of the GNU General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with RetroArch. + * If not, see . + */ + +#include "../msg_hash.h" + +const char *msg_hash_to_str_es(uint32_t hash) +{ + switch (hash) + { + case 0: + default: + break; + } + + return "null"; +} diff --git a/intl/msg_hash_fr.c b/intl/msg_hash_fr.c new file mode 100644 index 0000000000..d4fe550d3b --- /dev/null +++ b/intl/msg_hash_fr.c @@ -0,0 +1,29 @@ +/* RetroArch - A frontend for libretro. + * Copyright (C) 2011-2015 - Daniel De Matteis + * + * + * RetroArch is free software: you can redistribute it and/or modify it under the terms + * of the GNU General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with RetroArch. + * If not, see . + */ + +#include "../msg_hash.h" + +const char *msg_hash_to_str_fr(uint32_t hash) +{ + switch (hash) + { + case 0: + default: + break; + } + + return "null"; +} diff --git a/intl/msg_hash_it.c b/intl/msg_hash_it.c new file mode 100644 index 0000000000..0834b2d689 --- /dev/null +++ b/intl/msg_hash_it.c @@ -0,0 +1,29 @@ +/* RetroArch - A frontend for libretro. + * Copyright (C) 2011-2015 - Daniel De Matteis + * + * + * RetroArch is free software: you can redistribute it and/or modify it under the terms + * of the GNU General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with RetroArch. + * If not, see . + */ + +#include "../msg_hash.h" + +const char *msg_hash_to_str_it(uint32_t hash) +{ + switch (hash) + { + case 0: + default: + break; + } + + return "null"; +} diff --git a/intl/msg_hash_nl.c b/intl/msg_hash_nl.c new file mode 100644 index 0000000000..254059e266 --- /dev/null +++ b/intl/msg_hash_nl.c @@ -0,0 +1,29 @@ +/* RetroArch - A frontend for libretro. + * Copyright (C) 2011-2015 - Daniel De Matteis + * + * + * RetroArch is free software: you can redistribute it and/or modify it under the terms + * of the GNU General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with RetroArch. + * If not, see . + */ + +#include "../msg_hash.h" + +const char *msg_hash_to_str_nl(uint32_t hash) +{ + switch (hash) + { + case 0: + default: + break; + } + + return "null"; +} diff --git a/intl/msg_hash_pt.c b/intl/msg_hash_pt.c new file mode 100644 index 0000000000..773b4d6fa4 --- /dev/null +++ b/intl/msg_hash_pt.c @@ -0,0 +1,29 @@ +/* RetroArch - A frontend for libretro. + * Copyright (C) 2011-2015 - Daniel De Matteis + * + * + * RetroArch is free software: you can redistribute it and/or modify it under the terms + * of the GNU General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with RetroArch. + * If not, see . + */ + +#include "../msg_hash.h" + +const char *msg_hash_to_str_pt(uint32_t hash) +{ + switch (hash) + { + case 0: + default: + break; + } + + return "null"; +} diff --git a/msg_hash.c b/msg_hash.c new file mode 100644 index 0000000000..7ceed3a28b --- /dev/null +++ b/msg_hash.c @@ -0,0 +1,66 @@ +/* RetroArch - A frontend for libretro. + * Copyright (C) 2011-2015 - Daniel De Matteis + * + * + * RetroArch is free software: you can redistribute it and/or modify it under the terms + * of the GNU General Public License as published by the Free Software Found- + * ation, either version 3 of the License, or (at your option) any later version. + * + * RetroArch is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; + * without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + * PURPOSE. See the GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along with RetroArch. + * If not, see . + */ + +#include + +#include "msg_hash.h" + +#include "configuration.h" + +const char *msg_hash_to_str(uint32_t hash) +{ + const char *ret = NULL; + settings_t *settings = config_get_ptr(); + + if (!settings) + return "null"; + + switch (settings->user_language) + { + case RETRO_LANGUAGE_FRENCH: + ret = msg_hash_to_str_fr(hash); + break; + case RETRO_LANGUAGE_GERMAN: + ret = msg_hash_to_str_de(hash); + break; + case RETRO_LANGUAGE_SPANISH: + ret = msg_hash_to_str_es(hash); + break; + case RETRO_LANGUAGE_ITALIAN: + ret = msg_hash_to_str_it(hash); + break; + case RETRO_LANGUAGE_PORTUGUESE: + ret = msg_hash_to_str_pt(hash); + break; + case RETRO_LANGUAGE_DUTCH: + ret = msg_hash_to_str_nl(hash); + break; + case RETRO_LANGUAGE_ESPERANTO: + ret = msg_hash_to_str_eo(hash); + default: + break; + } + + if (ret && strcmp(ret, "null") != 0) + return ret; + + return msg_hash_to_str_us(hash); +} + +uint32_t msg_hash_calculate(const char *s) +{ + return djb2_calculate(s); +}