<<< Gemix BETA 7.5 >>>

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...
NOTA: Per le license della beta BETA, vedere qui
09/05/2016 BETA 7.5 UPDATE 3
-----------------------------------------
Features:
Language & Core
---------------------
Graphics
-----------
Pathfind
-----------
Text
------
02/04/2016 BETA 7.5 UPDATE 2
-----------------------------------------
Features:
Graphics
-----------
Text
------
14/03/2016 BETA 7.5 UPDATE 1
-----------------------------------------
Features:
Language & Core
---------------------
Graphics
-----------
Mode7
--------
14/02/2016 BETA 7.5
--------------------------
Features:
Language & Core
---------------------
DMBS
-------
Main
------
Graphics
-----------
Input
-------
Mode7
--------
Scroll
-------
Socket
---------
Text
------
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...
NOTA: Per le license della beta BETA, vedere qui
09/05/2016 BETA 7.5 UPDATE 3
-----------------------------------------
Features:
Language & Core
---------------------
- * Fixed:
- bugs i quali permettevano di compilare, in alcuni casi, un programma grammaticalmente sbagliato
Graphics
-----------
- * Fixed:
- [Legacy] bug nella funzione MAP_GET_REALCPOINT nel calcolare correttamente la posizione del punto di controllo secondo l'angolo stabilito da "angle" (introdotto nella beta 7.5)
- bug nella funzione GROUND_PUT nel renderizzare i pixels trasparenti di un grafico (introdotto nella beta 7.5)
- bug nella funzione RENDER_GRAPHIC la quale provocava errore di runtime se si utilizzava il valore -1 in "region
Pathfind
-----------
- * Fixed:
- bug nel calcolare correttamente il path senza diagonali, se specificato nella funzione PATH_FIND con le opzioni "nodiag"
Text
------
- * Fixed:
- bug nella funzione RENDER_TEXT la quale provocava errore di runtime se si utilizzava il valore -1 come "region"
- bug nella funzione RENDER_TEXT nel renderizzare correttamente un grafico/testo in un "target" diverso dallo schermo
02/04/2016 BETA 7.5 UPDATE 2
-----------------------------------------
Features:
Graphics
-----------
- * Added:
- [Linux] supporto di accelerazione hardware per il rendering grafico basata in OpenGL 2.0+ e OpenGL ES 2.0+
- * Fixed:
- bug nelle funzioni FPG_LOAD, FPG_LOAD_MAP e MAP_LOAD nel caricare correttamente il CPOINT 0 di un grafico, se definito, in alcuni casi (introdotto nella beta 7.5)
- [HW] bug nel visualizzare correttamente una risoluzione con filtro 2x o virtual (introdotto nella beta 7.5 update 1)
- bug nel renderizzare correttamente un grafico di tipo scroll utilizzando la funzione RENDER_GRAPHIC
- bug nel renderizzare correttamente un grafico di processo di tipo screen appartenente a file >= 1, in un "target" MAP
Text
------
- * Fixed:
- bug nel renderizzare correttamente i testi nel target specificato dalla variable GLOBAL "texts", in alcuni casi
- bug el renderizzare correttamente un carattere/testo di tipo scroll utilizzando la funzione RENDER_TEXT
- bug di memory leak nella funzione RENDER_TEXT
14/03/2016 BETA 7.5 UPDATE 1
-----------------------------------------
Features:
Language & Core
---------------------
- * Fixed:
- [Win] problema che impediva il funzionamento dei programmi in Windows XP, introdotto nella beta 7.5
- bug nel generare correttamente la signature di un prototipo di METHOD che dichiarava parametri TYPEDEF, dichiarato nella sezione DECLARE del programma
- bug nell'assegnare correttamente una stringa di testo a costanti o variabili dichiarate in file PRG utilizzati con INCLUDE, introdotto nella beta 7.5
- alcuni bugs di controllo e utilizzo di puntatori
- bug nel compilare correttamente in alcuni casi, il codice di blocchi PROCESS/FUNCTION/METHOD definiti in file INCLUDE, introdotto nella beta 7.5
- bug che provocava il crash del programma utilizzando una chiamata di funzione come inizializzatore di un argomento di default di un blocco PROCESS/FUNCTION/METHOD, adesso viene generato correttamente un errore di compilazione
- ! Information:
- migliorato output di compilazione dei PRG, adesso viene visualizzato il path completo utilizzato negli INCLUDE
Graphics
-----------
- * Fixed:
- migliorato output di compilazione dei PRG, adesso viene visualizzato il path completo utilizzato negli INCLUDE
- [HW] bug nel sistema di FADING che ne impediva il corretto funzionamento in alcuni casi
- [HW] bug nel renderizzare correttamente lo schermo in modalità fullscreen emulata
- [HW] bug nell'applicare correttamente l'ordine di trasformazioni affine indicato in ORDER
- [SW] bug nella funzione RENDER_GRAPHIC nell'applicare la trasformazione affine SHEAR
Mode7
--------
- * Fixed:
- [HW] bug nel renderizzare correttamente una texture utilizzata simultaneamente come world e exterior
14/02/2016 BETA 7.5
--------------------------
Features:
Language & Core
---------------------
- + Added:
- nuove opzioni di compilazione:
- _gmxsystem_audio, _gmxsystem_graphics
- gmxaudio_legacy, gmxaudio_modern, gmxgraphics_legacy, gmxgraphics_modern
NOTA: il setting di gmxaudio_modern e/o gmxgraphics_modern rompe la compatibilità con i programmi DIV2
- nuove opzioni di compilazione:
- * Fixed:
- bug che permetteva ri-dichiarare una variabile con lo stesso nome dopo la dichiarazione di un array
- bug nell'applicare correttamente il tipo di casting a un dato utilizzando un qualificatore (es: (float)id_proc.var)
- bug che impediva passare correttamente qualunque tipo di argomento come parametro di un metodo chiamato in modalità remota (es: proc_id.method_name(...))
- bug che impediva inizializzare correttamente strutture con campi di tipo PROCESS
- bug di errore di compilazione nell'accedere ad un campo struct della forma struct_var_name[index].field, se la struct era dichiarata di un solo registro
- bug nell'operatore ternario (?:) nell'usare dati DOUBLE correttamente nelle espressioni, provocando a volte il crash del programma
DMBS
-------
- + Added:
- supporto di creazione e gestione di base dati basate in SQLite
Main
------
- * Fixed:
- [Linux] bug nel visualizzare correttamente il tipo di SO restituito dalla funzione GET_OS
Graphics
-----------
- + Added:
- supporto di accelerazione hardware per il rendering grafico basata in OpenGL 2.0+ e OpenGL ES 2.0+
- nuovi tipi built-in TYPE per il rendering grafico:
- render_surface, render_asset, render_visibility, render_transform_set, render_transform_block, render_transform, render_fx
- nuovo tipo LOCAL built-in TYPE RENDER_ENTITYin sostituzione delle antiche variabili locali (X, Y, Z, etc...), si continua a supportare tuttavia accesso diretto ai membri per retrocompatibilità dei programmi
- nuove variabili membri per i processi e funzioni:
- ANCHOR, BLOCK, FNT, TILED
- nuova costante FX_ADVANCED, per poter utilizzare effetti avanzati (TINT, etc...)
- nuove costanti per MODE_GET_RENDERER:
- renderer_driver, renderer_simd
- nuove costanti per 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
- [HW] nuove funzioni di loading assets:
- INT GRAPHICLOADER_GET_BEHAVIOUR()
- INT GRAPHICLOADER_SET_BEHAVIOUR(INT behavior)
- graphicloading_for_hardwareusage, graphicloading_for_softwareusage
- [HW] nuovi FX e costanti:
- 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] nuove variabili membro FILTER per processi e funzioni per attivare/disattivare filtro nearest/bilineare
- nuove costanti per alineamento di trasformazioni grafiche:
- 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
- nuove costanti per rendering source/target:
- render_framebuffer_ground, render_framebuffer_screen, render_target_ground, render_target_screen
- nuovo overload della funzione GROUND_PUT:
- INT GROUND_PUT(INT file, INT graph)
- nuova funzione RENDER_GRAPHIC:
- INT RENDER_GRAPHIC(RENDER_ENTITY *entity)
- - Removed:
- [HW] supporto 8/16bits dal motore con accelerazione hardware per la loro non utilità e difficoltà di implementazione
NOTA: questa rimozione rompe la compatibilità con i programmi DIV2 - effetti e costanti:
- fx_andblend, fx_orblend, fx_xorblend
- [HW] costanti:
- mWIDTHxHEIGHT, mode_8bits, mode_16bits, mode_32bits
NOTA: questa rimozione rompe la compatibilità con i programmi DIV2 - costanti per MODE_GET_RENDER:
- rendering2D_mode, rendering3D_mode
- rendering2D_autodetect, rendering2D_software, rendering2D_mmx, rendering3D_autodetect, rendering3D_software, rendering3D_sse
- variables LOCAL ALPHA, FXMODE, FXCOLOR y FXINTENSITY, , usare il nuovo TYPE built-in FX ed il FX_ADVANCEDTYPE_TINT in sostituzione
- [HW] variabili LOCAL ANGLE e SIZE, utilizzare il nuovo set SCALE e ROTATION
- [HW] parametro BPP per le funzioni MODE_EXISTS e MODE_SET per la sua non utilità nel motore con accelerazione hardware
- [HW] overload funzione MODE_SET di un parametro
NOTA: questa rimozione rompe la compatibilità con i programmi DIV2 - [HW] funciones:
- COLLISION_GET_ALPHATHRESHOLD, COLLISION_SET_ALPHATHRESHOLD, GET_PIXEL, GROUND_GET_PIXEL, GROUND_PUT_PIXEL, SCREEN_GET_PIXEL, PUT_PIXEL
NOTA: questa rimozione rompe la compatibilità con i programmi DIV2 - funzioni GROUND_PUT_SCREEN, usare il nuovo overload GROUND_PUT in sostituzione
- [HW] funzione SCREEN_LOAD
- funzioni:
- 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
- overloads delle funzioni MAP_BLOCK_COPY:
- 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)
- [HW] supporto 8/16bits dal motore con accelerazione hardware per la loro non utilità e difficoltà di implementazione
- # Modified:
- costante FX_TINT -> FX_ADVANCED_TINT
- nomenclatura e prototipo funzione MODE_GET_RENDER:
- INT MODE_GET_RENDER(INT rendering_type)
a
INT MODE_GET_RENDERER(INT renderer_type)
- INT MODE_GET_RENDER(INT rendering_type)
- nomenclatura e prototipos funzione MODE_SET_RENDER:
- INT MODE_SET_RENDER(INT rendering2D_type)
INT MODE_SET_RENDER(INT rendering2D_type, INT rendering3D_type) -> (overload 1)
a
INT MODE_SET_RENDERER(INT renderer_driver_type)
INT MODE_SET_RENDERER(INT renderer_driver_type, INT renderer_simd_type) -> (overload 1)
- INT MODE_SET_RENDER(INT rendering2D_type)
- costanti FLAGS per una migliore nomenclatura:
- 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
- costanti di ordine delle transformazioni per una migliore nomenclatura:
- 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
- costanti FX per migliore nomenclatura:
- 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 che provocava il crash del programma in alcuni casi usando le funzioni COLLISION/OVERLAP con il tipo di PROCESS come parametro
- [Win][Win] bug che impediva inizializzare correttamente le modalità 8/16bits fullscreen in SO Windows 7/8/10
Input
-------
- - Removed:
- [HW] funzione KEY, utilizzare KEYDOWN in sostituzione
NOTA: questa rimozione rompe la compatibilità con i programmi DIV2
- [HW] funzione KEY, utilizzare KEYDOWN in sostituzione
Mode7
--------
- * Fixed:
- bug nel prototipo della funzione MODE7_TO_SCREEN dove gli ultimo 2 parametri erano variabili invece di puntatori
Scroll
-------
- # Modified:
- nomenclatura e prototipo funzioni:
- INT SCROLL_SET_DESTINATION(INT scroll, INT destination_file, INT destination_graph, INT region)
a
INT SCROLL_SET_TARGET(INT scroll, INT target_file, INT target_graph, INT region)
- INT SCROLL_SET_DESTINATION(INT scroll, INT destination_file, INT destination_graph, INT region)
- nomenclatura e prototipo funzioni:
- * Fixed:
- [SW] bug nel renderizzare correttamente uno scroll con alpha (scroll.alpha)
Socket
---------
- + Added:
- supporto di sockets per la implementazione di programmi di rete a basso livello utilizzando protocolli TCP/UDP
Text
------
- + Added:
- nuove funzioni di info e 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]
- nuova funzione RENDER_TEXT:
- INT RENDER_TEXT(RENDER_ENTITY * entity)
- INT RENDER_TEXT(RENDER_ENTITY * entity, STRING text) -> (overload 1)
- nuove funzioni di info e settings:
- # Modified:
- nomenclatura e prototipo funzioni:
- INT TEXT_GET_DESTINATION(INT text_id, INT *destination_file, INT *destination_graph)
a
INT TEXT_GET_TARGET(INT text_id, INT *target_file, INT *target_graph) - INT TEXT_GET_ALIGN(INT text_id)
a
INT TEXT_GET_ANCHOR(INT text_id) - INT TEXT_GET_TFMORDER(INT text_id)
a
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)
a
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)
a
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)
a
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)
a
INT TEXT_GET_FX(INT text_id, INT *fxtype, VOID *fxref) - INT TEXT_SET_DESTINATION(INT text_id, INT destination_file, INT destination_graph)
a
INT TEXT_SET_TARGET(INT text_id, INT target_file, INT target_graph) - INT TEXT_SET_TFMORDER(INT text_id, INT tfmorder)
a
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)
a - 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)
a
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)
a
INT TEXT_SET_FX(INT text_id, INT fxtype, VOID *fxref)
- INT TEXT_GET_DESTINATION(INT text_id, INT *destination_file, INT *destination_graph)
- nomenclatura e prototipo funzioni:
- - Removed:
- variabili globali:
- 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
- [HW] variabile globale TEXT_Z, usare 'texts.transform.position.z' in sostituzione
NOTE: esta remoción rompe la compatibilidad con los programas DIV2 - costanti di alineamento testi:
- 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
- funzioni:
- GROUND_PUT_TEXT, MAP_PUT_TEXT, SCREEN_DRAW_TEXT
- variabili globali: