sdk
7 years agoecere/JSON;eCON: Splitting WriteJSONObject / WriteECONObject
Jerome St-Louis [Wed, 24 Feb 2016 20:30:08 +0000 (15:30 -0500)]
ecere/JSON;eCON: Splitting WriteJSONObject / WriteECONObject
- Avoids changing WriteJSONObject() API and makes more sense

7 years agodocumentor: new econ-based documentation format. add ear-to-econ-ecdoc tool to migrat...
Rejean Loyer [Sat, 5 Dec 2015 02:07:02 +0000 (21:07 -0500)]
documentor: new econ-based documentation format. add ear-to-econ-ecdoc tool to migrate existing documentation.

7 years agoecere/sys/JSON: add eCON mode.
Rejean Loyer [Wed, 9 Dec 2015 23:13:10 +0000 (18:13 -0500)]
ecere/sys/JSON: add eCON mode.

7 years agotarball,crossplatform.mk: improve cross-platform shell command functions. let errors...
Rejean Loyer [Fri, 20 Nov 2015 01:03:07 +0000 (20:03 -0500)]
tarball,crossplatform.mk: improve cross-platform shell command functions. let errors through. quiet vs verbose. add cpr for recursive file copying. use xcopy on windows.

7 years agoecere/drivers/Android: Tweaks to run with latest Android SDK/NDK on Nexus 9
Jerome St-Louis [Thu, 10 Dec 2015 04:43:31 +0000 (23:43 -0500)]
ecere/drivers/Android: Tweaks to run with latest Android SDK/NDK on Nexus 9
- Improved resolving library path to work on newer Android, ARM64/Nexus 9
- Working around ntohs() macros breaking

7 years agoecere/com/instance.ec: Tweaks to build ecereCOM with MemoryGuard
Jerome St-Louis [Thu, 21 Apr 2016 03:49:11 +0000 (23:49 -0400)]
ecere/com/instance.ec: Tweaks to build ecereCOM with MemoryGuard

7 years agoecere/net; compiler/ecs: Distributed Objects Improvements
Jerome St-Louis [Sat, 27 Feb 2016 21:28:10 +0000 (16:28 -0500)]
ecere/net; compiler/ecs: Distributed Objects Improvements
- Better mutexing around socket reference counting
- Thread awareness when locking/unlocking GuiApplication mutex
- net/Socket: Only setting leftOver to true on non-zero recvBytes

7 years agoecere/com/containers/List: Worked around too much memory being allocated
Jerome St-Louis [Sun, 3 Jul 2016 10:45:04 +0000 (06:45 -0400)]
ecere/com/containers/List: Worked around too much memory being allocated
- Added a note regarding Link instantiation allocating too much memory

7 years agoecere/gui/Window: MouseMessage(): Avoid overshadowing 'w'
Jerome St-Louis [Sun, 3 Jul 2016 10:30:07 +0000 (06:30 -0400)]
ecere/gui/Window: MouseMessage(): Avoid overshadowing 'w'

7 years agoecere/sys/Thread (Emscripten): Defining 'id' member used by dcom.ec
Jerome St-Louis [Sun, 3 Jul 2016 10:25:25 +0000 (06:25 -0400)]
ecere/sys/Thread (Emscripten): Defining 'id' member used by dcom.ec

7 years agoecere: Clang warning fixes
Jerome St-Louis [Thu, 24 Mar 2016 00:19:18 +0000 (20:19 -0400)]
ecere: Clang warning fixes
- Mainly uninitialized warnings

7 years agoecere/com/instance: (Emscripten) Disabling memory manager
Jerome St-Louis [Sun, 3 Jul 2016 10:13:08 +0000 (06:13 -0400)]
ecere/com/instance: (Emscripten) Disabling memory manager

7 years agoecere/gui/drivers/Emscripten: Multi-touch support
Jerome St-Louis [Fri, 1 Apr 2016 23:54:13 +0000 (19:54 -0400)]
ecere/gui/drivers/Emscripten: Multi-touch support
- Fixed marking mouse events as consumed
- x and y into 'point' in TouchPointerInfo

7 years agoecere/ecere.epj: MinEmscripten, Static Changes
Jerome St-Louis [Fri, 1 Apr 2016 22:10:47 +0000 (18:10 -0400)]
ecere/ecere.epj: MinEmscripten, Static Changes
- Added MinEmscripten config (No bitmaps, freetype, 3D)
- Static config changes

7 years agodeps/zlib; eda/SQLite: Tweaks to build with Emscripten
Jerome St-Louis [Fri, 11 Mar 2016 22:14:11 +0000 (17:14 -0500)]
deps/zlib; eda/SQLite: Tweaks to build with Emscripten

7 years agoecere: Further tweaks for Emscripten
Jerome St-Louis [Sun, 3 Jul 2016 09:30:54 +0000 (05:30 -0400)]
ecere: Further tweaks for Emscripten

7 years agoear: Adding emear for Emscripten
Jerome St-Louis [Thu, 10 Mar 2016 16:59:17 +0000 (11:59 -0500)]
ear: Adding emear for Emscripten
- Packing all resources into resources.ear

7 years agoecere/gui/GuiApplication; epj: Fixes to build with Emscripten
Jerome St-Louis [Thu, 10 Mar 2016 16:41:01 +0000 (11:41 -0500)]
ecere/gui/GuiApplication; epj: Fixes to build with Emscripten

7 years agosamples/games/chess: Fixed AI stuck on queening pawn
Jerome St-Louis [Mon, 12 Oct 2015 02:49:04 +0000 (22:49 -0400)]
samples/games/chess: Fixed AI stuck on queening pawn

7 years agoecere/gui/drivers/Emscripten: Scroll wheel, key/button flags, fixes
Jerome St-Louis [Mon, 12 Oct 2015 01:25:58 +0000 (21:25 -0400)]
ecere/gui/drivers/Emscripten: Scroll wheel, key/button flags, fixes
- Also returning non-null window handle

7 years agobuildsystem,epj2make,ide: fix makefile generation to be compiler agnostic again....
Rejean Loyer [Wed, 16 Mar 2016 00:21:30 +0000 (20:21 -0400)]
buildsystem,epj2make,ide: fix makefile generation to be compiler agnostic again. compiler noise was introduced by 772625709a1a88f76d3d736385aa3c340525d0de for emscripten support.

7 years agoecere: Initial Emscripten support
Jerome St-Louis [Sat, 10 Oct 2015 02:25:20 +0000 (22:25 -0400)]
ecere: Initial Emscripten support
- Mekano, Chess and UWClone working reasonably well

7 years agoecere,ecereCOM: support Emscriptem platform. add new Emscripten interface driver.
Rejean Loyer [Wed, 9 Dec 2015 22:31:28 +0000 (17:31 -0500)]
ecere,ecereCOM: support Emscriptem platform. add new Emscripten interface driver.
 - <NOTE> had to move GetDisplayDriver and GetDisplaySystem to end of Display.ec file due to compiler issue
 - #if !defined(__EMSCRIPTEN__) out:
    - dynamic loading
    - thread/mutex/semaphore and Condition class
    - file monitoring
    - png/jpeg/gif
    - X driver
    - NCurses driver
    - dcom
 - add emscripten_main_loop_callback in GuiApplication.ec
 - use of glfw and a bit of tweaking in the OpenGL driver

7 years agoecere/gfx/3D: Lighting fixes; Meta shader; normal mapping; environment mapping; cube...
Jerome St-Louis [Thu, 28 Jul 2016 21:22:05 +0000 (17:22 -0400)]
ecere/gfx/3D: Lighting fixes; Meta shader; normal mapping; environment mapping; cube maps; single IBO sphere

7 years agoecere/gfx/drivers/OpenGL: Fixed leaked GLX context from OGLSystem
Jerome St-Louis [Sun, 17 Jul 2016 11:32:09 +0000 (20:32 +0900)]
ecere/gfx/drivers/OpenGL: Fixed leaked GLX context from OGLSystem

7 years agoecere/gfx/drivers/OpenGL: Fixed OGLDisplay access from within Display
Jerome St-Louis [Fri, 15 Jul 2016 11:32:04 +0000 (20:32 +0900)]
ecere/gfx/drivers/OpenGL: Fixed OGLDisplay access from within Display
- GLX structs were confusing the compiler and GLCapabilities were being returned wrong

7 years agoecere/gfx/drivers/OpenGL: Fixes for Android
Jerome St-Louis [Sun, 17 Jul 2016 07:34:01 +0000 (03:34 -0400)]
ecere/gfx/drivers/OpenGL: Fixes for Android

7 years agoecere/gfx/drivers/OpenGL: Removed unused gl_core_3_3 glLoadGen definitions
Jerome St-Louis [Fri, 15 Jul 2016 07:22:49 +0000 (03:22 -0400)]
ecere/gfx/drivers/OpenGL: Removed unused gl_core_3_3 glLoadGen definitions
- We always include the compatibility headers

7 years agoecere/gfx/drivers/OpenGL: Fixed namespace pollution
Jerome St-Louis [Fri, 15 Jul 2016 07:20:02 +0000 (03:20 -0400)]
ecere/gfx/drivers/OpenGL: Fixed namespace pollution
- Renamed public functions to glshd* and moved from shading.ec to OpenGLDisplayDriver.ec
- Changed GLABDeleteBuffers to GLAB::DeleteBuffers()

7 years agoecere/gfx/drivers/OpenGL/Shaders: Support for Specular, Spotlights, Attenuation
Jerome St-Louis [Fri, 15 Jul 2016 07:19:33 +0000 (03:19 -0400)]
ecere/gfx/drivers/OpenGL/Shaders: Support for Specular, Spotlights, Attenuation
- Updated positional lights code to reflect recent clarifications
- Reverted to setting separate projection and modelview matrix for specular calculations
- Also included specular fix using dFdx/dFdy in fragment shader

7 years agoecere/gfx/drivers/OpenGL: Setting specular to 0 when power is 0
Jerome St-Louis [Fri, 15 Jul 2016 07:10:21 +0000 (03:10 -0400)]
ecere/gfx/drivers/OpenGL: Setting specular to 0 when power is 0

7 years agoecere/gfx/3D/.3DS; drivers/OpenGL: Improved light attenuation
Jerome St-Louis [Fri, 15 Jul 2016 07:08:57 +0000 (03:08 -0400)]
ecere/gfx/3D/.3DS; drivers/OpenGL: Improved light attenuation
- Better attenuation factors from .3DS
- Resetting attenuation when setting light without attenuation

7 years agoecere/gfx/3D; drivers/OpenGL: Clarified and fixed behavior of positional lights
Jerome St-Louis [Fri, 15 Jul 2016 07:01:10 +0000 (03:01 -0400)]
ecere/gfx/3D; drivers/OpenGL: Clarified and fixed behavior of positional lights
- 'direction' always means light direction, not position, regardless of having a target or not
- 3DS 'omni' light now sets GL_SPOT_DIRECTION even if flags.spot is off
- Fixed consistency issue for non-spot light not subtracting camera position
- Updated samples/3D/ColorSpheres

7 years agoecere/gui/Window: Disabling GL Shaders by default
Jerome St-Louis [Fri, 15 Jul 2016 07:12:02 +0000 (03:12 -0400)]
ecere/gui/Window: Disabling GL Shaders by default
- We have better performance with the FFP at the moment
- The shaders will still kick in if FFP is not supported

7 years agoecere/gfx/drivers/OpenGL: Disabling separate specular color
Jerome St-Louis [Fri, 15 Jul 2016 07:11:01 +0000 (03:11 -0400)]
ecere/gfx/drivers/OpenGL: Disabling separate specular color
- Should eventually make this a Material flag

7 years agoecere/gfx/drivers/OpenGL: Fixed alpha blended window rendering
Jerome St-Louis [Fri, 15 Jul 2016 05:58:37 +0000 (01:58 -0400)]
ecere/gfx/drivers/OpenGL: Fixed alpha blended window rendering
- Also fixed non power of 2 detection in Core Profile (glGetString() unavailable)

7 years agoecere/gfx/OpenGL; FontRendering; Window: Fixed rendering in non-locked Display
Jerome St-Louis [Fri, 15 Jul 2016 05:52:07 +0000 (01:52 -0400)]
ecere/gfx/OpenGL; FontRendering; Window: Fixed rendering in non-locked Display

7 years agoecere/gfx/drivers/OpenGL: Renamed glHelpers.h -> gl123es.h
Jerome St-Louis [Fri, 15 Jul 2016 05:40:17 +0000 (01:40 -0400)]
ecere/gfx/drivers/OpenGL: Renamed glHelpers.h -> gl123es.h

7 years agoecere/gfx/OpenGLDisplayDriver: Fixed LockArrays extension declarations
Jerome St-Louis [Fri, 15 Jul 2016 05:49:02 +0000 (01:49 -0400)]
ecere/gfx/OpenGLDisplayDriver: Fixed LockArrays extension declarations
- Was missing 'default'

7 years agoecere/gfx/drivers/OpenGL: Core profile support
Jerome St-Louis [Mon, 11 Jul 2016 11:03:34 +0000 (07:03 -0400)]
ecere/gfx/drivers/OpenGL: Core profile support
- Can set glCapabilities.compatible = false on top level Window to request a core profile
- Setting up a VAO per display
- Renamed glcaps -> glCaps

7 years agoecere/gfx/drivers/OpenGL: Optimized immediate mode emulation
Jerome St-Louis [Mon, 11 Jul 2016 04:16:48 +0000 (00:16 -0400)]
ecere/gfx/drivers/OpenGL: Optimized immediate mode emulation
- Making use of glBufferSubData
- Batching glyphs of a single WriteText() call

7 years agoecere/gfx/drivers/OpenGL: Shaders improvements; GLCapabilities Tweaks
Jerome St-Louis [Sun, 10 Jul 2016 09:23:09 +0000 (05:23 -0400)]
ecere/gfx/drivers/OpenGL: Shaders improvements; GLCapabilities Tweaks
- Setting Normal, ModelView X Projection matrix and Model View Z column
  (Solves normalization with non-uniform scale, avoids multiplying ModelView X Projection for each vertex)
- Using glcaps* globals for GL capabilities to avoid invasive changes and pointer dereferencing throughout

7 years agoecere/gfx: Ability to switch between shaders and fixed-function programmatically
Jerome St-Louis [Wed, 6 Jul 2016 09:30:11 +0000 (05:30 -0400)]
ecere/gfx: Ability to switch between shaders and fixed-function programmatically
- No longer need to build separate versions for legacy and modern GL
- Can set 'glCapabilities' on a Window and enable/disable use (if available) of:
   legacy, shaders, nonPow2Textures, vertexBuffer, frameBuffer, immediate, fixedFunction, quads, intAndDouble

7 years agoecere/drivers/OpenGL (Android): Fixed warning redefining GL_BGRA_EXT
Jerome St-Louis [Wed, 6 Jul 2016 09:45:34 +0000 (05:45 -0400)]
ecere/drivers/OpenGL (Android): Fixed warning redefining GL_BGRA_EXT
- Properly redefining to GL_RGBA as a workaround
   ( Grab Screen and BlitDI/StretchDI will have wrong colors )

7 years agoecere/gfx/drivers/OpenGL (Android): Fixed blank textures
Jerome St-Louis [Tue, 28 Jun 2016 00:42:42 +0000 (20:42 -0400)]
ecere/gfx/drivers/OpenGL (Android): Fixed blank textures
- CheckExtension() was not being called and not setting up pow2textures and max texture size

7 years agoecere/gfx/drivers/OpenGL: twoSided parameter for shader_setSimpleMaterial()
Jerome St-Louis [Thu, 19 May 2016 22:57:27 +0000 (18:57 -0400)]
ecere/gfx/drivers/OpenGL: twoSided parameter for shader_setSimpleMaterial()

7 years agoecere/gfx/drivers/GL: Not printing out GL debugging notifications
Jerome St-Louis [Fri, 22 Apr 2016 03:43:13 +0000 (23:43 -0400)]
ecere/gfx/drivers/GL: Not printing out GL debugging notifications

7 years agoecere/gfx/drivers/GL: Declaring functions not taking any values as (void)
Jerome St-Louis [Wed, 20 Apr 2016 09:53:20 +0000 (05:53 -0400)]
ecere/gfx/drivers/GL: Declaring functions not taking any values as (void)
- Ran into confusing troubles because the compilers were not complaining about glPopAttrib(GL_ALL_ATTRIB_BITS)
- Win32Interface: Ensuring CALLBACK includes __attribute__((__force_align_arg_pointer__)) for recent GCC
  This should also probably be done directly in _mingw.h (Done in the Installer's version)

7 years agoecere/gfx/OpenGL/matrixStack: Flipped glmsRotated() signs to match OpenGL behavior
Jerome St-Louis [Mon, 18 Apr 2016 11:01:04 +0000 (07:01 -0400)]
ecere/gfx/OpenGL/matrixStack: Flipped glmsRotated() signs to match OpenGL behavior
- API Change: ecere/gfx/3D/Quaternion: RotationAxis() now taking a Vector3D instead of a Vector3Df

7 years agoecere/gfx/OpenGL: (OpenGL ES) Support for glColor4f() with lighting enabled
Jerome St-Louis [Mon, 18 Apr 2016 09:52:22 +0000 (05:52 -0400)]
ecere/gfx/OpenGL: (OpenGL ES) Support for glColor4f() with lighting enabled
- Color material emulation

7 years agoecere/gfx/OpenGL: Shaders fixes for rendering offscreen; _GLES compilation
Jerome St-Louis [Sun, 17 Apr 2016 03:41:21 +0000 (23:41 -0400)]
ecere/gfx/OpenGL: Shaders fixes for rendering offscreen; _GLES compilation

7 years agoecere/gfx/drivers/GL/matrixStack: Added glGetDoublev()
Jerome St-Louis [Sun, 10 Apr 2016 12:21:06 +0000 (08:21 -0400)]
ecere/gfx/drivers/GL/matrixStack: Added glGetDoublev()
- Implemented support for querying matrices

7 years agoecere/gfx/OpenGL: Standardized on _GLES for ES 1.1 and _GLES2 for ES 2.0
Jerome St-Louis [Fri, 1 Apr 2016 22:10:47 +0000 (18:10 -0400)]
ecere/gfx/OpenGL: Standardized on _GLES for ES 1.1 and _GLES2 for ES 2.0
- Fixed bug in matrixStack's glLoadMatrix
- Fixed shading.ec compilation with ECERE_NO3D

7 years agoecere/gfx/drivesr/OpenGL: WebGL Fixes
Jerome St-Louis [Thu, 10 Mar 2016 16:41:01 +0000 (11:41 -0500)]
ecere/gfx/drivesr/OpenGL: WebGL Fixes

7 years agoecere/gfx/drivers/OpenGL: Fixed warnings
Jerome St-Louis [Thu, 4 Feb 2016 20:53:11 +0000 (15:53 -0500)]
ecere/gfx/drivers/OpenGL: Fixed warnings

7 years agoecere/gfx/OpenGL: Fixes for basic 2D and 3D support without VBOs
Jerome St-Louis [Sat, 16 Jan 2016 07:54:56 +0000 (02:54 -0500)]
ecere/gfx/OpenGL: Fixes for basic 2D and 3D support without VBOs
- Tested with OpenGL 1.1 (GDI software driver)

7 years agoecere/gfx/drivers/OpenGL: Fixed LockArraysEXT warnings on Linux
Jerome St-Louis [Fri, 22 Jan 2016 21:44:07 +0000 (06:44 +0900)]
ecere/gfx/drivers/OpenGL: Fixed LockArraysEXT warnings on Linux

7 years agoecere/gfx/OpenGL: Initial WebGL Support
Jerome St-Louis [Sat, 10 Oct 2015 02:25:20 +0000 (22:25 -0400)]
ecere/gfx/OpenGL: Initial WebGL Support

7 years agoecere/gfx/gl3/shading: Integration support to set material
Jerome St-Louis [Sat, 19 Dec 2015 21:09:25 +0000 (16:09 -0500)]
ecere/gfx/gl3/shading: Integration support to set material

7 years agoecere/gfx/OpenGLDisplayDriver: Falling back to a 2.0 context if 4.4 failed
Jerome St-Louis [Sat, 21 Nov 2015 19:25:41 +0000 (14:25 -0500)]
ecere/gfx/OpenGLDisplayDriver: Falling back to a 2.0 context if 4.4 failed

7 years agoecere/gfx/drivers/OpenGL: Regular GL context if SHADERS is not defined
Jerome St-Louis [Thu, 10 Dec 2015 01:15:07 +0000 (20:15 -0500)]
ecere/gfx/drivers/OpenGL: Regular GL context if SHADERS is not defined
- Diagnostic messages

7 years agoecere/gfx/drivers/OpenGL: Exponential fog support in vertex shader
Jerome St-Louis [Fri, 25 Sep 2015 15:55:26 +0000 (11:55 -0400)]
ecere/gfx/drivers/OpenGL: Exponential fog support in vertex shader
- Also tweak to disable color array on unsetting camera to fix colors blending in shaders mode

7 years agoecere/ecere.epj: Including GL3 files in StaticGLES config
Jerome St-Louis [Wed, 23 Sep 2015 17:55:59 +0000 (13:55 -0400)]
ecere/ecere.epj: Including GL3 files in StaticGLES config

7 years agoecere: Fixes to build branch for Android
Jerome St-Louis [Sun, 20 Sep 2015 15:30:58 +0000 (00:30 +0900)]
ecere: Fixes to build branch for Android
- Enabling SHADERS

7 years agoecere/Makefile: Added new gl3/ files; Fixes to run shaders on Linux
Jerome St-Louis [Mon, 14 Sep 2015 06:08:55 +0000 (02:08 -0400)]
ecere/Makefile: Added new gl3/ files; Fixes to run shaders on Linux
- Enabled SHADERS by default in this branch

7 years agoecere/gfx/drivers/OpenGL: Fixed two-sided lighting
Jerome St-Louis [Fri, 11 Sep 2015 14:21:03 +0000 (23:21 +0900)]
ecere/gfx/drivers/OpenGL: Fixed two-sided lighting
- Proper calculations checking gl_FrontFacing in the fragment shader
- No need to save compute a separate light, just negate normal
- Including specular higlights for back face as well

7 years agoecere/gfx/drivers/OpenGL: Added GLSetupLighting API
Jerome St-Louis [Wed, 9 Sep 2015 04:44:57 +0000 (12:44 +0800)]
ecere/gfx/drivers/OpenGL: Added GLSetupLighting API

7 years agoecere/gfx/drivers/OpenGL: Materials & Light colors support
Jerome St-Louis [Tue, 8 Sep 2015 22:05:56 +0000 (06:05 +0800)]
ecere/gfx/drivers/OpenGL: Materials & Light colors support

7 years agoecere/gfx/drivers: Diffuse and global ambient shading support
Jerome St-Louis [Tue, 8 Sep 2015 21:00:20 +0000 (05:00 +0800)]
ecere/gfx/drivers: Diffuse and global ambient shading support

7 years agoecere/gfx/drivers/OpenGL: Fixed broken alpha blending display broken by shaders integ...
Jerome St-Louis [Fri, 29 Apr 2016 15:13:18 +0000 (11:13 -0400)]
ecere/gfx/drivers/OpenGL: Fixed broken alpha blending display broken by shaders integration

7 years agoecere/gfx/drivers/OpenGL: Shaders support improvements
Jerome St-Louis [Tue, 8 Sep 2015 11:38:27 +0000 (19:38 +0800)]
ecere/gfx/drivers/OpenGL: Shaders support improvements
- Fixed 3D issues (including incomplete Matrix multiplication biting again)
- Added texture_matrix and texturingOn uniforms
- Fixed color on no texturing
- Removed deprecated lighting & material calls when SHADERS is defined
- Added Shaders to drivers/gl3 in project in addition to res/shaders/
   (Allows linking project with F7 while they're the active editor)

7 years agoecere/gfx/gl3/gl_compat_4_4: Handling GL < 3.0 (no glGetStringi())
Jerome St-Louis [Sat, 16 Jan 2016 07:37:17 +0000 (02:37 -0500)]
ecere/gfx/gl3/gl_compat_4_4: Handling GL < 3.0 (no glGetStringi())
- Printing an error when ogl_LoadFunctions() fails
- Note: This was only done in gl_compat_4_4.c, not 3_3

7 years agoecere/gfx/drivers/OpenGL: Shaders migration -- Initial Take
Jerome St-Louis [Tue, 8 Sep 2015 07:02:26 +0000 (15:02 +0800)]
ecere/gfx/drivers/OpenGL: Shaders migration -- Initial Take
- Modularized compatibility wrappers, moved out of OpenGLDisplayDriver.ec
   - gl3/immediate.ec: Immediate mode transition kit (glimtk*)
   - gl3/matrixStack.ec: Matrix Stack (glms*)
- gl3/glab.ec: Modularized out Array Buffer manipulation code
- gl3/wglDefs.h: Moved out WGL definitions
- gl3/egl.ec: Moved out EGL code (untested)
- gl3/shading.ec: Vertex/Fragment Shaders loading code and uniforms access (may also be adding materials/shading/lighting code here)
- OpenGLDisplayDriver: Now using extensions through glLoadGen generated modules (gl3/gl_compat_4_4.c or gl3/gl_core_3_3.c)
- OpenGLDisplayDriver (WIN32): Added code to specify profile and debug context with wglCreateContextAttribsARB()
- OpenGLDisplayDriver: Making use of glDebugMessageCallback() / GL_DEBUG_OUTPUT_SYNCHRONOUS to facilitate debugging
- gl3/fixed.frag: Fixed Pipeline Equivalent Fragment Shader (early start: texturing and color support)
- gl3/fixed.vertex: Fixed Pipeline Equivalent Vertex Shader (early start: vertex, color, normal and texture coord)

7 years agoecere/gfx/drivers/OpenGL: Work on Emscripten Support
Jerome St-Louis [Mon, 21 Dec 2015 21:38:44 +0000 (16:38 -0500)]
ecere/gfx/drivers/OpenGL: Work on Emscripten Support

7 years agoecere/gfx/drivers/OpenGL: Setting MAX_ANISOTROPY_EXT to 16.0
Jerome St-Louis [Fri, 26 Jun 2015 23:34:38 +0000 (19:34 -0400)]
ecere/gfx/drivers/OpenGL: Setting MAX_ANISOTROPY_EXT to 16.0

7 years agoecere/ecere.epj: Turning on MMX/SSE optimizations for Release config
Jerome St-Louis [Sun, 10 Apr 2016 06:08:47 +0000 (02:08 -0400)]
ecere/ecere.epj: Turning on MMX/SSE optimizations for Release config
- Leaving line numbers alone

7 years agoecere/com/instance: Added code to fill freed memory in non memguard config
Jerome St-Louis [Sun, 10 Apr 2016 06:10:33 +0000 (02:10 -0400)]
ecere/com/instance: Added code to fill freed memory in non memguard config
- Turned on for Debug mode for now

7 years agoecere/gfx/fontRendering: Improved vertical alignment of text
Jerome St-Louis [Fri, 15 Jul 2016 05:03:27 +0000 (01:03 -0400)]
ecere/gfx/fontRendering: Improved vertical alignment of text
- Text is now more spaced out from the specified y position and better centered within height returned by TextExtent
- '(' and text are now better aligned in Consolas font

7 years agoecere/gfx: Font outline support
Jerome St-Louis [Sun, 3 Jul 2016 00:18:10 +0000 (20:18 -0400)]
ecere/gfx: Font outline support

7 years agocompiler: Fixes to improve compatibility with MinGW/GCC 5 headers
Jerome St-Louis [Sun, 6 Mar 2016 00:30:11 +0000 (19:30 -0500)]
compiler: Fixes to improve compatibility with MinGW/GCC 5 headers
- Added __int128
- Fixed TokenType::_while typo
- Handling type of __attribute__((__vector_size(..))
- ecere/gui/Window: Fixed divide by 0 in window tiling code parsing code

7 years agoecere/gfx/fontManagement: Falling back to Arial Unicode MS on Windows
Jerome St-Louis [Mon, 11 Jul 2016 04:39:08 +0000 (00:39 -0400)]
ecere/gfx/fontManagement: Falling back to Arial Unicode MS on Windows
- Fixes international text not showing up with OpenGL driver

7 years agoecere/gui/controls/EditBox: Fixed remaining issue with selection, tabs and freecaret
Jerome St-Louis [Fri, 15 Jul 2016 04:47:35 +0000 (00:47 -0400)]
ecere/gui/controls/EditBox: Fixed remaining issue with selection, tabs and freecaret

7 years agoecere/gfx/drivers/LFB; gui/EditBox: Splitting Font Rendering & Management; Italic...
Jerome St-Louis [Sat, 23 May 2015 06:49:37 +0000 (02:49 -0400)]
ecere/gfx/drivers/LFB; gui/EditBox: Splitting Font Rendering & Management; Italic Extents Fixes
- FontConfig/Windows font lookup and linking moved to fontManagement.ec
- Text rendering with FreeType and HarfBuzz moved to fontRendering.ec
- Fixed extent of italic fonts
- EditBox: Drawing selection background once for entire line
- Fixed compilation with ECERE_STATIC, no _GLES
- Fixed crashes on null FontEntry, triggered by character 0x80

7 years agoecere/ecere.epj: Excluding things from StaticGLES Config
Jerome St-Louis [Thu, 10 Dec 2015 01:18:11 +0000 (20:18 -0500)]
ecere/ecere.epj: Excluding things from StaticGLES Config
- SSE3 optimizations

7 years agocompiler/libec/grammar: Fixed null pointer crash
Jerome St-Louis [Fri, 24 Jun 2016 22:32:02 +0000 (18:32 -0400)]
compiler/libec/grammar: Fixed null pointer crash

7 years agoecere/com/containers: Sort() method
Jerome St-Louis [Fri, 24 Jun 2016 04:49:58 +0000 (00:49 -0400)]
ecere/com/containers: Sort() method
- Takes a bool ascending parameter
- Default Merge Sort algorithm in Container base class
- Overriding with Quick Sort invocation in Array
- Using sort_r() method from Isaac Turner nicely wrapping qsort_r, qsort_s and a fallback Quick Sort implementation
- Non-integer indexed classes (e.g. (Custom)AVLTree, Map) do not require sorting
- June 23rd, 2016 eC Meetup Ottawa
- LinkList and List Sort() optimizations
- Array Sort optimizations:
   - OnCompare called directly from qsort*() when possible
   - Moved branching outside qsort*() calls
   - Faster & Better fall-back algorithm by Darel Rex Finley
   - Made qsortr() and qsortrx() public
- Container: Pre-allocation optimization in base Container

7 years agoecere/gui/Window: Fix for clickThrough with MouseOver / MouseLeave.
Jerome St-Louis [Wed, 1 Jun 2016 03:54:21 +0000 (23:54 -0400)]
ecere/gui/Window: Fix for clickThrough with MouseOver / MouseLeave.

7 years agoecere/gui/ToolTip: Prevent tooltips from coming up while holding down RepButton
Jerome St-Louis [Thu, 5 May 2016 20:33:26 +0000 (16:33 -0400)]
ecere/gui/ToolTip: Prevent tooltips from coming up while holding down RepButton

7 years agoecere/gui/drivers/X: Fixed handling of SelectionRequest
Jerome St-Louis [Wed, 11 May 2016 04:05:18 +0000 (13:05 +0900)]
ecere/gui/drivers/X: Fixed handling of SelectionRequest
- Multiplication by sizeof(Atom) was unnecessary and causing reading passed allocated memory

7 years agoecere/gui/drivers/X: Fixed key pad 5 with NumLock Off and . with NumLock on
Jerome St-Louis [Wed, 11 May 2016 04:01:02 +0000 (13:01 +0900)]
ecere/gui/drivers/X: Fixed key pad 5 with NumLock Off and . with NumLock on

7 years agoecere/com: Fixed sprintf/snprintf confusion; Support for setting argc/argc later on
Jerome St-Louis [Wed, 1 Jun 2016 04:14:15 +0000 (00:14 -0400)]
ecere/com: Fixed sprintf/snprintf confusion; Support for setting argc/argc later on

7 years agoecere/com/Unicode: Support for CP-1252 in ISO8859_1toUTF8()
Jerome St-Louis [Mon, 9 May 2016 00:31:40 +0000 (20:31 -0400)]
ecere/com/Unicode: Support for CP-1252 in ISO8859_1toUTF8()
- Windows code page 1252 is a superset of ISO-8859-1

7 years agoecere/gfx/3D/meshes: Fixes for Object classes
Jerome St-Louis [Sat, 16 Jan 2016 07:01:05 +0000 (02:01 -0500)]
ecere/gfx/3D/meshes: Fixes for Object classes
- class / class:struct confusion with indirect import through "Display",
  importing "Object" directly

7 years agoecere/sys/JSON: Fixed leak with color strings
Jerome St-Louis [Thu, 21 Apr 2016 08:14:14 +0000 (04:14 -0400)]
ecere/sys/JSON: Fixed leak with color strings

7 years agoecere/gfx/drivers/Win32BitmapPrinter: Fixed warnings
Jerome St-Louis [Fri, 29 Apr 2016 15:53:24 +0000 (11:53 -0400)]
ecere/gfx/drivers/Win32BitmapPrinter: Fixed warnings

7 years agoecere/gfx/3D/Object3DS: Enums for chunks and bit classes for flags
Jerome St-Louis [Fri, 22 Jan 2016 21:14:03 +0000 (16:14 -0500)]
ecere/gfx/3D/Object3DS: Enums for chunks and bit classes for flags

7 years agoecere/gfx/3D/Object: Fixed missing mesh flags checks in Merge()
Jerome St-Louis [Fri, 22 Jan 2016 21:13:19 +0000 (16:13 -0500)]
ecere/gfx/3D/Object: Fixed missing mesh flags checks in Merge()

7 years agoecere/gfx/3D/Object: Replacing public data members by properties
Jerome St-Louis [Fri, 22 Jan 2016 21:09:21 +0000 (16:09 -0500)]
ecere/gfx/3D/Object: Replacing public data members by properties
- There are issues with cross-bitness compiling and private data members access

7 years agoecere/gfx/3D: Camera integration support
Jerome St-Louis [Sat, 19 Dec 2015 21:05:59 +0000 (16:05 -0500)]
ecere/gfx/3D: Camera integration support
- For integrating with Display::DrawMesh() / Display::DrawTranslucency()
- Directly setting viewMatrix and cPosition
- Not recomputing the camera when SetCamera is called with a null surface

7 years agoecere/gui/Window: Disabling native decorations when setting 'alphaBlend' to true
Jerome St-Louis [Fri, 15 Jul 2016 04:54:08 +0000 (00:54 -0400)]
ecere/gui/Window: Disabling native decorations when setting 'alphaBlend' to true