12/10/2009 BETA 5.6
---------------------------
- + Added: new overloads in the function MAP_APPLY_FX to indicate a mask color to use with the blend FX and 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)
- INT MAP_APPLY_FX(INT fpg_id, INT graph, INT flags, INT alpha, INT fxmode, INT mask_color)
- + Added: support for alpha channel graphics in the scroll
- + Added: support for up to 256 dimensions in arrays and structs (3 in DIV2)
- + Added: compiler option _USE_CSTYLE_MATRIX which allows to use C style syntax in multidimensional arrays and structs (ex: array[3][3] instead of array[2,2])
NOTE: this option breaks the DIV2 compatibility - + Added: compiler option _USE_CSTYLE_CONDITIONS lwhich allows you to use C style conditions where 0 is FALSE and any other number is TRUE
NOTE: this option breaks the DIV2 compatibility - + Added: new keyword INCLUDE which allows the modularization of the program in several source code files
- + Added: runtime error (out of range access) when trying to access an array or struct with an out of range index
- + Added: support in FROM of variables and integer arrays of any kind
- + Added: new data types:
- SBYTE (signed integer 8bits)
- SHORT (signed integer 16bits)
- DWORD (unsigned integer 32bits)
- min_sbyte
- max_sbyte
- min_short
- max_short
- min_dword
- max_dword
new LOCAL variable TFMORDER which allows you to set the transformation order to apply to the graphic, with the following constants:
- tfm_hsr (Shear-Scale-Rotate)
- DRAW_GRAPHIC
- MAP_XXPUT
- XXPUT
- text_shear_x
- SET_TEXT_TFMORDER
- SET_TEXT_SHEAR
- txt_shear_x
- txt_shear_y
- txt_tfmorder
- * Fixed: bug in CLONE_MAP which was causing a program crash when more than 255 clones was created
- * Fixed: bug using FX SCALE's in 32bits rendering MMX
- * Fixed: bug in GET_DIRINFO which was using the flags passed as parameters incorrectly
- * Fixed: bug that was preventing the use of the keyboard to move the mouse when mouse.cursor = 1 was set
- * Fixed: bug in MAP_APPLY_FX function when setting a value in flags other than 0 and in other combinations
- * Fixed: bug in DRAW function that was causing a program crash when drawing a hollow rectangle (2) which has one of the vertices out of the limits of the screen
- * Fixed: bug updating the colors of the graphic primitives (DRAW) when the palette was changed in 8bits mode
- * Fixed: problem when using negative values with FRAME (ex: FRAME(-10)) that was causing the program to crash or freeze. Now the values are converted automatically into positive
- * Fixed: bug in functions:
- STOP_MIDI
- UNLOAD_MIDI
- STOP_MUSIC
- UNLOAD_MUSIC
- STOP_SONG
- UNLOAD_SONG
- ! Information: optimized COLLISION function, faster than 20 ~ 80%
- ! Information: optimized the following functions, faster than 30 ~ 90%:
- ADD_FPG_MAP
- CLONE_FPG
- CLONE_MAP
- LOAD_FPG
- LOAD_FPG_MAP
- LOAD_MAP
- LOAD_PCX
- NEW_FPG_MAP
- NEW_MAP