12/10/2009 BETA 5.6
---------------------------
- + Aggiunto: nuovi overloads della funzione MAP_APPLY_FX per indicare un colore di maschera da utilizzare con gli FX blend's e alpha:
- INT MAP_APPLY_FX(INT fpg_id, INT graph, INT flags, INT alpha, INT fxmode, INT mask_color)
- INT MAP_APPLY_FX(INT fpg_id, INT graph, INT flags, INT alpha, INT fxmode, INT fxcolor, INT fxintensity, INT mask_color)
- + Aggiunto: supporto di grafici con canale alpha per lo scroll
- + Aggiunto: supporto di array e strutture fino a 256 dimensioni (3 in DIV2)
- + Aggiunto: opción de compilación _USE_CSTYLE_MATRIX la quale permette di utilizzare la sintassi stile C per array e strutture multidimensione (es: array[3][3] invece di array[2,2])
NOTA: questa opzione di compilazione rompe la compatibilità con i programmi DIV2 - + Aggiunto: opzione di compilazione _USE_CSTYLE_CONDITIONS che permette di utilizzare le condizioni stile C, dove 0 è FALSE e qualunque altro numero è TRUE
NOTA: questa opzione di compilazione rompe la compatibilità con i programmi DIV2 - + Aggiunto: nuova parola chiave INCLUDE al linguaggio, per poter modularizzare il programma in più file sorgenti
- + Aggiunto: errore di runtime (accesso fuori intervallo) quando si tenta di accedere ad un array o struttura mediante un indice fuori limite
- + Aggiunto: supporto nel FROM di variabili e array interi di qualunque tipo
- + Aggiunto: nuovi tipi di dati al linguaggio:
- SBYTE (signed integer 8bits)
- SHORT (signed integer 16bits)
- DWORD (unsigned integer 32bits)
- min_sbyte
- max_sbyte
- min_short
- max_short
- min_dword
- max_dword
- + Aggiunto: potenziato sistema dei puntori, adesso viene utilizzato un sistema reale dove vengono supportate più operazioni e operatori in espressioni complesse (stile C)
- + Aggiunto: supporto di valori size (size, size_x, size_y) negativi, permettendo in questo modo si conseguire effetti di flags facilmente
- + Aggiunto: nuove variabili LOCAL SHEAR_X e SHEAR_Y per effetti di distorsione del grafico
nuova variabile LOCAL TFMORDER che permette di indicare l'ordine delle trasformazioni da applicare al grafico, per mezzo delle seguenti costanti:- tfm_hsr (Shear-Scale-Rotate)
- tfm_hrs (Shear-Rotate-Scale)
- tfm_shr (Scale-Shear-Rotate)
- tfm_srh (Scale-Rotate-Shear)
- tfm_rhs (Rotate-Shear-Scale)
- tfm_rsh (Rotate-Scale-Shear)
- DRAW_GRAPHIC
- MAP_XXPUT
- XXPUT
- + Aggiunto: supporto di SHEAR_X, SHEAR_Y e TFMORDER al mouse
- + Aggiunto: nuove variabili GLOBAL per i testi:
- text_shear_x
- text_shear_y
- text_tfmorder
- SET_TEXT_TFMORDER
- SET_TEXT_SHEAR
- txt_shear_x
- txt_shear_y
- txt_tfmorder
- + Añadido: versioni con nomi UK di alcune funzioni e costanti
- * Corretto: bug in CLONE_MAP il quale portava al crash del programma quando venivano creati più di 255 cloni
- * Corretto: bug quando venivano usati gli FX SCALE's in 32bits con rendering MMX
- * Corretto: bug in GET_DIRINFO la quale usava i flags passati come paramtro in modo non corretto
- * Corretto: bug che impediva di utilizzare la statiera per il mouse quando veniva impostato mouse.cursor = 1
- * Corretto: bug nella funzione MAP_APPLY_FX nell'usare un valore in flags diverso da 0 e con altre combinazioni
- * Corretto: bug nella funzione DRAW che portava al crash del programma nel disegnare un rettangolo vuoto (2) quando uno dei 4 vertici si trovavano fuori dai limiti dello schermo
- * Corretto: bug nell'aggiornare correttamente i colori delle primitive grafiche (DRAW) quando si cambiava la tavolozza dei colori in 8bits
- * Corretto: problema nel passare valori negativi a FRAME (ej: FRAME(-10)) il quale portava al blocco o crash del programma, adesso i valori passati vengono convertiti automaticamente in positivi
- * Corretto: bug nelle funzioni:
- STOP_MIDI
- UNLOAD_MIDI
- STOP_MUSIC
- UNLOAD_MUSIC
- STOP_SONG
- UNLOAD_SONG
- * Corretto: bug nella funzione SET_SCREEN_COLOR in modalità SOFT nell'impostare un colore distinto a quello scelto
- * Corretto: bug nella funzione PUT_SCREEN nel cancellare correttamente lo schermo con il colore impostato da SET_SCREEN_COLOR
- * Corretto: alcuni messagi di errore sulla compilazione di strutture
- * Corretto: bug in scale2x di rendering errato della prima e ultima linea dello schermo in alcune risoluzioni
- * Corretto: bug che portava ad una visualizazzione distorta dello schermo o al crash del programma in alcune risoluzioni hibride
- * Corretto: bug nell'impostare correttamente la variabile SHIFT_STATUS quando venivano premuti LSHIFT o RSHIFT, restituendo i valori invertiti
- * Corretto: costanti: _L_BRACHET e _R_BRACHET -> _L_BRACKET e _R_BRACKET
- * Corretto: bug in COLLISION quando venivano usate alcune combinazioni di ANGLE e SIZE, sia con il mouse che tra processi
- * Corretto: bug che provocava alcuni artefatti nel grafico quando questo era parzialmente fuori dalla regione quando veniva usado SIZE e/o ANGLE
- * Corretto: bug in OVERLAP, adesso la funzione restituisce un overlap reale dei processi quando questi sono trasformati (size, angle, shear)
- * Corretto: bug in OUT_REGION l quale provocava imprecisioni in certi casi, adesso la funzione restituisce un out_region reale dei processi quando questi sono trasformati (size, angle, shear)
- ! Informazione: ottimizzata funzione COLLISION, più rapida del 20 ~ 80%
- ! Informazione: ottimizzate le seguenti funzioni, più rapide del 30 ~ 90%:
- ADD_FPG_MAP
- CLONE_FPG
- CLONE_MAP
- LOAD_FPG
- LOAD_FPG_MAP
- LOAD_MAP
- LOAD_PCX
- NEW_FPG_MAP
- NEW_MAP
- ! Informazione: ottimizzato sistema DUMP/RESTORE_TYPE, più rapido del 10 ~ 30%
- ! Informazione: ottimizzato filtro di rendering scale2x, più rapido del 8 ~ 250%
- ! Informazione: ottimizzati FX a 32bits, più rapid del 5 ~ 50%