Remove static label from game functions
[kraptor.git] / src / guitrans.c
blobd4e90be026607473d2d0f42500ecbe787f35486b
1 /*
2 guitrans.c
3 Por Kronoman
4 Copyrigth (c) 2002, Kronoman
5 En memoria de mi querido padre
7 Este modulo se encarga de traducir estructuras
8 de los GUI de Allegro al idioma actual.
11 NOTAS:
13 NOTA IMPORTANTISIMA: ESTO ES MUY PELIGROSO SI TENEMOS ESTRUCTURAS
14 QUE USAN 'dp' PARA OTRA COSA QUE NO SEA TEXTO (Ej: d_bitmap_proc)
16 Los traduce PERMANENTEMENTE, por lo tanto, es conveniente
17 que las estructuras se creen dinamicamente en el programa original,
18 de esa manera, al cambiar de idioma, todo funciona OK,
19 caso contrario, habra fugas de memoria, porque cambian
20 los punteros al cambiar el idioma!
22 Conviene usar el ingles como idioma base al traducir.
24 No usar espacios extra, o simbolos como ?, -, etc porque
25 la cadena no sera reconocida...
28 #include <allegro.h>
31 Traduce el puntero 'dp' de una estructura DIALOG completa
32 La estructura DEBE terminar con proc = NULL (como especifica Allegro)
34 DEBUG!!!
35 NOTA IMPORTANTISIMA: ESTO ES MUY PELIGROSO SI TENEMOS ESTRUCTURAS
36 QUE USAN 'dp' PARA OTRA COSA QUE NO SEA TEXTO (Ej: d_bitmap_proc)
39 void traducir_DIALOG_dp(DIALOG *d)
41 int i = 0;
43 while (d[i].proc != NULL)
45 if (d[i].dp != NULL) d[i].dp = (void *)get_config_text((char *)d[i].dp);
46 i++;
52 Traduce el puntero 'text' de una estructura MENU completa
53 La estructura DEBE terminar con text = NULL (como especifica Allegro)
54 Evitar usar & y otras mierdas raras...
56 void traducir_MENU_text(MENU *d)
58 int i = 0;
60 while (d[i].text != NULL)
62 d[i].text = (void *)get_config_text((char *)d[i].text);
63 i++;