1
0
forked from 0ad/0ad
Commit Graph

2009 Commits

Author SHA1 Message Date
509f4387d7 Fix build
This was SVN commit r10052.
2011-08-21 13:10:44 +00:00
881d3cebf4 lay groundwork for more efficient and flexible allocators. add new sysdep/vm that provides access to additional features on Windows (large pages, autocommit). add Pool/Arena allocators that avoid overhead and support arbitrary storage (not just the expensive virtual memory allocator in DynArray)
This was SVN commit r10051.
2011-08-21 11:00:09 +00:00
3eb1ed0139 (actually remove)
This was SVN commit r10050.
2011-08-21 10:31:23 +00:00
c26a369762 remove Bucket allocator (superseded by upcoming Arena/Pool with expandable Storage policies)
This was SVN commit r10049.
2011-08-21 10:30:35 +00:00
5406a68959 feature request by philip: instead of refusing to load textures larger than the OpenGL limit, ensure they have mipmaps (unless it's s3tc, which would be too expensive to recompress) and skip levels until it fits
This was SVN commit r10043.
2011-08-20 17:56:12 +00:00
e8f6be0bf3 Fix GCC build (only reference SIMD types when supported by the compiler (though this might not work in MSVC))
This was SVN commit r10025.
2011-08-17 13:41:25 +00:00
9f97610cb2 refactor: remove "wrapping" and "read" functionality for DynArray (in preparation for replacing it with template policies for more flexible Pool etc.)
This was SVN commit r10024.
2011-08-17 08:38:53 +00:00
609f1643d5 Fix -Wconversion warnings in simulation code.
Cast to smaller integer types explicitly.
Generally avoid platform-dependent types (size_t) in simulation code.
Use float versions of math.h functions, not double.

This was SVN commit r10017.
2011-08-16 11:18:32 +00:00
b9bd7ff86e Fix signed/unsigned comparison warning
This was SVN commit r9972.
2011-08-06 12:31:48 +00:00
083e7a41fd fix typo
This was SVN commit r9962.
2011-08-04 17:27:14 +00:00
0748c5a75e cleanup and simplification of the really old h_mgr code.
replace array-of-pages data structure with demand-committed VM => allows
simple allocation of new resources without having to search for the
first free index. I suspect the cause of multiple reported bugs (refs
#860, #899, #915) was a race. Most issues are fixed, but the pool's
freelist also needs to be made thread-safe and lock-free. this has
performance and 64-bit portability implications, so I'll leave it for
later (Pool is due for some serious refactoring anyway).

please post a comment if this or similar issues persist.

This was SVN commit r9961.
2011-08-04 17:11:16 +00:00
6304797cbd pool - safely handle zero-sized allocations (fixes #909)
snd_mgr - remove no longer needed hacks for native OpenAL
implementations
test_wdbg_sym.h - belated commit of warning fix

This was SVN commit r9944.
2011-07-31 09:42:57 +00:00
8fee3d8ef8 # New territory border rendering.
Add textured line overlay rendering.
Change terrain height calculations to be triangulation-dependent for
improved accuracy.
Add triangulation-dependent terrain normal function.
Support separate S/T wrap modes for textures.
Rename CVector2D_Maths since it no longer conflicts with simulation
CVector2D.
Coalesce freed chunks in vertex buffers, to avoid excessive
fragmentation.
Add some things to help debug vertex buffer allocation a little.

This was SVN commit r9929.
2011-07-30 00:56:45 +00:00
153357f640 Replaces architecture-dependent cpuid function with inline GCC assembly. Should fix #670 by eliminating nasm dependency.
This was SVN commit r9891.
2011-07-21 01:44:29 +00:00
15df4aa4be OS X fix: if os_cpu_ClockFrequency reports an unknown/invalid value, measure the frequency instead; also avoid reporting invalid freqs in system_info
This was SVN commit r9886.
2011-07-20 08:10:36 +00:00
8da2640f5e Fixes no-PCH build
This was SVN commit r9883.
2011-07-19 09:00:15 +00:00
708e9cea05 Fix looping of non-streaming sounds
This was SVN commit r9877.
2011-07-18 17:56:17 +00:00
b738f27283 hopefully fix non-Windows build errors
This was SVN commit r9875.
2011-07-18 15:25:48 +00:00
c33246d603 Fix build errors
This was SVN commit r9872.
2011-07-18 11:10:13 +00:00
0d23e3f333 post-alpha sync with work.
debug stack trace fixes, remove more asm, change CONTINUE/OK scheme to
OK/ALL_COMPLETE, fix tests

This was SVN commit r9871.
2011-07-18 09:21:56 +00:00
2d9e473483 fix for non-contiguous APIC IDs within a single package (happens on recent Intel CPUs)
This was SVN commit r9870.
2011-07-18 08:08:06 +00:00
aeddb5fb48 avoid warning when running a second instance and Mahaf is enabled
This was SVN commit r9863.
2011-07-17 19:19:33 +00:00
be3eb579d4 fix another cast runtime error
This was SVN commit r9861.
2011-07-17 14:48:23 +00:00
dd054c8d97 acpi: fix cast error (caught by runtime check)
x86_x64: simplify MSC version check

This was SVN commit r9846.
2011-07-16 17:27:07 +00:00
8eb7af4ac9 Be a bit more robust to build environment changes.
Reduce some module dependencies.
Clean up some unused instantiations.

This was SVN commit r9827.
2011-07-15 13:22:48 +00:00
a4637c25d0 Fix no-PCH builds
This was SVN commit r9786.
2011-07-08 15:07:08 +00:00
492e49da38 add support for selection and deletion of entire words in text controls (ctrl+backspace/delete/left/right) based on patch by Chakakhan/kenny (thanks!)
also refactored wclipboard
closes #511

This was SVN commit r9646.
2011-06-23 10:12:43 +00:00
ef4df42895 add support for .dylib on OS X based on patch by Yves (thanks!)
c.f.
http://www.wildfiregames.com/forum/index.php?showtopic=14173&pid=220828&st=0&#entry220828

This was SVN commit r9642.
2011-06-20 20:06:51 +00:00
266977bc78 Attempt to fix manifest problems in autobuild.
This was SVN commit r9607.
2011-06-09 23:16:27 +00:00
6feb143e61 OS X compile fix
This was SVN commit r9582.
2011-05-30 23:06:16 +00:00
ef74ad7f7b OS X compile fix (hopefully): add definition for O_DIRECT
This was SVN commit r9581.
2011-05-30 21:49:33 +00:00
034881d30c sync with work. simplify wnuma, refactor+fix topology (bugs: APIC IDs array didn't correspond to OS processor number; couldn't handle noncontiguous APIC ID field values)
This was SVN commit r9580.
2011-05-30 13:00:20 +00:00
f25407e7fb Fix typo
This was SVN commit r9579.
2011-05-30 11:51:14 +00:00
ce647cf8e3 Add a manifest hack to fix building in VC2008+, when loading DLLs built in VC2005
This was SVN commit r9576.
2011-05-29 21:13:21 +00:00
c2677b4bb0 Upgrade game and build system to ENet 1.3
This was SVN commit r9574.
2011-05-29 20:57:28 +00:00
e3d87b0375 remove no longer necessary lowlevel wsock implementation (superseded by enet) since the delay load hook isn't compatible with a DLL packaging of enet.
-> cstr serialization uses lib/byte_order.h instead of htons; removed
hostname/IP from system_info (Philip agrees its utility is negligible)

This was SVN commit r9572.
2011-05-29 19:59:51 +00:00
755802d0ce Fix build errors
This was SVN commit r9556.
2011-05-27 13:32:34 +00:00
34186dd017 refactor file interface. requires workspace update
- separate file_system_util into vfs functions (-> vfs/vfs_util) and
file_system (avoids ugly fs_util namespace prefix)
- get rid of non-portable O_BINARY_NP etc. flags
- use standard O_WRONLY etc. flags instead of LIO_WRITE; but avoid the
need for specifying O_CREAT|O_TRUNC
- only open files for aio when O_DIRECT is specified (which 0ad does
not) - avoids wasting time and security issues
- return file descriptor directly instead of via output param
- waio: safer FCB mechanism that avoids mixing descriptors between lowio
and aio

This was SVN commit r9550.
2011-05-25 10:39:13 +00:00
7600c3862b refactor gfx detection code (interface), allow exporting from DLL (required at work)
This was SVN commit r9546.
2011-05-24 14:17:47 +00:00
f1a1f023df reinstate aligned_allocator.h (required at work)
further fixes to preserve the last error while building error messages
somewhat more accurate NUMA factor computation

This was SVN commit r9545.
2011-05-23 14:10:45 +00:00
1075e206f7 Fix some format string errors
This was SVN commit r9534.
2011-05-18 19:10:36 +00:00
6539456746 Fix format string
This was SVN commit r9524.
2011-05-15 19:52:46 +00:00
0ea42d3185 avoid stomping on the last error while dumping stack
refs #849

This was SVN commit r9519.
2011-05-15 00:00:01 +00:00
45d358dd9a add code to output both affected paths in case separators are being mixed
This was SVN commit r9516.
2011-05-14 20:25:32 +00:00
963960fafa no longer warn when SetFileValidData fails, as it does on all FAT volumes (boo)
fixes #849

This was SVN commit r9511.
2011-05-14 10:37:42 +00:00
452670738a fix StatusDescription (remove unnecessary and wrong cast)
This was SVN commit r9489.
2011-05-08 20:09:31 +00:00
9b7cdef124 ensure WHRT debug messages are always displayed (in case of compatibility trouble)
refs #709

This was SVN commit r9485.
2011-05-08 09:14:21 +00:00
7ed9a84252 avoid double-free when sounds are reclaimed and then freed.
fixes #833

This was SVN commit r9477.
2011-05-07 17:34:47 +00:00
b82913ea14 make explicit that both iterator debugging and _SECURE_SCL (which is less than iterator debugging) are disabled in release builds
This was SVN commit r9476.
2011-05-07 16:46:28 +00:00
46e5db4dc4 fix build with ICC
This was SVN commit r9475.
2011-05-07 15:47:20 +00:00
c49f4c677b Fix bogus error messages when errno=0
This was SVN commit r9472.
2011-05-07 00:14:43 +00:00
f608b44d1d fix self-test and map load on Windows (avoid mixing dir separators).
add more specific error codes (used at work)

This was SVN commit r9462.
2011-05-06 18:45:30 +00:00
0a7aeb23f7 smbios fix
This was SVN commit r9458.
2011-05-06 14:54:46 +00:00
1da3cdb498 Fix build errors
This was SVN commit r9453.
2011-05-05 20:24:22 +00:00
5c76bc12fa refactor status code definitions: allow modules to define an array of them (more convenient+efficient).
merge ERR::NO_SYS, NOT_IMPLEMENTED into NOT_SUPPORTED
renderer: remove unnecessary ogl_shader include

This was SVN commit r9447.
2011-05-05 13:03:34 +00:00
fd561cb88b hotloading fix on Windows
refs #781

This was SVN commit r9446.
2011-05-05 10:50:47 +00:00
dcec9c4ca9 gracefully handle the case where the file cache is full of data still referenced elsewhere.
fixes #832

This was SVN commit r9437.
2011-05-04 22:19:38 +00:00
9719432ff9 fix memory leak (wasn't freeing the entire chain of SMBIOS structures)
This was SVN commit r9425.
2011-05-04 13:08:09 +00:00
a7152270f4 Path now goes to some trouble to prevent mixing / and \ slashes (causes trouble when hotloading, and some Windows APIs can't handle it, either)
WARNING: that means stuff like Path(nativeDataPath/"art/") is forbidden
and will raise errors on Windows when nativeDataPath contains \. always
use /"" to add a trailing slash. never embed "/" in OsPath component
strings (it's OK for VFS strings since they consistently use /).

wdir_watch, CmdLineArgs: avoid mixed separators
wutil: remove overzealous assertion (infinite recursion if an error
arose before we create a window)

refs #781

This was SVN commit r9424.
2011-05-04 12:16:51 +00:00
7523894760 ENSURE(0) -> DEBUG_WARN_ERR(ERR::LOGIC) (a bit smaller, and more descriptive)
This was SVN commit r9423.
2011-05-04 12:10:17 +00:00
9733affb05 Fix non-PCH build
This was SVN commit r9419.
2011-05-04 01:17:09 +00:00
178a700c16 Fix build
This was SVN commit r9412.
2011-05-03 15:58:25 +00:00
cce3bebe0c fix error propagation/avoid SetLastError pollution
This was SVN commit r9411.
2011-05-03 13:46:35 +00:00
cccd6849a7 cleanup (requires update-workspaces)
lib_errors.cpp: replace with status.cpp, adapt to needs at work
wutil: fix runtime warning reported via feedback box
config: merge CONFIG_PARANOIA and !CONFIG_FINAL into
CONFIG_ENABLE_CHECKS
add openmp, pointer_typedefs.h

This was SVN commit r9410.
2011-05-03 12:38:42 +00:00
88c44c7d73 smbios: add support for structures 34,35,36,39,41 (found on rather new BIOS)
This was SVN commit r9377.
2011-05-01 12:18:45 +00:00
1636f062a3 make VFS thread-safe, per long-standing request by Philip
This was SVN commit r9369.
2011-04-30 15:57:43 +00:00
635c2a12e2 add error code for file not found. return error code from io::Load, warn and return from io::Store (both without triggering assertions).
remove out of date comment in io.cpp
fixes #811

This was SVN commit r9368.
2011-04-30 15:41:19 +00:00
791ecee26b Build fixes
This was SVN commit r9365.
2011-04-30 13:55:55 +00:00
5ca66fc757 cleanup: move ADTs into lib/adts (separate files). fix definition of ASSERT
This was SVN commit r9364.
2011-04-30 13:35:36 +00:00
0720025073 cleanup
reduce dependency on PCH. move KiB constants to alignment, ARRAY_SIZE to
code_annotation.h.
move glext_funcs.h to external_libraries/glext_funcs.h, move part of
ogl.h to external_libraries/opengl.h
remove unused saturating arithmetic functions

This was SVN commit r9363.
2011-04-30 13:22:46 +00:00
4663ac0fe7 split debug_assert into ENSURE and ASSERT as discussed in a previous meeting.
the old debug_assert always ran and tested the expression, which slows
down release builds. wrapping them in #ifndef NDEBUG is clumsy. the new
ASSERT behaves like assert and ENSURE like the old debug_assert. Let's
change any time-critical but not-super-important ENSURE to ASSERT to
speed up release builds. (already done in bits.h and unique_range.h)

This was SVN commit r9362.
2011-04-30 13:01:45 +00:00
6c915291cc cleanup (requires update-workspaces):
major refactor of wfilesystem - remove gotos and workaround for FAT file
times
replace more round_up of constants with Align<>
remove old unused allocators (STL aligned, matrix, some shared_ptr)
move allocator utils into separate headers.
remove lockfree, wterminal
avoid testing __cplusplus

This was SVN commit r9361.
2011-04-30 12:34:28 +00:00
9bdb54bc76 fix failure to preallocate disk space on Windows by always rounding up the file size regardless of the io::Parameters
This was SVN commit r9358.
2011-04-30 09:13:10 +00:00
e292c55e94 Delete warning-prone unused unusable event recording code
This was SVN commit r9355.
2011-04-30 00:06:30 +00:00
f22e40b64c Fix warning
This was SVN commit r9354.
2011-04-29 23:55:47 +00:00
335e7db6be Fix build more
This was SVN commit r9353.
2011-04-29 23:30:29 +00:00
34ba390a0d build fix for pre-C++0x compilers.
archive_zip, stream: work around possibly missing support for
std/tr1::bind in GCC by defining a functor manually
also renamed RVREF to RVALUE_REF and ensured RVALUE can convert from
both lvalue and rvalue.
io: avoid dodgy constants and possible overflow by using blockSize=0 to
indicate "don't split"

This was SVN commit r9352.
2011-04-29 22:55:35 +00:00
1139124451 Fix some build errors and warnings
This was SVN commit r9351.
2011-04-29 20:38:13 +00:00
2374caac3e major refactor of file/io and alignment code. requires update-workspaces
. completely rewrite waio - use IOCP, add several hardcore
optimizations. now outperforms the
  AS SSD and ATTO benchmarks when writing
. refactor file interface - use LIO_READ instead of 'r', allow access to
file descriptor.
. completely rewrite the IO wrapper. now much more simple, less CPU
overhead, adds
  support for pre-issue/post-completion hooks and preallocation.
  io::Run defaults to simple synchronous IO; use io::Parameters to get
asynchronous.
. add alignment.h with constants and Align() function template (more
efficient than
  round_up for compile-time constants)
. add UniqueRange - similar to C++0x unique_ptr (emulated for C++03),
plus a
  built-in size. avoids expensive thread-safe reference counting in
shared_ptr.

cleanup:
- move fat_time functions into archive_zip
- remove no longer needed io_align and block_cache
- reduce dependencies in sysdep/compiler (move parts to
code_annotation.h)
- move IOCP into separate file (reused by waio)

This was SVN commit r9350.
2011-04-29 19:10:34 +00:00
9d5539a215 fix runtime check error - see http://www.wildfiregames.com/forum/index.php?showtopic=14656&pid=218675&st=0&#entry218675
thanks to Yves for reporting this + suggesting the fix.

This was SVN commit r9339.
2011-04-28 17:13:55 +00:00
5a773d4ca0 Be robust to null proxy URL strings. Should fix #778.
This was SVN commit r9299.
2011-04-22 16:05:00 +00:00
b35d3a5e3d __cpuidex was added in VC2008 SP1, so don't use it if pre-SP1
This was SVN commit r9284.
2011-04-19 23:23:16 +00:00
a3812af176 smbios: avoid warning when no information is returned (happens on 32-bit XP)
This was SVN commit r9218.
2011-04-09 17:09:48 +00:00
c59f7bcb8f Fix Clang warning ("operands of ? are integers of different signs")
This was SVN commit r9214.
2011-04-09 00:07:21 +00:00
7a8aefae34 Fix release-mode warnings in unused code
This was SVN commit r9212.
2011-04-09 00:05:00 +00:00
d46a892a5d smbios: avoid displaying unknown maxError value; add enumerators for BIOS characteristics and extended characteristics
This was SVN commit r9207.
2011-04-08 07:10:31 +00:00
5b7dbe6bc9 smbios: more convenient interface that avoids having to check if the structures pointer is null (can still detect failure by checking whether all/guaranteed member pointers are zero)
This was SVN commit r9200.
2011-04-07 19:35:45 +00:00
b5c6868ac2 smbios SystemSlot fix: add missing field, avoid displaying unknown device/function numbers
This was SVN commit r9199.
2011-04-07 19:28:24 +00:00
aab98f90e0 Fix startup crash on non-Windows
This was SVN commit r9197.
2011-04-07 17:22:28 +00:00
e1b9083c41 Fix probable OS X build error
This was SVN commit r9196.
2011-04-07 17:18:32 +00:00
99aa427ffa make use of SMBIOS information to detect CPU frequency and memory size
smbios fixes: also ignore max value (used by Dell BIOS to report invalid
MemoryDevice bit width); fix incorrect error check that caused 0 to be
returned on all but the first call; add implicit conversion operator to
allow using size without appending .value

This was SVN commit r9195.
2011-04-07 17:06:00 +00:00
329d044a9e 64-bit gcc warning fix
This was SVN commit r9171.
2011-04-05 19:49:04 +00:00
dcde67038f ICC compile fixes (VC's overload resolution is apparently quite different)
This was SVN commit r9169.
2011-04-05 17:45:47 +00:00
1c2e410b7d final smbios improvements.
add comments
add support for bit flags
use wrapper classes and SFINAE instead of flags to detect enums / sizes
/ handles
avoid potential truncation of byte sizes
avoid displaying numeric_limits::min values ("unknown")

This was SVN commit r9168.
2011-04-05 17:14:18 +00:00
d3ba9a24d3 Fix GCC build errors ("explicit template specialization cannot have a storage class",
"need 'typename' before 'static_assert_<...>::type' because
'static_assert_<...>' is a dependent scope").
Fixes #767.

This was SVN commit r9167.
2011-04-05 17:07:06 +00:00
3dbb29d665 smbios improvements: add specializations for bool/Handle (no longer requires a flag); omit empty/meaningless fields
convert remaining enumerators to ENUM, lowercase them to avoid conflicts
with macros, wrap them in struct to allow identical enumerator names

This was SVN commit r9165.
2011-04-05 09:52:57 +00:00
f35da41a0c smbios: minor fixes, add partial support for displaying enumerator names, move visitors to .cpp, use pragma pack regardless of compiler
This was SVN commit r9163.
2011-04-04 17:44:36 +00:00
68bc0a5651 smbios: add support for stringizing the structures
This was SVN commit r9162.
2011-04-04 16:50:02 +00:00
a2bad46f27 smbios fixes:
- memmove all bytes in the table, not just 8
- end pointer was off by 4
- add support for structures 8,10,22,26,27,28

This was SVN commit r9161.
2011-04-04 15:01:40 +00:00
0ddf2b0f34 Fix build on VC2008
This was SVN commit r9157.
2011-04-03 21:41:17 +00:00
66807d40c1 windows build fix: use arb names/function pointers; +noncopyable/struct vs. class warning fix
This was SVN commit r9156.
2011-04-03 20:45:43 +00:00
3d21cf98f9 better aio error checking / avoid unnecessary repeated calls to aio_error (investigated on the occasion of the recent Linux aio trouble)
This was SVN commit r9155.
2011-04-03 20:07:55 +00:00
231387d2da linux compile fix (explicit instantiation must be at namespace scope), adjust end pointer to match 8 bytes removed in workaround
This was SVN commit r9153.
2011-04-03 19:29:16 +00:00
01a0825c94 disable aio on linux until the glibc aio implementation and/or kernel is fixed (see http://www.wildfiregames.com/forum/index.php?showtopic=14561&pid=217711&st=0&#entry217711)
This was SVN commit r9150.
2011-04-03 19:07:35 +00:00
2c72e1f364 (requires update-workspaces)
add initial SMBIOS implementation for retrieving system information
wacpi -> wfirmware (now also used to retrieve SMBIOS table)

This was SVN commit r9144.
2011-04-03 15:38:48 +00:00
6026330fce updated version of Aken that includes support for MSR and static validation (-> .c instead of .cpp)
closes #754 (please re-open if not)

This was SVN commit r9137.
2011-04-01 15:06:52 +00:00
d5b3201bfe noted while checking MSR prerequisites that the previous HasNehalem is inaccurate. PLATFORM_INFO is also supported by newer processors (e.g. Sandy Bridge), whereas UNCORE_* are tied to Nehalem and Westmere => split up HasNehalem into HasPlatformInfo and HasUncore. (the latter has been replaced by a "system agent" in newer designs)
refs #754

This was SVN commit r9136.
2011-03-31 21:30:42 +00:00
1014da1f88 Use pool allocator to avoid apparently expensive dynamic allocations when rendering terrain.
Add function to get pool usage, for debugging.

This was SVN commit r9132.
2011-03-30 21:42:35 +00:00
fb872e0bd5 fix: update all pool freelist initializations to reflect the new invariant (prevents null-pointer dereference crash)
This was SVN commit r9129.
2011-03-28 21:10:41 +00:00
c396997009 fixes from work: avoid potential 0-pointer dereference in freelist, also avoid branching in freelist functions via sentinel
wdll_main.h: avoid warning for DLLs using TLS
file_system_util.h: export functions

This was SVN commit r9128.
2011-03-28 12:28:29 +00:00
d295dacb9b # Add new renderer mode based on GL_ARB_fragment_program.
Change lighting model for new maps to allow better overbrightness.
Cache player colours instead of loading from scripts every time the
renderer wants them.

This was SVN commit r9123.
2011-03-26 20:17:21 +00:00
1eb5eeb225 minor fixes from integration with working copy at work.
This was SVN commit r9116.
2011-03-24 09:05:06 +00:00
9193ba56f9 Build fixes and whatnot
This was SVN commit r9115.
2011-03-23 21:15:22 +00:00
1f7e8d7194 per discussion with Philip, remove STL_HASH_MAP etc. because they're ugly, rarely used and superseded by boost::unordered*
This was SVN commit r9111.
2011-03-23 16:56:27 +00:00
588bfa11bf remove unnecessary utf8 includes
This was SVN commit r9110.
2011-03-23 16:32:44 +00:00
0999ba0941 refactoring:
- simplify sys_get_executable_name interface - return OsPath directly,
rename to sys_ExecutablePathname
- add validation of path components in GetDirectoryEntries
- replace multiple calls to GetModuleFileNameW with
sys_ExecutablePathname
- lift nearly all MAX_PATH limitations (required at work)

This was SVN commit r9109.
2011-03-23 16:14:47 +00:00
64a02932e3 refactor headers: path_util -> path, native_path -> os_path, remove where unnecessary
This was SVN commit r9108.
2011-03-23 14:43:35 +00:00
dcd192cb60 refactor path interface:
- use wrapper class instead of std::wstring (reduces mixing of
strings/paths; allows safe+easy join via operator/ and convenient
case-insensitive comparison via operator==, avoids NativePathFromString,
similar to boost::filesystem)
- NativePath -> OsPath
- add hash and To/FromJSVal for Path
- add TS_ASSERT_PATH_EQUALS
- replace _wfopen_s with sys_OpenFile
- remove obsolete SortFiles/Directories

This was SVN commit r9107.
2011-03-23 13:36:20 +00:00
c4cd85bb98 Build fixes
This was SVN commit r9100.
2011-03-22 18:46:39 +00:00
c0a105432e Use path types and conversions more consistently.
This was SVN commit r9094.
2011-03-21 22:59:00 +00:00
5b7ea2371f Fix some line endings.
This was SVN commit r9093.
2011-03-21 22:47:02 +00:00
83271ec816 Fix build errors.
Fix VFS root directory failing IsDirectory, which breaks the search for
textures.xml.
Fix incompatible change to loose cache name determination.

This was SVN commit r9092.
2011-03-21 21:06:08 +00:00
c3405e6f50 path improvements/fixes:
- replace more std::wstring with Native or VfsPath; wstring_from_utf8 ->
NativePathFromString
- replace sequences of Join(Path(), Basename+extension) with
ChangeExtension in wsdl, CacheLoader
- add Path::IsDirectory to replace .empty() / path_is_dir_sep(.back()).
also changed behavior to reflect the fact that "" is the VFS root
_directory_
- Path::Join now allows 2 identical path types (e.g. VfsPath) or one
char* literal (prevents inadvertently introducing non-safe characters).
to convert from wstring or wchar_t, use an explicit ctor (e.g.
VfsPath(wchar_t_string))

This was SVN commit r9091.
2011-03-21 19:54:08 +00:00
6d25329412 # towards locale-independent pathnames on Linux
c.f.
http://www.wildfiregames.com/forum/index.php?showtopic=14541&st=0&p=217250&#entry217250
and 2011-03-19 meeting

This was SVN commit r9090.
2011-03-21 17:53:13 +00:00
9a22dc1351 warning fixes
This was SVN commit r9088.
2011-03-21 11:55:49 +00:00
cec05f02ea fix insidious OpenAL issue: the spec doesn't guarantee 0 isn't a valid source name => we need to use an out-of-band mechanism for specifying whether the source is valid.
refs #557

This was SVN commit r9087.
2011-03-20 16:40:36 +00:00
44e1a863e1 Fix cache detection assertion failure
This was SVN commit r9085.
2011-03-19 15:16:14 +00:00
0af8cdc54a Fix likely cache table typos, based on Intel Software Developer's Manual.
This was SVN commit r9084.
2011-03-19 15:03:25 +00:00
fb499ff0d0 further refactoring of new cache detect code
- add invariant - level/type are always valid, numEntries indicates
whether the cache is actually present and not disabled
- handle pseudo-descriptors 0xF0 and F1 (avoids warning)

This was SVN commit r9083.
2011-03-19 12:48:56 +00:00
89b7b6b52d Avoid divide-by-zero on AMDs with missing caches
This was SVN commit r9081.
2011-03-18 19:48:54 +00:00
22a651bb86 Fix assertion failure when no L3 cache.
Fix typo.

This was SVN commit r9078.
2011-03-18 18:42:10 +00:00
ecbd0ae31b Fix Windows build.
Improve compatibility with GL1.3.

This was SVN commit r9077.
2011-03-18 18:07:18 +00:00
5b91e2d7ab move cache detection into separate file.
add support for CPUID.2 cache descriptors (many Bothans died to bring us
this information)
simplify the API - use one structure to describe cache and TLB; only one
accessor for both.

HWDetect: version change, since dtlbs and itlbs are no longer
distinguished

fixes #752

This was SVN commit r9074.
2011-03-18 16:44:03 +00:00
e70fae8d80 Stop using glMultiDrawElements since it's too buggy
This was SVN commit r9064.
2011-03-14 21:57:09 +00:00
fc2c54c39f # Optimise terrain renderer.
Batch patch splats by texture match.
Use VBOs for patch indices.
Fixes #722.

This was SVN commit r9053.
2011-03-13 19:06:33 +00:00
a0a245d0ec sync with work. add u8_from_larger, sys_IsDebuggerPresent, wdll_main.h;
robustify waio file mode and remove a safety check (since
OVERLAPPED.Internal is documented to be subject to change)

This was SVN commit r9050.
2011-03-11 16:29:27 +00:00
b4d9ab336b Simplify hiding of system cursor on non-Windows.
Fixes #683.

This was SVN commit r9038.
2011-03-06 00:48:26 +00:00
d3929b6af1 Actually, delete the cpuid() inline asm entirely since it still causes various problems in various compilers
This was SVN commit r9024.
2011-03-05 14:11:57 +00:00
712a92caa1 Save PIC register in cpuid() to fix "can't find a register in class 'BREG'" error in some versions of GCC
This was SVN commit r9023.
2011-03-05 13:53:02 +00:00
2229c10e05 Delete rint/rintf emulation for Windows, since it got broken (the tests fail) and we don't use it any more
This was SVN commit r9015.
2011-03-04 23:16:04 +00:00
eb163c8d24 Improve reporting of extensions promoted into GL 1.2
This was SVN commit r8996.
2011-02-27 14:25:04 +00:00
bb562ce179 fixes:
avoid reporting a (not-present) third-level cache for Athlon X2 that
don't have one
add better documentation of cache information
ensure we're running on the same CPU while retrieving cache/TLB
descriptors
wgfx: always check all known graphics driver names (more robust in the
face of changing gfx_card strings), correct the intel driver name

This was SVN commit r8991.
2011-02-26 19:22:02 +00:00
567a698628 check all file names known to belong to a GPU's drivers instead of trying to rule out 32/64 bit variants
fixes #737

This was SVN commit r8990.
2011-02-26 17:10:09 +00:00
4e8c305c6e sync with work - export app_hooks_update; add boost replacement FileExists and FileSize; avoid conflict with stdint.h;
remove asm rintf implementation (sse is faster); avoid the need for an
external 64-bit asm file with vc2008/vc2010; allow arbitrarily long
command line args

This was SVN commit r8985.
2011-02-25 16:31:42 +00:00
0378500bdc Fix #712 (remove S3TC warning).
Add timer to S3TC decoder so it's still easy to determine if it was
used.

This was SVN commit r8981.
2011-02-25 01:28:46 +00:00
f6c1d98c9a Fix #739 (test failures).
Use JSON in debug serializer output unless it fails due to e.g. cyclic
values, in which case use toSource.
Disable file stats code by default, since its output isn't used.

This was SVN commit r8975.
2011-02-24 00:32:38 +00:00
059a53dd37 Fix startup hang on OS X, caused by using timers before initialising them
This was SVN commit r8974.
2011-02-23 09:19:41 +00:00
0c1e05d672 Fix typo
This was SVN commit r8972.
2011-02-22 20:15:59 +00:00
e370223d1d Fix register handle leak
This was SVN commit r8971.
2011-02-21 22:25:51 +00:00
abe07e096a Build fix
This was SVN commit r8970.
2011-02-21 22:22:49 +00:00