Commit Graph

1495 Commits

Author SHA1 Message Date
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
Sven Hesse
627e870629 GOB: Limit Penetration movement to walkable tiles 2012-06-03 03:29:35 +02:00
Johannes Schickel
a401f0a19e ALL: Replace cursorTargetScale in OSystem API with a simple "do not scale" logic.
All uses of the old target scale API actually wanted to disallow scaling of
the mouse cursor. This commit adapts our API to this and thus simplifies
backend implementations.

Some backends, most notable the Wii and Android, did some implementation of
the cursor target scale, which I didn't adapt yet. I added a TODO for the
porters there.
2012-06-03 02:02:57 +02:00
Sven Hesse
95e467d82c GOB: Display the Penetration submarine 2012-06-03 01:29:44 +02:00
Sven Hesse
8dcb93f2ce GOB: Draw the Penetration map and do basic movement 2012-06-03 01:29:44 +02:00
Sven Hesse
43abb525d4 GOB: Draw the map in a separate surface
Still hidden for now.
2012-06-03 01:29:44 +02:00
Sven Hesse
030509c8eb GOB: Draw the shield and health meters in Penetration 2012-06-02 23:14:12 +02:00
Sven Hesse
585ceb566f GOB: Add animation handling frame to Penetration 2012-06-02 23:14:12 +02:00
Sven Hesse
3eeb3d7416 GOB: Correctly name the Penetration script variables 2012-06-02 23:14:12 +02:00
Sven Hesse
be25e31a0a GOB: Fix v7 cursors drawn by the scripts
When the cursor name is "", then that cursor is drawn by the scripts
instead of loaded from cursor32.dll. That cursor does not have its own
palette then.
Fixes the cursors in the "paint" game in Adibou2.
2012-05-29 17:12:06 +02:00
Sven Hesse
aa7c44a070 GOB: Hook up the PE cursors to v7 loadCursor
Addy Junior / Adibou2 now shows proper cursors.
Thanks to clone2727 for the constant nagging. :P
2012-05-29 14:22:07 +02:00
Sven Hesse
8a4da1e6b0 GOB: Add a Spanish Amiga version of Gobliins 2
As supplied by aldozx in the forums.
2012-03-30 11:35:18 +02:00
Sven Hesse
3664088f6f GOB: Add a way to add sprite coordinates to CMP files
Because the meter bar and icons for Penetration are not
even in the CMP's RXY.
2012-03-11 21:39:14 +01:00
Sven Hesse
c340159486 GOB: Extend ANIObject to also handle CMP sprite "animations" 2012-03-11 21:05:57 +01:00
Sven Hesse
4db94f805c GOB: Use the CMPFile class in ANIFile 2012-03-11 21:05:57 +01:00
Sven Hesse
b928d6dcb1 GOB: Use the CMPFile class in DECFile 2012-03-11 21:05:57 +01:00
Sven Hesse
17e3bfd42c GOB: Add a class for CMP sprites with RXY coordinates 2012-03-11 21:05:57 +01:00
Johannes Schickel
48efab4e5a COMMON: Rename SafeSubReadStream to SafeSeekableSubReadStream.
It actually inherits from SeekableSubReadStream, so it should be named
accordingly.
2012-03-11 00:51:20 +01:00
Fabio Battaglia
b918149e6b GOB: Add detection entry for Italian playtoons2 2012-03-01 18:43:41 +01:00
Max Horn
367131ef0e COMMON: Move Language and Platform functionality into separate files 2012-02-26 15:21:36 +01:00
Eugene Sandulenko
54c87f20e3 Merge pull request #189 from fingolfin/cleanup
ALL: Cleanup
2012-02-23 23:55:45 -08:00
Johannes Schickel
442bcb7d3e ALL: Fix some signed/unsigned comparison warnings. 2012-02-22 20:20:55 +01:00
Max Horn
9628913cdc GOB: Fix type conversion warning 2012-02-22 18:26:38 +01:00
Sven Hesse
885a29a1de GOB: Fix a segfault 2012-01-29 00:12:11 +01:00