mirror of
https://github.com/SaffronCR/msx-rpg.git
synced 2026-07-08 18:06:16 +00:00
Doing some tests with the start screen.
Fixed tabs in files.
This commit is contained in:
BIN
art/bg.png
BIN
art/bg.png
Binary file not shown.
|
Before Width: | Height: | Size: 9.4 KiB After Width: | Height: | Size: 9.4 KiB |
BIN
art/intro01.png
Normal file
BIN
art/intro01.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 5.0 KiB |
BIN
art/strtscr.png
Normal file
BIN
art/strtscr.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 4.6 KiB |
BIN
dsk/bg.sf5
BIN
dsk/bg.sf5
Binary file not shown.
1
dsk/intro01.sf5
Normal file
1
dsk/intro01.sf5
Normal file
File diff suppressed because one or more lines are too long
BIN
dsk/main.com
BIN
dsk/main.com
Binary file not shown.
1
dsk/strtscr.sf5
Normal file
1
dsk/strtscr.sf5
Normal file
File diff suppressed because one or more lines are too long
@@ -462,7 +462,7 @@ void sf_set_dungeon_state(void)
|
||||
|
||||
// Generate dungeon.
|
||||
Cls();
|
||||
sf_draw_text("Entering the old ruins...", 8, 8, 15, 0);
|
||||
sf_draw_text("Entering the Underruins...", 8, 8, 15, 0);
|
||||
|
||||
db_state = ReadyToSwitch;
|
||||
dungeon_map = NULL;
|
||||
|
||||
218
font.c
218
font.c
@@ -159,108 +159,140 @@
|
||||
#define exclax 0+8+8+8
|
||||
#define exclay 172
|
||||
|
||||
// Textbox
|
||||
#define uplbx 16+8+8+8+8+8+8+8+8+8
|
||||
#define uplby 204
|
||||
#define uprbx 16+8+8+8+8+8+8+8+8+8+8+8
|
||||
#define uprby 204
|
||||
#define dwnlbx 16+8+8+8+8+8+8+8+8+8+8+8
|
||||
#define dwnlby 188
|
||||
#define dwnrbx 16+8+8+8+8+8+8+8+8+8+8+8+8
|
||||
#define dwnrby 188
|
||||
#define midbx 16+8+8+8+8+8+8+8+8+8+8
|
||||
#define midby 204
|
||||
#define latbx 16+8+8+8+8+8+8+8+8+8+8+8+8
|
||||
#define latby 204
|
||||
|
||||
|
||||
|
||||
void sf_draw_char(char character, int x, int y, char log_op)
|
||||
{
|
||||
switch (character)
|
||||
{
|
||||
case 'a': sf_screen_copy(lax,lay, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'b': sf_screen_copy(lbx,lby, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'c': sf_screen_copy(lcx,lcy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'd': sf_screen_copy(ldx,ldy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'e': sf_screen_copy(lex,ley, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'f': sf_screen_copy(lfx,lfy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'g': sf_screen_copy(lgx,lgy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'h': sf_screen_copy(lhx,lhy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'i': sf_screen_copy(lix,liy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'j': sf_screen_copy(ljx,ljy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'k': sf_screen_copy(lkx,lky, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'l': sf_screen_copy(llx,lly, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'm': sf_screen_copy(lmx,lmy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'n': sf_screen_copy(lnx,lny, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'o': sf_screen_copy(lox,loy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'p': sf_screen_copy(lpx,lpy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'q': sf_screen_copy(lqx,lqy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'r': sf_screen_copy(lrx,lry, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 's': sf_screen_copy(lsx,lsy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 't': sf_screen_copy(ltx,lty, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'u': sf_screen_copy(lux,luy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'v': sf_screen_copy(lvx,lvy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'w': sf_screen_copy(lwx,lwy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'x': sf_screen_copy(lxx,lxy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'y': sf_screen_copy(lyx,lyy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'z': sf_screen_copy(lzx,lzy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
switch (character)
|
||||
{
|
||||
case 'a': sf_screen_copy(lax,lay, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'b': sf_screen_copy(lbx,lby, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'c': sf_screen_copy(lcx,lcy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'd': sf_screen_copy(ldx,ldy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'e': sf_screen_copy(lex,ley, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'f': sf_screen_copy(lfx,lfy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'g': sf_screen_copy(lgx,lgy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'h': sf_screen_copy(lhx,lhy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'i': sf_screen_copy(lix,liy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'j': sf_screen_copy(ljx,ljy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'k': sf_screen_copy(lkx,lky, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'l': sf_screen_copy(llx,lly, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'm': sf_screen_copy(lmx,lmy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'n': sf_screen_copy(lnx,lny, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'o': sf_screen_copy(lox,loy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'p': sf_screen_copy(lpx,lpy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'q': sf_screen_copy(lqx,lqy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'r': sf_screen_copy(lrx,lry, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 's': sf_screen_copy(lsx,lsy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 't': sf_screen_copy(ltx,lty, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'u': sf_screen_copy(lux,luy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'v': sf_screen_copy(lvx,lvy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'w': sf_screen_copy(lwx,lwy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'x': sf_screen_copy(lxx,lxy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'y': sf_screen_copy(lyx,lyy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'z': sf_screen_copy(lzx,lzy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
|
||||
case 'A': sf_screen_copy(uax,uay, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'B': sf_screen_copy(ubx,uby, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'C': sf_screen_copy(ucx,ucy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'D': sf_screen_copy(udx,udy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'E': sf_screen_copy(uex,uey, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'F': sf_screen_copy(ufx,ufy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'G': sf_screen_copy(ugx,ugy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'H': sf_screen_copy(uhx,uhy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'I': sf_screen_copy(uix,uiy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'J': sf_screen_copy(ujx,ujy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'K': sf_screen_copy(ukx,uky, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'L': sf_screen_copy(ulx,uly, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'M': sf_screen_copy(umx,umy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'N': sf_screen_copy(unx,uny, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'O': sf_screen_copy(uox,uoy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'P': sf_screen_copy(upx,upy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'Q': sf_screen_copy(uqx,uqy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'R': sf_screen_copy(urx,ury, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'S': sf_screen_copy(usx,usy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'T': sf_screen_copy(utx,uty, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'U': sf_screen_copy(uux,uuy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'V': sf_screen_copy(uvx,uvy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'W': sf_screen_copy(uwx,uwy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'X': sf_screen_copy(uxx,uxy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'Y': sf_screen_copy(uyx,uyy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'Z': sf_screen_copy(uzx,uzy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'A': sf_screen_copy(uax,uay, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'B': sf_screen_copy(ubx,uby, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'C': sf_screen_copy(ucx,ucy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'D': sf_screen_copy(udx,udy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'E': sf_screen_copy(uex,uey, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'F': sf_screen_copy(ufx,ufy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'G': sf_screen_copy(ugx,ugy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'H': sf_screen_copy(uhx,uhy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'I': sf_screen_copy(uix,uiy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'J': sf_screen_copy(ujx,ujy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'K': sf_screen_copy(ukx,uky, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'L': sf_screen_copy(ulx,uly, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'M': sf_screen_copy(umx,umy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'N': sf_screen_copy(unx,uny, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'O': sf_screen_copy(uox,uoy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'P': sf_screen_copy(upx,upy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'Q': sf_screen_copy(uqx,uqy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'R': sf_screen_copy(urx,ury, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'S': sf_screen_copy(usx,usy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'T': sf_screen_copy(utx,uty, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'U': sf_screen_copy(uux,uuy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'V': sf_screen_copy(uvx,uvy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'W': sf_screen_copy(uwx,uwy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'X': sf_screen_copy(uxx,uxy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'Y': sf_screen_copy(uyx,uyy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case 'Z': sf_screen_copy(uzx,uzy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
|
||||
case '0': sf_screen_copy(zerox,zeroy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '1': sf_screen_copy(onex,oney, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '2': sf_screen_copy(twox,twoy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '3': sf_screen_copy(threex,threey, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '4': sf_screen_copy(fourx,foury, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '5': sf_screen_copy(fivex,fivey, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '6': sf_screen_copy(sixx,sixy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '7': sf_screen_copy(sevenx,seveny, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '8': sf_screen_copy(eightx,eighty, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '9': sf_screen_copy(ninex,niney, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '0': sf_screen_copy(zerox,zeroy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '1': sf_screen_copy(onex,oney, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '2': sf_screen_copy(twox,twoy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '3': sf_screen_copy(threex,threey, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '4': sf_screen_copy(fourx,foury, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '5': sf_screen_copy(fivex,fivey, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '6': sf_screen_copy(sixx,sixy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '7': sf_screen_copy(sevenx,seveny, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '8': sf_screen_copy(eightx,eighty, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '9': sf_screen_copy(ninex,niney, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
|
||||
case ' ': sf_screen_copy(spacex,spacey, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '!': sf_screen_copy(exclax,exclay, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '^': sf_screen_copy(heartx,hearty, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '@': sf_screen_copy(copyx,copyy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
}
|
||||
case ' ': sf_screen_copy(spacex,spacey, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '!': sf_screen_copy(exclax,exclay, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '^': sf_screen_copy(heartx,hearty, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '@': sf_screen_copy(copyx,copyy, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
|
||||
case '<': sf_screen_copy(uplbx,uplby, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '[': sf_screen_copy(dwnlbx,dwnlby, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '_': sf_screen_copy(midbx,midby, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '>': sf_screen_copy(uprbx,uprby, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case ']': sf_screen_copy(dwnrbx,dwnrby, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
case '|': sf_screen_copy(latbx,latby, FONT_SIZE_X,FONT_SIZE_Y, x,y, FONT_PAGE, back_page, log_op); break;
|
||||
}
|
||||
}
|
||||
|
||||
void sf_draw_text(char *text, int x, int y, char text_color, char border_color)
|
||||
{
|
||||
char log_op = LOGICAL_IMP;
|
||||
char log_op = LOGICAL_IMP;
|
||||
|
||||
while (*text)
|
||||
{
|
||||
if (border_color != 0)
|
||||
{
|
||||
// Color border, original color (white) text.
|
||||
LMMV(x, y + back_page * 256, FONT_SIZE_X, FONT_SIZE_Y, 16-border_color, LOGICAL_IMP);
|
||||
sf_draw_char(*text, x, y, LOGICAL_TIMP);
|
||||
}
|
||||
else if (text_color == 0)
|
||||
{
|
||||
// Transparent border, original color (white) text.
|
||||
sf_draw_char(*text, x, y, LOGICAL_IMP);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Transparent border, color text.
|
||||
LMMV(x, y + back_page * 256, FONT_SIZE_X, FONT_SIZE_Y, 15-text_color, LOGICAL_IMP);
|
||||
sf_draw_char(*text, x, y, LOGICAL_XOR);
|
||||
sf_draw_char(*text, x, y, LOGICAL_AND);
|
||||
}
|
||||
while (*text)
|
||||
{
|
||||
if (border_color != 0)
|
||||
{
|
||||
// Color border.
|
||||
LMMV(x, y + back_page * 256, FONT_SIZE_X, FONT_SIZE_Y, border_color, LOGICAL_IMP);
|
||||
sf_draw_char(*text, x, y, LOGICAL_TIMP);
|
||||
|
||||
text++;
|
||||
x += FONT_SIZE_X;
|
||||
}
|
||||
// Only for color text.
|
||||
if (text_color != 0)
|
||||
{
|
||||
LMMV(x, y + back_page * 256, FONT_SIZE_X, FONT_SIZE_Y, 15-text_color, LOGICAL_IMP);
|
||||
sf_draw_char(*text, x, y, LOGICAL_XOR);
|
||||
sf_draw_char(*text, x, y, LOGICAL_AND);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
// Transparent border.
|
||||
sf_draw_char(*text, x, y, LOGICAL_IMP);
|
||||
|
||||
// Only for color text.
|
||||
if (text_color != 0)
|
||||
{
|
||||
LMMV(x, y + back_page * 256, FONT_SIZE_X, FONT_SIZE_Y, 15-text_color, LOGICAL_IMP);
|
||||
sf_draw_char(*text, x, y, LOGICAL_XOR);
|
||||
sf_draw_char(*text, x, y, LOGICAL_AND);
|
||||
}
|
||||
}
|
||||
|
||||
text++;
|
||||
x += FONT_SIZE_X;
|
||||
}
|
||||
}
|
||||
|
||||
2
font.h
2
font.h
@@ -11,6 +11,6 @@
|
||||
// Prototypes.
|
||||
//------------------------------------------------------------------
|
||||
|
||||
void sf_draw_text(char *text, int x, int y, char border_color, char text_color);
|
||||
void sf_draw_text(char *text, int x, int y, char text_color, char border_color);
|
||||
|
||||
#endif
|
||||
|
||||
@@ -1,3 +1,5 @@
|
||||
@echo off
|
||||
img2sf5 ./art/bg.png ./dsk/bg.sf5
|
||||
img2sf5 ./art/walls.png ./dsk/walls.sf5
|
||||
img2sf5 ./art/walls.png ./dsk/walls.sf5
|
||||
img2sf5 ./art/strtscr.png ./dsk/strtscr.sf5
|
||||
img2sf5 ./art/intro01.png ./dsk/intro01.sf5
|
||||
14
main.c
14
main.c
@@ -260,7 +260,7 @@ void sf_blit_screen(void)
|
||||
back_page = !back_page;
|
||||
|
||||
SetDisplayPage(!back_page);
|
||||
SetActivePage(back_page);
|
||||
SetActivePage(back_page);
|
||||
|
||||
db_state = Finished;
|
||||
}
|
||||
@@ -286,7 +286,7 @@ void sf_set_game_state(char new_state)
|
||||
switch(game_state)
|
||||
{
|
||||
case StartScreen: sf_set_startscreen_state(); break;
|
||||
case Dungeon: sf_set_dungeon_state(); break;
|
||||
case Dungeon: sf_set_dungeon_state(); break;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -295,9 +295,9 @@ void main(void)
|
||||
{
|
||||
// If MSX is Turbo-R Switch CPU to Z80 Mode.
|
||||
if(ReadMSXtype() == 3)
|
||||
{
|
||||
{
|
||||
ChangeCPU(0);
|
||||
}
|
||||
}
|
||||
|
||||
// Init random.
|
||||
srand(rand_seed);
|
||||
@@ -329,7 +329,9 @@ void main(void)
|
||||
// Load screens.
|
||||
SetSC5Palette((Palette *)palette);
|
||||
sf_load_sf5_image("BG.SF5", 256 * SPRITES_PAGE, load_buffer);
|
||||
sf_load_sf5_image("WALLS.SF5", 256 * WALLS_PAGE, load_buffer);
|
||||
sf_load_sf5_image("intro01.SF5", 256 * 0, load_buffer);
|
||||
//sf_load_sf5_image("STRTSCR.SF5", 256 * 0, load_buffer);
|
||||
//sf_load_sf5_image("WALLS.SF5", 256 * WALLS_PAGE, load_buffer);
|
||||
|
||||
// Set interrupt.
|
||||
InitInterruptHandler();
|
||||
@@ -352,7 +354,7 @@ void main(void)
|
||||
switch (game_state)
|
||||
{
|
||||
case StartScreen: sf_update_startscreen_state(); break;
|
||||
case Dungeon: sf_update_dungeon_state(); break;
|
||||
case Dungeon: sf_update_dungeon_state(); break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,21 +17,55 @@
|
||||
void sf_draw_startscreen_intro_text(void)
|
||||
{
|
||||
// Intro text.
|
||||
db_state = Updating;
|
||||
Cls();
|
||||
SetColors(0, 0, 0);
|
||||
sf_draw_text("@SAFFRON SOFT 2020", 8*6, 100, 2, 0);
|
||||
// PutText(0, 90, "********************************", LOGICAL_IMP);
|
||||
db_state = ReadyToSwitch;
|
||||
sf_wait(200);
|
||||
db_state = Updating;
|
||||
// Cls();
|
||||
SetColors(0, 0, 14);
|
||||
|
||||
// Go to dungeon state.
|
||||
sf_set_game_state(Dungeon);
|
||||
sf_draw_text("Deep in space far away", 8*4, 8*19, 15, 14);
|
||||
sf_draw_text("from the inhabited regions", 8*3, 8*19+9, 15, 14);
|
||||
sf_draw_text("of the galaxy lies a long", 8*3, 8*19+9+9, 15, 14);
|
||||
sf_draw_text("forgotten alien station", 8*3, 8*19+9+9+9, 15, 14);
|
||||
|
||||
// sf_draw_text("PRESS SPACE KEY", 8*8, 8*18, 15, 14);
|
||||
// sf_draw_text("@2020 SAFFRON SOFT", 8*7, 8*24, 15, 14);
|
||||
|
||||
//sf_draw_text("@SAFFRON SOFT 2020", 8*6, 100, 2, 0);
|
||||
// PutText(0, 90, "********************************", LOGICAL_IMP);
|
||||
/*
|
||||
sf_draw_text("<______________>", 8*6, 70, 8, 0);
|
||||
sf_draw_text("| |", 8*6, 70+8, 8, 0);
|
||||
sf_draw_text("[______________]", 8*6, 70+8+8, 8, 0);
|
||||
sf_draw_text("SAFFRON SOFT", 8*6+8+8, 70+8, 15, 0);
|
||||
*/
|
||||
|
||||
/*
|
||||
sf_draw_text("<_____COMMAND_____>", 8*6, 8+8, 13, 14);
|
||||
sf_draw_text("| |", 8*6, 8+8+8, 13, 14);
|
||||
sf_draw_text("| |", 8*6, 8+8+8+8, 13, 14);
|
||||
sf_draw_text("| |", 8*6, 8+8+8+8+8, 13, 14);
|
||||
sf_draw_text("| |", 8*6, 8+8+8+8+8+8, 13, 14);
|
||||
sf_draw_text("| |", 8*6, 8+8+8+8+8+8+8, 13, 14);
|
||||
sf_draw_text("| |", 8*6, 8+8+8+8+8+8+8+8, 13, 14);
|
||||
sf_draw_text("| |", 8*6, 8+8+8+8+8+8+8+8+8, 13, 14);
|
||||
sf_draw_text("| |", 8*6, 8+8+8+8+8+8+8+8+8+8, 13, 14);
|
||||
sf_draw_text("[_________________]", 8*6, 8+8+8+8+8+8+8+8+8+8+8, 13, 14);
|
||||
|
||||
sf_draw_text("^TALK SPELL", 8*6+8, 8+8+8+8, 15, 14);
|
||||
sf_draw_text("STATUS ITEM", 8*6+8+8, 8+8+8+8+8+8, 15, 14);
|
||||
sf_draw_text("EQUIP TACTICS", 8*6+8+8, 8+8+8+8+8+8+8+8, 15, 14);
|
||||
sf_draw_text("DOOR SEARCH", 8*6+8+8, 8+8+8+8+8+8+8+8+8+8, 15, 14);
|
||||
*/
|
||||
|
||||
db_state = ReadyToSwitch;
|
||||
sf_wait(1000);
|
||||
|
||||
// Go to dungeon state.
|
||||
sf_set_game_state(Dungeon);
|
||||
}
|
||||
|
||||
void sf_set_startscreen_state(void)
|
||||
{
|
||||
sf_draw_startscreen_intro_text();
|
||||
sf_draw_startscreen_intro_text();
|
||||
}
|
||||
|
||||
void sf_update_startscreen_state(void)
|
||||
|
||||
Reference in New Issue
Block a user