Commit Graph

738 Commits

Author SHA1 Message Date
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
0720025073 cleanup
reduce dependency on PCH. move KiB constants to alignment, ARRAY_SIZE to
code_annotation.h.
move glext_funcs.h to external_libraries/glext_funcs.h, move part of
ogl.h to external_libraries/opengl.h
remove unused saturating arithmetic functions

This was SVN commit r9363.
2011-04-30 13:22:46 +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
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
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
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
cec05f02ea fix insidious OpenAL issue: the spec doesn't guarantee 0 isn't a valid source name => we need to use an out-of-band mechanism for specifying whether the source is valid.
refs #557

This was SVN commit r9087.
2011-03-20 16:40:36 +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
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
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
53b1447007 Fix what looks like miscompilation with GCC 4.0 on OS X
This was SVN commit r8786.
2010-12-04 19:06:13 +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
f45c74c368 thread-safety fixes to debug.cpp - most functions were already reentrant, just CAS-ified the assert suppression flags.
(NB: the debug_filter stuff remains non-reentrant because it's usually
only called from main() or at least the main thread)
closes #654

This was SVN commit r8543.
2010-11-06 19:14:16 +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
094ccc6a98 Fix playing of sound files in archives (by disabling proper streaming).
This was SVN commit r8370.
2010-10-15 23:06:14 +00:00
7b59550cc3 Fix #612 (passing a program object to glDeleteShader via pglDeleteObjectARB)
This was SVN commit r8344.
2010-10-13 16:45:27 +00:00
fecac5a7be # add support for streaming sounds, not just loading them entirely into memory (avoids stalls when switching music tracks)
very belated revision/integration of Heron/Kyniker's patch (thanks!)

ogg fixes: ensure file remains open by holding a shared_ptr. avoid
returning 0 (success) when bytesRead==requestedSize.

closes #100

This was SVN commit r8322.
2010-10-10 12:08:51 +00:00
b15c5c1c45 Add anisotropic filtering support to ogl_tex.
Shrink some OglTex fields so that it fits in the size limit.
Add function to efficiently read the 1x1 mipmap level's colour.
Add RGB->RGBA and BGR->RGBA transforms.
Fix DXT1a detection logic.
Fix OglTex_validate failing when ogl_max_tex_size == -1 (e.g. before
ogl_Init is called).

This was SVN commit r8097.
2010-09-10 20:37:54 +00:00
dee3cb84b5 Fix S3TC decoder bug.
Add S3TC decoder test.
Fix texture codec test to not be a no-op, then disable it since it
fails.
Add DDS mipmap removal transform.

This was SVN commit r8094.
2010-09-10 20:25:23 +00:00
9fa5af5fbf Avoid crash when loading texture named "".
Report texture-loading errors.

This was SVN commit r8006.
2010-08-19 21:58:27 +00:00
df4e9a05c2 Fix build error on 32-bit Linux
This was SVN commit r7851.
2010-08-05 14:24:32 +00:00
cc8ad0f3c0 Fix line endings
This was SVN commit r7850.
2010-08-05 14:22:56 +00:00
fdb8be2fd5 Fix warning
This was SVN commit r7836.
2010-08-01 17:36:39 +00:00
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
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
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
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
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
8d9fa66b67 Fix warning
This was SVN commit r7710.
2010-07-07 10:39:12 +00:00
b5c5467c88 Fix errors when compiling with _GLIBCXX_PROFILE
This was SVN commit r7699.
2010-07-05 19:13:22 +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
65cf204423 Display warnings and errors on screen for a short time (fixes #119).
Add warn(), error() functions for simulation scripts.

This was SVN commit r7600.
2010-05-31 22:44:59 +00:00
7dca91f26b # Various changes to the text rendering system.
Rewrite font builder tool to be much simpler and to support more text
effects.
Change GUI to use new set of fonts.
Switch font textures from TGA to PNG so they're easier for the font
builder to create.
Support RGBA font textures (for e.g. stroked text).
Greatly improve text rendering performance by using vertex arrays.
Fix rendering code leaving vertex buffers bound.
Add 'clip' property to GUI text objects, to disable clipping when
rendering.
Delete part of unused console function registration system.

This was SVN commit r7595.
2010-05-30 13:42:56 +00:00
e2fd560983 work around sound-related deadlock and assert on exit (due to OS X's broken OpenAL implementation)
refs #297

This was SVN commit r7516.
2010-05-08 19:11:28 +00:00
4981af4a57 OS X build/warning/test fixes
This was SVN commit r7512.
2010-05-07 20:55:23 +00:00
49eb176b25 Fix MSVC compiler warnings (replace most M_PI with (float)M_PI)
This was SVN commit r7404.
2010-03-26 19:04:40 +00:00
00e18e4ea8 Report S3TC non-support with an in-game GUI message box.
Fixes #313.

This was SVN commit r7390.
2010-03-23 22:45:07 +00:00
58e79bfdbe Force fancywater off if fragment shader extensions are not supported. See #270
This was SVN commit r7385.
2010-03-21 14:18:15 +00:00
bdfe28766a osx fix: TIMER_ADD_CLIENT identifier conflicted with the name of an existing symbol (namely the OpenGL function whose time was being measured)
This was SVN commit r7374.
2010-03-20 17:46:45 +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
02253f82f0 Add/rename header guards
This was SVN commit r7326.
2010-02-17 23:21:49 +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
0e8698d652 Build fixes
This was SVN commit r7288.
2010-01-27 19:05:02 +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
d0e741b261 Add shader compilation timers
This was SVN commit r7254.
2010-01-07 18:48:11 +00:00
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