sdk-world
v2026.11.05
PS2 SDK - world tier (copyleft-allowed, non-essential packages)
Toggle main menu visibility
Loading...
Searching...
No Matches
aaslang.c
1
#include <setjmp.h>
2
#include <signal.h>
3
#include <stdio.h>
4
#include "
config.h
"
5
#ifdef SLANG_DRIVER
6
#include <slang.h>
7
#ifdef GPM_MOUSEDRIVER
8
#include <gpm.h>
9
#endif
10
#include "
aalib.h
"
11
struct
aa_driver
slang_d;
12
int
__slang_is_up = 0;
13
int
__resized_slang = 0;
14
static
int
uninitslang;
15
16
static
int
slang_init(
struct
aa_hardware_params
*p,
void
*none,
struct
aa_hardware_params
*dest,
void
**params)
17
{
18
struct
aa_hardware_params
def={NULL, AA_NORMAL_MASK | AA_BOLD_MASK | AA_REVERSE_MASK | AA_BOLDFONT_MASK | AA_DIM_MASK};
19
*dest=def;
20
fflush(stdout);
21
if
(!__slang_is_up) {
22
SLtt_get_terminfo();
23
__slang_is_up = 1;
24
uninitslang = 1;
25
}
26
if
(!SLsmg_init_smg())
27
return
0;
28
if
(SLtt_Use_Ansi_Colors) {
29
dest->supported &= ~AA_BOLDFONT_MASK;
30
}
31
SLsmg_Display_Eight_Bit = 128;
32
dest->supported |= AA_EIGHT;
33
aa_recommendlowkbd(
"slang"
);
34
return
1;
35
}
36
static
void
slang_uninit(
aa_context
* c)
37
{
38
SLsmg_reset_smg();
39
if
(uninitslang) {
40
uninitslang = 0;
41
__slang_is_up = 0;
42
}
43
}
44
static
void
slang_getsize(
aa_context
* c,
int
*width,
int
*height)
45
{
46
SLtt_get_screen_size();
47
SLsmg_reset_smg();
48
if
(!SLsmg_init_smg())
49
printf(
"Internal error!\n"
);
50
SLtt_set_mono(AA_NORMAL,
"normal"
, 0);
51
SLtt_set_mono(AA_BOLD,
"bold"
, SLTT_BOLD_MASK);
52
SLtt_set_mono(AA_DIM,
"dim"
, SLTT_ALTC_MASK);
53
SLtt_set_mono(AA_REVERSE,
"reverse"
, SLTT_REV_MASK);
54
SLtt_set_mono(AA_SPECIAL,
"special"
, 0);
55
SLtt_set_mono(AA_BOLDFONT,
"boldfont"
, SLTT_BOLD_MASK);
56
57
SLtt_set_color(AA_NORMAL,
"normal"
,
"lightgray"
,
"black"
);
58
SLtt_set_color(AA_BOLD,
"bold"
,
"white"
,
"black"
);
59
SLtt_set_color(AA_DIM,
"dim"
,
"gray"
,
"black"
);
60
SLtt_set_color(AA_REVERSE,
"bold"
,
"black"
,
"lightgray"
);
61
SLtt_set_color(AA_SPECIAL,
"dim"
,
"lightgray"
,
"blue"
);
62
SLtt_set_color(AA_BOLDFONT,
"bold"
,
"white"
,
"black"
);
63
*width = SLtt_Screen_Cols;
64
*height = SLtt_Screen_Rows;
65
/*if(i==2) exit(1); */
66
#ifdef GPM_MOUSEDRIVER
67
gpm_mx = *width;
68
gpm_my = *height;
69
#endif
70
71
}
72
static
void
slang_setattr(
aa_context
* c,
int
attr)
73
{
74
SLsmg_set_color(attr);
75
}
76
static
void
slang_print(
aa_context
* c,
char
*text)
77
{
78
SLsmg_write_string(text);
79
}
80
static
void
slang_flush(
aa_context
* c)
81
{
82
SLsmg_refresh();
83
}
84
static
void
slang_gotoxy(
aa_context
* c,
int
x,
int
y)
85
{
86
SLsmg_gotorc(y, x);
87
}
88
static
void
slang_cursor(
aa_context
* c,
int
mode)
89
{
90
SLtt_set_cursor_visibility(mode);
91
}
92
93
94
95
struct
aa_driver
slang_d =
96
{
97
"slang"
,
"Slang driver 1.0"
,
98
slang_init,
99
slang_uninit,
100
slang_getsize,
101
slang_setattr,
102
slang_print,
103
slang_gotoxy,
104
slang_flush,
105
slang_cursor,
106
};
107
#endif
config.h
aalib.h
aa_context
Definition
aalib.h:78
aa_driver
Definition
aalib.h:99
aa_hardware_params
Definition
aalib.h:67
aalib
src
aaslang.c
Generated by
1.18.0