Commit Graph

1528 Commits

Author SHA1 Message Date
Ykkrosh af8d7ce98d Fix tests on Linux
This was SVN commit r7195.
2009-11-13 20:51:04 +00:00
Ykkrosh 6c8c99a107 # Greatly improve startup time on Linux, and avoid deadlocks
Handle FAM events in a background thread, instead of reading
synchronously

This was SVN commit r7194.
2009-11-13 20:26:20 +00:00
Ykkrosh 5174a0a1ce Fix GCC warnings
This was SVN commit r7192.
2009-11-13 00:49:58 +00:00
Ykkrosh 44066f5ae4 GCC build fix
This was SVN commit r7191.
2009-11-12 19:35:28 +00:00
janwas 345395375a wchar: only raise warning dialog if caller doesn't ask for a return code
update test_wchar accordingly.
app_hooks: update documentation

This was SVN commit r7190.
2009-11-10 21:07:18 +00:00
janwas 7a6109f474 debug_SkipNextError changed to debug_SkipErrors (allow skipping multiple instances of the same error code until the next debug_StopSkippingErrors, which returns the number that were skipped)
also:
- add listing of error codes to avoid collisions
- cpu: add cpu_MemoryBarrier
- wchar: warn whenever a character is replaced/invalid bytes are
encountered

This was SVN commit r7189.
2009-11-10 15:48:41 +00:00
Ykkrosh 6ee9dd8afe GCC build fixes
This was SVN commit r7188.
2009-11-09 21:40:24 +00:00
janwas ff15c522fe implement changes suggested by Philip:
- add self-test
- allow decoding UTF8 values beyond BMP (and replace them later)
- quietly replace invalid bytes

This was SVN commit r7187.
2009-11-09 20:53:48 +00:00
Ykkrosh 593bf6a571 GCC build fixes
This was SVN commit r7186.
2009-11-09 17:36:39 +00:00
janwas 450da0aaf7 rename [w]string_to_[w]string UTF8
add safer/more portable/less dependent on locale implementation of
wchar_t <-> UTF8

This was SVN commit r7185.
2009-11-09 14:52:51 +00:00
Ykkrosh 934bc31246 Fix GCC build error
This was SVN commit r7181.
2009-11-07 13:34:11 +00:00
janwas 2ef4e7353e self-test and x64 fixes:
- headerless: distinguish between allocation granularity and min size
(hopefully fixes test failure on x64)
- test_wdbg_sym: disable printf spew
- hpet: use workaround when x64 MOVD isn't available due to processor or
compiler
- JSConversions: VC2005 x64 apparently distinguishes ssize_t from long
int (as it does with size_t)

This was SVN commit r7179.
2009-11-07 12:26:40 +00:00
janwas 7cf2888323 fix to sys_vswprintf's buffer termination (caught by self-test)
This was SVN commit r7178.
2009-11-07 09:42:25 +00:00
janwas f432d9d18b fix dehydra warnings (some of which were dangerous pass-user-string-as-format-string vulnerabilities)
This was SVN commit r7177.
2009-11-07 09:32:19 +00:00
Ykkrosh 378bd89c1d Annotate some more printf-style functions, for type checking
This was SVN commit r7176.
2009-11-06 23:06:50 +00:00
Ykkrosh 3334c83ce0 Fix build and tests on Linux
This was SVN commit r7174.
2009-11-06 18:35:32 +00:00
janwas 048d4c41c8 fix: unix doesn't have a standard wopen(). we'd like to use wchar_t _wopen on Windows, and convert to UTF8+open() on unix, which calls for adding a new sys_wopen() interface to sysdep.
This was SVN commit r7173.
2009-11-06 16:46:08 +00:00
janwas 607ea6f8b4 chip away at gcc errors/warnings
This was SVN commit r7172.
2009-11-06 16:15:09 +00:00
janwas 6ec9128e78 refactor: move reload functionality into ps/Filesystem to allow reloading non-resource files (e.g. scripts); VFS is now responsible for returning VirtualPath and invalidating the changed file/directory
This was SVN commit r7171.
2009-11-06 11:50:04 +00:00
janwas 9662666403 more string drudgery
- sprintf, snprintf -> sprintf_s (ensures 0-termination of result)
- use %s instead of %hs with sprintf_s to avoid GCC warnings
- convert h_mgr's to_string to unicode

This was SVN commit r7170.
2009-11-06 10:59:10 +00:00
janwas 25717ef768 add VirtualPath API to VFS in preparation for moving hotload logic out of library code and into the game. also rename GetRealPath -> RealPath + some cleanup/documentation
This was SVN commit r7169.
2009-11-06 01:30:16 +00:00
janwas 8fefedb5ae fix: native and vfs directory paths should end with '/' (more code cares about this now)
refactor: simplify dir_watch_Poll interface (returns vector)
wdir_watch: major refactor: use shared_ptr for reference-counting shared
watch state
remove no longer needed path_util functions

This was SVN commit r7168.
2009-11-05 20:46:15 +00:00
janwas 5ba40becc5 avoid unspecified behavior due to definition of __WFILE__ (now use WIDEN(__FILE__) instead)
fix inadvertent breakage of gfx_detect's SHORTEN

This was SVN commit r7167.
2009-11-04 23:00:53 +00:00
janwas 4c44602ea0 add support for hotloading (i.e. reacting to directory change notifications and reloading the affected files)
also clean up VFS a bit.
ogl_tex now tolerates deleting/renaming texture files that are in use
(except for a warning message which can be 'continue'd)

This was SVN commit r7166.
2009-11-04 22:35:54 +00:00
janwas b48e877f5b VFS fixes+refactoring
- fix: archive_zip: avoid crash if zip file contains empty filenames
- real_directory: enable dir watch
- refactor vfs_tree interface (move recursive calls into VFS)
- VFS: return text representation instead of only printing it

This was SVN commit r7165.
2009-11-04 17:26:54 +00:00
janwas 77d2c67ada misc. string fixes
convert remaining %s to %hs or %ls
use WPRINTF_ARGS on unicode printf functions
fix: __func__ can't be widened via preprocessor (-> revert to char*)
convert remaining external_[directory|file_string to string()
Util: don't mix fwprintf and fprintf
Formation: fix dangling pointer (storing result of c_str())

This was SVN commit r7164.
2009-11-04 15:29:28 +00:00
janwas e29d5a779f fix: wprintf: buffer mustn't be unicode (caught by self-test)
test_wdbg_sym - reenable, add test for basic stack walking
ia32_GetCallTarget - move frequent cases to front, add support for ILT
function trampolines
wdbg_sym: fix: ia32_walk_stack wasn't setting AddrStack; fix string
output

This was SVN commit r7163.
2009-11-04 14:24:54 +00:00
janwas da3030cfe6 more unicode/string cleanup:
- swprintf -> swprintf_s
- use secure_crt's _wfopen_s instead of conversion+fopen
- centralize all MBS <-> WCS conversion in new wchar.cpp (requires
workspace rebuild)
- remove no longer needed os_path
- remove unnecessary fs::wpath / VfsPath constructor casts
- fixed buffer size parameters -> ARRAY_SIZE

This was SVN commit r7162.
2009-11-03 22:27:25 +00:00
janwas 8a52113e60 huge cleanup and conversion of most string handling (especially paths) to unicode
please note: format strings must be %hs for char* arguments and %ls for
wchar_t*

This was SVN commit r7161.
2009-11-03 21:46:35 +00:00
janwas a46f3432f3 harmless changes in preparation for moving to unicode
ia32: fix: ia32_GetCallTarget wasn't always initializing target
x86_x64: use macro implementation for rdtsc to reduce timing overhead

This was SVN commit r7160.
2009-11-03 16:30:21 +00:00
Ykkrosh e257bef5da Fix even more 64-bit warnings
This was SVN commit r7152.
2009-10-05 16:15:51 +00:00
Ykkrosh ea4abb8f3c Fix a 64-bit warning
This was SVN commit r7149.
2009-10-03 09:31:51 +00:00
janwas b5c7e3edac fix: output distance information in case of error to aid in diagnosis
This was SVN commit r7133.
2009-09-07 21:06:44 +00:00
janwas 93ab45e434 simplify file implementation (remove unnecessary layer of abstraction)
ensure struct stat has 64-bit fields on windows
also fixed some warnings

This was SVN commit r7120.
2009-08-24 21:04:01 +00:00
Ykkrosh cd6a926c14 Fix #293 (Lots of printf format string errors), based on patch from Cygal
This was SVN commit r7113.
2009-08-14 18:42:39 +00:00
janwas 92786e368b use a simple linear distance model for attenuation
This was SVN commit r7112.
2009-08-12 21:28:10 +00:00
janwas 4c4fec0644 # fix sound error on Linux
Linux OpenALsoft implementations weren't resetting source state
correctly when stopping/clearing buffer queue, leading to errors when
the source was reused. workaround: use 'rewind' to ensure the buffer
state is updated.
closes #297 (please reopen if the problem persists)

This was SVN commit r7111.
2009-08-12 20:27:37 +00:00
janwas 119eb08b47 fix potential bug when reusing OpenAL sources (rollover wasn't always set)
This was SVN commit r7108.
2009-08-11 20:26:50 +00:00
Ykkrosh 43950c2fde Simplify sys_get_executable_name by using realpath
This was SVN commit r7104.
2009-08-09 20:28:46 +00:00
Ykkrosh 2114bf6795 Fix secure_crt to match MSVC and pass tests
This was SVN commit r7102.
2009-08-09 19:11:14 +00:00
janwas 4cebd021b0 fix insidious 32-bit bug that was causing invalid struct stat offsets
This was SVN commit r7100.
2009-08-09 17:04:17 +00:00
janwas 369820c315 fix self-test problems exposed by more complete coverage (thanks, Philip!)
refs #294

This was SVN commit r7099.
2009-08-09 09:42:23 +00:00
Ykkrosh bd9bc6db78 Enable invalid parameter tests for VC's Secure CRT
This was SVN commit r7097.
2009-08-08 19:18:16 +00:00
Ykkrosh f4fbe9dc1a Extend the sprintf_s tests
This was SVN commit r7096.
2009-08-08 19:07:03 +00:00
janwas 7bbb4d4777 add more detailed OpenAL error reporting (the line number of AL_CHECK invocation, to allow exact determination of the faulting function)
This was SVN commit r7094.
2009-08-08 16:12:02 +00:00
janwas 0ef5f357be fix behavior of *sprintf_s
add philip's test_printf
also add note to archive_builder

This was SVN commit r7089.
2009-08-08 11:13:05 +00:00
Ykkrosh 5c8861adf4 Remove redundant -L linker arguments on non-Windows.
Fix some compiler warnings.
Fix missing non-PCH headers.

This was SVN commit r7083.
2009-08-07 17:22:05 +00:00
Ykkrosh 6374080b60 # Fixed Linux execution problem. Extended unit-test system.
Fix sys_get_executable_name.
Add mock object support.
Add CxxTest wrapper to support "-test TestSuitename" and "-test
TestSuitename::test_case_name" command-line arguments for running
individual tests.

This was SVN commit r7081.
2009-08-07 15:21:39 +00:00
janwas 5b302658a3 # fix permissions of created directories
also took the opportunity to move file_system_posix to file_system since
a further FS abstraction layer = YAGNI. also namespaced
file_system_util.

This was SVN commit r7074.
2009-08-04 19:57:53 +00:00
Ykkrosh 4a4269824b Add more vararg error-checking annotation
This was SVN commit r7073.
2009-08-04 16:08:41 +00:00