Commit Graph

1131 Commits

Author SHA1 Message Date
Nicola Mettifogo
c727205dae replaced memAlloc/memFree with standard malloc/free
svn-id: r25962
2007-03-04 08:58:23 +00:00
Nicola Mettifogo
84d2c1782f removed common-case code from loadBackground
svn-id: r25949
2007-03-03 10:10:46 +00:00
Nicola Mettifogo
c15310920a loadBackground simplified: palette cycling is still broken, though
svn-id: r25948
2007-03-03 10:01:43 +00:00
Nicola Mettifogo
1dce0b18d9 corrected parsing of LOCATION command
svn-id: r25947
2007-03-03 09:39:08 +00:00
Nicola Mettifogo
6d958e9f30 added loaders for static images like pickable items and for characters frames
svn-id: r25940
2007-03-02 23:13:13 +00:00
Nicola Mettifogo
9267e85c16 fix broken build
svn-id: r25939
2007-03-02 22:55:46 +00:00
Nicola Mettifogo
4c2687e9c7 added Script loader routine
svn-id: r25938
2007-03-02 22:34:12 +00:00
Nicola Mettifogo
753d83f946 enforced convention on loader names: load[ItemType]
svn-id: r25937
2007-03-02 22:26:39 +00:00
Nicola Mettifogo
02d4001f57 added inventory objects loader routine
svn-id: r25936
2007-03-02 22:23:02 +00:00
Nicola Mettifogo
c122d83c0e changed every font name to be platform independent, added font loader routine
svn-id: r25935
2007-03-02 22:18:37 +00:00
Nicola Mettifogo
0c39e0e3db replaced calls to loadExternalStaticCnv with separate loaders for Head and Pointer resources
svn-id: r25934
2007-03-02 22:12:57 +00:00
Nicola Mettifogo
f124c22bc5 added openLocation as loader for location scripts resources
svn-id: r25933
2007-03-02 22:02:19 +00:00
Nicola Mettifogo
43f802ef5f oops forgot to add file
svn-id: r25932
2007-03-02 21:50:36 +00:00
Nicola Mettifogo
1af8258325 added openTalk as loader for talk resources
svn-id: r25931
2007-03-02 21:47:35 +00:00
Nicola Mettifogo
94aed388a7 corrected error message
svn-id: r25930
2007-03-02 21:46:54 +00:00
Nicola Mettifogo
b2927b69c6 changed font handling:
- engine doesn't see font as a low-level Cnv anymore
- the Graphics class takes care of freeing memory on font changes

svn-id: r25900
2007-02-27 19:39:33 +00:00
Nicola Mettifogo
c9f652dc1f made Archive inherit from SeekableReadStream instead of File since write capabilities and file handle are not needed. Implementation of SeekableReadStream virtual functions is now complete.
svn-id: r25870
2007-02-25 22:17:41 +00:00
Max Horn
d74a339424 Fix warnings
svn-id: r25869
2007-02-25 22:13:38 +00:00
Nicola Mettifogo
c7734857e1 made Archive inherit from Common::File, added some methods to comply to interface, changed callers to exploit readByte capabilities
svn-id: r25868
2007-02-25 21:40:15 +00:00
Nicola Mettifogo
420a7c5f75 made Archive behave more like Common::File, preparing for inheritance
svn-id: r25867
2007-02-25 21:04:51 +00:00
Nicola Mettifogo
cacff9a9f2 wrapped archive routines into a new class named Archive. File-level static variables have been made members of the new class.
svn-id: r25866
2007-02-25 20:35:47 +00:00
Nicola Mettifogo
0c77177ef1 oops. Forgot the very last reference.
svn-id: r25865
2007-02-25 20:18:11 +00:00
Nicola Mettifogo
7c5600724b got rid of ArchievedFile. Since only one single file is being read from the archives at every moment, the ArchivedFile structure used for bookkeeping is useless.
svn-id: r25864
2007-02-25 20:12:23 +00:00
Eugene Sandulenko
91dbad8325 Use AGDS feature for specifying demos
svn-id: r25822
2007-02-24 15:24:38 +00:00
Nicola Mettifogo
f4f1e12330 nippon safes demo is English, not French
svn-id: r25821
2007-02-24 14:49:08 +00:00
Travis Howell
967b034fa5 Set the extra field for the Amiga demo, to just 'demo', since the language and platform are auto added.
svn-id: r25815
2007-02-24 09:17:06 +00:00
Nicola Mettifogo
aa625d0a38 ArchiveFile's details are now known only to archive code
svn-id: r25814
2007-02-24 09:12:07 +00:00
Nicola Mettifogo
c8631a92e9 french amiga demo is now recognized (not playable yet)
svn-id: r25813
2007-02-24 09:11:12 +00:00
Max Horn
4624837448 Fix fixed spelling :)
svn-id: r25803
2007-02-23 00:40:24 +00:00
Eugene Sandulenko
73c23077cd Fix spelling.
svn-id: r25802
2007-02-23 00:30:50 +00:00
Eugene Sandulenko
b825fb858f Add support for MIDI music. THough the music is not yet heard since
there are no instrument assignments yet.

svn-id: r25774
2007-02-21 21:42:37 +00:00
Nicola Mettifogo
d689187aa3 made hi-level parsing routines (Zone, Commands, Dialogue, Animation) rely on Script objects for input.
svn-id: r25743
2007-02-20 16:54:55 +00:00
Nicola Mettifogo
b6a10e10ef changed parseComment to use Script stream instead of file
svn-id: r25739
2007-02-20 09:52:07 +00:00
Nicola Mettifogo
5886d3ed7f cleanup and small fixes
svn-id: r25738
2007-02-20 09:17:28 +00:00
Nicola Mettifogo
1bd5f9932b animation scripts are now parsed through the same pipeline used for location scripts. Thus, animation scripts are now cached instead of being read line by line.
svn-id: r25737
2007-02-20 09:10:21 +00:00
Nicola Mettifogo
07077a2be4 first step in parser simplification
svn-id: r25733
2007-02-19 22:34:00 +00:00
Nicola Mettifogo
32b4492b1a a little more refactoring
svn-id: r25725
2007-02-19 14:11:56 +00:00
Nicola Mettifogo
9bdf145aa0 refactoring
svn-id: r25724
2007-02-19 14:09:13 +00:00
Nicola Mettifogo
80edc8504c a little bit of fiddling to expose similarities between routines
svn-id: r25723
2007-02-19 14:06:47 +00:00
Eugene Sandulenko
bbc50471bb Fix compilation
svn-id: r25722
2007-02-19 13:46:44 +00:00
Nicola Mettifogo
0f3ebbd3b3 table routines merged with common engine code
svn-id: r25721
2007-02-19 13:07:18 +00:00
Nicola Mettifogo
2f7388d78a oops forgot to update make module
svn-id: r25720
2007-02-19 12:55:51 +00:00
Nicola Mettifogo
745d814caa renamed file to follow common convention
svn-id: r25719
2007-02-19 12:54:58 +00:00
Nicola Mettifogo
1121fe4948 moved specialised parsing routines in parser.cpp, so code can be refactored more easily
svn-id: r25718
2007-02-19 12:53:59 +00:00
Nicola Mettifogo
85a0a02996 fixed bad implementation
svn-id: r25717
2007-02-19 11:36:31 +00:00
Nicola Mettifogo
402e364852 fixed engine bug preventing savegames from being consistent with the actual game status. The workaround code comes from BRA.
svn-id: r25715
2007-02-19 09:31:43 +00:00
Nicola Mettifogo
880f449a2d fixed regression bug preventing user from interacting with many items, notably not allowing combining items from the inventory
svn-id: r25714
2007-02-19 09:25:11 +00:00
Chris Apers
5a32e4f6e2 Bad hack to make thsi engine run on PalmOS
svn-id: r25686
2007-02-18 14:00:55 +00:00
Nicola Mettifogo
cd75d9bfdb fixed broken savegames with duplicate items
svn-id: r25681
2007-02-18 10:57:11 +00:00
Nicola Mettifogo
06c354c236 replaced magic number with kFlagsVisited where needed
svn-id: r25680
2007-02-18 10:56:45 +00:00
Nicola Mettifogo
3dd23c5d9a found and commented gross hack in the original engine
svn-id: r25679
2007-02-18 10:32:15 +00:00
Nicola Mettifogo
d4e5daa5b5 change in debug level
svn-id: r25678
2007-02-18 10:31:29 +00:00
Nicola Mettifogo
bc17ef29f9 set the size of savegame name to the same length for both saving and loading
svn-id: r25677
2007-02-18 09:56:28 +00:00
Nicola Mettifogo
6452e60727 enforced use of MAKE_INVENTORY_ID
svn-id: r25676
2007-02-18 09:36:47 +00:00
Nicola Mettifogo
d0da566633 fixed broken sprintf formats in saving routines
svn-id: r25675
2007-02-18 09:35:50 +00:00
Nicola Mettifogo
eb30be5f10 new special debug levels
svn-id: r25674
2007-02-18 09:33:53 +00:00
Nicola Mettifogo
b096586a22 fixes last broken commit
svn-id: r25673
2007-02-18 09:29:54 +00:00
Nicola Mettifogo
03099ec1ca more big-endianness fixes
svn-id: r25672
2007-02-18 09:26:20 +00:00
Nicola Mettifogo
4e6e57eb53 adjusted wrong comment
svn-id: r25670
2007-02-18 08:45:22 +00:00
Nicola Mettifogo
be878d60db fixed regression bug causing labels not to be aligned properly when near the right border
svn-id: r25665
2007-02-17 21:19:55 +00:00
Nicola Mettifogo
b1a63e8a16 changed mapChar to use unsigned (byte) instead of char, to avoid possible sign issues
svn-id: r25664
2007-02-17 20:54:25 +00:00
Nicola Mettifogo
33d04d5aa4 changed CNV loading code to be endian-safe
svn-id: r25663
2007-02-17 20:50:50 +00:00
Torbjörn Andersson
24a36cbb3f Changed spaces to tabs again.
svn-id: r25656
2007-02-17 16:06:34 +00:00
Nicola Mettifogo
e29ddfe156 more conventional termination handling. Event loops are going to get merged soon, so there are FIXME remainders around there.
svn-id: r25655
2007-02-17 15:57:49 +00:00
Torbjörn Andersson
f33da9e412 Some indentation and format changes. Mostly replacing spaces with tabs.
svn-id: r25654
2007-02-17 15:37:49 +00:00
Nicola Mettifogo
9ab2ca5bc7 changed some debug levels
svn-id: r25653
2007-02-17 13:39:22 +00:00
Nicola Mettifogo
5e38eab640 fixed regression bug caused by ZoneTypeData being declared as a struct instead of an union. Should have taken care of this when the switch was actually made...
svn-id: r25652
2007-02-17 10:58:54 +00:00
Nicola Mettifogo
e3e76b59b6 fixed a bug in the original engine causing memory-protected systems to occasionally crash
svn-id: r25614
2007-02-15 21:43:56 +00:00
Nicola Mettifogo
22c7239796 fixed warning pointed out by _Q
svn-id: r25613
2007-02-15 21:42:57 +00:00
Eugene Sandulenko
d910b545c5 More skip_whitespace -> Common::ltrim(). For real now.
svn-id: r25577
2007-02-14 00:36:06 +00:00
Max Horn
7572d2b4f2 Changed detectBestMatchingGame to return a pointer to a ADGameDescription (or a subclass of it); added a (currently fake) fallback callback entry in ADParams
svn-id: r25574
2007-02-13 23:37:44 +00:00
Eugene Sandulenko
de02e840a6 skip_whitespace() -> Common::ltrim()
svn-id: r25573
2007-02-13 23:15:46 +00:00
Nicola Mettifogo
9317aec6a2 cancel button on load/save dialog is now handled correctly
svn-id: r25565
2007-02-13 21:07:33 +00:00
Nicola Mettifogo
75fab28be2 cleanup
svn-id: r25562
2007-02-13 21:06:13 +00:00
Max Horn
4968e912ce AdvancedDetector changes:
* Renamed genGameList to gameIDList to make it match the corresponding
  plugin API function name
* removed the detectFunc param from detectGameForEngineCreation,
  as it *always* pointed to a straight wrapper around AdvancedDetector::detectAllGames
* as a consequence, removed the various GAME_detectGames functions from the
  engines, and removed the detectFunc param from ADVANCED_DETECTOR_DEFINE_PLUGIN

svn-id: r25547
2007-02-13 14:55:11 +00:00
Eugene Sandulenko
da7d8c9f35 Rename Common::GF_XXX to Common::ADGF_XXX
svn-id: r25545
2007-02-13 13:42:28 +00:00
Max Horn
2afe07992f Renamed kADFlagComplexID to kADFlagAugmentPreferredTarget, document it, and add it for AGOS, too
svn-id: r25543
2007-02-13 13:17:46 +00:00
Max Horn
55adc889e7 (re)added flags field to ADGameDescription, with currently only one value (GF_DEMO) -- this flag value is not yet used by anything (also, GF_DEMO hasn't been correctly set for AGI games yet)
svn-id: r25539
2007-02-13 01:28:18 +00:00
Nicola Mettifogo
f644986f87 changed structure packing to use pack-start.h and pack-end.h
svn-id: r25537
2007-02-12 21:14:34 +00:00
Max Horn
ccd6417f88 Fix warnings
svn-id: r25498
2007-02-11 22:40:32 +00:00
Nicola Mettifogo
f0cdab74a5 added load/save support
svn-id: r25496
2007-02-11 21:17:37 +00:00
Nicola Mettifogo
b8087fe1a8 fixed wrong implementation: zones and animations now survive location switches according to their properties and/or system flags
svn-id: r25478
2007-02-10 21:00:15 +00:00
Nicola Mettifogo
6cbdf9ad59 fixed bug: dialogue questions don't clutter the screen anymore when user is selecting an answer
svn-id: r25429
2007-02-08 21:56:51 +00:00
Nicola Mettifogo
65dfc335ef fixed bug in dialogue parsing code: available answers now really depend on game flags
svn-id: r25427
2007-02-08 21:08:54 +00:00
Nicola Mettifogo
d1eb91882e fixed location script parsing error causing irritatingly inconsistent gameplay
svn-id: r25421
2007-02-07 23:02:51 +00:00
Nicola Mettifogo
98bd5a6680 changed multiplexed uint32 to const void* to avoid errors on 64 bits systems
svn-id: r25418
2007-02-07 20:28:59 +00:00
Nicola Mettifogo
710105d1c1 solved 64 bit casting issue from BUG #1648325
svn-id: r25391
2007-02-05 12:53:40 +00:00
Nicola Mettifogo
890ee97285 applied 2nd workaround to avoid crashes caused by labels when switching location
svn-id: r25388
2007-02-04 15:48:51 +00:00
Nicola Mettifogo
8f084baf66 added more debug levels and comments
svn-id: r25386
2007-02-04 15:43:45 +00:00
Nicola Mettifogo
5007d82ec7 solved array out of bound issue in quickFadePalette
svn-id: r25380
2007-02-04 12:14:11 +00:00
Nicola Mettifogo
9832736f9a added game palette static initializers to avoid warnings
svn-id: r25379
2007-02-04 11:19:14 +00:00
Nicola Mettifogo
854e351e5b Implemented workaround to avoid crashes on location switches, using knowledge from Big Red Adventure.
svn-id: r25378
2007-02-04 11:16:40 +00:00
Nicola Mettifogo
d89bfde4a6 oops fixed 64 bit warnings in the last revision
svn-id: r25377
2007-02-04 08:26:44 +00:00
Nicola Mettifogo
e3b9bda909 changed handling of zone labels to match original engine
svn-id: r25376
2007-02-04 08:12:33 +00:00
Nicola Mettifogo
b7d72fd959 _hoverZone now is handled as in the original engine
svn-id: r25375
2007-02-04 08:10:00 +00:00
Eugene Sandulenko
7b6bdd231d AdvancedDetector now has built-in fallback detection based on file lists.
Currently only gob engine benefits from it.

svn-id: r25374
2007-02-04 03:10:27 +00:00
Torbjörn Andersson
0a18259d78 Used Fingolfin's workaround for a bogus (?) warning produced by some versions
of GCC. (Not the one he's using, though, which is why I'm doing this instead.)

svn-id: r25327
2007-02-01 20:16:32 +00:00
Nicola Mettifogo
74b655f8df fixed casting bug as suggested by fingolfin on tracker item #1648325
svn-id: r25304
2007-01-31 10:21:36 +00:00
Eugene Sandulenko
adcfd2cc5f Now AdvancedDetector could use single ID per engine. Also it can suggest
more complex game IDs with platform and language specified.

AGI engine benefits most from that.
Also turned Cine, Parallaction and SAGA to single ID, autoupgrading old ID.

svn-id: r25269
2007-01-29 23:25:51 +00:00
Eugene Sandulenko
93687d376b Add more paramteres to AdvancedDetector. Not used yet.
svn-id: r25241
2007-01-28 07:31:26 +00:00
Eugene Sandulenko
281ee019e0 Oops. Revert accidental commit
svn-id: r25233
2007-01-27 22:41:18 +00:00
Eugene Sandulenko
6365546fc5 Fixes and gfx rendering works
svn-id: r25232
2007-01-27 22:38:27 +00:00
Nicola Mettifogo
c77ac3380a removed printf's spewing out tons of debug messages
svn-id: r25217
2007-01-27 00:20:41 +00:00
Nicola Mettifogo
3be5b0cca2 fixed out-of-bounds error causing random crashes in dialogues
svn-id: r25215
2007-01-26 23:26:28 +00:00
Nicola Mettifogo
da096e4b17 added more debug messages
svn-id: r25214
2007-01-26 23:24:12 +00:00
Nicola Mettifogo
b5a04fc2df added NULLity checks
svn-id: r25213
2007-01-26 23:21:04 +00:00
Nicola Mettifogo
221e9e77dd make sure current archive is closed before opening a new one
svn-id: r25212
2007-01-26 23:19:50 +00:00
Max Horn
d70c83bd4b Lots of cleanup in the AdvancedDetector
svn-id: r25194
2007-01-25 21:16:57 +00:00
Eugene Sandulenko
bb3cc79bc6 Reduce #include dependencies
svn-id: r25178
2007-01-25 01:05:25 +00:00
Eugene Sandulenko
318210ad96 Add optional size parameter to ADGameFileDescription. Not used now.
svn-id: r25164
2007-01-24 22:42:44 +00:00
Eugene Sandulenko
edd2422a55 Hide all AdvacedDetector parameters into a structure for easier maintenance
and extensibility

svn-id: r25163
2007-01-24 22:24:52 +00:00
Eugene Sandulenko
d3b0ff8ade Reduce dependency from common/advancedDetector.h
svn-id: r25156
2007-01-21 20:24:38 +00:00
Max Horn
fef501c205 openForSaving can fail, so it should be handled gracefully -- but better to assert out in a controlled manner than o invoke methods on a NULL pointer, right? :-)
svn-id: r25151
2007-01-21 15:19:30 +00:00
Nicola Mettifogo
0147a83180 fixed ordering of engine jobs: no more known graphics glitches
svn-id: r25146
2007-01-21 11:05:22 +00:00
Nicola Mettifogo
c12fe85922 fixed occasional border issues in inventory
svn-id: r25145
2007-01-21 11:00:07 +00:00
Nicola Mettifogo
d17f18223e fixed out-of-bounds error causing premature crashes on some systems
svn-id: r25140
2007-01-21 08:53:18 +00:00
Eugene Sandulenko
cd8a5f3a98 First phase of detection-related plugins interface improvements. Now plugins
return StringMap instead of fixed list of parameters. This adds great
flexibility.

Current patch should not alter any functionality, i.e. if there are regressions,
submit a report. Phase 2 will benefit from these changes and will come later.

svn-id: r25134
2007-01-20 21:27:57 +00:00
Nicola Mettifogo
7d8ddb9a5b fixed walk bug: characters now walk along complex paths
svn-id: r25117
2007-01-18 21:25:02 +00:00
Torbjörn Andersson
684a71cee0 Fixed a warning.
svn-id: r25112
2007-01-17 20:11:31 +00:00
Nicola Mettifogo
2541fcd82a fixed broken tab widths
svn-id: r25111
2007-01-17 11:12:02 +00:00
Nicola Mettifogo
0c9d01ad81 added first debug messages
svn-id: r25106
2007-01-16 21:30:18 +00:00
Nicola Mettifogo
a3df05727a removed definition of _glyphWidths
svn-id: r25097
2007-01-15 21:59:56 +00:00
Nicola Mettifogo
79d98bf52a made _glyphWidths only referenced into graphics.cpp
svn-id: r25096
2007-01-15 21:58:51 +00:00
Max Horn
abb7d49bca Fixing const related warnings in the parallaction engine
svn-id: r25095
2007-01-15 21:14:34 +00:00
Nicola Mettifogo
a90529c323 enforced MemoryReadStream usage instead of custom byte swapping in background loading
svn-id: r25094
2007-01-15 20:46:06 +00:00
Nicola Mettifogo
3545af0275 fixed pointer casting in InputData management
svn-id: r25093
2007-01-15 20:11:49 +00:00
Nicola Mettifogo
1bde157987 Made Nippon Safes start from the regular splash screen
svn-id: r25091
2007-01-15 12:59:40 +00:00
Paweł Kołodziejski
13129f6eba fix warning
svn-id: r25089
2007-01-15 08:24:45 +00:00
Max Horn
3c537cb3c9 Zone names get free'd, so don't assign a static string to it (it causes a const warning, too)
svn-id: r25087
2007-01-14 23:48:11 +00:00
Willem Jan Palenstijn
d38d85b8bc mark 64bit issues
svn-id: r25084
2007-01-14 21:58:18 +00:00
Eugene Sandulenko
e5c7ce83b8 Initial import of Parallaction engine
svn-id: r25083
2007-01-14 21:29:12 +00:00