Commit graph

3727 commits

Author SHA1 Message Date
Ykkrosh
91cd032827 Add basic replay recorder/player to help debugging and performance testing.
This was SVN commit r7863.
2010-08-06 22:16:05 +00:00
Ykkrosh
30a6dbcb89 Fix uninitialised-value warnings
This was SVN commit r7861.
2010-08-06 14:15:08 +00:00
janwas
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
Ykkrosh
e2a736fc5a Update contributors list
This was SVN commit r7856.
2010-08-06 00:18:45 +00:00
Ykkrosh
40e268e06a # Add terrain smoothing tool to Atlas, based on patch from DigitalSeraphim.
Fixes #516.

This was SVN commit r7854.
2010-08-05 20:43:31 +00:00
Ykkrosh
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
janwas
c944148337 fix deadlock in pre-XP SP2 windows codepath
fixes #525

This was SVN commit r7852.
2010-08-05 16:20:11 +00:00
Ykkrosh
df4e9a05c2 Fix build error on 32-bit Linux
This was SVN commit r7851.
2010-08-05 14:24:32 +00:00
Ykkrosh
cc8ad0f3c0 Fix line endings
This was SVN commit r7850.
2010-08-05 14:22:56 +00:00
Ykkrosh
07615310f2 # Add rally points for newly-trained units, based on patch from evans.
Fixes #521.

This was SVN commit r7849.
2010-08-05 10:20:47 +00:00
Ykkrosh
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
Ykkrosh
65bcedb9fc Load map descriptions from their XML file.
Add basic hold-fire stance, and use it for some test maps.
Add JSON data container to map XML files, to simplify the interaction
between scripts and maps.
Fix fixed-point printing so it roundtrips safely through map files.
Fix camera startup positions in old-format maps.

This was SVN commit r7844.
2010-08-04 21:15:41 +00:00
Ykkrosh
b292a32505 Add JS memory usage to profiler.
Add dumpHeaps() console function for debugging JS memory usage.
Increase default JS heap size.
Make call-time profile table appear first when toggling.
Remove some unused script functions.

This was SVN commit r7842.
2010-08-02 19:23:58 +00:00
janwas
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
Ykkrosh
8286218cad Delete lots of obsolete unused script-interface code.
Delete unused code from various other places.

This was SVN commit r7839.
2010-08-01 20:56:34 +00:00
Ykkrosh
41ad5bd965 # Add corpse decay and building collapse.
Make 'delete' command kill the unit instead of destroying it.
Make projectiles vanish after a timeout.
Fix projectile landing positions with low framerates.

This was SVN commit r7837.
2010-08-01 17:38:01 +00:00
Ykkrosh
fdb8be2fd5 Fix warning
This was SVN commit r7836.
2010-08-01 17:36:39 +00:00
janwas
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
Ykkrosh
423b31c130 Fix units trying to move outside themselves when ordered to their current location.
Remove redundant comparisons in pathfinder.
Simplify range query result ordering.
Avoid throwing exception on script errors in debug serializer.

This was SVN commit r7828.
2010-07-31 21:22:39 +00:00
Ykkrosh
d29dd45237 Fix compiling with Clang
This was SVN commit r7824.
2010-07-30 21:42:22 +00:00
Ykkrosh
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
Ykkrosh
3124b55cc0 Warning fixes
This was SVN commit r7821.
2010-07-29 21:04:07 +00:00
Ykkrosh
0cd0a1f584 # Add auto-attacking of nearby enemies.
Add general range-detection code.
Avoid unnecessarily computing 3D entity positions.

This was SVN commit r7817.
2010-07-29 20:39:23 +00:00
Ykkrosh
a22b32ff9c Update contributors list
This was SVN commit r7814.
2010-07-29 15:57:04 +00:00
Ykkrosh
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
Ykkrosh
797e2bb491 NSIS-based installer for Windows. Fixes #519.
This was SVN commit r7812.
2010-07-26 23:38:46 +00:00
Ykkrosh
759e452e0b Fix warning
This was SVN commit r7810.
2010-07-25 18:19:30 +00:00
Ykkrosh
f6a1501410 Set svn:eol-style native
This was SVN commit r7809.
2010-07-25 18:08:35 +00:00
janwas
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
Ykkrosh
ee20d0c2cb Fix compile error
This was SVN commit r7807.
2010-07-25 17:03:07 +00:00
Ykkrosh
96a73bb580 Discourage units from walking outside the map.
Improve pathfinder performance by avoiding unnecessary grid
recalculations.

This was SVN commit r7806.
2010-07-25 14:11:21 +00:00
Ykkrosh
1faf83f916 Add some missing consts to arguments.
This was SVN commit r7805.
2010-07-25 14:10:46 +00:00
Ykkrosh
8d7011998e Fix typo
This was SVN commit r7804.
2010-07-25 11:24:44 +00:00
Ykkrosh
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
Ykkrosh
4cd88d8aa9 Remove an assertion which I hope wasn't important
This was SVN commit r7801.
2010-07-24 21:54:54 +00:00
Ykkrosh
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
Ykkrosh
93802f257a Avoid crash caused by glibc <=2.7 bug
This was SVN commit r7798.
2010-07-24 20:03:15 +00:00
janwas
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
Ykkrosh
523a6a5819 Fix tests to be more tolerant of odd environments
This was SVN commit r7796.
2010-07-24 15:49:40 +00:00
Ykkrosh
827c81fb03 Allow overriding libdir at run-time for tests
This was SVN commit r7795.
2010-07-24 12:51:22 +00:00
Ykkrosh
16f70cfe4c Delay construction of Atlas message passer
This was SVN commit r7793.
2010-07-24 11:56:21 +00:00
Ykkrosh
9f6eb626b4 Fix reported build errors
This was SVN commit r7792.
2010-07-23 19:11:02 +00:00
Ykkrosh
7568414fed Fall back to 16-bit depth buffer when 24-bit isn't supported
This was SVN commit r7791.
2010-07-23 17:28:32 +00:00
Ykkrosh
07d21e6a2b Fix #497 (Make square unit outlines match the ground better), based on patch from evans
This was SVN commit r7788.
2010-07-22 20:52:25 +00:00
Ykkrosh
a3f37209a5 Warning fix
This was SVN commit r7787.
2010-07-22 19:01:25 +00:00
janwas
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
janwas
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
Ykkrosh
2b1541ba0b Fix #456 (DllLoader should handle missing files better), based on patch from evans
This was SVN commit r7783.
2010-07-22 00:25:13 +00:00
WhiteTreePaladin
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
Ykkrosh
7bf60c086e Update GUI documentation
This was SVN commit r7777.
2010-07-21 17:53:38 +00:00
Ykkrosh
4471d37ca5 Fix script caching of inherited templates.
This was SVN commit r7773.
2010-07-21 16:04:17 +00:00
Ykkrosh
bd2fd6c713 Extend animal AI to all animals.
This was SVN commit r7771.
2010-07-20 08:45:09 +00:00
Ykkrosh
c4350d86de Avoid unnecessary dynamic allocation when calling script functions.
Use tracer instead of rooting in ValueCloner, to avoid memory
allocations.

This was SVN commit r7770.
2010-07-19 23:03:33 +00:00
Ykkrosh
9674c3c0fe Remove ScriptingHost initialisation code (share with ScriptInterface instead).
Fix GUI scripts to avoid strict warnings.
Rejig GUI/SpiderMonkey interface to use less custom code, and to work
with JSOPTION_VAROBJFIX.
Add event name to GUI event handler function names (visible in the
profiler).

This was SVN commit r7769.
2010-07-19 23:01:58 +00:00
Ykkrosh
ac9412458a Disable unnecessary state hash check in single-player games.
This was SVN commit r7768.
2010-07-19 22:57:04 +00:00
Ykkrosh
e19146cf25 # Added AI for chickens.
Add scripted HFSM system.
Add very basic animal AI.
Support script-only message types.
Add shift+D hotkey to toggle dev command panel.

This was SVN commit r7763.
2010-07-18 15:19:49 +00:00
Ykkrosh
2375c7cb95 Add bindir/datadir/libdir options, to find files when the game is installed in standard FHS locations
This was SVN commit r7758.
2010-07-14 19:39:47 +00:00
Ykkrosh
1ea8ab60ee Compile with -Wundef to detect stupid macro typos like "GCC_VER"
This was SVN commit r7756.
2010-07-14 15:54:39 +00:00
janwas
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
janwas
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
janwas
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
Ykkrosh
0833d6a950 Improve OpenGL 1.1 support
This was SVN commit r7747.
2010-07-13 20:37:44 +00:00
janwas
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
Ykkrosh
a440569970 Fix warning
This was SVN commit r7744.
2010-07-12 22:17:05 +00:00
Ykkrosh
ee72115b7a Fix Linux compile error
This was SVN commit r7743.
2010-07-12 22:14:28 +00:00
janwas
9f66c86d64 fix ACPI table validation after encountering signatures containing ! and _ (invalid)
This was SVN commit r7742.
2010-07-12 13:01:12 +00:00
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
Ykkrosh
b1bdb2b1f2 VC2010 fix
This was SVN commit r7740.
2010-07-11 22:52:09 +00:00
Ykkrosh
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
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
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
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
Ykkrosh
a761cbdb6e Fix URL opener on OS X
This was SVN commit r7720.
2010-07-08 18:35:02 +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
Ykkrosh
1eb64ebb26 Fix non-PCH builds
This was SVN commit r7711.
2010-07-07 10:39:41 +00:00
Ykkrosh
8d9fa66b67 Fix warning
This was SVN commit r7710.
2010-07-07 10:39:12 +00:00
Ykkrosh
6bd38c1e5d Report errors when hosting/joining fails
This was SVN commit r7709.
2010-07-06 20:51:45 +00:00
Ykkrosh
5d5cb02b21 Disable visible logging of network messages
This was SVN commit r7708.
2010-07-06 20:31:05 +00:00
Ykkrosh
31699e830d Handle disconnections better.
Remove local sessions (just use ENet for everything instead) because
they add far too much complexity.
Fix memory leaks.

This was SVN commit r7706.
2010-07-06 19:54:17 +00:00
Ykkrosh
32933c501a Fix uninitialised value in logger.
This was SVN commit r7705.
2010-07-06 19:53:08 +00:00
Ykkrosh
b539188810 Prevent ugly output from logger when vswprintf fails before filling the buffer (triggered by Unicode characters on OS X).
This was SVN commit r7704.
2010-07-06 11:06:17 +00:00
Ykkrosh
a46612d51e GCC 4.0 build fix
This was SVN commit r7703.
2010-07-06 10:43:06 +00:00
Ykkrosh
76a099f626 Reserve space for minimap units. Saves approximately 0.01ms per frame.
This was SVN commit r7700.
2010-07-05 19:18:40 +00:00
Ykkrosh
b5c5467c88 Fix errors when compiling with _GLIBCXX_PROFILE
This was SVN commit r7699.
2010-07-05 19:13:22 +00:00
Ykkrosh
65f4f2f0f2 Fix houses increasing pop limit before construction has finished
This was SVN commit r7698.
2010-07-05 18:28:19 +00:00
Ykkrosh
98a2a887c8 Warning fix
This was SVN commit r7695.
2010-07-05 08:55:09 +00:00
Ykkrosh
9b9e4fa1b4 Support Unicode reliably in logger, via explicit conversion to UTF-8.
Expand date buffer to avoid Y10K bug, Y100K bug, etc.

This was SVN commit r7694.
2010-07-05 00:03:10 +00:00
Ykkrosh
018f3d71d9 Partially fix network tests
This was SVN commit r7693.
2010-07-04 19:59:05 +00:00
Ykkrosh
586ba51e4a Fix lossy fixed<->jsval conversion.
(Hopefully this will really fix the OOS errors.)

This was SVN commit r7692.
2010-07-04 19:47:31 +00:00
Ykkrosh
dff694f0f0 Fix units spawning on top of each other.
Add type-safety to prevent that kind of bug happening again.

This was SVN commit r7691.
2010-07-04 17:19:38 +00:00
Ykkrosh
e8b264835a Add fixed-point sin/cos, to fix OOS errors
This was SVN commit r7690.
2010-07-04 17:15:57 +00:00
Ykkrosh
f6081101e7 Use more precision in debug serialization, to help debugging of OOS errors
This was SVN commit r7689.
2010-07-04 17:03:45 +00:00
Ykkrosh
7cef282d06 Fix some printf string formatting
This was SVN commit r7688.
2010-07-04 16:52:14 +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