For testing the new ttf_loadx I did a new example
import "mod_key"
import "mod_proc"
import "mod_map"
import "mod_video"
import "mod_ttf"
import "mod_text"
import "mod_screen"
global
int id_ttfs[4];
int id_bg;
int depth = 16;
Begin
set_mode(320,240,depth);
id_bg = new_map(320,240,depth);
map_clear(0,id_bg,RGB(0,255,0));
put_screen(0,id_bg);
id_ttfs[0] = load_ttf("resources/presdntn.ttf",48);
id_ttfs[1] = load_ttfaa("resources/presdntn.ttf",48,depth,RGBA(255,0,0,255),RGBA(255,0,0,0));
id_ttfs[2] = ttf_loadx("resources/presdntn.ttf",48,depth,RGBA(0,0,255,255),RGBA(0,0,255,0),1);
id_ttfs[3] = ttf_loadx("resources/presdntn.ttf",48,depth,RGBA(0,0,255,255),RGBA(0,0,255,0),100);
id_ttfs[4] = ttf_loadx("resources/presdntn.ttf",48,depth,RGBA(0,0,255,255),RGBA(0,0,255,0),255);
write(id_ttfs[0],25,30,0,"Hello");
set_text_color(rgb(255,0,255));
write(id_ttfs[0],155,30,0,"World");
write(id_ttfs[1],25,130,0,"Bye");
write(id_ttfs[2],155,90,0,"World");
write(id_ttfs[3],155,130,0,"World");
write(id_ttfs[4],155,170,0,"World");
Repeat
frame;
Until(key(_ESC))
unload_fnt(id_ttfs[4]);
unload_fnt(id_ttfs[3]);
unload_fnt(id_ttfs[2]);
unload_fnt(id_ttfs[1]);
unload_fnt(id_ttfs[0]);
unload_map(0,id_bg);
End
Then I discovered a strange thing. If you try the example with depth=16 it work well (or it is that I think), but if you try the example with depth=32, the id_ttfs[2] and the id_ttfs[3] get the same result instead of a different result.