mirror of
https://github.com/libretro/RetroArch
synced 2025-02-28 12:40:23 +00:00
Cleanups
This commit is contained in:
parent
dbc51fb132
commit
18035bc8ec
@ -1352,7 +1352,6 @@ XML
|
||||
#include "../deps/miniupnpc/minisoap.c"
|
||||
#endif
|
||||
|
||||
|
||||
/*============================================================
|
||||
HTTP SERVER
|
||||
============================================================ */
|
||||
|
@ -5,7 +5,10 @@
|
||||
|
||||
static void* ocr_tesseract_init(int game_character_set)
|
||||
{
|
||||
bool pass = false;
|
||||
char* lang_data_dir = NULL;
|
||||
const char* tess_char_set = NULL;
|
||||
|
||||
switch (game_character_set)
|
||||
{
|
||||
case RETRO_LANGUAGE_JAPANESE:
|
||||
@ -24,16 +27,12 @@ static void* ocr_tesseract_init(int game_character_set)
|
||||
if (!tess_char_set)
|
||||
return NULL;
|
||||
|
||||
char* lang_data_dir = NULL;
|
||||
|
||||
/* TODO: get lang data from system dir */
|
||||
pass = tess_init(lang_data_dir, tess_char_set);
|
||||
|
||||
bool pass = tess_init(lang_data_dir, tess_char_set);
|
||||
if (pass)
|
||||
{
|
||||
/* data is unused by tesseract */
|
||||
if (pass)
|
||||
return (void*)32;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
}
|
||||
|
@ -1,3 +1,4 @@
|
||||
#include <boolean.h>
|
||||
#include <tesseract/baseapi.h>
|
||||
#include "tess_get_text.h"
|
||||
|
||||
@ -11,35 +12,34 @@ char tess_last_error[ERROR_BUFFER_LENGTH];
|
||||
bool tess_init(const char* lang_data_dir, const char* language)
|
||||
{
|
||||
api = new tesseract::TessBaseAPI();
|
||||
|
||||
snprintf(tess_last_error, ERROR_BUFFER_LENGTH, "No errors!\n");
|
||||
|
||||
if (api->Init(lang_data_dir, language)) {
|
||||
if (api->Init(lang_data_dir, language))
|
||||
{
|
||||
snprintf(tess_last_error, ERROR_BUFFER_LENGTH, "Could not initialize tesseract.\n");
|
||||
return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
void tess_deinit()
|
||||
void tess_deinit(void)
|
||||
{
|
||||
if (one_time_return_pointer)
|
||||
{
|
||||
delete [] one_time_return_pointer;
|
||||
}
|
||||
|
||||
if (api)
|
||||
{
|
||||
api->End();
|
||||
}
|
||||
}
|
||||
|
||||
char* tess_get_text(tess_image image)
|
||||
{
|
||||
if (one_time_return_pointer)
|
||||
{
|
||||
delete [] one_time_return_pointer;
|
||||
}
|
||||
|
||||
api->SetImage(image.data, image.width, image.height, image.bytes_per_pixel, image.width * image.bytes_per_pixel/*bytes per line*/);
|
||||
api->SetImage(image.data, image.width, image.height,
|
||||
image.bytes_per_pixel, image.width * image.bytes_per_pixel/*bytes per line*/);
|
||||
one_time_return_pointer = api->GetUTF8Text();
|
||||
return one_time_return_pointer;
|
||||
}
|
@ -1,27 +1,26 @@
|
||||
#ifndef TESS_GET_TEXT
|
||||
#define TESS_GET_TEXT
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
#include <boolean.h>
|
||||
#include <retro_common_api.h>
|
||||
|
||||
typedef struct {
|
||||
RETRO_BEGIN_DECLS
|
||||
|
||||
typedef struct
|
||||
{
|
||||
unsigned width;
|
||||
unsigned height;
|
||||
unsigned bytes_per_pixel;
|
||||
void* data;
|
||||
} tess_image;
|
||||
|
||||
extern char tess_last_error[];
|
||||
|
||||
//if running in RetroArch language should be "eng" or "jpn"
|
||||
/* if running in RetroArch language should be "eng" or "jpn" */
|
||||
bool tess_init(const char* lang_data_dir, const char* language);
|
||||
void tess_deinit();
|
||||
void tess_deinit(void);
|
||||
char* tess_get_text(tess_image image);
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
extern char tess_last_error[];
|
||||
|
||||
RETRO_END_DECLS
|
||||
|
||||
#endif
|
@ -13,8 +13,8 @@ static const translation_driver_t *translation_backends[] = {
|
||||
static const translation_driver_t *current_translation_backend = NULL;
|
||||
static void *translation_data = NULL;
|
||||
|
||||
|
||||
static const translation_driver_t *translation_find_backend(const char* ident)
|
||||
static const translation_driver_t *translation_find_backend(
|
||||
const char* ident)
|
||||
{
|
||||
unsigned i;
|
||||
|
||||
@ -30,7 +30,12 @@ static const translation_driver_t *translation_find_backend(const char* ident)
|
||||
bool translation_driver_init(void)
|
||||
{
|
||||
settings_t *settings = config_get_ptr();
|
||||
current_translation_backend = translation_find_backend(settings->arrays.translation_driver);
|
||||
|
||||
if (!settings)
|
||||
return false;
|
||||
|
||||
current_translation_backend = translation_find_backend(
|
||||
settings->arrays.translation_driver);
|
||||
translation_data = NULL;
|
||||
|
||||
if (current_translation_backend)
|
||||
@ -47,12 +52,16 @@ void translation_driver_free(void)
|
||||
char* translation_driver_translate_image(struct ocr_image_info image)
|
||||
{
|
||||
char* translated_text = NULL;
|
||||
|
||||
if (current_translation_backend && translation_data)
|
||||
{
|
||||
if (current_translation_backend->translate_image)
|
||||
translated_text = (*current_translation_backend->translate_image)(translation_data, image);
|
||||
translated_text = (*current_translation_backend->translate_image)
|
||||
(translation_data, image);
|
||||
else
|
||||
translated_text = (*current_translation_backend->translate_text)(translation_data, ocr_driver_get_text(image));
|
||||
translated_text = (*current_translation_backend->translate_text)
|
||||
(translation_data, ocr_driver_get_text(image));
|
||||
}
|
||||
|
||||
return translated_text;
|
||||
}
|
Loading…
x
Reference in New Issue
Block a user