<<< Gemix BETA 5.6 >>>
Posted: Mon Oct 12, 2009 11:08 pm
NOTE: the BETA version usage is FREE and valid until the FINAL version (see = README =.TXT for license info)
12/10/2009 BETA 5.6
---------------------------
+ Added: improved the pointer system, now it is use a real system where more operations and operators in complex expressions are supported (C style) + Added: support of negative size (size, size_x, size_y), allowing mirroring/reflection flags in a simple way + Added: new LOCAL variables SHEAR_X and SHEAR_Y for distortion effects of the graphic
new LOCAL variable TFMORDER which allows you to set the transformation order to apply to the graphic, with the following constants:
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) support of SHEAR_X, SHEAR_Y and TFMORDER in the following functions:
+ Added: support for SHEAR_X, SHEAR_Y and TFMORDER to the mouse + Added: new GLOBAL variables for the texts:
text_shear_y text_tfmorder new functions:
+ Added: UK name versions of some functions and constants --------------------------------------------------------------------------------------------------------------------------------------------------
* Fixed: bug in SET_SCREEN_COLOR function in SOFT mode that was setting a different color to the one chosen * Fixed: bug in PUT_SCREEN function when clearing the screen in the wrong way with the color chosen with SET_SCREEN_COLOR * Fixed: some error messages about struct compilation * Fixed: bug in scale2x that was causing a bad rendering of first and last lines of the screen in some resolutions * Fixed: bug that was causing an out-of-phase visualization of the screen or a program crash in some hybrid resolutions * Fixed: bug when setting the SHIFT_STATUS variable when LSHIFT or RSHIFT is pressed, returning reverse values * Fixed: constants: _L_BRACHET and _R_BRACHET -> _L_BRACKET and _R_BRACKET * Fixed: bug in COLLISION when using some combinations of ANGLE or SIZE, with mouse and processes * Fixed: bug that was causing some artifacts in the graphic when it was partialy out of the region when using SIZE and/or ANGLE * Fixed: bug in OVERLAP, now the function returns a real overlap of the processes when they are transformed (size, angle, shear) * Fixed: bug in OUT_REGION that was causing imprecisions in some cases, now the function returns a real out_region accurate values of the processes when they are transformed (size, angle, shear) --------------------------------------------------------------------------------------------------------------------------------------------------
! Information: optimized DUMP/RESTORE_TYPE system, faster than 10 ~ 30% ! Information: optimized scale2x rendering filter, faster than 8 ~ 250% ! Information: optimized FX in 32bits mode, faster than 5 ~ 50%
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