<<< Gemix BETA 7.5 >>>

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

<<< Gemix BETA 7.5 >>>

Postby CicTec » Sun Feb 14, 2016 11:22 am

TOOLS download: Gemix Studio 7.5 Tools

BETA download: Gemix Studio BETA 7.5 Win32
BETA download: Gemix Studio BETA 7.5 Linux
BETA download: Gemix Studio BETA 7.5 Mac Coming soon...

SDK download: Coming soon...


NOTE: For the licences of the BETA, see Here



09/05/2016 BETA 7.5 UPDATE 3
-----------------------------------------

Features:

Language & Core
---------------------

  • * Fixed:
    • bugs which made it possible to compile, in some cases, a grammatically wrong program

Graphics
-----------

  • * Fixed:
    • [Legacy] bug in MAP_GET_REALCPOINT function in calculating correctly the position of the control point according the angle set by "angle" (introduced in beta 7.5)
    • bug in GROUND_PUT function in rendering the pixels transparent of a graphic (introduced in the beta 7.5)
    • bug in RENDER_GRAPHIC function which caused runtime error if it used the value -1 in "region

Pathfind
-----------

  • * Fixed:
    • bug in correctly calculate the path without diagonals, if you specified in PATH_FIND function with options "nodiag"

Text
------

  • * Fixed:
    • bug in RENDER_TEXT function which caused runtime error if you used the value -1 as a "region"
    • bug in RENDER_TEXT function in rendering correctly a glyph/text in a "target" different the screen



02/04/2016 BETA 7.5 UPDATE 2
-----------------------------------------

Features:

Graphics
-----------

  • * Added:
    • [Linux] hardware acceleration support for graphics rendering based on OpenGL 2.0+ and OpenGL ES 2.0+
  • * Fixed:
    • bug in FPG_LOAD, FPG_LOAD_MAP and MAP_LOAD functions in properly charge the CPOINT 0 of a graphic, if defined, in some cases (introduced in the beta 7.5)
    • [HW] bug in properly display a resolution filter 2x or virtual (introduced in Beta 7.5 update 1)
    • bug in correctly render a scroll type graph using the function RENDER_GRAPHIC
    • bug in properly render a graphic process type screen belonging to files> = 1, in a "target" MAP

Text
------

  • * Fixed:
    • bug in correctly render text in the target specified by the GLOBAL variable "texts" in some cases
    • bug in correctly render a scroll type character/text using the function RENDER_TEXT
    • bug of memory leak in the function RENDER_TEXT



14/03/2016 BETA 7.5 UPDATE 1
-----------------------------------------

Features:

Language & Core
---------------------

  • * Fixed:
    • [Win] issue that prevented the execution of programs in Windows XP, introduced in the beta 7.5
    • bug in properly generate the signature of a prototype METHOD of declaring typedefs parameters, stated in DECLARE section of the program
    • bug to assign correctly a text string at constant or variables declared in PRG file used with INCLUDE, introduced in the beta 7.5
    • some bugs on control and use of pointers
    • bug in compiling correctly in some cases, the code of blocks PROCESS/FUNCTION/METHOD defined in INCLUDE files, introduced in the beta 7.5
    • bug that caused the program to crash using a function call as initializer of a default argument of a PROCESS/FUNCTION/METHOD block, now is successfully built a compilation error
  • ! Information:
    • improved by compiling the PRG output, now is displays the full path used in the INCLUDES

Graphics
-----------

  • * Fixed:
    • bug that prevented proper operation of the function MAP_BLOCK_COPY, introduced in the beta 7.5
    • [HW] bug in the FADING system that prevented proper operation in certain cases
    • [HW] bug in rendering the screen correctly in fullscreen mode emulated
    • [HW] bug in order to properly apply the affine transformations indicated in ORDER
    • [SW] bug in RENDER_GRAPHIC function applying the affine transformation SHEAR

Mode7
--------

  • * Fixed:
    • [HW] bug in correctly render a texture used simultaneously as world and exterior



14/02/2016 BETA 7.5
----------------------------

Features:

Language & Core
---------------------

  • + Added:
    • new compiler options:
      • _gmxsystem_audio, _gmxsystem_graphics
      and constants:
      • gmxaudio_legacy, gmxaudio_modern, gmxgraphics_legacy, gmxgraphics_modern
      To allow the choice and use of the audio system legacy (FMOD Ex) or modern (FMOD Studio) and graphics system legacy (software) and modern (OpenGL/OpenGL ES, ...)
      NOTE: The gmxaudio_modern setting and/or gmxgraphics_modern breaks compatibility with DIV2 programs
  • * Fixed:
    • bug that allowed re-declare a variable with the same name after the declaration of an array
    • bug in properly the type of casting a ince using a qualifier (eg: (float)id_proc.var)
    • bug that prevented properly pass any type of argument as a parameter method called in remote mode (eg: proc_id.method_name(...))
    • bug that prevented properly initialize structures with type fields PROCESS
    • bug compilation-failure to access an area struct of "struct_var_name[index].field" form, if the struct was declared of a single register
    • bug in the operator ternary (?:) in using DOUBLE data correctly in expressions, sometimes provoking the program crash

DMBS
-------

  • + Added:
    • creation and support of data base management based in SQLite

Main
------

  • * Fixed:
    • [Linux] bug to correctly display the kind of SO returned by the function GET_OS

Graphics
-----------

  • + Added:
    • hardware acceleration support for graphics rendering based on OpenGL 2.0+ and OpenGL ES 2.0+
    • new built-in types TYPE for graphics rendering:
      • render_surface, render_asset, render_visibility, render_transform_set, render_transform_block, render_transform, render_fx
    • new type LOCAL built-in TYPE RENDER_ENTITY in place of the old local variables (X, Y, Z, etc ...), it continues to however support direct access to the members for backwards compatibility of programs
    • new member variables for processes and functions:
      • ANCHOR, BLOCK, FNT, TILED
    • new constant FX_ADVANCED, to use advanced effects (TINT, etc...)
    • new constants for MODE_GET_RENDERER:
      • renderer_driver, renderer_simd
      To get the kind of drivers and graphics renderer used
    • new constants for MODE_SET_RENDERER:
      • renderer_driver_autodetect, renderer_driver_software (SW only), renderer_driver_opengl (HW only), renderer_driver_opengl_with_simd (HW only), renderer_simd_autodetect, renderer_simd_none, renderer_simd_mmx
      To set the type of driver and graphics renderer
    • [HW] new features of loading assets:
      • INT GRAPHICLOADER_GET_BEHAVIOUR()
      • INT GRAPHICLOADER_SET_BEHAVIOUR(INT behavior)
      and constants:
      • graphicloading_for_hardwareusage, graphicloading_for_softwareusage
      To get and set the type of loading graphic assets and its use/rendering
    • [HW] new FX and constants:
      • fx_blend_lighten, fx_blend_darken, fx_blend_ligthercolor, fx_blend_darkercolor, fx_blend_colordodge, fx_blend_colorburn, fx_blend_overlay, fx_blend_softlight, fx_blend_hardlight, fx_blend_linearlight, fx_blend_vividlight, fx_blend_pinlight, fx_blend_hardmix, fx_blend_difference, fx_blend_negation, fx_blend_exclusion, fx_blend_reflect, fx_blend_glow, fx_blend_phoenix, fx_blend_hue, fx_blend_saturation, fx_blend_color, fx_blend_luminosity
    • [HW] new FILTER member variables for processes and functions to activate/deactivate the filter nearest/bilinear
    • new constants or graphical alignment transformations:
      • transform_anchor_cpoint0, transform_anchor_topleft, transform_anchor_topcenter, transform_anchor_topright, transform_anchor_left, transform_anchor_center, transform_anchor_right, transform_anchor_bottomleft, transform_anchor_bottomcenter, transform_anchor_bottomright
    • new constants for source/target rendering:
      • render_framebuffer_ground, render_framebuffer_screen, render_target_ground, render_target_screen
    • new overload of GROUND_PUT function:
      • INT GROUND_PUT(INT file, INT graph)
      To render a graphic in the center of the screen
    • new RENDER_GRAPHIC function:
      • INT RENDER_GRAPHIC(RENDER_ENTITY *entity)
      To render a graphic with all available effects in engine and in any coordinate system
  • - Removed:
    • [HW] 8/16 bits support the engine with hardware acceleration for their non-utility and difficulty of implementation
      NOTE: This removal breaks compatibility with DIV2 programs
    • effects and constants:
      • fx_andblend, fx_orblend, fx_xorblend
      For their no portability across platforms and little use
    • [HW] constants:
      • mWIDTHxHEIGHT, mode8_bits, mode_16bits, mode_32bits
      for their no utility in the engine with hardware acceleration
      NOTE: this removal breaks compatibility with DIV2 programs
    • constants programs for MODE_GET_RENDER:
      • rendering2D_mode, rendering3D_mode
      and constants for MODE_SET_RENDER:
      • rendering2D_autodetect, rendering2D_software, rendering2D_mmx, rendering3D_autodetect, rendering3D_software, rendering3D_sse
      for better implementation (see section Feature Added)
    • LOCAL ALPHA, FXMODE, FXCOLOR and FXINTENSITY variables, use the new TYPE built-in FX and FX_ADVANCEDTYPE_TINT instead
    • [HW] LOCAL ANGLE and SIZE variables, use the new set SCALE and ROTATION
    • [HW] BPP parameter for MODE_EXISTS and MODE_SET functions for its non-utility in the engine with hardware acceleration
    • [HW] overload MODE_SET function of one parameter
      NOTE: this removal breaks compatibility with DIV2 programs
    • [HW] functions:
      • COLLISION_GET_ALPHATHRESHOLD, COLLISION_SET_ALPHATHRESHOLD, GET_PIXEL, GROUND_GET_PIXEL, GROUND_PUT_PIXEL, SCREEN_GET_PIXEL, PUT_PIXEL
      for their usefulness in the motor with no hardware acceleration
      NOTE: this removal breaks compatibility with DIV2 programs
    • GROUND_PUT_SCREEN function, use the new overload GROUND_PUT instead
    • [HW] function SCREEN_LOAD
    • functions:
      • GROUND_PUT_BLOCK, GROUND_PUT_TILE, GROUND_XPUT (HW version), GROUND_XXPUT, MAP_XPUT (HW version only), MAP_XXPUT, SCREEN_DRAW_BLOCK, SCREEN_DRAW_GRAPHIC, SCREEN_DRAW_TILE
      Use the new function RENDER_GRAPHIC instead
    • overloads of MAP_BLOCK_COPY functions:
      • INT MAP_BLOCK_COPY(INT graph_src, INT src_x, INT src_y, INT width, INT height, INT flags, INT alpha, INT fxmode)
      • INT MAP_BLOCK_COPY(INT fpg_id, INT graph_dst, INT dst_x, INT dst_y, INT graph_src, INT src_x, INT src_y, INT width, INT height, INT flags, INT alpha, INT fxmode, INT fxcolor, INT fxintensity)
      • INT MAP_BLOCK_COPY(INT fpg_id_dst, INT graph_dst, INT dst_x, INT dst_y, INT fpg_id_src, INT graph_src, INT src_x, INT src_y, INT width, INT height, INT flags, INT alpha, INT fxmode)
      • INT MAP_BLOCK_COPY(INT fpg_id_dst, INT graph_dst, INT dst_x, INT dst_y, INT fpg_id_src, INT graph_src, INT src_x, INT src_y, INT width, INT height, INT flags, INT alpha, INT fxmode INT fxcolor, INT fxintensity)
      Use the new RENDER_GRAPHIC function instead
  • # Modified:
    • constant FX_TINT -> FX_ADVANCED_TINT
    • nomenclature and prototype MODE_GET_RENDER function:
      • INT MODE_GET_RENDER(INT rendering_type)
        to
        INT MODE_GET_RENDERER(INT renderer_type)[/b]
      For a better implementation
    • nomenclature and prototipos function MODE_SET_RENDER:
      • INT MODE_SET_RENDER(INT rendering2D_type)
        INT MODE_SET_RENDER(INT rendering2D_type, INT rendering3D_type) -> (overload 1)
        to
        INT MODE_SET_RENDERER(INT renderer_driver_type)
        INT MODE_SET_RENDERER(INT renderer_driver_type, INT renderer_simd_type) -> (overload 1)
      For a better implementation
    • FLAGS constants for better nomenclature:
      • flg_normal -> transform_flags_normal
      • flg_hmirror -> transform_flags_normal_hmirror
      • flg_vmirror -> transform_flags_normal_vmirror
      • flg_hvmirror -> transform_flags_normal_hvmirror
      • flg_ghost -> transform_flags_transparency
      • flg_ghost_hmirror -> transform_flags_transparency_hmirror
      • flg_ghost_vmirror -> transform_flags_transparency_vmirror
      • flg_ghost_hvmirror -> transform_flags_transparency_hvmirror
      • flg_nokey -> transform_flags_nokey
      • flg_nokey_hmirror -> transform_flags_nokey_hmirror
      • flg_nokey_vmirror -> transform_flags_nokey_vmirror
      • flg_nokey_hvmirror -> transform_flags_nokey_hvmirror
    • constant order of transformations for a better nomenclature:
      • tfm_hsr -> transform_order_hsr
      • tfm_hrs -> transform_order_hrs
      • tfm_shr -> transform_order_shr
      • tfm_srh -> transform_order_srh
      • tfm_rhs -> transform_order_rhs
      • tfm_rsh -> transform_order_rsh
    • FX constants for better nomenclature:
      • fx_src -> fx_alphacomposite_src
      • fx_dst -> fx_alphacomposite_dst
      • fx_srcoverdst -> fx_alphacomposite_srcover
      • fx_dstoversrc -> fx_alphacomposite_dstover
      • fx_srcindst -> fx_alphacomposite_srcin
      • fx_dstinsrc -> fx_alphacomposite_dstin
      • fx_srcoutdst -> fx_alphacomposite_srcout
      • fx_dstoutsrc -> fx_alphacomposite_dstout
      • fx_srcatopdst -> fx_alphacomposite_srcatop
      • fx_dstatopsrc -> fx_alphacomposite_dstatop
      • fx_srccleardst -> fx_alphacomposite_clear
      • fx_srcxordst -> fx_alphacomposite_xor
      • fx_additiveblend -> fx_blend_add
      • fx_subtractiveblend -> fx_blend_subtract
      • fx_multiplyblend -> fx_blend_multiply
      • fx_averageblend -> fx_blend_average
      • fx_screenblend -> fx_blend_screen
      • fx_rblend -> fx_blend_r
      • fx_gblend -> fx_blend_g
      • fx_bblend -> fx_blend_b
      • fx_rgblend -> fx_blend_rg
      • fx_rbblend -> fx_blend_rb
      • fx_gbblend -> fx_blend_gb
      • fx_rinvert -> fx_invert_r
      • fx_ginvert -> fx_invert_g
      • fx_binvert -> fx_invert_b
      • fx_rginvert -> fx_invert_rg
      • fx_rbinvert -> fx_invert_rb
      • fx_gbinvert -> fx_invert_gb
      • fx_rscale -> fx_scale_r
      • fx_gscale -> fx_scale_g
      • fx_bscale -> fx_scale_b
      • fx_rgscale -> fx_scale_rg
      • fx_rbscale -> fx_scale_rb
      • fx_gbscale -> fx_scale_gb
  • * Fixed:
    • bug that caused the program to crash in some cases using COLLISION/OVERLAP functions with type PROCESS as parameter
    • [Win] bug that prevented properly initialize mode 8/16bits fullscreen in Windows OS 7/8/10

Input
-------

  • - Removed:
    • [HW] KEY function, use KEYDOWN instead
      NOTE: this removal breaks compatibility with DIV2 programs

Mode7
--------

  • * Fixed:
    • bug in the prototype of MODE7_TO_SCREEN function where the last two parameters were variables instead of pointers

Scroll
-------

  • # Modified:
    • nomenclature and prototype functions:
      • INT SCROLL_SET_DESTINATION(INT scroll, INT destination_file, INT destination_graph, INT region)
        to
        INT SCROLL_SET_TARGET(INT scroll, INT target_file, INT target_graph, INT region)

Socket
---------

  • + Added:
    • support of sockets for the implementation of network programs at a low level by using TCP/UDP protocols

Text
------

  • + Added:
    • new functions of information and settings:
      • INT TEXT_GET_CTYPE(INT text_id)
      • INT TEXT_GET_CNUMBER(INT text_id)
      • INT TEXT_GET_RESOLUTION(INT text_id)
      • IVEC2 TEXT_GET_SCALE(INT text_id) (Software Version)
      • VEC2 TEXT_GET_SCALE(INT text_id)
      • IVEC2 TEXT_GET_SHEAR(INT text_id) (Software Version)
      • VEC2 TEXT_GET_SHEAR(INT text_id)
      • INT TEXT_GET_FILTER(INT text_id) (MODERN mode only at the moment)
      • INT TEXT_SET_CTYPE(INT text_id, INT ctype)
      • INT TEXT_SET_CNUMBER(INT text_id, INT cnumber)
      • INT TEXT_SET_RESOLUTION(INT text_id, INT resolution)[/color]
    • new RENDER_TEXT function:
      • INT RENDER_TEXT(RENDER_ENTITY * entity)
      • INT RENDER_TEXT(RENDER_ENTITY * entity, STRING text) -> (overload 1)
        To render a text or character with all effects available in engine and in any coordinate system
  • # Modified:
    • nomenclature and prototype functions:
      • INT TEXT_GET_DESTINATION(INT text_id, INT *destination_file, INT *destination_graph)
        to
        INT TEXT_GET_TARGET(INT text_id, INT *target_file, INT *target_graph)
      • INT TEXT_GET_ALIGN(INT text_id)
        to
        INT TEXT_GET_ANCHOR(INT text_id)
      • INT TEXT_GET_TFMORDER(INT text_id)
        to
      • INT TEXT_GET_ORDER(INT text_id)
      • INT TEXT_GET_POS(INT text_id, INT *x, INT *y) (Software Version)
        INT TEXT_GET_POS(INT text_id, FLOAT *x, FLOAT *y)
        to
        INT TEXT_GET_POSITION(INT text_id, INT *x, INT *y, INT *z) (Software Version)
        INT TEXT_GET_POSITION(INT text_id, FLOAT *x, FLOAT *y, FLOAT *z)
      • INT TEXT_GET_ANGLE(INT text_id) (Software Version)
        FLOAT TEXT_GET_ANGLE(INT text_id)
        to
        IVEC3 TEXT_GET_ROTATION(INT text_id) (Software Version)
        VEC3 TEXT_GET_ROTATION(INT text_id)
      • INT TEXT_GET_SIZE(INT text_id, INT *size_x, INT *size_y) (Software Version)
        INT TEXT_GET_SIZE(INT text_id, FLOAT *size_x, FLOAT *size_y)
        to
      • INT TEXT_GET_SCALE(INT text_id, INT *scale_x, INT *scale_y) (Software Version)
        INT TEXT_GET_SCALE(INT text_id, FLOAT *scale_x, FLOAT *scale_y)
      • INT TEXT_GET_FX(INT text_id, INT *fxmode, INT *fxcolor, INT *fxintensity)
        to
        INT TEXT_GET_FX(INT text_id, INT *fxtype, VOID *fxref)
      • INT TEXT_SET_DESTINATION(INT text_id, INT destination_file, INT destination_graph)
        to
        INT TEXT_SET_TARGET(INT text_id, INT target_file, INT target_graph)
      • INT TEXT_SET_TFMORDER(INT text_id, INT tfmorder)
        to
        INT TEXT_SET_ORDER(INT text_id, INT transform_order)
      • INT TEXT_SET_ANGLE(INT text_id, INT angle) (Software Version)
        INT TEXT_SET_ANGLE(INT text_id, FLOAT angle)
        to
      • INT TEXT_SET_ROTATION(INT text_id, INT rotation_x, INT rotation_x, INT rotation_z) (Software Version)
        INT TEXT_SET_ROTATION(INT text_id, FLOAT rotation_x, FLOAT rotation_x, FLOAT rotation_z)
      • INT TEXT_SET_SIZE(INT text_id, INT size_x, INT *size_y) (Software Version)
        INT TEXT_SET_SIZE(INT text_id, FLOAT size_x, FLOAT *size_y)
        to
      • INT TEXT_SET_SCALE(INT text_id, INT scale_x, INT scale_y) (Software Version)
        INT TEXT_SET_SCALE(INT text_id, FLOAT scale_x, FLOAT scale_y)
      • INT TEXT_SET_FX(INT text_id, INT fxmode, INT fxcolor, INT fxintensity)
        to
        INT TEXT_SET_FX(INT text_id, INT fxtype, VOID *fxref)
  • - Removed:
    • global variables:
      • text_tfmorder, text_flags, text_fxmode, text_fxcolor, text_fxintensity, text_alpha, text_destination_file, text_destination_graph, text_visible, text_angle, text_size_x, text_size_y, text_shear_x, text_shear_y
      Using the new variable TYPE 'texts' instead
    • [HW] global variable TEXT_Z, use 'texts.transform.position.z' instead
      NOTE: this removal breaks compatibility with DIV2 programs
    • text alignment constants:
      • txt_align_topleft, txt_align_topcenter, txt_align_topright, txt_align_left, txt_align_center, txt_align_right, txt_align_bottomleft, txt_align_bottomcenter, txt_align_bottomright
      Use the new set of constants 'transform_anchor_N' instead
    • Functions:
      • GROUND_PUT_TEXT, MAP_PUT_TEXT, SCREEN_DRAW_TEXT
        Use the new RENDER_TEXT function instead
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: <<< Gemix BETA 7.5 >>>

Postby CicTec » Mon Mar 14, 2016 12:19 pm

Version Beta 7.5 Update 1 available.

Worklog and download available at the beginning of thread
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: <<< Gemix BETA 7.5 >>>

Postby CicTec » Sun Mar 20, 2016 12:08 pm

Updated beta 7.5 update 1 with 3 bug fixes, worklog y download link available at the beginning of the thread
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: <<< Gemix BETA 7.5 >>>

Postby CicTec » Sat Apr 02, 2016 2:17 pm

Version Beta 7.5 Update 2 available.

Worklog and download available at the beginning of thread
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: <<< Gemix BETA 7.5 >>>

Postby CicTec » Sat Apr 09, 2016 9:58 am

Updated beta 7.5 update 2 with the following bugfix

Worklog and download available at the beginning of thread
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm

Re: <<< Gemix BETA 7.5 >>>

Postby CicTec » Mon May 09, 2016 12:36 pm

Version Beta 7.5 Update 3 available.

Worklog and download available at the beginning of thread
User avatar
CicTec
 
Posts: 16553
Joined: Thu Jul 31, 2008 10:18 pm


Return to News and Releases

Who is online

Users browsing this forum: No registered users and 2 guests