Commit Graph

1799 Commits

Author SHA1 Message Date
Max Horn
fb79b18571 Changed SaveFileManager methods to take Common::String params (instead of char pointers)
svn-id: r41000
2009-05-29 14:38:22 +00:00
Max Horn
1c552779a0 Renamed Common::Serializer::syncMagic to matchBytes, and added version paarms to it (we migh want to add corresponding matchUint32LE etc. functions if needed)
svn-id: r40909
2009-05-26 11:31:45 +00:00
Max Horn
94dfc8f638 Fixed a bug in Common::Array (including a unit test for it), and changed the way the internal storage growth over time.
The bug could result in incorrect results when using push_back (or insert_at)
to insert data from an array into itself if this insertions would cause the
internal array storage to grow. Also added a unit test for this bug.

Furthermore, if the internal storage needs to grow, it will now be resized to the next power of two,
instead of being increased by 32.

svn-id: r40907
2009-05-26 11:28:38 +00:00
Johannes Schickel
b3c6751b9b Strip trailing whitespaces in the whole code base.
svn-id: r40867
2009-05-24 15:17:42 +00:00
Max Horn
65b5d31814 COMMON: Removed Stream::ioFailed() and clearIOFailed(), as they are deprecated; however, retained ioFailed in SeekableReadStream and File for now (so for now this mainly affects WriteStream subclasses)
svn-id: r40725
2009-05-19 11:42:14 +00:00
Max Horn
42cd218400 Improved Common::Serializer in several ways:
* Added support versioned serialization
* Added a convenience API for handling 'magic IDs' transparently
* Exposed the err()/clearErr() methods of the underlying streams
* Added a basic unit test for versioned loading (more should be added, in particular for saving)
* Removed the syncString(char *, uint16) alias for syncBytes(byte *buf, uint32 size)

svn-id: r40723
2009-05-19 11:23:13 +00:00
Johannes Schickel
b2b08cc606 Typo.
svn-id: r40693
2009-05-18 16:00:15 +00:00
Eugene Sandulenko
a0a44ef498 Allow creation of KeyState with zero ascii value.
svn-id: r40501
2009-05-12 19:03:42 +00:00
Johannes Schickel
619d107ed7 Add more detailed error message for "Chunk overread" case.
svn-id: r40493
2009-05-12 15:06:20 +00:00
Johannes Schickel
fa0fe7fada Typo.
svn-id: r40487
2009-05-12 13:56:09 +00:00
Filippos Karapetis
36c832d455 Added a startOffset parameter to hexdump() (used by SCI's own hexdump method)
svn-id: r40470
2009-05-12 07:07:17 +00:00
Eugene Sandulenko
665e472ef0 Keymapper:
- Introduced new OSystem method getHardwareKeySet() with default implementation
- Moved global keymap creation to base/main.cpp
- Moved GUI keymap creation to gui/GuiManager.cpp
- Added various safeguard checks to various keymapper methods

Now it is really possible to add keymapper to all backends.

svn-id: r40439
2009-05-10 22:05:04 +00:00
Max Horn
36818ced2a Changed Common::Array::resize() to default init new array elements
svn-id: r40430
2009-05-10 19:17:11 +00:00
Eugene Sandulenko
7d79a092b5 Store global keymaps into a separate section
svn-id: r40427
2009-05-10 17:33:31 +00:00
Max Horn
c91a6c97ae Clarified docstring for String::insertChar
svn-id: r40382
2009-05-08 12:37:28 +00:00
Max Horn
61dcaad888 COMMON: Changed Array destructor to reset _storage and _size to 0 -- this helps to find 'Array used after being disposed' bugs
svn-id: r40326
2009-05-05 12:29:15 +00:00
Eugene Sandulenko
6a8a9740a1 Fix valgrind warning
svn-id: r40309
2009-05-04 16:35:47 +00:00
Max Horn
689511a56f COMMON: Made Array::resize() init/zero the memory it allocates
svn-id: r40304
2009-05-04 15:04:39 +00:00
Max Horn
c33a875d9f Fixed new[] / delete mismatch in Common::String
svn-id: r40302
2009-05-04 14:20:17 +00:00
Max Horn
6a632b51ad COMMON: Optimized MemoryPool::freeUnusedPages (if many pages are phased out at once, don't copy everything multiple times around)
svn-id: r40292
2009-05-03 22:45:46 +00:00
Max Horn
882c24d2ee COMMON: Check for failed memory allocations; changed Common::String to use new/delete instead of malloc/free
svn-id: r40291
2009-05-03 22:45:31 +00:00
Max Horn
9d970009a6 COMMON: Simplified Common::Stack methods using the recent Common::Array improvements
svn-id: r40267
2009-05-03 09:19:46 +00:00
Max Horn
4d57c1f9a9 COMMON: Changed Array::resize to not shrink the internal storage if we shrink the array
svn-id: r40262
2009-05-03 09:00:53 +00:00
Max Horn
f52a0df422 COMMON: Made Common::List::clear more efficient
svn-id: r40172
2009-04-28 10:23:26 +00:00
Max Horn
9a971c7d80 fixed a typo
svn-id: r40171
2009-04-28 10:23:08 +00:00
Max Horn
7f20f3bb3e COMMON: Improved efficiency of some Common::List methods; added more unit tests and some doxygen comments for Common::List and Common::Array
svn-id: r40164
2009-04-27 14:25:16 +00:00
Max Horn
e579f91b5c COMMON: Made sure Common::List and Common::array each have all front/back/push_back/push_front, as have their STL counterparts
svn-id: r40163
2009-04-27 14:23:20 +00:00
Max Horn
462e3bd49d COMMON: Added Functor2Fun; fixed some typos
svn-id: r40160
2009-04-27 12:30:42 +00:00
Max Horn
84f0e1d986 COMMON: Added Common::List::front() and back() method (similar to std::list)
svn-id: r40154
2009-04-27 11:11:42 +00:00
Torbjörn Andersson
7d4618d165 Fixed typo.
svn-id: r40121
2009-04-24 17:19:20 +00:00
Max Horn
b98f79fe12 COMMON: changed class StringList to a simple typedef; enhanced the Common::Array constructor which converts regular arrays to Array objects to be more flexible in its type (allows e.g. to assign an array of char* to a StringList
svn-id: r40077
2009-04-22 17:52:56 +00:00
Max Horn
7caad280d1 COMMON: Removed copy constructors / assignment operators in cases where they are identical to the automatically generated ones. Also removed a pointless 'explicit'
svn-id: r40049
2009-04-21 17:02:09 +00:00
Max Horn
78cf5a4ccf COMMON & TESTS: Added new constructor to Array<T>, namely Array(const T* data, int n), which makes it possible to clone a regular array into a Common::Array; added a unit test for that and slightly extended existing Common::Array unit tests
svn-id: r40027
2009-04-20 19:27:11 +00:00
Max Horn
7db2648ba0 COMMON: Added unit test for Common::List::size(); made List::size() slightly more efficient; same for remove() and operator=
svn-id: r39921
2009-04-11 00:29:34 +00:00
Max Horn
a1dc2ecc63 Rewrote Common::Rect::contains(Rect) to do what the name suggests (check whether one rect contains the other). Previously, foo.contains(foo) would return false. Added/enabled unit tets for this
svn-id: r39911
2009-04-09 17:08:09 +00:00
Johannes Schickel
a9e424f177 Formatting.
svn-id: r39789
2009-04-01 13:59:53 +00:00
Joost Peters
1a5f531d23 Allow building of psp backend via configure (Part 1 - Still need to add the fixup + EBOOT packing steps).
Thanks dhewg and fingolfin for assistance. :)

svn-id: r39693
2009-03-25 21:58:16 +00:00
Max Horn
47f9b2eb6d cleanup
svn-id: r39658
2009-03-24 11:30:52 +00:00
Max Horn
b64b7d2895 Removed #include nds/jtypes.h from common/scummsys.h -- it already gets loaded by portdefs.h
svn-id: r39562
2009-03-20 10:13:10 +00:00
Max Horn
e59b4587b7 COMMON: Added a new IS_ALIGNED macro (for now using size_t, we can change it if this turns out to be not portable enough. Also added a doxygen comment to the ARRAYSIZE macro
svn-id: r39542
2009-03-19 21:43:27 +00:00
Paul Gilbert
52d6f3323b Added a syncString variation needed for the Cruise engine
svn-id: r39442
2009-03-16 09:16:56 +00:00
Max Horn
9cbed926cd Moved Tinsel::Serializer to Common::Serializer, so that I can use it in the SCI engine
svn-id: r39428
2009-03-15 20:30:57 +00:00
Max Horn
073cc060e9 Fixed warning in list code
svn-id: r39287
2009-03-10 02:41:35 +00:00
Max Horn
5181546c63 Rewrote Common::List iterator code to ensure const correctness is preserved.
We tried to implement the list iterators in a clever way, to reduce code
duplication. But this is essentially impossible to do properly, sadly --
this is one of the places where the ugly drawbacks of C++ really show.
As a consequence, our implementation had a bug which allowed one to
convert any const_iterator to an iterator, thus allowing modifying
elements of const lists.

This rewrite reintroduces code duplication but at least ensures that no
const list is written to accidentally.

Also fix some places which incorrectly used iterator instead of const_iterator
or (in the kyra code) accidentally wrote into a const list.

svn-id: r39279
2009-03-09 22:26:02 +00:00
Max Lingua
ccf9dedecb Modified HashMap ctr to skip _defaultVal() on PS2 to avoid gcc 3.2.2 ICE
svn-id: r39174
2009-03-07 05:01:56 +00:00
Max Horn
05b4370c21 Fix for bug #2664460: Various SeekableReadStream::seek() implementations (as well as our unit tests, ouch) handled SEEK_END incorrectly (using -offset instead of offset), contrary to what the docs said and what fseek does. Hopefully I found and fixed all affected parts, but still watch out for regressions
svn-id: r39135
2009-03-05 20:37:53 +00:00
Johannes Schickel
4542258336 Fix documentation, debug(C/N) prints to stdout not stderr.
svn-id: r39058
2009-03-01 22:09:46 +00:00
Max Horn
81943a9f8c COMMON: added a debugC variant which only takes a debug channel mask
svn-id: r39054
2009-03-01 21:47:57 +00:00
Eugene Sandulenko
5aa50ec889 Patch #2638336: Broken Sword PSX Support
svn-id: r38956
2009-02-28 10:46:33 +00:00
Willem Jan Palenstijn
de239a4bc5 Clarify timer API.
svn-id: r38938
2009-02-27 22:19:33 +00:00