Commit Graph
3029 Commits
Author SHA1 Message Date
Matthew Hoops ab732a73ff COMMON: Add a bit more to the doxygen comment for NEResources
svn-id: r54564
2010-11-29 00:27:48 +00:00
Max Horn 945602fdbe COMMON: Remove unnecessary reference to file.h
svn-id: r54561
2010-11-28 23:09:47 +00:00
Matthew Hoops f403c0f8a8 COMMON: Add support for loading NE resources and cursors
Needed for Mohawk (and Hugo Win eventually). Based on DrMcCoy's excellent Dark Seed II code.

svn-id: r54557
2010-11-28 22:55:00 +00:00
Filippos Karapetis 626e9413fd AmigaOS: Fixed compilation after the latest GSoC code merging (bug #3121350)
svn-id: r54555
2010-11-28 22:12:11 +00:00
Johannes Schickel 284b49aabc COMMON: Comment out locale <-> Common::Language conversion utils for now.
svn-id: r54517
2010-11-28 02:12:53 +00:00
Johannes Schickel 1ad63b431e BACKEND: Switch OSystem::getSystemLanguage return type to Common::String.
This is done as discussed on -devel.

svn-id: r54516
2010-11-28 02:12:33 +00:00
Matthew Hoops 34db1820eb COMMON: Add an isBE() function to get the endianness of a ReadStreamEndian
svn-id: r54500
2010-11-26 15:06:25 +00:00
Johannes Schickel ebbd504b90 COMMON: Adapt translation manager to use the OSystem for language detection.
svn-id: r54480
2010-11-25 18:42:05 +00:00
Johannes Schickel 189c9bf216 OSYSTEM: Add API to query the system locale.
I also adapted the SDL backend to implement the API.

svn-id: r54479
2010-11-25 18:40:56 +00:00
Max Horn 1cc80de1d9 COMMON: Add SeekableReadStreamEndian class
svn-id: r54445
2010-11-23 22:33:10 +00:00
Max Horn 12d5151ff4 COMMON: Remove default value for endianess in ReadStreamEndian subclasses
svn-id: r54441
2010-11-23 22:27:20 +00:00
Max Horn 382982d6e3 COMMON: Add ReadStreamEndian mixin class
svn-id: r54438
2010-11-23 22:26:27 +00:00
Max Horn ae919f3ebd COMMON: Remove XOR decoding capability from MemoryReadStream
svn-id: r54436
2010-11-23 22:25:53 +00:00
Max Horn 2180b2d6b5 COMMON: Split common/stream.h into several headers
svn-id: r54385
2010-11-19 17:03:07 +00:00
Lars Persson 824a4009c9 SYMBIAN : Remove Symbian FatalError implementation (not really used anymore for any current symbian phone)
svn-id: r54372
2010-11-19 12:49:33 +00:00
Lars Persson 714263d5e9 COMMON: Use user include instead of system include to remove lots of compiler warnings for symbian
svn-id: r54371
2010-11-19 12:47:52 +00:00
Max Horn 785590e504 COMMON: Push include file.h and fs.h from translation.h to translation.cpp
svn-id: r54357
2010-11-19 01:03:05 +00:00
Max Horn a72de47d5d COMMON: Cleanup EventRecorder
svn-id: r54355
2010-11-19 00:38:17 +00:00
Max Horn aef1ca4c4b COMMON: Cleanup XMLParser code
* Get rid of obsolete comment about external documentation
  (link was broken for at least one year)
* Remove unnecessary Common:: prefix
* Push #include stream.h from .h to .cpp

svn-id: r54354
2010-11-19 00:20:15 +00:00
Max Horn 5c7d7a85db COMMON: Push #include stream.h from zlib.h to zlib.cpp
svn-id: r54353
2010-11-19 00:10:09 +00:00
Max Horn 9fb1e2b17e COMMON: Change wrapBufferedWriteStream() to always disposes wrapped stream
This is the only we need right now, and it saves a few bytes per
instance. The template approach I used before has the drawback that it
increases the binary size, which negates the benefit. Thanks to LordHoto
for pointing this out.

svn-id: r54344
2010-11-18 20:27:15 +00:00
Johannes Schickel e1030e53a5 BACKENDS: Implement logging API proposed by Max on -devel.
This commits a slightly modified patch from my patch tracker item #3104630
"OSYSTEM: Add logging API as proposed by Max on -devel".

I was not able to test compilation on Android and SamsungTV, since there is no
toolchain for those on buildbot (or I was too blind to find them).

svn-id: r54339
2010-11-18 19:12:14 +00:00
Max Horn a9dcb11c54 COMMON: Turn BufferedWriteStream into a template class, with disposeParentStream as param
svn-id: r54336
2010-11-18 17:56:21 +00:00
Max Horn 152e52d015 COMMON: Make implementation of Buffered*Stream classes internal
svn-id: r54326
2010-11-18 17:02:51 +00:00
Max Horn 4707b610fc COMMON: Fix incorrect use of assert() macro
The assert() macro may be compiled to be empty. In that case, its
arguments are *NOT* evaluated. Hence, things like
  assert(doSomething())
must not be used whenever doSomething() has important side effects.

Also document BufferedWriteStream::flushBuffer() and explain why it
exists parallel to BufferedWriteStream::flush().

svn-id: r54322
2010-11-18 16:08:56 +00:00
Max Horn 62400d2638 COMMON: Reverting r54257 as _singleton already was protected (and I am blind :)
svn-id: r54259
2010-11-16 08:24:11 +00:00
Max Horn abe1959d36 COMMON: Simplify DECLARE_SINGLETON macro
This makes it possible to write
  DECLARE_SINGLETON(foo);
instead of
  DECLARE_SINGLETON(foo)
without causing a warning about an extra semicolon.
The extra semicolon helps some editors at parsing the C++ code.

svn-id: r54258
2010-11-16 08:23:13 +00:00
Max Horn 5af8a76b48 COMMON: Make Common::Singleton::_singleton protected instead of public
svn-id: r54257
2010-11-16 08:21:53 +00:00
Yotam Barnoy fdc2a2cd81 CONFIGMAN: added defragmentation methods for one-plugin-at-a-time
One-plugin-at-a-time can have fragmentation caused by the ConfigManager if a game changes any configuration value. By reallocating and copying over the ConfigManager, we avoid this problem.

svn-id: r54243
2010-11-15 13:37:06 +00:00
Thierry Crozat 4e357549d5 COMMON: Fix TranslationManager
Revision 54206 broke translations support because it uncovered a bug in
the TranslationManager when reading the translations.dat file. In that file
all the stored string lengths include the terminating 0 but Common::String
expect a length without the terminating 0. Therefore all String objects
created from reading the translations.dat file had an incorrect size. This
caused the font file names to be wrong after adding the charset.

svn-id: r54235
2010-11-13 23:27:13 +00:00
Johannes Schickel c624202c39 COMMON: Fix compilation when translation support is disabled (regression from r54207).
svn-id: r54209
2010-11-11 19:20:26 +00:00
Max Horn cc61445599 COMMON: Cleanup translation manager code; add FIXME
svn-id: r54206
2010-11-11 18:22:35 +00:00
Max Horn 059944e59c COMMON: Push #include audiocd.h in system.h out to .cpp files
svn-id: r54148
2010-11-08 23:07:42 +00:00
Max Horn 82e473bc3b BACKENDS: Partial merge of gsoc2010-opengl: Audio CD changes only
This commit contains the AudioCDManager changes from the gsoc2010-opengl
branch. The other changes in that branch are restricted to the backends
directory only (plus configure).

The Nintendo DS and Dreamcast ports still need to be ported over to
the new Audio CD system, but that should be fairly easy to do.

svn-id: r54147
2010-11-08 22:53:36 +00:00
Max Horn 4242229c91 COMMON: Make KeyState::hasFlags const
svn-id: r54146
2010-11-08 19:18:13 +00:00
Max Horn f9d311d1ef COMMON: Add const qualifiers and remove Common:: prefix in MacResManager code
svn-id: r54122
2010-11-07 17:17:21 +00:00
Max Horn 4d3a07b494 COMMON: Rename and tweak MD5 functions
* names now comply to our naming conventions
* the function computeStreamMD5AsString which computes the MD5
  as a hex string now returns it as a Common::String
* add doxygen comments

svn-id: r54121
2010-11-07 17:16:59 +00:00
Max Horn 99cf0e3936 COMMON: Undo changes to common/ptr.h, remove Common::ScopedPtrC
The deletePointer() method approach cannot work, as it is called
by the destructor of the base class.
A possible correct solution would be to enhance ScopedPtr with a
"deleter" object like SharedPtr. But this seems overkill as long as we
need it in only one place.

svn-id: r54057
2010-11-04 00:49:12 +00:00
Yotam Barnoy 13b904d282 Merge from gsoc2010-plugins
This merge was extremely difficult to carry out. It wasn't entirely SVN's fault -- there were several merges to the branch that were done by hand. Please check for any issues and regressions. Also note that the DS makefile was not copied over since the "one at a time" plugin mode currently has too much fragmentation ie. it doesn't work.

svn-id: r54051
2010-11-03 22:01:01 +00:00
Max Horn 75c6e66874 COMMON: Get rid of the debug() output formatter
Now Engine::errorString is only used by error(), as its name suggests.
This also resolves the inconsistency between debug & debugN.

svn-id: r54023
2010-11-01 20:41:32 +00:00
Max Horn 963cf0b08a COMMON: Disable DEBUG_HASH_COLLISIONS (oops)
svn-id: r54013
2010-11-01 16:42:31 +00:00
Max Horn 459ef85068 COMMON: Switch hexdump() to debugN instead of printf
Rational: hexdump() is used for debug output. An even better alternative
might be to change it to return a string, instead of printing anything.
This way, it could be used inside e.g. GUI debug consoles.
This is left as an exercise to the interested developer :).

svn-id: r54010
2010-11-01 16:04:18 +00:00
Max Horn f77b8aee75 COMMON: Switch ConfigManager::setInt & ConfigManager::registerDefault to use String::format
svn-id: r54009
2010-11-01 16:04:04 +00:00
Max Horn 0cf64915e1 COMMON: Add debugN variant without level parameter
This makes our various debug*() functions fully symmetric, for now.

svn-id: r54008
2010-11-01 16:03:50 +00:00
Max Horn e27b05ef35 COMMON: Rename String::printf() to String::format()
This is a first step towards getting rid of all uses of regular printf,
fprintf, vprintf, vfprintf, puts, fputs, etc. in our codebase.

The name format() reflects the purpose of the function, and parallels
String.format() in Java, boost::format, and others.

svn-id: r54004
2010-11-01 16:02:28 +00:00
Max Horn 7a85365004 COMMON: Change some (f)printf to debug calls; clenaup hashmap.h
svn-id: r54003
2010-11-01 16:00:53 +00:00
Max Horn e67ab53d89 COMMON: Document forbidden.h
svn-id: r53990
2010-10-31 21:50:20 +00:00
Max Horn a41d4424af COMMON: Allow forbidden symbols in debug.cpp and textconsole.cpp
This is currently necessary for the PS2 port and possibly others.

svn-id: r53989
2010-10-31 21:49:53 +00:00
Yotam Barnoy 94c8d0a14d Updated with latest from trunk
svn-id: r53976
2010-10-31 11:08:43 +00:00
Max Horn 44393b2dc8 ALL: Add code to help stop people from accidentally using "bad" APIs
A new header file common/forbidden.h is included by scummsys.h and it
re-#defines numerous symbols like fopen(), fread(), system(), etc. with
garbage, in order to provoke compile errors in any code using them.

If a .cpp file really *must* use any of these (e.g. because it is a
backend file), then these redefinitions can be disabled by #defining
FORBIDDEN_SYMBOL_ALLOW_ALL as the first thing in the .cpp file. Whenever
this is done, an explanatory comment should be added.

Note that this system cannot catch all "bad" usages (notably the Lua
code in the sword25 engine), as it can only work if scummsys.h is
included.

svn-id: r53961
2010-10-30 21:27:42 +00:00