Commit Graph

42 Commits

Author SHA1 Message Date
Kari Salminen
97463309ba Fix for bug #2057637: FW: Spaceship glitches in demo (regression).
This was caused by assuming in-place decompression is ok, it wasn't,
although AFAIK the original did decompression in-place too.
Changed unpacking to be done not in-place and the glitch vanished.
Also changed the unpacker to also handle uncompressed input data.

svn-id: r34034
2008-08-19 11:55:20 +00:00
Kari Salminen
00cbedb25f Added possibility to get the read resource's size from readBundleFile. Made loadMsg handle input data that has empty strings residing just beyond the input buffer (Thanks Valgrind :-)).
svn-id: r33810
2008-08-12 22:45:38 +00:00
Kari Salminen
2d5a140725 Changed partBuffer from a pointer to a Common::Array. Removed numElementInPart variable as it's now equivalent with partBuffer.size().
svn-id: r33783
2008-08-11 20:41:13 +00:00
Kari Salminen
c1462dda14 Added a safeguard to readBundleFile so it shouldn't corrupt memory even if the input says the data's unpacked size is less than its packed size (This shouldn't ever happen with non-corrupted data).
svn-id: r33782
2008-08-11 20:18:33 +00:00
Kari Salminen
02c9cb35f4 Changed readBundleFile to unpack data in-place and added debugging messages to the function.
svn-id: r33781
2008-08-11 20:09:03 +00:00
Kari Salminen
8e33f1530c Small cleanup: Renamed rol to rolByte and made it handle all cases.
svn-id: r33708
2008-08-09 10:44:12 +00:00
Kari Salminen
c0701bfcb6 Added detection entry for the Sony published CD version of Future Wars.
Also added decrypting of the crypted AUTO00.PRC for this particular version.
Now this version should work but no CD audio support for it yet though.

svn-id: r33703
2008-08-08 18:28:13 +00:00
Max Horn
0be985ce83 Changed class File (and derived classes) to only support read-only access; added a new class DumpFile for writing
svn-id: r33412
2008-07-29 16:09:10 +00:00
Kari Salminen
d7d9348243 Made CineUnpacker::unpack more robust & secure. It shouldn't crash now with any input (Before making reading or writing operations they are checked to be in bounds). Also updated some comments and added some error message(s).
svn-id: r32687
2008-06-13 05:57:07 +00:00
Kari Salminen
3823a23b70 Objectified the Delphine decompression routine (i.e. delphineUnpack).
svn-id: r32646
2008-06-10 19:08:53 +00:00
Kari Salminen
e2e4c90bb3 Fixed readVolCnf() filename length detection and converted fixVolCnfFileName-function to something easier to understand.
svn-id: r32618
2008-06-08 15:22:04 +00:00
Eugene Sandulenko
732774fd8d Patch #1913862: "CinE Script system"
svn-id: r31444
2008-04-07 20:24:40 +00:00
Filippos Karapetis
729c843091 Cleanup
svn-id: r29858
2007-12-14 13:51:41 +00:00
Gregory Montoir
aae704f6cd amiga demo version of OS has a VOL.CNF file so I assume full versions of the game also use it ; enabled readVolCnf for all versions of OS.
svn-id: r29760
2007-12-08 09:51:24 +00:00
Gregory Montoir
e82c2b3fb9 reverted part of commit #29749, inplace unpacking doesn't work with .ani data
svn-id: r29756
2007-12-08 08:48:31 +00:00
Gregory Montoir
126f55fd0e backported some changes for OS
- added parsing of VOL.CNF to get the (filename,bundle) mapping (should be more efficient than testing every bundle file)
- delphineUnpack allows "inplace unpacking", use this instead of allocating temporary buffers
- relation script run count should be set in _localVars[0]
- added comments for some "special" script variables

svn-id: r29749
2007-12-07 20:45:51 +00:00
Torbjörn Andersson
059ba7326c Fixed some Valgrind warnings (overlapping source and destination in strcpy()).
svn-id: r27207
2007-06-08 19:29:48 +00:00
Max Horn
218e132e37 Updated legal headers in source files, based on what Pidgin (the IM client formerly knowns as Gaim) does; added new (incomplete) COPYRIGHT file; updated copyright dates in a few spots
svn-id: r27024
2007-05-30 21:56:52 +00:00
Gregory Montoir
45b721d3cc cleanup, don't rely on assert() to ensure a gamefile/savefile is opened. Also removed the use of Common::File global objects.
svn-id: r27021
2007-05-30 18:43:28 +00:00
Gregory Montoir
73210b4aa3 added code for freePartRange, freePartEntry and freeOverlay (also renamed some functions and variables).
svn-id: r27006
2007-05-29 20:22:20 +00:00
Gregory Montoir
b37c83448a made the resource loading function case insensitive to the filename and removed a NULL dereference if a file is not found
svn-id: r26885
2007-05-20 11:48:53 +00:00
Gregory Montoir
e6ef2348a4 removed duplicated code (BASESON datafiles can be loaded with the existing bundle related functions)
svn-id: r26836
2007-05-13 16:07:33 +00:00
Eugene Sandulenko
51a621fe98 Dump global scripts too.
svn-id: r24767
2006-11-23 06:47:41 +00:00
Eugene Sandulenko
cfb29dcb51 Fix MSVC2005 warnings. Please, review the changes.
svn-id: r24760
2006-11-22 15:50:30 +00:00
Eugene Sandulenko
95749148cf Add proper game detection to CinE engine.
svn-id: r24320
2006-10-15 01:06:44 +00:00
Torbjörn Andersson
985215a04a As far as I can tell, there's no longer any reason for PartBuffer and AnimData
to be packed, so I've removed the packing and added the 'refresh' field to
AnimData instead of having it as a separate array.

On the other hand, animHeaderStruct and animHeader2Struct *should* have been
packed, but weren't. I've changed they way they are initialised so that the
packing should no longer matter for them either.

svn-id: r22651
2006-05-26 09:36:41 +00:00
Eugene Sandulenko
0b35672f78 uint8 -> byte
svn-id: r21414
2006-03-23 03:45:52 +00:00
Eugene Sandulenko
fced8df162 Got rid of ASSERT and ASSERT_PTR defines
svn-id: r21412
2006-03-23 03:17:47 +00:00
Eugene Sandulenko
36302c0921 Make copy protection in OS and FW turnable. Still buggy
svn-id: r21411
2006-03-23 03:15:39 +00:00
Gregory Montoir
61a5fb7064 - added defines to handle the different mouse cursors
- revised the way NUM_MAX_PARTDATA and NUM_MAX_ANIMDATA are used
- renamed some variables
- constify'ed function arguments
- minor cleanup

svn-id: r21338
2006-03-16 20:29:07 +00:00
Gregory Montoir
8f38cb6ff3 added mouse cursors
svn-id: r21321
2006-03-15 22:34:46 +00:00
Eugene Sandulenko
76a4bf9e77 Eliminate flip_support.cpp file.
svn-id: r21045
2006-03-03 19:38:17 +00:00
Gregory Montoir
9c80770411 cleanup
svn-id: r20957
2006-02-27 21:25:59 +00:00
Gregory Montoir
164f35b878 cleanup unpacking function and get rid of an old hack to prevent buffer overflows.
svn-id: r20884
2006-02-25 18:26:16 +00:00
Gregory Montoir
0364eeed5c cleanup (endianess fixes, fixed partBufferStruct structure)
svn-id: r20881
2006-02-25 18:16:40 +00:00
Max Horn
a30f829773 Some more cine header cleanup
svn-id: r20859
2006-02-25 01:18:01 +00:00
Max Horn
275344a931 Reducing the header dependencies in cine a bit more
svn-id: r20857
2006-02-25 01:01:27 +00:00
Max Horn
f396995173 Use static/const on data tables when possible (this helps the compiler to optimize things better)
svn-id: r20853
2006-02-25 00:33:12 +00:00
Max Horn
2fc23c85da Moved cine engine into namespace Cine
svn-id: r20851
2006-02-25 00:26:14 +00:00
Paweł Kołodziejski
e31b271760 formating code
svn-id: r20835
2006-02-23 18:47:28 +00:00
Travis Howell
3fe8c971f2 Cleanup to remove duplicate type defines
svn-id: r20821
2006-02-23 09:12:21 +00:00
Eugene Sandulenko
71c170bb13 Initial version of Cinematique engine evo 1.
svn-id: r20813
2006-02-22 22:40:53 +00:00