Sauerbraten Change History
- scripting language: every command/block/exp can now return string values (no more use of variable "s", much cleaner code)
- scripting language: reduced allocations a great deal, should execute faster now
- scripting language: can now write X = Y instead of alias X Y for more readable code
- If sauer crashes on a non-programmer machine on Windows, it will now output a stacktrace (both in a popup and the console window) which can be copy-pasted and sent to the developers (do this before you press "OK" to close the program, from the console windows menu).
- added provisional "sendmap"/"getmap" commands for coopedit mode
- explicit sky polies are now outlined in editmode (toggled by "showsky" var)
- now shows names of entities floating in edit mode (in green, closest = red)
- any non-multiplayer games can now be paused (variable "paused", default key F1)
- fixed rockets exploding mid-air if they were aimed at a moving target
- copy/paste now work in coop-edit
- moved all mapmodels into the menus
- new SP respawning system! read "SP Respawning" in game.html
- console language macros now allow code generation (see config.html)
- added customizable file completion (via "complete" command)
- aliases and vars set in map cfgs are now sandboxed (don't persist)
- world shaders can now work with any number of textures (see "texture" command).
- support for specularity maps and glow maps on md2/md3 models (see md2.txt/md3_sauer_howto.txt)
- new "editbind" works like "bind", only the key is only available in edit mode. cleaned up keymap/default cfg files (no more bindings in keymap)
- added triggerable mapmodels (see editref.html for more info)
- removed the z-offset attribute from mapmodel info and ents and moved mapmodel ent skin attribute to mapmodel info (see editref.html)
- added support for full screen pixel shader effects (see setfullscreenshader, and the "option" menu)
- removed obsolete editheight command
- added powerful new heightmap mode! use getheightmap command [default H key] when there is a selection box to activate (see editref.html for more info)
- added selectbrush modifier [default J key] that switches between brushes defined in data/brush.cfg
- added copybrush [default K key] to use current heightmap as brush. see data/brush.cfg for more info.
- editable brushes for heightmap mode. see data/brush.cfg for more info.
- capture gameplay mode fixes
- ip address lookups now use the concurrent resolver
- added redo command [default I key]
- made importcube remip while importing to save memory
- removed some lighting/physics bottlenecks in SP mode
- removed 256 textures per map limit (is now 64k)
- fixed incorrect mapmodel shadows on Windows
- fixed invincibility bug
2006_04_26_occlusion_edition
- tweaks & fixes to the capture gameplay mode
- added high resolution skyboxes, and some of the g_pack textures to the standard set
- fixed newent sending invalid attributes in coopedit mode
- models with a specularity of 0 now have a specialized shader ("nospecpvmodel") for faster drawing (mainly for vegetation)
- grenadelauncher damage increased to max 75
- multiplayer players & flag models will not be culled no matter how far away they are
- added waterfall effect for water material sides
- added pistol ammo (ent type "cartridges")
- added linearly-interpolated normals for lighting (controlled by "lerpangle", "lerpsubdiv", and "lerpsubdivsize" vars)
- added HW occlusion culling support (requires NV GeForce3-class hardware or better)
- reduced overdraw dramatically
- reduced size of vertex data by using short instead of float
- removed ZYX order inconistency from math classes
- fixed lights placed outside the world not casting shadows
- fixed grenades being stopped by clip material and being stuck in walls
- made networking protocol use less bandwidth
- calclight now uses multi-sampling and adaptive sampling
- faster mapmodel ray intersects with spheretrees instead of bsp
- shorter fuse on grenades (2 seconds)
- fixed hudgun light computation related crash
2006_03_20_shader_edition
- registersound now allows individual sound volume adjustment
- can now render md2s without back face culling (good for vegetation models), custom specularity, custom shader.
- console now supports line-editing
- calclight now forces a map remip automatically, and has 4 quality settings you can pass (see ref)
- added workaround for texgen bug in nvidia drivers
- added goal-oriented team player mode (mode 12, "capture", see game.html, try playing it on face-capture map)
- added initial version of the grenade launcher
- added macros to the scripting language
- everything in the engine is now rendered using shaders
- converted the engine's use of OpenGL from xzy to xyz (don't ask)
- added phong lighting for models
- added shader system, each world surface can now have its own shader, and maps can have their own shaders. Look at the shader and setshader commands.
- reorganized directory structure
- can now specify custom animations and other properties for md2s (see docs/dev/md2.txt)
- clip material no longer stops bullets (only the glass material does)
- added spectator mode (toggled by "spectator" command, or mastermode 2)
- many mastermode bug fixes
- fixed line wrapping to depend on screen resolution
- added map model shadows for md2s (available in maximum quality mode of "calclight", see ref)
- added Cube-like "replace" command that will repeat a texture edit across matching parts of a selection
- maxhealth now persists across disconnects
2006_02_27_physics_edition
- added Fanatic's new soundtrack! 15 2 minute tracks, played at random in sequence (they were meant to "connect"), an endlessly varying song! :)
- experimental gameplay feature: the health boost / megahealth now only gives you +10, except it is permanent to your maxhealth for this game, as opposed to just health.
- experimental forward push on jump. Let me know if this is cool..
- text particles can now be any size, and now show the player's name permanently in 3d as well as any chat
- made T default key for multiplayer chat again, Y is now default for texture edits.
- frags now persist across disconnects
- fixed hellpig bounding sphere
- added menu page scrolling
- "sleep" command now supports multiple timers
- "music" command can now execute commands when a song is done playing
- optimized material rendering by grouping into larger surfaces (toggled by "optmats" var)
- many tiny tweaks to the multiplayer gameplay
- "maxfps" var for limiting fps
- "showmat" var for rendering invisible materials and selecting materials in edit mode
- edited cubes default to fullbright until calclight/patchlight
- added coopedit support back in | no map uploading yet...
- rewrote physics to be closer to the original Cube physics
2006_01_31_mp_edition
- disconnection messages now show why you were disconnected
- multiplayer enemies show firing/pain animations
- weapon pushback (esp for rockets) now works over the network, and for monsters
- reduced ammo you can carry from 5 to 3 boxes each, and increased ammo respawn times by 33%.
- machinegun now has mild inaccuracy at distance
- fixed shotgun (all rays are now individual so you can hit multiple targets optimally, better spread pattern, slightly wider)
- fixed all hitscan weapons not stopping at first target
- fixed RL splash damage, now does more damage in radius and rocket jumps work better
- masterserver functionality restored
- added flare particles to help emphasize hitscan weapons
- interpretation of cubes edges switched from 'edgepan' to 'vector'
- passthrough command. normally cubes of equal size to the grid are given priority when selecting;
passthrough removes this priority while held down. (default key: LCTRL)
- fixed ghost/disconnection problems in multiplayer
- "allfaces" var for texturing all faces at once
- "writeobj" command writes a sauer level out as .obj file for potential use in other apps.
- added "text particles": small bits of text that can float in 3d space. Currently used for damage numbers (red) and other gameplay events (green).
- gameplay changes: pistol damage 40 -> 25
- "mastermode" for having easy, cheater-free multiplayer games with the people you want.
read the section "Cheating & Multiplayer" in game.html to learn how to use it.
- gettex command
- fixed sky HOM when fog was closer than size of world
2005_11_07_agc_edition
-
warning will appear if player cannot see most of selection when trying to edit
-
selecting now ignores the cube the player is currently in
-
"importcube" command for converting old cube maps
-
fixed animation blending
-
fixed being at the surface of water generating many sound events
-
did an endless amount of more refactoring to seperate the game code out more.
Multiple "games" can now coexist in the same exe
-
"lanconnect" command for broadcasting connection requests over a LAN
-
"maxparticledistance" variable culls all particle splashes at distance
-
"maxmodelradiusdistance" variable calls models at distance, relative to their
size. One day we will render models as sprites in the distance, but for now
this is a cheap way to significantly reduce the rendering load on large maps
-
"loddistance" sets the distance at which vertex array blocks of world geometry
use a lower LOD approximation. Significantly reduces amount of small detail
rendered at distance. Useful on larger maps only.
-
"lodsize" must be set to 32 to turn lod on for a map (use only for really large
maps), 0 turns it off. saved with the map.
2005_08_15_quakecon_edition
-
animation blending... makes 3rd person view, other players and monsters
look much better
-
now saves to config.cfg automatically so you can change settings persistently
in game
-
first attempt at factoring out all gameplay code, results may be buggy
[old history]
May 22 2005:
----------------
- 101 small changes to bring all the old cube functionality back up and running,
mostly affecting gameplay & rendering. Singleplayer and Multiplayer mostlty work again.
May 21 2005:
----------------
- lots of updates to lightmaps, and related stuff
- prune micro cubes in editing
- limit texture selection
May 17 2005:
----------------
- raycube changed to support lightmaps better
May 16 2005:
----------------
- inital lightmap code added
May 15 2005:
----------------
- added a cube validator that's called after a map is loaded.
- added a ray casting function in preperation for lighting. Using it to get editing cursor for now.
- added some collision detection / response against entities. they still get stuck...
May 8 2005:
----------------
- collision detection / response is now functionally done.
- cleaned up editing a bit.
May 6 2005:
----------------
- remip functionally done. will want to clean it up a bit though.
Apr 24 2005:
----------------
- more tweaks to remip
Apr 23 2005:
----------------
- remip. still need to integrate it with editing commands.
Apr 22 2005:
----------------
- added reorient command.
- changed collision detection. Now player treated as rectangle. Much simpler and faster.
still need to find proper floorheight
- Collision clipping planes added to cube structure. Are generated at same time as vertexes are.
(currently static arrays, though will probably allocate dynamically in future to save mem)
- also a few other minor changes to subdivision etc, since no need for gentris().
Feb 2 2005:
----------------
- fixed dropped geometries in octarender (#58)
Jan 24 2005:
----------------
- simplifyied the rendering and partial update code
- rearranged the hud map numbers abit, added allocated vertex array counter "va"
Jan 18 2005:
----------------
- fixed crash due to failed to clear va pointer
Jan 9 2005:
----------------
- changed cvec into ivec (integers instead of uchar)
- changed most integer points into ivec
- fixed cursor position depth for small gridsizes
- added error msg to newmap when not in editmode
- started to clean up some stuff
Jan 4 2005:
----------------
- make _DEBUG gcc friendly
Jan 3 2005:
----------------
- fixed memory leak (vertex array not destroyed)
- force all children in selection area to update
Dec 31 2004:
----------------
- fixed GL_ARB_vertex_buffer_object function pointer dereference when extension not present
Dec 19 2004:
----------------
- revision 1.12 of the exe has a new command "fixmap", that can be entered through the console. this will convert older maps that had problems because of recent updates. it acts as a toggle. "fixmap" will not be a part of future exe s, and I haven't bothered putting it in the source code.
Dec 18 2004:
----------------
- fixed partial update bug, now calls addchanged() after octree is changed
- perfoemance improvement for partial updates
- added partial updates
Dec 13 2004:
----------------
- more work on ramp collision and response (very smooth now)
- fixed bug #15
Dec 12 2004:
----------------
- rework vertex array code to better fit model
- GNU g++ compatibility in physics.cpp
- add framework for partial map updates
Dec 11 2004:
----------------
- fixed up ramp collision
Dec 8 2004:
----------------
- added VBO support
- fixed possible memory leak
- removed VAR code
Dec 6 2004:
----------------
- make tools.h more compatible with gcc
- comment out VAR code
- improved hidden face rejection
- added hierarchial vertex arrays
- added view frustrum culling
- updated included glext.h to latest from SGI
Dec 4 2004:
----------------
- fixed edgeinv creating invalid cubes
- fixed grid being changable while dragging
- fixed #2, #3
- added selection support to cube hud counter
- misc cleanup in octaedit
- made tools.h more compatible with gnu c++, based on somebody's (D.plomat?, Thailon?) mingw cube source.
- added subdivision special cases. still need to add slightly stronger condition for 'peeling'
Nov 30 2004:
----------------
- tiny bug fixes, like #8 and selgrid init
- selection support for rotation
- changed edge configuration. simplifies flip and rotate, while everything else should be unaffected.
Nov 28 2004:
----------------
- real gravity (but too much air friction)
Nov 27 2004:
----------------
- starting to refactor some things like subdivision (but need to fix special cases), RCD, loopsel, gentris etc
- made bounding box react more elliptical... though still need to fix physics/collision stuff with z dimension like changing gravity to a velocity.
Sept 8 2004:
----------------
- added stairs support
- added jumping
July 29 2004:
----------------
- fixed player starting inside the ground when newmap
- took out the newworld function
- cubes are now always convex (well except for some very rare special cases)
- added collision detection for ellipsoid players. step response is only partial finished.
May 21 2004:
----------------
- added red 0 reference box
- added selection support to copy and paste
- added selection support to undo
- added selection support to flip
May 19 2004:
----------------
- tweaked cursor depth
- added 3D selection
- added selection support to fill command
- added selection support to edittex
- made undo more conservative
May 15 2004:
----------------
- fixed subdivision happening in cursorupdate, cube stat
- fixed subdivisions 'peeling' and 'cracking' to a decent degree
- changed fill command to no longer fill cube when scrolling down
- added selection functionality to fill command
- added ad-hoc vertex lighting editing
- more rearrangement of faceverts.
- added fixfaces to fix old maps that are displayed differently because of faceverts changes (remove after next release)
- finished empty_world / newmap
- updated menu.cfg, autoexec
May 11 2004:
----------------
- added cube stat to hud
May 09 2004:
----------------
- rearranged faceverts in octarender, which removed the need for some hacks
May 06 2004:
----------------
- added geomip (though not inverse)
- added cubic copy and paste
- added cubic flip and 90 degree rotate
- added undo (doesn't work with selections fully )
- added texture edit
- changed pitch/yaw derived selection to cubic boundary face selection
- cleaned up octaedit
- hacked a fix for a culling error in touchingfaces