1668 Commits

Author SHA1 Message Date
Sven Hesse
62cf663957 GOB: Add Surface::drawRect() 2012-06-22 18:10:52 +02:00
Sven Hesse
b1e50b4e30 GOB: _renderFlags & 0x80 means "Do we have windows?" 2012-06-22 18:10:52 +02:00
Sven Hesse
2e16e7fc4c GOB: Add a workaround for the wrong German animal names in Little Red
The DOS, Amiga and Atari version of Little Red come with a small
screen, accessible through the main menu, that lets children read and
listen to animal names in 5 languages: French, German, English,
Spanish and Italian.

Unfortunately, the German names are partially wrong. This is
especially tragic because this is a game for small children and
they're supposed to learn something here. So I deem fixing this a
very good idea.

Just to be sure, someone should probably look over the French,
Spanish and Italian words too.
2012-06-18 17:44:04 +02:00
Sven Hesse
892ca3a9c5 GOB: Don't loop /all/ sounds in Little Red
Just the title music... *cough*
2012-06-18 17:14:04 +02:00
Sven Hesse
b7ae6a93a9 GOB: Fix a segfault when quitting AJ's World 2012-06-16 17:20:45 +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
6d01b51755 GOB: Add a proper GameType for AJ's World 2012-06-16 15:08:10 +02:00
Sven Hesse
3d7c6a2710 GOB: Correct the name of A.J.'s World of Discovery 2012-06-16 15:06:07 +02:00
Sven Hesse
ba07c7678a GOB: Add Little Red to the gob games list comment 2012-06-16 04:06:21 +02:00
Sven Hesse
08c0fa9105 GOB: Remove a superfluous semicolon 2012-06-16 03:04:35 +02:00
Sven Hesse
a24cb57c9d GOB: Loop the Little Red title music 2012-06-16 02:58:53 +02:00
Sven Hesse
f917db972e GOB: Shut up Little Red's warning about gob func 1 and 2
Those set some DOS timer interrupt related to sound.
Seems to be unnecessary for us.
2012-06-16 01:50:31 +02:00
Sven Hesse
54f7d9c557 GOB: Use the full title for Little Red Riding Hood
While the other parts in the series are mostly hard-coded,
they are small, simple and monotone enough that I might just
think about implementing them some day...
2012-06-16 01:44:57 +02:00
Sven Hesse
1666d9da82 GOB: Fix mult object collision detection I broke in 2007
This fixes the sidescroller levels (like the bees and butterflies)
in Little Red.

I really wonder if this breakage had other effects too...
2012-06-16 01:39:14 +02:00
Sven Hesse
5961609a56 GOB: Add a resource size workaround for Little Red
This fixes the missing resources in the screen where Little Red
has to find the animals' homes for them.
2012-06-15 15:09:01 +02:00
Sven Hesse
7632246264 GOB: Implement Util::getKeyState() for Little Red
This makes the bees level playable, removing the "lock-up".
Collision detection between Little Red and the bees and butterflies
doesn't work yet though, so they're just flying through her.

Nevertheless, the game seems to be completable now.
2012-06-15 13:35:46 +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
59b2a84552 GOB: Add a proper GameType for Little Red 2012-06-15 00:51:03 +02:00
Sven Hesse
3b8b3c4caf GOB: Fix a failed assert in Litte Red Riding Hood 2012-06-14 23:40:18 +02:00
Sven Hesse
5ae4ed09ea GOB: Fix an uninitialised value in Geisha's Penetration 2012-06-14 15:33:30 +02:00
Sven Hesse
0e6fb43779 GOB: Remove useless variable 2012-06-14 15:27:37 +02:00
Sven Hesse
ccad083ab9 GOB: Fix a "condition depends on uninitialised value" in Geisha 2012-06-14 15:24:49 +02:00
Sven Hesse
198c116061 GOB: Fix stupid typo/bug I introduced in 2007
Luckily, it apparently didn't have any visible symptoms...
2012-06-14 14:40:33 +02:00
Sven Hesse
f87e8b53f3 GOB: Fix an AmigaOS compile error
Should close bug #3534287.
2012-06-11 15:11:15 +02:00
Sven Hesse
a3db17033f GOB: Update list of games in the comment 2012-06-11 15:11:15 +02:00
Sven Hesse
f538b76586 GOB: Don't recalculate the AdLib frequencies table on every player reset 2012-06-11 15:10:59 +02:00
Sven Hesse
fe44939eba GOB: Play the music on the title screen of Gob1 EGA
The EGA version of Gobliiins comes with an MDY track.
While the original doesn't play it, we thought it might
be a nice idea to play it nevertheless.
2012-06-11 06:20:34 +02:00
Sven Hesse
a64e8a6d30 GOB: Hook up the MDY player in Geisha 2012-06-11 05:18:07 +02:00
Sven Hesse
8548dea13d GOB: Hook up the MDY player in Fascination 2012-06-11 05:18:06 +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
Eugene Sandulenko
ec92a867da Merge pull request #243 from lordhoto/cursor-no-scale
ALL: Replace cursorTargetScale in OSystem API with a simple "do not scale" logic.
2012-06-08 23:20:28 -07:00
Sven Hesse
c414baa35d GOB: Implement shooting in Penetration
Geisha's Penetration minigame should be complete now.
This also means that Geisha is now basically complete.

The only thing missing is the MDYPlayer, but since the
music is only played once during the title screen, and it
has a PCM-based fallback (which is currently played), this
is low priority.
2012-06-08 05:16:01 +02:00
Sven Hesse
421b93ce05 GOB: Rewrite "pathfinding" and implement moving enemies
Since shooting does not yet work, we're just getting mauled by them...
2012-06-08 03:16:53 +02:00
Sven Hesse
c37577a950 GOB: Hook up the Penetration minigame in the cheater 2012-06-07 04:29:10 +02:00
Sven Hesse
3d537e763c GOB: Handle Penetration shooting animations more cleverly
Still no bullets, though :P
2012-06-07 04:21:29 +02:00
Sven Hesse
95454ab52c GOB: Better controls in Geisha's Penetration
You can actually move diagonally now
2012-06-07 04:21:29 +02:00
Sven Hesse
8c3d2fc741 GOB: Add a way to reopen currently opened IMD/VMD videos
This is a workaround for how Lost in Time behaves in combination
with changes I made to the DataIO code for running Urban Runner
on low-memory devices.

Urban Runner's intro are far to big to have them copied into
memory for these devices, so I made the DataIO code return a
SafeSeekableSubReadStream into the opened archive stream instead.
Unfortunately, Lost in Time might not close a video file when it
closes the data file which it was originally in, especially when
loading a saved game. Since the video player needs to be able to
gaplessly continue a video and there does not, by itself, close
the video if not requested by the scripts, this leads to reading
out of an already closed stream in certain cases.

So, to worka round this issues, the video player tries to reopen
each currently opened video after a data archive was closed, to
make sure that that video is still available. If not, the video
is closed.
2012-06-07 00:29:46 +02:00
Sven Hesse
4288edd523 GOB: Add the original broken German as comments 2012-06-06 19:21:21 +02:00
Sven Hesse
5913b9b839 GOB: Draw info texts in Penetration
The German strings have been changed from the original, to fix the
horribly broken German.
Someone should probably check the Italian and Spanish strings too.
2012-06-06 19:03:23 +02:00
Sven Hesse
78c9c72691 GOB: Set Penetration floor palettes and fade in/out 2012-06-06 16:50:22 +02:00
Sven Hesse
04d0ec8d03 GOB: Implement exiting floors 2012-06-06 03:33:35 +02:00
Sven Hesse
1782012f9f GOB: Clean up the Penetration map handling a bit 2012-06-06 03:33:35 +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
93dda1b227 GOB: const correctness 2012-06-06 03:33:34 +02:00
Sven Hesse
4392e4d7aa GOB: Implement health gain/loss for mouths 2012-06-05 17:01:40 +02:00
Sven Hesse
7377640668 GOB: Play sounds for mouths and shields in Penetration 2012-06-05 16:21:36 +02:00
Sven Hesse
25938316a8 GOB: Animate mouths in Geisha's Penetration 2012-06-05 16:19:19 +02:00
Sven Hesse
db99d23717 GOB: Fix invalid reads in Geisha's minigames 2012-06-03 18:58:03 +02:00
Sven Hesse
d124b87649 GOB: Remove unnecessary include
A remnant of when we were still doing dithering color LUT
creation at startup
2012-06-03 17:15:18 +02:00
Sven Hesse
5a245bd4f2 GOB: Consume shields in Penetration 2012-06-03 03:40:04 +02:00