I took your example and tested it with some resources that I have. It works fine so Like I said before check your font and bmaps otherwise your code is functional. Here is how I tested it. Couple very small changes overall.
If you want text on a button the easiest way is just to create a button with text already on a button, then you dont have to worry about placing text on a empty button, because it can be twice as much work.
Code:
///////////////////////////////////////////////////////////////////////////////////
#include <acknex.h>
#include <default.c>
///////////////////////////////////////////////////////////////////////////////////

BMAP* mouse_bmp = "cursor.tga";
STRING* header_str = "BOXIE";
STRING* maingame_str = "MAIN GAME";
STRING* endurance_str = "ENDURANCE";
STRING* credits_str = "CREDITS";
STRING* exit_str = "EXIT";
FONT* header_font = "menufont.bmp";
//FONT* option_font = "reprise stamp#20b";


///////////////////////////////////////////////////////////////////////////////////
TEXT* header_txt =
{
pos_x = 300;
pos_y = 20;
string(header_str);
font = header_font;
layer = 1;
flags = SHOW;
}

TEXT* maingame =
{
pos_x = 10;
pos_y = 200;
string(maingame_str);
font = header_font;
layer = 2; //if you want text to appear on top of button you have to layer over the button.
flags = SHOW;
}

PANEL* endurancebutton =
{
pos_x = 10;
pos_y = 200;
layer = 1;
button(0, 0, "forward1.pcx", "forward1.pcx", "forward2.pcx", quit_program, NULL, NULL);
flags = OVERLAY | SHOW;
}

PANEL* creditsbutton =
{
pos_x = 10;
pos_y = 300;
layer = 1;
button(0, 0, "forward1.pcx", "forward1.pcx", "forward2.pcx", quit_program, NULL, NULL);
flags = OVERLAY | SHOW;
}
////////////////////////////////////////////////////////////////////////////////////

function main()
{
mouse_map = mouse_bmp;
mouse_mode = 4;
video_mode = 7; 
screen_color.blue = 150;
}

function quit_program()
{
while (key_any) { wait (1); }
sys_exit(NULL);
}





Last edited by paracharlie; 06/30/09 21:11. Reason: couple more thoughts.

A8 Commercial