mirror of
https://github.com/QB64-Phoenix-Edition/QB64pe.git
synced 2024-07-06 00:00:22 +00:00
Merge pull request #117 from Galleondragon/fix-steve
Adds stubs for recent OS-specific functions and fixes other glitches.
This commit is contained in:
commit
d02516cec3
|
@ -24,13 +24,12 @@
|
|||
|
||||
int32 disableEvents=0;
|
||||
|
||||
#ifdef QB64_WINDOWS //Global console vvalues
|
||||
static int32 consolekey;
|
||||
static int32 consolemousex;
|
||||
static int32 consolemousey;
|
||||
static int32 consolebutton;
|
||||
int32 func__getconsoleinput(); //declare here, so we can use with SLEEP and END commands
|
||||
#endif
|
||||
//Global console vvalues
|
||||
static int32 consolekey;
|
||||
static int32 consolemousex;
|
||||
static int32 consolemousey;
|
||||
static int32 consolebutton;
|
||||
int32 func__getconsoleinput(); //declare here, so we can use with SLEEP and END commands
|
||||
|
||||
//This next block used to be in common.cpp; put here until I can find a better
|
||||
//place for it (LC, 2018-01-05)
|
||||
|
@ -16452,15 +16451,13 @@ void sub_put2(int32 i,int64 offset,void *element,int32 passed){
|
|||
#include "parts/audio/decode/src.c"
|
||||
#endif
|
||||
|
||||
#ifdef QB64_WINDOWS
|
||||
#ifdef DEPENDENCY_ZLIB
|
||||
#ifdef QB64_BACKSLASH_FILESYSTEM //change slashes depending on OS, I guess? Included by copying audio template, and it works. (SMcNeill comment)
|
||||
#include "parts\\zlib-1.2.11\\src.c"
|
||||
#else
|
||||
#include "parts/zlib-1.2.11/src.c"
|
||||
#endif
|
||||
#ifdef DEPENDENCY_ZLIB
|
||||
#ifdef QB64_BACKSLASH_FILESYSTEM //change slashes depending on OS, I guess? Included by copying audio template, and it works. (SMcNeill comment)
|
||||
#include "parts\\zlib-1.2.11\\src.c"
|
||||
#else
|
||||
#include "parts/zlib-1.2.11/src.c"
|
||||
#endif
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
||||
|
||||
|
@ -29726,104 +29723,160 @@ void reinit_glut_callbacks(){
|
|||
#endif
|
||||
}
|
||||
|
||||
#ifdef QB64_WINDOWS
|
||||
int32 func__capslock(){
|
||||
#ifdef QB64_WINDOWS
|
||||
return -GetKeyState(VK_CAPITAL);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 func__scrolllock(){
|
||||
#ifdef QB64_WINDOWS
|
||||
return -GetKeyState(VK_SCROLL);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
int32 func__numlock(){
|
||||
#ifdef QB64_WINDOWS
|
||||
return -GetKeyState(VK_NUMLOCK);
|
||||
#endif
|
||||
return 0;
|
||||
}
|
||||
|
||||
void toggle_lock_key(int32 key_code){
|
||||
#ifdef QB64_WINDOWS
|
||||
keybd_event (key_code, 0x45, 1, 0);
|
||||
keybd_event (key_code, 0x45, 3, 0);
|
||||
#endif
|
||||
}
|
||||
|
||||
void sub__capslock(int32 options){
|
||||
#ifdef QB64_WINDOWS
|
||||
//VK_CAPITAL
|
||||
int32 currentState = func__capslock();
|
||||
switch(options){
|
||||
case 1: //ON
|
||||
if (currentState==-1) return;
|
||||
break;
|
||||
case 2: //OFF
|
||||
if (currentState==0) return;
|
||||
break;
|
||||
}
|
||||
// _TOGGLE:
|
||||
toggle_lock_key(VK_CAPITAL);
|
||||
#endif
|
||||
}
|
||||
|
||||
void sub__scrolllock(int32 options){
|
||||
#ifdef QB64_WINDOWS
|
||||
//VK_SCROLL
|
||||
int32 currentState = func__scrolllock();
|
||||
switch(options){
|
||||
case 1: //ON
|
||||
if (currentState==-1) return;
|
||||
break;
|
||||
case 2: //OFF
|
||||
if (currentState==0) return;
|
||||
break;
|
||||
}
|
||||
// _TOGGLE:
|
||||
toggle_lock_key(VK_SCROLL);
|
||||
#endif
|
||||
}
|
||||
|
||||
void sub__numlock(int32 options){
|
||||
#ifdef QB64_WINDOWS
|
||||
//VK_NUMLOCK
|
||||
int32 currentState = func__numlock();
|
||||
switch(options){
|
||||
case 1: //ON
|
||||
if (currentState==-1) return;
|
||||
break;
|
||||
case 2: //OFF
|
||||
if (currentState==0) return;
|
||||
break;
|
||||
}
|
||||
// _TOGGLE:
|
||||
toggle_lock_key(VK_NUMLOCK);
|
||||
#endif
|
||||
}
|
||||
|
||||
void sub__consolefont(qbs* FontName, int FontSize){
|
||||
/*
|
||||
#ifdef QB64_WINDOWS
|
||||
SECURITY_ATTRIBUTES SecAttribs = {sizeof(SECURITY_ATTRIBUTES), 0, 1};
|
||||
HANDLE cl_conout = CreateFileA("CONOUT$", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, & SecAttribs, OPEN_EXISTING, 0, 0);
|
||||
static int OneTimePause;
|
||||
if (!OneTimePause){ // a slight delay so the console can be properly created and registered with Windows, before we try and change fonts with it.
|
||||
Sleep(500);
|
||||
OneTimePause=1; //after the first pause, the console should be created, so we don't need any more delays in the future.
|
||||
}
|
||||
CONSOLE_FONT_INFOEX info = {0};
|
||||
info.cbSize = sizeof(info);
|
||||
info.dwFontSize.Y = FontSize; // leave X as zero
|
||||
info.FontWeight = FW_NORMAL;
|
||||
if (FontName->len>0){ //if we don't pass a font name, don't change the existing one.
|
||||
const size_t cSize = FontName->len;
|
||||
wchar_t* wc = new wchar_t[32];
|
||||
mbstowcs (wc, (char *)FontName->chr, cSize);
|
||||
wcscpy(info.FaceName, wc);
|
||||
delete[] wc;
|
||||
}
|
||||
|
||||
SetCurrentConsoleFontEx(cl_conout, NULL, &info);
|
||||
#endif
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
void sub__console_cursor(int32 visible, int32 cursorsize, int32 passed){
|
||||
#ifdef QB64_WINDOWS
|
||||
HANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
CONSOLE_CURSOR_INFO info;
|
||||
|
||||
int func__capslock(){
|
||||
return GetKeyState(VK_CAPITAL);
|
||||
}
|
||||
GetConsoleCursorInfo(consoleHandle, &info); //get the original info, so we reuse it, unless the user called for a change.
|
||||
|
||||
int func__scrollock(){
|
||||
return GetKeyState(VK_NUMLOCK);
|
||||
}
|
||||
|
||||
int func__numlock(){
|
||||
return GetKeyState(VK_SCROLL);
|
||||
}
|
||||
|
||||
void sub__toggle_capslock(){
|
||||
keybd_event (VK_CAPITAL, 0x45, 1, 0);
|
||||
keybd_event (VK_CAPITAL, 0x45, 3, 0);
|
||||
}
|
||||
|
||||
void sub__toggle_scrollock(){
|
||||
keybd_event (VK_NUMLOCK, 0x45, 1, 0);
|
||||
keybd_event (VK_NUMLOCK, 0x45, 3, 0);
|
||||
}
|
||||
|
||||
void sub__toggle_numlock(){
|
||||
keybd_event (VK_SCROLL, 0x45, 1, 0);
|
||||
keybd_event (VK_SCROLL, 0x45, 3, 0);
|
||||
}
|
||||
|
||||
|
||||
void CFont(qbs* FontName, int FontSize){
|
||||
/*
|
||||
SECURITY_ATTRIBUTES SecAttribs = {sizeof(SECURITY_ATTRIBUTES), 0, 1};
|
||||
HANDLE cl_conout = CreateFileA("CONOUT$", GENERIC_READ | GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, & SecAttribs, OPEN_EXISTING, 0, 0);
|
||||
static int OneTimePause;
|
||||
if (!OneTimePause){ // a slight delay so the console can be properly created and registered with Windows, before we try and change fonts with it.
|
||||
Sleep(500);
|
||||
OneTimePause=1; //after the first pause, the console should be created, so we don't need any more delays in the future.
|
||||
}
|
||||
CONSOLE_FONT_INFOEX info = {0};
|
||||
info.cbSize = sizeof(info);
|
||||
info.dwFontSize.Y = FontSize; // leave X as zero
|
||||
info.FontWeight = FW_NORMAL;
|
||||
if (FontName->len>0){ //if we don't pass a font name, don't change the existing one.
|
||||
const size_t cSize = FontName->len;
|
||||
wchar_t* wc = new wchar_t[32];
|
||||
mbstowcs (wc, (char *)FontName->chr, cSize);
|
||||
wcscpy(info.FaceName, wc);
|
||||
delete[] wc;
|
||||
}
|
||||
|
||||
SetCurrentConsoleFontEx(cl_conout, NULL, &info);
|
||||
*/
|
||||
}
|
||||
|
||||
|
||||
void sub__console_cursor(int32 visible, int32 cursorsize, int32 passed){
|
||||
HANDLE consoleHandle = GetStdHandle(STD_OUTPUT_HANDLE);
|
||||
CONSOLE_CURSOR_INFO info;
|
||||
if (visible==1)info.bVisible = TRUE; //cursor is set to show
|
||||
if (visible==2)info.bVisible = FALSE; //set to hide
|
||||
if (passed&&cursorsize>=0&&cursorsize<=100)info.dwSize = cursorsize; //the user passed the cursor size, of a suitable size
|
||||
|
||||
GetConsoleCursorInfo(consoleHandle, &info); //get the original info, so we reuse it, unless the user called for a change.
|
||||
SetConsoleCursorInfo(consoleHandle, &info);
|
||||
#endif
|
||||
}
|
||||
|
||||
if (visible==1)info.bVisible = TRUE; //cursor is set to show
|
||||
if (visible==2)info.bVisible = FALSE; //set to hide
|
||||
if (passed&&cursorsize>=0&&cursorsize<=100)info.dwSize = cursorsize; //the user passed the cursor size, of a suitable size
|
||||
|
||||
SetConsoleCursorInfo(consoleHandle, &info);
|
||||
int32 func__getconsoleinput(){
|
||||
#ifdef QB64_WINDOWS
|
||||
HANDLE hStdin = GetStdHandle (STD_INPUT_HANDLE);
|
||||
INPUT_RECORD irInputRecord;
|
||||
DWORD dwEventsRead, fdwMode, dwMode;
|
||||
CONSOLE_SCREEN_BUFFER_INFO cl_bufinfo;
|
||||
|
||||
GetConsoleMode(hStdin, (LPDWORD)&dwMode);
|
||||
fdwMode = ENABLE_EXTENDED_FLAGS;
|
||||
SetConsoleMode(hStdin, fdwMode);
|
||||
fdwMode = dwMode | ENABLE_WINDOW_INPUT | ENABLE_MOUSE_INPUT;
|
||||
SetConsoleMode(hStdin, fdwMode);
|
||||
|
||||
ReadConsoleInputA (hStdin, &irInputRecord, 1, &dwEventsRead);
|
||||
switch(irInputRecord.EventType){
|
||||
case KEY_EVENT: //keyboard input
|
||||
consolekey = irInputRecord.Event.KeyEvent.wVirtualScanCode;
|
||||
if (!irInputRecord.Event.KeyEvent.bKeyDown) consolekey = -consolekey; //positive/negative return of scan codes.
|
||||
return 1;
|
||||
case MOUSE_EVENT: //mouse input
|
||||
consolemousex = irInputRecord.Event.MouseEvent.dwMousePosition.X + 1;
|
||||
consolemousey = irInputRecord.Event.MouseEvent.dwMousePosition.Y - cl_bufinfo.srWindow.Top + 1;
|
||||
consolebutton = irInputRecord.Event.MouseEvent.dwButtonState; //button state for all buttons
|
||||
//SetConsoleMode(hStdin, dwMode);
|
||||
return 2;
|
||||
}
|
||||
#endif
|
||||
return 0; //in case it's some other odd input
|
||||
}
|
||||
|
||||
int32 func__getconsoleinput(){
|
||||
HANDLE hStdin = GetStdHandle (STD_INPUT_HANDLE);
|
||||
INPUT_RECORD irInputRecord;
|
||||
DWORD dwEventsRead, fdwMode, dwMode;
|
||||
CONSOLE_SCREEN_BUFFER_INFO cl_bufinfo;
|
||||
|
||||
GetConsoleMode(hStdin, (LPDWORD)&dwMode);
|
||||
fdwMode = ENABLE_EXTENDED_FLAGS;
|
||||
SetConsoleMode(hStdin, fdwMode);
|
||||
fdwMode = dwMode | ENABLE_WINDOW_INPUT | ENABLE_MOUSE_INPUT;
|
||||
SetConsoleMode(hStdin, fdwMode);
|
||||
|
||||
ReadConsoleInputA (hStdin, &irInputRecord, 1, &dwEventsRead);
|
||||
switch(irInputRecord.EventType){
|
||||
case KEY_EVENT: //keyboard input
|
||||
consolekey = irInputRecord.Event.KeyEvent.wVirtualScanCode;
|
||||
if (!irInputRecord.Event.KeyEvent.bKeyDown) consolekey = -consolekey; //positive/negative return of scan codes.
|
||||
return 1;
|
||||
case MOUSE_EVENT: //mouse input
|
||||
consolemousex = irInputRecord.Event.MouseEvent.dwMousePosition.X + 1;
|
||||
consolemousey = irInputRecord.Event.MouseEvent.dwMousePosition.Y - cl_bufinfo.srWindow.Top + 1;
|
||||
consolebutton = irInputRecord.Event.MouseEvent.dwButtonState; //button state for all buttons
|
||||
//SetConsoleMode(hStdin, dwMode);
|
||||
return 2;
|
||||
}
|
||||
return 0; //in case it's some other odd input
|
||||
}
|
||||
|
||||
int32 func__CInp (int32 toggle, int32 passed){
|
||||
int32 func__cinp (int32 toggle, int32 passed){
|
||||
#ifdef QB64_WINDOWS
|
||||
int32 temp = consolekey;
|
||||
consolekey = 0; //reset the console key, now that we've read it
|
||||
if (passed==0)toggle=1; //default return of positive/negative scan code values
|
||||
|
@ -29833,6 +29886,7 @@ void reinit_glut_callbacks(){
|
|||
if (temp>=0)return temp;
|
||||
return -temp + 128;
|
||||
}
|
||||
}
|
||||
|
||||
#endif
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
|
@ -1,39 +1,47 @@
|
|||
#ifdef DEPENDENCY_ZLIB
|
||||
#include "download\zlib.h"
|
||||
#ifdef QB64_WINDOWS
|
||||
#include "download\zlib.h"
|
||||
#endif
|
||||
qbs *func__deflate(qbs *text){
|
||||
uLongf filesize = (uint32)text->len; //length of the text
|
||||
uLongf compsize = compressBound(filesize);
|
||||
unsigned char *dest = (unsigned char *)malloc(compsize);
|
||||
int32 result = compress(dest, &compsize, text->chr, filesize);
|
||||
qbs *ret = qbs_new(compsize,1);
|
||||
memcpy(ret->chr, dest, compsize);
|
||||
free(dest);
|
||||
return ret;
|
||||
#ifdef QB64_WINDOWS
|
||||
uLongf filesize = (uint32)text->len; //length of the text
|
||||
uLongf compsize = compressBound(filesize);
|
||||
unsigned char *dest = (unsigned char *)malloc(compsize);
|
||||
int32 result = compress(dest, &compsize, text->chr, filesize);
|
||||
qbs *ret = qbs_new(compsize,1);
|
||||
memcpy(ret->chr, dest, compsize);
|
||||
free(dest);
|
||||
return ret;
|
||||
#else
|
||||
return text;
|
||||
#endif
|
||||
}
|
||||
|
||||
qbs *func__inflate(qbs *text, int64 originalsize, int32 passed){
|
||||
int32 result=0;
|
||||
if (passed==1){
|
||||
uLongf uncompsize = originalsize;
|
||||
unsigned char *dest = (unsigned char *)malloc(originalsize);
|
||||
int32 result = uncompress(dest, &uncompsize, text->chr, text->len);
|
||||
qbs *ret = qbs_new(uncompsize,1);
|
||||
memcpy(ret->chr, dest, uncompsize);
|
||||
free(dest);
|
||||
return ret;
|
||||
}else{
|
||||
uLongf uncompsize = 0;
|
||||
unsigned char *dest;
|
||||
do {
|
||||
uncompsize = uncompsize + 10000000; //10 mb original buffer, resized by 10 mb each pass until it's large enough to hold the uncompressed data.
|
||||
dest = (unsigned char *)malloc(uncompsize);
|
||||
result = uncompress(dest, &uncompsize, text->chr, text->len);
|
||||
if (result==Z_BUF_ERROR)free(dest); //if the buffer is too small, free the old buffer
|
||||
} while(result==Z_BUF_ERROR); // and try again with a larger buffer
|
||||
qbs *ret = qbs_new(uncompsize,1);
|
||||
memcpy(ret->chr, dest, uncompsize);
|
||||
free(dest);
|
||||
return ret;
|
||||
#ifdef QB64_WINDOWS
|
||||
int32 result=0;
|
||||
if (passed==1){
|
||||
uLongf uncompsize = originalsize;
|
||||
unsigned char *dest = (unsigned char *)malloc(originalsize);
|
||||
int32 result = uncompress(dest, &uncompsize, text->chr, text->len);
|
||||
qbs *ret = qbs_new(uncompsize,1);
|
||||
memcpy(ret->chr, dest, uncompsize);
|
||||
free(dest);
|
||||
return ret;
|
||||
}else{
|
||||
uLongf uncompsize = 0;
|
||||
unsigned char *dest;
|
||||
do {
|
||||
uncompsize = uncompsize + 10000000; //10 mb original buffer, resized by 10 mb each pass until it's large enough to hold the uncompressed data.
|
||||
dest = (unsigned char *)malloc(uncompsize);
|
||||
result = uncompress(dest, &uncompsize, text->chr, text->len);
|
||||
if (result==Z_BUF_ERROR)free(dest); //if the buffer is too small, free the old buffer
|
||||
} while(result==Z_BUF_ERROR); // and try again with a larger buffer
|
||||
qbs *ret = qbs_new(uncompsize,1);
|
||||
memcpy(ret->chr, dest, uncompsize);
|
||||
free(dest);
|
||||
return ret;
|
||||
}
|
||||
}
|
||||
#endif
|
||||
#else
|
||||
return text;
|
||||
#endif
|
||||
}
|
|
@ -1,22 +1,22 @@
|
|||
#include "common.h"
|
||||
|
||||
|
||||
#ifdef QB64_WINDOWS
|
||||
extern int32 func__CInp (int32 toggle, int32 passed); //Console INP scan code reader
|
||||
extern int func__capslock();
|
||||
extern int func__scrollock();
|
||||
extern int func__numlock();
|
||||
extern void sub__toggle_capslock();
|
||||
extern void sub__toggle_scrollock();
|
||||
extern void sub__toggle_numlock();
|
||||
extern void CFont(qbs* FontName, int FontSize);
|
||||
extern void sub__console_cursor(int32 visible, int32 cursorsize, int32 passed);
|
||||
extern int32 func__getconsoleinput();
|
||||
|
||||
#ifdef DEPENDENCY_ZLIB
|
||||
qbs *func__deflate(qbs *text);
|
||||
qbs *func__inflate(qbs *text, int64 originalsize, int32 passed);
|
||||
#include "parts\zlib-1.2.11\download\zlib.h"
|
||||
extern int32 func__cinp (int32 toggle, int32 passed); //Console INP scan code reader
|
||||
extern int func__capslock();
|
||||
extern int func__scrolllock();
|
||||
extern int func__numlock();
|
||||
extern void sub__capslock(int32 options);
|
||||
extern void sub__scrolllock(int32 options);
|
||||
extern void sub__numlock(int32 options);
|
||||
extern void sub__consolefont(qbs* FontName, int FontSize);
|
||||
extern void sub__console_cursor(int32 visible, int32 cursorsize, int32 passed);
|
||||
extern int32 func__getconsoleinput();
|
||||
|
||||
#ifdef DEPENDENCY_ZLIB
|
||||
qbs *func__deflate(qbs *text);
|
||||
qbs *func__inflate(qbs *text, int64 originalsize, int32 passed);
|
||||
#ifdef QB64_WINDOWS
|
||||
#include "parts\zlib-1.2.11\download\zlib.h"
|
||||
#endif
|
||||
#endif
|
||||
|
||||
|
|
|
@ -122,7 +122,7 @@ listOfKeywords$ = listOfKeywords$ + "_ERRORLINE@_EXIT@_EXPLICIT@_FILEEXISTS@_FLO
|
|||
listOfKeywords$ = listOfKeywords$ + "_GLCOPYTEXSUBIMAGE2D@_GLCULLFACE@_GLDELETELISTS@_GLDELETETEXTURES@_GLDEPTHFUNC@_GLDEPTHMASK@_GLDEPTHRANGE@_GLDISABLE@_GLDISABLECLIENTSTATE@_GLDRAWARRAYS@_GLDRAWBUFFER@_GLDRAWELEMENTS@_GLDRAWPIXELS@_GLEDGEFLAG@_GLEDGEFLAGPOINTER@_GLEDGEFLAGV@_GLENABLE@_GLENABLECLIENTSTATE@_GLEND@_GLENDLIST@_GLEVALCOORD1D@_GLEVALCOORD1DV@_GLEVALCOORD1F@_GLEVALCOORD1FV@_GLEVALCOORD2D@_GLEVALCOORD2DV@_GLEVALCOORD2F@_GLEVALCOORD2FV@_GLEVALMESH1@_GLEVALMESH2@_GLEVALPOINT1@_GLEVALPOINT2@_GLFEEDBACKBUFFER@_GLFINISH@_GLFLUSH@_GLFOGF@_GLFOGFV@_GLFOGI@_GLFOGIV@_GLFRONTFACE@_GLFRUSTUM@_GLGENLISTS@_GLGENTEXTURES@_GLGETBOOLEANV@_GLGETCLIPPLANE@_GLGETDOUBLEV@_GLGETERROR@_GLGETFLOATV@_GLGETINTEGERV@_GLGETLIGHTFV@_GLGETLIGHTIV@_GLGETMAPDV@_GLGETMAPFV@_GLGETMAPIV@_GLGETMATERIALFV@_GLGETMATERIALIV@_GLGETPIXELMAPFV@_GLGETPIXELMAPUIV@_GLGETPIXELMAPUSV@_GLGETPOINTERV@_GLGETPOLYGONSTIPPLE@_GLGETSTRING@_GLGETTEXENVFV@_GLGETTEXENVIV@_GLGETTEXGENDV@_GLGETTEXGENFV@_GLGETTEXGENIV@_GLGETTEXIMAGE@_GLGETTEXLEVELPARAMETERFV@_GLGETTEXLEVELPARAMETERIV@_GLGETTEXPARAMETERFV@_GLGETTEXPARAMETERIV@_GLHINT@_GLINDEXMASK@_GLINDEXPOINTER@_GLINDEXD@_GLINDEXDV@_GLINDEXF@_GLINDEXFV@_GLINDEXI@_GLINDEXIV@_GLINDEXS@_GLINDEXSV@_GLINDEXUB@_GLINDEXUBV@_GLINITNAMES@_GLINTERLEAVEDARRAYS@_GLISENABLED@_GLISLIST@_GLISTEXTURE@_GLLIGHTMODELF@_GLLIGHTMODELFV@_GLLIGHTMODELI@_GLLIGHTMODELIV@_GLLIGHTF@_GLLIGHTFV@_GLLIGHTI@_GLLIGHTIV@_GLLINESTIPPLE@_GLLINEWIDTH@_GLLISTBASE@_GLLOADIDENTITY@_GLLOADMATRIXD@_GLLOADMATRIXF@_GLLOADNAME@_GLLOGICOP@_GLMAP1D@_GLMAP1F@_GLMAP2D@_GLMAP2F@_GLMAPGRID1D@_GLMAPGRID1F@_GLMAPGRID2D@_GLMAPGRID2F@_GLMATERIALF@_GLMATERIALFV@_GLMATERIALI@_GLMATERIALIV@_GLMATRIXMODE@_GLMULTMATRIXD@_GLMULTMATRIXF@_GLNEWLIST@_GLNORMAL3B@_GLNORMAL3BV@_GLNORMAL3D@_GLNORMAL3DV@_GLNORMAL3F@_GLNORMAL3FV@_GLNORMAL3I@_GLNORMAL3IV@_GLNORMAL3S@_GLNORMAL3SV@_GLNORMALPOINTER@_GLORTHO@_GLPASSTHROUGH@_GLPIXELMAPFV@_GLPIXELMAPUIV@_GLPIXELMAPUSV@_GLPIXELSTOREF@_GLPIXELSTOREI@_GLPIXELTRANSFERF@_GLPIXELTRANSFERI@_GLPIXELZOOM@_GLPOINTSIZE@_GLPOLYGONMODE@_GLPOLYGONOFFSET@_GLPOLYGONSTIPPLE@"
|
||||
listOfKeywords$ = listOfKeywords$ + "_GLPOPATTRIB@_GLPOPCLIENTATTRIB@_GLPOPMATRIX@_GLPOPNAME@_GLPRIORITIZETEXTURES@_GLPUSHATTRIB@_GLPUSHCLIENTATTRIB@_GLPUSHMATRIX@_GLPUSHNAME@_GLRASTERPOS2D@_GLRASTERPOS2DV@_GLRASTERPOS2F@_GLRASTERPOS2FV@_GLRASTERPOS2I@_GLRASTERPOS2IV@_GLRASTERPOS2S@_GLRASTERPOS2SV@_GLRASTERPOS3D@_GLRASTERPOS3DV@_GLRASTERPOS3F@_GLRASTERPOS3FV@_GLRASTERPOS3I@_GLRASTERPOS3IV@_GLRASTERPOS3S@_GLRASTERPOS3SV@_GLRASTERPOS4D@_GLRASTERPOS4DV@_GLRASTERPOS4F@_GLRASTERPOS4FV@_GLRASTERPOS4I@_GLRASTERPOS4IV@_GLRASTERPOS4S@_GLRASTERPOS4SV@_GLREADBUFFER@_GLREADPIXELS@_GLRECTD@_GLRECTDV@_GLRECTF@_GLRECTFV@_GLRECTI@_GLRECTIV@_GLRECTS@_GLRECTSV@_GLRENDERMODE@_GLROTATED@_GLROTATEF@_GLSCALED@_GLSCALEF@_GLSCISSOR@_GLSELECTBUFFER@_GLSHADEMODEL@_GLSTENCILFUNC@_GLSTENCILMASK@_GLSTENCILOP@_GLTEXCOORD1D@_GLTEXCOORD1DV@_GLTEXCOORD1F@_GLTEXCOORD1FV@_GLTEXCOORD1I@_GLTEXCOORD1IV@_GLTEXCOORD1S@_GLTEXCOORD1SV@_GLTEXCOORD2D@_GLTEXCOORD2DV@_GLTEXCOORD2F@_GLTEXCOORD2FV@_GLTEXCOORD2I@_GLTEXCOORD2IV@_GLTEXCOORD2S@_GLTEXCOORD2SV@_GLTEXCOORD3D@_GLTEXCOORD3DV@_GLTEXCOORD3F@_GLTEXCOORD3FV@_GLTEXCOORD3I@_GLTEXCOORD3IV@_GLTEXCOORD3S@_GLTEXCOORD3SV@_GLTEXCOORD4D@_GLTEXCOORD4DV@_GLTEXCOORD4F@_GLTEXCOORD4FV@_GLTEXCOORD4I@_GLTEXCOORD4IV@_GLTEXCOORD4S@_GLTEXCOORD4SV@_GLTEXCOORDPOINTER@_GLTEXENVF@_GLTEXENVFV@_GLTEXENVI@_GLTEXENVIV@_GLTEXGEND@_GLTEXGENDV@_GLTEXGENF@_GLTEXGENFV@_GLTEXGENI@_GLTEXGENIV@_GLTEXIMAGE1D@_GLTEXIMAGE2D@_GLTEXPARAMETERF@_GLTEXPARAMETERFV@_GLTEXPARAMETERI@_GLTEXPARAMETERIV@_GLTEXSUBIMAGE1D@_GLTEXSUBIMAGE2D@_GLTRANSLATED@_GLTRANSLATEF@_GLVERTEX2D@_GLVERTEX2DV@_GLVERTEX2F@_GLVERTEX2FV@_GLVERTEX2I@_GLVERTEX2IV@_GLVERTEX2S@_GLVERTEX2SV@_GLVERTEX3D@_GLVERTEX3DV@_GLVERTEX3F@_GLVERTEX3FV@_GLVERTEX3I@_GLVERTEX3IV@_GLVERTEX3S@_GLVERTEX3SV@_GLVERTEX4D@_GLVERTEX4DV@_GLVERTEX4F@_GLVERTEX4FV@_GLVERTEX4I@_GLVERTEX4IV@_GLVERTEX4S@_GLVERTEX4SV@_GLVERTEXPOINTER@_GLVIEWPORT@SMOOTH@STRETCH@_ANTICLOCKWISE@_BEHIND@_CLEAR@_FILLBACKGROUND@_GLUPERSPECTIVE@_HARDWARE@_HARDWARE1@_KEEPBACKGROUND@_NONE@_OFF@_ONLY@_ONLYBACKGROUND@_ONTOP@_SEAMLESS@_SMOOTH@_SMOOTHSHRUNK@_SMOOTHSTRETCHED@"
|
||||
listOfKeywords$ = listOfKeywords$ + "_SOFTWARE@_SQUAREPIXELS@_STRETCH@_ALLOWFULLSCREEN@_ALL@_ECHO@_INSTRREV@_TRIM$@_ACCEPTFILEDROP@_FINISHDROP@_TOTALDROPPEDFILES@_DROPPEDFILE@_DROPPEDFILE$@_SHR@_SHL@"
|
||||
listOfKeywords$ = listOfKeywords$ + "_DEFLATE$@_INFLATE$@_READBIT@_RESETBIT@_SETBIT@_TOGGLEBIT@$ASSERTS@_ASSERT@"
|
||||
listOfKeywords$ = listOfKeywords$ + "_DEFLATE$@_INFLATE$@_READBIT@_RESETBIT@_SETBIT@_TOGGLEBIT@$ASSERTS@_ASSERT@_CAPSLOCK@_NUMLOCK@_SCROLLLOCK@_TOGGLE@_CONSOLEFONT@_CONSOLECURSOR@_CONSOLEINPUT@_CINP@"
|
||||
|
||||
'IDE MODULE: shared data & definitions
|
||||
'---------------------------------------------------
|
||||
|
|
|
@ -12037,21 +12037,6 @@ IF DEPENDENCY(DEPENDENCY_GL) THEN
|
|||
defines$ = defines$ + defines_header$ + "DEPENDENCY_GL"
|
||||
END IF
|
||||
|
||||
IF DEPENDENCY(DEPENDENCY_ZLIB) THEN
|
||||
IF win THEN 'ZLIB is only supported for windows versions so far
|
||||
defines$ = defines$ + defines_header$ + "DEPENDENCY_ZLIB"
|
||||
|
||||
d$ = "internal\c\parts\zlib-1.2.11\"
|
||||
'rebuild?
|
||||
IF _FILEEXISTS(d$ + "os\" + o$ + "\src.a") = 0 THEN
|
||||
Build d$ + "os\" + o$
|
||||
END IF
|
||||
defines$ = defines$ + defines_header$ + "DEPENDENCY_ZLIB"
|
||||
libs$ = libs$ + " " + "parts\zlib-1.2.11\os\" + o$ + "\src.a -lz"
|
||||
END IF
|
||||
END IF
|
||||
|
||||
|
||||
IF DEPENDENCY(DEPENDENCY_SCREENIMAGE) THEN
|
||||
DEPENDENCY(DEPENDENCY_IMAGE_CODEC) = 1 'used by OSX to read in screen capture files
|
||||
END IF
|
||||
|
@ -12160,6 +12145,18 @@ IF DEPENDENCY(DEPENDENCY_AUDIO_OUT) THEN
|
|||
libs$ = libs$ + " " + d2$ + "\src.a"
|
||||
END IF
|
||||
|
||||
IF DEPENDENCY(DEPENDENCY_ZLIB) THEN
|
||||
defines$ = defines$ + defines_header$ + "DEPENDENCY_ZLIB"
|
||||
IF win THEN 'ZLIB is only supported for windows versions so far
|
||||
d$ = "internal\c\parts\zlib-1.2.11\"
|
||||
'rebuild?
|
||||
IF _FILEEXISTS(d$ + "os\" + o$ + "\src.a") = 0 THEN
|
||||
Build d$ + "os\" + o$
|
||||
END IF
|
||||
libs$ = libs$ + " " + "parts\zlib-1.2.11\os\" + o$ + "\src.a -lz"
|
||||
END IF
|
||||
END IF
|
||||
|
||||
'finalize libs$ and defines$ strings
|
||||
IF LEN(libs$) THEN libs$ = libs$ + " "
|
||||
PATH_SLASH_CORRECT libs$
|
||||
|
|
|
@ -3312,26 +3312,10 @@ id.specialformat = "?[,?]"
|
|||
id.ret = STRINGTYPE - ISPOINTER
|
||||
regid
|
||||
|
||||
clearid
|
||||
id.n = "_BORDERWIDTH"
|
||||
id.subfunc = 1
|
||||
id.callname = "func__borderwidth"
|
||||
id.args = 0
|
||||
id.ret = LONGTYPE - ISPOINTER
|
||||
regid
|
||||
|
||||
clearid
|
||||
id.n = "_TITLEBARHEIGHT"
|
||||
id.subfunc = 1
|
||||
id.callname = "func__titlebarheight"
|
||||
id.args = 0
|
||||
id.ret = LONGTYPE - ISPOINTER
|
||||
regid
|
||||
|
||||
clearid
|
||||
id.n = "_CINP"
|
||||
id.subfunc = 1
|
||||
id.callname = "func__CInp"
|
||||
id.callname = "func__cinp"
|
||||
id.args = 1
|
||||
id.arg = MKL$(LONGTYPE - ISPOINTER)
|
||||
id.specialformat = "[?]"
|
||||
|
@ -3343,15 +3327,15 @@ id.n = "_CAPSLOCK"
|
|||
id.subfunc = 1
|
||||
id.callname = "func__capslock"
|
||||
id.args = 0
|
||||
id.ret = INTEGERTYPE - ISPOINTER
|
||||
id.ret = LONGTYPE - ISPOINTER
|
||||
regid
|
||||
|
||||
clearid
|
||||
id.n = "_SCROLLOCK"
|
||||
id.n = "_SCROLLLOCK"
|
||||
id.subfunc = 1
|
||||
id.callname = "func__scrollock"
|
||||
id.callname = "func__scrolllock"
|
||||
id.args = 0
|
||||
id.ret = INTEGERTYPE - ISPOINTER
|
||||
id.ret = LONGTYPE - ISPOINTER
|
||||
regid
|
||||
|
||||
clearid
|
||||
|
@ -3359,34 +3343,40 @@ id.n = "_NUMLOCK"
|
|||
id.subfunc = 1
|
||||
id.callname = "func__numlock"
|
||||
id.args = 0
|
||||
id.ret = INTEGERTYPE - ISPOINTER
|
||||
id.ret = LONGTYPE - ISPOINTER
|
||||
regid
|
||||
|
||||
clearid
|
||||
id.n = "_TOGGLE_CAPSLOCK"
|
||||
id.n = "_CAPSLOCK"
|
||||
id.subfunc = 2
|
||||
id.callname = "sub__toggle_capslock"
|
||||
id.args = 0
|
||||
id.callname = "sub__capslock"
|
||||
id.arg = MKL$(LONGTYPE - ISPOINTER)
|
||||
id.args = 1
|
||||
id.specialformat = "{ON|OFF|_TOGGLE}"
|
||||
regid
|
||||
|
||||
clearid
|
||||
id.n = "_TOGGLE_SCROLLOCK"
|
||||
id.n = "_SCROLLLOCK"
|
||||
id.subfunc = 2
|
||||
id.callname = "sub__toggle_scrollock"
|
||||
id.args = 0
|
||||
id.callname = "sub__scrolllock"
|
||||
id.arg = MKL$(LONGTYPE - ISPOINTER)
|
||||
id.args = 1
|
||||
id.specialformat = "{ON|OFF|_TOGGLE}"
|
||||
regid
|
||||
|
||||
clearid
|
||||
id.n = "_TOGGLE_NUMLOCK"
|
||||
id.n = "_NUMLOCK"
|
||||
id.subfunc = 2
|
||||
id.callname = "sub__toggle_numlock"
|
||||
id.args = 0
|
||||
id.callname = "sub__numlock"
|
||||
id.arg = MKL$(LONGTYPE - ISPOINTER)
|
||||
id.args = 1
|
||||
id.specialformat = "{ON|OFF|_TOGGLE}"
|
||||
regid
|
||||
|
||||
clearid
|
||||
id.n = "_CONSOLEFONT"
|
||||
id.subfunc = 2
|
||||
id.callname = "CFont"
|
||||
id.callname = "sub__consolefont"
|
||||
id.args = 2
|
||||
id.arg = MKL$(STRINGTYPE - ISPOINTER) + MKL$(INTEGERTYPE - ISPOINTER)
|
||||
regid
|
||||
|
@ -3400,14 +3390,6 @@ id.arg = MKL$(LONGTYPE - ISPOINTER) + MKL$(LONGTYPE - ISPOINTER)
|
|||
id.specialformat = "[{_SHOW|_HIDE}][,?]"
|
||||
regid
|
||||
|
||||
clearid
|
||||
id.n = "_CONSOLEMOUSEX"
|
||||
id.subfunc = 1
|
||||
id.callname = "func__consolemousex"
|
||||
id.args = 0
|
||||
id.ret = LONGTYPE - ISPOINTER
|
||||
regid
|
||||
|
||||
clearid
|
||||
id.n = "_CONSOLEINPUT"
|
||||
id.subfunc = 1
|
||||
|
|
Loading…
Reference in a new issue