Commit Graph

156 Commits

Author SHA1 Message Date
Sven Hesse
1dafcabb43 Encapsulated access to _resultStr
svn-id: r41751
2009-06-22 10:11:53 +00:00
Sven Hesse
f6717373b5 Encapsulated access to Parse::_resultInt
svn-id: r41750
2009-06-22 10:11:25 +00:00
Sven Hesse
d4855ff819 Splitting an ADLPlayer and MDYPlayer from the AdLib class
svn-id: r41633
2009-06-18 13:27:35 +00:00
Sven Hesse
6c47f9f4f8 Changed opcodeGob to be functor-based
svn-id: r41603
2009-06-17 04:16:51 +00:00
Sven Hesse
8615c57791 Changed opcodeFunc to be functor-based
svn-id: r41602
2009-06-17 04:16:21 +00:00
Sven Hesse
25c92dfdef Changed opcodeDraw to be functor-based
svn-id: r41601
2009-06-17 04:15:45 +00:00
Sven Hesse
434be5c65a Renamed _inter_resStr to _resultStr
svn-id: r41575
2009-06-15 23:11:29 +00:00
Sven Hesse
1b67620d99 Renaming _inter_resVal to _resultInt
svn-id: r41574
2009-06-15 23:11:08 +00:00
Sven Hesse
67a9ff7dd3 Moving _inter_resVal and _inter_resStr from Global to Parse
svn-id: r41573
2009-06-15 23:10:51 +00:00
Sven Hesse
f6ca65206f Renaming some variables in o1_assign() and o2_assign() to mirror the structure in o6_assign()
svn-id: r41569
2009-06-15 23:09:37 +00:00
Sven Hesse
190dd0d077 Using the TYPE_ enum where applicable
svn-id: r41568
2009-06-15 23:09:23 +00:00
Sven Hesse
42007f9d04 Propagating variable name changes
svn-id: r41565
2009-06-15 23:08:28 +00:00
Sven Hesse
64a920d52f Renamed the evaluateStore opcodes to assign, because that's what they are
svn-id: r41312
2009-06-06 23:39:58 +00:00
Max Horn
3d3da173b0 GOB: Turned _spritesArray into a Common::Array (of fixed size) to detect out-of-bounds access to it (since access is controlled by scripts, this could (and does :/) easily happen. Also removed an obsolete swap() method, and fixed one case where _spritesArray was indeed accessed out of bounds
svn-id: r41305
2009-06-06 21:37:30 +00:00
Max Horn
0989bb0b90 GOB: Got rid of class ReferenceCounter; changed SurfaceDesc::Ptr to SurfaceDescPtr (a Common::SharedPtr); and changed many SurfaceDesc pointers to references
svn-id: r41299
2009-06-06 20:03:13 +00:00
Max Horn
400d2b10af GOB: Replaced many uses of strdupcpy by Common::String
svn-id: r41077
2009-05-31 16:59:45 +00:00
Sven Hesse
1656f69183 Replacing NULL with 0, since that's normally the C++-way
svn-id: r41059
2009-05-31 03:32:16 +00:00
Sven Hesse
896df6daf3 - A new save system for the GobEngine, one that is not fundamentally broken and is versioned. Unfortunately, this invalidates most save games created on big-endian machines, since endian-issues was a main problem with the old system
- Removed the now superfluous variables sizes

svn-id: r41056
2009-05-31 02:15:43 +00:00
Max Horn
d5da63c496 atol -> atoi
svn-id: r41003
2009-05-29 14:39:10 +00:00
Sven Hesse
10b1b28610 Splitting a few helper functions out of gob.h
svn-id: r40765
2009-05-21 17:12:33 +00:00
Arnaud Boutonné
ee92913683 Patch #2725859 : Added some MD5 to the gob engine, modified the way the first STK and TOT is declared, added inter and draw skeleton for Fascination
svn-id: r40059
2009-04-21 21:44:37 +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
Sven Hesse
f825ccd63f Script fix. Magnifier, Memory and Save/Load, while still not working correctly, don't crash the game anymore
svn-id: r35385
2008-12-15 16:01:39 +00:00
Sven Hesse
5f8323bd50 Plugging leaks
svn-id: r35355
2008-12-14 04:33:28 +00:00
Sven Hesse
4ec3826080 Working (minus text) menu in Urban Runner
svn-id: r35310
2008-12-12 02:44:34 +00:00
Sven Hesse
19146fe032 Working cursor in Urban Runner
svn-id: r35309
2008-12-12 00:10:39 +00:00
Sven Hesse
c65886a3ea Changing the Urban Runner sprite drawer to work more correctly. It does use YUV data, but I can use the ditherer there
svn-id: r35308
2008-12-11 21:57:47 +00:00
Sven Hesse
9a788d8bf3 Some dummy changes for Urban Runner
svn-id: r35289
2008-12-09 14:55:21 +00:00
Max Horn
9b160804ab Renamed Engine::quit to Engine::shouldQuit (previously, it was easily confused with Engine::quitGame); also cleaned up engine.h a bit
svn-id: r34700
2008-09-30 12:27:38 +00:00
Max Horn
7953312bc6 Merging more of the GSoC 2008 RTL branch: GOB
svn-id: r34245
2008-09-01 17:50:00 +00:00
Sven Hesse
5c060ef5d9 Fixing _itemsMap access (bug #2069177)
svn-id: r34113
2008-08-23 14:18:12 +00:00
Christopher Page
d2e8d4831e Merged revisions 32744-32745,32747,32750-32759,32762-32764,32769,32777,32783,32785-32786,32789-32791,32798-32799,32801-32807,32809-32812,32816-32817,32819-32821,32823-32830,32832-32836,32838-32844,32846-32850,32852-32854,32858-32859,32865-32868,32873-32874,32879,32883,32895,32899,32902-32904,32910-32912,32923-32924,32930-32931,32938,32940,32948-32949,32951,32960-32964,32966-32970,32972-32974,32976,32978,32983,32986-32990,32992,32994,33002-33004,33006-33007,33009-33010,33014,33017,33021-33023,33030,33033 via svnmerge from
https://scummvm.svn.sourceforge.net/svnroot/scummvm/scummvm/trunk

svn-id: r33051
2008-07-14 00:10:09 +00:00
Sven Hesse
c1ec21d999 Changed tricky variable access from pointers to a new class that minds endianess.
This should fix a few regressions with BE games on LE systems and vice versa that I introduced when I changed how variables are stored (which was necessary to get Woodruff work on BE systems).

svn-id: r33014
2008-07-12 15:21:38 +00:00
Christopher Page
30b1a62e81 Removed unnecessary #inlcudes
svn-id: r32984
2008-07-10 05:15:19 +00:00
Christopher Page
e808cdf7a0 Reimplemented pushEvent() and artificialEventQueue to work with Events instead of EventTypes. Reimplemented Queue as a List instead of Array. Updated AGOS, AGI, CINE, GOB, and KYRA to work with the current implementation of the GMM
svn-id: r32971
2008-07-09 02:27:05 +00:00
Christopher Page
a43f016b94 GOB works with the new GMM implementation
svn-id: r32955
2008-07-08 00:16:55 +00:00
Christopher Page
c14804e22f Added main menu dialog files. Gob is now using the new _quit flag
svn-id: r32771
2008-06-24 23:19:23 +00:00
Sven Hesse
8da68b2964 Script variables are now always stored in the game version's native endianess.
This should make Woodruff playable on big-endian systems.

svn-id: r32352
2008-05-28 21:15:11 +00:00
Sven Hesse
220d6ce82f Restructured sound code
svn-id: r31937
2008-05-08 00:47:23 +00:00
Paul Gilbert
6eb64102a4 Fix to remove a tab character from the GPL header
svn-id: r30238
2008-01-05 12:45:14 +00:00
Nicola Mettifogo
258901bab9 Merged common/stdafx.h into common/scummsys.h. All referencing files have been updated.
svn-id: r28966
2007-09-19 08:40:12 +00:00
Sven Hesse
e802f067cd Lost in Time now (kind of) shows the title and the wobble-effect is drawn
svn-id: r28433
2007-08-03 15:18:00 +00:00
Sven Hesse
34292a6b58 Minor DataIO-cleanup
svn-id: r28349
2007-07-31 01:43:32 +00:00
Sven Hesse
872a1ea369 Fixed o1_fillRect() again
svn-id: r28209
2007-07-26 03:29:45 +00:00
Sven Hesse
b644e460aa Corrected Woodruff's hotspot text positions.
svn-id: r28208
2007-07-26 03:17:54 +00:00
Sven Hesse
e151167dd8 Some more safety checks and the first room's background can be seen
svn-id: r28204
2007-07-25 21:02:30 +00:00
Sven Hesse
99a707d89e Added a few safety checks. Now Woodruff shows the loading image (closely followed by a crash).
svn-id: r28203
2007-07-25 20:36:14 +00:00
Sven Hesse
09c2ea82de - Separated game type and features
- Added feature constants for a 640x480 resolution and adlib
- Added support for game with a 640x480 resolution. Woodruff now inits the screen before it segfaults

svn-id: r28185
2007-07-24 23:24:40 +00:00
Max Horn
c967312d74 Explicitly mention the bug we work around (makes it a lot easier to deal with the workaround code in the future if necessary)
svn-id: r27725
2007-06-26 08:01:32 +00:00
Sven Hesse
bfa84a05bf Added a workaround for bug #1726130 ("WEEN: Long delay in the intro")
svn-id: r27709
2007-06-25 16:16:34 +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
Sven Hesse
8d7d61f1f6 Some more small fixes. Gob3 is completable now :)
svn-id: r26556
2007-04-21 20:13:15 +00:00
Sven Hesse
bdadeb1313 Mouse button presses shouldn't repeat. Fixes "cut-scene" after the idol part in Gob3 Amiga
svn-id: r26523
2007-04-16 05:05:35 +00:00
Sven Hesse
1b71599d86 MSVC8 apparently complains about uninitialized variables there, fixing (see bug #1700986)
svn-id: r26495
2007-04-15 13:41:54 +00:00
Sven Hesse
0d99a362e9 Some fixes for the Gob3 demos
svn-id: r26435
2007-04-09 14:00:23 +00:00
Sven Hesse
a17df6e4c6 Some Gob3 fixes:
- wrong positioning of the inventory
- walking
- close-up fadeing in the CD version

svn-id: r26390
2007-04-06 13:30:09 +00:00
Sven Hesse
ce8bfbb46e Implemented scrolling and split screen (for the text field, the bottom 40 lines) in Gob3
svn-id: r26387
2007-04-05 19:20:12 +00:00
Sven Hesse
96c6ae041f Added save/load stub for Gob3, recognizing the use of "INTRO.$$$" as an extra background buffer
svn-id: r26386
2007-04-05 16:04:59 +00:00
Sven Hesse
cebf8e98c3 Oops
svn-id: r26384
2007-04-05 14:28:19 +00:00
Sven Hesse
ec5a9eee31 - Minor cleanup
- Added Inter_v3 (for new opcode o3_getTotTextItemPart)
- Some fixes to let Gob3 start with the first screen

svn-id: r26383
2007-04-05 13:37:20 +00:00
Sven Hesse
53119f2c5d "char *" -> "byte *" where appropriate
svn-id: r26369
2007-04-02 11:05:09 +00:00
Sven Hesse
d65e05841a - Fixed the IMD playing within mults, the non-interactive Gob3 demo should work better now
- Replaced strcpy with strncpy where appropriate
- Added detection entries for other languages of the multilingual Gob3 CD; bug #1691230

svn-id: r26327
2007-03-30 17:52:31 +00:00
Sven Hesse
623ca88022 - Properly implemented the ImdPlayer
- Some more clean-up

svn-id: r26316
2007-03-29 17:55:39 +00:00
Sven Hesse
2dc7cb2cd4 Major clean-up, including:
- Cutting down the code-dup
- Plucking leaks
- Removing dead/unused code
- Properly naming "word_2342F"-style variables and functions (removing the warnings alongside)
- Fleshing out the "stubby" functions
- Moving functions and variables to more appropriate/logical places
- Re-ordering functions and variables
- Re-structuring functions
- Moving the IMD stuff into a new "Imd" class in the new imd.cpp/.h (still to be completely implemented and cleaned up)
- Formatting
- Getting rid off the classes "Anim", "Pack" and "Timer", along with their files

svn-id: r26252
2007-03-20 14:51:57 +00:00
Max Horn
b7eb659e06 Added FIXME note into the gob code (it tries to write into datafiles, which makes it unportable to devices with read-only gamedata storage)
svn-id: r26240
2007-03-19 12:52:18 +00:00
Sven Hesse
5df29654fc - Added a warning when o1_checkData()/o2_checkData() can't find the file it's supposed to check
- Fixed the actor drawn over the background glitch in Bargon Attack
- Plugged some leaks

svn-id: r25651
2007-02-17 09:56:09 +00:00
Sven Hesse
15043066f2 - Changed the speaker stuff again
- Added the spanish gob2 version from bug report #1659884

svn-id: r25615
2007-02-15 22:07:44 +00:00
Sven Hesse
77c70d4ee7 - Changed the square wave generator / speaker emulation, hopefully fixing the walking sound issue (#1621086)
- Fixed some misplaced actor glitches in Bargon

svn-id: r25585
2007-02-14 16:36:17 +00:00
Sven Hesse
3442ea1582 - Fixed another freeze in Ween
- Changed cursor visibility handling a bit

svn-id: r25407
2007-02-07 13:08:17 +00:00
Sven Hesse
edefc7bde3 Corrected the goblins walking sound (#1621086)
svn-id: r25404
2007-02-06 21:23:14 +00:00
Sven Hesse
d706d8e4c0 Implemented vertical scrolling
svn-id: r25401
2007-02-06 14:42:05 +00:00
Sven Hesse
d2b8787dd5 - Fixed the palette animations
- Changed waitRetrace() to take some time, because the scrolling speed is tuned to the retrace delays

svn-id: r25319
2007-02-01 10:42:27 +00:00
Sven Hesse
8b4001f490 Replaced the delay in o1_keyFunc with a (skipable) busy-wait detection
svn-id: r25311
2007-01-31 16:23:34 +00:00
Eugene Sandulenko
3766e0a77d eplaced platform-specific game features with common platform setting.
svn-id: r25294
2007-01-30 22:32:51 +00:00
Sven Hesse
cb8378065d - Changed _soundFlags and implemented "compositions"
- Changed Snd to be a permanent audiostream, to have better control over stopping, looping and compositions
- Some clean-up

svn-id: r25292
2007-01-30 22:19:55 +00:00
Sven Hesse
8e6cd81333 - Just warn, don't die, when a CD-Track isn't found
- Before using _vm->_adlib, first check whether it's actually there

svn-id: r25205
2007-01-26 19:00:41 +00:00
Sven Hesse
a8c6b02a9c Added support for Infogrames/RobHubbard2 (amiga) music
svn-id: r25160
2007-01-23 19:40:28 +00:00
Eugene Sandulenko
24c9735588 Rename special debug levels to conform our suggested naming scheme.
svn-id: r25073
2007-01-13 15:35:02 +00:00
Sven Hesse
6e0835da11 - Fixed cut off and missing sounds
- Fixed a crash/static reported in the forums (sending Winkle to the vulture)
- (Hopefully) fixed the immediately-closing notepad heisenbug (#1621089)
- Fixed using unitialised values after allocating the variables

svn-id: r25025
2007-01-06 11:17:20 +00:00
Sven Hesse
4446f2c851 Fixed backspace and delete in the note-pad
svn-id: r24883
2006-12-19 07:38:33 +00:00
Sven Hesse
fc6f8a47f1 Added a waitRetrace in Game_v2::CheckCollisions() and rearranged the delay in o1_keyFunc(), so that the save name dialog is shown and the "Empty Inventory" message is displayed properly as well.
svn-id: r24874
2006-12-18 14:33:37 +00:00
Sven Hesse
9afb08341c - Properly implemented o2_getCDTrackPos()
- Each save has now its own file (.s??). They also should be endian-safe now
  (Can be disabled for testing by uncommenting #define GOB_ORIGSAVES in gob.cpp)
- General endianness-fixes

svn-id: r24794
2006-11-27 14:19:30 +00:00
Sven Hesse
c22920484a Changed the way sprites-freeing is handled, now the menu sprites and window decorations are drawn
svn-id: r24752
2006-11-20 13:03:30 +00:00
Sven Hesse
6ee511e68b Added another field to the GameSettings for the intro.tot, because the Gobliins 2 demo uses usa.tot
instead

svn-id: r23701
2006-08-12 12:35:18 +00:00
Sven Hesse
1c4715b71f - Some more goblins-handling functions
- Fixed some mistakes I made in the Parse_v2 functions. Now the goblins
  (finally) move. Also, the correct music is played in the first screen.
- Found the hook for the menu
- On freeing a sound slot, only stop the playing music if it's in the
  slot to free

svn-id: r23700
2006-08-12 09:16:08 +00:00
Sven Hesse
dcbbfa01c0 Instead of drawing the mouse cursor as a sprite, let the backend handle it
svn-id: r23464
2006-07-09 18:54:12 +00:00
Sven Hesse
b7997a7231 - Fixed a few mistakes that added up to look correct, fixing bargon's cursor
- Updated cursor drawing in general

svn-id: r23429
2006-07-08 16:37:23 +00:00
Sven Hesse
243e6b2d27 Fixing Scenery::_statics, Game::_totTextData and Game::_totResourceTable
svn-id: r23078
2006-06-13 08:10:54 +00:00
Sven Hesse
796b001b4f Fixing loading of Scenery::_animations[] + small gob2 cleanup
svn-id: r23066
2006-06-12 21:33:30 +00:00
Sven Hesse
b5bc1c82fa - Fixed endianness/signess issues
- Added a memset in Video_v2::SpriteUncompressor(), that should have
  been there in the first place; this fixes the tree in GOB2's first room
- Fixed ADL delete[]ing

svn-id: r22917
2006-06-04 17:24:03 +00:00
Sven Hesse
05499f58dd - Removed usage of OSystem::quit(), added a _quitRequested variable
- Fixed some leaks, unitialized memory and delete/delete[]-errors

svn-id: r22790
2006-05-31 08:44:14 +00:00
Sven Hesse
d6f1ba1540 - More GOB2 map conversions
- Added Music_Dummy (for --music-driver=null)
- Implemented IMDs. That took longer than I expected...
  On the bright side, Ween's intro now plays more correctly

svn-id: r22754
2006-05-29 18:24:52 +00:00
Sven Hesse
42e03bd707 - Sound! Still a bit glitchy, though:
- Negative frequences?!? Maybe "SFX"?
  - No sound for a small part of the intro
    (there aren't any sndKeys covering that part either)
  - A rythm-instrument (hi-hat?) in the titlemusic isn't played as one
- More differences in the drawing functions fleshed out
- Some of the goblin handling functions written
- More unnamed functions and variables, wheeee...

svn-id: r22410
2006-05-11 19:43:30 +00:00
Sven Hesse
61a0266a92 More stubs; GOB2 goes in-game for a second, then segfaults in the
Global-constructor; valgrind shows invalid reads in parseValExpr()
and parseExpr() while accessing _inter_variables and _inter_execPtr

svn-id: r22262
2006-05-01 16:04:53 +00:00
Sven Hesse
2eabfd5f28 - More differences in Draw_v2::spriteOperation()
- GOB2 handles _frontSurface/_backSurface a bit differently, this fixes
  (most of) the drawing glitches in the intro
- Added using a fallback when the user's game version doesn't have the
  requested language
- off_2E51B et al. stubs, I think it has something to do with the menu

svn-id: r22254
2006-05-01 12:43:50 +00:00
Sven Hesse
ab48280f73 - I misunderstood Draw::initBigSprite(); fixed
- Changed Draw::spriteOperation() for blitting from/to/between and
  fillrecting to big sprites
- Enabled drawing of text

svn-id: r22001
2006-04-18 09:59:18 +00:00
Sven Hesse
cff96b0a75 - Seems like I forget a branch in Mult_v2::animate()
- sub_1A52B is Scenery::updateStatic()

svn-id: r21889
2006-04-14 18:18:46 +00:00
Sven Hesse
3bed2d377e Some more stubs and rearrangings
svn-id: r21847
2006-04-13 20:56:22 +00:00
Sven Hesse
07a0d54891 - More stubs, the intro now works completely (with extreme graphical
glitches and without sound in the floppy version), the title screen
  is shown afterwards
- Added skipping of the floppy version's copy protection screen,
  since the CD version doesn't show it either

svn-id: r21845
2006-04-13 16:25:07 +00:00
Eugene Sandulenko
8fa9bd6728 Removed extra exclamation marks in warning() calls as well.
svn-id: r21608
2006-04-04 22:21:10 +00:00