1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-04 04:50:22 +00:00

Merge pull request #438 from QB64-Phoenix-Edition/export-and-meta-refactoring

Export and meta refactoring
This commit is contained in:
Roland Heyder 2024-01-27 16:20:45 +01:00 committed by GitHub
commit 79a919d92c
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
4 changed files with 87 additions and 93 deletions

View file

@ -12914,10 +12914,6 @@ SUB ideshowtext
(UCASE$(LEFT$(LTRIM$(a2$), 3)) = "$IF" OR _ (UCASE$(LEFT$(LTRIM$(a2$), 3)) = "$IF" OR _
UCASE$(LEFT$(LTRIM$(a2$), 7)) = "$ELSEIF") THEN UCASE$(LEFT$(LTRIM$(a2$), 7)) = "$ELSEIF") THEN
metacommand = -1 metacommand = -1
ELSEIF checkKeyword$ = "$ASSERTS" THEN
IF UCASE$(_TRIM$(a2$)) = "$ASSERTS:CONSOLE" THEN
checkKeyword$ = "$ASSERTS:CONSOLE"
END IF
END IF END IF
isKeyword = LEN(checkKeyword$) isKeyword = LEN(checkKeyword$)
ELSEIF INSTR(listOfCustomKeywords$, "@" + removesymbol2$(checkKeyword$) + "@") > 0 THEN ELSEIF INSTR(listOfCustomKeywords$, "@" + removesymbol2$(checkKeyword$) + "@") > 0 THEN
@ -20444,10 +20440,10 @@ SUB ExportCodeAs (docFormat$)
sTxt$ = LEFT$(sTxt$, LEN(sTxt$) - LEN(cEol$)) sTxt$ = LEFT$(sTxt$, LEN(sTxt$) - LEN(cEol$))
WEND WEND
IF sTxt$ = "" THEN sTxt$ = sTxt$ + cEol$: ELSE sTxt$ = sTxt$ + cEol$ + cEol$ IF sTxt$ = "" THEN sTxt$ = sTxt$ + cEol$: ELSE sTxt$ = sTxt$ + cEol$ + cEol$
sLen& = LEN(sTxt$) ' '=> source code length sLen& = LEN(sTxt$) ' '=> source code length
sPos& = 1 ' '=> source code read position sPos& = 1 ' '=> source code read position
eTxt$ = SPACE$(10000000) '=> export text buffer eTxt$ = SPACE$(1000000) '=> export text buffer
ePos& = 1 ' '=> export text buffer write position ePos& = 1 ' '=> export text buffer write position
'---------- '----------
post% = 0 ''=> GOSUB argument = 0/-1 (close pre current / post current char) post% = 0 ''=> GOSUB argument = 0/-1 (close pre current / post current char)
what$ = "" '=> GOSUB argument = command descriptor what$ = "" '=> GOSUB argument = command descriptor
@ -20469,6 +20465,7 @@ SUB ExportCodeAs (docFormat$)
np% = 0 ''=> $NOPREFIX indicator np% = 0 ''=> $NOPREFIX indicator
pc% = 0 ''=> pre-compiler indicator pc% = 0 ''=> pre-compiler indicator
ml% = 0 ''=> meta line indicator ml% = 0 ''=> meta line indicator
dl% = 0 ''=> data line indicator
cu% = 0 ''=> custom keyword indicator cu% = 0 ''=> custom keyword indicator
lb% = 0 ''=> line break indicator lb% = 0 ''=> line break indicator
nl% = -1 '=> new line indicator nl% = -1 '=> new line indicator
@ -20507,7 +20504,7 @@ SUB ExportCodeAs (docFormat$)
GOSUB EndLineOps GOSUB EndLineOps
IF curr% = 13 THEN lb% = -1 IF curr% = 13 THEN lb% = -1
END IF END IF
IF curr% = 10 THEN pc% = 0: ml% = 0: lb% = 0: nl% = -1: nt% = -1 IF curr% = 10 THEN pc% = 0: ml% = 0: dl% = 0: lb% = 0: nl% = -1: nt% = -1
CASE 9, 32 'space CASE 9, 32 'space
IF me% THEN IF me% THEN
GOSUB VerifyKeyword: GOSUB WriteLink: me% = 0: le% = 0 GOSUB VerifyKeyword: GOSUB WriteLink: me% = 0: le% = 0
@ -20521,9 +20518,10 @@ SUB ExportCodeAs (docFormat$)
kw% = 0: IF in% THEN sk% = -1 kw% = 0: IF in% THEN sk% = -1
SELECT CASE UCASE$(kw$) SELECT CASE UCASE$(kw$)
CASE "REM": IF NOT (co% OR qu%) THEN co% = -1: what$ = "co": GOSUB OpenText CASE "REM": IF NOT (co% OR qu%) THEN co% = -1: what$ = "co": GOSUB OpenText
CASE "DATA": dl% = -1
CASE "OPEN": op% = -1 CASE "OPEN": op% = -1
CASE "IF", "ELSEIF", "UNTIL", "WHILE": fu% = -1: bo% = -1 CASE "IF", "ELSEIF", "UNTIL", "WHILE": fu% = -1: bo% = -1
CASE "THEN": fu% = 0: bo% = 0 CASE "THEN", "ELSE": fu% = 0: bo% = 0
CASE ELSE CASE ELSE
FOR i& = 1 TO idn FOR i& = 1 TO idn
IF ids(i&).subfunc = 2 AND ids(i&).args > 0 THEN IF ids(i&).subfunc = 2 AND ids(i&).args > 0 THEN
@ -20644,6 +20642,8 @@ SUB ExportCodeAs (docFormat$)
IF curr% <> 9 AND curr% <> 10 AND curr% <> 32 THEN nl% = 0 IF curr% <> 9 AND curr% <> 10 AND curr% <> 32 THEN nl% = 0
IF NOT sk% THEN ASC(eTxt$, ePos&) = curr%: ePos& = ePos& + 1 IF NOT sk% THEN ASC(eTxt$, ePos&) = curr%: ePos& = ePos& + 1
sk% = 0: sPos& = sPos& + 1 sk% = 0: sPos& = sPos& + 1
'----------
IF ePos& > LEN(eTxt$) - 10000 THEN eTxt$ = eTxt$ + SPACE$(1000000) 'expand export buffer, if needed
WEND WEND
GOSUB CloseCodeBlock GOSUB CloseCodeBlock
'---------- '----------
@ -20688,7 +20688,7 @@ SUB ExportCodeAs (docFormat$)
RETURN RETURN
'---------- '----------
OpenText: OpenText:
IF ml% AND NOT pc% AND LCASE$(what$) <> "co" THEN RETURN IF ml% < -1 AND NOT pc% AND LCASE$(what$) <> "co" THEN RETURN
SELECT CASE LCASE$(docFormat$) SELECT CASE LCASE$(docFormat$)
CASE "html" CASE "html"
SELECT CASE LCASE$(what$) SELECT CASE LCASE$(what$)
@ -20723,7 +20723,7 @@ SUB ExportCodeAs (docFormat$)
RETURN RETURN
'---------- '----------
CloseText: CloseText:
IF ml% AND NOT pc% AND LCASE$(what$) <> "co" THEN RETURN IF ml% < -1 AND NOT pc% AND LCASE$(what$) <> "co" THEN RETURN
SELECT CASE LCASE$(docFormat$) SELECT CASE LCASE$(docFormat$)
CASE "html" CASE "html"
SELECT CASE LCASE$(what$) SELECT CASE LCASE$(what$)
@ -20759,22 +20759,23 @@ SUB ExportCodeAs (docFormat$)
VerifyKeyword: VerifyKeyword:
IF me% THEN veri$ = me$: ELSE veri$ = kw$ IF me% THEN veri$ = me$: ELSE veri$ = kw$
IF ASC(veri$, 1) <> 95 THEN flp% = 1: ELSE flp% = 2 IF ASC(veri$, 1) <> 95 THEN flp% = 1: ELSE flp% = 2
IF (ASC(veri$, flp%) < 91 OR MID$(veri$, flp%, 2) = "gl") AND INSTR(listOfKeywords$, "@" + UCASE$(veri$) + "@") > 0 THEN IF (ASC(veri$, flp%) < 91 OR MID$(veri$, flp%, 2) = "gl") AND (INSTR(listOfKeywords$, "@" + UCASE$(veri$) + "@") > 0 OR (np% AND INSTR(listOfKeywords$, "@_" + UCASE$(veri$) + "@") > 0)) THEN
IF me% AND le% THEN IF me% AND le% THEN
IF INSTR("$DYNAMIC$INCLUDE$STATIC", UCASE$(veri$)) = 0 THEN me$ = "" IF INSTR("$DYNAMIC$INCLUDE$STATIC", UCASE$(veri$)) = 0 THEN me$ = ""
ELSEIF me% AND NOT le% THEN ELSEIF me% AND NOT le% THEN
IF INSTR("$DYNAMIC$INCLUDE$STATIC", UCASE$(veri$)) > 0 THEN me$ = "" IF INSTR("$DYNAMIC$INCLUDE$STATIC", UCASE$(veri$)) > 0 THEN me$ = ""
END IF END IF
IF ((ml% < -1 AND NOT pc%) OR dl%) AND me% THEN me$ = ""
IF ((ml% < -1 AND NOT pc%) OR dl%) AND kw% THEN kw$ = ""
IF pc% THEN me$ = veri$ IF pc% THEN me$ = veri$
ELSEIF np% AND kw% THEN ELSEIF NOT (ml% < 0 OR dl%) AND INSTR(listOfCustomKeywords$, "@" + UCASE$(removesymbol2$(veri$)) + "@") > 0 THEN
IF ASC(veri$, 1) > 90 OR INSTR(listOfKeywords$, "@_" + UCASE$(veri$) + "@") = 0 THEN kw$ = ""
ELSEIF NOT ml% AND INSTR(listOfCustomKeywords$, "@" + UCASE$(removesymbol2$(veri$)) + "@") > 0 THEN
cu% = -1 cu% = -1
ELSEIF pc% AND INSTR(UserDefineList$, "@" + UCASE$(veri$) + "@") > 0 THEN ELSEIF pc% AND INSTR(UserDefineList$, "@" + UCASE$(veri$) + "@") > 0 THEN
cu% = -1 cu% = -1
ELSE ELSE
IF me% THEN me$ = "": ELSE kw$ = "" IF me% THEN me$ = "": ELSE kw$ = ""
END IF END IF
IF ml% < 0 AND curr% <> 58 THEN ml% = -2
RETURN RETURN
'---------- '----------
FindWikiPage: FindWikiPage:
@ -20785,8 +20786,8 @@ SUB ExportCodeAs (docFormat$)
CASE "FOR", "OUTPUT", "APPEND", "INPUT", "BINARY", "RANDOM": page$ = "OPEN#File_Access_Modes" CASE "FOR", "OUTPUT", "APPEND", "INPUT", "BINARY", "RANDOM": page$ = "OPEN#File_Access_Modes"
CASE ELSE: page$ = "OPEN" CASE ELSE: page$ = "OPEN"
END SELECT END SELECT
ELSEIF fu% AND ((INSTR(fu$, "@" + page$ + "@") > 0) OR (np% AND INSTR(fu$, "@_" + page$ + "@") > 0)) THEN ELSEIF (fu% < 0) AND ((INSTR(fu$, "@" + page$ + "@") > 0) OR (np% AND INSTR(fu$, "@_" + page$ + "@") > 0)) THEN
IF page$ = "SHELL" THEN page$ = page$ + " (QB64 function)": ELSE page$ = page$ + " (function)" page$ = page$ + " (function)"
ELSEIF bo% AND INSTR(bo$, "@" + page$ + "@") > 0 THEN 'np% check omitted (legacy words only) ELSEIF bo% AND INSTR(bo$, "@" + page$ + "@") > 0 THEN 'np% check omitted (legacy words only)
page$ = page$ + " (boolean)" page$ = page$ + " (boolean)"
ELSEIF ((INSTR(ma$, "@" + page$ + "@") > 0) OR (np% AND INSTR(ma$, "@_" + page$ + "@") > 0)) THEN ELSEIF ((INSTR(ma$, "@" + page$ + "@") > 0) OR (np% AND INSTR(ma$, "@_" + page$ + "@") > 0)) THEN

View file

@ -153,11 +153,12 @@ DIM SHARED viFileDescription$, viFileVersion$, viInternalName$
DIM SHARED viLegalCopyright$, viLegalTrademarks$, viOriginalFilename$ DIM SHARED viLegalCopyright$, viLegalTrademarks$, viOriginalFilename$
DIM SHARED viProductName$, viProductVersion$, viComments$, viWeb$ DIM SHARED viProductName$, viProductVersion$, viComments$, viWeb$
DIM SHARED NoChecks DIM SHARED CheckingOn
DIM SHARED ConsoleOn
DIM SHARED ScreenHideOn
DIM SHARED AssertsOn
DIM SHARED ResizeOn, ResizeScale
DIM SHARED Console
DIM SHARED ScreenHide
DIM SHARED Asserts
DIM SHARED OptMax AS LONG DIM SHARED OptMax AS LONG
OptMax = 256 OptMax = 256
REDIM SHARED Opt(1 TO OptMax, 1 TO 10) AS STRING * 256 REDIM SHARED Opt(1 TO OptMax, 1 TO 10) AS STRING * 256
@ -1142,9 +1143,6 @@ lastLineReturn = 0
lastLine = 0 lastLine = 0
firstLine = 1 firstLine = 1
Resize = 0
Resize_Scale = 0
UseGL = 0 UseGL = 0
Error_Happened = 0 Error_Happened = 0
@ -1294,9 +1292,11 @@ HashAdd "WHILE", f, 0
'clear/init variables 'clear/init variables
Console = 0 CheckingOn = 1
ScreenHide = 0 ConsoleOn = 0
Asserts = 0 ScreenHideOn = 0
AssertsOn = 0
ResizeOn = 0: ResizeScale = 0
ResolveStaticFunctions = 0 ResolveStaticFunctions = 0
dynamiclibrary = 0 dynamiclibrary = 0
dimsfarray = 0 dimsfarray = 0
@ -1316,7 +1316,6 @@ staticarraylist = "": staticarraylistn = 0
fooindwel = 0 fooindwel = 0
layout = "" layout = ""
layoutok = 0 layoutok = 0
NoChecks = 0
inclevel = 0 inclevel = 0
errorLineInInclude = 0 errorLineInInclude = 0
addmetainclude$ = "" addmetainclude$ = ""
@ -3025,7 +3024,6 @@ DO
layoutdone = 1 layoutdone = 1
GOTO finishednonexec GOTO finishednonexec
END IF END IF
IF a3u$ = "$COLOR:32" THEN IF a3u$ = "$COLOR:32" THEN
layout$ = SCase$("$Color:32") layout$ = SCase$("$Color:32")
IF qb64prefix_set THEN IF qb64prefix_set THEN
@ -3049,7 +3047,6 @@ DO
addWarning linenumber, inclevel, inclinenumber(inclevel), incname$(inclevel), "Deprecated feature", "$VirtualKeyboard" addWarning linenumber, inclevel, inclinenumber(inclevel), incname$(inclevel), "Deprecated feature", "$VirtualKeyboard"
GOTO finishednonexec GOTO finishednonexec
END IF END IF
IF a3u$ = "$VIRTUALKEYBOARD:OFF" THEN IF a3u$ = "$VIRTUALKEYBOARD:OFF" THEN
'Deprecated; does nothing. 'Deprecated; does nothing.
layout$ = SCase$("$VirtualKeyboard:Off") layout$ = SCase$("$VirtualKeyboard:Off")
@ -3067,31 +3064,29 @@ DO
IF a3u$ = "$CHECKING:OFF" THEN IF a3u$ = "$CHECKING:OFF" THEN
layout$ = SCase$("$Checking:Off") layout$ = SCase$("$Checking:Off")
NoChecks = 1 CheckingOn = 0
IF vWatchOn <> 0 AND NoIDEMode = 0 AND inclevel = 0 THEN IF vWatchOn <> 0 AND NoIDEMode = 0 AND inclevel = 0 THEN
addWarning linenumber, inclevel, inclinenumber(inclevel), incname$(inclevel), "$Debug", "$Debug features won't work in $Checking:Off blocks" addWarning linenumber, inclevel, inclinenumber(inclevel), incname$(inclevel), "$Debug", "$Debug features won't work in $Checking:Off blocks"
END IF END IF
GOTO finishednonexec GOTO finishednonexec
END IF END IF
IF a3u$ = "$CHECKING:ON" THEN IF a3u$ = "$CHECKING:ON" THEN
layout$ = SCase$("$Checking:On") layout$ = SCase$("$Checking:On")
NoChecks = 0 CheckingOn = 1
GOTO finishednonexec GOTO finishednonexec
END IF END IF
IF a3u$ = "$CONSOLE" THEN IF a3u$ = "$CONSOLE" THEN
layout$ = SCase$("$Console") layout$ = SCase$("$Console")
Console = 1 ConsoleOn = 1
GOTO finishednonexec GOTO finishednonexec
END IF END IF
IF a3u$ = "$CONSOLE:ONLY" THEN IF a3u$ = "$CONSOLE:ONLY" THEN
layout$ = SCase$("$Console:Only") layout$ = SCase$("$Console:Only")
DEPENDENCY(DEPENDENCY_CONSOLE_ONLY) = DEPENDENCY(DEPENDENCY_CONSOLE_ONLY) OR 1 DEPENDENCY(DEPENDENCY_CONSOLE_ONLY) = DEPENDENCY(DEPENDENCY_CONSOLE_ONLY) OR 1
Console = 1 ConsoleOn = 1
IF prepass = 0 THEN IF prepass = 0 THEN
IF NoChecks = 0 THEN WriteBufLine MainTxtBuf, "do{" IF CheckingOn THEN WriteBufLine MainTxtBuf, "do{"
WriteBufLine MainTxtBuf, "sub__dest(func__console());" WriteBufLine MainTxtBuf, "sub__dest(func__console());"
WriteBufLine MainTxtBuf, "sub__source(func__console());" WriteBufLine MainTxtBuf, "sub__source(func__console());"
GOTO finishedline2 GOTO finishedline2
@ -3102,47 +3097,45 @@ DO
IF a3u$ = "$ASSERTS" THEN IF a3u$ = "$ASSERTS" THEN
layout$ = SCase$("$Asserts") layout$ = SCase$("$Asserts")
Asserts = 1 AssertsOn = 1
GOTO finishednonexec GOTO finishednonexec
END IF END IF
IF a3u$ = "$ASSERTS:CONSOLE" THEN IF a3u$ = "$ASSERTS:CONSOLE" THEN
layout$ = SCase$("$Asserts:Console") layout$ = SCase$("$Asserts:Console")
Asserts = 1 AssertsOn = 1
Console = 1 ConsoleOn = 1
GOTO finishednonexec GOTO finishednonexec
END IF END IF
IF a3u$ = "$SCREENHIDE" THEN IF a3u$ = "$SCREENHIDE" THEN
layout$ = SCase$("$ScreenHide") layout$ = SCase$("$ScreenHide")
ScreenHide = 1 ScreenHideOn = 1
GOTO finishednonexec GOTO finishednonexec
END IF END IF
IF a3u$ = "$SCREENSHOW" THEN IF a3u$ = "$SCREENSHOW" THEN
layout$ = SCase$("$ScreenShow") layout$ = SCase$("$ScreenShow")
ScreenHide = 0 ScreenHideOn = 0
GOTO finishednonexec GOTO finishednonexec
END IF END IF
IF a3u$ = "$RESIZE:OFF" THEN IF a3u$ = "$RESIZE:OFF" THEN
layout$ = SCase$("$Resize:Off") layout$ = SCase$("$Resize:Off")
Resize = 0: Resize_Scale = 0 ResizeOn = 0: ResizeScale = 0
GOTO finishednonexec GOTO finishednonexec
END IF END IF
IF a3u$ = "$RESIZE:ON" THEN IF a3u$ = "$RESIZE:ON" THEN
layout$ = SCase$("$Resize:On") layout$ = SCase$("$Resize:On")
Resize = 1: Resize_Scale = 0 ResizeOn = 1: ResizeScale = 0
GOTO finishednonexec GOTO finishednonexec
END IF END IF
IF a3u$ = "$RESIZE:STRETCH" THEN IF a3u$ = "$RESIZE:STRETCH" THEN
layout$ = SCase$("$Resize:Stretch") layout$ = SCase$("$Resize:Stretch")
Resize = 1: Resize_Scale = 1 ResizeOn = 1: ResizeScale = 1
GOTO finishednonexec GOTO finishednonexec
END IF END IF
IF a3u$ = "$RESIZE:SMOOTH" THEN IF a3u$ = "$RESIZE:SMOOTH" THEN
layout$ = SCase$("$Resize:Smooth") layout$ = SCase$("$Resize:Smooth")
Resize = 1: Resize_Scale = 2 ResizeOn = 1: ResizeScale = 2
GOTO finishednonexec GOTO finishednonexec
END IF END IF
@ -3368,7 +3361,7 @@ DO
ExeIconSet = linenumber ExeIconSet = linenumber
SetDependency DEPENDENCY_ICON SetDependency DEPENDENCY_ICON
IF NoChecks = 0 THEN WriteBufLine MainTxtBuf, "do{" IF CheckingOn THEN WriteBufLine MainTxtBuf, "do{"
WriteBufLine MainTxtBuf, "sub__icon(NULL,NULL,0);" WriteBufLine MainTxtBuf, "sub__icon(NULL,NULL,0);"
GOTO finishedline2 GOTO finishedline2
END IF END IF
@ -3538,7 +3531,7 @@ DO
thisincname$ = MID$(incname$(inclevel), LEN(thisincname$) + 1) thisincname$ = MID$(incname$(inclevel), LEN(thisincname$) + 1)
inclinenump$ = inclinenump$ + "," + CHR$(34) + thisincname$ + CHR$(34) inclinenump$ = inclinenump$ + "," + CHR$(34) + thisincname$ + CHR$(34)
END IF END IF
IF NoChecks = 0 THEN IF CheckingOn THEN
IF vWatchOn AND inclinenumber(inclevel) = 0 THEN temp$ = vWatchErrorCall$ ELSE temp$ = "" IF vWatchOn AND inclinenumber(inclevel) = 0 THEN temp$ = vWatchErrorCall$ ELSE temp$ = ""
WriteBufLine MainTxtBuf, "if(qbevent){" + temp$ + "evnt(" + str2$(linenumber) + inclinenump$ + ");r=0;}" WriteBufLine MainTxtBuf, "if(qbevent){" + temp$ + "evnt(" + str2$(linenumber) + inclinenump$ + ");r=0;}"
END IF END IF
@ -3599,7 +3592,7 @@ DO
thisincname$ = MID$(incname$(inclevel), LEN(thisincname$) + 1) thisincname$ = MID$(incname$(inclevel), LEN(thisincname$) + 1)
inclinenump$ = inclinenump$ + "," + CHR$(34) + thisincname$ + CHR$(34) inclinenump$ = inclinenump$ + "," + CHR$(34) + thisincname$ + CHR$(34)
END IF END IF
IF NoChecks = 0 THEN IF CheckingOn THEN
IF vWatchOn AND inclinenumber(inclevel) = 0 THEN temp$ = vWatchErrorCall$ ELSE temp$ = "" IF vWatchOn AND inclinenumber(inclevel) = 0 THEN temp$ = vWatchErrorCall$ ELSE temp$ = ""
WriteBufLine MainTxtBuf, "if(qbevent){" + temp$ + "evnt(" + str2$(linenumber) + inclinenump$ + ");r=0;}" WriteBufLine MainTxtBuf, "if(qbevent){" + temp$ + "evnt(" + str2$(linenumber) + inclinenump$ + ");r=0;}"
END IF END IF
@ -5420,7 +5413,7 @@ DO
dimstatic = 0 dimstatic = 0
WriteBufLine MainTxtBuf, "exit_subfunc:;" WriteBufLine MainTxtBuf, "exit_subfunc:;"
IF vWatchOn = 1 THEN IF vWatchOn = 1 THEN
IF NoChecks = 0 AND inclinenumber(inclevel) = 0 THEN IF CheckingOn = 1 AND inclinenumber(inclevel) = 0 THEN
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;"
vWatchAddLabel 0, -1 vWatchAddLabel 0, -1
@ -5689,7 +5682,7 @@ DO
IF controltype(controllevel) <> 2 THEN a$ = "NEXT without FOR": GOTO errmes IF controltype(controllevel) <> 2 THEN a$ = "NEXT without FOR": GOTO errmes
IF n <> 1 AND controlvalue(controllevel) <> currentid THEN a$ = "Incorrect variable after NEXT": GOTO errmes IF n <> 1 AND controlvalue(controllevel) <> currentid THEN a$ = "Incorrect variable after NEXT": GOTO errmes
WriteBufLine MainTxtBuf, "fornext_continue_" + str2$(controlid(controllevel)) + ":;" WriteBufLine MainTxtBuf, "fornext_continue_" + str2$(controlid(controllevel)) + ":;"
IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 AND NoChecks = 0 THEN IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 AND CheckingOn = 1 THEN
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;"
END IF END IF
@ -5717,7 +5710,7 @@ DO
IF n >= 1 THEN IF n >= 1 THEN
IF firstelement$ = "WHILE" THEN IF firstelement$ = "WHILE" THEN
IF NoChecks = 0 THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 IF CheckingOn THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1
'prevents code from being placed before 'CASE condition' in a SELECT CASE block 'prevents code from being placed before 'CASE condition' in a SELECT CASE block
IF SelectCaseCounter > 0 AND SelectCaseHasCaseBlock(SelectCaseCounter) = 0 THEN IF SelectCaseCounter > 0 AND SelectCaseHasCaseBlock(SelectCaseCounter) = 0 THEN
@ -5739,7 +5732,7 @@ DO
IF Error_Happened THEN GOTO errmes IF Error_Happened THEN GOTO errmes
IF stringprocessinghappened THEN e$ = cleanupstringprocessingcall$ + e$ + ")" IF stringprocessinghappened THEN e$ = cleanupstringprocessingcall$ + e$ + ")"
IF (typ AND ISSTRING) THEN a$ = "WHILE ERROR! Cannot accept a STRING type.": GOTO errmes IF (typ AND ISSTRING) THEN a$ = "WHILE ERROR! Cannot accept a STRING type.": GOTO errmes
IF NoChecks = 0 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN IF CheckingOn = 1 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;"
END IF END IF
@ -5773,7 +5766,7 @@ DO
IF n >= 1 THEN IF n >= 1 THEN
IF firstelement$ = "DO" THEN IF firstelement$ = "DO" THEN
IF NoChecks = 0 THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 IF CheckingOn THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1
'prevents code from being placed before 'CASE condition' in a SELECT CASE block 'prevents code from being placed before 'CASE condition' in a SELECT CASE block
IF SelectCaseCounter > 0 AND SelectCaseHasCaseBlock(SelectCaseCounter) = 0 THEN IF SelectCaseCounter > 0 AND SelectCaseHasCaseBlock(SelectCaseCounter) = 0 THEN
@ -5799,14 +5792,14 @@ DO
IF stringprocessinghappened THEN e$ = cleanupstringprocessingcall$ + e$ + ")" IF stringprocessinghappened THEN e$ = cleanupstringprocessingcall$ + e$ + ")"
IF (typ AND ISSTRING) THEN a$ = "DO ERROR! Cannot accept a STRING type.": GOTO errmes IF (typ AND ISSTRING) THEN a$ = "DO ERROR! Cannot accept a STRING type.": GOTO errmes
IF whileuntil = 1 THEN WriteBufLine MainTxtBuf, "while((" + e$ + ")||new_error){" ELSE WriteBufLine MainTxtBuf, "while((!(" + e$ + "))||new_error){" IF whileuntil = 1 THEN WriteBufLine MainTxtBuf, "while((" + e$ + ")||new_error){" ELSE WriteBufLine MainTxtBuf, "while((!(" + e$ + "))||new_error){"
IF NoChecks = 0 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN IF CheckingOn = 1 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;"
END IF END IF
controltype(controllevel) = 4 controltype(controllevel) = 4
ELSE ELSE
controltype(controllevel) = 3 controltype(controllevel) = 3
IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 AND NoChecks = 0 THEN IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 AND CheckingOn = 1 THEN
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
WriteBufLine MainTxtBuf, "do{*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" WriteBufLine MainTxtBuf, "do{*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;"
ELSE ELSE
@ -5824,7 +5817,7 @@ DO
l$ = SCase$("Loop") l$ = SCase$("Loop")
IF controltype(controllevel) <> 3 AND controltype(controllevel) <> 4 THEN a$ = "PROGRAM FLOW ERROR!": GOTO errmes IF controltype(controllevel) <> 3 AND controltype(controllevel) <> 4 THEN a$ = "PROGRAM FLOW ERROR!": GOTO errmes
IF n >= 2 THEN IF n >= 2 THEN
IF NoChecks = 0 THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 IF CheckingOn THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1
IF controltype(controllevel) = 4 THEN a$ = "PROGRAM FLOW ERROR!": GOTO errmes IF controltype(controllevel) = 4 THEN a$ = "PROGRAM FLOW ERROR!": GOTO errmes
whileuntil = 0 whileuntil = 0
IF secondelement$ = "WHILE" THEN whileuntil = 1: l$ = l$ + sp + SCase$("While") IF secondelement$ = "WHILE" THEN whileuntil = 1: l$ = l$ + sp + SCase$("While")
@ -5841,7 +5834,7 @@ DO
IF stringprocessinghappened THEN e$ = cleanupstringprocessingcall$ + e$ + ")" IF stringprocessinghappened THEN e$ = cleanupstringprocessingcall$ + e$ + ")"
IF (typ AND ISSTRING) THEN a$ = "LOOP ERROR! Cannot accept a STRING type.": GOTO errmes IF (typ AND ISSTRING) THEN a$ = "LOOP ERROR! Cannot accept a STRING type.": GOTO errmes
WriteBufLine MainTxtBuf, "dl_continue_" + str2$(controlid(controllevel)) + ":;" WriteBufLine MainTxtBuf, "dl_continue_" + str2$(controlid(controllevel)) + ":;"
IF NoChecks = 0 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN IF CheckingOn = 1 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;"
END IF END IF
@ -5849,7 +5842,7 @@ DO
ELSE ELSE
WriteBufLine MainTxtBuf, "dl_continue_" + str2$(controlid(controllevel)) + ":;" WriteBufLine MainTxtBuf, "dl_continue_" + str2$(controlid(controllevel)) + ":;"
IF NoChecks = 0 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN IF CheckingOn = 1 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;"
END IF END IF
@ -5878,7 +5871,7 @@ DO
IF n >= 1 THEN IF n >= 1 THEN
IF firstelement$ = "FOR" THEN IF firstelement$ = "FOR" THEN
IF NoChecks = 0 THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 IF CheckingOn THEN WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1
l$ = SCase$("For") l$ = SCase$("For")
@ -6003,7 +5996,7 @@ DO
e$ = evaluatetotyp(e$, ctyp) e$ = evaluatetotyp(e$, ctyp)
IF Error_Happened THEN GOTO errmes IF Error_Happened THEN GOTO errmes
IF NoChecks = 0 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN IF CheckingOn = 1 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;"
END IF END IF
@ -6089,7 +6082,7 @@ DO
IF n >= 3 THEN IF n >= 3 THEN
IF firstelement$ = "ELSEIF" THEN IF firstelement$ = "ELSEIF" THEN
IF NoChecks = 0 THEN IF CheckingOn THEN
WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1
IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
@ -6131,7 +6124,7 @@ DO
IF n >= 3 THEN IF n >= 3 THEN
IF firstelement$ = "IF" THEN IF firstelement$ = "IF" THEN
IF NoChecks = 0 THEN IF CheckingOn THEN
WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1
IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
@ -6216,7 +6209,7 @@ DO
IF LEN(layout$) = 0 THEN layout$ = l$ ELSE layout$ = layout$ + sp + l$ IF LEN(layout$) = 0 THEN layout$ = l$ ELSE layout$ = layout$ + sp + l$
END IF END IF
IF NoChecks = 0 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN IF CheckingOn = 1 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;"
END IF END IF
@ -6235,7 +6228,7 @@ DO
'SELECT CASE 'SELECT CASE
IF n >= 1 THEN IF n >= 1 THEN
IF firstelement$ = "SELECT" THEN IF firstelement$ = "SELECT" THEN
IF NoChecks = 0 THEN IF CheckingOn THEN
WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1
IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
@ -6363,7 +6356,7 @@ DO
WriteBufLine MainTxtBuf, "sc_" + str2$(controlid(controllevel)) + "_end:;" WriteBufLine MainTxtBuf, "sc_" + str2$(controlid(controllevel)) + "_end:;"
IF controltype(controllevel) < 10 OR controltype(controllevel) > 17 THEN a$ = "END SELECT without SELECT CASE": GOTO errmes IF controltype(controllevel) < 10 OR controltype(controllevel) > 17 THEN a$ = "END SELECT without SELECT CASE": GOTO errmes
IF NoChecks = 0 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN IF CheckingOn = 1 AND vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;"
END IF END IF
@ -6480,7 +6473,7 @@ DO
END IF END IF
END IF END IF
IF NoChecks = 0 THEN IF CheckingOn THEN
WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1 WriteBufLine MainTxtBuf, "S_" + str2$(statementn) + ":;": dynscope = 1
IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
@ -6670,7 +6663,7 @@ DO
'static scope commands: 'static scope commands:
IF NoChecks = 0 THEN IF CheckingOn THEN
IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN IF vWatchOn = 1 AND inclinenumber(inclevel) = 0 THEN
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
WriteBufLine MainTxtBuf, "do{*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" WriteBufLine MainTxtBuf, "do{*__LONG_VWATCH_LINENUMBER= " + str2$(linenumber) + "; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;"
@ -7802,7 +7795,7 @@ DO
'_ECHO checking '_ECHO checking
IF firstelement$ = "_ECHO" OR (firstelement$ = "ECHO" AND qb64prefix_set = 1) THEN IF firstelement$ = "_ECHO" OR (firstelement$ = "ECHO" AND qb64prefix_set = 1) THEN
IF Console = 0 THEN IF ConsoleOn = 0 THEN
a$ = qb64prefix$ + "ECHO requires $CONSOLE or $CONSOLE:ONLY to be set first": GOTO errmes a$ = qb64prefix$ + "ECHO requires $CONSOLE or $CONSOLE:ONLY to be set first": GOTO errmes
END IF END IF
END IF END IF
@ -9016,7 +9009,7 @@ DO
thisincname$ = MID$(incname$(inclevel), LEN(thisincname$) + 1) thisincname$ = MID$(incname$(inclevel), LEN(thisincname$) + 1)
inclinenump$ = inclinenump$ + "," + CHR$(34) + thisincname$ + CHR$(34) inclinenump$ = inclinenump$ + "," + CHR$(34) + thisincname$ + CHR$(34)
END IF END IF
IF vWatchOn = 1 AND NoChecks = 0 AND inclinenumber(inclevel) = 0 THEN temp$ = vWatchErrorCall$ ELSE temp$ = "" IF vWatchOn = 1 AND CheckingOn = 1 AND inclinenumber(inclevel) = 0 THEN temp$ = vWatchErrorCall$ ELSE temp$ = ""
WriteBufLine MainTxtBuf, "if(qbevent){" + temp$ + "evnt(" + str2$(linenumber) + inclinenump$ + ");}" 'non-resumable error check (cannot exit without handling errors) WriteBufLine MainTxtBuf, "if(qbevent){" + temp$ + "evnt(" + str2$(linenumber) + inclinenump$ + ");}" 'non-resumable error check (cannot exit without handling errors)
WriteBufLine MainTxtBuf, "exit_code=" + e$ + ";" WriteBufLine MainTxtBuf, "exit_code=" + e$ + ";"
l$ = l$ + sp + l2$ l$ = l$ + sp + l2$
@ -9049,7 +9042,7 @@ DO
'note: this value is currently ignored but evaluated for checking reasons 'note: this value is currently ignored but evaluated for checking reasons
END IF END IF
layoutdone = 1: IF LEN(layout$) THEN layout$ = layout$ + sp + l$ ELSE layout$ = l$ layoutdone = 1: IF LEN(layout$) THEN layout$ = layout$ + sp + l$ ELSE layout$ = l$
IF vWatchOn = 1 AND NoChecks = 0 AND inclinenumber(inclevel) = 0 THEN IF vWatchOn = 1 AND CheckingOn = 1 AND inclinenumber(inclevel) = 0 THEN
WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER=-3; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;" WriteBufLine MainTxtBuf, "*__LONG_VWATCH_LINENUMBER=-3; SUB_VWATCH((ptrszint*)vwatch_global_vars,(ptrszint*)vwatch_local_vars); if (*__LONG_VWATCH_GOTO>0) goto VWATCH_SETNEXTLINE; if (*__LONG_VWATCH_GOTO<0) goto VWATCH_SKIPLINE;"
vWatchAddLabel linenumber, 0 vWatchAddLabel linenumber, 0
ELSE ELSE
@ -9340,7 +9333,7 @@ DO
IF varsize$ = "4" THEN s = 4: st$ = "int32" IF varsize$ = "4" THEN s = 4: st$ = "int32"
IF varsize$ = "8" THEN s = 8: st$ = "int64" IF varsize$ = "8" THEN s = 8: st$ = "int64"
IF NoChecks THEN IF CheckingOn = 0 THEN
'fast version: 'fast version:
IF s THEN IF s THEN
WriteBufLine MainTxtBuf, "*(" + st$ + "*)" + varoffs$ + "=*(" + st$ + "*)(" + offs$ + ");" WriteBufLine MainTxtBuf, "*(" + st$ + "*)" + varoffs$ + "=*(" + st$ + "*)(" + offs$ + ");"
@ -9437,7 +9430,7 @@ DO
IF varsize$ = "4" THEN s = 4: st$ = "int32" IF varsize$ = "4" THEN s = 4: st$ = "int32"
IF varsize$ = "8" THEN s = 8: st$ = "int64" IF varsize$ = "8" THEN s = 8: st$ = "int64"
IF NoChecks THEN IF CheckingOn = 0 THEN
'fast version: 'fast version:
IF s THEN IF s THEN
WriteBufLine MainTxtBuf, "*(" + st$ + "*)(" + offs$ + ")=*(" + st$ + "*)" + varoffs$ + ";" WriteBufLine MainTxtBuf, "*(" + st$ + "*)(" + offs$ + ")=*(" + st$ + "*)" + varoffs$ + ";"
@ -9481,7 +9474,7 @@ DO
e$ = evaluatetotyp(e$, t): IF Error_Happened THEN GOTO errmes e$ = evaluatetotyp(e$, t): IF Error_Happened THEN GOTO errmes
st$ = typ2ctyp$(t, "") st$ = typ2ctyp$(t, "")
varsize$ = str2((t AND 511) \ 8) varsize$ = str2((t AND 511) \ 8)
IF NoChecks THEN IF CheckingOn = 0 THEN
'fast version: 'fast version:
WriteBufLine MainTxtBuf, "*(" + st$ + "*)(" + offs$ + ")=" + e$ + ";" WriteBufLine MainTxtBuf, "*(" + st$ + "*)(" + offs$ + ")=" + e$ + ";"
ELSE ELSE
@ -9571,7 +9564,7 @@ DO
varoffs$ = evaluatetotyp(e$, -6): IF Error_Happened THEN GOTO errmes varoffs$ = evaluatetotyp(e$, -6): IF Error_Happened THEN GOTO errmes
END IF END IF
IF NoChecks THEN IF CheckingOn = 0 THEN
WriteBufLine MainTxtBuf, "sub__memfill_nochecks(" + offs$ + "," + bytes$ + ",(ptrszint)" + varoffs$ + "," + varsize$ + ");" WriteBufLine MainTxtBuf, "sub__memfill_nochecks(" + offs$ + "," + bytes$ + ",(ptrszint)" + varoffs$ + "," + varsize$ + ");"
ELSE ELSE
WriteBufLine MainTxtBuf, "sub__memfill((mem_block*)" + blkoffs$ + "," + offs$ + "," + bytes$ + ",(ptrszint)" + varoffs$ + "," + varsize$ + ");" WriteBufLine MainTxtBuf, "sub__memfill((mem_block*)" + blkoffs$ + "," + offs$ + "," + bytes$ + ",(ptrszint)" + varoffs$ + "," + varsize$ + ");"
@ -9590,7 +9583,7 @@ DO
e$ = evaluatetotyp(e$, t): IF Error_Happened THEN GOTO errmes e$ = evaluatetotyp(e$, t): IF Error_Happened THEN GOTO errmes
c$ = "sub__memfill_" c$ = "sub__memfill_"
IF NoChecks THEN c$ = "sub__memfill_nochecks_" IF CheckingOn = 0 THEN c$ = "sub__memfill_nochecks_"
IF t AND ISOFFSET THEN IF t AND ISOFFSET THEN
c$ = c$ + "OFFSET" c$ = c$ + "OFFSET"
ELSE ELSE
@ -9603,7 +9596,7 @@ DO
END IF END IF
END IF END IF
c$ = c$ + "(" c$ = c$ + "("
IF NoChecks = 0 THEN c$ = c$ + "(mem_block*)" + blkoffs$ + "," IF CheckingOn THEN c$ = c$ + "(mem_block*)" + blkoffs$ + ","
WriteBufLine MainTxtBuf, c$ + offs$ + "," + bytes$ + "," + e$ + ");" WriteBufLine MainTxtBuf, c$ + offs$ + "," + bytes$ + "," + e$ + ");"
END IF END IF
@ -11332,7 +11325,7 @@ DO
thisincname$ = MID$(incname$(inclevel), LEN(thisincname$) + 1) thisincname$ = MID$(incname$(inclevel), LEN(thisincname$) + 1)
inclinenump$ = inclinenump$ + "," + CHR$(34) + thisincname$ + CHR$(34) inclinenump$ = inclinenump$ + "," + CHR$(34) + thisincname$ + CHR$(34)
END IF END IF
IF NoChecks = 0 THEN IF CheckingOn THEN
IF vWatchOn AND inclinenumber(inclevel) = 0 THEN temp$ = vWatchErrorCall$ ELSE temp$ = "" IF vWatchOn AND inclinenumber(inclevel) = 0 THEN temp$ = vWatchErrorCall$ ELSE temp$ = ""
IF dynscope THEN IF dynscope THEN
dynscope = 0 dynscope = 0
@ -11857,19 +11850,19 @@ defdatahandle = GlobTxtBuf
DataTxtBuf = OpenBuffer%("A", tmpdir$ + "maindata.txt") DataTxtBuf = OpenBuffer%("A", tmpdir$ + "maindata.txt")
FreeTxtBuf = OpenBuffer%("A", tmpdir$ + "mainfree.txt") FreeTxtBuf = OpenBuffer%("A", tmpdir$ + "mainfree.txt")
IF Console THEN IF ConsoleOn THEN
WriteBufLine GlobTxtBuf, "int32 console=1;" WriteBufLine GlobTxtBuf, "int32 console=1;"
ELSE ELSE
WriteBufLine GlobTxtBuf, "int32 console=0;" WriteBufLine GlobTxtBuf, "int32 console=0;"
END IF END IF
IF ScreenHide THEN IF ScreenHideOn THEN
WriteBufLine GlobTxtBuf, "int32 screen_hide_startup=1;" WriteBufLine GlobTxtBuf, "int32 screen_hide_startup=1;"
ELSE ELSE
WriteBufLine GlobTxtBuf, "int32 screen_hide_startup=0;" WriteBufLine GlobTxtBuf, "int32 screen_hide_startup=0;"
END IF END IF
IF Asserts THEN IF AssertsOn THEN
WriteBufLine GlobTxtBuf, "int32 asserts=1;" WriteBufLine GlobTxtBuf, "int32 asserts=1;"
ELSE ELSE
WriteBufLine GlobTxtBuf, "int32 asserts=0;" WriteBufLine GlobTxtBuf, "int32 asserts=0;"
@ -11882,11 +11875,11 @@ ELSE
END IF END IF
bh = OpenBuffer%("A", tmpdir$ + "dyninfo.txt") bh = OpenBuffer%("A", tmpdir$ + "dyninfo.txt")
IF Resize THEN IF ResizeOn THEN
WriteBufLine bh, "ScreenResize=1;" WriteBufLine bh, "ScreenResize=1;"
END IF END IF
IF Resize_Scale THEN IF ResizeScale THEN
WriteBufLine bh, "ScreenResizeScale=" + str2(Resize_Scale) + ";" WriteBufLine bh, "ScreenResizeScale=" + str2(ResizeScale) + ";"
END IF END IF
IF vWatchOn = 1 THEN IF vWatchOn = 1 THEN
@ -12543,7 +12536,7 @@ IF DEPENDENCY(DEPENDENCY_DEVICEINPUT) THEN makedeps$ = makedeps$ + " DEP_DEVICEI
IF DEPENDENCY(DEPENDENCY_ZLIB) THEN makedeps$ = makedeps$ + " DEP_ZLIB=y" IF DEPENDENCY(DEPENDENCY_ZLIB) THEN makedeps$ = makedeps$ + " DEP_ZLIB=y"
IF inline_DATA = 0 AND DataOffset THEN makedeps$ = makedeps$ + " DEP_DATA=y" IF inline_DATA = 0 AND DataOffset THEN makedeps$ = makedeps$ + " DEP_DATA=y"
IF DEPENDENCY(DEPENDENCY_EMBED) THEN makedeps$ = makedeps$ + " DEP_EMBED=y" IF DEPENDENCY(DEPENDENCY_EMBED) THEN makedeps$ = makedeps$ + " DEP_EMBED=y"
IF Console THEN makedeps$ = makedeps$ + " DEP_CONSOLE=y" IF ConsoleOn THEN makedeps$ = makedeps$ + " DEP_CONSOLE=y"
IF ExeIconSet OR VersionInfoSet THEN makedeps$ = makedeps$ + " DEP_ICON_RC=y" IF ExeIconSet OR VersionInfoSet THEN makedeps$ = makedeps$ + " DEP_ICON_RC=y"
IF DEPENDENCY(DEPENDENCY_MINIAUDIO) THEN makedeps$ = makedeps$ + " DEP_AUDIO_MINIAUDIO=y" IF DEPENDENCY(DEPENDENCY_MINIAUDIO) THEN makedeps$ = makedeps$ + " DEP_AUDIO_MINIAUDIO=y"
@ -14027,14 +14020,14 @@ FUNCTION arrayreference$ (indexes$, typ)
IF e$ = "" THEN Give_Error "Array index missing": EXIT FUNCTION IF e$ = "" THEN Give_Error "Array index missing": EXIT FUNCTION
argi = (elements - curarg) * 4 + 4 argi = (elements - curarg) * 4 + 4
IF curarg = 1 THEN IF curarg = 1 THEN
IF NoChecks = 0 THEN IF CheckingOn THEN
r$ = r$ + "array_check((" + e$ + ")-" + n$ + "[" + str2(argi) + "]," + n$ + "[" + str2(argi + 1) + "])+" r$ = r$ + "array_check((" + e$ + ")-" + n$ + "[" + str2(argi) + "]," + n$ + "[" + str2(argi + 1) + "])+"
ELSE ELSE
r$ = r$ + "(" + e$ + ")-" + n$ + "[" + str2(argi) + "]+" r$ = r$ + "(" + e$ + ")-" + n$ + "[" + str2(argi) + "]+"
END IF END IF
ELSE ELSE
IF NoChecks = 0 THEN IF CheckingOn THEN
r$ = r$ + "array_check((" + e$ + ")-" + n$ + "[" + str2(argi) + "]," + n$ + "[" + str2(argi + 1) + "])*" + n$ + "[" + str2(argi + 2) + "]+" r$ = r$ + "array_check((" + e$ + ")-" + n$ + "[" + str2(argi) + "]," + n$ + "[" + str2(argi + 1) + "])*" + n$ + "[" + str2(argi + 2) + "]+"
ELSE ELSE
r$ = r$ + "((" + e$ + ")-" + n$ + "[" + str2(argi) + "])*" + n$ + "[" + str2(argi + 2) + "]+" r$ = r$ + "((" + e$ + ")-" + n$ + "[" + str2(argi) + "])*" + n$ + "[" + str2(argi + 2) + "]+"
@ -16702,7 +16695,7 @@ FUNCTION evaluatefunc$ (a2$, args AS LONG, typ AS LONG)
'assume checking off 'assume checking off
offs$ = evaluatetotyp(memget_offs$, OFFSETTYPE - ISPOINTER) offs$ = evaluatetotyp(memget_offs$, OFFSETTYPE - ISPOINTER)
blkoffs$ = evaluatetotyp(memget_blk$, -6) blkoffs$ = evaluatetotyp(memget_blk$, -6)
IF NoChecks = 0 THEN IF CheckingOn THEN
'change offs$ to be the return of the safe version 'change offs$ to be the return of the safe version
offs$ = "func__memget((mem_block*)" + blkoffs$ + "," + offs$ + "," + str2(memget_size) + ")" offs$ = "func__memget((mem_block*)" + blkoffs$ + "," + offs$ + "," + str2(memget_size) + ")"
END IF END IF

View file

@ -4,6 +4,6 @@ listOfKeywords$ = listOfKeywords$ + "_ERRORLINE@_ERRORMESSAGE$@_EXIT@_EXPLICIT@_
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$ + "_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$ + "_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@_ROR@_ROL@" listOfKeywords$ = listOfKeywords$ + "_SOFTWARE@_SQUAREPIXELS@_STRETCH@_ALLOWFULLSCREEN@_ALL@_ECHO@_INSTRREV@_TRIM$@_ACCEPTFILEDROP@_FINISHDROP@_TOTALDROPPEDFILES@_DROPPEDFILE@_DROPPEDFILE$@_SHR@_SHL@_ROR@_ROL@"
listOfKeywords$ = listOfKeywords$ + "_DEFLATE$@_INFLATE$@_READBIT@_RESETBIT@_SETBIT@_TOGGLEBIT@$ASSERTS@_ASSERT@_CAPSLOCK@_NUMLOCK@_SCROLLLOCK@_TOGGLE@_CONSOLEFONT@_CONSOLECURSOR@_CONSOLEINPUT@_CINP@$NOPREFIX@$COLOR@$DEBUG@$EMBED@_EMBEDDED$@_ENVIRONCOUNT@$UNSTABLE@$MIDISOUNDFONT@" listOfKeywords$ = listOfKeywords$ + "_DEFLATE$@_INFLATE$@_READBIT@_RESETBIT@_SETBIT@_TOGGLEBIT@$ASSERTS@CONSOLE@_ASSERT@_CAPSLOCK@_NUMLOCK@_SCROLLLOCK@_TOGGLE@_CONSOLEFONT@_CONSOLECURSOR@_CONSOLEINPUT@_CINP@$NOPREFIX@$COLOR@$DEBUG@$EMBED@_EMBEDDED$@_ENVIRONCOUNT@$UNSTABLE@$MIDISOUNDFONT@"
listOfKeywords$ = listOfKeywords$ + "_NOTIFYPOPUP@_MESSAGEBOX@_INPUTBOX$@_SELECTFOLDERDIALOG$@_COLORCHOOSERDIALOG@_OPENFILEDIALOG$@_SAVEFILEDIALOG$@_SAVEIMAGE@_FILES$@_FULLPATH$@" listOfKeywords$ = listOfKeywords$ + "_NOTIFYPOPUP@_MESSAGEBOX@_INPUTBOX$@_SELECTFOLDERDIALOG$@_COLORCHOOSERDIALOG@_OPENFILEDIALOG$@_SAVEFILEDIALOG$@_SAVEIMAGE@_FILES$@_FULLPATH$@"
listOfKeywords$ = listOfKeywords$ + "_STATUSCODE@_SNDNEW@_SCALEDWIDTH@_SCALEDHEIGHT@_UFONTHEIGHT@_UPRINTWIDTH@_ULINESPACING@_UPRINTSTRING@_UCHARPOS@" listOfKeywords$ = listOfKeywords$ + "_STATUSCODE@_SNDNEW@_SCALEDWIDTH@_SCALEDHEIGHT@_UFONTHEIGHT@_UPRINTWIDTH@_ULINESPACING@_UPRINTSTRING@_UCHARPOS@"

View file

@ -118,7 +118,7 @@ FUNCTION getelementsbefore$ (a$, i1)
END FUNCTION END FUNCTION
FUNCTION getelementsafter$ (a$, i1) FUNCTION getelementsafter$ (a$, i1)
DIM p AS LONG, n AS LONG, i AS LONG, i1pos AS LONG DIM p AS LONG, n AS LONG, i AS LONG
n = 1 n = 1
p = 1 p = 1