Commit Graph

295 Commits

Author SHA1 Message Date
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
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
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
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
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
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