Lift restrictions on tilesets
Support full color tilesets with tiles of arbitrary size.
This commit is contained in:
committed by
Pasi Kallinen
parent
34da5ea372
commit
82a219c227
@@ -64,6 +64,11 @@ tgetch()
|
|||||||
{
|
{
|
||||||
char ch;
|
char ch;
|
||||||
|
|
||||||
|
#ifdef SCREEN_VESA
|
||||||
|
if (iflags.usevesa) {
|
||||||
|
vesa_flush_text();
|
||||||
|
}
|
||||||
|
#endif /*SCREEN_VESA*/
|
||||||
/* BIOSgetch can use the numeric key pad on IBM compatibles. */
|
/* BIOSgetch can use the numeric key pad on IBM compatibles. */
|
||||||
#ifdef SIMULATE_CURSOR
|
#ifdef SIMULATE_CURSOR
|
||||||
if (iflags.grmode && cursor_flag)
|
if (iflags.grmode && cursor_flag)
|
||||||
|
|||||||
+8
-2
@@ -181,6 +181,10 @@ struct overview_planar_cell_struct {
|
|||||||
#define ATTRIB_VGA_INTENSE 14 /* Intense White 94/06/07 palette chg*/
|
#define ATTRIB_VGA_INTENSE 14 /* Intense White 94/06/07 palette chg*/
|
||||||
#endif /*SCREEN_VGA || SCREEN_8514*/
|
#endif /*SCREEN_VGA || SCREEN_8514*/
|
||||||
|
|
||||||
|
#if defined(SCREEN_VESA)
|
||||||
|
#define BACKGROUND_VESA_COLOR 240
|
||||||
|
#endif /*SCREEN_VESA*/
|
||||||
|
|
||||||
#if defined(PC9800)
|
#if defined(PC9800)
|
||||||
static unsigned char attr98[CLR_MAX] = {
|
static unsigned char attr98[CLR_MAX] = {
|
||||||
0xe1, /* 0 white */
|
0xe1, /* 0 white */
|
||||||
@@ -249,6 +253,7 @@ E void FDECL(txt_xputc, (CHAR_P, int));
|
|||||||
|
|
||||||
/* ### vidvga.c ### */
|
/* ### vidvga.c ### */
|
||||||
|
|
||||||
|
enum vga_pan_direction { pan_left, pan_up, pan_right, pan_down };
|
||||||
#ifdef SCREEN_VGA
|
#ifdef SCREEN_VGA
|
||||||
E void NDECL(vga_backsp);
|
E void NDECL(vga_backsp);
|
||||||
E void FDECL(vga_clear_screen, (int));
|
E void FDECL(vga_clear_screen, (int));
|
||||||
@@ -274,7 +279,7 @@ E void FDECL(vga_tty_startup, (int *, int *));
|
|||||||
E void FDECL(vga_xputs, (const char *, int, int));
|
E void FDECL(vga_xputs, (const char *, int, int));
|
||||||
E void FDECL(vga_xputc, (CHAR_P, int));
|
E void FDECL(vga_xputc, (CHAR_P, int));
|
||||||
E void FDECL(vga_xputg, (int, int, unsigned));
|
E void FDECL(vga_xputg, (int, int, unsigned));
|
||||||
E void FDECL(vga_userpan, (BOOLEAN_P));
|
E void FDECL(vga_userpan, (enum vga_pan_direction));
|
||||||
E void FDECL(vga_overview, (BOOLEAN_P));
|
E void FDECL(vga_overview, (BOOLEAN_P));
|
||||||
E void FDECL(vga_traditional, (BOOLEAN_P));
|
E void FDECL(vga_traditional, (BOOLEAN_P));
|
||||||
E void NDECL(vga_refresh);
|
E void NDECL(vga_refresh);
|
||||||
@@ -303,10 +308,11 @@ E void FDECL(vesa_tty_startup, (int *, int *));
|
|||||||
E void FDECL(vesa_xputs, (const char *, int, int));
|
E void FDECL(vesa_xputs, (const char *, int, int));
|
||||||
E void FDECL(vesa_xputc, (CHAR_P, int));
|
E void FDECL(vesa_xputc, (CHAR_P, int));
|
||||||
E void FDECL(vesa_xputg, (int, int, unsigned));
|
E void FDECL(vesa_xputg, (int, int, unsigned));
|
||||||
E void FDECL(vesa_userpan, (BOOLEAN_P));
|
E void FDECL(vesa_userpan, (enum vga_pan_direction));
|
||||||
E void FDECL(vesa_overview, (BOOLEAN_P));
|
E void FDECL(vesa_overview, (BOOLEAN_P));
|
||||||
E void FDECL(vesa_traditional, (BOOLEAN_P));
|
E void FDECL(vesa_traditional, (BOOLEAN_P));
|
||||||
E void NDECL(vesa_refresh);
|
E void NDECL(vesa_refresh);
|
||||||
|
E void NDECL(vesa_flush_text);
|
||||||
#endif /* SCREEN_VESA */
|
#endif /* SCREEN_VESA */
|
||||||
#endif /* NO_TERMS */
|
#endif /* NO_TERMS */
|
||||||
|
|
||||||
|
|||||||
+760
-354
File diff suppressed because it is too large
Load Diff
+6
-4
@@ -502,18 +502,20 @@ boolean clearfirst;
|
|||||||
#endif /* USE_TILES && CLIPPING */
|
#endif /* USE_TILES && CLIPPING */
|
||||||
|
|
||||||
void
|
void
|
||||||
vga_userpan(left)
|
vga_userpan(pan)
|
||||||
boolean left;
|
enum vga_pan_direction pan;
|
||||||
{
|
{
|
||||||
int x;
|
int x;
|
||||||
|
|
||||||
/* pline("Into userpan"); */
|
/* pline("Into userpan"); */
|
||||||
if (iflags.over_view || iflags.traditional_view)
|
if (iflags.over_view || iflags.traditional_view)
|
||||||
return;
|
return;
|
||||||
if (left)
|
if (pan == pan_left)
|
||||||
x = min(COLNO - 1, clipxmax + 10);
|
x = min(COLNO - 1, clipxmax + 10);
|
||||||
else
|
else if (pan == pan_right)
|
||||||
x = max(0, clipx - 10);
|
x = max(0, clipx - 10);
|
||||||
|
else
|
||||||
|
return;
|
||||||
vga_cliparound(x, 10); /* y value is irrelevant on VGA clipping */
|
vga_cliparound(x, 10); /* y value is irrelevant on VGA clipping */
|
||||||
positionbar();
|
positionbar();
|
||||||
vga_DrawCursor();
|
vga_DrawCursor();
|
||||||
|
|||||||
Reference in New Issue
Block a user