Commit Graph

256 Commits

Author SHA1 Message Date
janwas 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
janwas e6dec4b4b4 (vc2010) warning fixes
This was SVN commit r7733.
2010-07-10 18:24:02 +00:00
janwas 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
janwas 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
janwas fdf92bee98 warning fixes
This was SVN commit r7719.
2010-07-08 10:58:24 +00:00
janwas 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
janwas 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
Ykkrosh 88f25849b3 Windows fixes
This was SVN commit r7715.
2010-07-07 22:23:18 +00:00
Ykkrosh 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
janwas 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
janwas 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
janwas 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
Ykkrosh 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
Ykkrosh 545979040b Expose the user's login name.
This was SVN commit r7648.
2010-06-30 21:18:29 +00:00
janwas 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
janwas 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
janwas 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
janwas 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
janwas 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
Ykkrosh 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
janwas a6600185ff fix delete vs delete[]
This was SVN commit r7545.
2010-05-14 21:28:16 +00:00
janwas 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
Ykkrosh 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
janwas 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
Ykkrosh 27556f4b21 Fix window title only displaying the first character
This was SVN commit r7440.
2010-04-06 12:32:17 +00:00
janwas 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
janwas 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
Ykkrosh 13302cc133 Disable visible warnings when gamma-setting fails. Fixes #480.
This was SVN commit r7410.
2010-03-28 18:33:35 +00:00
Ykkrosh 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
janwas 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
janwas 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
janwas 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
janwas 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
janwas 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
Ykkrosh 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
janwas 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
janwas 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
janwas 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
janwas 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
janwas 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
Ykkrosh 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
Ykkrosh a116670620 Remove unused wsdl field that doesn't exist in SDL
This was SVN commit r7253.
2010-01-07 18:41:28 +00:00
Ykkrosh 48f0c9b5d7 Set svn:eol-style=native
This was SVN commit r7252.
2010-01-07 17:42:56 +00:00
Ykkrosh 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
janwas 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
janwas 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
janwas 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
janwas 5f56ec86e9 fix waio error handling and update comments
This was SVN commit r7234.
2009-12-30 14:28:24 +00:00
janwas 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
janwas 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