Version 1.4.0.0

<< Click to Display Table of Contents >>

Navigation:  What's new > 2007 - version history >

Version 1.4.0.0

Release date: 2007.06.08

 

Date

Area/Module

What

Description

Thanks to:

2007.06.18

thinAir

Fix

New color option for language equates corrupted keywords syntax color if keyword ends with $ char. Now fixed.

Abraxas

2007.06.07

thinAir

Add

New color option for language equates

Abraxas

2007.06.07

thinAir

Add

Added option to make automatic backup copies of scripts. See thinAir configuration options under General.

When activated, thinAir will create a .\BAK directory under current script directory. When script is saved, a copy of the script will be saved into .\BAK with the same name of the script plus a counter. This will allow precise control over every change.

Attention: if you have activated "Save all before run" option and backup is on, a copy of the script will automatically done at every script execution.

Abraxas


Core

Add

APP_ScriptVersion function added

Abraxas

2007.06.06

Core

Fix

Return value from functions sometimes incorrect in case no value assigned to FUNCTION keyword. Last run return value was defaulted.



thinAir

Fix

Fixed paste of long lines of text

Abraxas

2007.06.05

Core

Fix

Unbalanced parenthesis error when recurring numeric statement using user defined functions and + or - operations

Mark0

2007.06.04

thinAir

Fix

Fixed file names in project file

Abraxas

2007.06.03

Core

Improved

APP_SourcePath, APP_SourceName, APP_SourceFullName

will have now their official alias:

APP_ScriptPath, APP_ScriptName, APP_ScriptFullName



Core

Add

#SCRIPTVERSION pre-parsing directive added

Abraxas

2007.06.01

Core

Improved

possibility to assign multiple values in one go to array elements. So the following syntax will be accepted:

 

ElementNumber = 1

MyArray(ElementNumber) = FirstValue, SecondValue, ..., nthValue

 

thinBasic will assign FirstValue to MyArray(ElementNumber), SecondValue to MyArray(ElementNumber + 1) and so on.

Equivalent standard code is

 

MyArray(1) = FirstValue

MyArray(2) = SecondValue

...

MyArray(nth) = nthValue

 

This will be possible with any numeric, string or variant array.


2007.05.30

thinAir

Fix

Trouble (null byte in the added to project file name) when the file do not have an absolute path.

Abraxas

2007.05.28

Core

Improved

STRING$ improved. Will now accept bot string or numeric expressions


2007.05.27

Core

Add

ARRAY SORT operation added to array arsenal


2007.05.24

Core

Fix

EXIT WHILE error when inside multiple FOR/NEXT


2007.05.23

TBGL

Fix

Fixed some internal textures index


2007.05.21

thinBundle tool

Improved

Now possible to indicate default creation folder in Bundle config inside thinAir



thinAir

Improved

Inside projects, directories are now relative to project files if files belongs to the same sub-directory tree. Otherwise path will be absolute



thinAir

Improved

Added default location for projects in configuration. It is possible to indicate variables like %USERPROFILE% or similar



thinAir

Fix

It is now not possible to create an empty project



thinAir

Improved

All directory and files specified in config are now checked



Core

Improved

Default parameter value is now possible for numerical function parameters passed BYVAL. Example.



TBGL

Improved

Improved execution speed and few fixes


2007.05.16

SAPI

Add

SAPI_VoiceSet function added

sandyrepope


SAPI

Add

SAPI_VoicesGet function added

sandyrepope


thinBundle tool

Fix

Impossibility to add a folder if folder contains only one file



thinBundle tool

Fix

Impossibility to delete first line of added file list.


2007.05.15

thinAir

Add

Introduced default thinBundle parameters inside thinAir options. New tab dialog present in thinAir option where is is possible to set default flags for thinBundle.



thinAir

Fix

Unhandled Exception in Projects handling

Abraxas

2007.05.14

Core

Improved

CALL statement can now interpret single language keywords from a string expression

Kryton9


TBGL

New version

Version 0.2.0 released. A lot of new functionalities and improvements. See thinbasic_tbgl.chm help file for the complete list.

Psch


Eval

Add

Eval_GetString function added



Eval

Add

Eval_String function added



Eval

Add

Eval_SetString function added


2007.05.11

thinBundle tool

Fix

Fixed ZLib search strategy (again)

MikeHart


thinAir

Fix

Fixed tools modal windows



thinBundle tool

Fix

Fixed ZLib search strategy

MikeHart


UI

Add

GetMultiAsyncKeyState function added.

Kryton9


UI

Add

GetWindowMultiKeyState function added.

Kryton9

2007.05.08

Tokenizer

Add

Tokenizer_KeyGetUserNumber function added.



Tokenizer

Add

Tokenizer_KeySetUserNumber function added.


2007.05.06

Tokenizer

Add

Tokenizer_KeyGetSubType function added.



Tokenizer

Add

Tokenizer_KeyGetMainType function added.



Tokenizer

Add

Tokenizer_KeyGetName function added.



Tokenizer

Add

Tokenizer_KeySetUserString function added.



Core

SDK Add

Added thinBasic_Parse1StringXNumbers in Core function interface



Tokenizer

Add

Tokenizer_KeyGetUserString function added.



Tokenizer

Improved

Improved Tokenizer_GetNextToken Function. In case returned token is a user key token, function will return a pointer to internal user token. Pointer will than be used to retrieve additional key data.



Tokenizer

Improved

Improved Tokenizer_KeyAdd function. It is now possible to add a user string connected with key.



Core

Improved

CALL statement improved. Now it accept user functions and thinBasic language commands

kryton9

2007.05.04

thinBasic

Improved

Introduced usage of new UPX version 3.00w in thinBasic building process. A new ---ultra-brute compression option has been introduced allowing creation of smaller EXE and DLL. Almost all EXEs and DLLs present in thinBasic will now be compressed using UPX 3.00w. This will bring some improvements in size of bundled EXE thinBasic scripts created with thinBundle



Core

SDK deprecate

All Core SDK interface functions thinBasic_Parse[x]NumberAndParens where [x] from 1 to 6 will be removed in next versions.

If you have developed modules and you are using those functions, please change to thinBasic_Parse[x]Numbers, now able to parse open and close parenthesis



Core

SDK Improved

All Core SDK interface functions thinBasic_Parse[x]Numbers where [x] from 1 to 6 will now optionally parse open and close parenthesis



Core

SDK Add

Added thinBasic_ParseXNumbers in Core function interface

Psch

2007.05.03

Core

Fix

Experimental speed improvement in IF/ELSE statement failed due to false not balanced runtime error. Optimization put into stand by. More investigation needed.

MikeHart


INet

Improved

INET_Ping improved with an optional parameter


2007.05.02

Tokenizer

Add

Tokenizer_Default_Get function added

MikeHart


Tokenizer

Add

Tokenizer_Default_Set function added

MikeHart


Tokenizer

Add

Tokenizer_Default_Code function added

MikeHart


Tokenizer

Add

Tokenizer_Default_Char function added

MikeHart


Tokenizer

Add

New Tokenizer equates added



Tokenizer

Add

Tokenizer_KeyAdd function added.

MikeHart


Tokenizer

Improved

Tokenizer_GetNextToken improved. New optional parameter to return token sub type.

MikeHart


Tokenizer

Improved

Tokenizer module will now have possibility to add user keys. For every key it will be possible to indicate a main type and a sub type. This will let creation of personalized lists of keys.

MikeHart

2007.05.01

Core

Improved

Experimental speed improvement in IF/ELSE statement.



Tokenizer

Fix

GPF fixed due to missing end of buffer determination

MikeHart

2007.04.25

Core

Add

GetAT function added


2007.04.24

Core

Add

SetAT function added



Core

Improved

DIM ... AT Address introduced in DIM statement. This provides a powerful mechanism to create overlay structures in memory.


2007.04.24

Core

Improved

Little script execution speed improvement



Core

Improved

TYPE/END TYPE improved. Possibility to create nested UDT for more complex data structures. Attention: still not possible to parse nested structures in


2007.04.22

Core

Add

StrPtrLen function added



Dictionary

Change

Dictionary_Exists function changed. Returns a pointer to data or %FALSE if key not found


2007.04.21

Dictionary

Add

Dictionary_MemInfo function added


2007.04.20

Dictionary

Add

Dictionary_ListKeys function added



Dictionary

Add

Dictionary_Count function added



Dictionary

Add

Dictionary_Exists function added



Dictionary

Improved

Dictionary_Create have now an optional parameter to indicate if dictionary keys must be considered always case insensitive



Stat

Improved

STAT_FillArray improved. New optional parameter indicating the type of numeric data to find into From position



Dictionary

Add

Dictionary_Find function added



Dictionary

Add

Dictionary_Add function added



Dictionary

Add

Dictionary_Free function added



Dictionary

Add

Dictionary_Create function added



Dictionary

Add

Introduced a new module: Dictionary. A dictionary is a container where each data is stored under a name.

To create and handle a dictionary just one LONG or DWORD variable is needed so it will be quite easy to create complex memory structures.


2007.04.17

thinBundle tool

Improved

Auto discover of dependant modules added. thinBundle will now automatically discover all modules needed by current script loading them automatically to the list of needed files.


2007.04.12

Core

Improved

TYPE ... END TYPE can now be defined into sub or functions providing that those subs or functions are executed only and at least once during script execution. This possibility has been mainly introduced in order to create initialization subs or functions.

Psch

2007.04.02

File

Add

File_ShellDelete function added



File

Add

File_ShellCopy function added


2007.03.30

Core

Add

APP_GetModuleFullPath function added. This function can be used with thinBundle functions to add needed modules


2007.03.29

thinAir

Fix

Fixed a not synchronized video/internal buffer when returning from a script executed from inside thinAir


2007.03.28

thinBundle module

Add

Bundle_AddFolder function added in thinBundle module



thinBundle module

Add

Bundle_AddFile function added in thinBundle module



thinBundle module

Add

Bundle_Make function added in thinBundle module



thinBundle module

Add

Bundle_Reset function added in thinBundle module



thinBundle module

Add

Bundle_SetCreationFolder function added in thinBundle module


2007.03.27

Core

Fix

WHILE/WEND nested level error

sandyrepope

2007.03.26

File

Fix

DIR_ListArray function error in allocating returned array

sandyrepope

2007.03.21

thinBundle tool

Add

Add folder command in thinBundle tool is now active. Still to be finished (created folders are not deleted on program ending) but active !



thinBundle tool

Add

Introduced a new flag to automatically obfuscate script before bundling



thinBundle tool

Improved

When executing thinBundle from thinAir, bundle name will be automatically taken from current script name



thinBundle tool

Improved

When executing thinBundle from thinAir, script name will be automatically taken from current script



thinBundle module

Add

Bundle_Builder function added in thinBundle module



thinBundle module

Add

Bundle_SetFlagObfuscateMainScript function added in thinBundle module



thinBundle module

Add

Bundle_SetFlagDeleteAfterRun function added in thinBundle module



thinBundle module

Add

Bundle_SetFlagAskBeforeExtract function added in thinBundle module



thinBundle module

Add

Bundle_SetFlagCompressAllFiles function added in thinBundle module



thinBundle module

Add

Bundle_SetExtractionFolder function added in thinBundle module



thinBundle module

Add

Bundle_SetScriptParameters function added in thinBundle module



thinBundle module

Add

Bundle_SetScriptName function added in thinBundle module



thinBundle module

Add

Bundle_SetBundleName function added in thinBundle module



Core

Improved

POKE now enhanced with full numeric data types



Core

Improved

POKE$ now supports ASCIIZ string optional parameter



Core

Improved

PEEK now enhanced with full numeric data types



TBGL

Fix

For an error in SetUp file creation thinbasic_GL.inc and thinbasic_GLU.inc were not the correct one. Now fixed

Psch


Core

Improved

PEEK$ now supports ASCIIZ string return optional parameter

Lee Allen


UI

Fix

FONT_Create error was introduced while performing internal investigation. Now fixed

catventure

2007.03.20

Samples

Fix

Fixed RichEdit_001.tBasic example. Now it will check Unicode text

MikeHart


Core

Add

UCODE$ function added



Core

Add

ACODE$ function added



FILE

Add

FILE_Append function added

kryton9


Core

Fix

Fixed an error in script functions execution that was preventing to have enough free time to fire events

Psch


TBGL

Improved

Improved thinbasic_GL.inc and thinbasic_GLU.inc OpenGL include files

Psch

2007.03.19

thinBundle

Fix

Due to an error in automatic thinBasic project building procedure, thinBundle included in recent thinBasic releases was not correct. An old version was included. Now problem is fixed.

All users that have created some bundled exe, please recreate them.

Psch


UI

Fix

Dialog_ChooseColor GPF when adding colors to custom colors. Incorrect starting custom color array index

Lee Allen

2007.03.18

SDK

Add

Added new interface to Power Basic SDK: thinBasic_VariableRedim



File

Add

DIR_ListArray function added.

Psch


Console

Improved

CONSOLE_SaveScreen and CONSOLE_RestoreScreen are now using a new buffer structure.

Screen buffers will now contains also a structure able to store info about every specific screen area saved. This will allow new functionalities in near future like directly printing inside buffers of saved screen areas.



Core

Fix

RESET keyword not correctly exported to be used by other modules

Lee Allen

2007.03.16

Core

Improved

External DLL functions will now run much more quickly. In some cases even 10 times faster than before.

An incorrect pointer was causing every single function call to store library handle over and over into an hash table.


2007.03.15

TBDI

Add

TBDI_JoyHasFF function added

MikeHart


TBDI

Add

TBDI_JoyHasEffect function added

MikeHart


TBDI

Add

TBDI_JoyCountEffects function added

MikeHart


TBDI

Add

TBDI_JoyGetEffectName function added

MikeHart


TBDI

Add

TBDI_JoyPlayEffect function added

MikeHart


TBDI

Add

TBDI_JoyStopEffect function added

MikeHart


TBDI

Add

TBDI_JoySetAutocenter function added

MikeHart


TBDI

Add

TBDI_JoyLoadEffect function added

MikeHart


TBDI

Add

TBDI_Init function added

MikeHart


Core

Improved

DECLARE statement will now accept absolute full path in dll name

Lee Allen

2007.03.13

thinAir

Fix

Fixed interpreter base directory. Now thinAir will check thinBasic directory to be correct and valid.

Psch

2007.03.13

Core

Fix

Fixed CASE ELSE when inside and IF statement evaluated as %FALSE

sandyrepope