1
0
forked from 0ad/0ad
Commit Graph

230 Commits

Author SHA1 Message Date
ddba0cc311 topology.cpp: fix for non-contiguous APIC IDs
wcpu: avoid undefined shift right on 64-CPU systems (caught via
assertion)
filesystem: add wrename
path_util: add std::wstring variants of common boost::filesystem
routines

This was SVN commit r8922.
2011-02-15 10:38:11 +00:00
fd46b9e370 fixes/improvements from work:
file/wfilesystem: avoid error dialog when opening a file that doesn't
exist
precompiled/pch_warnings: remove push/pop that prevented our warning
disables to applying to other code. update comments
topology: refactor APIC field access and add support for constructing
APIC ID from topology
waio: add file_attribute_normal
wsysdep: slightly safer sys_generate_random_bytes implementation

This was SVN commit r8869.
2011-01-28 13:40:07 +00:00
002e3f5606 minor fixes from work; also add sys_WideFromArgv
This was SVN commit r8856.
2011-01-04 19:53:38 +00:00
2fa3c554de Windows build fixes
This was SVN commit r8845.
2010-12-30 20:10:04 +00:00
40933c06e1 Primitive support for gamepad camera movement
This was SVN commit r8844.
2010-12-30 19:45:13 +00:00
802f22485b Fix some warnings on Windows
This was SVN commit r8834.
2010-12-11 12:33:02 +00:00
ba2a9d7af3 improvements from work: [update-workspaces required]
- split precompiled.h into several headers (simplifies reuse)
- enable additional warnings not in W4
- split ErrorReaction into ErrorReactionInternal - clarifies which
values can actually be returned by debug_DisplayError
- wsdl: slightly safer HDC usage via CS_OWNDC, avoid dipping into DC
cache via ValidateRect instead of BeginPaint; remove unused thread
create
- StdDeserializer - wasn't including byte_order => BYTE_ORDER was
undefined
- wsysdep: clean up error dialog message handling

This was SVN commit r8828.
2010-12-09 11:16:21 +00:00
5df240d97d Disable broken GUI error reporter on OS X
This was SVN commit r8787.
2010-12-04 19:09:41 +00:00
f959390d0b Mostly fix hypothetical thread/fork interaction dangers
This was SVN commit r8689.
2010-11-25 16:11:16 +00:00
80888a7325 Avoid buffer overflow assertion failures when dumping stack trace on Windows.
Try to be marginally less likely to get stuck in infinite recursion.

This was SVN commit r8669.
2010-11-20 21:26:22 +00:00
c36fc2b8d7 Add script-based system for doing messy stuff based on system configuration.
Display warning for certain broken NVIDIA drivers.

This was SVN commit r8663.
2010-11-20 19:46:49 +00:00
74c19b5015 Add xmessage-based GUI dialog box for debug messages on Linux (fixes #663).
Switch out of fullscreen before displaying dialog boxes.
Add Engine.DebugWarn for testing.

This was SVN commit r8661.
2010-11-20 17:14:45 +00:00
404456ee8e Fix int8_t redefinition errors in VC2010
This was SVN commit r8635.
2010-11-17 03:02:04 +00:00
bd3bd084c0 Support new SpiderMonkey API.
wposix: Define int8_t compatibly with SpiderMonkey.
Remove unused camera, lightenv JS interfaces.
Remove most of vector JS interface.
Remove some of the redundant JS string conversion functions.
Remove unneeded vmem, _lodBias functions.
Clean up some formatting.

This was SVN commit r8629.
2010-11-16 23:00:52 +00:00
58b33af168 Support X mouse buttons on Windows
This was SVN commit r8591.
2010-11-13 19:51:15 +00:00
25cd781641 Support horizontal scroll wheels for camera rotation
This was SVN commit r8582.
2010-11-13 01:00:54 +00:00
6e74c53ee9 fix file/dir mode bits
fixes #648
also fix self-test on ICC 12

This was SVN commit r8558.
2010-11-08 15:02:05 +00:00
24f1a00190 avoid setting executable bit in files/dirs we create
thanks to fabio for reporting + a suggested fix.
fixes #648

This was SVN commit r8554.
2010-11-08 10:39:52 +00:00
6b4d5091b3 fixes from work: use ICC bswap intrinsics instead of fallbacks; update UNUSED2 to work with ICC; update mahaf for Win7
This was SVN commit r8553.
2010-11-08 10:01:12 +00:00
52851faeb6 cleanup - remove old cpu_memcpy and cpu_i64FromDouble that are no longer needed
This was SVN commit r8517.
2010-11-01 11:09:03 +00:00
2b9774aa05 fix: alt+enter -> resize window -> maximize window failed to generate a resize event
This was SVN commit r8514.
2010-11-01 09:04:55 +00:00
aefc87f226 Windows fixes
This was SVN commit r8513.
2010-10-31 22:26:41 +00:00
034504f536 Remove misleading wposix declaration of unimplemented gettimeofday.
This was SVN commit r8510.
2010-10-31 21:58:30 +00:00
dd5ff36363 Fix Linux build error (fixes #651).
This was SVN commit r8487.
2010-10-29 15:48:46 +00:00
0c3d69ae29 fixes from work: clarify that cpu_MemoryBarrier has no runtime cost by renaming to COMPILER_FENCE and moving to code_annotation.h; fix 32-bit Parallel Studio 2011 warning.
This was SVN commit r8486.
2010-10-29 12:54:51 +00:00
825bbf8f51 parallel studio 2011 warning fixes
This was SVN commit r8484.
2010-10-28 12:22:11 +00:00
e188683bab Preserve cursor-grabbing across alt-tabs on Windows (probably fixes #508).
This was SVN commit r8430.
2010-10-21 21:09:41 +00:00
d11bc41d9a move support for GL swap control into wsdl (based on patch from wacko)
fixes #523

This was SVN commit r8399.
2010-10-17 08:55:47 +00:00
2270961d14 VC2010 fix
This was SVN commit r8353.
2010-10-14 09:39:41 +00:00
48360edf21 noticed during testing that the file cache is much smaller than our dataset; added logic to choose a decent size. rebuild-workspaces required.
wversion: move into separate component from wutil to allow inclusion
from GameSetup without pulling in windows.h (causes conflicts)

This was SVN commit r8319.
2010-10-09 21:14:08 +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
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
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
8367b73087 Fix warning
This was SVN commit r7937.
2010-08-13 18:13:14 +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
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
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
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
9f6eb626b4 Fix reported build errors
This was SVN commit r7792.
2010-07-23 19:11:02 +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
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
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
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
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
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
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
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
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
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
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
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
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
27556f4b21 Fix window title only displaying the first character
This was SVN commit r7440.
2010-04-06 12:32:17 +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
13302cc133 Disable visible warnings when gamma-setting fails. Fixes #480.
This was SVN commit r7410.
2010-03-28 18:33:35 +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
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
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
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
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
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
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
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
d1f6ea785a Linux build fixes
This was SVN commit r7247.
2010-01-05 20:55:07 +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