Commit graph

1078 commits

Author SHA1 Message Date
janwas
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
janwas
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
janwas
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
janwas
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
Ykkrosh
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
janwas
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
janwas
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
janwas
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
Ykkrosh
5c4d41fd0f Initial parts of Atlas integration
This was SVN commit r2435.
2005-06-25 02:21:26 +00:00
janwas
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
janwas
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
janwas
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
janwas
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
janwas
6d648d5293 fix conflict; assert now uses display_error
This was SVN commit r2421.
2005-06-21 16:48:09 +00:00
janwas
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
janwas
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
janwas
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
janwas
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
olsner
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
Ykkrosh
471fd5d6f3 Unbroke more; plus some minor changes.
This was SVN commit r2398.
2005-06-17 01:28:35 +00:00
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
Ykkrosh
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
janwas
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
janwas
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
janwas
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
Ykkrosh
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
olsner
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
fd4eb91e93 debug_out -> debug_printf; MICROLOG moved to ps/Pyrogenesis.h
This was SVN commit r2285.
2005-05-11 18:56:30 +00:00
Ykkrosh
5821ebb629 Tidied up a bit more
This was SVN commit r2283.
2005-05-11 05:26:24 +00:00
Ykkrosh
6034821b4a Slightly more readable enum naming in mipmap code
This was SVN commit r2282.
2005-05-11 04:56:05 +00:00
janwas
0e4624397a breakpoint WIP
This was SVN commit r2280.
2005-05-11 04:37:05 +00:00
janwas
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
Ykkrosh
1436e919c1 Support reading DDS files with mipmaps
This was SVN commit r2273.
2005-05-10 18:29:18 +00:00
janwas
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
janwas
d1a66c93b0 fix bug: was calling HeapSetInformation directly, not through function pointer
This was SVN commit r2250.
2005-05-06 20:14:40 +00:00
janwas
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
janwas
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
janwas
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
janwas
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
janwas
4566893042 add include guards; reflect lockfree.h rename
This was SVN commit r2184.
2005-04-27 16:16:52 +00:00
janwas
0a462622a6 rename to lockfree.*
This was SVN commit r2183.
2005-04-27 16:16:18 +00:00
janwas
d91d5a2180 add high level dox
This was SVN commit r2182.
2005-04-27 16:06:05 +00:00
janwas
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
janwas
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
janwas
7e23a43249 improved self-test as in lockless.cpp
This was SVN commit r2172.
2005-04-26 16:49:45 +00:00
janwas
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
janwas
1f237be66b add rand_up_to
This was SVN commit r2170.
2005-04-26 16:47:48 +00:00
Ykkrosh
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
janwas
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
janwas
c5bb56507e disable (failing) test
This was SVN commit r2128.
2005-04-13 04:55:42 +00:00
janwas
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
janwas
82d2b7e49f initial lockless data structures - incomplete and not fully tested
This was SVN commit r2126.
2005-04-12 01:08:39 +00:00
janwas
c179210519 pthread: add pthread_once and thread-local storage
This was SVN commit r2123.
2005-04-09 22:26:48 +00:00
janwas
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
janwas
479f59e386 adts, lib: add some minor comments
This was SVN commit r2121.
2005-04-09 22:24:08 +00:00
Ykkrosh
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
36cd555ba7 slight change to error paths for convenience (RETURN_ERR)
This was SVN commit r2068.
2005-03-27 17:40:40 +00:00
janwas
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
janwas
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
Ykkrosh
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
janwas
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
janwas
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
janwas
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
janwas
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
Ykkrosh
a321f1cc9f Added simple icon (on Windows)
This was SVN commit r2052.
2005-03-26 19:23:52 +00:00
janwas
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
janwas
481cd97d92 fix timeout calc bug reported by philip (thanks!)
This was SVN commit r2047.
2005-03-25 18:55:26 +00:00
Ykkrosh
5460b8982e Various small fixes and minimal improvements
This was SVN commit r2035.
2005-03-22 13:54:37 +00:00
janwas
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
Ykkrosh
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
janwas
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
janwas
1019dffdc3 fixed occasional deadlock at exit
This was SVN commit r2019.
2005-03-19 14:23:26 +00:00
janwas
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
janwas
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
janwas
a4aa9ab246 zip: add instrumentation, see how much time decompression takes
This was SVN commit r2011.
2005-03-18 22:18:34 +00:00
janwas
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
janwas
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
janwas
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
Ykkrosh
ae172a9a01 Disabled mipmaps on GUI textures and cursors
This was SVN commit r1999.
2005-03-17 00:06:51 +00:00
janwas
c3da7f5e33 statically allocated per-CPU info (simplicity), and profiler WIP
This was SVN commit r1995.
2005-03-15 18:51:54 +00:00
janwas
8afc1d9daf use H_DEREF
This was SVN commit r1994.
2005-03-15 18:24:00 +00:00
janwas
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
janwas
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
Ykkrosh
d37b081b2c Made things mostly compile and run on ICC 9.0
This was SVN commit r1990.
2005-03-10 20:28:25 +00:00
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
2e13ec5ff1 fix stupid sizeof bug reported by philip
This was SVN commit r1981.
2005-03-10 00:47:23 +00:00
janwas
11419fc1fe add pitch shift capability to snd.cpp and JS binding
This was SVN commit r1977.
2005-03-09 16:17:26 +00:00
janwas
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
janwas
db1a6ddf38 minor improvements
This was SVN commit r1974.
2005-03-09 12:57:52 +00:00
janwas
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
Ykkrosh
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
janwas
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
janwas
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
janwas
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
Ykkrosh
08792355a6 Extra happiness on VC2005
This was SVN commit r1957.
2005-02-28 18:20:53 +00:00
janwas
35540e806e This was SVN commit r1955. 2005-02-28 15:50:35 +00:00
janwas
ed887b4eda wposix: add SIZE_MAX
add header for string_s

This was SVN commit r1954.
2005-02-28 15:36:19 +00:00
janwas
8e16010d3e implementation of secure CRT string functions
This was SVN commit r1953.
2005-02-28 15:27:04 +00:00
Ykkrosh
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
janwas
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
janwas
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
janwas
a8ef1b911e make reload ignore logic more clear
This was SVN commit r1945.
2005-02-27 14:35:38 +00:00
janwas
8e7b800521 remove atexit, minor improvements
This was SVN commit r1944.
2005-02-27 14:34:46 +00:00
janwas
ab67b4f3fa move VFS::is_subpath to file::file_is_subpath
This was SVN commit r1943.
2005-02-27 14:33:59 +00:00
janwas
2250434263 renamed to udbg for consistency
This was SVN commit r1938.
2005-02-26 15:15:52 +00:00
janwas
157f77887c types.h => lib/types.h (avoid name collision)
This was SVN commit r1937.
2005-02-26 15:15:36 +00:00
janwas
91d330d040 MinGW fixes
This was SVN commit r1936.
2005-02-26 15:14:55 +00:00
janwas
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
olsner
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
janwas
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
Ykkrosh
afbf08ab1d Avoid infinite recursion in debug_warn/assert2
This was SVN commit r1911.
2005-02-05 19:14:56 +00:00
Ykkrosh
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
olsner
28602d600d mmgr ported to linux
This was SVN commit r1895.
2005-02-02 17:01:33 +00:00
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
Ykkrosh
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
olsner
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
janwas
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
Ykkrosh
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
janwas
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
janwas
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
Ykkrosh
b48ede5438 Accept DDS files with mipmaps
This was SVN commit r1846.
2005-01-28 15:37:01 +00:00
olsner
b704c7b0e4 endian.h renamed (conflict with linux system header)
This was SVN commit r1844.
2005-01-27 20:00:47 +00:00
janwas
38d6f81d71 add/update win-specific code+header file comment
This was SVN commit r1841.
2005-01-27 16:18:22 +00:00
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
bc1c05b7db wrap operator new call site in nommgr.h / mmgr.h
This was SVN commit r1827.
2005-01-26 16:22:08 +00:00
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
olsner
36c5db05cd Added includes for non-pch build
This was SVN commit r1807.
2005-01-24 23:08:30 +00:00
Ykkrosh
13bcff918e Let Testing/Release builds be built
This was SVN commit r1797.
2005-01-23 22:42:37 +00:00
janwas
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
janwas
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
janwas
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
janwas
4d25441c2a split out of wposix (less dependencies)
SDL_*: $id string

This was SVN commit r1785.
2005-01-23 18:21:20 +00:00
janwas
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
janwas
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
janwas
4facc59833 new init seg
This was SVN commit r1782.
2005-01-23 18:09:55 +00:00
janwas
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
janwas
4e454b31f0 lint fixes; more armor-plating for SDL_SetVideoMode
This was SVN commit r1780.
2005-01-23 18:05:33 +00:00
janwas
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
janwas
468fb35ab5 waio.h: moved some signal handler defs here from wposix
This was SVN commit r1778.
2005-01-23 18:04:02 +00:00
janwas
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
janwas
bc52269989 lint fixes; changed wtime init order
This was SVN commit r1776.
2005-01-23 17:56:00 +00:00
janwas
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
janwas
44ffb32169 fix include path (relative to lib)
This was SVN commit r1774.
2005-01-23 17:50:07 +00:00
janwas
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
janwas
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
janwas
4360c501d8 mouse_x/y => g_mouse_x/y
This was SVN commit r1771.
2005-01-23 17:42:28 +00:00
olsner
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
olsner
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
Ykkrosh
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
Ykkrosh
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
janwas
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
Ykkrosh
3ae57e7b0d Inverted my accidental inversion of logic
This was SVN commit r1697.
2005-01-10 21:07:24 +00:00
janwas
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
janwas
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
janwas
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
Ykkrosh
37d2d83a9d Adjusted things to work with the new top-down orientation
This was SVN commit r1668.
2005-01-07 14:10:14 +00:00
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
janwas
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
Ykkrosh
f791239396 Fix for strange machine with no audio
This was SVN commit r1611.
2005-01-02 00:05:33 +00:00
Ykkrosh
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
Ykkrosh
f9c51d8ec7 Replaced - with _ in GUI
This was SVN commit r1604.
2005-01-01 12:06:17 +00:00
Ykkrosh
855e1a7f81 Small ScEd updates
This was SVN commit r1601.
2004-12-30 23:01:09 +00:00
Ykkrosh
7efc7a7903 Fixed memory leak
This was SVN commit r1598.
2004-12-30 17:27:53 +00:00
Ykkrosh
ed55ad4d82 Put crashlog into ScEd.
This was SVN commit r1590.
2004-12-28 20:53:54 +00:00
Ykkrosh
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
olsner
46f5c61179 Linux/GCC/glibc Compat
This was SVN commit r1532.
2004-12-18 23:30:28 +00:00
janwas
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
janwas
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
Ykkrosh
d8ae8a524c Fixed something that looked like a potential bug
This was SVN commit r1515.
2004-12-16 15:15:24 +00:00
janwas
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
janwas
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
janwas
9f6d085732 oops, removed one const too many. fixed.
This was SVN commit r1484.
2004-12-10 00:14:10 +00:00
janwas
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
janwas
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
janwas
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
janwas
0f18178fda fixed sched. priority code: wouldn't work for all values.
This was SVN commit r1468.
2004-12-07 03:01:12 +00:00
janwas
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
janwas
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
janwas
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
Ykkrosh
a2a6f29ab3 s/Prometheus/Pyrogenesis/
This was SVN commit r1459.
2004-12-05 21:56:09 +00:00
olsner
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
janwas
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
janwas
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
janwas
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
janwas
2c0d5c0248 bugfix: needs to use full path conversion routine
This was SVN commit r1434.
2004-12-01 21:34:01 +00:00
janwas
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
janwas
f04af0077e ignore .svn folders (and their contents) when mounting dirs
This was SVN commit r1432.
2004-12-01 08:16:01 +00:00
janwas
4d83cba7e6 add required precompiled header include
This was SVN commit r1431.
2004-12-01 06:52:39 +00:00
janwas
2eed8a8b45 even longer SND_CARD_LEN
This was SVN commit r1430.
2004-11-30 23:40:44 +00:00
Ykkrosh
d9f30a5d42 Faster Ogg reading (~2.5x in extremely unoptimised builds)
This was SVN commit r1408.
2004-11-27 04:14:34 +00:00
Ykkrosh
fe54b3deeb Fixed minor warnings
This was SVN commit r1406.
2004-11-27 03:22:04 +00:00
Ykkrosh
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
olsner
30ad195c0b Linux/GCC Compat
This was SVN commit r1393.
2004-11-23 23:56:10 +00:00
janwas
d9ed18f8ca fixed stupid bug, simplified vfs_next_dirent
This was SVN commit r1389.
2004-11-23 23:51:34 +00:00
janwas
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
janwas
5857361da2 add ERR_VFS_DIR_END code
This was SVN commit r1384.
2004-11-23 21:08:59 +00:00
janwas
9a00cd11d5 add match_wildcard function (for vfs_next_dirent)
This was SVN commit r1383.
2004-11-23 20:52:03 +00:00
janwas
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
janwas
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
janwas
3b5ab280d4 add win_exe_dir (application's start directory)
This was SVN commit r1377.
2004-11-22 07:40:32 +00:00
janwas
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
janwas
b2ba38e7a4 define ZLIB_DLL before zlib.h
This was SVN commit r1374.
2004-11-22 00:17:37 +00:00
janwas
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
janwas
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
janwas
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
janwas
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
janwas
2f9a735232 add win_sys_dir for win-specific code
This was SVN commit r1360.
2004-11-19 22:41:37 +00:00
janwas
1ba56151ca explicit string size; remove reference to detect()
This was SVN commit r1359.
2004-11-19 22:41:05 +00:00
janwas
d5473db68e warning fix: remove redundant uint >= 0
This was SVN commit r1358.
2004-11-19 22:40:27 +00:00
janwas
4a9fc1e1d1 add sound card info; remove central detect() call
This was SVN commit r1357.
2004-11-19 22:40:00 +00:00
janwas
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
janwas
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
olsner
3136791492 Linux/GCC Compat(tm)
This was SVN commit r1284.
2004-11-07 21:30:47 +00:00
janwas
2cf79ca6cf more dox :]
This was SVN commit r1279.
2004-10-30 15:17:19 +00:00
janwas
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
janwas
06051e3628 cleaned up and documented. ready for use.
This was SVN commit r1275.
2004-10-23 19:55:41 +00:00
janwas
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
janwas
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
janwas
6f114dcd5e h_force_close support for sound shutdown issue
This was SVN commit r1268.
2004-10-22 21:58:03 +00:00
Ykkrosh
0f93e53e61 \n on debug_out
This was SVN commit r1266.
2004-10-21 15:08:10 +00:00
janwas
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
janwas
0540792825 add ERR_AGAIN error
This was SVN commit r1262.
2004-10-20 13:36:49 +00:00
janwas
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
janwas
0afc3c159d trivialities: add extern, add assert to make sure oglInit called
This was SVN commit r1260.
2004-10-19 17:49:12 +00:00
janwas
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
Ykkrosh
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
janwas
34b553e2b2 remove ogg_display junk
This was SVN commit r1256.
2004-10-18 14:25:13 +00:00
Ykkrosh
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
janwas
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
janwas
d272a7ebb4 remove ofs field for vfs_start_io - never used
This was SVN commit r1249.
2004-10-16 20:52:18 +00:00
janwas
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
janwas
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
janwas
67d95dd3af add ARRAY_SIZE
This was SVN commit r1214.
2004-10-06 14:11:55 +00:00
janwas
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
janwas
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
janwas
7a0cf92c25 add RES_UNIQUE, required for sound code
This was SVN commit r1209.
2004-10-05 13:10:49 +00:00
janwas
13dfff0e12 removed unnecessary (unused) calc
This was SVN commit r1208.
2004-10-05 13:07:25 +00:00
janwas
10a81394ff removed test rig crap
This was SVN commit r1207.
2004-10-03 23:28:57 +00:00
janwas
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
olsner
df1b502bbd Linux Compat and some updated PARANOIA code
This was SVN commit r1189.
2004-09-22 15:20:58 +00:00
janwas
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
Ykkrosh
a1bd91d198 VC2k5 fix: don't keep converting char* -> const char* -> char*
This was SVN commit r1184.
2004-09-21 22:10:49 +00:00
janwas
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
janwas
ff4af72da1 fix incorrect round up calculation
This was SVN commit r1182.
2004-09-21 16:59:50 +00:00
olsner
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
janwas
8b2e918e05 cleanup + bulletproofing
This was SVN commit r1176.
2004-09-21 13:40:14 +00:00
janwas
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
Ykkrosh
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
janwas
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
janwas
85cf439f62 slight changes (memset IOSlot; if(.. < 0) -> CHECK_ERR)
This was SVN commit r1171.
2004-09-19 19:28:00 +00:00
janwas
b459e7e640 fixed debug_check_heap definition
This was SVN commit r1170.
2004-09-19 19:27:04 +00:00
janwas
a0f0215c15 fixed debug_check_heap definition
This was SVN commit r1167.
2004-09-19 18:45:04 +00:00
janwas
c3ed7df432 0 -> FALSE + add/removed debug code
This was SVN commit r1166.
2004-09-19 18:44:21 +00:00
janwas
1166c2a22c workaround for stupid "void* -> unsigned cast" warning
This was SVN commit r1165.
2004-09-19 17:27:03 +00:00
janwas
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
janwas
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
janwas
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
janwas
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
janwas
b3a5bad377 fix 2 stupid h_mgr_shutdown bugs leading to failure to close some leaked handles at exit (see bug 26)
- was iterating over all HDATA slots up to last_in_use, but it is
inclusive
- when closing, wasn't resetting refcount, so h_free kept those with
refcount > 1 open

This was SVN commit r1158.
2004-09-19 13:46:38 +00:00
janwas
a872461a47 no longer 2 tex_write calls - just one that fills a TexInfo directly => no longer need mem_assign to wrap a pointer, only to dereference immediately thereafter
This was SVN commit r1157.
2004-09-19 13:43:53 +00:00
janwas
d46cf9cf1f remove mem_assign and mem_assign_user (all call sites rewritten so that they're no longer needed)
still available in source, but shouldn't be necessary.

This was SVN commit r1156.
2004-09-19 13:41:49 +00:00
janwas
e4f160df27 fix headers: ogl_tex.h is user-level texture stuff, tex.h is only the texture loader.
this came up due to header change - some unnecessary stuff isn't
included by default anymore.

This was SVN commit r1155.
2004-09-19 11:57:51 +00:00
janwas
02ec0a7e62 add comment: tex_upload binds texture as a side effect
This was SVN commit r1154.
2004-09-19 11:40:42 +00:00
janwas
7c269d7735 better encapsulation of header (=> less dependencies)
This was SVN commit r1151.
2004-09-19 11:36:26 +00:00
janwas
5a8dd803a7 fix for gcc: philip reports it doesn't have upper_bound (although it's part of STL). replaced with equal_range
This was SVN commit r1150.
2004-09-19 11:23:12 +00:00
Ykkrosh
2d153bac2d Increased paranoia, in case the i18n system crashes while translating the crash message
This was SVN commit r1139.
2004-09-06 11:39:27 +00:00
Gee
5c2838f7cf Forgot to remove a temp log-output
This was SVN commit r1129.
2004-09-06 03:21:56 +00:00
Gee
6e07632775 Changed a function that the GUI uses to Unicode.
This was SVN commit r1127.
2004-09-06 02:24:34 +00:00
Ykkrosh
3b15f3f1e4 Text alignment alterations
This was SVN commit r1119.
2004-09-04 20:35:12 +00:00
janwas
78934b50c1 split up call to _CrtSetDbgFlag
This was SVN commit r1112.
2004-09-03 20:21:09 +00:00
Ykkrosh
f57e5ab737 Localised crash message (try ":loadLanguage("pseudogreek"), crash()" in the console in a non-Debug build)
This was SVN commit r1105.
2004-09-02 19:24:29 +00:00
janwas
72e730be3a minor improvements / commenting
This was SVN commit r1098.
2004-09-02 02:47:11 +00:00
janwas
71b62dc484 more explanation of auto-init system
This was SVN commit r1097.
2004-09-02 02:46:50 +00:00
janwas
f05afa04a2 fix incorrect Tex_reload state handling (caused actual reloads to fail, i.e. display white texture)
This was SVN commit r1079.
2004-08-28 17:44:28 +00:00
janwas
b7ceaa0652 fix init segment names (must not be A or Z); see meeting log, 2004-08-28
This was SVN commit r1078.
2004-08-28 17:34:06 +00:00
Ykkrosh
c630437a9e Removed -- it was no longer used (replaced by unifont.(cpp|h)) and causing conflicts with ps/Font.cpp
This was SVN commit r1077.
2004-08-28 13:35:48 +00:00
janwas
39a2589e2c mk_handle -> cast_to_HANDLE (less confusion)
This was SVN commit r1076.
2004-08-28 11:14:23 +00:00
Ykkrosh
70d84beab2 Altered font handling -- now uses CFont in preference to unifont_* (yay, pointless OO) and allows font mapping ("default"=>"palatino12", etc) using .cfg files
This was SVN commit r1074.
2004-08-27 22:08:30 +00:00
janwas
1aae7dcead more dox!
also found problem with partial reads from zip; not important since all
files are currently loaded in one go, but will attack tomorrow.

This was SVN commit r1065.
2004-08-27 00:33:20 +00:00
janwas
d607aad4db had a look at mmap() due to gamedev post. cleaned it up; now bulletproof and armor-plated (I hope :)).
This was SVN commit r1064.
2004-08-27 00:29:46 +00:00
Ykkrosh
c01f1f00a8 Minorly better error handling
This was SVN commit r1053.
2004-08-24 21:07:20 +00:00
janwas
4ce93a9f12 remove misalign warning (no longer relevant)
This was SVN commit r1052.
2004-08-24 17:42:46 +00:00
janwas
df5ba1f690 simplification: only VFS allocates output buffer
This was SVN commit r1051.
2004-08-24 17:34:00 +00:00
janwas
13e5f5dc11 underwent review, armor-plating and documentation. "finished" (i hope) except for one last outstanding issue:
special-casing uncompressed files in archive. the impl is hackish ATM,
and requires further work on the file_io cache.

This was SVN commit r1050.
2004-08-24 17:29:54 +00:00
janwas
fb0b498de2 pthread_mutex update - now uses CRITICAL_SECTIONs. quite hacky; awaiting word from simon how he'd like it :)
This was SVN commit r1049.
2004-08-24 17:27:51 +00:00
Ykkrosh
59fd28fc93 GCC fixes: made zip_archive_open/close not inline
This was SVN commit r1033.
2004-08-21 12:54:25 +00:00
Ykkrosh
57fad52ef3 GCC non-fixes: marked broken code
This was SVN commit r1032.
2004-08-21 12:53:17 +00:00
Ykkrosh
d1e29b1d16 GCC fixes: avoid warnings about XP_UNIX
This was SVN commit r1031.
2004-08-21 12:52:31 +00:00
Ykkrosh
a8f64267a2 GCC fixes: evil goto.
This was SVN commit r1030.
2004-08-21 12:50:55 +00:00
Ykkrosh
35baf71fe8 Define XP_* globally, for anything that uses SpiderMonkey directly
This was SVN commit r1025.
2004-08-20 14:02:53 +00:00
janwas
f94ecbd6d7 hide ugly multimap code behind interface
This was SVN commit r1022.
2004-08-19 12:03:15 +00:00