news 2011

Table of Contents:

1. December, 31st (v0.9.14.2)
added: new tks-setup.exe and Win32 binary snapshots, also see Windows 2000/XP/Vista/Win7 32bit
fixed: tks: -fi (force interpreted) caused JIT prologue mutex to be locked for the entire JIT program, not just the prologue
fixed: tks: not all object-object / string-string codepaths in DoubleArgExpr checked whether right hand side object is valid
fixed: tks: added missing anyarray codepath in StringArray::yacOperatorAssign
fixed: tks: crash when extra file (-ef) could not be opened
fixed: tks: extrafile (-ef) was added to head of filelist when loading a pak file (.tkx). now it's appended.
fixed: tks: create/set thread default context when yacEvalFunction() is called and no default context exists (i.e. when the thread was not created via the Thread API)
fixed: tks: StringArray.sortByValue() case sensitive mode did not work correctly
fixed: tks: float division by 0 result was undefined in some cases. float/0.0f resp. float/0 will/should now always silently return 0.0f (which, from a mathematical point of view, is non-sense but for real world applications it is quite handy)
changed: tks: TKS.evalMethodByName()() is now using yacContextGetDefault() instead of lockGlobalContext()
changed: tks: auto re-enable trace when parsing a new module
changed: tks: (per module) TKS_SCANNER_MAX_TOKENS increased from 48000 to 64000
added: tks: static class delegates (see static_class_delegates.tks example)
changed: tksdl: GL error reporting is now disabled by default. Viewport.setEnableGLError() or the environment variable TKSDL_GLERROR (if set to 1) can be used to enable it. The reason for this is that with the NVidia driver (V285.62) I am using on my desktop, glGetError() takes up to 16 milliseconds at ~60 Hz refreshrate) (even if nothing is actually being rendered) .
added: tksdl: onDropFiles(int x, int y, StringArray fileNames) signal (currently only implemented on Win32)
added: tksdl: Mouse.warpTo()(int x, int y)
changed: tkui: rewrote layout engine (ui::SuperBorderLayout). the old version (from 2005) was really a piece of work, I have to admit ;). Here's a small testcase: test_layout_x.xfm (UI markup), test_layout_x.tks (app.code), test_layout_x.tkx (click-to-run script 'exe')
( that's a testcase derived from my ongoing audio/midi sequencer project, hence the button labels! )
added: tkui: keyboard focus selection mode (toggled with the application/menu key (the one right beside the right windows key))
added: tkui: ui::XMLForm.autoResolveIds()(Object _sci) (auto-maps XFM UI element ids/references to class members)
added: tkopengl: added links to the official man-pages to the API documentation
added: tkopengl: support for GLSL: Added new functions glCreateProgram(), glDeleteProgram(), glCreateShader(), glDeleteShader(), zglShaderSource(), glCompileShader(), zglGetProgrami(), glGetProgramInfoLog(), zglGetShaderi(), glGetShaderInfoLog(), glAttachShader(), glDetachShader(), glLinkProgram(), glValidateProgram(), glUseProgram(), glBindAttribLocation(), glGetAttribLocation(), glBindFragDataLocation(), glBindFragDataLocationIndexed(), glGetFragDataLocation(), glGetFragDataIndex(), glVertexAttrib1f(), glVertexAttrib2f(), glVertexAttrib3f(), glVertexAttrib4f(), glVertexAttrib4Nub(), glVertexAttribPointer(), glEnableVertexAttribArray(), glDisableVertexAttribArray(), glGetUniformLocation(), zglGetActiveUniform(), glUniform1f(), glUniform2f(), glUniform3f(), glUniform4f(), glUniform1i(), glUniform2i(), glUniform3i(), glUniform4i(), glUniformMatrix2fv(), glUniformMatrix3fv(), glUniformMatrix4fv(). Added new constants GL_PROGRAM_OBJECT, GL_SHADER_OBJECT, GL_OBJECT_TYPE, GL_MAX_VERTEX_ATTRIBS, GL_VERTEX_ATTRIB_ARRAY_NORMALIZED, GL_FRAGMENT_SHADER, GL_VERTEX_SHADER, GL_MAX_FRAGMENT_UNIFORM_COMPONENTS, GL_MAX_VERTEX_UNIFORM_COMPONENTS, GL_MAX_VARYING_FLOATS, GL_SHADER_TYPE, GL_DELETE_STATUS, GL_LINK_STATUS, GL_VALIDATE_STATUS, GL_INFO_LOG_LENGTH, GL_ATTACHED_SHADERS, GL_ACTIVE_UNIFORMS, GL_ACTIVE_UNIFORM_MAX_LENGTH, GL_SHADER_SOURCE_LENGTH, GL_ACTIVE_ATTRIBUTES, GL_ACTIVE_ATTRIBUTE_MAX_LENGTH, GL_FRAGMENT_SHADER_DERIVATIVE_HINT, GL_SHADING_LANGUAGE_VERSION, GL_CURRENT_PROGRAM
added: tkopengl: support for OpenGL 3.x texture samplers: Added new functions zglGenSampler(), zglDeleteSampler(), glBindSampler(), glSamplerParameteri() (+ a few non-sampler related missing constants)
updated: , added a couple of simple shader testcases/examples: simple.tks, test_getactiveuniforms.tks, dist2d_glsl.tks, dist2d_glsl.frag, dist2d_glsl.tkx (the last one is a port of the psychedelic software rendering example (original source))
last but not least, as usual, the source code packages have been updated as well! (Linux
2. Older news

auto-generated by "DOG", the TkScript document generator. Mon, 28/Dec/2015 14:27:05