console commands can have help strings (somebody, please, add 'em! ;-)
better console completion
"mon_sq_enabled" console command
removed unnecessary indirection in hash table
some optimizations in hash table
hashtable cosmetix
added robin hood hash table implementation
removed "monidx" argument from monster spatial query callback (each monster has UIDs, use UID to get monster object later!)
cosmetix
dyntree cosmetix
rewritten dyntree visitor; seems to fix segfaults (but i don't know why)
replaced some var args to constref args
more monster tree cosmetix
monster tree cosmetix
accelerated explosion sq
use tree to check collisions with shot projectiles
faster `g_weapons.CheckTrap()`
uidmap for monsters, so we don't have to do linear searches
some tree code for monsters
no more tree for items (we don't need it)
removed e_writelog from g_netmaster
replaced e_fixedbuffer with e_msg
no more public `gMonsters`
removed unused function
g_language: Fix some interface strings
converted grid and tree to generics (fuck you, FPC! your generics fuckin' sux fuckin' balls!)
no more global `gItems[]` array; created DynTree for items (not used yet); also, fixed FATAL bug in dyntree node manager
added `.positionChanged()` to (almost) all entities; don't forget to call it after changing entity coords!
Revert "don't flush enet every message"
This reverts commit 42057f398fd17568bb3dbc00b6ffd8c97a99c5e1.
This reverts commit 42057f398fd17568bb3dbc00b6ffd8c97a99c5e1.
`g_basic.g_CollideLevel()` now using accelerated coldet
render code cleanup; collision code cleanup; reverted useless "speedup"
profiler cosmetix
slightly better memory locality
intermediate commit (faster render and coldet; this commit won't build!)
pointer taking is typed now (it is safer this way)
changed mode from DELPHI to OBJFPC (with heavy customization, see "shared/a_modes.inc")
experimental grid with buckets
tree: desperate attempts to win several microseconds...
shit; "--dbg-mainwan" doesn't work; changed to "-dbg-mainwad"
"--dbg-mainwad-restore" and "--dbg-mainwad wad"
cosmetix
removed some "try/finally" (sorry, it is FUCKIN' SLOW!)
cosmetic variable renamings
added small speedup trick to gird (tree already has it)
more tree/grid debug commands
README update
cosmetix
README repo URL fix
don't use tree for drawing by default
cosmetix
"t_dump_node_queries" (temp debug, DO NOT TOUCH)
tree: use integers instead of floats (we don't really need floats, except for segment queries)
cosmetix
cosmetix
tree seems to work now
"-dbg-mainwad" cli arg
more tree code; still not working
g_triggers.pas: fixed "Warning: Function result variable does not seem to initialized"
hidden "Game/DefaultMegawadStart" option to change default playing wads
some cosmetix in common compiler flags
some statistics
tree can render things (buggy)
dynamic aabb tree implementation (ported from D, completely untested)
more SAP code; still not working right
Sweep-And-Prune broad phase implementation; not working yet
added README
don't flush enet every message
better memory locality and access patterns for grid (it is IMPORTANT for old atoms, for example)
adaptive profiler history length (not really)
"r_draw_grid" -> "r_gridrender"
cosmetix
more profiler fixes
more profiling code
new console commands: "r_draw_grid" and "dbg_coldet_grid"
more profiler code; smoothing values, history
more profiler code
profiler
moved compiler options to shared/a_modes.inc; turned on advanced records
flamer projectiles don't push
downloading resources...
compatibility with older FPC
added common file with compiler flags; cosmetic fix in g_monsters.pas
light experiments integrated into main tree; use "--twinkletwinkle" to turn it on
more map grid code
grid now works for any map bounding box; collisions with lifts and blockmons are in grid too
replaced "pvs" for lights with grid
removed "potentially visible panels" code in favor of grid
simplified grid code (removed alot of pasta); rendering on Another Station now seems to work
grid: proxy pool (no more segfaults on reloading map); use binary heap instead of sorting in renderer
grid
optimized light drawing: process only "possible lit panels" instead of all walls
light: use proper scissoring instead of clearing the whole stencil buffer for each light
shitlight experiment
real-time lighting based on shadow volumes and stencil buffer
basically, the same thing that is used in 3d, but simplified
(we only need to draw shadow volumes, and unmarked area is lit)
real-time lighting based on shadow volumes and stencil buffer
basically, the same thing that is used in 3d, but simplified
(we only need to draw shadow volumes, and unmarked area is lit)
cosmetix
build "visible panels set" before rendering the frame
statistics for Another Station starting position:
before: 7538*8
after : 7538+127*8
statistics for Another Station starting position:
before: 7538*8
after : 7538+127*8
"--opengl-dump-exts" cli arg fix
autodetect NPOT texture support
some refactoring (sorry, i need it for not-yet-commited-lighting-patch)
Menu: Add flamethrower key binds
Player: Code formatting only