use idpool to allocate new item object
idpool: it is now possible to request the specified id
added TIdPool (idpool.pas)
item list fixes
fixed(?) loading saved games
started `conRegVar()` API (only for booleans for now)
turned on typeinfo (preparing for text-mode maps magic)
temporarily turned off raytracing ortho-accelerator (it is buggy)
removed unused code; optimized horizontal and vertical traces should work (i hope)
optimized horizontal and vertical traces
optimized horizontal grid traces
forcing centering of small maps (BlackDoomer request)
`conwriteln()` and `conwritefln()` API
added "--safe-log" cli arg: log writer will be slower, but should not loose log entries on crash
added `utils.formatstrf()`; added `e_LogWritefln()`; made logging system slightly faster
faster blood particles
slightly better water particles
particle code uglyfying; more gitiks in holmes
fixed another bug in grid raytracer
particles refucktoring
cosmetix
fixed grid updates; another station now working (kinda)
no more raycasting thru the walls if the wall is in the starting cell
fixed passing thru disabled walls
i completely fucked up map grid creation by inserting walls and
doors twice (or even thrice). what a moron i am!
i completely fucked up map grid creation by inserting walls and
doors twice (or even thrice). what a moron i am!
skip disabled panels in map rendering collector
don't skip drawing disabled panels
holmes now can work without lasersight
"--holmes" now turns on debug mode too (and it really works now)
fixed build in non-debug mode
fixed bug in grid update; one more mode for Holmes
fixed bug in grid raytracer: use `const`, Luke!
fixed bug in grid updates for moving objects
and God says: thou should check all corners!
and God says: thou should check all corners!
more debug code in grid and holmes
"dbg_holmes" console command; draw line to monster target
more holmes code
moved debug inspector to g_holmes.pas
alot of debugging code
raycast jumper (bad)
monsters in grid now works
some cosmetic cleanup
debug cosmetix
removed some unused code in `lineAABBIntersects()`
removed more debug code
removed old tracer code
new tracer seems to work
no more tree traces (i hope); still not working right
removed all mentions of dynaabb tree from the sources; WARNING! EVERYTHING IS BROKEN!
grid now has fixed tile size
raycaster code cleanup
more code for tracing and other shit; NOTHING IS WORKING YET
more grid code uglification -- should be a little faster now
uglified grid code even more: each proxy now has "enabled" flag,
and traces without callbacks (most "did collide with anything?"
traces aren't interested in exact collision info) will return
simple true/false flag, so we can avoid expensive callback
invocation.
not working yet, tho: i fucked up flag checking somewhere
uglified grid code even more: each proxy now has "enabled" flag,
and traces without callbacks (most "did collide with anything?"
traces aren't interested in exact collision info) will return
simple true/false flag, so we can avoid expensive callback
invocation.
not working yet, tho: i fucked up flag checking somewhere
no more "correct offsets" in particle engine
previous ray tracer was bugged: it could return position inside wall,
so particles were trying to "compensate" for that (wrongly). and they
were doing it on *each*(!) think step.
as particles are pure eye candy (and i rewrote ray tracer), i removed
that "compensator" altogether.
previous ray tracer was bugged: it could return position inside wall,
so particles were trying to "compensate" for that (wrongly). and they
were doing it on *each*(!) think step.
as particles are pure eye candy (and i rewrote ray tracer), i removed
that "compensator" altogether.
more particle control options
alternate sky scaling
more fixes to grid; dunno, seems to work again
grid code uglification; particles are great again (i hope)
no more tree for map
map ray tracer now using grid instead of tree
faster hash clears
removed some unused code
removed some unused code
restored particles
better wall tracer
better hitscan tracer; no more level trace bitmap (but no more particles too, alas)
new tree-based weapon hitscan tracer (sometimes it is faster than the old one, sometimes it is slower...)
xprofiler: made curtime getters public
g_weapons.g_Weapon_gun: faster traces (i hope)
added simple hash table tester
hashtable: resize bugfix; `forEach()` iterator
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"