<<< Gemix BETA 5.6 >>>

Updates, releases and the last news about the programming language.

<<< Gemix BETA 5.6 >>>

Postby CicTec » 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: 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)
  • + 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)
    Also added the following constants:
    • min_sbyte
    • max_sbyte
    • min_short
    • max_short
    • min_dword
    • max_dword
  • + 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_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)
    support of SHEAR_X, SHEAR_Y and TFMORDER in the following functions:
    • XXPUT
    NOTE: hmirror and vmirror flags are always applied after the previous transformations
  • + Added: support for SHEAR_X, SHEAR_Y and TFMORDER to the mouse
  • + Added: new GLOBAL variables for the texts:
    • text_shear_x
    • text_shear_y
    • text_tfmorder
    new functions:
    new constants for TEXT_INFO:
    • txt_shear_x
    • txt_shear_y
    • txt_tfmorder
  • + Added: UK name versions of some functions and constants
  • * 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:
    when a song finishes a call to PLAY_XXX could cause the song to play multiple times at once even if the number of reserved channels was 1
  • * 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 COLLISION function, faster than 20 ~ 80%
  • ! Information: optimized the following functions, faster than 30 ~ 90%:
    • LOAD_FPG
    • LOAD_MAP
    • LOAD_PCX
    • NEW_MAP
  • ! 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%
User avatar
Posts: 15691
Joined: Thu Jul 31, 2008 10:18 pm

Return to News and Releases

Who is online

Users browsing this forum: No registered users and 1 guest