Table of Contents
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 i<min i = max; if i>max 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 2×2, 3×3, 4×4 + filter
- 3d texture
- 2d texture frames
- height texture
- filters / blenders
- palette 1, 2×2
- bump / indirection / index 16:16 / index 8:8:8:8
- dot3 / phong
- color switcher
- mixer4 / select4
- matrix 2×2 3×3 4×4
- 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)