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