===== release 1.0 ===== * save/load animation files * obj|destroyed sysprop * finalize & document operator precedence * portable random system with alternative random algorithms * intro screen * 1-based index for rendering interface (?) * memory leak on rebooting * new/free engine objects * load/save faults protection * new/replication protection (?) * **[done]** double global declarations * script bugs * nul problem in list comparison * **[done]** in x::y() return x::z() does not work, temp variable must be used * **[done]** array result for [x::y()] does not work * **[done]** refcopy/unsafe branch/eval call - eval problem * optimisation * system function selection on parameter count (overloading) * operator table calls * OpenGL integration * 2.1 * 3.0 * **[done]** 1.1 * script commands: * polygon clipping * BOOL over(x, X) (x = X; returns 1 if x <> X) * BOOL reach(cur, goal, spd) * BOOL reachdeg(ori, goalori, spd) * BOOL rclip(&val, min, max) {returns 1 if val was clipped) * rotadd(i, a, max)/(i, a, min, max) i+=a; if imax i = min; * brot (rotate bits) * rotate list, shift list, list permutation * restore object from template. Optional: list of props to restore. * copy -> same option as restore (list of props) * line intersection * polygon clipping * pattern breaker * text functions on atom (capitalisation, test capital etc) * FLOATS * VECTOR * extend sprite/spritelayer with text formating -> RTF manager * sort object (shuffle prop names/props) * indirect global variable/alias access * for/next: last, first keywords (if last, if first) * bug - break, cont does not work in for next * spawn a geeny process: in the same window (overriding current process), in another window * communication between the two * **[done]** force array result for non-multicalls * **[done]** force multicall iteration count (ie a.b([x],[y],z)%count) * **[done]** shutdown, zone, fullname * **[done]** quaternion math * **[done]** swap(x, y) * **[done]** polar/angle (fast) * **[done]** draw text function * **[done]** save ARRAY * **[done]** pause queue * **[done]** reboot sound system * **[done]** Datatype nul & const * **[done]** delete save file * **[done]** save file names * **[done]** resource folders for projects * **[done]** sound system * **[done]** save folders for projects * **[done]** project autoload (.exe filename) * **[done]** INSTANCE properties * **[done]** |zone, |fullname, zones() * **[done]** set window label * **[done]** debug console ===== documentation ===== * namespaces * runtime type recognition * garbage collection * engine objects * database objects * OBJECT Datatype = reuse share * save/load * save/load INSTANCE * save/load ARRAY * save & load branch for engine object cleanup/restoration * strings syntax * fallback branch * optimize scriptset branch lists * linking syntax * INSTANCE single token type * branch parameter access for variable param count branches * delete/remove(..): delete last item syntax * constructor limitations (either that or add protection): * import * no atom -> reference conversion. * no 'new' except for nul objects. * **[done]** change object .props (name, type, class etc) to |props ===== xlamp ===== * scanline rendering * render array of xcolors as scanline (ICOLORS) * blit4 * alpha test (with z-buffer) * texture sampling: linear * downsampling texture * pattern renderer * 90 deg image rotate * scale * N (+ smoothing) * scale / N (+ smoothing) * mirror * perspective correction * renderers: * Image 2x2, 3x3, 4x4 + filter * 3d texture * 2d texture frames * height texture * filters / blenders * palette 1, 2x2 * bump / indirection / index 16:16 / index 8:8:8:8 * dot3 / phong * color switcher * mixer4 / select4 * matrix 2x2 3x3 4x4 * dithering * stipple alpha * fog - volumetric (z distance) * LOD (mipmapping) == select4 / mixer4 ===== error detection / debugging ===== * creepy stack dump * system function to dump current stack into a log * when geeny crashes ===== xyz ===== * faster polygon triangulation * grid transformation ===== scripting ===== * GUI & Widgets * 2D Vector/UI/Raster editor * IDE ===== geeny 2.0 ===== * geeny * Integrated debugger * ODE integration * DFLOAT/DFLOATS/DVECTOR/DVECTORS * MATRIX/DMATRIX/MATRICES/DMATRICES * xoil * chaining databases * chained ged * creepy * Separate execution from program stack to enable parallel execution * Offset and repeat control for multicalls (?) * Smart data parsers for xoil -> hxfgeneric conversion * ICOLOR (takes vector or integer list) * ICOLORS (takes n * 4 integers or n * vectors) * STRING (converts a character string to integers) * xeeny * Switch input between controlled (current) and raw (for game controls setup etc)