1
0
forked from 0ad/0ad
Commit Graph

1074 Commits

Author SHA1 Message Date
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