1
0
forked from 0ad/0ad
Commit Graph

1895 Commits

Author SHA1 Message Date
7f0b055907 warn when VFS directory creation fails due to an existing file of the same name (was seeing a crash due to a Zip file I had created in the cache directory)
This was SVN commit r8316.
2010-10-09 17:53:25 +00:00
6b5b35c245 Remove BFD-based debugging code, to avoid the runtime dependency on binutils.
Fixes #581.

This was SVN commit r8271.
2010-10-04 17:21:55 +00:00
0d172264f8 # Add -archivebuild mode to generate .zip files for releases, with automatic compression of textures.
Fix terrain manager to understand .cached.dds files.
Fix IArchiveWriter so you can pass it absolute paths of files to load,
and different relative paths for storing inside the archive.
Fix fs_util::ForEachFile when called on the VFS root.

This was SVN commit r8130.
2010-09-18 18:21:00 +00:00
b15c5c1c45 Add anisotropic filtering support to ogl_tex.
Shrink some OglTex fields so that it fits in the size limit.
Add function to efficiently read the 1x1 mipmap level's colour.
Add RGB->RGBA and BGR->RGBA transforms.
Fix DXT1a detection logic.
Fix OglTex_validate failing when ogl_max_tex_size == -1 (e.g. before
ogl_Init is called).

This was SVN commit r8097.
2010-09-10 20:37:54 +00:00
ad02ab726d Expose VFS file priorities.
This was SVN commit r8096.
2010-09-10 20:29:38 +00:00
5b7afe3606 Fix zip file detection.
This was SVN commit r8095.
2010-09-10 20:28:48 +00:00
dee3cb84b5 Fix S3TC decoder bug.
Add S3TC decoder test.
Fix texture codec test to not be a no-op, then disable it since it
fails.
Add DDS mipmap removal transform.

This was SVN commit r8094.
2010-09-10 20:25:23 +00:00
c0c8132dd4 fix VFS real path retrieval for files mounted from multiple directories (e.g. mods)
closes #564
GetRealPath was too simplistic and just asked the directory *most
recently mounted* into the file's VFS directory for its path. the
correct solution is to ask the file's loader for its path. the archiver
IFileLoader new returns the archive's pathname as the real path.
also simplified VfsFile's interface.

This was SVN commit r8082.
2010-09-05 21:41:45 +00:00
f5f65c23c0 OSX compat: remove cpu_CAS64 wrapper, since intptr_t and i64 apparently aren't compatible types. IA-32 code should call ia32_asm_CAS64 if it wants to CAS 64-bit values.
This was SVN commit r8080.
2010-09-05 15:38:34 +00:00
2e7436434d warning fixes: mostly size_t vs. specialized API type and other type conversion.
added player_id_t typedef and INVALID_PLAYER, use that instead of -1.
also added sanity checks to cpu.cpp to ensure ARCH_* is correct (see
http://www.wildfiregames.com/forum/index.php?showtopic=13327&hl=)
and further predefined macros to arch.h just to be sure.

This was SVN commit r8079.
2010-09-05 09:38:30 +00:00
014d504e3a Fix FAT-tolerant timestamp comparison
This was SVN commit r8075.
2010-09-04 16:46:10 +00:00
1c535b6a8a Fix #544 (Fall back to windowed mode if fullscreen fails), based on patch from oln
This was SVN commit r8072.
2010-09-04 14:49:12 +00:00
99d56959aa Fix #552 (compile with new boost (1.44+)), based on patch from Karlik
This was SVN commit r8043.
2010-08-29 12:44:13 +00:00
3abe355b7c Disable implementation of os_cpu_SetThreadAffinityMask on Linux, since it's not necessary and it causes errors.
Should fix #547.

This was SVN commit r8024.
2010-08-22 11:23:50 +00:00
9fa5af5fbf Avoid crash when loading texture named "".
Report texture-loading errors.

This was SVN commit r8006.
2010-08-19 21:58:27 +00:00
8367b73087 Fix warning
This was SVN commit r7937.
2010-08-13 18:13:14 +00:00
4f1b7bb0e6 Complain more informatively about incorrect ENet versions
This was SVN commit r7897.
2010-08-10 21:49:33 +00:00
08cdb0b9c2 Fix more --without-pch
This was SVN commit r7896.
2010-08-10 20:22:23 +00:00
7eebe05485 fixes+improvements from work:
timer: cleanup, remove duplication
topology: fix incorrect param order
tsc: ensure MSRs are available before accessing
msr: add prefix to make clear that registers are nehalem-specific

This was SVN commit r7892.
2010-08-10 17:03:17 +00:00
b89e86772b belatedly add files missing from 3d45069b3f (my bad)
This was SVN commit r7884.
2010-08-09 07:37:43 +00:00
3d45069b3f improvements/additions from work
bits: fix bit_mask for signed types, add SetBitsTo, LeastSignificantBit,
ClearLeastSignificantBit.
add MSR support (read/write via mahaf in kernel mode)
x86_x64: expose family/model
topology: add support for determining core/package from APIC ID.
TSC: report actual frequency for nehalem invariant TSC.
improved UNREACHABLE/ASSUME_UNREACHABLE (avoid ICC warning, add GCC4.5
support)

This was SVN commit r7860.
2010-08-06 13:03:44 +00:00
b4e409e80d Fix #525 more, so it doesn't use an uninitialised variable
This was SVN commit r7853.
2010-08-05 17:13:10 +00:00
c944148337 fix deadlock in pre-XP SP2 windows codepath
fixes #525

This was SVN commit r7852.
2010-08-05 16:20:11 +00:00
df4e9a05c2 Fix build error on 32-bit Linux
This was SVN commit r7851.
2010-08-05 14:24:32 +00:00
cc8ad0f3c0 Fix line endings
This was SVN commit r7850.
2010-08-05 14:22:56 +00:00
51d0abbf2a Use SDL_GL_SWAP_CONTROL to control vsync on non-Windows. Fixes #520.
This was SVN commit r7845.
2010-08-04 21:30:43 +00:00
95047013d0 improvement to os_cpu_SetThreadAffinityMask: avoid Sleep(), fall back to APIC ID if GetCurrentProcessorNumber is unavailable
This was SVN commit r7841.
2010-08-02 07:56:37 +00:00
fdb8be2fd5 Fix warning
This was SVN commit r7836.
2010-08-01 17:36:39 +00:00
e20f93ffdc add proper OGG support, a near-total rewrite of a patch by Kyniker/Heron. not yet integrated into snd_mgr. also remove the no longer used CMusicPlayer and CPlayList.
This was SVN commit r7834.
2010-08-01 10:52:12 +00:00
d29dd45237 Fix compiling with Clang
This was SVN commit r7824.
2010-07-30 21:42:22 +00:00
dd5f242e1e Fix use of undefined behaviour (shifting by >= size of left operand)
This was SVN commit r7823.
2010-07-30 21:33:26 +00:00
3124b55cc0 Warning fixes
This was SVN commit r7821.
2010-07-29 21:04:07 +00:00
1706363bab Fix #423 (Switch from CppDoc to Doxygen), based on patch from anr.
Also delete some unused declarations, and rename is_playing to
snd_is_playing.

This was SVN commit r7813.
2010-07-29 15:55:41 +00:00
759e452e0b Fix warning
This was SVN commit r7810.
2010-07-25 18:19:30 +00:00
f6a1501410 Set svn:eol-style native
This was SVN commit r7809.
2010-07-25 18:08:35 +00:00
f79056efbd fix CPU topology problem under VMs reported by Philip (update workspaces required)
also moved lib.h's code generation macros into a separate file to break
a circular dependency with lib.h's use of debug_assert, and added a stub
implementation of sysdep/numa.h

This was SVN commit r7808.
2010-07-25 17:10:57 +00:00
8d7011998e Fix typo
This was SVN commit r7804.
2010-07-25 11:24:44 +00:00
3bccfc295f Fix the GL extension fallback functions so they actually get used
This was SVN commit r7803.
2010-07-25 11:03:45 +00:00
4cd88d8aa9 Remove an assertion which I hope wasn't important
This was SVN commit r7801.
2010-07-24 21:54:54 +00:00
bfcb278bf0 swscanf is an insane mess of bugs and incompatibilities, so stop using it for fancy parsing
This was SVN commit r7800.
2010-07-24 20:48:18 +00:00
93802f257a Avoid crash caused by glibc <=2.7 bug
This was SVN commit r7798.
2010-07-24 20:03:15 +00:00
fea6745ec9 fix incorrect screening of APIC IDs (now handle OS X's lack of thread affinity and/or running under a VM without complaint)
This was SVN commit r7797.
2010-07-24 18:48:25 +00:00
523a6a5819 Fix tests to be more tolerant of odd environments
This was SVN commit r7796.
2010-07-24 15:49:40 +00:00
9f6eb626b4 Fix reported build errors
This was SVN commit r7792.
2010-07-23 19:11:02 +00:00
a3f37209a5 Warning fix
This was SVN commit r7787.
2010-07-22 19:01:25 +00:00
8ab70776a5 fix: cpu_CAS64 should use i64 for compatibility with 64-bit CAS
This was SVN commit r7786.
2010-07-22 18:57:36 +00:00
aa44bac652 from work: add thread-safe timer; add CAS64 (required for thread-safe timer); remove topology init requirements, no longer cache results (simplifies GroupPolicy_PerCache); add scoped affinitizer; whrt: fix race condition reported by parallel inspector. also refactor cache and TLB detection.
This was SVN commit r7785.
2010-07-22 16:17:33 +00:00
41e1652e10 Using .png for session cursors
Added .png version of cursors
Added gather treasure cursor

This was SVN commit r7779.
2010-07-21 20:35:26 +00:00
12568b0229 further fixes from work (where i've finally managed to (temporarily) sign the Aken driver)
in particular, remove two hindrances to displaying the error dialog
during early init.

This was SVN commit r7754.
2010-07-14 12:23:53 +00:00
c634a62f4c from work: cpu_AtomicAdd - return previous value (required for atomic test&set)
numa: move allocator into higher-level VirtualMemory module, since
VirtualAllocExNuma requires Server 2008 and the workaround doesn't
require numa support

This was SVN commit r7753.
2010-07-14 08:52:20 +00:00
17469a93a1 fix: don't complain if redirecting stdout fails (when running as non-admin from "program files")
see http://www.wildfiregames.com/forum/index.php?showtopic=12949&hl=
also remove extern "C" to allow C++ implementation functions

This was SVN commit r7750.
2010-07-14 07:29:35 +00:00
0833d6a950 Improve OpenGL 1.1 support
This was SVN commit r7747.
2010-07-13 20:37:44 +00:00
45016e3980 numa: fix: nodeNumber isn't guaranteed to be contiguous; fix race conditions during init; add support for ACPI SRAT; pin NUMA alloc thread to NUMA node; major refactor
also removed two critical sections (no longer needed due to thread-safe
init)

This was SVN commit r7745.
2010-07-13 12:45:27 +00:00
a440569970 Fix warning
This was SVN commit r7744.
2010-07-12 22:17:05 +00:00
ee72115b7a Fix Linux compile error
This was SVN commit r7743.
2010-07-12 22:14:28 +00:00
9f66c86d64 fix ACPI table validation after encountering signatures containing ! and _ (invalid)
This was SVN commit r7742.
2010-07-12 13:01:12 +00:00
98770fa4cc # fix race conditions in ModuleInit and related cleanup.
CAS: uintptr_t->intptr_t to allow use of both cpu_CAS and cpu_AtomicAdd
topology: remove non-thread safe caching, expose ApicIds, use ModuleInit
x86_x64: use ModuleInit instead of unsafe static flags; zero-init regs
instead of just setting ecx
ModuleInitState now holds the LibError returned by the init callback (so
that the second init doesn't appear to succeed despite the first
failing)
wnuma: cleanup, add ACPI SLIT relative distance detection

This was SVN commit r7741.
2010-07-12 12:57:58 +00:00
8c1deecdbe C++0x compatibility (fix narrowing conversions in initialisers; avoid ambiguity with std::next)
This was SVN commit r7739.
2010-07-11 22:40:17 +00:00
e6dec4b4b4 (vc2010) warning fixes
This was SVN commit r7733.
2010-07-10 18:24:02 +00:00
5030706314 more ACPI fixes (acpi_Init removed => callers must be prepared for acpi_GetTable to return 0)
This was SVN commit r7731.
2010-07-10 17:42:54 +00:00
c538d483bc fix overzealous assert (if windows doesn't provide the ACPI routines, the returned list of tables will of course be empty)
see
http://www.wildfiregames.com/forum/index.php?showtopic=12669&st=250&p=207927&#

This was SVN commit r7728.
2010-07-10 16:44:34 +00:00
fad4383a23 fix: wasn't checking function pointers => crash on older windows versions
This was SVN commit r7724.
2010-07-08 21:07:46 +00:00
a761cbdb6e Fix URL opener on OS X
This was SVN commit r7720.
2010-07-08 18:35:02 +00:00
fdf92bee98 warning fixes
This was SVN commit r7719.
2010-07-08 10:58:24 +00:00
b2c4a8597e enable use of ACPI without the mahaf driver (required for NUMA SRAT access at work). also use new DLL import macros.
This was SVN commit r7718.
2010-07-08 10:33:38 +00:00
8c1bd05ab9 fixes+improvements from work (overhaul wutil, add convenience macros for DLL imports)
This was SVN commit r7717.
2010-07-08 10:18:42 +00:00
88f25849b3 Windows fixes
This was SVN commit r7715.
2010-07-07 22:23:18 +00:00
4b06ebd52d Add basic help page into the main menu.
Add buttons to open the web site and IRC.
Tentatively allow Atlas to be launched from the menu.
Add some shutdown functions to support relaunching into Atlas without
having to restart the whole process.

This was SVN commit r7714.
2010-07-07 21:47:31 +00:00
8d9fa66b67 Fix warning
This was SVN commit r7710.
2010-07-07 10:39:12 +00:00
b5c5467c88 Fix errors when compiling with _GLIBCXX_PROFILE
This was SVN commit r7699.
2010-07-05 19:13:22 +00:00
6d3930ace7 fix: don't generate spurious resize events in fullscreen mode when interacting with another topmost window
fix: don't store a PIVFS reference in HDATA, because those aren't freed
due to caching (fixes memory leak)

This was SVN commit r7687.
2010-07-04 11:12:50 +00:00
d2cf6ceb88 less global variables: make most uses of g_VFS explicit (required for another app that has two VFSes), g_yres is no longer required by cursor module
This was SVN commit r7686.
2010-07-04 10:15:53 +00:00
3ff0ccc1fa we noticed that vcbuild somehow excludes winit function pointers from components that don't contain externals referenced by the main EXE (i.e. wposix, wnuma, wsock). the solution will include calling enet_initialize (to replace or coexist with wsock), removing wposix (see below) and ignoring wnuma (because apps that use it will need to call its functions).
wposix's sysconf is no longer used because OS X doesn't support some of
the POSIX names, so we had to add os_cpu routines that supplant the use
of sysconf. am now removing the no-longer needed sysconf emulation,
which also gets rid of wposix_Init.

This was SVN commit r7680.
2010-07-03 19:08:18 +00:00
5fec6c40dd Set svn:eol-style native
This was SVN commit r7655.
2010-07-01 16:58:44 +00:00
20c50d32d4 Windows fixes.
Avoid Boost.Random since it adds a dependency on a new library.

This was SVN commit r7654.
2010-06-30 23:40:51 +00:00
545979040b Expose the user's login name.
This was SVN commit r7648.
2010-06-30 21:18:29 +00:00
103b60daa9 Fix use of deprecated libpng feature.
This was SVN commit r7647.
2010-06-30 21:17:39 +00:00
dba377532e # low-level fixes and improvements
dbghelp: ensure the DLL from our executable directory is loaded (avoids
breakage related to search-path and Dropbox)
wmi: use single-thread apartment COM model because multithreaded breaks
SHGetFolderPathW
wsysdep: sys_pick_directory: allow user-specified initial path; fix
previous non-unicode initial path; avoid reporting error if user cancels
wutil: add function to query executable directory at any time

This was SVN commit r7633.
2010-06-23 16:17:25 +00:00
1fc3076820 fix handling of window resizing (more closely match what SDL does, allow calling SDL_SetVideoMode without triggering a resize event); add support for video expose events
This was SVN commit r7632.
2010-06-21 20:22:26 +00:00
f066daf21d update zlib, libpng; rebuild libjpg (avoids dependency on msvcr71)
update-workspaces required.

This was SVN commit r7630.
2010-06-21 11:54:15 +00:00
eb5f0ce639 fix logic error for CPUs lacking xAPIC (thanks to Brian for reporting this)
This was SVN commit r7628.
2010-06-19 18:22:47 +00:00
85bfdf0983 sync with work (add IO callbacks, export wsdl functions, avoid error in ReadVersionString)
This was SVN commit r7627.
2010-06-14 12:09:49 +00:00
4fa5f1892b # fix CPU detection issue
i3 CPUs report a *maximum* of 8 cores/package, which caused the number
of processors to be misreported as 0 (but only because the APIC IDs were
skipped because the CPU generation was deemed to low, which was due to
failing to consider extended family/model)
thanks to titanforever for reporting this.

This was SVN commit r7626.
2010-06-12 20:21:28 +00:00
045ac1c197 # cleanup
mem_util: inline freelist functions to avoid needing an additional if()
in pool.cpp
pool: add comments clarifying the roles of PoolAllocator vs
RawPoolAllocator
wsdl: refactor (naming convention, determination of window style, reduce
forward decls)

This was SVN commit r7610.
2010-06-05 18:52:39 +00:00
a18aa24fe3 Windows support for window resizing and fullscreen toggling.
Windows build fixes.

This was SVN commit r7607.
2010-06-03 21:15:45 +00:00
0f611042b1 # Support alt+enter to toggle fullscreen mode. Make game window resizable.
Refactor the video mode setting logic to cope better with dynamic
changes.

This was SVN commit r7606.
2010-06-03 19:07:59 +00:00
65cf204423 Display warnings and errors on screen for a short time (fixes #119).
Add warn(), error() functions for simulation scripts.

This was SVN commit r7600.
2010-05-31 22:44:59 +00:00
7dca91f26b # Various changes to the text rendering system.
Rewrite font builder tool to be much simpler and to support more text
effects.
Change GUI to use new set of fonts.
Switch font textures from TGA to PNG so they're easier for the font
builder to create.
Support RGBA font textures (for e.g. stroked text).
Greatly improve text rendering performance by using vertex arrays.
Fix rendering code leaving vertex buffers bound.
Add 'clip' property to GUI text objects, to disable clipping when
rendering.
Delete part of unused console function registration system.

This was SVN commit r7595.
2010-05-30 13:42:56 +00:00
159b96c1a1 MSVC warning fixes
This was SVN commit r7585.
2010-05-25 19:41:18 +00:00
ff17691d4f Add STL-compatible pool allocator.
Use pool allocator in serialization code.

This was SVN commit r7584.
2010-05-25 19:24:14 +00:00
1e40c8c776 MSVC warning fixes
This was SVN commit r7583.
2010-05-25 19:12:00 +00:00
9090d25ef8 Force some byte-order functions to be inline.
Allow aggressive inlining of MD5 buffer updates (particularly for
fixed-size updates).
Make UTF-8 conversion a little faster.

This was SVN commit r7581.
2010-05-25 18:47:11 +00:00
a6600185ff fix delete vs delete[]
This was SVN commit r7545.
2010-05-14 21:28:16 +00:00
f0c2479309 avoid non-utf8 encoded characters being passed to main() on windows
refs #503

This was SVN commit r7544.
2010-05-14 21:15:33 +00:00
202b13d557 Fix the calling conventions properly this time (I hope)
This was SVN commit r7542.
2010-05-13 16:22:07 +00:00
f728050b3f Use correct calling convention on x86-64 OS X
This was SVN commit r7541.
2010-05-13 15:31:49 +00:00
ba7d237d9a Fix triggering of "buffer too small" error during some stack dumps.
Remove dlopen's debug_assert, for POSIX compatibility and because it
causes very ugly problems when dumping the stack if the Collada DLL is
missing.

This was SVN commit r7530.
2010-05-09 19:52:13 +00:00
e2fd560983 work around sound-related deadlock and assert on exit (due to OS X's broken OpenAL implementation)
refs #297

This was SVN commit r7516.
2010-05-08 19:11:28 +00:00
4ea28cf809 OS X Atlas build fix. Fix wcsdup emulation. Remove seemingly unneeded compile flag (closes #424).
This was SVN commit r7513.
2010-05-07 23:09:36 +00:00
4981af4a57 OS X build/warning/test fixes
This was SVN commit r7512.
2010-05-07 20:55:23 +00:00
c611bf6613 Fix RingBuf tests to not miss bugs. Fix RingBuf iterator bugs.
This was SVN commit r7511.
2010-05-07 20:24:42 +00:00
ef602c3dfd fixes/improvements from work
- improved form of noncopyable that avoids inheritance warnings
- PCH updates to allow more restrictive MINIMAL_PCH
sound/SoundGroup.cpp: fix copy-paste error

This was SVN commit r7498.
2010-05-03 12:27:39 +00:00
9864da20fc vfs: disable error dialog if file not found
SoundGroup.cpp: add proper error reporting if snd_open fails

This was SVN commit r7493.
2010-05-01 18:36:24 +00:00
c5f8ca32a2 64-bit compat in BMP code
This was SVN commit r7489.
2010-05-01 09:45:58 +00:00
27556f4b21 Fix window title only displaying the first character
This was SVN commit r7440.
2010-04-06 12:32:17 +00:00
b4f680594b fixes from work:
- correct AllocateAligned deleter and alignment value
- workaround for boost #pragma pack warnings
add DivideRoundUp

This was SVN commit r7439.
2010-04-06 12:06:02 +00:00
6fb5c1b307 lib/ changes required at work:
- allow building regardless of UNICODE setting (e.g. use LoadLibraryW
instead of LoadLibrary)
- export dlopen etc.
- more robust redirection of stdout

This was SVN commit r7427.
2010-04-03 10:46:28 +00:00
870fe8bfe5 fix nvidia multimon gamma issue ("if at first you fail, try again..")
refs #480

This was SVN commit r7421.
2010-03-31 22:26:08 +00:00
e1c6249eab Fix warning and debug spew on OS X
This was SVN commit r7417.
2010-03-31 20:33:42 +00:00
1ebebc4338 Avoid -Wnon-virtual-dtor warnings
This was SVN commit r7416.
2010-03-31 08:36:46 +00:00
13302cc133 Disable visible warnings when gamma-setting fails. Fixes #480.
This was SVN commit r7410.
2010-03-28 18:33:35 +00:00
672b1221c3 Disable executable stacks in .asm files
This was SVN commit r7408.
2010-03-28 18:20:46 +00:00
49eb176b25 Fix MSVC compiler warnings (replace most M_PI with (float)M_PI)
This was SVN commit r7404.
2010-03-26 19:04:40 +00:00
5dce8a2d8c Disable failing test on Windows. See #478.
This was SVN commit r7403.
2010-03-26 18:58:17 +00:00
00e18e4ea8 Report S3TC non-support with an in-game GUI message box.
Fixes #313.

This was SVN commit r7390.
2010-03-23 22:45:07 +00:00
58e79bfdbe Force fancywater off if fragment shader extensions are not supported. See #270
This was SVN commit r7385.
2010-03-21 14:18:15 +00:00
148ff026ca Avoid apparent error on OS X by simplifying wopen API to avoid varargs.
Remove unused sys_wopen.

This was SVN commit r7384.
2010-03-21 12:42:50 +00:00
0bbb99c3cd move M_PI etc. to wposix.h to ensure they're always present on Windows (previously required MathUtil.h)
use M_PI instead of nonstandard PI

This was SVN commit r7380.
2010-03-20 20:54:03 +00:00
d1c5119694 fix: mustn't create directories during mount's vfs path traversal (because they may not be associated with a directory, especially in the common case of mounting into the root directory)
fixes #459

This was SVN commit r7378.
2010-03-20 19:26:12 +00:00
4059826759 when mounting a mod, don't attempt to create the directories (it's reasonable to assume the mod must exist, there is no value in creating a dummy mod directory - unlike the screenshots/logs etc. mounts)
this fixes write errors because mods/internal doesn't exist in public
SVN checkouts and the default mount logic tries to mount internal anyway
(and now just fails that operation silently)
fixes #458

This was SVN commit r7375.
2010-03-20 18:12:48 +00:00
bdfe28766a osx fix: TIMER_ADD_CLIENT identifier conflicted with the name of an existing symbol (namely the OpenGL function whose time was being measured)
This was SVN commit r7374.
2010-03-20 17:46:45 +00:00
9a1fab5243 Build fixes (closes #464)
This was SVN commit r7343.
2010-03-03 14:14:26 +00:00
1861448e6c needed to split lib into separate headers and source files, which requires lots of drudgery to specify paths for each include filename (no longer relying on same-directory lookups)
also rename wchar -> utf8 to avoid conflict with <wchar.h> (requires
rebuild of workspace)
(unfortunately copying history fails to "502 bad gateway"; had to delete
old + add new independently)

This was SVN commit r7340.
2010-03-01 14:52:58 +00:00
adb3847e38 export pthread and byte_order functions
remove ia32_memcpy (no longer provides performance benefit for >= SSE2
CPUs)

This was SVN commit r7339.
2010-03-01 13:54:33 +00:00
5bb14c7a59 Misc. unity fixes (missing includes, undefs, and other things that could be considered generic cleanup)
This was SVN commit r7328.
2010-02-18 00:06:50 +00:00
02253f82f0 Add/rename header guards
This was SVN commit r7326.
2010-02-17 23:21:49 +00:00
c2fd939898 license change to the more permissible Expat/MIT license for lib/ (see forum thread)
This was SVN commit r7316.
2010-02-08 16:23:39 +00:00
cdf0ef1908 add SSE4 cap bits
This was SVN commit r7315.
2010-02-08 15:56:43 +00:00
50b79962ad fix off-by-one error in wcscpy_s parameter list causing crash when copying error dialog text
closes #454
Thanks to Erik for reporting this!

This was SVN commit r7303.
2010-02-03 11:01:58 +00:00
cc0c3988d1 build fixes
This was SVN commit r7300.
2010-02-02 13:57:52 +00:00
0d12738452 Fix crashlog code so it doesn't always crash when trying to generate the crashlog
This was SVN commit r7298.
2010-02-01 20:25:42 +00:00
0e8698d652 Build fixes
This was SVN commit r7288.
2010-01-27 19:05:02 +00:00
33882ab698 wdll_ver: safely deal with DLLs that don't have version information (OpenAL32's soft_oal doesn't, and we've renamed it to OpenAL32 to override the Creative implementation, so the system detect code tries to retrieve its version)
snd_mgr: cleanup, initialize velocity

This was SVN commit r7280.
2010-01-22 14:22:09 +00:00
43d5e122ab clean up, update to newer DDS file definitions, tolerate slightly incorrect values of linearSize that are written by Bob's MacOSX DDS converter
This was SVN commit r7271.
2010-01-11 20:53:12 +00:00
17718981cf Remove Crypto++ because it causes too much trouble. Replace with a custom MD5 implementation for simulation state hashing.
This was SVN commit r7269.
2010-01-10 19:29:27 +00:00
f8559e8c99 fix: if waiting for successful cancellation of the IO fails, then m_ovl must remain valid as well (thanks to Philip for pointing this out)
This was SVN commit r7265.
2010-01-10 09:34:57 +00:00
8513d57151 fix: GetOverlappedResult on ReadDirectoryChangesW hangs on Vista unless hEvent is valid (instead wait with timeout)
fix: return an error when called before the first watch is registered
(fixes error propagation)

This was SVN commit r7264.
2010-01-09 23:54:46 +00:00
e4be0892f8 fix: atlas calls ReloadChangedFiles before InitVfs, so safely handle directory watch requests before then (by checking for invalid completion port handle)
fix: prevent a pending IO from writing into freed memory by waiting for
the CancelIo to complete

This was SVN commit r7263.
2010-01-09 22:32:27 +00:00
29c1f282ec fix: shared_ptr dtor was calling delete on m_data, not delete[]
fix: freeing DirWatchRequest while IO was in-flight caused memory
corruption. now CancelIO when destroying the request.

This was SVN commit r7262.
2010-01-09 20:06:32 +00:00
7c2e9027c2 # Rewrite of the game's simulation system
Giant merge from
http://svn.wildfiregames.com/hg-source/file/5fb522019d5e
Infrastructure is largely complete, gameplay is largely missing
Disabled by default; use command-line flag "-sim2"
(Second attempt at commit...)

This was SVN commit r7259.
2010-01-09 19:20:14 +00:00
8dca5f7320 Fix rtl_AllocateAligned on GCC. Add tests for it.
This was SVN commit r7255.
2010-01-07 18:52:29 +00:00
d0e741b261 Add shader compilation timers
This was SVN commit r7254.
2010-01-07 18:48:11 +00:00
a116670620 Remove unused wsdl field that doesn't exist in SDL
This was SVN commit r7253.
2010-01-07 18:41:28 +00:00
48f0c9b5d7 Set svn:eol-style=native
This was SVN commit r7252.
2010-01-07 17:42:56 +00:00
babab3124f Add ERROR_ASSOCIATE for reporting VFS errors
This was SVN commit r7251.
2010-01-06 20:18:07 +00:00
306c74ceeb Fix license indentation
This was SVN commit r7250.
2010-01-06 20:17:37 +00:00
6db3dd0f12 Fix isfinite, isinf
This was SVN commit r7248.
2010-01-05 22:12:13 +00:00
d1f6ea785a Linux build fixes
This was SVN commit r7247.
2010-01-05 20:55:07 +00:00
c9a6af2134 Add tests for fpclassify functions (currently failing on Windows)
This was SVN commit r7245.
2010-01-05 20:29:58 +00:00
aafe575445 Fix buffer overflow in logger. Add tests for it. Make this kind of error harder to miss.
This was SVN commit r7244.
2010-01-05 19:55:09 +00:00
97db62c944 fix handling of non-CP1252 characters in paths
(added wide-character versions of posix opendir etc. - on Windows, we
must not convert to UTF8)

This was SVN commit r7243.
2010-01-05 19:44:30 +00:00
33ab686128 Fix scanf buffer size
This was SVN commit r7242.
2010-01-04 19:15:24 +00:00
b0dcf49893 fix a hack that broke after switching to _wsopen_s (which ensures the pmode parameter only has read/write bits set)
(see http://www.wildfiregames.com/forum/index.php?showtopic=12560&hl=)

This was SVN commit r7241.
2010-01-03 15:58:06 +00:00
936be062ac non-VC compile fix: map scanf_s to scanf etc.
This was SVN commit r7240.
2010-01-01 23:38:07 +00:00
03726c0b54 ICC build fixes
warning fixes
get rid of SAFE_WCSCPY and SAFE_STRCPY

This was SVN commit r7239.
2010-01-01 15:33:07 +00:00
5e0ae351db fix further 64-bit trouble
This was SVN commit r7237.
2009-12-30 20:47:55 +00:00
b443627571 64-bit build fix
This was SVN commit r7236.
2009-12-30 20:38:40 +00:00
c0662bcfd0 fix: OpenAL source suballocator wasn't thread-safe nor capable of detecting double-frees
(see http://www.wildfiregames.com/forum/index.php?showtopic=12774&hl=)

This was SVN commit r7235.
2009-12-30 16:42:47 +00:00
5f56ec86e9 fix waio error handling and update comments
This was SVN commit r7234.
2009-12-30 14:28:24 +00:00
72ce122146 # Fix OS X build error
Fixes #414 (wcscasecmp does not exist on OS X), based on patch from
wacko

This was SVN commit r7217.
2009-12-03 22:55:33 +00:00
88ad49bfc2 OS X build fix
This was SVN commit r7209.
2009-11-23 13:02:07 +00:00
7738eecbb0 icc build fix
This was SVN commit r7204.
2009-11-16 23:45:56 +00:00
22ac887785 fix: don't raise warnings when overwriting previous realDirectory (e.g. in the case of multiple mods mounting into the same directory) causes previous directory watches to be canceled
This was SVN commit r7202.
2009-11-16 21:01:36 +00:00
b51a0187bf Fix potential unfreed memory on shutdown
This was SVN commit r7200.
2009-11-14 19:12:09 +00:00
78bc63d92c VC fix: mustn't use filename/parent_path instead of leaf/branch_path because those aren't yet available in the version of boost we're currently using.
remove needless restriction on wdbg_printf buffer size
update description of wdbg_printf to match wvsprintfW's real behavior

This was SVN commit r7199.
2009-11-14 18:32:27 +00:00
a444e6febc Don't use wide print functions on typically-byte-oriented streams
This was SVN commit r7198.
2009-11-14 11:03:43 +00:00
c377a69823 # Fix startup problem on Linux
Fix CreateDirectories when paths end in '/'
Use boost::filesystem parent_path in it, instead of deprecated
branch_path

This was SVN commit r7197.
2009-11-14 10:57:08 +00:00
af8d7ce98d Fix tests on Linux
This was SVN commit r7195.
2009-11-13 20:51:04 +00:00
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
5174a0a1ce Fix GCC warnings
This was SVN commit r7192.
2009-11-13 00:49:58 +00:00
44066f5ae4 GCC build fix
This was SVN commit r7191.
2009-11-12 19:35:28 +00:00
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
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
6ee9dd8afe GCC build fixes
This was SVN commit r7188.
2009-11-09 21:40:24 +00:00
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
593bf6a571 GCC build fixes
This was SVN commit r7186.
2009-11-09 17:36:39 +00:00
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
934bc31246 Fix GCC build error
This was SVN commit r7181.
2009-11-07 13:34:11 +00:00
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
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
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
378bd89c1d Annotate some more printf-style functions, for type checking
This was SVN commit r7176.
2009-11-06 23:06:50 +00:00
3334c83ce0 Fix build and tests on Linux
This was SVN commit r7174.
2009-11-06 18:35:32 +00:00
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
607ea6f8b4 chip away at gcc errors/warnings
This was SVN commit r7172.
2009-11-06 16:15:09 +00:00
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
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
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
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
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
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
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
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
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
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
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
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
e257bef5da Fix even more 64-bit warnings
This was SVN commit r7152.
2009-10-05 16:15:51 +00:00
ea4abb8f3c Fix a 64-bit warning
This was SVN commit r7149.
2009-10-03 09:31:51 +00:00
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
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
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
92786e368b use a simple linear distance model for attenuation
This was SVN commit r7112.
2009-08-12 21:28:10 +00:00
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
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
43950c2fde Simplify sys_get_executable_name by using realpath
This was SVN commit r7104.
2009-08-09 20:28:46 +00:00
2114bf6795 Fix secure_crt to match MSVC and pass tests
This was SVN commit r7102.
2009-08-09 19:11:14 +00:00
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
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
bd9bc6db78 Enable invalid parameter tests for VC's Secure CRT
This was SVN commit r7097.
2009-08-08 19:18:16 +00:00
f4fbe9dc1a Extend the sprintf_s tests
This was SVN commit r7096.
2009-08-08 19:07:03 +00:00
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
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
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
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
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
4a4269824b Add more vararg error-checking annotation
This was SVN commit r7073.
2009-08-04 16:08:41 +00:00
d83945e1e7 Annotate functions that have printf-style format strings, for compile-time type checking (see #293)
This was SVN commit r7072.
2009-08-04 13:31:41 +00:00
3726a7c9b1 # safely and silently handle disabled WMI service
(see http://www.wildfiregames.com/forum/index.php?showtopic=12548&hl=)

This was SVN commit r7071.
2009-08-03 21:24:00 +00:00
373ed7fcb4 Avoid spurious Valgrind uninitialised-value warnings
This was SVN commit r7070.
2009-08-03 20:56:00 +00:00
c93db6d057 Fix some GCC warnings
This was SVN commit r7067.
2009-08-02 19:52:31 +00:00
ebac85ee81 # hopefully support non-admin accounts and unwritable directories by moving output folders to home/appdata
the old behavior (using directories under binaries/) can be kept by
passing -writableRoot on the command line.
the first game load will be slower than usual due to re-creation of
cached XMBs.

This was SVN commit r7065.
2009-08-02 11:07:42 +00:00
38737202cb wseh: write the minidump as soon as possible (inspired by http://www.wildfiregames.com/forum/index.php?showtopic=12533)
GameSetup: fix fs::path append (previous code compiled with VC2005 but
is apparently invalid)

This was SVN commit r7064.
2009-08-01 22:01:01 +00:00
c8cfd8b40b # groundwork for separated data/cache etc. directories (XDG)
remove path.cpp (it was based on the premise that all data files lie
below binaries/data)

This was SVN commit r7063.
2009-08-01 19:37:38 +00:00
c67e2429b0 Fix reported build error
This was SVN commit r7061.
2009-08-01 15:34:18 +00:00
46c437ad50 add missing vswprintf_s for non-Windows platforms
This was SVN commit r7060.
2009-08-01 12:14:39 +00:00
4d1ad62e81 # improvements to HPET driver
(experimental, use -wNoMahaf command line argument if this causes
breakage)
see #280

This was SVN commit r7058.
2009-08-01 11:22:29 +00:00
74d37b17f0 # (hopefully) correctly create missing directories, e.g. data/cache/
refs #279

This was SVN commit r7057.
2009-07-31 21:31:04 +00:00
9ca097da58 # add error checking for VFS directory creation
refs #279

This was SVN commit r7056.
2009-07-31 21:16:09 +00:00
acb9658f81 philip correctly points out that local static init from constants isn't thread-safe, and we shouldn't rely on the compiler moving variables to BSS if their constant initializer is 0.
This was SVN commit r7055.
2009-07-31 17:48:45 +00:00
468a67d18c # miscellaneous improvements
- increase io depth and block size to better utilize FusionIO's crazy
bandwidth
- add OS error number to crashlog (error message may be localized and
illegible)

This was SVN commit r7054.
2009-07-31 16:42:39 +00:00
f626396cad # fix infinite recursion (reporting errors in error reporting)
fixes #282
+ some refactoring

This was SVN commit r7053.
2009-07-31 16:39:54 +00:00
36549a61b1 # fix error code collision
fixes #283

This was SVN commit r7052.
2009-07-30 18:09:35 +00:00
6714d80fba Fix memory leak, Valgrind warnings
This was SVN commit r7051.
2009-07-28 20:13:26 +00:00
7d21402d0f Windows test fix
This was SVN commit r7050.
2009-07-28 18:49:22 +00:00
008d894dd7 Fix some GCC warnings
This was SVN commit r7048.
2009-07-28 16:59:19 +00:00
4ee7e26776 Add failing test for TraceEntry. Fix TraceEntry.
This was SVN commit r7046.
2009-07-28 10:24:42 +00:00
f5f1d47aed Fix some GCC -Wextra warnings
This was SVN commit r7043.
2009-07-27 18:32:59 +00:00
afcbbc94a7 Fix GCC type warnings
This was SVN commit r7042.
2009-07-27 18:30:22 +00:00
cd0554c6bc Fix Linux build warnings
This was SVN commit r7034.
2009-07-25 20:35:48 +00:00
05d73edd2f # hopefully fix sound error when exiting
as per http://www.wildfiregames.com/forum/index.php?showtopic=12483
thanks to Ykkrosh and oliver!

This was SVN commit r7029.
2009-07-21 18:13:01 +00:00
a866ade2d7 OS X compile fixes
This was SVN commit r7015.
2009-07-18 01:58:16 +00:00
032a41add6 Fix timer configuration: clock_gettime uses timespec, gettimeofday uses timeval.
This was SVN commit r7014.
2009-07-18 01:55:26 +00:00
ae58c456e5 Fix detection of OpenAL string type (closes #268)
This was SVN commit r7013.
2009-07-18 00:30:27 +00:00
78c34c6753 update test to reflect new HeaderlessAllocator min. allocation size
This was SVN commit r7007.
2009-07-17 07:51:14 +00:00
2a0025bc28 # fix warnings and 64-bit bugs in headerless.cpp (workspace update required)
(hopefully fixes often-reported crashes on 64-bit Linux)
remove lib/precompiled.cpp to simplify PCH handling in build system

This was SVN commit r7006.
2009-07-16 23:53:46 +00:00
df36e937f0 Patch from #258: [FreeBSD compat] add some missing includes
This was SVN commit r7001.
2009-07-16 16:53:55 +00:00
663fcfeb9a # macosx compile fix
(OpenAL ALC string definition differs on Windows vs OSX)

This was SVN commit r7000.
2009-07-16 16:48:06 +00:00
a389dd3afa Fix buffer overflow on Linux
This was SVN commit r6996.
2009-07-16 12:35:23 +00:00
ac38db53dd Try again to fix the GL 2.0 function names
This was SVN commit r6987.
2009-07-14 14:06:59 +00:00