Commit Graph

2387 Commits

Author SHA1 Message Date
janwas c4e3037e60 adts: add LL_OPT_* defines that enable optimizations (some only make sense if there are tons of files, and need to be able to disable them for thesis). realized this would be perfect application of policy template classes, which will replace this.
fix crashdumps: was failing to write out to file (underlying cause:
current directory no longer being set)
app_hooks: add get_log_dir; used by debug and wdbg_sym

minor improvements/documentation in archive+compression+file_cache+zip

main: remove dead ScEd code

This was SVN commit r3498.
2006-02-11 22:49:09 +00:00
prefect ccd43b4b49 Explicitly enable blending during console rendering.
This fixes a bug where the console wouldn't display properly unless a
unit
was selected (or some other obscure condition was true)

This was SVN commit r3496.
2006-02-11 18:53:32 +00:00
prefect 9f055eddb0 Shadow rendering can use depth textures, as a preparation for
self-shadowing and shadows on models in general.
Usage of depth textures can be toggled using
?renderer.useDepthTexture = true/false in the JavaScript console.

This was SVN commit r3495.
2006-02-11 18:04:32 +00:00
livingaftermidnight 58da2342c2 At last! Finally! Particles rendering in the game! The emitter can be found at the origin (0,0,0). I just need textures and billboarding with the camera.
This was SVN commit r3493.
2006-02-11 09:40:04 +00:00
livingaftermidnight adf7c66788 Added particle stuff.
This was SVN commit r3492.
2006-02-11 09:39:15 +00:00
livingaftermidnight 5760315cdf Added particle stuff.
This was SVN commit r3491.
2006-02-11 09:37:35 +00:00
livingaftermidnight 5fdccd06ba Added particle stuff.
This was SVN commit r3490.
2006-02-11 09:37:01 +00:00
livingaftermidnight ef7f6e35bd This was SVN commit r3489. 2006-02-11 09:36:21 +00:00
prefect 66c9c1fbf5 Replace old shadow matrix calculation; the sun really is a parallel light
source now.

This was SVN commit r3488.
2006-02-11 00:26:40 +00:00
janwas 21f8f8555e adts: remove_least_valuable safely handles empty cache
lib: add u32_hi/lo
archive: move archive builder logic here from vf_optimizer
file_cache: add flush() call - used when simulating cache
vfs_optimizer: WIP, not yet functional: file gatherer, 50% of TSP tour
generator

This was SVN commit r3486.
2006-02-09 05:59:33 +00:00
janwas b17b43b525 don't complain if attempting to open non-zip files (happens when scanning mount point directory)
This was SVN commit r3482.
2006-02-07 07:16:02 +00:00
pyrolink ad4fe4ae96 Queue binding
This was SVN commit r3479.
2006-02-05 03:45:23 +00:00
pyrolink 2e92baf497 fix: no longer crashes when attempting to remove node from empty track
This was SVN commit r3478.
2006-02-05 03:43:21 +00:00
pyrolink 20c8dd4e37 Test track queue thing
This was SVN commit r3476.
2006-02-05 02:51:02 +00:00
pyrolink 195affefee Queue hotkey-watch the test cinematic...looks good on my test map, ask if you want me to send the map to you (it actually orbits around some units on that map).
This was SVN commit r3475.
2006-02-05 02:49:33 +00:00
janwas 920795fd85 file_cache: add refcounting to ExtantBufMgr (required for correctness)
This was SVN commit r3473.
2006-02-04 23:32:01 +00:00
olsner 92fb5450bc CVFSInputSource clean-up, added headers to adts.{h,cpp}
This was SVN commit r3472.
2006-02-04 22:44:52 +00:00
janwas 7bf48e95c4 add FILE_LONG_LIVED flag when opening XML file in the process of building XMB (avoids warning)
This was SVN commit r3471.
2006-02-04 22:31:25 +00:00
prefect 67f8087b6f Don't hack around low RAND_MAX values when RAND_MAX is high.
This was SVN commit r3469.
2006-02-04 19:12:09 +00:00
janwas 2f438a6889 cache_allocator bugfix: do not attempt to coalesce allocations that are at start/end of committed region. fixes self-test failure.
This was SVN commit r3466.
2006-02-03 21:44:09 +00:00
janwas debd047638 proper definition of wchar_t (if needed; currently not)
This was SVN commit r3465.
2006-02-03 20:45:36 +00:00
janwas 987a6b7d4e fixed wchar_t issues; now correctly separates utf16, CStrW and jschar.
NOTE: wchar_t should be defined as a built-in type; no more need to
define manually or change project settings.

adts: disambiguate iterator type; add operator- as required by VC8
std::equal() implementation
precompiled: squelch stupid warning (that informs us that array members
are now actually default-initialized as called for by C++)
file_cache: remove debug variable

This was SVN commit r3464.
2006-02-03 20:36:15 +00:00
janwas 1227cb2f6d adts: add RingBuf self-test. RingBuf: make entry#0 the 'head' and pop_front a no-op if empty.
allocators: allow pool_create at NLSO ctor time
lib: add rand() function based on libc rand and self-test. (this allows
easily returning a random number within a range, and avoids a number of
pitfalls - the naive rand()%range approach is baaad)
precompiled: add self_test.h, so that self tests won't be accidentally
disabled by forgetting to include the header

file_cache: add self-test; fixed 2 bugs that exposed (was incorrectly
splitting large blocks and not setting class_size bit properly). fix
weird corner case in BlockMgr (attempting to free LRU block but it is
locked).

file_io, wdbg_sym: tiny fixes

This was SVN commit r3461.
2006-02-03 04:02:53 +00:00
janwas 8ed6965d18 fix crash that happened after editing file while game is running. vfs_tree's tree_root object was being destroyed but not recreated when rebuilding the VFs tree. fixed that as well as correctly freeing all TNode memory upon rebuild.
This was SVN commit r3458.
2006-02-02 05:20:33 +00:00
janwas 7862e79e84 adts: optimize landlord algorithm at advisor's request (only relevant if we have tons of files in cache)
trace: make note of IO size

xmlutils: fix old remnant of Handle vfs_load return type.

This was SVN commit r3456.
2006-02-02 04:11:07 +00:00
prefect 792d1d5f80 gcc implicitly makes inline functions static, so don't make those functions
inline (since they have to be linked, they cannot be inlined anyway)

This was SVN commit r3454.
2006-02-01 01:33:59 +00:00
janwas d11fcc8257 file_cache: bugfix in CacheAllocator
hook up file_stats; implemented stats_dump (gives somewhat detailed
report at exit)

This was SVN commit r3448.
2006-01-31 07:48:32 +00:00
janwas 06412a7751 allocators: bugfix (wasn't setting freelist to 0)
archive: afile_read bugfix (wasn't returning byte count)
byte_order: add to_leXX, implement read_leXX in terms of that, add
write_leXX (and also big-endian versions)
compression: support 0 length buffers + minor fixes
file: no longer support passing fn_len (that didn't work anyway due to
DynHashTbl find(const char*) interface); add FILE_DONT_SET_FN
optimization that prevents cluttering name cache.
file_cache: add logic to verify load/free/load/free sequence; add
FILE_LONG_LIVED flag to specify exceptions (e.g. XMB files that don't
free their buffer immediately)
vfs_mount/vfs_tree: bugfix (was mixing up portable and VFS paths)
vfs_optimizer: small fixes; creating Zip files now works
vfs_tree: add PathName that stores pointer to path and name component
for efficiency + convenience
zip: bugfixes (wasn't endian safe; incorrect handling of cmethod; forgot
to initialize ZipArchive members)

config: add -buildarchive flag
Xeromyces.cpp, FileUnpacker.cpp: add FILE_LONG_LIVED
mapreader: bump time estimate for ReadXML

This was SVN commit r3446.
2006-01-31 03:47:52 +00:00
Matei cff5dfae07 Preliminary version of player selection for Atlas. You can press any key 0-8 while the place object tool is active to place an object for that player, though the preview object will always be shown in white (Gaia) until I can figure out how to cleanly update its colour.
This was SVN commit r3444.
2006-01-29 23:38:19 +00:00
pyrolink 6af039def8 -CinemaTrack-refined
GameView- commented out test track in constructor, and commented out
hotkey interface
NUSpline-added bounds checking and corrections
Hotkey-added cinematic hotkey (doesn't work though (see above) )

This was SVN commit r3442.
2006-01-29 23:25:04 +00:00
prefect 7c6bac667c Apparently, there's a conflict between setjmp.h and libpng in some cases.
So don't always include setjmp.h

This was SVN commit r3440.
2006-01-29 19:46:31 +00:00
janwas 30284fc7c5 minor warning fixes: struct vs. class forward decl; size_t vs uint
This was SVN commit r3438.
2006-01-29 18:38:40 +00:00
olsner fcfa746244 Linux compat changes, fix for (really old) bug in VertexBufferManager shutdown, GUI header reorganization for gcc 4.0
This was SVN commit r3437.
2006-01-29 18:23:47 +00:00
prefect 90bf4ae0a7 - add CBound::Render()
- fix CBound::Transform() math
- beginnings of new shadow bound calculations

This was SVN commit r3436.
2006-01-29 17:34:45 +00:00
Ykkrosh a3f4424e35 Fixed bug in documentation of confusing feature, unless the fix is wrong too
This was SVN commit r3434.
2006-01-29 02:58:19 +00:00
janwas ecbcc59fba bugfix: no longer make freed buffers readonly because we need to write boundary tags into them for coalescing
This was SVN commit r3432.
2006-01-28 23:02:26 +00:00
janwas d0066d32f0 another free()
This was SVN commit r3431.
2006-01-28 22:41:22 +00:00
janwas cda1e4c177 bitten by free() redirector macro again.. fixed
This was SVN commit r3430.
2006-01-28 22:30:28 +00:00
janwas 0fa0bfcb28 ConfigDB.cpp: fix vfs_load return value check
baseentity, entity: remove multiple property adds (source of
scriptablecomplex memory leak)
scriptablecomplex: add code to check for leak regression and prevent
them; add suballocator for properties, since 60k are allocated in a
short while (!) - saves time and memory

This was SVN commit r3429.
2006-01-28 22:21:54 +00:00
janwas e07622b56a Cache: implement meat of landlord algorithm and add remove()
allocators: add freelist capability to Bucket; add provision for
variable XOR fixed size allocs
archive: re-tag file buffers if reading uncompressed from archive;
improve LFH fixup logic
file_cache: add cache line invalidation; lock down pages (readonly) when
IO finished
file_io: cleanup+docs; properly cut off at EOF without breaking
alignment.
file_stats: add seek accounting (WIP)
vfs_optimizer: also record file_buf_free in the trace. initial
implementation of archive builder (WIP)
zip: lfh_fixup now more efficient (does not involve buffer manager -
instead it grabs LFH from temp blocks)
tex: plug FileIOBuf leak. avoid writing to tex.hm because that is a
read-only file_buf.

This was SVN commit r3428.
2006-01-28 22:19:42 +00:00
prefect 3b4295a177 Linux build fixes
This was SVN commit r3427.
2006-01-28 22:04:09 +00:00
janwas afe37d9fe2 fix vc8 errors reported by andrew: (thanks!)
- made file_io_wait buffer non-const (less const_casting around -
buffers are really non-const. besides which, inadvertent use will be
caught via MMU)
- zip: disambiguate abs() param

This was SVN commit r3426.
2006-01-25 07:37:20 +00:00
janwas 1ea2d25373 forgot this one..
This was SVN commit r3425.
2006-01-25 07:23:53 +00:00
janwas 4a508c6b87 all lib/res/file headers included in file_internal.h
split stats into separate file; different call mechanism; add lots of
stats (WIP)

This was SVN commit r3424.
2006-01-25 07:21:45 +00:00
janwas 7838627cd2 - vfs_load now returns error code and takes FileIOBuf; that must be freed via file_buf_free. if Handle is needed, use mem_wrap.
- remove ScEd hacks and CFont et al macro rename
- fix accursed bug in VFS buffer management that was causing ReadFile to
fail without error (not allocating enough padding)
- vfs_tree: bugfix in tree_lookup
- waio: temporarily disable sector size determination (pending better
approach - need to determine if using DVD drive)

This was SVN commit r3421.
2006-01-24 08:16:29 +00:00
janwas 36cbf23c8e v2 of file/res code for thesis:
previous zip.* split up into archive, zip and compression. add O(1)
lookup via memento. add support for writing Zip archive. simplify IO by
having compression module allow queuing input buffers.

file: split up into file, file_Io, file_cache. add atom_fn that enables
string comparison via pointer compare. (stores all filenames/paths in
one place). add statistics gathering.
file_cache: landlord algorithm for caching files as well as LRU block
cache.
file_io: aio code that splits transfers into blocks revamped and made
into class.

vfs: filelist/trace code moved into new vfs_optimizer. add caching logic
to vfs_load.
vfs_optimizer: will generate zip archive (to replace current archive
builder script). not yet done
vfs_tree: major cleanup - now has nice base class rather than union
hackery.

This was SVN commit r3420.
2006-01-23 20:05:09 +00:00
Matei 4dbeb2ed6c Fixed a compile error (on gcc-3.3 at least): the code in adts.h used
Traits.something where Traits is a typename instead of using
tr.something where tr is an instance of Traits.

This was SVN commit r3417.
2006-01-23 10:35:24 +00:00
janwas f8b9114b17 wdbg: fix FOURCC usage (fixes exception locus reporting)
others: fix various minor warnings

This was SVN commit r3415.
2006-01-23 08:02:08 +00:00
janwas f06f0c8240 adts.cpp: remove DynArray, which was an array of pages. (obsoleted by DynArray/Pool allocators)
adts.h: add Cache (landlord algorithm), move DynHashTbl here from
vfs_tree; expand RingBuf and fix its iterator
allocators: minor tweaks+bugfixes; add SingleAllocator C++ wrapper
config, types: avoid stupid ICC warnings
lib: add round_down, u32_from_u16, SAFE_FREE

This was SVN commit r3414.
2006-01-23 07:59:20 +00:00
Matei c4aea4eb62 Health regen fix for ranged attack.
This was SVN commit r3411.
2006-01-23 03:56:48 +00:00