1
0
forked from 0ad/0ad
Commit Graph

466 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
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
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
d1a66c93b0 fix bug: was calling HeapSetInformation directly, not through function pointer
This was SVN commit r2250.
2005-05-06 20:14:40 +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
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
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
c179210519 pthread: add pthread_once and thread-local storage
This was SVN commit r2123.
2005-04-09 22:26:48 +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
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
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
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
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
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
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
c3da7f5e33 statically allocated per-CPU info (simplicity), and profiler WIP
This was SVN commit r1995.
2005-03-15 18:51:54 +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
2e13ec5ff1 fix stupid sizeof bug reported by philip
This was SVN commit r1981.
2005-03-10 00:47:23 +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
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
ed887b4eda wposix: add SIZE_MAX
add header for string_s

This was SVN commit r1954.
2005-02-28 15:36:19 +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
2250434263 renamed to udbg for consistency
This was SVN commit r1938.
2005-02-26 15:15:52 +00:00
91d330d040 MinGW fixes
This was SVN commit r1936.
2005-02-26 15:14:55 +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
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
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
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
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
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
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
4d25441c2a split out of wposix (less dependencies)
SDL_*: $id string

This was SVN commit r1785.
2005-01-23 18:21:20 +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
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
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
3ae57e7b0d Inverted my accidental inversion of logic
This was SVN commit r1697.
2005-01-10 21:07:24 +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
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
f791239396 Fix for strange machine with no audio
This was SVN commit r1611.
2005-01-02 00:05:33 +00:00