aboutsummaryrefslogtreecommitdiff
path: root/common
AgeCommit message (Collapse)Author
2010-10-30ALL: Add code to help stop people from accidentally using "bad" APIsMax Horn
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-30COMMON: Add SCUMMVM_CURRENT_FUNCTION macro (useful for debugging)Max Horn
svn-id: r53931
2010-10-24ALL: Fix various typos (patch #3093266)Max Horn
svn-id: r53762
2010-10-18Revert "COMMON: Implement Common::vprintf(). Patch by littleboy"Eugene Sandulenko
svn-id: r53586
2010-10-18COMMON: Implement Common::vprintf(). Patch by littleboyEugene Sandulenko
svn-id: r53576
2010-10-15COMMON: Made some constructors explicit, where we wouldn't really like ↵Johannes Schickel
implicit conversion. svn-id: r53508
2010-10-15COMMON: Extend workaround in HashMap code for sgi IRIX MIPSpro to also apply ↵Johannes Schickel
for Intel's C++ compiler. svn-id: r53507
2010-10-15COMMON: Revert attempt to silence MSVC warning in Common::gcd.Johannes Schickel
svn-id: r53506
2010-10-15COMMON: Silence gcc warning introduced with r53496.Johannes Schickel
svn-id: r53497
2010-10-15COMMON: Attempt to silence MSVC warning in Common::gcd.Johannes Schickel
svn-id: r53496
2010-10-15COMMON: Move XMLParser method impls to .cpp file; make skipComments non-virtualMax Horn
svn-id: r53480
2010-10-15COMMON: Add XMLParser::parseIntegerKey variant accepting a Common::StringMax Horn
Almost all places where we used XMLParser::parseIntegerKey were using it like this: XMLParser::parseIntegerKey(str.c_str(), ...) Since this makes the code harder to read, I overloaded the method to also accept Commmon::String directly. Also removed all .c_str() invocations where necessary. svn-id: r53479
2010-10-12JANITORAL: Clean trailing whitespaces.Jordi Vilalta Prat
svn-id: r53160
2010-10-10COMMON: work around different vsnprintf behaviour on IRIXJoost Peters
The return value of vsnprintf when the provided buffer is not large enough to hold the formatted string is implementation-dependent: C99: The size the formatted string would take up. MSVC: -1, with no indication of how large the buffer should be. IRIX: The number of characters actually written, which is at most the size of the buffer minus one, as the string is truncated to fit. This means the only way to be sure the entire string is written is if the return value is less than the capacity - 1. This change means that whenever we try to format a string where the size is 1 below the built-in capacity, that the capacity will be needlessly increased. If this turns out to be problematic we could make this behaviour __sgi conditional. svn-id: r53143
2010-10-03SCI: Allow multiple word groups in parserWillem Jan Palenstijn
In SCI01 and up, each typed word may be interpreted as multiple class,group pairs. This patch adds support to the vocabulary and parser. It uses the matcher support added in r52985. This fixes parser issues in German LSL3, but needs testing. svn-id: r52989
2010-10-01GUI: Fix bug #3075649 (Fonts not found with built-in theme)Thierry Crozat
When switching to a theme that do not have the fonts needed to properly display the current language, it now revert to the previously used theme and display an error message telling the user to change the language first if he wants to use the theme he selected. svn-id: r52969
2010-09-20PSP: switch from wrapping memcpy to defining our own memcpyYotam Barnoy
The advantage is that we get to do inlining and even use lwl and lwr instructions where appropriate. We have to do it ourselves because the PSP doesn't tolerate built-in instructions, but also we have a more efficient memcpy than the lib's. svn-id: r52817
2010-09-17COMMON: Extend getting a Mac resource fork resource with a nameMatthew Hoops
Resource names can be the same across types (ie. 'PICT' "Foo" and 'snd ' "Foo"), so this ensures that the right type is chosen in those cases. svn-id: r52756
2010-09-14COMMON: remove virtual functions from BufferedStreamsYotam Barnoy
As Max pointed out to me, they don't work as expected when called from constructors/destructors. svn-id: r52724
2010-09-14COMMON: Remove dangerous virtual keywords.Willem Jan Palenstijn
See r52722. svn-id: r52723
2010-09-11COMMON: Fix int-Rational operatorsSven Hesse
svn-id: r52675
2010-09-07COMMON: Fix edge case for wildcard in matchStringWillem Jan Palenstijn
svn-id: r52618
2010-09-07COMMON: Remove Rational::operator int/doubleWillem Jan Palenstijn
This prevents accidental implicit rounding and might also fix compilation on AmigaOS4 (bug #3060981). svn-id: r52616
2010-09-06COMMON: Add a debugPrint function to RationalMatthew Hoops
svn-id: r52593
2010-09-04COMMON: Fix Rational::operator!=(int)Matthew Hoops
svn-id: r52535
2010-09-01COMMON: changed read/write endian function to use __may_alias__ attributeYotam Barnoy
This is a better solution for the gcc aliasing problem that happens when aliasing a struct onto something else. What happens is that the compiler assumes no aliasing can happen when -O2 and -O3 are activated, and a call to READ_UINT32() followed by WRITE_UINT32() and another READ_UINT32() will be optimized to return the original read value instead of re-reading. svn-id: r52480
2010-08-30I18N: Add "lowres" context for several GUI strings when in 1x mode.Thierry Crozat
This enables translators to use a different translation for these strings in 1x mode (e.g. 320x200 or 320x240) and in 2x or 3x modes. svn-id: r52461
2010-08-30I18N: Add a macro to define a context for a translatable string.Thierry Crozat
Currently static strings are marked with the _s() macro so that xgettext knows the string needs to be translated. But there was no way to tell xgettext that the string could get translated in different contexts. This is the role of this new macro. svn-id: r52460
2010-08-28I18N: Look for translations data file in Themes pathThierry Crozat
If the translations.dat file is not found using the SearchMan, it now looks for that file into the themepath directory and sub-directories (if the path is defined). svn-id: r52428
2010-08-25COMMON: Fix eos handling in BufferedReadStreamWillem Jan Palenstijn
This makes it pass the test added in r52382. svn-id: r52389
2010-08-25COMMON: fixed EOS handling in BufferedReadStream and BufferedSeekableReadStreamYotam Barnoy
EOS problem was causing Discworld to crash and zip files not to load on the PSP. svn-id: r52377
2010-08-24COMMON: implemented BufferedWriteStream and fixed bug in BufferedReadStreamYotam Barnoy
I need the write buffering for the new version of the PSP streams and thought the simplest way to implement it would be along the lines of BufferedReadStream. Sadly, I found a nasty little bug in BRS but that's taken care of. Also, I adapted these streams for target-specific memory allocation by using virtual functions for allocation/deallocation. svn-id: r52325
2010-08-23i18n: Add support for context in translations.Thierry Crozat
This change means there can now be different translations for the same english string depending on the context. It is based on gettext msgctxt feature. There is a new macro _c(msg, ctxt) that should be used instead of _(msg) in the source code when we want to add a context to the message. For the moment I have added contexts to only one message ("None") so that I could test the changes. Context could be added also to get shorter translations when GUI is in 1x mode. I have also added back the fuzzy option to msmerge since it is useful when adding contexts to populate the translations for the new contexts. svn-id: r52308
2010-08-23CONFIG: Always sort 'scummvm' and keymapper domains firstMax Horn
svn-id: r52296
2010-08-21i18n: Changed wording of messages about translations.dat file.Johannes Schickel
svn-id: r52261
2010-08-21i18n: Formatting fixes.Johannes Schickel
svn-id: r52260
2010-08-21i18n: Style fixes.Johannes Schickel
svn-id: r52257
2010-08-21COMMON: Added equality operators to Common::RectPaul Gilbert
svn-id: r52249
2010-08-20i18n: Fix previous commit when translation support is disabledThierry Crozat
Previous commit of translation.cpp introduced a defined but not implemented operator when the translation support was disabled. This was probably fine since it was not used, but not very clean. svn-id: r52241
2010-08-20i18n: Sort the list of available languages alphabeticallyThierry Crozat
svn-id: r52239
2010-08-19DINGOO: new port. Patch #3039277Eugene Sandulenko
svn-id: r52210
2010-08-19i18n: Move translations to standalone file. Patch #3044975Eugene Sandulenko
svn-id: r52208
2010-08-19COMMON: Add caching to ZipArchive. Patch #3048388Eugene Sandulenko
Based on patch #3048388: "Hash map for ZipArchive class", though I made the hashing by default and removed the old code. It is a really good thing and will speed up any archive operations. svn-id: r52204
2010-08-17COMMON: fix MSVC assert when using umlauts (or other characters > 127) in ↵Florian Kagerer
the global save/load menu svn-id: r52173
2010-08-17COMMON: Remove redundant include from str.cppEugene Sandulenko
If it is needed for your specific platform, then readd it, but for that platform. Although to me it looks all redundant. svn-id: r52155
2010-08-16COMMON: Try to clarify and update some Common::Archive docsMax Horn
svn-id: r52131
2010-08-16OSYSTEM: revert r52120 and r52121. Introduced regressionsEugene Sandulenko
svn-id: r52127
2010-08-16Common: Fix bug in lastPathComponent.Johannes Schickel
Prior to this change lastPathComponent would not create a correct result, when the input of lastPathComponent did not contain a single separator. I also added a test case for this in our unit tests. svn-id: r52123
2010-08-16OSYSTEM: Add directories to archive list just as in other variantsEugene Sandulenko
svn-id: r52121
2010-08-16OSYSTEM: Fix file archive for non-flat directoriesEugene Sandulenko
svn-id: r52120