+ Aggiunto: supporto di assegnazione/copia di TYPE's con operatore "="
+ Aggiunto: supporto di passaggio di variabili TYPE per valore come parametri di PROCESS/FUNCTION e funzioni di sistema
+ Aggiunto: supporto di tipo di ritorno TYPE per i blocchi FUNCTION e funzioni di sistema
+ Aggiunto: supporto di TYPE's inizializzati
+ Aggiunto: supporto di tipo VOID per puntatori del linguaggio
+ Aggiunto: nuovo tipo di dato:
FOBJECT
Permettendo il supporto di oggetti funzioni (simile ai puntatori a funzione di altri linguaggi)
+ Aggiunto: supporto di metodi nei processi
+ Aggiunto: nuova parola chiave THIS alias di ID
+ Aggiunto: nuova parola chiave CALLBACK, permette di dichiarare blocchi FUNCTION/METHOD invocabili solo tramite FOBJECT's
+ Aggiunto: migliorato supporto di scope's, adesso è possibile dichiarare dati locali dello stesso nome di dati globali ed è possibile accedere ad essi utilizzando la parola chiave di tipo di accesso specifico
+ Aggiunto: supporto per racchiudere opzionalmente le sezioni CONST, DECLARE, TYPEDEF, GLOBAL, LOCAL, PUBLIC e PRIVATE con la parola chiave END
+ Aggiunto: supporto per permettere di dichiarare o specificare parametri per blocchi PROCESS di tipo PUBLIC, si aggiunge inoltre supporto per specificare esplicitamente i parametri di blocchi PROCESS/FUNCTION/METHOD come PRIVATE
* Corretto: bug nell'accedere correttamente a variabili LOCAL remote in alcuni casi
* Corretto:[Win] bug che provocava il crash del programma nel passare 3 o più argomenti di linea di comandi al programma
* Corretto: bug nel generare ed accedere correttamente ai dati di overloads dei blocchi FUNCTION in alcuni casi
* Corretto: bug nell'indicare correttamente il nome del PRG dove si trova l'errore di compilazione, in alcuni casi
* Corretto: bug che provocava il crash del programma nel chiamare un overload di blocchi FUNCTION in alcuni casi
* Corretto: bug di memory leak del compilatore nella gestione dei TYPE
* Corretto: bug di compilazione nell'utilizzare TYPE name nelle funzioni tipo GET_ID, dove name era un dato di tipo INT
* Corretto: bug di compilazione nella notazione indicizzata di puntatori senza size specificato quando era attivata l'opzione _USE_CSTYLE_MATRIX
* Corretto:[Mac] bug che impediva compilare i programmi (bug introdotto nella beta 6.7)
* Corretto: bug nel generare correttamente codice per espressioni con aritmetica di puntatori del tipo *(ptr +- <expr> ...) o *(<expr> +- ptr ...) in alcuni casi
* Corretto: bug che provocava il crash del programma nell'utilizzare la opzione di compilazione _USE_CSTYLE_OPERATORS
* Corretto: bug nel compilatore che impediva di dichiarare dati di tipo STRING * per le funzioni di sistema
* Corretto: bug che impediva di utilizzare correttamente dati LOCAL definiti dall'utente e utilizzati come parametri
* Corretto: alcuni bugs di manipolazione caratteri stringhe
! Informazione: migliorato sistema di overloading, adesso più preciso
! Informazione: migliorata velocità di compilazione
! Informazione: migliorata velocità di caricamento delle librerie dei programmi
! Informazione: migliorato sistema di errori degli overloadings, adesso più dettagliato
! Informazione: migliorato sistema di controllo per espressioni dereferenziate con aritmetica di puntatori
Main
------
+ Aggiunto: nuova funzione GET_DISTID, permette di ottenere l'ID del tipo di processo più vicino alle coordinate indicate secondo il distmode stabilito
* Corretto: bug nella funzione EXIT nel visualizzare correttamente il messaggio di uscita in alcuni casi
File
-----
+ Aggiunto: nuova funzione GETCWD, permette di ottenere il path della directory attuale di lavoro
Graphics
-----------
+ Aggiunto: overload delle seguenti funzioni grafiche:
INT MAP_CLEAR(INT fpg_id, INT graph, INT color, INT unchange_alphachannel)
INT GROUND_PUT_PIXEL(INT x, INT y, INT color, INT unchange_alphachannel)
INT MAP_PUT_PIXEL(INT fpg_id, INT graph, INT x, INT y, INT color, INT unchange_alphachannel)
Permettendo di indicare se lasciare uguale il valore del canale alpha dei pixels (solo per grafici 32bits con canal alpha)
+ Aggiunto: nuove funzioni di info:
FPG_GET_MEMORYUSAGE, MAP_GET_MEMORYUSAGE
Permettono di ottenete la quantità di memoria usata (in bytes) delle risorse caricate
# Modificato: funzione MAP_GET_CPOINT, adesso non lancia più l'errore di runtime per il CPOINT 0 se questo non è definito esplicitamente
* Corretto: bug nella funzione TWEENGROUP_PAUSE che provocava l'errore di runtime "ID tweengroup non valido" quando chiamata con il valore ALL_TWEENGROUP
URL
----
+ Aggiunto: supporto di funzioni callbacks in URL_SET_OPT per le seguenti opzioni:
URL_READFUNCTION, URL_WRITEFUNCTION
+ Aggiunto: supporto per scaricare il contenuto in una STRING
* Corretto:[Win] bug che provocava il crash del programma nell'effettuare l'upload di un file in un FTP
- Eliminato: funzioni alias:
CLOSE_URL, OPEN_URL
Utilizzare il set standard (URL_OPEN, etc...)
SDK
----
+ Aggiunto: supporto di dipendenze per le librerie
+ Aggiunto: supporto di definizione di TYPE's e dati della stessa forma del linguaggio
+ Aggiunto: supporto di definizione di TYPE's e dati di qualsiasi tipo supportato dal linguaggio
* Corretto: bug di crash del compilador nel dichiarare/definire un metodo senza usare la parola chiave method, adesso viene generato un errore di compilazione per indicare l'errore
* Corretto: bug che impediva di eseguire correttamente chiamate di PROCESS/FUNCTION da metodi
Graphics
-----------
* Corretto: bug nell'utilizzare FX_DSTINSRC in combinazione con flags
* Corretto: MAP_GET_REALCPOINT, adesso non genera più l'errore di runtime quando il CPOINT 0 non è definito esplicitamente
Mode7
--------
+ Aggiundo: supporto parziale di flags (m7[N].flags), al momento sono supportati solo i valori 0 e 8
* Corretto: bug che provocava il crash del programma al creare più di una finestra di mode7
* Corretto: bug nel renderizzare correttamente per Z, 2 o più finestre di mode7
+ Aggiunto: nuova parola chiave CALLBACK, permette di dichiarare blocchi FUNCTION/METHOD invocabili solo tramite FOBJECT's
+ Aggiunto: migliorato supporto di scope's, adesso è possibile dichiarare dati locali dello stesso nome di dati globali ed è possibile accedere ad essi utilizzando la parola chiave di tipo di accesso specifico
+ Aggiunto: supporto per racchiudere opzionalmente le sezioni CONST, DECLARE, TYPEDEF, GLOBAL, LOCAL, PUBLIC e PRIVATE con la parola chiave END
+ Aggiunto: supporto per permettere di dichiarare o specificare parametri per blocchi PROCESS di tipo PUBLIC, si aggiunge inoltre supporto per specificare esplicitamente i parametri di blocchi PROCESS/FUNCTION/METHOD come PRIVATE
* Corretto: bug che impediva di utilizzare correttamente dati LOCAL definiti dall'utente e utilizzati come parametri
* Corretto: alcuni bugs di manipolazione caratteri stringhe
Main
------
+ Aggiunto: nuova funzione GET_DISTID, permette di ottenere l'ID del tipo di processo più vicino alle coordinate indicate secondo il distmode stabilito
Graphics
-----------
+ Aggiunto: nuove funzioni di info:
FPG_GET_MEMORYUSAGE, MAP_GET_MEMORYUSAGE
Permettono di ottenete la quantità di memoria usata (in bytes) delle risorse caricate
* Corretto: bug che impediva di utilizzare correttamente una regione distinta dalla 0 per i processi di tipo SCROLL
* Corretto:[Win] bug che provocava il crash del compilatore in SO Vista o superiore, specialmente in versioni 64bits
* Corretto: bug che impediva di ottenere correttamente il valore di dati TYPE's/FOBJECT's, se questi erano fields di altri dati di tipo STRUCT/TYPE's
* Corretto: bug che permetteva di utilizzare l'operatore subscript in dati STRUCT di una sola dimensione o dati TYPE's non array/pointer, provocando anomalie nel programma, adesso viene generato correttamente l'errore di compilazione
* Corretto: bug che impediva di visualizzare l'icona del programma quando veniva chiamata la funzione EXIT
* Corretto:[Win] bug che faceva scomparire l'icona ed il menu di sistema del programma quando questo passava in fullscreen e ritornava in finestra, in versioni SO Vista o superiori a 32bits
Graphics
-----------
* Corretto:[Win] bug che bloccava il rendering ed il programma quando veniva premuto la combinazione di tasti CTRL+ALT+CANC in SO Vista o superiore
# Modificato:[Win] sistema di rendering per l'engine software, adesso viene utilizzato Direct3D 9 invece di DirectDraw
! Informazione:[Win] migliorata velocità di rendering software, 2x-3x più rapida in vari casi
Tween
--------
+ Aggiunto: supporto affinché la variabile associata alla tween venga aggiornata con il valore iniziale una volta creata
* Corretto: bug che provocava in alcuni casi il crash del compilatore, nel compilare metodi di processi
* Corretto: bug che provocava in alcuni casi il crash del compilatore o un errore di compilazione quando si utilizzavano files sorgenti con INCLUDE
* Corretto:[Win] bug nel gestore della finestra che bloccava il rendering quando quest'ultima si trovava parzialmente fuori dallo schermo
Main
------
# Modificato: comportamento funzione SIGNAL, aadesso non invia più un segnale ad un processo addormantado da una chiamata di blocco FUNCTION
Text
-----
# Modificato: overload funzione WRITE per tipo VOID *, adesso stampa il valore numerico del dato passato invece dei caratteri alpha
Tween
--------
+ Aggiunto: overloads delle seguenti funzioni:
INT TWEEN_NEW(<type> *target, <type> start_value, <type> end_value, INT duration, INT tween_type, INT easing_mode, INT autoplay, INT loop, INT target_init)
INT TWEENGROUP_ATTACH_TWEEN(INT tweengroup_id, <type> *target, <type> start_value, <type> end_value, INT duration, INT tween_type, INT easing_mode, INT target_init)
e nuove costanti:
tween_target_init_off, tween_target_init_on
Per dare supporto affinché la variabile ("target") associata alla tween venga aggiornata con il valore iniziale "start_value" durante la creazione, se indicato in "target_init"
* Corretto: bug di crash del compilador nel dichiarare/definire un metodo senza usare la parola chiave method, adesso viene generato un errore di compilazione per indicare l'errore
* Corretto: bug che impediva di eseguire correttamente chiamate di PROCESS/FUNCTION da metodi
Graphics
-----------
* Corretto: bug nell'utilizzare FX_DSTINSRC in combinazione con flags
* Corretto: MAP_GET_REALCPOINT, adesso non genera più l'errore di runtime quando il CPOINT 0 non è definito esplicitamente
Mode7
--------
+ Aggiundo: supporto parziale di flags (m7[N].flags), al momento sono supportati solo i valori 0 e 8
* Corretto: bug che provocava il crash del programma al creare più di una finestra di mode7
* Corretto: bug nel renderizzare correttamente per Z, 2 o più finestre di mode7