cube history

CHANGE HISTORY LOG (reverse chronological)

[2005_08_11]

- new maps (kurt kesler, JCDPC, makke, mitaman, nieb, fanatic, dcp, spentron, jf), new mapmodels (dcp, tentus), new songs (fanatic, dcp), textures (various), pickups/weapons (dcp)
- jumppad velocity Z cancellation (better jumps)
- fixes where illegal protocol could corrupt client state
- vdelta edit/remip fix
- out of memory error when shooting rockets at HOM fixed
- listen server functionality removed
- SP tweaks: slowest monsters move a liiitle faster, some fire a little faster, rhino has 10% bigger bounding box, all monsters search a little bit longer when stuck
- fixes for sound crashing on linux when no sound device available
- command "minmillis" regulates fps on very fast machines (see docs).
- maxclients setting for dedicated servers / serverbrowser displays FULL if maxclients reached
- stereo sound effects
- auto cfg file saving in config.cfg (defaults.cfg runs if no config.cfg, autoexec.cfg overrides both)
- source mostly 64bit clean, initial testing on amd64 shows everything working
- variable "soundbufferlen" allows people to tweak sound under linux
- in non-arena MP modes, players are automatically respawned when dead for 10 seconds
- "sleep" command can be chained and doesn't give linux compiler errors anymore
- jumping on top of monsters or players heads doesn't get you stuck anymore
- client & server console now properly flushed for piping purposes
- increased sensitivity range
- (millis) expression returns milliseconds since engine start
- screenshots moved to own folder
- removed outdated minlod & fpsrange commands, maps are now always rendered at maximum detail
- gldepthmask fix for linux i810

[2004_05_22] fix

- put in workaround for buggy ATI drivers (glReadPixels() result)
- tweaked kickback strength for various weapons

[2004_05_22]

- "sleep" command for delayed execution/triggers
- LOTS of great new SP and DM maps!
- textures are now pre-cached on map load, meaning smoother start of a level, slightly faster startup time
- name is now is maximum 15 characters, say text max 80
- monsters animate independently
- monsters and players now show "jump" pose when airborne, and lagged players are shown differently too
- water now always renders correctly on top of heighfields
- fixed crash on coopedit add entity
- weapons have a very subtle kickback for a better shooting "feel"
- added a few new trigger types & models (see newent trigger)
- rewrote model/mapmodel handling. each map can now define its own set of mapmodels to use, see default_map_settings.cfg
- players/monsters now show death animation, and correctly drop using physics also after death
- "sensitivityscale" variable for lower sens
- randomness in lighting is now the same every time, even with dynamic light
- monsters don't get stuck in the air anymore when shooting/getting hit etc.
- large set of new SP & DM maps!
- Completely new soundtrack yet again... this time by Fanatic (Marc A. Pullen).
- new textures available! look in packages/dg, and at the end of default_map_settings.cfg
- a large set of new map models courtesy of dcp (see the new entity menus)
- "particlesize" command
- "musicvol" fixed
- new enet that fixes double player bug on high pings

[2003_12_23]

- servers can be password protected (see -p and password)
- multiplayer insta/tactics arena modes (see "mode" or the menu).
- improved mapmodel physics and configurability, so that they can now be used for bridges / room over room and other cool uses. See the new "mapmodel" / "loadmodel" commands, and maps like zippie/aard3/cellar/dragon/matador/kmap2 for examples of the bridge mapmodel.
- fixed farplane clipping bug
- demo recording & playback for multiplayer (experimental feature). See "record", "stop", and "demo" commands.
- "fogcolour" & "scalelights" commands
- textures now automatically resized to max size supported by driver (mainly for voodoo3 under linux)
- server now properly resets its state when no players are connected
- added mp3/ogg playback (for the "music" command)
- added the official cube soundtrack (by pingpong) to the distribution (plays on all DM maps)
- new start map (metl3)
- models now lit subtly according to surrounding light level & colour.
- singleplayer tweak: slower monsters now move a bit faster, all monsters a bit easier on lower skill levels
- new enet that fixes server browser crash on linux
- added "jumppad" entity (look at the map "zippie" for an example).
- fixed bug that caused rockets to hover around indefinitely

[2002_10_28]

- [*nix only] fixed serverbrowser hanging

[2002_10_20]

- fixed server with >8 clients crash bug

[2002_10_16]

- added full source code to the distribution
- clients can get list of servers from master server (see updatefrommaster)
- added hudguns
- servers update the masterserver automatically when run (see -m)
- server browser, servers are now pinged and map/player info displayed
- server allows setting of ip address and description
- player physics are now run at a minimum of 50fps, allowing correct movement & jumping even at very low fps
- added random landscape generator (see "perlin")
- single player game load and save (see "savegame" and "loadgame")
- improved server correct timer uptime from 49 days to 31 years (on unix).
- unlimited undo, unlimited size undo/copy/paste (see "undomegs")
- sounds are now scriptable (see "sound" and "registersound")
- new trigger types (invisible and end of map)
- "trigger" command
- tweaked physics
- new "fog" variable (for visual effect and performance tweaking)
- network throtling on lan fixed (eihrul)

[2002_06_24]

- mode 0 is now normal ffa
- maps now all load a next map in all modi (user definable)
- when monsters wake up in sp depends on what angle you approach them and your distance
- you can control the menus using the mousewheel now
- all the stronger monsters are now afraid to jump of heights > 4 cubes, unless they are badly hurt
- "savemap" now also works without arguments
- new "history" command
- new "select" command (allows creating complex geometry from script)
- tiny scripting language (as extension of the console command language).
- scripted triggers (see "trigger").
- per map and per package configuration scripts (custom textures, music, scripting etc). see map/savemap.
- new "music" command
- entering in edit mode in mode -2 now resets monsters and puts them asleep.
- "entproperty" command allows finetuning of entity parameters
- say/echo/saycommand now take any number of arguments
- fixed multiplayer map reloading issues
- optimised wqd on maps with lots of sky
- added "loyalty" and other fun things to monster AI
- added new monsters
- greatly increased RL speed (not for monsters)
- HOM cases of heightfields next to higher platforms solved
- "lighterror" tuning variable
- model interpolation
- disconnect now automatically reconnects to local server
- command line history (up & down keys)
- hud now shows player in crosshair
- coloured light: you can use 0..255 (white light) or a hexadecimal 0xRRGGBB (coloured).
- cleaned up the hud rendering and put in a higher res font.
- "overbright lighting" (works on all recent 3d cards, see "lightscale"). Reduce your "gamma" setting.
- new additive / exponential light model, for use with overbright.
- savemap now keeps backups of all previous versions of the map (automatic versioning)
- optimised a lot of code: occlusion culler, lighting, md2 rendering, monster AI & physics.
- "maxparticles" variable added.
- added cheap framerate booster, see "skipgeometry"
- shotgun/chaingun/rifle now also apply a "push" on the target

[2002_04_10]

- "skill" level now affects monster behaviour in both SP and DMSP (mainly speed of decision making)
- hitscan monsters now have a "lag" in their aiming (see gameplay).
- sounds: water enter/exit, monster wake up, door rumble
- some colour coding for gridlines in editmode: red for tags and green for heightfields
- SP triggers / opening cubes (see "edittag" & "newent trigger")
- viewkick
- some particles have gravity, and they spread better. some improved gfx.
- new variable "crosshairfx"
- increased undo/copy/paste buffers to 128^2 cubes max
- fixed DMSP bugs

[2002_03_25]

- minimal classic SP functionality
- console improvements:
  - paste to console (ctrl-V), on win32
  - console aliases (see "alias")
  - command line completion (press TAB) for variables/commands/aliases
  - variables show their current value with no args, or range with wrong args
  - keyrepeat on in console
- added server menu that automatically sorts & remembers servers connected to
- map models (see "newent")
- added water rendering & physics (see "waterlevel" and "watersubdiv").
- map voting (usemultiplayer->vote menu)
- fixed bug that could cause a "double kill" on a lagged player
- "hidestats" command
- hardware gamma correction (see "gamma")
- MOUSE4 & MOUSE5 are now available to bind mousewheel actions to
- optimisations to occlusion culler
- enet fixes (eihrul), backwards incompatible
- map copying via server (eihrul), see "sendmap"/"getmap"

[2002_02_01]

- simple DMSP style single player game with monsters! see single player section in gameplay docs for info.
- shotgun from 1000 to 1400 msec reload (like doom2 double barrelled, fist from 500 to 250 msec.
- added crosshairsize & maxroll commands
- damage blends screen red
- fixed endianness problems on ppc (eihrul)
- fixed teleport trigger
- uses completely new network library by eihrul (UDP instead of TCP), much improved pings, server scalability & stability under packet loss etc.
- a standalone *nix version of the server, that doesn't require sound & video dyn link libs.

[2001_12_20] aka "first public release"

- added extensive editing tutorial
- fixed "fullbright"
- collision on any size corners now works again
- increased friction tiny bit
- improved RL physics (more damage close up)
- cg only makes quad sound once per +attack
- fixed velocity bug
- made editmode & gamespeed cheatproof
- instagib/efficiency work, arena sort of works
- item spawns are heard at correct distance
- item pickup is now server side
- ammo and health respawn speed is now depedant on number of players
- fixed movement keys (holding both strafe keys at once could cancel movement altogether in some sequence).
- console history browsing (keypad - and +)
- word wrap in console output
- fixed lighting bug on big corners
- esc now cancels commandline
- fixed bug in recursive use of "bind"

[2001_12_16]

- fixed bug that would generate incorrect mips with coopedit
- added more buffering to server, which makes connections much more stable.
- name/team changes correctly updated and displayed
- teamplay now works, teammates shown in blue (temp)
- newent/delent now work in coop editing
- editing solid/space, and paste/undo now recalculates the light in the direct environment automatically.
- fixed bug in savemap optimizer
- added game modes (see "mode")
- items reset across map load
- selection size is shown in edit mode.
- probably fixed weird "void" bug on some systems
- slowmotion feature ("gamespeed")
- dynamic light radius can be specified
- teleport delay to avoid crash when looped
- changed way entity coordinates are determined.
- bounded light radius to 32
- fixed bug in occlusion code that would incorrectly cull cubes at distant shallow angles.

[2001_12_03]

- streamlined the opengl code, now all surfaces cull correctly, minimised overdraw on corners
- greatly optimized heighfield rendering, generates only a third or so of the vertices it did before.
- improved selection on heightfields
- savemap does a little "optimizing" on invisible textures to correct sloppy editing, which helps the mipmapper.
- bumped from version 2 to 3 mapformat: lighting data not saved anymore, but recalced on map load. This allows maps to keep up with lighting algorithm changes, and shrinks map sizes dramatically (aard1.cgz is now a mere 3k).
- fully dynamic shadows & lights (currently only on rockets).
- adding/deleting light sources now automatically recalcs, manual "recalc" is deprecated.
- made light mipmapping less inacurate, at the cost of some polys in some maps.
- added a "median cut" to the lighting code, which smooths out jaggies on harsh shadows.
- reengineered lighting code... insanely fast, but slightly different results sometimes.
- added acurate frustrum culling to the occlusion culling mechanism (for pitch -45..45 cases, and floor/ceil culling). reduces polys yet again 20 to 30% on average.
- more acurate and stable fps display
- added "slope", "arch" and "archvertex" commands.
- players "bleed" when you hit em, give off correct sound at distance
- fullbright fix0red
- very cool texture replacement command ("replace")
- binding mousekeys for editmode works now, "attack" is same a selection, "jump" now works.
- you can now edit the upper wall of a non-solid cube seperately from lower wall (keypad 7 & 4).
- bumped from version 1 to 2 mapformat. old maps will be automatically converted on save, but be sure to keep backups just incase.

[2001_11_16]

- added high precision dynamic occlusion culling (reduces polys 1.5x to 10x, depending on map & viewpoint).
- entity culling too
- one more case of HOM fix0red (ceilings & floors)
- menu improvements (esc goes back, remembers state)
- "mapmsg" command for setting map title & author
- player talk shows up in different colour
- edit selection grid now "hugs" heightfields
- bigger splash & boost on rockets
- extra pain & death & self-pain sound
- hud icons for health/armour/ammo
- reset pitch upon exit teleport
- proper corner slant collision detection, not enough sliding yet
- some sort of heighfield physics
- skybox 10x further away
- added extensive menu system (press esc..)
- shrunk exe size even more (53k)
- made keymapping external cfg file

[2001_10_21]

- .cube.gz is now .cgz to stop ppl accidentally unpacking maps
- 4 HF cubes are now be mipmapped given their 9 verts lie on 1 plane
- more cases of HF HOM fixed (see e.g. metl01 YA)
- full support for 45 degree "corners" between floor levels
- "map" and "savemap" now default to "base" if no package specified
- no more HOM caused by mipmapping, even at LOD 5 etc
- saycommand inserts / on request (default key backquote)
- "exec" command

[2001_10_17]

- "showmip" command
- overhaul of the scene rendering code to use bigger mips even up close
- minlod command instead of locklod
- player shoots from slightly below eyeheight
- configurable FOV
- much more useful weapon switching: skips current weapon
- improved chaingun gfx
- no more shooting on respawn
- empty input in saycommand produces no output
- smoothed ping display
- no more weird model stance when player is lagged
- teleporters
- ping display
- fixed: wobble at low FPS
- physics: step-up more smooth
- fixed: map load on initial server connect
- models 1 off ground, correct 1/16 scale
- player bounding box 4.1 -> 3.9 cubes height

[2001_10_05]

- fixed: delent

[2001_10_04]

- fixed: corner lighting
- backup on map save
- run dedicated server at hi pri -> MUCH better network perf
- fullbright, for editing
- map enlarge command
- configurable mousebuttons
- config screen res & full screen
- mouse sensitivity bind
- fixed: lighting on/off flickers -> also drawing less quads now!
- fixed: draw wall textures right-side up
- show entities in edit mode + type
- fixed: old entities kept on "newmap"
- skybox (with few sparkies, thanks to depth buffer trick)
- show/make selection while dragging
- when drag-selecting into the void, use player pos for selection
- disable non draw lagged
- make bigger steps in lod if fps difference is big
- playerstart should take current yaw
- variable light brightness (different start from 255)
- server msg parsing
- client & server item pickup
- item effects on the player

[2001_09_30]

- coop network editing!
- corner physics bug
- bal got stuck under ghost?
- interpolation doesnt work
- player height
- players get stuck in eachother
- interpolation of client positions / bound speed of updates
- fps independant velocity?
- jump anim
- removal of non-responding players after n-sec
- messages still cut up server side!!!!
- slowdown of client time (msec!) -> vtdapi.vxd bug
- particle overlapping
- mipmapping off?
- shot/damage doesn't work with player1
- editing client keeps getting gravity
- don't frag editing people
- correct bounding box hits
- frag counts
- lag type display instead of second lag msg
- client gets kicked on wrong protocol
- fade particle faster
- can't frag body
- make dead/lagged people non-solid
- special model stance for edit
- vary minlod when looking down
- server bandwidth status output
- pain sound when shooting others
- allow to start with no sound
- when dead no edit mode
- teamname, soundvol
- play sounds at correct distance
- remove all possible buffer overflows from code
- tweak physics to be smoother / bit less aircontrol
- repeat key for edit mode
- fist/sg/cg/rl weapons graphics/scoring/physics/selection
- improved explosion

[older history deleted]