Commit Graph

91 Commits

Author SHA1 Message Date
Sven Hesse
4b3aa88c8a GOB: Add a simple class for PreGob TXT files 2012-07-30 01:44:43 +02:00
Sven Hesse
9af01cd584 GOB: Move the background saving into its own class BackBuffer 2012-07-30 01:44:43 +02:00
Sven Hesse
4819468d9a GOB: Add PreGob stubs for the Once Upon A Time games 2012-07-30 01:44:42 +02:00
Sven Hesse
07b17f7116 GOB: Reorganize the detection tables
The big table with it's 330 entries grew far too messy and
unwieldy, so I'm splitting it into several files.

One file for each game, with some exceptions:
- The Playtoons series
- The ADI / Addy 2 series
- The ADI / Addy 4 series
- The Adibou / Addy Junior series
2012-06-22 18:10:53 +02:00
Sven Hesse
026ef70b87 GOB: Add a SaveLoad class for AJ's World
Only contains a temp sprite handler ("menu.inf") for now.
This fixes the graphical glitch after clicking on the cloud.
2012-06-16 15:23:31 +02:00
Sven Hesse
f16cc050e9 GOB: Add class Inter_LittleRed
This fixes the crash when selecting an animal in the "Languages"
screen.

Interestingly, the German names of the animals are partially
wrong... And for "Das Schmetterling" (sic!), even the recorded
speech sample is wrong.
2012-06-15 01:14:49 +02:00
Sven Hesse
03ef6689c0 GOB: Rewrite the AdLib players
This is a complete rewrite of the AdLib players for ADL and MDY/TBR
files in the Gob engine.

Major changes
1) The AdLib base class is now completely separated from all file
   format code and can theoretically be used by any OPL2-based
   format (within reason)
2) The new code is far better documented and more readable
3) The MDY player now actually works. The MDY/TBR format is
   in reality the MUS/SND format created by AdLib as a simpler
   alternative to the ROL format
4) Since the MAME emulator is quite buggy and leads to noticable
   wrong percussion in the Gobliins 2 title music, the new AdLib
   player will try to create a DOSBox OPL. If it's not compiled in,
   or if the user configured opl_driver to "mame", it will print
   out appropriate warnings.
2012-06-11 05:18:06 +02:00
Sven Hesse
b83ac21f60 GOB: Implement Penetration submarine shooting and dying
Shots don't result in bullets yet, though
2012-06-06 03:33:35 +02:00
Sven Hesse
25938316a8 GOB: Animate mouths in Geisha's Penetration 2012-06-05 16:19:19 +02:00
Sven Hesse
17e3bfd42c GOB: Add a class for CMP sprites with RXY coordinates 2012-03-11 21:05:57 +01:00
Sven Hesse
2f7ae1109b GOB: Add a cheat debug command
- Cheat the Diving minigame to a win
- Get the mastermind solution
2012-01-29 00:10:11 +01:00
Sven Hesse
9dd7035327 GOB: Add the air and health meters in Geisha's Diving minigame 2012-01-28 17:46:38 +01:00
Sven Hesse
9d348f46ad GOB: Add a controlable Oko to Geisha's Diving minigame
Still missing:
  - Air, constantly decreasing, fill up with breathing
  - Health, decreases by collision with evil fish
  - Death, when health == 0
  - Picking up pearls
2012-01-27 14:27:16 +01:00
Sven Hesse
7f5f9c9f91 GOB: Stub classes for Geisha's Diving and Penetration minigames 2011-09-03 18:00:09 +02:00
Sven Hesse
dbb70e3d6f GOB: Add class Geisha::EvilFish
An "evil" fish in Geisha's "Diving" minigame.
2011-09-03 18:00:09 +02:00
Sven Hesse
220fc2b593 GOB: Add class ANIObject
Controls an animation stored within an ANI file.
2011-09-03 18:00:09 +02:00
Sven Hesse
a4f42017d7 GOB: Add class ANIFile
Handles ANI files, describing animations.
Used in hardcoded "actiony" parts of gob games, like
Geisha's minigames.
2011-09-03 18:00:09 +02:00
Sven Hesse
37964e8e85 GOB: Add class DECFile
Handles DEC files, describing "decals" (backgrounds).
Used in hardcoded "actiony" parts of gob games, like
Geisha's minigames.
2011-09-03 18:00:09 +02:00
Sven Hesse
2985f118b8 GOB: Add class RXYFile
Handles RXY files, containing relative sprite coordinates.
Used in hardcoded "actiony" parts of gob games, like
Geisha's minigames.
2011-09-03 18:00:09 +02:00
Sven Hesse
dfe9fc05aa GOB: Implement saving/loading for Geisha 2011-08-29 01:37:57 +02:00
Sven Hesse
e20b90543d GOB: Fix the Geisha cursor 2011-08-26 06:09:56 +02:00
Sven Hesse
24929c9990 GOB: Add inter_geisha.cpp and implement oGeisha_loadSound
Geisha's intro shows now (with glitches, palette animation fail?) and
the game is playable.
2011-08-26 04:10:46 +02:00
Sven Hesse
e3ceff83f4 GOB: Add the "envir" directory to the search path for Adibou
svn-id: r55770
2011-02-04 15:55:54 +00:00
Sven Hesse
b187551a01 GOB: Add support for dBase III files
Implementing o7_opendBase, o7_closedBase and o7_getDBString

svn-id: r55676
2011-01-31 10:49:43 +00:00
Sven Hesse
f01b8b98a4 GOB: Add a small manager for INI configs
svn-id: r55533
2011-01-25 14:19:52 +00:00
Sven Hesse
d1b53b1b81 GOB Add save stubs for Addy Junior
svn-id: r55529
2011-01-25 12:14:31 +00:00
Sven Hesse
176e49975c GOB: Adding stubs for Addy
svn-id: r55508
2011-01-25 00:50:26 +00:00
Sven Hesse
100b25a29e GOB: Remove the now useless SaveConverter_v6
Since I just invalided the old Urban Runner saves anyway...

svn-id: r55376
2011-01-21 13:29:51 +00:00
Sven Hesse
b38b5d2484 GOB: Give Inca2 its own SaveLoad class
Add an quick hack to fudge reading of the "voice.inf" file,
so that the voice match the selected text language.

svn-id: r55298
2011-01-18 11:53:21 +00:00
Sven Hesse
d4357c5c3f GOB: Give Inca2 its own Inter class
svn-id: r55296
2011-01-18 11:52:24 +00:00
David Turner
6527c01cb5 GOB: Add Debug Console.
This allows interactive control of debug flags and variables and provides a base to allow
for commands to aid in tracking down script bugs which are tricky to replicate.

svn-id: r53398
2010-10-13 03:49:54 +00:00
Sven Hesse
4f2b58b117 GOB: Remove the now useless VGAVideoDriver
svn-id: r52948
2010-09-30 13:02:50 +00:00
Sven Hesse
38e5060041 GOB: Add a new class Surface
This will be the new class managing all drawing, providing
depth-agnostic methods for all drawing operations, including 2
iterator-like classes, Pixel and ConstPixel.

svn-id: r52946
2010-09-30 13:01:07 +00:00
Arnaud Boutonné
8ed0a70b06 Fascination - Fix the texts not cleaned up (eg Hotel Hall). Thanks SylvainTV for identifying the problem
svn-id: r52135
2010-08-17 07:41:15 +00:00
Sven Hesse
9cad13957d Implementing saving/loading for Fascination. Tested in the DOS floppy versions and the Amiga version
svn-id: r47845
2010-02-03 09:32:16 +00:00
Arnaud Boutonné
6a9cc3b1e0 - Implement _pattern variable
- Add oPlaytoons_putPixel and Playtoons specific spriteOperation (using _pattern)

svn-id: r44103
2009-09-15 12:15:22 +00:00
Arnaud Boutonné
fc74ec8646 - Add a specific OPCODEFUNC checkData to avoid having a Playtoons workaround in working code
- Replace OPCODEDRAW 0x20,0x23 and 0x25

svn-id: r43345
2009-08-13 09:59:44 +00:00
Sven Hesse
b956c707f4 Moved the decision whether subtitles should be displayed, so that the broken subtitles in The Last Dynasty aren't shown
svn-id: r42767
2009-07-25 16:08:31 +00:00
Sven Hesse
da747553d8 Merging Map_v4 into Map_v2
svn-id: r42716
2009-07-24 21:36:59 +00:00
Arnaud Boutonné
a0ab8c9c0c - Separate Playtoons gametypes from in GobEngine::initGameParts()
- Add a specific save/load class for Playtoons as some specific files need to be tested

svn-id: r42214
2009-07-07 11:58:22 +00:00
Sven Hesse
7e7c86a337 Removing the now unneeded Game_v* classes
svn-id: r42131
2009-07-05 11:30:14 +00:00
Sven Hesse
7e11c18fa2 Putting the Urban noCD check into Init_v6::initGame()
svn-id: r42130
2009-07-05 11:29:54 +00:00
Sven Hesse
bc4f27c6b6 Removing the now empty Game_Fascination class
svn-id: r42125
2009-07-05 11:28:25 +00:00
Sven Hesse
18550c1314 Moving the "Collision" stuff to Hotspots in hotspots.cpp/.h
svn-id: r42123
2009-07-05 11:27:54 +00:00
Sven Hesse
d03dc08b64 Wrapping resources (out of TOT, EXT, IM? and EX? files) loading into its own class
svn-id: r41839
2009-06-24 21:49:37 +00:00
Sven Hesse
04d4ce4a8b Putting basic TOT handling into its own class
svn-id: r41821
2009-06-23 23:55:19 +00:00
Sven Hesse
c3aafec1fb Renaming parse.h and parse.cpp to expression.h and expression.cpp
svn-id: r41773
2009-06-22 16:30:35 +00:00
Sven Hesse
dc4e06dd6e Pushing script.o down
svn-id: r41762
2009-06-22 10:30:09 +00:00
Sven Hesse
962fc19b57 Encapsulating script file access
svn-id: r41753
2009-06-22 10:13:37 +00:00
Sven Hesse
77f114ffcb Dropping the v1 parser functions in favour of the extended v2 ones
svn-id: r41317
2009-06-07 01:45:09 +00:00