Commit Graph

1304 Commits

Author SHA1 Message Date
d07eac218c SDL 1.3 build fixes.
Support SDL_CONFIG environment variable in update-workspaces to pick
non-default sdl-config.
Avoid non-standard use of SDL/ in include paths.

This was SVN commit r10895.
2012-01-11 22:50:39 +00:00
1e4b950ed1 This was SVN commit r10870. 2012-01-05 03:38:54 +00:00
29a8f01254 Adds missing attributes when using autostart-random (caused undefined variable warning in saved games list).
This was SVN commit r10869.
2012-01-04 22:48:32 +00:00
10527b4551 Fix #1092 (script runtime mismatch when saving games)
This was SVN commit r10868.
2012-01-04 15:28:48 +00:00
56bd4b37cd Fix #1064 more
This was SVN commit r10860.
2012-01-03 15:42:03 +00:00
0ec4242962 Detect and fix printf signedness errors. Fixes #1086, #1087.
This was SVN commit r10846.
2012-01-01 16:43:10 +00:00
23308f0259 wsdl: add error checks, add support for bpp in sdl_surface
This was SVN commit r10826.
2011-12-29 09:01:09 +00:00
c4bb67a1ca Fix #1064 (use ++it instead of it++ for consistency), based on patch by Echelon9
This was SVN commit r10822.
2011-12-29 01:17:03 +00:00
52756535f3 Fix crash in GL_EXT_timer_query profiler
This was SVN commit r10819.
2011-12-28 22:00:52 +00:00
3537ae31d5 sync with work:
x86_x64: update MSR definitions to include model 2F (westmere ex);
update bus clock computation for sandy bridge; remove unused
cpu_Serialize; use namespace, add model names
mahaf: cope with stricter security for services/drivers
ApicId -> GetApicId, move to apic module
aken: add batch file to install driver (optional)

This was SVN commit r10815.
2011-12-27 14:12:31 +00:00
4f6f0b7baf Fix tests, and warnings, and non-PCH build
This was SVN commit r10801.
2011-12-23 13:01:29 +00:00
6399ec0cd2 # Partial support for saved games with AI.
Support cancelling loads while inside a loader callback.
Fix use of ArchiveReader/Writer since their API changed.
Improve error-detection in deserializer to avoid crashes.
Report deserializer errors to users.
Expand load-error message box to fit message about invalid saved games.

This was SVN commit r10787.
2011-12-22 14:04:32 +00:00
5f0d5e4137 Tidy some whitespace
This was SVN commit r10786.
2011-12-22 13:50:11 +00:00
0c84a6125b Support larger profiler JSON output
This was SVN commit r10781.
2011-12-21 11:28:24 +00:00
0ba908816f Fix line endings
This was SVN commit r10635.
2011-11-29 21:04:38 +00:00
8492426a14 Rough support for profiling replay mode and scripts
This was SVN commit r10634.
2011-11-29 20:32:43 +00:00
e74d6707e4 Avoid calling glGenQueries while a timer query is active (hopefully fixes #1033)
This was SVN commit r10622.
2011-11-27 22:24:05 +00:00
301854702c add support for removing individual files from VFS and a mechanism for automatically doing so (add filename.extension.DELETED to the same directory/archive), as discussed in meeting.
refactor: split up Invalidate into RemoveFile+RepopulateDirectory
GameSetup: fix: ensure the first mod always overrides game files,
irrespective of timestamp.

This was SVN commit r10610.
2011-11-26 18:37:53 +00:00
d82b85b8f3 Fix #1025 (add config option to toggle pause on window focus loss), based on patch by markcho.
This was SVN commit r10609.
2011-11-26 15:23:41 +00:00
39d100c732 Moves camera projection settings to default.cfg.
Changes field of view (FOV) to 45 degrees per discussion. Fixes #941.
Tweaks default camera zoom and rotation accordingly.

This was SVN commit r10548.
2011-11-17 23:34:01 +00:00
6b1ce04aad Fix VC2008 compatibility
This was SVN commit r10544.
2011-11-16 17:49:28 +00:00
ade841efdd Avoid assertion failures on abnormal exit() (e.g. dumpSchema mode)
This was SVN commit r10530.
2011-11-13 21:37:12 +00:00
fbff0aa98d Fix printf argument types
This was SVN commit r10529.
2011-11-13 18:31:06 +00:00
95bd6f874e Fix OS X build by using GL_TIME_ELAPSED consistently
This was SVN commit r10516.
2011-11-12 19:29:48 +00:00
70224e7940 Fix missing symbols in old glext
This was SVN commit r10515.
2011-11-11 11:56:51 +00:00
3916c25b84 Optimise vertex skinning code with SSE, based on patch by gruby.
Fixes #905.

This was SVN commit r10499.
2011-11-09 23:11:28 +00:00
87b3b0856f Fix warning
This was SVN commit r10496.
2011-11-09 22:35:31 +00:00
8617dfd0e1 Avoid fatal error on printf overflow in profiler
This was SVN commit r10495.
2011-11-09 18:29:08 +00:00
f2ea307507 Moved warning and debug messages to below the top bar.
This stops them obscuring the useful inormation in the bar.

This was SVN commit r10494.
2011-11-09 17:01:57 +00:00
b090ec48ce Add query counter bits to hwdetect
This was SVN commit r10493.
2011-11-09 13:10:34 +00:00
cfb79c3062 # Add GPU performance profiling support.
Add some profiler region attributes.
Render events in profile visualiser.
Change profiler from GPL to MIT.

This was SVN commit r10492.
2011-11-09 13:09:01 +00:00
cb27a680bf Fix profiler shutdown order
This was SVN commit r10483.
2011-11-09 00:09:19 +00:00
8f3255f9c8 Fix tests and Atlas with new profiler
This was SVN commit r10471.
2011-11-05 23:09:31 +00:00
09a02c96d5 Add initial code annotations for the new profiling tool
This was SVN commit r10466.
2011-11-04 01:35:50 +00:00
9965f43067 # Engine support for new profiling tool
This was SVN commit r10465.
2011-11-04 01:33:07 +00:00
4ef66a6950 Provide JSON-compatible string escaping
This was SVN commit r10464.
2011-11-04 01:18:34 +00:00
7064565ff6 # Allow saving and loading single-player games.
Support writing zip files based on in-memory data.
Fix menu sliding animations to be framerate independent.

This was SVN commit r10454.
2011-10-30 00:07:28 +00:00
b454ccca79 Fix GUI issues when reconnecting to multiplayer games
This was SVN commit r10452.
2011-10-29 14:53:13 +00:00
b59e27f678 Fix assertion failure in replay mode
This was SVN commit r10443.
2011-10-27 21:22:41 +00:00
6d071123cc Add simple functions for zlib compression with embedded length headers
This was SVN commit r10436.
2011-10-27 14:21:58 +00:00
dfc92de51b Avoid outputting non-printable-ASCII characters in the network log
This was SVN commit r10433.
2011-10-27 14:16:28 +00:00
29e4f633f1 Add initial serialization test mode.
Reduce some dependencies on CSimulation2 to provide more flexibility.

This was SVN commit r10426.
2011-10-24 14:31:05 +00:00
08b4d96cf2 Moves Atlas UI to main thread while engine loop runs in new thread.
Fixes Atlas compatibility with OS X (wxOSX/Cocoa requires the UI to run
in the main thread). Fixes #500.
Fixes Windows shutdown to close COM library properly (and WMI).

This was SVN commit r10299.
2011-09-20 22:49:02 +00:00
e13aeee36c Report desktop display size (not just window size)
This was SVN commit r10065.
2011-08-22 22:34:59 +00:00
36d897c694 # New menu background image
This was SVN commit r10042.
2011-08-20 17:17: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
e7ac0926a7 Replace console prefix-search behaviour with more standard history navigation, based on patch by Ross Bearman.
Fixes #906.

This was SVN commit r9939.
2011-07-30 23:06:09 +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
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
2f0bd8d8b0 Upgrade to SpiderMonkey 1.8.5 (fixes #734)
This was SVN commit r9852.
2011-07-16 23:24:14 +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
f28ae0d427 Disable SDL's DGA mouse support by default, to fix Linux fullscreen mouse sensitivity problems
This was SVN commit r9819.
2011-07-13 17:40:12 +00:00
b08e142193 Graphics optimisations and features from eihrul.
Add shadow filtering (PCF) option.
Fix ugly shadow saturation in old lighting mode.
Fix fancy water shader.
Fix camera matrix computation.
Support scissoring of camera frustum.
Optimise vertex skinning.
Inline various matrix functions.
Support filtering of the list of submitted models before a rendering
pass, for more precise culling.
Optimise water renderer (fixes #721, based on patch by ortalo).
Use scissoring when generating reflection/refraction textures.
Skip reflection/refraction texture generation when no water is visible.
Render alpha-blended objects differently (fixes #434).
Reduce shadow swimming effects.

This was SVN commit r9814.
2011-07-12 23:48:05 +00:00
20ebb2b829 Fix incorrect string type in log message on non-Windows
This was SVN commit r9790.
2011-07-09 18:41:58 +00:00
899f5105b9 Fix glwprintf errors on OS X with non-ASCII strings, by setting LC_CTYPE to UTF-8
This was SVN commit r9768.
2011-07-06 21:19:59 +00:00
528b833db0 Fix assertion failure in replay mode
This was SVN commit r9757.
2011-07-04 15:17:46 +00:00
a8fdcfde59 Fixes broken autostart for random maps with AI
This was SVN commit r9699.
2011-06-27 23:27:25 +00:00
33e8ac6fa5 Applies Kenny's patch for CInput pasting behavior (fixes #640)
Simplifies some clipboard hotkeys

This was SVN commit r9658.
2011-06-25 00:04:41 +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
74f849ad0b Adds message when profiler snapshot is first saved (Shift+F11)
This was SVN commit r9633.
2011-06-17 23:40:13 +00:00
59124006c8 Work around problem with quote keys in Windows on an Apple machine
This was SVN commit r9575.
2011-05-29 21:12:09 +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
1075e206f7 Fix some format string errors
This was SVN commit r9534.
2011-05-18 19:10:36 +00:00
05688548d0 Fix a bogus Doxygen comment
This was SVN commit r9513.
2011-05-14 17:27:14 +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
5bda00c230 Fix test
This was SVN commit r9471.
2011-05-07 00:14:17 +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
45426ac21c Probably fix build error
This was SVN commit r9450.
2011-05-05 18:06:36 +00:00
a7aed9957d Build fix
This was SVN commit r9448.
2011-05-05 16:24:06 +00:00
a741fb2f33 fix ChooseCacheSize - more simple, no longer relies on available-memory reporting (because Linux has a weird understanding of "available")
closes #611, refs #832

This was SVN commit r9445.
2011-05-05 09:53:07 +00:00
fa16181e84 Fix build error in tests.
Don't call wrealpath on the value returned by GetArg0, since it breaks
the tests and changes the semantics of that function.

This was SVN commit r9427.
2011-05-04 14:40:14 +00:00
b560ff5fb7 Fix warning from cccd6849a7
This was SVN commit r9426.
2011-05-04 14:18:16 +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
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
333c62a490 Report errors in GL limit detection properly.
Report slightly more detailed RAM and CPU data.

This was SVN commit r9405.
2011-05-02 23:46:56 +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
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
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
2d04d78db8 Disable apparently buggy shader mode on r300c drivers. Fixes #780.
This was SVN commit r9308.
2011-04-23 17:06:27 +00:00
7ec3266da5 Fix assertion failures when running RMS in debug mode
This was SVN commit r9282.
2011-04-18 17:10:57 +00:00
b4503bb61e Simplifies random map output, see #782.
Changes random maps to XZ coordinates, matching the engine.
More documentation for rmgen library.

This was SVN commit r9271.
2011-04-16 04:04:06 +00:00
942a45372c Random maps generated in their own thread, loading GUI is updated with progress.
Fixes some bugs in game loader error handling.

This was SVN commit r9220.
2011-04-10 05:31:18 +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
e5e9e38532 Fix GCC 4.6 "set but not used" warnings
This was SVN commit r9194.
2011-04-07 16:34:51 +00:00
2b138f47db Handle map loading errors in autostart and normal setup modes. Adds TODOs for Atlas and Replay modes. See #764.
Fixes loading screen 'title'.
Fixes broken autostart behavior for random maps and multiplayer games.

This was SVN commit r9193.
2011-04-07 02:32:16 +00:00
1866c2d3b7 Renderer simplification: Remove non-FBO shadow mode.
This was SVN commit r9189.
2011-04-06 22:08:51 +00:00
06903af31f Fixes build warning in C/C++ preprocessor (moves initialization outside test expression)
This was SVN commit r9185.
2011-04-06 21:47:42 +00:00
823e63a93b # Initial version of new particle system.
This was SVN commit r9151.
2011-04-03 19:15:15 +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
8b11b73226 Tweak OGRE preprocessor to fit in our code, and fix bug with #define inside #ifdef.
This was SVN commit r9122.
2011-03-26 20:09:54 +00:00
d1241cd6e9 Import original OgreGLSLProcessor from OGRE 1.7.2
This was SVN commit r9121.
2011-03-26 20:07:57 +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
f618605477 Changes default random map sizes.
Tweaks random map resources.
Adds support for circular maps to rmgen library.
Various fixes in map generator.
On Miletus map, change player 2 civ, as Romans are not fully implemented
(fixes #758)

This was SVN commit r9104.
2011-03-23 08:12:04 +00:00
0e0ed94926 Implements random map system, fixes #6.
Includes default library "rmgen" w/ API based on rmgen tool.
Modifies rmgen scripts Cantabrian Highlands, Neareastern Badlands, and
Latium.
Old map support dropped from MapReader.
Fixes a few bugs in existing game setup and initialization scripts.

This was SVN commit r9096.
2011-03-22 01:34:45 +00:00
c0a105432e Use path types and conversions more consistently.
This was SVN commit r9094.
2011-03-21 22:59:00 +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
2392eb6720 Skip reporting caches that were initialised but never filled in
This was SVN commit r9086.
2011-03-19 15:17:14 +00:00
d805e764c5 # Render unit silhouettes when behind buildings.
Fixes #144.
Start using stencil buffer.
Simplify materials a little.

This was SVN commit r9076.
2011-03-18 16:57:54 +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
9659ec298b Fix off-by-one error in date logging, and rearrange to standard format.
This was SVN commit r9065.
2011-03-15 20:29:29 +00:00
51b58328f7 Fix negative 'unlogged' time in profiler at start of game.
Remove redundant Reset call.

This was SVN commit r9047.
2011-03-08 16:58:07 +00:00
7d6cfe58de Fix non-PCH build
This was SVN commit r9037.
2011-03-06 00:01:23 +00:00
6f9da85d9f Improve performance of full state hash computation, by skipping script components that are known to have no data.
Switch to much quicker (and less comprehensive) per-turn hashing in
multiplayer games.

This was SVN commit r9036.
2011-03-05 22:30:32 +00:00
18798c3f8d OS X build fix
This was SVN commit r9022.
2011-03-05 13:49:36 +00:00
e608d9269a Load entity templates for the AI via the progressive loader.
Display message while loading the map list for the setup screen.

This was SVN commit r9019.
2011-03-05 01:56:59 +00:00
6bcce22a88 Tell the profiler about a few more bits of code
This was SVN commit r9007.
2011-03-03 22:38:01 +00:00
58ae08522f Let local.cfg override the hardware-dependent defaults set by hwdetect
This was SVN commit r9005.
2011-03-03 01:49:49 +00:00
1c1564daaf Make profiler JSON output much more concise.
Right-align values in in-game profile viewer.
Add alternating row shading in profile viewer, to make it easier to
read.

This was SVN commit r9004.
2011-03-03 01:09:19 +00:00
16a4eb36dd Various minor optimisations.
Enable SpiderMonkey method JIT in Release mode.
Add Engine.ProfileStart/Engine.ProfileStop functions for scripts.
Fix AI to clone initial entity data and shared metadata.

This was SVN commit r9003.
2011-03-03 00:16:14 +00:00
cb0e322a61 # Minor AI fixes.
Avoid script errors on Miletus.
Use pre-existing female citizens as workers.
Fix autostart.

This was SVN commit r8999.
2011-02-27 19:20:36 +00:00
407b1ef80f Bump hwdetect version, to identify reports that include recent bugfixes
This was SVN commit r8992.
2011-02-26 19:41:01 +00:00
6d7c27edfe Fix occasionally rendering just terrain and no models when starting a game
This was SVN commit r8988.
2011-02-26 00:07:16 +00:00
d805ef356e FileExists -> VfsFileExists (see next commit)
scriptInterface: fix bool cast warning

This was SVN commit r8984.
2011-02-25 16:30:55 +00:00
77fe5c9e40 Disable shadows and fancy-water by default on some slower graphics devices.
See #623.

This was SVN commit r8983.
2011-02-25 02:00:57 +00:00
a903b4c9d3 Fix #684 (disable S3TC on R600 drivers).
Clean up hwdetect a tiny bit.

This was SVN commit r8982.
2011-02-25 01:31:00 +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
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
6b783aebd6 Try to fix build errors
This was SVN commit r8973.
2011-02-22 21:50:26 +00:00
9bbda8b80b HTTP proxy discovery for Windows
This was SVN commit r8969.
2011-02-21 21:54:47 +00:00
25039d3aff Fix build errors with old glext.h.
Report full cache details, and lsb-release when available.

This was SVN commit r8968.
2011-02-21 18:56:23 +00:00
ee8b193cdb Fix profiler crash differently
This was SVN commit r8967.
2011-02-21 11:57:01 +00:00
a155809447 avoid crash due to null pointer in profiler (triggered by returning from the root node)
This was SVN commit r8966.
2011-02-21 09:41:11 +00:00
d75d9c3b75 Make the script profiler more useful, by giving the filename/line for anonymous functions.
Fix the turn-based profiler a bit.

This was SVN commit r8964.
2011-02-21 02:16:12 +00:00
d7a243343d Add per-turn counts to profiler, as well as per-frame.
Remove percent-of-parent and percent-of-frame timings since they're not
particularly useful.
Simplify profiler update code by using RingBuf.
Handle profiler keys via character codes rather than keysyms, to
hopefully work with different keyboard layouts.
Make console intercept all keys, to stop digits, shift-D, etc having
unexpected side-effects.
Disable console copy/paste when console is inactive.

This was SVN commit r8960.
2011-02-20 20:50:26 +00:00
5f64937d02 Skip detecting some not-very-useful GL values that cause errors in some drivers
This was SVN commit r8953.
2011-02-20 11:46:48 +00:00
c29f2d26b3 Add some more stuff to hwdetect, because there can never be too much
This was SVN commit r8951.
2011-02-20 00:54:36 +00:00
b2f5dd1b62 Non-PCH build fixes
This was SVN commit r8949.
2011-02-19 22:30:34 +00:00
7445342b61 wdll_ver: avoid errors while reading DLL version due to (lack of) FS redirection
UserReport: avoid windows iterator debugging warning due to invalid
operator[]

This was SVN commit r8942.
2011-02-19 19:15:00 +00:00
f3372bf11d Add some rough performance reporting.
Make the profiler converge a bit faster.

This was SVN commit r8939.
2011-02-19 03:14:37 +00:00
ceb4bc9b94 Report more hardware details
This was SVN commit r8937.
2011-02-19 00:39:32 +00:00
1c7e33b528 Remove a load of implicit CStr type conversions, since they're error-prone and can cause silent data loss.
Handle most CStr8/CStrW conversions via UTF-8 instead of effectively
assuming Latin-1.
Return UTF-8 strings from Xeromyces API.

This was SVN commit r8929.
2011-02-17 20:08:20 +00:00
3d997365d8 Fix CStr numeric constructors on 32-bit platforms.
Remove unnecessary assignment operators.

This was SVN commit r8926.
2011-02-16 21:14:08 +00:00
0da7e822ff # Add opt-in automatic feedback system.
Add GL implementation limits to hwdetect.
Make the in-game manual support multiple text files.
Remove unnecessary instruction on how to close the manual window.
Make guitextobject.caption return the original value without stripping
formatting tags.
Remove unused non-VFS support from config system.
Support writing config files back to their original path.
Remove unnecessary user profile directory; use normal config directory.

This was SVN commit r8925.
2011-02-16 20:40:15 +00:00
fca69efd76 Fix build for GCC 4.5
This was SVN commit r8920.
2011-02-13 18:38:22 +00:00
11837204b6 Fix archive builder to not compress the recently-renamed terrain blend textures
This was SVN commit r8919.
2011-02-13 17:37:33 +00:00
c7056490b2 Restrict the initial window size to the screen size (hopefully fixes #532).
This was SVN commit r8915.
2011-02-12 21:21:07 +00:00
eb074ba28c Fix #495 (warn when locale is bogus), based on patch from darrenhoffman and sergiovier
This was SVN commit r8913.
2011-02-12 00:19:59 +00:00
11bc751fd3 Save replay log's commands.txt in new locations when playing multiple games in a single session
This was SVN commit r8906.
2011-02-10 23:57:19 +00:00
b8925fbbc9 # Support AI construction of buildings.
Pass terrain passability data to AI scripts.
Expand pathfinder passability data to 16 bits per tile, to allow more
classes.
Support 16-bit ints in serializer.
Partially support JS typed arrays.
Allow foundations to be placed on top of units (fixes #499).
Stop farms and fishes blocking movement (fixes #534).
Add obstruction flags to allow finer control over what they block.
Associate entity IDs with obstruction shapes, to allow finding colliding
entities.
Support moving to the edge of a target entity with inactive obstruction.
Support foundation entities in AI.
Support playing as non-hele civs.

This was SVN commit r8899.
2011-02-10 16:06:28 +00:00
fe21c5e023 # Rewrite fog-of-war rendering.
Disable shadows when only 2 TMUs available.
Clean up some other rendering code.

This was SVN commit r8882.
2011-02-03 01:12:24 +00:00
1e02fe70a7 Add texture limits to hwdetect
This was SVN commit r8881.
2011-01-31 18:59:37 +00:00
03c75100ab # Fix terrain blending logic.
Add terrain priority rendering mode in Atlas.
Fix terrain painting in Atlas to be less profligate with priority
values.
Support hotloading of blend textures.
Clean up some trivial things.

This was SVN commit r8872.
2011-01-29 16:31:48 +00:00
f39f279132 Add AI script code to provide a cleaner API around the engine interface.
Handle AIProxy entirely through scripts.
Support structured clones of script values.
Improve performance.
Support multiple script contexts sharing a runtime.
Use a separate context per AI player.

This was SVN commit r8866.
2011-01-15 23:35:20 +00:00
dd501b2a5a # Add initial basic player AI framework.
Support direct access to serializer streams, so serializers can be
nested.
Make component script "this.template" read-only.
Stop globally-subscribed component scripts receiving messages posted to
local components, to reduce out-of-sync risks.
Move pathfinder data out of entity template directory.
Fix GuiInterface deserialization.

This was SVN commit r8865.
2011-01-12 12:29:00 +00:00
40933c06e1 Primitive support for gamepad camera movement
This was SVN commit r8844.
2010-12-30 19:45:13 +00:00
ad3f33dd27 Build fix for very old SDL
This was SVN commit r8833.
2010-12-11 02:25:21 +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
2540e17f45 Fix non-PCH builds
This was SVN commit r8816.
2010-12-08 18:54:05 +00:00
8ddef2fee0 Add fast-forward/rewind commands, to help with testing.
This was SVN commit r8803.
2010-12-06 19:58:06 +00:00
1201956b93 Additional cleaning up of logging: removed LOG_CATEGORY macro definitions.
This was SVN commit r8792.
2010-12-05 08:50:33 +00:00
19dbbb816d Changed all references from old CLogger API to use the new API. Removed old API. Fixes #247
This was SVN commit r8791.
2010-12-05 08:41:55 +00:00
95da3789cd Handle SDL_ACTIVEEVENT which notifies us of mouse focus change. If mouse focus is lost don't render cursor, reverting back to OS style. When focus is regained, render cursor again. Fixes #626
This was SVN commit r8789.
2010-12-05 05:17:28 +00:00
819bacd538 Automatically disable audio on OS X since it's stupid and broken.
This was SVN commit r8788.
2010-12-04 19:42:50 +00:00
4575c26616 Disable compression of public.zip (fixes #671).
This was SVN commit r8785.
2010-12-04 15:57:55 +00:00
4b37898ab9 Fix tests.
This was SVN commit r8784.
2010-12-04 15:08:18 +00:00
74114bf09a Handle XMB caching with the same system as texture caching.
Fixes #694.

This was SVN commit r8782.
2010-12-04 00:08:26 +00:00
2963422173 Add screenshot location logging w/ rendered console message. Rendered messages are hidden before screenshot is taken. Fixes #675
This was SVN commit r8675.
2010-11-21 01:25:16 +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
f286ce0b13 Fix crash when loading zero-length config files
This was SVN commit r8634.
2010-11-17 01:39:14 +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
042972e298 Renamed "session_new" to "session"
This was SVN commit r8608.
2010-11-14 20:32:38 +00:00
4100a13e0a # Add resource shuttling.
Add resource-carrying animations/props to an actor for testing.
Warn more quietly about invalid cursor names.

This was SVN commit r8589.
2010-11-13 19:15:29 +00:00
25cd781641 Support horizontal scroll wheels for camera rotation
This was SVN commit r8582.
2010-11-13 01:00:54 +00:00
e43eb0c18b # Various hotkey fixes and cleanups.
Support ctrl for removing entities from selection.
Move big screenshot hotkey to shift+F2.
Increase mouse wheel rotation speed.
Fix HotkeyIsPressed when a more specific hotkey was matched instead.
Support multiple hotkeys with the same binding.
Use hotkeys instead of raw key events in GUI.
Delete some obsolete hotkey definitions.
Remove unused broken EntitySelection toggle method.

This was SVN commit r8546.
2010-11-07 20:42:52 +00:00
a13836bd68 safely handle zero-sized XMB files ensuing from a crash while loading
fixes #662

This was SVN commit r8545.
2010-11-07 16:14:13 +00:00
3407983e98 remove no-longer needed (and non-reentrant) MICROLOG as per today's meeting
This was SVN commit r8542.
2010-11-06 19:11:40 +00:00
818ea52c3b Delete obsolete non-working i18n code
This was SVN commit r8527.
2010-11-03 17:52:07 +00:00
81f5e0ac5f Allow continuing playing when a client leaves a multiplayer game (fixes #620).
Fix multiplayer autostart.
Make NETTURN_LOG syntax differently ugly.

This was SVN commit r8525.
2010-11-03 00:21:52 +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
aefc87f226 Windows fixes
This was SVN commit r8513.
2010-10-31 22:26:41 +00:00
5d764f1435 Run network server in a separate thread, to minimise latency.
Make some parts of logger and console thread-safe.
Simplify console: remove special commands; remove prefix for script
commands.
Remove LOG_ONCE, to simplify logger.
Change some code to use the new logger interface.
Fix OOS when revealing map.
Clean up some formatting.

This was SVN commit r8511.
2010-10-31 22:00:28 +00:00
10c5dbcba4 Fix Atlas and autostart.
Fix non-POD in varargs.
Remove misleading max_players config variable (the engine doesn't care
about it, all the limits are hard-coded).
Remove civ-center-based player civ initialisation hack.
Add dummy player_defaults.json.
Clean up formatting a bit.

This was SVN commit r8498.
2010-10-30 13:27:23 +00:00
9ee44bd9b8 Game setup changes, including showing name, civ, team, and some options loaded from the scenarios. Civ data added. Civ info window to preview civs. Icon tooltips. Support for random map implementation. Fixes #590.
This was SVN commit r8494.
2010-10-30 04:02:42 +00:00
97019c3a5a Fix launching Atlas from the main menu
This was SVN commit r8491.
2010-10-29 21:04:59 +00:00
9e499cdec5 # Fix hotkey bugs.
Simplify hotkey system to use strings consistently.
Restrict scope of GUI hotkey bindings to the associated page.
Avoid hard-coding list of hotkeys.
Clean up the code a little bit and fix some bugs.
Remove unused "!" prefix for key negation.
Fixes #567.

This was SVN commit r8444.
2010-10-23 02:37:00 +00:00
3eed24a338 Fix Mesa S3TC-enabling to work in Atlas
This was SVN commit r8433.
2010-10-21 23:44:54 +00:00
c0a7a36f7a Use JSFastNative API in more places, for improved compatibility with future SpiderMonkey versions.
Remove some unnecessary script-exposed functions, and move some more
into the Engine namespace.

This was SVN commit r8428.
2010-10-21 19:54:59 +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
ee55b92667 Avoid wasting address space on currently-broken cache (see #611).
This was SVN commit r8371.
2010-10-15 23:20:28 +00:00
835609df20 Change S3TC warning yet again, to point to a web page with more information. Also stop hard-coding the message.
This was SVN commit r8367.
2010-10-15 12:29:20 +00:00
a1a7264aec Set force_s3tc_enable automatically for greater chance of compressed texture support on Linux (see #575).
This was SVN commit r8356.
2010-10-15 00:06:48 +00:00
3d2b17f1bf Fix some warnings on Windows
This was SVN commit r8352.
2010-10-13 21:58:31 +00:00
6f62ef3f3c better ChooseCacheSize: always clamp to 500 MB, remove assertion (refs #611)
This was SVN commit r8329.
2010-10-11 07:03:53 +00:00
c9cc7d9784 skip populating directories when mounting and scanning archives => reduces startup time by about half a second when archives are present.
also disable archive stats (currently unused) and refactor directory
creation/association logic.

This was SVN commit r8321.
2010-10-10 10:22:11 +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
a4e47abf34 Stop suggesting the now-unnecessary libtxc_dxtn when S3TC support is missing
This was SVN commit r8315.
2010-10-09 16:07:41 +00:00
0436dc4cb9 Fix memory leak
This was SVN commit r8302.
2010-10-07 18:42:35 +00:00