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