1
0
forked from 0ad/0ad
Commit Graph

1211 Commits

Author SHA1 Message Date
b67b023513 Add more verbosity to the shutdown sequence.
Shutdown doesn't look clean on Linux, and this might help highlight
current and future problems. Besides, we don't want shutdown to take
ages, do we? ;)

This was SVN commit r2801.
2005-09-29 02:30:30 +00:00
3ded398729 g++ forbis goto across variable declarations.
This was SVN commit r2796.
2005-09-28 18:46:26 +00:00
db27ff6c9b bugfix when writing screenshot: was calculating rounded up size for VFS incorrectly.
also fix refcnt for tex_wrap temporarily until mem_assign/mem_get_ptr
do.

h_mgr: add disallow-reload support (required for wrapped ogl_tex since
they are not backed by a file)

This was SVN commit r2780.
2005-09-27 15:35:17 +00:00
609be94b8c comments/cosmetics;
fix UNREACHABLE def on unix;
string_s: use HAVE_STRING_S;
wdbg_sym: fix option set code; explain why search path isn't needed
WriteScreenshot: make sure there's enough mem; use Handle to free mem
(more efficient+less error prone)

This was SVN commit r2779.
2005-09-27 15:20:56 +00:00
9f9ab188e1 Add missing ret from ia32_control87 ;)
This was SVN commit r2771.
2005-09-26 23:36:43 +00:00
6c7759700f More explicit %ls instead of %s for wide strings.
This was SVN commit r2770.
2005-09-26 23:36:17 +00:00
3c61029ff1 Some changes to how wchar_t strings are handled to make wchar debug messages
appear on stdout.

This was SVN commit r2769.
2005-09-26 23:20:04 +00:00
ee35659dc7 udbg fixes and a fix for the underscore problem in the assembler symbols
This was SVN commit r2765.
2005-09-26 05:38:40 +00:00
37e9fc0388 - update load times
- config: add proper HAVE_ macro for string_s functions rather than
checking MSC ver directly
- string_s: disable parts of the self-test that trigger errors if not
using the string_s.cpp implementation

This was SVN commit r2760.
2005-09-21 16:42:56 +00:00
d6f31e4157 ogl_tex: documented and cleaned up.
h_mgr: add h_get_refcnt; saw h_alloc was a mess and split it up
mem: remove obsolete 'scope'

This was SVN commit r2759.
2005-09-21 16:11:43 +00:00
8ba42d5a3c ia32.asm: add explicit init function (simplifies other code)
memcpy no longer requires SSE yet is still efficient (clever trick,
hehe)

This was SVN commit r2757.
2005-09-20 04:05:23 +00:00
2a8953452d inlined bits and bit_mask for efficiency (as suggested by philip - thanks!)
add sanity check for struct Tex

This was SVN commit r2755.
2005-09-19 23:40:33 +00:00
13501cf58b hook up emulate_glCompressedTexImage2D to new tex transform code (which takes care of DDS unpack)
to that end, provide support for "wrapping" existing textures so that
tex_* and ogl_tex* calls may be used.

also have renderer use ogl_tex for its created-on-the-fly composite
alpha texture
also named atlas's thread (for fun+profit during debugging)

This was SVN commit r2754.
2005-09-19 22:48:20 +00:00
a3967624af add 64-bit endian-safe read; also bit_mask
work continues on DDS decode. endian-safe; supports dxt1a; now fairly
efficient and cleaned up.

This was SVN commit r2751.
2005-09-18 18:10:23 +00:00
2b69209fcd bits() param clarification
dds: serious cleanup of DDS decoder

This was SVN commit r2741.
2005-09-17 15:47:00 +00:00
6b10e4b010 tex codecs: fix some warnings (remove unnecessary locals)
ia32: fix register clobbering bug (thanks to philip for reporting it)

This was SVN commit r2738.
2005-09-16 19:19:14 +00:00
27539d25e8 improvements to memcpy; cleaned up the whole thing and ia32 is now done (knock on wood)
executive summary: memcpy2 aka. ia32_memcpy is a drop-in replacement
that is much faster than memcpy (7% on small buffers, 300% on 192K
buffers)

This was SVN commit r2729.
2005-09-15 00:51:59 +00:00
c50505f54c read intel doc on multicore, realized it'd break our #cpu detect (which is actually critical because it determines safety of TSC). wrote new CPU detect code which should fix it (wasn't easy, grr); cannot test for lack of Pentium EE hardware ;p
This was SVN commit r2722.
2005-09-14 16:58:10 +00:00
a2622cdef7 hotfix for bug in ia32 (code path where ebx was clobbered due to cpuid; incorrect ptr arithmetic passing cpu_type to ia32_cpuid)
+ manual Release build that fixes it

This was SVN commit r2718.
2005-09-14 04:08:23 +00:00
f8ed148370 cpuid -> ia32_cpuid
considerable continued cleanup in ia32
came across article detailing HT detect on multicore systems. that
requires new code, working on it.
pthread: while reading, came across idea of wrapping thread trampoline
in __except -> more reliable exception handling

This was SVN commit r2716.
2005-09-14 01:34:16 +00:00
fd3437d181 lib: add CPU error code.
ia32: replace get_cur_processor_id with cpuid(0); move cpuid(func, regs)
to asm - it takes care of detecting cpuid.

This was SVN commit r2710.
2005-09-13 21:12:29 +00:00
2ab9584840 snd.cpp: initialize listener orientation and position (my OpenAL drivers complained about the old random values)
premake stuff: call assembler objects *.asm.obj instead of *.obj (so
that ia32.asm doesn't collide with ia32.cpp)
ia32.asm: use .text section for proper linkage

This was SVN commit r2709.
2005-09-13 20:42:01 +00:00
d8da47bd0a quick fix to alleviate breakage until build system accepts .asm files
This was SVN commit r2707.
2005-09-13 04:27:08 +00:00
808a0f7cbe config: additional macro is checked
lib: add bits() function (actually moved it from zip.cpp)
ia32: start moving code out to external asm file (will use NASM in
pre-build step; avoids needing MSC and GCC-specific inline code). move
memcpy test code out to other file

This was SVN commit r2706.
2005-09-13 04:00:41 +00:00
a0a01e7a7d Linux/GCC Compat, added some includes, ported inline assembly stuff to gnu syntax (and misc. cleanup in ia32.cpp)
This was SVN commit r2702.
2005-09-12 23:37:52 +00:00
3fdf41bd54 misused SVN to transfer from laptop. fixed a compile error that was in there
This was SVN commit r2701.
2005-09-12 22:58:55 +00:00
15ca12311b more WIP; initial memcpy code
This was SVN commit r2700.
2005-09-12 22:13:03 +00:00
d64e2ed19f dyn_array: use memcpy2
add tex error codes
move memcpy code to ia32
tex: simplify codec call with separate tex_codec_for* calls
codecs: use error code instead of string; remove redundant params
ia32: heavy WIP - testing memcpy implementations
util: prepare for zero-copy improvement to screenshot code

This was SVN commit r2695.
2005-09-10 14:28:55 +00:00
189786928e minor error path improvements+comments; add WARN_IF_FALSE et al.
This was SVN commit r2693.
2005-09-08 17:14:19 +00:00
3c9ad073bc minor error reporting / wording changes while cruising through.
This was SVN commit r2691.
2005-09-08 01:48:57 +00:00
494d27bdd4 moved SAFE_DELETE to lib.h
dyn_array supports "wrapping" other types of memory (stopgap measure)
texture codecs now load via DynArray (intermediate step to all mem stuff
going through res/mem.cpp)
simplified tex codecs by doing as many checks as possible in
tex_load_mem ("template method"-esque)

This was SVN commit r2690.
2005-09-08 01:47:45 +00:00
1a7d67a97f dyn_array: efficient expandable array that doesn't waste mem or relocate itself. TODO: self test and dox
file: expose block size constant; always round user transfers up
tex: transform() now receives what to change, not what to achieve.
tex*: encoding works with DynArray+VFS backend
GameSetup: free g_BuildingPlacer to avoid mem leak.
fixed some warnings+bugs.

This was SVN commit r2679.
2005-09-06 22:44:48 +00:00
7b144a11ca ogl_tex: has to be aware of multitexturing because if hotloading a texture on TMU1, we have to re-bind it to that. done
waio: fix bug with SetErrorMode usage triggered by reading "The old new
thing" (Raymond Chen's blog)

This was SVN commit r2664.
2005-09-04 20:49:58 +00:00
819aca0f1c work around flaw in some DDS headers (not setting alpha flag). this is critical because renderer/GUI code now uses TEX_ALPHA flag instead of just checking against all known GL formats containing alpha
This was SVN commit r2663.
2005-09-04 20:05:21 +00:00
c6215a1451 guirenderer: fix bug that was breaking the ScEd button in main menu. it was calling glEnable/glActiveTextureUnit before ogl_tex_bind, which is now also doing that.
self_test: added another note
wtime: fix evil bug - was casting FILETIME* to u64*, which has different
alignment guarantees.

This was SVN commit r2662.
2005-09-04 19:48:26 +00:00
2b55945893 doc clarification as requested by Philip (thanks for feedback!)
This was SVN commit r2656.
2005-09-03 14:41:06 +00:00
f4c535a326 lib.cpp: forgot to use TEST (for self-test)
self_test: add dox (also to wiki)
tex_codecs: further work; renamed+reorg for clarity. separating codecs
from IO implementation

This was SVN commit r2654.
2005-09-02 18:38:25 +00:00
50ea8c532c - PathPackage now does CHECK_ERR. adjusted callers appropriately
- mem.h: export mem_assign (needed to wrap a mem buffer)
- use stricmp in some file extension comparisons
- wposix: properly sets last-error code when opendir fails
- also: misc comments

This was SVN commit r2650.
2005-09-02 03:03:06 +00:00
21709a5a7a (as before, belonged in the previous batches)
This was SVN commit r2649.
2005-09-02 02:58:40 +00:00
71f7fccd12 split texture loader into codecs (greatly eases navigation)
tex.cpp now has loader API and codec support routines.
provide for codecs "transforming" the image; this allows e.g.
decompressing DDS, which is currently done in ogl code (but belongs
here)

This was SVN commit r2648.
2005-09-02 02:56:54 +00:00
9ec828f6fd - both tex.cpp and ogl_tex.cpp had functions named tex_* - confusing. renamed to ogl_tex* to disambiguate.
- ogl_tex_bind now supports multitexturing (avoids need to get id and
then bind manually)
- provide nicer API for querying texture properties (no longer one big
getter). improved GUI determination of texture alpha.
- renderer: another see-if-texture-has-alpha and fixed alpha map code
(wasn't checking if all are same size. only worked because the first map
was larger than the rest

This was SVN commit r2647.
2005-09-02 02:54:02 +00:00
ed5041a301 some infrastructure for self-tests: gets rid of boilerplate code.
squelch debug asserts during self-tests to avoid warning about intended
errors (passing invalid data into functions to test their error
reporting)

This was SVN commit r2646.
2005-09-02 02:47:25 +00:00
dc027002c0 host of changes to accommodate Atlas:
- input.cpp allows feeding in events from the outside (will be used by
main.cpp and Atlas msg loop)
- most of main.cpp split into ps/GameSetup.*
- main.cpp is now a "controller" that drives the game via SDL events
(Atlas is another such controller that can override main.cpp). it calls
GameSetup functions to set up and processes messages.
- add functions to import AtlasUI.dll automatically

also, the usual refactoring ;)

This was SVN commit r2622.
2005-08-14 23:34:37 +00:00
b5575256e9 wposix: add warning for RTLD_GLOBAL, which isn't supported.
main: add logic for run-time load of Atlas (ATLAS_* section). also moved
GUI code into a GUI_* section, removed console "Testing function
registration", moved input init into a separate function and cleaned up
a bit

This was SVN commit r2619.
2005-08-14 15:23:59 +00:00
5f1983b9a4 Avoid "unreachable code" warnings
This was SVN commit r2618.
2005-08-14 02:07:12 +00:00
9e40ebc93d RealDir.watch wasn't initialized, leading to complaints at exit. fixed
This was SVN commit r2614.
2005-08-13 23:37:31 +00:00
a0e7d02cdd Fixed and rebuilt ScEd. Updated tex to handle greyscale PNGs.
This was SVN commit r2610.
2005-08-13 17:14:57 +00:00
0e20c08969 waio: fix spurious WARN_ERR
vfs: integrate hotload code
fixed a few warnings as well.

This was SVN commit r2609.
2005-08-13 17:09:57 +00:00
fac9a8aa87 reading a gamedev thread triggered the realization that WDIR no longer needs to store full path in dirent. therefore, streamlined opendir/readdir/closedir; I guess they are a good bit more efficient now.
This was SVN commit r2606.
2005-08-12 22:19:31 +00:00
4aa740bff5 - split up lib/res into file, graphics and sound.
- wposix.cpp: initial support for MEM_RESERVE and MEM_COMMIT semantics
in mmap
- cstr: removed no longer necessary serialization header
- xmlutils: wrap new() calls in nommgr/mmgr; allows tracking other
allocs in this file.
- add u64_from_u32
- various minor comments/improvements.

This was SVN commit r2604.
2005-08-12 17:06:53 +00:00
8475c16c31 fix bugs in ilog2 (yoink) and add self-test+asserts.
This was SVN commit r2600.
2005-08-11 02:02:10 +00:00
aba23e4fdb config: got my grubby hands on a list of OS defines, so those have been assimilated. also add STL_ defines for GCC and ICC.
vfs.h: wording in dox
win.cpp: add note on suspending threads in display_error_impl

This was SVN commit r2598.
2005-08-10 20:53:52 +00:00
cd4273cd16 Oops, I broke it. Fixed by reinserting memory leak.
This was SVN commit r2596.
2005-08-10 01:27:33 +00:00
622ceeda94 - color -> colour
- add note on performance in TextureManager.cpp

debug_stl: more fine-grained #if STL_DINKUMWARE (gets this closer to
working on other STL implementations)
vfs.h: improved dox and moved vfs_path public functions here.
cursor: pass g_mouse_x as a parameter (SwEng)

This was SVN commit r2595.
2005-08-10 01:12:03 +00:00
ff97a903b8 wpthread: improved code and avoid memory alloc during thread creation
wsdl and tex: use british english terms

This was SVN commit r2594.
2005-08-10 00:33:15 +00:00
4b33f49da1 - sysdep cursor functions renamed sys_cursor_*
- res/cursor.cpp cleaned up, uses sys_cursor_*; also fixed some bugs.

This was SVN commit r2593.
2005-08-10 00:27:56 +00:00
b63bc42245 TextureManager: stopped memory leaks
wsdl: create window at expected size, and retrieve correct mouse coords
CStr: not ISerializable (=> not virtual)
Game: less excessive complaining, since the original problem seems to be
fixed
Entity: fixed evaluation order
Others: minor comments/etc

This was SVN commit r2591.
2005-08-09 21:26:40 +00:00
78c751aff6 ogl: add oglSquelchError call. use that if you know a piece of code will trigger an error and want to suppress it (e.g. INVALID_ENUM after using GL_CLAMP_TO_EDGE although we've already warned the user that not everything may work)
file: now provides a much more efficient alternative to file_enum that
does not sort all files (this was a problem for check_if_oal_dll which
was scanning the entire system32 dir)

- use the same DirEnt struct for file and VFS due to clever name pointer
trick.
- wposix: avoid malloc for most opendir() and fix mmap() bugs (thanks to
Philip for noticing+reporting them)
- VFS: was getting too large to manage, now split into an additional
file
- WIP: much more efficient mounting; supports other mount sources than
file or zip (e.g. if we want to add network files); clean separation
between VFS submodules; dox; beginning of thread locking.

This was SVN commit r2589.
2005-08-09 16:32:23 +00:00
5299dcad86 - config: all macros are defined as 1 / 0. testing with #if allows compiler warnings (testing undefined macro) to spot misspelled macros
- debug: add provision for naming threads. allows adding current thread
name to log messages and displays their names in the debugger.
- replaced various if(err < 0) complain() sequences with new variants of
CHECK_ERR (see lib.h)
- fixes to mmgr/VC debug alloc enable code
- improved h_mgr error reporting (now complains when h_free fails)
- US -> UK english (partial)
- fix tex_load double-free bug
- move win32 mouse cursor code into sysdep
- error dialog is now topmost to make sure it's visible (was a problem)
- handle WM_QUIT before displaying error dialog (makes sure it's shown)

also as in previous 3 revisions.

This was SVN commit r2588.
2005-08-09 16:23:19 +00:00
a69ac0dee9 - fix w4 warnings
- add convenience macros for config_db(CFG_GET_SYS_VAL)
- VFSUtil::EnumDirEnts now uses flags instead of bool recursive
- UNUSED() for params, UNUSED2 (<- need better name) for variables
- config.h defines must be tested with #if (always defined) -> allows
detecting misspellings thanks to compiler warnings
- replace debug_assert(0) with debug_warn (its sole purpose)
- replace ScriptingHost::ValueToInt et al with ToPrimitive
- use nommgr.h to disable both mmgr and VC debug heap

This was SVN commit r2585.
2005-08-09 15:55:44 +00:00
630b375f4d ScEd updated for new terrain stuff, window styles for pyrogenesis in windowed mode changed to give a bordered movable window.
This was SVN commit r2583.
2005-08-08 03:59:50 +00:00
b3a9ed2886 New terrain properties stuff, gcc compatability and updated unix debugging stuff
This was SVN commit r2581.
2005-08-07 21:58:36 +00:00
c3d42c1025 Fixed mmap bug, and GUI memory leak.
This was SVN commit r2560.
2005-07-28 17:39:27 +00:00
825bd40b68 wdbg_sym: revert to __declspec(naked) because compiler-generated prolog code otherwise trashes the regs
win: formatting
wposix: add mprotect and beef up mmap (WIP).

This was SVN commit r2512.
2005-07-22 03:54:09 +00:00
67777bd159 cursor: remove old Win32 implementation
main: add new variable for clarity

scriptglue: massive refactor. added docs, rearranged into groups,
eliminate forward decls, consistent param checking, some progress on
consistent naming and formatting.

This was SVN commit r2492.
2005-07-20 00:57:17 +00:00
1d69845cee snd: better snd_disable dox
ia32: fix comments and fix EBP warning
wdbg: fix bug if exception locus is unavailable
wdetect: store full DS driver path (-> version reported correctly)

This was SVN commit r2491.
2005-07-20 00:54:39 +00:00
7a889deca3 cursor: tried all sorts of implementations to fix bug#66, but after 2 days of debugging, the problem was found to be elsewhere (issue with delay-loading). fixed by keeping a reference to user32 at startup.
main: replace old memory_debug_turbo_extreme_plus with debug_heap_enable

This was SVN commit r2488.
2005-07-16 17:52:05 +00:00
2f5b116842 mmgr: remove random fill option (makes no sense, since we want to fill with unused and freed memory pattern only)
snd: better explain __try hack; avoid any updates if not initialized
ia32: no longer user declspec(naked) (unsafe)
wdbg_sym: also declspec(naked) and refactor display of libstdc++ objects
wdll: remove redundant #undef
wsdl: add comment

This was SVN commit r2487.
2005-07-16 17:49:38 +00:00
5754128dec lib.h: have CHECK|RETURN_ERR etc. store+compare as i64 (safer). document details.
h_mgr.h: debug_warn if H_DEREF fails

have vfs / res functions only CHECK_ERR (i.e. complain) once per call
sequence. made sure vfs_load and vfs_open debug_warn and everything else
just passes on the error.

This was SVN commit r2482.
2005-07-14 00:19:56 +00:00
57f396a5b8 little stuff (adopt debug_get_nth_caller change, document catch(...))
snd: make __try() more obvious and fix old bug that causes a NULL read
when many sources are playing
add alloca implementation (takes care of stack overflow handling)

This was SVN commit r2475.
2005-07-09 20:20:57 +00:00
37e7732b40 debug: add alloca fallback in case heap alloc fails (no more "not enough mem to display stack trace")
bring debug_get_nth_caller in line with debug_dump_stack; clarify
parameter dox.
use debug_get_nth_caller instead of debug_dump_stack to get exception
locus (much less evil)
fix out() clamping if buffer is full - no more chicken scratching at end
of buffer

This was SVN commit r2474.
2005-07-09 20:17:58 +00:00
9bf5316b72 wdbg, wposix, wsdl: fix some VC2005 warnings
wdbg_sym: prevent nested trees/arrays from hogging too much buffer space

This was SVN commit r2471.
2005-07-04 17:09:28 +00:00
3d23b2d9f5 debug.h: more dox
snd.cpp - remove stack size note
vfs_tree - fix uninitialized variable problem
string_s - match official rename of strlen_s to strnlen
ia32 - fix infinite recursion, the apparent cause of bug#64

This was SVN commit r2470.
2005-07-04 17:03:08 +00:00
36a40479c8 mixed C/asm function CAS_ now no longer __declspec(naked) - less efficient but avoids VC problems with its parameters
This was SVN commit r2468.
2005-07-04 02:43:54 +00:00
af4b399cde share set and map impl
add further test cases and fixed the ensuing problems.

This was SVN commit r2466.
2005-07-04 01:00:22 +00:00
3eb916ee1a share set and map impl
add further test cases and fixed the ensuing problems.

This was SVN commit r2465.
2005-07-04 00:50:53 +00:00
cc6abc389a - debug_stl: revert to char* for all program symbols (helpful due to preprocessor limitation)
- add stdext and new STL containers to stl_simplify_name
- fix internal error when container is uninitialized (now check cntr
fields directly instead of calling e.g. size(), which can crash)
- all container wrappers now have a consistent interface, no more
specialization needed in iterator
- fix potential loophole with container adapters
- refactor dump_sequence

This was SVN commit r2464.
2005-07-03 22:36:24 +00:00
2546abbaf1 bugfixes: floats, STL containers; add self-test (exposed many many problems) and more comments
main: removed obvious MICROLOG

This was SVN commit r2462.
2005-07-03 20:48:47 +00:00
ad98213c39 config - fix problem with stl version detect, cleanup
debug - documented
debug_stl - WIP; large changes because specialized containers were
breaking in some cases. now have to do it "right" ;p
add SLIST container and MULTISET

This was SVN commit r2461.
2005-07-03 20:47:24 +00:00
580d0c7892 Everything-except-for-VS2005 fix: disable warning disabling to avoid warnings
This was SVN commit r2456.
2005-07-03 00:50:49 +00:00
2ea40a23a3 VS2005 compatibility fixes and warning adjustments:
Updated DLLs.
Added DirectX headers/libraries, since they're not in the platform SDK.
Fixed invalid STL iterator usage.
Disabled STL in stack trace, since it breaks.
Added comments for some reported warnings.
Corrected some apparent off-by-one errors.
Defined strlen_s to strnlen.
Probably broke pre-beta2 versions of VC2005.

This was SVN commit r2454.
2005-07-02 21:42:55 +00:00
f3b5e08030 CStr: VC2005 fix - mustn't dereference end()
snd: Only open device once

This was SVN commit r2452.
2005-07-01 22:53:03 +00:00
54bd7367e8 VC2005 const fixes
This was SVN commit r2451.
2005-07-01 02:11:45 +00:00
a1e149ab11 more of the asserts.. also:
- increase stack trace buffer size (needed for some complicated nested
expressions)
- fix bug in container output - no longer treat iterator (i.e.
x::iterator) as an x string (now uses match_wildcard instead of simple
string compare)
- add unicode match_wildcard
- bugfix for vectored exception handler - was always ignoring exceptions
from main thread (fixed the previous fix where it was always grabbing
all exceptions ;p)
- better array display (display less of huge arrays)
- fix nesting limit (which was too low); make sure infinite
nesting/indirection can't happen

This was SVN commit r2448.
2005-06-28 04:12:50 +00:00
ec6b78b252 rename assert2 debug_assert; use instead of all plain assert(), since there are no longer any issues (e.g. can't use while handling an exception)
This was SVN commit r2447.
2005-06-28 04:06:25 +00:00
22a9ccb00a fix UDT/array separators and empty UDT handling; now also dump base classes; cleanup; prevent nested stack trace
win: fixed-pitch font for error dlg

This was SVN commit r2444.
2005-06-27 00:28:50 +00:00
1367825d47 config: detect STL version
debug_stl: commented, improved validation functions and #ifdef-ed
STL-version-specific code
wdbg: prevent vectored exception handler from preempting __try (by

This was SVN commit r2443.
2005-06-27 00:25:10 +00:00
9007d77030 ScEd/lib compatibility - USE_WINMAIN (since it uses WinMain instead of main) and NO_MAIN_REDIRECT (so it can use MFC's WinMain)
This was SVN commit r2442.
2005-06-26 17:12:48 +00:00
c4bf180bfc add support for displaying values in stl containers; also moved stl_simplify_name here.
win.cpp: fix WinXP dependency

This was SVN commit r2438.
2005-06-25 07:54:15 +00:00
8669593b33 - gracefully handle buffer overflow without an annoying warning (allows finding out cause)
- revised dump_sequence to support arbitrary containers and added
dump_array wrapper for simplicity
- check UDT member offset against total size for safety
- disambiguate type and data ids
- prevent duplicated and cyclic display of pointers

This was SVN commit r2437.
2005-06-25 07:47:33 +00:00
85a8d217de config: add endian detect
byte_order: use config.h defines (avoids pulling in sdl.h everywhere)
precompiled: now include *all* C++ headers

This was SVN commit r2436.
2005-06-25 07:43:13 +00:00
5c4d41fd0f Initial parts of Atlas integration
This was SVN commit r2435.
2005-06-25 02:21:26 +00:00
6562096d62 - improve stack trace stop condition (don't stop at kernel32 callbacks; don't report spurious errors)
- rename *idx* as *id*
- add special-case for std::vector and ignore all other std::* UDTs
- clean up UDT handling

This was SVN commit r2431.
2005-06-22 23:41:43 +00:00
634b09dec7 debug, wdbg: fix skip accounting for debug_dump_stack if context was passed
win: fix typo causing pre_main functions not to be called

This was SVN commit r2430.
2005-06-22 23:38:04 +00:00
8f9a3fc38f - config.h: massive improvements, much clearer.
- tentatively activate PCH if gcc > 3.4. remove XP_ defines (which were
undocumented; now in scripting/spidermonkey.h)
- rename some config defines
- move sysdep/debug.h to lib/debug.h (it's portable; was wrong all
along)
- grouped all debug heap related stuff to debug.h:debug_heap_*
- sysdep: fix circular include issue with debug.h

This was SVN commit r2427.
2005-06-22 03:23:22 +00:00
92e50f2992 wdbg: increase stack trace size, fix nasty typo and remove testing assert
wdbg_sym: add new tests; WIP: dumping std::vectors

This was SVN commit r2423.
2005-06-21 18:16:28 +00:00
6d648d5293 fix conflict; assert now uses display_error
This was SVN commit r2421.
2005-06-21 16:48:09 +00:00
28e50ab752 - sysdep: moved posix versions of display_msg etc. to new unix.cpp
- add new portable display_error (and convenience macro DISPLAY_ERROR,
if advanced params aren't needed; don't want to break C compat). this is
the old assert dialog and more; allows ErrorReaction (see sysdep.h) to
be carried out according to users wishes.
- add win_is_locked for deadlock avoidance

This was SVN commit r2420.
2005-06-21 16:44:12 +00:00
0a0699c212 - split into symbol engine and everything else
- thread-safe init and stack trace output (more robust)
- better symbol display (no longer suppress all STL; UDT line splitting
- add debug_wprintf and debug_disable_leak_reporting
- exception handler now called from __try and vectored chain (if
supported by OS); will even work while being debugged and isn't stomped
on by some other UnhandledExceptionFilter users

This was SVN commit r2419.
2005-06-21 16:39:40 +00:00
65f9816a21 - callback mechanism uses defines instead of easy-to-get-wrong hardcoded strings (e.g. .LIB$WTB)
- main init hook no longer calls main() - that was causing stack
weirdness and is forbidden. provide support for the app calling init
directly (in case someone else is already hooking main)

- wdetect: add support for old drivers that set OpenGLDrivers
incorrectly (my laptop, so I can test ;p)

This was SVN commit r2418.
2005-06-21 16:31:55 +00:00
9c4148aa0c replace display_msg with full-blown error dialog
(makes possible philip's suggestion of continuing even if exts are
missing)

printf: add extern "C"

This was SVN commit r2417.
2005-06-21 16:27:26 +00:00
7577d224a6 Terrain XML loading, plus mouse/JS portability and some misc stuff to mix it up
This was SVN commit r2412.
2005-06-20 15:14:36 +00:00
471fd5d6f3 Unbroke more; plus some minor changes.
This was SVN commit r2398.
2005-06-17 01:28:35 +00:00
2f0c785ba7 reorganize code; add paranoid checking for core support of extensions in case the driver forgot to advertise some; remove deadwood (oglPrintErrors - oglCheck does the same); prefix the feature/limit variables with ogl_; add oglHaveExtensions call
This was SVN commit r2396.
2005-06-16 22:21:12 +00:00
87d055efd9 add error codes; reorder some code for better grouping; locking is now hopefully correct; symbol delimiting improved; now able to decode "which register is it stored in"; refactor dump_sym (no longer determine size; it's now only a manager); more robust stack frame treatment; dialog now usable for exceptions as well; figure out correct exception locus (SEH location is bogus).
This was SVN commit r2395.
2005-06-16 22:00:58 +00:00
d9d8d3ea2b wdetect: refactor DLL version code (now used for gfx and sound drivers). now hopefully correctly handles multiple opengl drivers (e.g. due to remnants from old drivers).
This was SVN commit r2394.
2005-06-16 21:55:02 +00:00
40bfeb37c1 ogl_tex: max_tex_size -> ogl_max_tex_size
assert_dlg, udbg, debug.h: dialog with stack trace is now used in dev
mode for exceptions as well

This was SVN commit r2393.
2005-06-16 21:52:35 +00:00
ae0f4fa731 timer.h: require trailing ; after TIMER
wtime.cpp: fix comment
main: reorder includes, remove deadwood, rename a few functions for
consistency, moved config code together into one section, slight change
to system info text file (for new ogl driver detect code), remove
_control87 (see comment)

This was SVN commit r2392.
2005-06-16 21:50:20 +00:00
40b26227d7 singleton.h: use assert2 (avoid trouble in wdbg code)
lib.h: reorder error codes (more clear) and add a few

detect.cpp, gfx.h: move gfx_mem (amount of video memory) here from ogl

This was SVN commit r2391.
2005-06-16 21:46:33 +00:00
d24fd1b0c9 Use gl*ARB wherever possible. They are mapped onto the core gl* function if the driver's version is high enough, else onto the extension's gl*ARB function.
(Just for fun, compressed texture uploads are mapped onto a
decompression function if the user's system doesn't understand S3TC
textures.)
Corrected (unless I'm wrong) GL version identification logic.

This was SVN commit r2384.
2005-06-14 03:33:16 +00:00
dbecf93e82 WIP; fix some internal errors when in release mode: no more div-by-zero, reduced access violations.
revised get-crash-location code (very much trial+error, as StackWalk64
doesn't report errors) - it now looks to be bulletproof.
TODO: symbol addresses in release mode appear to be incorrect => value
display is completely worthless.

This was SVN commit r2376.
2005-06-05 05:10:45 +00:00
121780b733 win_internal: add DataKind (fix for dbghelp.h which left it out)
wdbg: work around several dbghelp flaws (most importantly concerning
address of symbol, which was leading to completely wrong display).
refactored sym_dump_*. also further cleanup + dox.

This was SVN commit r2373.
2005-06-04 18:17:56 +00:00
211c8e66d8 win_internal: add DataKind (fix for dbghelp.h which left it out)
wdbg: work around several dbghelp flaws (most importantly concerning
address of symbol, which was leading to completely wrong display).
refactored sym_dump_*. also further cleanup + dox.

This was SVN commit r2372.
2005-06-04 18:17:29 +00:00
b657a1cbca Added CStr and some other things to precompiled.h, to reduce build times.
Altered CStr/UniDoubler's macros, to avoid polluting/conflicting/etc.
Fixed headers in non-PCH builds.
Used the _d version of vorbisfile*.lib in Debug builds.

This was SVN commit r2366.
2005-06-01 20:12:45 +00:00
7c099ce3cf further improvements to stack trace for invalid string pointers, floats, arrays and std::string.
asserts now correctly retrieve thread context in release mode (worked
around VC problem with __asm in macros)
added sample code to enable SE_DEBUG_NAME (pending)

This was SVN commit r2361.
2005-05-31 19:00:49 +00:00
bdf84e769c WIP. significant improvements+cleanup. work continues on stack trace - still fails under some conditions in release builds.
This was SVN commit r2358.
2005-05-30 06:11:10 +00:00
e2552b8341 debug.cpp: bugfix in cat_atow
lib: add EXTERN_C
win: move get_module_filename here, add to sysdep
wdll: use EXTERN_C

This was SVN commit r2356.
2005-05-30 04:51:47 +00:00
f0cbe8e440 fix several shortcomings noted in the stack trace code. now handles pointers much better; all-round better parsing+formatting and more robust.
also moved some utility functions to lib.cpp

This was SVN commit r2352.
2005-05-27 04:40:29 +00:00
7179bd893e debug: fix crashlog output (now platform-independent newlines; BOM written correctly)
wdbg: major improvements to exception handler. now catches and displays
C++ exceptions (no small feat). also fixed a few bugs in stack trace;
minor improvements elsewhere.

This was SVN commit r2346.
2005-05-24 07:11:17 +00:00
641806cc22 zip, lockfree: minor comments
debug.*: move crashlog write code here
wdbg: improvements to breakpoint code. major cleanup in exception
handler; de-hackified. mostly done, not yet stress-tested when not
running in debugger

This was SVN commit r2333.
2005-05-22 22:32:58 +00:00
d0f7cb015c - Linux/GCC (as usual :P)
- Ported lockless code to gcc inline assembly
- A few new net messages (gather, attack, add waypoint)
- Support for new messages in network->entity order converter
- Implemented rudimentary JS interface for Interaction
- issueCommand JS API, connected to the network
- Removed Interaction stuff now replaced by JS
- And something in there should probably break VS builds :P

This was SVN commit r2316.
2005-05-18 05:32:09 +00:00
e4d1454fd8 slight revisions to comments.
breakpoint code looks to work, but self-test isn't yet complete.

This was SVN commit r2290.
2005-05-12 02:58:40 +00:00
add0a0aa94 give symbolic names to assert return val
wdbg: breakpoint code now compiles, untested

This was SVN commit r2288.
2005-05-11 22:49:01 +00:00
f911bdc4b1 move debug_microlog to debug.cpp, call it debug_wprintf_mem. move MICROLOG define to pyrogenesis.h.
major cleanup+documenting in debug.h; added breakpoint interface.
sysdep: moved debug_out definition to udbg.cpp

This was SVN commit r2287.
2005-05-11 22:44:20 +00:00
758251edfd further debug_out -> debug_printf; (comment) cleanup
ogl_tex: minor formatting improvements

This was SVN commit r2286.
2005-05-11 22:40:19 +00:00
fd4eb91e93 debug_out -> debug_printf; MICROLOG moved to ps/Pyrogenesis.h
This was SVN commit r2285.
2005-05-11 18:56:30 +00:00
5821ebb629 Tidied up a bit more
This was SVN commit r2283.
2005-05-11 05:26:24 +00:00
6034821b4a Slightly more readable enum naming in mipmap code
This was SVN commit r2282.
2005-05-11 04:56:05 +00:00
0e4624397a breakpoint WIP
This was SVN commit r2280.
2005-05-11 04:37:05 +00:00
b8532df921 wcpu: improve comments and fix CONTEXT bug in profiler
win_internal(+wtime): better names for critical sections (now name of
file)

This was SVN commit r2279.
2005-05-11 04:35:21 +00:00
1436e919c1 Support reading DDS files with mipmaps
This was SVN commit r2273.
2005-05-10 18:29:18 +00:00
34352b77af EntityManager.cpp: safety improvements
mmgr: consistent prefix naming
lockfree: split out lock free allocator

This was SVN commit r2260.
2005-05-09 04:41:35 +00:00
d1a66c93b0 fix bug: was calling HeapSetInformation directly, not through function pointer
This was SVN commit r2250.
2005-05-06 20:14:40 +00:00
216eb8d2fe fix rare corner case where filter would be reset to GL_LINEAR. thanks, Philip!
This was SVN commit r2240.
2005-05-04 22:03:00 +00:00
bb01b7733c disable self test for now, since Wijit's dual CPU box is having problems (bug #59)
This was SVN commit r2227.
2005-05-03 16:12:04 +00:00
1b202fb0ea lockfree: very rough beginnings of lockfree allocator
wpthread: no longer include lockfree.h (required functions are now in
sysdep/cpu.h)

This was SVN commit r2223.
2005-05-12 17:18:32 +00:00
c65d966112 moved lock-free primitive (CAS) here; add support functions (memory barrier and instruction serialization)
lib: speed up round_up by requiring alignment to be a power of 2

This was SVN commit r2221.
2005-05-03 05:05:16 +00:00
MarkT
db168702df Jason's animation events. Also reworked entity-types system.
This was SVN commit r2209.
2005-05-01 19:09:13 +00:00
4566893042 add include guards; reflect lockfree.h rename
This was SVN commit r2184.
2005-04-27 16:16:52 +00:00
0a462622a6 rename to lockfree.*
This was SVN commit r2183.
2005-04-27 16:16:18 +00:00
d91d5a2180 add high level dox
This was SVN commit r2182.
2005-04-27 16:06:05 +00:00
d8f05aee4b implement hash table object; expand test to include that; change all "key"s to uintptr_t
This was SVN commit r2177.
2005-04-26 20:51:43 +00:00
ad6c6c5ca3 major improvements -> LFlist is now production quality. exposed lfl interface.
added multithreaded torture test. revamped shutdown.

This was SVN commit r2173.
2005-04-26 16:51:42 +00:00
7e23a43249 improved self-test as in lockless.cpp
This was SVN commit r2172.
2005-04-26 16:49:45 +00:00
c5af0c43d9 wposix_types: better standards conformance
wpthread: fix bugs in tls_call_dtors and pthread_create; minor
improvements

This was SVN commit r2171.
2005-04-26 16:49:09 +00:00
1f237be66b add rand_up_to
This was SVN commit r2170.
2005-04-26 16:47:48 +00:00
08921f56b4 Moved icon, so that compilation doesn't depend on anything in 'binaries'
This was SVN commit r2155.
2005-04-20 20:18:20 +00:00
550bbec3d0 hopefully fixed bug #57 (limit on version info length was too low). while at it, made cpu_type's length externally visible; split sound stuff into sysdep/snd.h (as with gfx, cpu, mem) and in general cleaned up a bit.
This was SVN commit r2151.
2005-04-19 17:07:05 +00:00
c5bb56507e disable (failing) test
This was SVN commit r2128.
2005-04-13 04:55:42 +00:00
5d541e664a WIP; fixed compile error; armor-plated and started documenting list functions
This was SVN commit r2127.
2005-04-13 04:41:33 +00:00
82d2b7e49f initial lockless data structures - incomplete and not fully tested
This was SVN commit r2126.
2005-04-12 01:08:39 +00:00
c179210519 pthread: add pthread_once and thread-local storage
This was SVN commit r2123.
2005-04-09 22:26:48 +00:00
9fd08fb044 vfs_tree: revise hash table implementation to make it reusable (not yet finished)
This was SVN commit r2122.
2005-04-09 22:25:23 +00:00
479f59e386 adts, lib: add some minor comments
This was SVN commit r2121.
2005-04-09 22:24:08 +00:00
6a0b5fa0ab ScEd: Added unit deletion. Made zoom less frustrating. Let >2 players work.
Fixed random actor props.

This was SVN commit r2109.
2005-04-03 05:02:00 +00:00
9d139926c9 file: provide FILE_TEXT flag that enables newline translation - useful when outputting XML files, so notepad doesn't see "\n" (which it can't handle)
vfs: no longer watch dirs when mounting - need to pass flag. allows
turning this off for screenshots dir (where hotloading doesn't make
sense)

vfs_tree: expand hash table when 3/4 full; 1/2 was quite wasteful.

main: do CPU init early, so timing during init can use TSCmain: do CPU
init early, so timing during init can use TSC

This was SVN commit r2098.
2005-04-29 13:17:17 +00:00
dfb576c563 wposix: seriously speed up mounting by removing hand-brake (i.e. checking file system name in every stat() ) call. thanks to philip for reporting the problem!
This was SVN commit r2097.
2005-03-30 23:49:50 +00:00
e86001f45e - file bugfix: truncate when opening for writing (problem reported by philip)
- file: now return size at close() time for use with VFS
- zip: tested open speed, added [exec time]  notes

This was SVN commit r2075.
2005-03-29 06:27:35 +00:00
fd14510005 minor improvements: squelch warnings when dumping; debug_out an indication that is_string_ptr raised an exception
This was SVN commit r2070.
2005-03-27 18:17:03 +00:00
36cd555ba7 slight change to error paths for convenience (RETURN_ERR)
This was SVN commit r2068.
2005-03-27 17:40:40 +00:00
2fa430a4e6 - fix bug (wasn't setting mount_point of dir being mounted => crash while writing screenshot)
- add check for changing filters while enumerating dirents
- add path_component_valid
- change iterator to only return valid entries (removing that burden
from user code)

This was SVN commit r2067.
2005-03-27 17:27:49 +00:00
f777979cc8 detect: add posix.h so _SC_* defines are visible (enables mem detect)
in several files, expand one-line function bodies (hard to debug)

This was SVN commit r2066.
2005-03-27 17:24:57 +00:00
bfe7c1b491 Made icon implementation less bad, so that it doesn't conflict with ScEd
This was SVN commit r2065.
2005-03-27 14:03:30 +00:00
6bf2600808 huge change:
- replace std::map with custom filename lookup container (more
efficient)
- split into 3 parts (was too big)
also added struct stat-like fields to vfsDirEnt

still under heavy development.

This was SVN commit r2058.
2005-03-27 01:46:54 +00:00
ba636ca96c wposix: fix for USE_MMGR: undef getcwd
singleton: switch to assert2
loader: simpler HaveTimeForNextTask check

This was SVN commit r2056.
2005-03-27 01:37:10 +00:00
12eab0ded6 faster default options; try-catch around padding checks to catch really bogus pointers; our heap-valid checks come before the system's (because they're better behaved/more robust)
This was SVN commit r2055.
2005-03-27 01:33:18 +00:00
ffdc1d8360 add lower-case hash (used by VFS) and revise match_wildcard to accept anything if pattern=0
This was SVN commit r2054.
2005-03-27 01:31:39 +00:00
a321f1cc9f Added simple icon (on Windows)
This was SVN commit r2052.
2005-03-26 19:23:52 +00:00
fea0755911 wpthread - better comments
wtime - fix stupid CALIBRATION_FREQ bug - it was set to 1000 [i.e. "ms
interval"]

This was SVN commit r2048.
2005-03-25 20:24:39 +00:00
481cd97d92 fix timeout calc bug reported by philip (thanks!)
This was SVN commit r2047.
2005-03-25 18:55:26 +00:00
5460b8982e Various small fixes and minimal improvements
This was SVN commit r2035.
2005-03-22 13:54:37 +00:00
6d792365aa rough but functional loading progress bar support.
numerous TODOs remaining - initial update instead of only after
completing first job; fix GUI overdraw issue; decrease granularity
(currently only 3 updates)

This was SVN commit r2033.
2005-03-22 02:17:55 +00:00
046e1e3adc Fixed a failure caused by "Intel(R) 82845G/GL/GE/PE/GV Graphics Controller" being preposterously long
This was SVN commit r2031.
2005-03-20 21:34:01 +00:00
0b93abaa7c config: console alternate key=f9 (not f12, because that triggers a breakpoint in VC)
moved write-screenshot key to f10 and disable wsdl hook => printscreen
key copies to clipboard

This was SVN commit r2029.
2005-03-20 15:45:52 +00:00
1019dffdc3 fixed occasional deadlock at exit
This was SVN commit r2019.
2005-03-19 14:23:26 +00:00
468657479c philip points out precompiled.h -> string_s.h includes posix.h - too heavy for the PCH
replaced that with posix_types.h, which now defines size_t.
this change exposed a lot of code that relied on posix.h being included
implicitly; fixed those as well.

This was SVN commit r2015.
2005-03-18 22:44:55 +00:00
ffd141c1e3 remove no longer necessary include guard define (it used to work around a mmgr and crtdbg conflict, but that has since been fixed)
This was SVN commit r2013.
2005-03-18 22:26:49 +00:00
a4aa9ab246 zip: add instrumentation, see how much time decompression takes
This was SVN commit r2011.
2005-03-18 22:18:34 +00:00
c3bd4efa9b add O_NO_AIO_NP - if file.cpp doesn't want AIO access, the wposix code shouldn't open another (AIO capable) handle
wposix: also cleanup aio_reopen

This was SVN commit r2010.
2005-03-18 22:15:49 +00:00
9a75e31bbd wsdl: cleanup semaphore code, move mouse functions near other "misc" functions
wpthread: document problem encountered with CreateThread
win_internal: minor cleanup

This was SVN commit r2009.
2005-03-18 22:09:44 +00:00
df38ee95a8 remove atexit2 - explicit init and shutdown is safer and easier to understand.
add some initial docs.

This was SVN commit r2008.
2005-03-18 22:07:55 +00:00
ae172a9a01 Disabled mipmaps on GUI textures and cursors
This was SVN commit r1999.
2005-03-17 00:06:51 +00:00
c3da7f5e33 statically allocated per-CPU info (simplicity), and profiler WIP
This was SVN commit r1995.
2005-03-15 18:51:54 +00:00
8afc1d9daf use H_DEREF
This was SVN commit r1994.
2005-03-15 18:24:00 +00:00
1b2527c49e add dox to posix.h;
pre-existing dox have been converted to /* */; added "KEEP IN SYNC WITH
WIKI" warning

This was SVN commit r1993.
2005-03-15 18:23:13 +00:00
f1f945c2fa fix for bug reported by philip: had dxt1a and dxt1 backwards
This was SVN commit r1991.
2005-03-10 20:29:27 +00:00
d37b081b2c Made things mostly compile and run on ICC 9.0
This was SVN commit r1990.
2005-03-10 20:28:25 +00:00
3f15b5555c massive cleanup related to internal format. now calculated along with fmt during reload.
more changes pending (split TexData and its settings; make tex.cpp wrap
its data in Handle; clean up 'is loaded' checks)

This was SVN commit r1988.
2005-03-10 17:04:42 +00:00
a61e31e0a3 hook up JPG encoder. minor changes with JPG (en|de)code function shutdown
This was SVN commit r1987.
2005-03-10 17:02:10 +00:00
6908cc1062 still getting 'incorrect symbol tag' assert (SymTagBaseClass). replaced with debug_out
This was SVN commit r1986.
2005-03-10 17:01:18 +00:00
eab8c2957a add VFS destination plugin for jpeg-6b (allows writing out images as JPG)
removed unnecessary SIZEOF macro (replaced with sizeof)

This was SVN commit r1985.
2005-03-10 16:59:01 +00:00
19b3d2d388 rename oglExtAvail to oglHaveExtension
main.cpp: also provide for different screenshot file formats by passing
in extension
ogl.cpp: also add oglHaveVersion

This was SVN commit r1984.
2005-03-10 16:57:42 +00:00
274771620a checks if buffer size == sizeof(char*), which suggests a bug in the calling code
This was SVN commit r1983.
2005-03-10 16:56:13 +00:00
2e13ec5ff1 fix stupid sizeof bug reported by philip
This was SVN commit r1981.
2005-03-10 00:47:23 +00:00
11419fc1fe add pitch shift capability to snd.cpp and JS binding
This was SVN commit r1977.
2005-03-09 16:17:26 +00:00
3050d4c7fe posix: add semaphore.h
wposix: add ETIMEDOUT errno
wpthread: interface fix (was returning void from 2 functions); cleanup;
removed TerminateThread (dangerous!); add sem_timedwait
wtime: thread implementation switched to pthread - avoids
TerminateThread issue

This was SVN commit r1976.
2005-03-09 15:52:35 +00:00
db1a6ddf38 minor improvements
This was SVN commit r1974.
2005-03-09 12:57:52 +00:00
5b3d4a196c mucking about with base lib headers:
lib/posix_types.h: wrapper for stdint / sysdep/win/wposix_types.h
included by types.h; replaces posix.h there.
(works around wsock conflicts by not pulling in all posix stuff
everywhere)

This was SVN commit r1973.
2005-03-09 12:56:02 +00:00
56af3ca47d Made lodbias and vsync config options work. Removed CHEEZY_NOMIPMAP (which forced mipmaps to be enabled), since it's evil.
This was SVN commit r1971.
2005-03-09 00:55:22 +00:00
da1622ca06 reloading is optimized and armor-plated. eliminated an evil race condition.
wdir_watch.cpp: remove debug output and fix dir_get_changed_file
interface bug (was returning ERR_AGAIN instead of 1)

This was SVN commit r1964.
2005-03-02 12:06:40 +00:00
2b33ba8ade security push: checked every strcpy / strncpy. converted most to strcpy_s; some are flagged as "safe" (e.g. if copying literal that's obviously OK)
This was SVN commit r1962.
2005-03-01 20:13:00 +00:00
1ca489e0fc incorporate changes suggested by philip: replace goto, comment out self-test, move #if
This was SVN commit r1959.
2005-03-01 01:40:19 +00:00
08792355a6 Extra happiness on VC2005
This was SVN commit r1957.
2005-02-28 18:20:53 +00:00
35540e806e This was SVN commit r1955. 2005-02-28 15:50:35 +00:00
ed887b4eda wposix: add SIZE_MAX
add header for string_s

This was SVN commit r1954.
2005-02-28 15:36:19 +00:00
8e16010d3e implementation of secure CRT string functions
This was SVN commit r1953.
2005-02-28 15:27:04 +00:00
da5816e971 Re-enabled VC's memory debugging by default (when not using USE_MMGR). Hopefully fixed the resulting memory leaks. Also fixed incompatibilities with VC2005.
This was SVN commit r1950.
2005-02-27 22:11:26 +00:00
540a76e88b clean up reload code; add cache invalidate call when reloading (make sure file contents are actually loaded)
This was SVN commit r1948.
2005-02-27 19:11:39 +00:00
621f710724 much more efficient: watches entire subtrees instead of single directories (=> mount time and memory usage significantly reduced). buffer size smaller.
This was SVN commit r1946.
2005-02-27 14:37:06 +00:00
a8ef1b911e make reload ignore logic more clear
This was SVN commit r1945.
2005-02-27 14:35:38 +00:00
8e7b800521 remove atexit, minor improvements
This was SVN commit r1944.
2005-02-27 14:34:46 +00:00
ab67b4f3fa move VFS::is_subpath to file::file_is_subpath
This was SVN commit r1943.
2005-02-27 14:33:59 +00:00
2250434263 renamed to udbg for consistency
This was SVN commit r1938.
2005-02-26 15:15:52 +00:00
157f77887c types.h => lib/types.h (avoid name collision)
This was SVN commit r1937.
2005-02-26 15:15:36 +00:00
91d330d040 MinGW fixes
This was SVN commit r1936.
2005-02-26 15:14:55 +00:00
3eb6d152d6 add high level dox to snd.h; improve comments; slight improvements to GCC-compat fixes
This was SVN commit r1934.
2005-02-26 14:52:57 +00:00
642e107242 Made a few changes on udbg to make it work with two different libbfd versions as well as made a few mmgr assertions more verbose
This was SVN commit r1928.
2005-02-21 17:08:51 +00:00
614e523c89 mmgr.h: slightly better comments / spacing
wdbg: fixed root cause of assert noted during 2005-02-05 meeting (now
skip UDT child symbols that don't have an offset, i.e. uninteresting
stuff like BaseClass symbols)

This was SVN commit r1915.
2005-02-08 21:08:00 +00:00
afbf08ab1d Avoid infinite recursion in debug_warn/assert2
This was SVN commit r1911.
2005-02-05 19:14:56 +00:00
880634b598 Small changes to ScEd, to remove some hacky bits and to make it not crash with player-colours
This was SVN commit r1899.
2005-02-04 23:16:42 +00:00
28602d600d mmgr ported to linux
This was SVN commit r1895.
2005-02-02 17:01:33 +00:00
11904b70b3 symbol->descriptive_string cache - avoids redundant debug_resolve_symbol calls.
basically extracted all portable symbol code from wdbg and mmgr, so that
we can use it on linux as well.

This was SVN commit r1891.
2005-02-02 03:35:25 +00:00
3f71d8f6f3 mmgr: further cleanup; reduced size of struct Alloc; use caching symbol resolver in debug.cpp
lib.h: move debug_warn to debug.h; use assert2 instead of assert
wdbg: better explanation of "get current CONTEXT"; remove "tag ==
SymTagData" assert (triggered when dumping UDT)

This was SVN commit r1890.
2005-02-02 03:32:11 +00:00
79c7ca4cf6 fix for file_rel_chdir: check if n_path is valid, instead of argv0 (since argv0 is 0 when running sced)
This was SVN commit r1889.
2005-02-02 03:27:40 +00:00
12232b03d2 win_internal: winnt version=0x0501 for HeapSetInformation (to enable LFH)
win.cpp: enable low-fragmentation heap (if available)

This was SVN commit r1888.
2005-02-02 03:26:38 +00:00
7cb28a242c win_internal: removed contents of crtdbg and malloc.h (no longer needed, since precompiled.h now correctly includes the mem trackers and all memory-related system headers)
precompiled: restructured, documented everything, memory system headers
are now included before mmgr.h to prevent conflicts (before, had
#defined include guard of crtdbg.h and malloc.h and manually declared
their contents - a hack)

This was SVN commit r1885.
2005-01-30 23:09:51 +00:00
bc4351b1c8 _control87 is now ia32_control87 and overrides _control87 via macro. after adding float.h to precompiled.h, compiler was thinking _control87 was dllexport and creating an .exp file (confusing)
This was SVN commit r1884.
2005-01-30 23:07:55 +00:00
6d807d1c9f add win_alloc, used by wpthread to allocate memory for critical sections (safe allocator that may be called at any time, even before _cinit and during static dtors)
This was SVN commit r1882.
2005-01-30 17:40:24 +00:00
be3be6cede log only flushes to disk if option MMGR_FLUSH_ALL is set.
log is shut down in log_shutdown, instead of in every static dtor
(speeds up shutdown)
minor cleanup.

This was SVN commit r1881.
2005-01-30 17:31:20 +00:00
f1d322d5af - add simplify_stl_func, so STL functions are stripped of crap like std::less<int> and std::allocator<*>
- hook strdup and getcwd, since they allocate memory internally
- better reporting of owner in case only partial information is
available (don't give up and report "unknown")

This was SVN commit r1879.
2005-01-30 16:23:12 +00:00
d34780fb79 win_internal: add _getcwd prototype, made all extern
file: correct getcwd return value

This was SVN commit r1878.
2005-01-30 16:13:15 +00:00
a17998b91a debug_resolve_symbol now tries to return information even if one step fails; output params are zeroed.
wposix: getcwd is now a function that calls _getcwd, to cooperate with
mmgr's #define hook

This was SVN commit r1877.
2005-01-30 16:08:14 +00:00
f093b53459 Fixed problems in texture converter's DDS output, and in the game's DDS input.
This was SVN commit r1862.
2005-01-29 17:18:14 +00:00
4ed4a7e16d Fix for the crash when a client connects, as well as some minor additions to client/server code
This was SVN commit r1861.
2005-01-29 16:51:13 +00:00
41e2f48daf add reference to required .lib files to fix linker errors reported by stu
This was SVN commit r1860.
2005-01-29 16:43:46 +00:00
60ee5acd2b Made invalid-attempt-to-get-player errors less subtle. Word-wrapping in assert2 dialog box.
This was SVN commit r1857.
2005-01-29 00:11:50 +00:00
4c6713b582 again hooked up 0ad exception handler (pending cleanup of the exception code)
This was SVN commit r1852.
2005-01-28 19:11:30 +00:00
f25f6a2d70 wdbg: fix crash when exiting abnormally (alt+f4) - was erasing elements from container while iterating through it
win internal files: slight changes while looking through

This was SVN commit r1850.
2005-01-28 18:16:51 +00:00
b48ede5438 Accept DDS files with mipmaps
This was SVN commit r1846.
2005-01-28 15:37:01 +00:00
b704c7b0e4 endian.h renamed (conflict with linux system header)
This was SVN commit r1844.
2005-01-27 20:00:47 +00:00
38d6f81d71 add/update win-specific code+header file comment
This was SVN commit r1841.
2005-01-27 16:18:22 +00:00
f55107c114 sysdep: inline vsprintf2 definition (no need for printf.h)
win.cpp: remove hWnd (not needed for clipboard code) and TSC reference
(a temporary hack)

This was SVN commit r1840.
2005-01-27 15:50:11 +00:00
09985eaa7e split thread/mutex/sem defs out of wposix to wpthread (reduce default dependencies)
waio: add include guard; include from waio.cpp

This was SVN commit r1839.
2005-01-27 15:46:02 +00:00
f3a61e4f69 wsdl: add prototypes for VC endian swap routines (avoid warning)
endian.*: split out of lib.* to reduce default dependencies
tex,zip: now include endian.h

This was SVN commit r1838.
2005-01-27 15:40:23 +00:00
faff797cd6 include SDL or lib/input.h where needed (since lib.h no longer pulls it in)
input.h now includes SDL (no more macro hackery to avoid the dependency)

This was SVN commit r1837.
2005-01-27 15:31:06 +00:00
f6c95b259d include exception handler code only if EXCEPTION_HACK_0AD is required. (since some PS-specific code leaked into wdbg.cpp, have to disable that until i get around to cleaning it up)
This was SVN commit r1836.
2005-01-27 15:22:47 +00:00
969ed22f97 - provide for 1-byte ints (debug info is weird; dunno why it's stored as such, but they exist)
- if tag != SymTagDataType, don't dump the symbol (to be safe). this is
unexpected, but Philip reports it triggered.
- assert dialog is resizeable (grr, have to do that manually)

This was SVN commit r1828.
2005-01-26 16:25:56 +00:00
bc1c05b7db wrap operator new call site in nommgr.h / mmgr.h
This was SVN commit r1827.
2005-01-26 16:22:08 +00:00
c756aff9c5 wposix: AllocConsole wrapper is now a standard function call (before, a direct jump saved a few bytes but was unsafe - not smart)
This was SVN commit r1825.
2005-01-26 01:06:48 +00:00
3e82535375 wdll: fixed operator_new (discussed at meeting) issue - turns out that was a bad idea. unless mmgr.h is included, operator_new isn't defined, so it's taken to be a function => it was never getting called in wdll
defining operator_new in a global file is a bad idea-  if we forget
that, hard-to-track errors result
so, no more operator new; instead, #include "nommgr.h" before local
operator new definitions and #include "mmgr.h" again afterwards

This was SVN commit r1824.
2005-01-26 01:05:22 +00:00
2d1ba66dc8 mmgr.cpp: uses assert2 when something fails (so you get a pretty stack trace
mmgr.h: remove everything if !defined(USE_MMGR); move dox to end of file
debug.h: fix stupid n00b bug in assert2 (expr wasn't in "()" )

This was SVN commit r1822.
2005-01-26 00:33:45 +00:00
e7dcbfd19e further cleanup; stack trace + dialog part done for now; will clean up exception part later (discussed with philip)
This was SVN commit r1820.
2005-01-25 23:55:49 +00:00
711bff0d3a lib.h: moved assert2 to sysdep/debug.h
mmgr: remove wdbg calls (was prototype); use sysdep/debug interface
wdbg: no longer call it dbghelp63.h; should be installed normally in
compiler dir
win_internal.h: fix inevitable MS screwups in new dbghelp.h (*sigh*)

This was SVN commit r1816.
2005-01-25 18:54:48 +00:00
0d80a05aec wdbg: much improved dbghelp stack dump, thanks to availability of new dox. should succeed with user-defined types - voodoo programming no more. benefits are reaped when using assert2 in code (recommended!) or an exception is raised.
also made "program error" dialog a bit nicer - it's now attached to
desktop and resizeable.

This was SVN commit r1814.
2005-01-25 18:42:42 +00:00
cb74250a51 - moved assert2 to sysdep/debug.h
- sysdep/debug.h includes platform-specific version, so they can define
debug_break
- no longer a debug_break wrapper that calls to specific versions (so
that the debugger breaks in the target function directly)
- unix-specific stuff is only debug ATM; call it udbg instead of unix.*

This was SVN commit r1813.
2005-01-25 18:27:00 +00:00
c73a3fe2c4 platform-specific debug header (included from sysdep/debug) is responsible for defining debug_break, or mapping it to the implementation function (result: if can be defined as a macro (e.g. on win32 or ia32), debugger breaks directly at the target location, instead of one function lower)
This was SVN commit r1812.
2005-01-25 17:58:15 +00:00
36c5db05cd Added includes for non-pch build
This was SVN commit r1807.
2005-01-24 23:08:30 +00:00
13bcff918e Let Testing/Release builds be built
This was SVN commit r1797.
2005-01-23 22:42:37 +00:00
6ca71568f5 vfs, ps/game.cpp: lint
dbghelp_funcs: no longer needed, since we load dbghelp statically

This was SVN commit r1788.
2005-01-23 19:49:45 +00:00
699b38e350 config: remove HAVE_DEBUGALLOC
Xeromyces.cpp,xmlutils,XercesErrorHandler.cpp: use nommgr.h

This was SVN commit r1787.
2005-01-23 18:25:28 +00:00
8c7df579bc precompiled: hook up mmgr (needs to be included in all files)
tex: lint fixes

unifont: split out glvprintf

This was SVN commit r1786.
2005-01-23 18:23:29 +00:00
4d25441c2a split out of wposix (less dependencies)
SDL_*: $id string

This was SVN commit r1785.
2005-01-23 18:21:20 +00:00
cca00f9555 memory tracker work-in-progress. detects memory leaks, overruns, and all sorts of goodies.
This was SVN commit r1784.
2005-01-23 18:19:28 +00:00
e4bcd210d3 win_internal: move VC debug heaps here to avoid conflicts with mmgr
vfs: lint fixes

mem: remove h_add_ref from mem_get_ptr (was a hack, breaks some code)

This was SVN commit r1783.
2005-01-23 18:17:46 +00:00
4facc59833 new init seg
This was SVN commit r1782.
2005-01-23 18:09:55 +00:00
9cadcd875d lint fixes; no longer dynamically load dbghelp (can always distribute required version)
work in progress: cleaning up debug info, add functions for mmgr to
query caller

This was SVN commit r1781.
2005-01-23 18:07:34 +00:00
4e454b31f0 lint fixes; more armor-plating for SDL_SetVideoMode
This was SVN commit r1780.
2005-01-23 18:05:33 +00:00
9e3ae3bdf2 further lint fixes
new init seg, group "C" called before libc init

better critsec impl, doesn't break if called after shutdown

This was SVN commit r1779.
2005-01-23 18:04:34 +00:00
468fb35ab5 waio.h: moved some signal handler defs here from wposix
This was SVN commit r1778.
2005-01-23 18:04:02 +00:00
9b7af0ce08 safer mutex impl; split some parts out into waio (signal defs, only used in aiocb) and wposix_types
This was SVN commit r1777.
2005-01-23 17:57:52 +00:00
bc52269989 lint fixes; changed wtime init order
This was SVN commit r1776.
2005-01-23 17:56:00 +00:00
85fd8a0f0e stomped various lint warnings:
- /* */ -> //
- clarified expressions
- add casts
- func() -> func(void)
- signed/unsigned

also KB -> KiB, MB -> MiB

This was SVN commit r1775.
2005-01-23 17:54:20 +00:00
44ffb32169 fix include path (relative to lib)
This was SVN commit r1774.
2005-01-23 17:50:07 +00:00
e332d876f8 stomped various lint warnings:
- /* */ -> //
- clarified expressions
- add casts
- func() -> func(void)
- signed/unsigned

This was SVN commit r1773.
2005-01-23 17:48:32 +00:00
a43205148b stomped various lint warnings:
- /* */ -> //
- clarified expressions
- add casts
- func() -> func(void)
- signed/unsigned

This was SVN commit r1772.
2005-01-23 17:45:25 +00:00
4360c501d8 mouse_x/y => g_mouse_x/y
This was SVN commit r1771.
2005-01-23 17:42:28 +00:00
bcf89936c1 Fixed a few memory leaks as well as the CPlayer/SColour crash-on-exit bug
This was SVN commit r1756.
2005-01-23 01:36:47 +00:00
2077698156 New JavaScript interface for the network client, plus some linux/gcc/misc fixes
This was SVN commit r1730.
2005-01-17 04:52:02 +00:00
38b30e5eb4 Corrected ICC errors and some warnings. Removed some unnecessarily verbose logging. Did minor things.
This was SVN commit r1718.
2005-01-13 00:17:31 +00:00
16a3ee4a4b Fixed fix, to correct precedence (as warned about by the friendly compiler ;-) )
This was SVN commit r1707.
2005-01-11 16:40:01 +00:00
629e5999e0 vfs: fixed an apparently untested "quick change" to an assert that was triggering. boo!
This was SVN commit r1704.
2005-01-10 22:51:08 +00:00
3ae57e7b0d Inverted my accidental inversion of logic
This was SVN commit r1697.
2005-01-10 21:07:24 +00:00
fba99c3414 vfs: fix mounting archive contents - now relative to mount point as it should.
added flags to vfs_mount that enable looking for archives and mounting
subdirectories (previously always done, but slow)
main: uses above flags when mounting

This was SVN commit r1695.
2005-01-10 18:44:41 +00:00
e632c0ff1d zip: fix overrun when reading uncompressed data: truncate to output buffer size
vfs: fix archive file add routine: wasn't starting at mount point,
didn't handle files in archive root dir correctly

tex: add tex_is_known_fmt

lib: add ERR_TIMED_OUT

This was SVN commit r1693.
2005-01-10 13:42:10 +00:00
56949e6fc4 lib: add big endian readers; add VC intrinsic bswap routines
tex: improve flip / bgr convert (now generalized "transforms"); add
support for transforming image before encoding

wsdl: add SDL_ShowCursor, minimize when tasking out

main: WriteScreenshot improved, fixes flipped screenshots

This was SVN commit r1689.
2005-01-09 14:23:59 +00:00
37d2d83a9d Adjusted things to work with the new top-down orientation
This was SVN commit r1668.
2005-01-07 14:10:14 +00:00
8633123520 default orientation is now top-down to match Photoshop DDS plugin (thanks, Philip!)
This was SVN commit r1667.
2005-01-07 13:48:49 +00:00
974292c5b7 forgot to add yesterday :/
I/O plugin for libjpg that reads from memory

This was SVN commit r1661.
2005-01-07 11:13:20 +00:00
dd3a0dd657 tex:
- complete+document+fix texture orientation code
- add JPG codec
- file extension check bugfix: now case-insensitive
also some general cleanup.

This was SVN commit r1660.
2005-01-07 02:00:14 +00:00
c5de965814 wsdl:
- add SDL_WaitEvent
- fixed evil bug due to incorrect interpretation of
PIXELFORMATDESCRIPTOR.cColorBits (destabilized ATI drivers)
- remove ps/ dependency in "screenshot" key hook
- fix bug in gamma functions
- remove asm trampolines, replace with plain inline calls (efficiency <
safety)
- SDL thread calls implemented in terms of POSIX functions

This was SVN commit r1659.
2005-01-07 01:25:10 +00:00
f503a1f4e7 handle.h: include guard
vfs: path_append and exact-case handling bugfixes

wtime: added FILETIME->time_t conversion; small improvements

This was SVN commit r1658.
2005-01-07 01:16:43 +00:00
e6a12f76e2 aio: check for NULL aiocb* params; made aio_h get/set static; various small improvements
mem: explicit mem_shutdown call - try to avoid exit order problems

unifont: remove logger calls (dependency on ps/)

This was SVN commit r1657.
2005-01-07 01:13:48 +00:00
577c23d936 cursor: remove dependency on CVFSFile (all lib/res files must not depend on ps/, so that they can be reused in other projects)
wposix:
- FILETIME->time_t conversion for *stat
- improve opendir/readdir etc.; add readdir_stat_np
- add pthread_join and pthread_cancel
- add portable sem_* semaphore functions (alternative to SDL semaphores)

file: use readdir_stat_np instead of reading non-portable struct dirent
fields

This was SVN commit r1656.
2005-01-07 01:10:00 +00:00
090ea2301a wdbg: temporarily removed LOCALIZED_TEXT so this works in another project. must find long-term solution: lib/ must not be dependent on ps/!
sysdep.h: add pick_dir
sysdep/win/win.cpp: .. and its win32 implementation

This was SVN commit r1655.
2005-01-07 00:59:52 +00:00
39783e6a17 lib.h: corrected 2 casts:
- problem when using CHECK_ERR with functions returning a Handle
- incorrect sign conversion when passing non-ascii (> 0x80) chars to
FOURCC

precompiled.h: include lib/types.h

This was SVN commit r1654.
2005-01-07 00:55:53 +00:00
2077d4fd1d timer.cpp: start FPS value = 60 => faster convergence
timer.h: TIMER uses debug_out

main/input: moved game_ticks to input.cpp (only used if input.cpp is
included)

This was SVN commit r1653.
2005-01-07 00:52:05 +00:00
f791239396 Fix for strange machine with no audio
This was SVN commit r1611.
2005-01-02 00:05:33 +00:00
fcd1adcea3 Removed my earlier 'fix' (related to a bug when adding new files to a directory that was previously archived) which was completely rubbish, and replaced it with one that is hopefully less stupid (and actually fixes the problem)
This was SVN commit r1605.
2005-01-01 13:43:43 +00:00
f9c51d8ec7 Replaced - with _ in GUI
This was SVN commit r1604.
2005-01-01 12:06:17 +00:00
855e1a7f81 Small ScEd updates
This was SVN commit r1601.
2004-12-30 23:01:09 +00:00
7efc7a7903 Fixed memory leak
This was SVN commit r1598.
2004-12-30 17:27:53 +00:00
ed55ad4d82 Put crashlog into ScEd.
This was SVN commit r1590.
2004-12-28 20:53:54 +00:00
05c4ec0365 Alterations to ScEd, so that it almost works (except for saving/loading maps). Change the bottom of premake.lua if you want to build it.
This was SVN commit r1580.
2004-12-27 23:27:26 +00:00
46f5c61179 Linux/GCC/glibc Compat
This was SVN commit r1532.
2004-12-18 23:30:28 +00:00
bb2de67c31 fixed incorrect handling of extra fields
(zip archives with extended file attributes failed to load)

improved z_extract_cdfh/z_enum_files.

This was SVN commit r1527.
2004-12-18 14:45:04 +00:00
5bb24a387f fix dir_cancel_watch issue: fail silently if watch=0 (happens if directory mounted only from archive, i.e. there's no real directory to watch)
This was SVN commit r1524.
2004-12-18 03:45:12 +00:00
d8ae8a524c Fixed something that looked like a potential bug
This was SVN commit r1515.
2004-12-16 15:15:24 +00:00
851a30215f add h_add_ref; add leak report (currently disabled, since all textures are leaked)
This was SVN commit r1511.
2004-12-16 01:17:50 +00:00
b259381fbf 1) minor error handling improvements (was passing back invalid handle error, instead of the cause; also added a CHECK_ERR)
2) we attempt to load missing files (see bug #32). with the fix above,
CHECK_ERR would fire every run (which it should until the problem is
fixed :P), which is annoying.
Instead, FileUnpacker now checks if the file exists; if not, it throws
immediately and thereby bypasses the VFS error mechanism.

This was SVN commit r1503.
2004-12-15 14:24:12 +00:00
9f6d085732 oops, removed one const too many. fixed.
This was SVN commit r1484.
2004-12-10 00:14:10 +00:00
9d317d8164 1) removed scaffolding from file
2) VFS: add path_copy convenience routine
3) various lib code: removed unnecessary const cluttering things (like
const char* _const_ name in param list)

This was SVN commit r1483.
2004-12-09 23:12:02 +00:00
cc02422908 1) TIMER added to timer.h (moved from main)
2) wposix: cache file status in struct dirent (Win32 specific)
3) vfs: speed up vfs_mount (via 2) and zip_cb path lookup caching
scheme)
4) temp scaffolding added to file.cpp to measure performance

This was SVN commit r1482.
2004-12-09 20:17:09 +00:00
643810a276 cleaned up VFS after yesterday's new code;
explicit shutdown, instead of atexit

This was SVN commit r1472.
2004-12-07 22:10:46 +00:00
0f18178fda fixed sched. priority code: wouldn't work for all values.
This was SVN commit r1468.
2004-12-07 03:01:12 +00:00
e76871e7b0 - heavy changes to VFS tree internals: now allows loose files and archives to coexist, choosing archive if they're the same date+size
- reworked tree_lookup: dir names now require trailing '/' to
disambiguate. exception: vfs_open_dir (convenience)
- display VFS tree in stdout.txt unless g_Quickstart

This was SVN commit r1466.
2004-12-07 01:22:25 +00:00
e15562b7ae 1) file: clean up path conversion call sites (was using private routine)
2) all: change file_enum and cohorts to pass struct stat instead of just
size

3) minor cleanup

This was SVN commit r1465.
2004-12-07 01:19:10 +00:00
1d1a2ce3e4 use VC's stat() for now, even if slower - mtime time conversion is a pain to implement
This was SVN commit r1464.
2004-12-07 01:12:35 +00:00
a2a6f29ab3 s/Prometheus/Pyrogenesis/
This was SVN commit r1459.
2004-12-05 21:56:09 +00:00
936fc885a1 Don't convert paths here since it's already done by the caller (API change)
This was SVN commit r1449.
2004-12-04 20:27:07 +00:00
3fb241054f add master sound disable, triggered if g_Quickstart == true.
(skips OpenAL init => speeds up startup)

This was SVN commit r1437.
2004-12-01 22:19:58 +00:00
f1dac9c626 better error handling: lots of little changes.
added some error codes, tried to eliminate unspecific return -1  where
it made sense.

This was SVN commit r1436.
2004-12-01 21:37:01 +00:00
6c2f455547 added tga and raw encoders (based on common routine extracted from bmp encoder), so I wouldn't have to add NOT_IMPLEMENTED error returns :P
This was SVN commit r1435.
2004-12-01 21:34:49 +00:00
2c0d5c0248 bugfix: needs to use full path conversion routine
This was SVN commit r1434.
2004-12-01 21:34:01 +00:00
c0ef326340 1) file.cpp: add functions for relative path conversion, also better dox
2) ERR_PATH_LENGTH (instead of ERR_VFS_): now used by file.cpp also
3) better document file_enum and FileCB

This was SVN commit r1433.
2004-12-01 18:44:38 +00:00
f04af0077e ignore .svn folders (and their contents) when mounting dirs
This was SVN commit r1432.
2004-12-01 08:16:01 +00:00
4d83cba7e6 add required precompiled header include
This was SVN commit r1431.
2004-12-01 06:52:39 +00:00
2eed8a8b45 even longer SND_CARD_LEN
This was SVN commit r1430.
2004-11-30 23:40:44 +00:00
d9f30a5d42 Faster Ogg reading (~2.5x in extremely unoptimised builds)
This was SVN commit r1408.
2004-11-27 04:14:34 +00:00
fe54b3deeb Fixed minor warnings
This was SVN commit r1406.
2004-11-27 03:22:04 +00:00
c82c7d2e2a Increased SND_CARD_LEN to handle "Realtek AC97 Audio"
This was SVN commit r1405.
2004-11-27 02:57:54 +00:00
Gee
caff02e8da I had to ask some things to make some word-processing easier/faster. Feel free to adjust anything that's crooked.
This was SVN commit r1395.
2004-11-24 23:47:48 +00:00
30ad195c0b Linux/GCC Compat
This was SVN commit r1393.
2004-11-23 23:56:10 +00:00
d9ed18f8ca fixed stupid bug, simplified vfs_next_dirent
This was SVN commit r1389.
2004-11-23 23:51:34 +00:00
313df4064c vfs_next_dirent filter can now match *? wildcards (no longer limited to extensions)
updated dox, and added ERR_VFS_DIR_END code

This was SVN commit r1386.
2004-11-23 21:12:18 +00:00
5857361da2 add ERR_VFS_DIR_END code
This was SVN commit r1384.
2004-11-23 21:08:59 +00:00
9a00cd11d5 add match_wildcard function (for vfs_next_dirent)
This was SVN commit r1383.
2004-11-23 20:52:03 +00:00
03db724b99 better error handling: no assert blowing up in your face if SndData_reload fails (or is made to fail)
This was SVN commit r1382.
2004-11-23 19:08:30 +00:00
4596b7dfc8 sound driver version detect code takes DLL search path into account; hardened
This was SVN commit r1378.
2004-11-22 07:41:02 +00:00
3b5ab280d4 add win_exe_dir (application's start directory)
This was SVN commit r1377.
2004-11-22 07:40:32 +00:00
affc35521f remove dsound.h - fixes compile error on vc6/7 hybrid (probably mismatched DX headers)
This was SVN commit r1376.
2004-11-22 03:03:25 +00:00
b2ba38e7a4 define ZLIB_DLL before zlib.h
This was SVN commit r1374.
2004-11-22 00:17:37 +00:00
af56d5829b improved png write code while searching for cause of bug #24
This was SVN commit r1373.
2004-11-22 00:10:16 +00:00
bfd2a43dfb sound code: now uses DX5 (instead of default of DX8), more error checking vs. bug #33
This was SVN commit r1371.
2004-11-21 08:41:40 +00:00
c6cf8593c9 add windows sound card info query (via directsound; OpenAL is entirely unhelpful)
This was SVN commit r1362.
2004-11-19 22:43:02 +00:00
d489c48652 safer check if TSC is useable (and CPU detect has occurred)
This was SVN commit r1361.
2004-11-19 22:42:20 +00:00
2f9a735232 add win_sys_dir for win-specific code
This was SVN commit r1360.
2004-11-19 22:41:37 +00:00
1ba56151ca explicit string size; remove reference to detect()
This was SVN commit r1359.
2004-11-19 22:41:05 +00:00
d5473db68e warning fix: remove redundant uint >= 0
This was SVN commit r1358.
2004-11-19 22:40:27 +00:00
4a9fc1e1d1 add sound card info; remove central detect() call
This was SVN commit r1357.
2004-11-19 22:40:00 +00:00
e1bb0a3d2e get ride of separate snd_open_def (simplifies JS interface)
filename is assumed to be a definition file if extension == .txt

This was SVN commit r1329.
2004-11-15 18:34:13 +00:00
MarkT
793794649f Combat code, some scripting, broken network, and fixed some bugs.
This was SVN commit r1301.
2004-11-11 07:09:32 +00:00
f66de9d098 log when files are opened (used to arrange files in zip archive)
also added mtime to *_stat calls for XMB (check date instead of
checksum)

This was SVN commit r1288.
2004-11-07 23:00:32 +00:00
3136791492 Linux/GCC Compat(tm)
This was SVN commit r1284.
2004-11-07 21:30:47 +00:00
2cf79ca6cf more dox :]
This was SVN commit r1279.
2004-10-30 15:17:19 +00:00
4e7b6bd165 improved dox a bit; explicit deque_finished_bufs call, instead of changing update behavior via VS_ flags.
This was SVN commit r1278.
2004-10-25 13:07:34 +00:00
06051e3628 cleaned up and documented. ready for use.
This was SVN commit r1275.
2004-10-23 19:55:41 +00:00
96807dd6f3 remove resource.h include - not needed, was actually referring to sced resource.h
This was SVN commit r1273.
2004-10-23 18:41:02 +00:00
MarkT
d33d2e4450 Added some support for user profiles
This was SVN commit r1270.
2004-10-23 14:39:28 +00:00
01456b797c further cleanup + fixed another shutdown order bug via h_force_close
This was SVN commit r1269.
2004-10-22 22:00:57 +00:00
6f114dcd5e h_force_close support for sound shutdown issue
This was SVN commit r1268.
2004-10-22 21:58:03 +00:00
0f93e53e61 \n on debug_out
This was SVN commit r1266.
2004-10-21 15:08:10 +00:00
27d52a8c45 WIP. have added some dox and armor-plated the lower-level components.
fixed shutdown order issue mentioned in task report.

further refactoring expected for vsrc_update et al (messy) and list_*

This was SVN commit r1264.
2004-10-20 23:18:52 +00:00
0540792825 add ERR_AGAIN error
This was SVN commit r1262.
2004-10-20 13:36:49 +00:00
1ef7ce088c add support for forcibly closing cached files (needed when closing all active sounds before resetting openal)
This was SVN commit r1261.
2004-10-20 00:58:55 +00:00
0afc3c159d trivialities: add extern, add assert to make sure oglInit called
This was SVN commit r1260.
2004-10-19 17:49:12 +00:00
8764693bd8 allow 0-length allocs without complaint (required when vfs_loading 0-length files, as happens with current art pack)
This was SVN commit r1258.
2004-10-19 13:29:51 +00:00
3c9823fd31 Don't override the printscreen key when the user's looking at some other program
This was SVN commit r1257.
2004-10-18 22:08:21 +00:00
34b553e2b2 remove ogg_display junk
This was SVN commit r1256.
2004-10-18 14:25:13 +00:00
b5d9f886a4 Don't complain when shutting down without having played a sound
This was SVN commit r1252.
2004-10-17 10:21:06 +00:00
f144aa0686 as per meeting today, disabled use of OpenAL ogg extension; wrote a quick, ugly, no-good hack to decode OGG files 'manually' (using vorbis)
(it doesn't stream, it loads the whole thing into memory - baad)
but the steaming pile seems to work! all is good ;)

This was SVN commit r1250.
2004-10-16 20:54:24 +00:00
d272a7ebb4 remove ofs field for vfs_start_io - never used
This was SVN commit r1249.
2004-10-16 20:52:18 +00:00
cd24c9c6f7 fixes for RES_UNIQUE (used by sound instances) - no longer add such handles to the h_find lookup data struct, because it can't handle several instances backed by the same file
This was SVN commit r1239.
2004-10-15 13:19:37 +00:00
6f2c1fbb8c WIP; still tons of debug code
now theoretically supports 3d positional sound; solidified snd data
provider -> VSource code

This was SVN commit r1238.
2004-10-15 13:18:34 +00:00
Gee
5b74afce82 Added unifont_height...
This was SVN commit r1235.
2004-10-14 10:09:51 +00:00
67d95dd3af add ARRAY_SIZE
This was SVN commit r1214.
2004-10-06 14:11:55 +00:00
4f230f061d less dependencies: handle.h forward-defines Handle, so that not everything that uses res headers is dependent on h_mgr
This was SVN commit r1213.
2004-10-06 14:00:43 +00:00
fecb8e38de buggy, work-in-progress. can now again play sounds. basic culling/prioritization code in place.
This was SVN commit r1210.
2004-10-05 13:11:28 +00:00
7a0cf92c25 add RES_UNIQUE, required for sound code
This was SVN commit r1209.
2004-10-05 13:10:49 +00:00
13dfff0e12 removed unnecessary (unused) calc
This was SVN commit r1208.
2004-10-05 13:07:25 +00:00
10a81394ff removed test rig crap
This was SVN commit r1207.
2004-10-03 23:28:57 +00:00
b6c1ad7126 had a look at CPU freq detect due to win32asm thread.
added comments + slight improvement (get system time first, then rdtsc)
=> good bit more accurate

This was SVN commit r1206.
2004-10-03 13:06:37 +00:00
df1b502bbd Linux Compat and some updated PARANOIA code
This was SVN commit r1189.
2004-09-22 15:20:58 +00:00
c28c5a1beb fix of VC2k5 fix (both pointers to tokenized string are now char*)
This was SVN commit r1186.
2004-09-22 00:46:12 +00:00
a1bd91d198 VC2k5 fix: don't keep converting char* -> const char* -> char*
This was SVN commit r1184.
2004-09-21 22:10:49 +00:00
0868b2ee6c VC2k5 fix: strchr return value saved as const char* (cf Stu's CVS report #161)
This was SVN commit r1183.
2004-09-21 18:43:58 +00:00
ff4af72da1 fix incorrect round up calculation
This was SVN commit r1182.
2004-09-21 16:59:50 +00:00
777f06143d - A lot of small network fixes
- Connecting client(s) to a server and giving orders to a shared set of
entities now works - Yeah!
- Removed thread sync from CNetServer

This was SVN commit r1180.
2004-09-21 14:40:43 +00:00
8b2e918e05 cleanup + bulletproofing
This was SVN commit r1176.
2004-09-21 13:40:14 +00:00
dce92ce677 fix 2 stupid bugs causing crashes when loading from loose files - wasn't detecting all causes where transfers are unaligned => read rounded-up amount of data into original buffer as opposed to realign buffer => clobbered the heap.
This was SVN commit r1175.
2004-09-21 11:58:22 +00:00
7925a3fc4d Avoid crashing when something minor that should never fail fails (though the cause of that failure is fairly major (but currently unknown))
This was SVN commit r1174.
2004-09-20 18:27:22 +00:00
ae2d42bbad fix incorrect buffer free (now handled by ALBuffer); work in progress
This was SVN commit r1172.
2004-09-19 19:29:03 +00:00
85cf439f62 slight changes (memset IOSlot; if(.. < 0) -> CHECK_ERR)
This was SVN commit r1171.
2004-09-19 19:28:00 +00:00
b459e7e640 fixed debug_check_heap definition
This was SVN commit r1170.
2004-09-19 19:27:04 +00:00
a0f0215c15 fixed debug_check_heap definition
This was SVN commit r1167.
2004-09-19 18:45:04 +00:00
c3ed7df432 0 -> FALSE + add/removed debug code
This was SVN commit r1166.
2004-09-19 18:44:21 +00:00
1166c2a22c workaround for stupid "void* -> unsigned cast" warning
This was SVN commit r1165.
2004-09-19 17:27:03 +00:00
cfe4562e6a move low-level sound/music code from musicplayer to res/snd; also put oal.* in there
work in progress.

This was SVN commit r1162.
2004-09-19 15:57:20 +00:00
f6cfcd0555 slight change to interface (FileIO* vs simple void* output value) to simplify Zip interface (needed to change because now it has to store data of its own in IOs when doing partial reads)
This was SVN commit r1161.
2004-09-19 15:51:12 +00:00
5db49638cf worked on partial zip reads. also changed to bring in line with file/vfs for slightly changed streaming interface
This was SVN commit r1160.
2004-09-19 15:49:46 +00:00
d3f452cd80 - add vfs_io_complete (wasn't in header) and vfs_size (convenience function)
- have vfs_load allocate the buffer, so mem_assign is no longer needed.
exposes buffer alignment requirement to VFS, but hey. simplifies things
a good bit.
- moved performance measuring crap to vfs_timed_io, a wrapper function
- various fixes for streaming code

This was SVN commit r1159.
2004-09-19 15:42:32 +00:00