-
Notifications
You must be signed in to change notification settings - Fork 4
/
README
237 lines (196 loc) · 8.83 KB
/
README
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
Short: Amiga port of Curse of Monkey Island
Uploader: betajaen@users.noreply.github.com (Robin Southern)
Author: betajaen@users.noreply.github.com (Robin Southern)
Type: game/role
Requires: 68020, CyberGfx, COMI data files
Version: 0.5
Architecture: m68k-amigaos >= 3.1
Distribution: Aminet
This is a game interpreter and player for the Lucasarts game "Curse of Monkey Island" (COMI)
for the Commodore Amiga (CBM Amiga) range of computers. This allows you to play the
Curse of Monkey Island game, natively without emulation on the Commodore Amiga using its
software APIs using a copy of the COMI PC data files only.
In laymans terms; Goodsoup is "COMI.exe" for the Amiga.
Goodsoup is a partial fork and reimplementation of the following codebases:
- ScummVM 0.9.1 (SCUMM V8) Code by the ScummVM Team.
- NScumm (NScumm.Scumm) Code by Valéry Sablonnière.
Copying
-------
Goodsoup is licensed under the GNU General Public License version 2. Please refer to the
COPYING file, which is included in this source code distribution.
Supported Games
---------------
* The Curse of Monkey Island [comi]
- English: GOG.com
Requirements
------------
An CBM Amiga (or CBM Amiga Emulator) with the following features:-
* Workbench Release 3.1 or higher
* At least 2 MiBs of RAM
* At least a Motorola 68020 Processor
* A Harddrive partition with 940 MiB free of space
* A P96 compatible graphics software and hardware that is capable of supporting
a 640x480 8-bit resolution at least 25 frames per second.
* AHI software installed with compatible audio hardware
Status
------
Feature | Status
-----------------+--------------------
Actors | Placeholder code.
AGA Support | After RTG is completed and the game is mostly playable.
Audio | In progress.
Custom Cursors | Future.
Debugging | Done.
File Formats | Complete.
Fonts | Mostly Complete.
Gameplay | Little.
Input | In Progress.
Inventory | Placeholder code.
Objects | In Progress.
RTG Support | In Progress.
Save Games | None
Scripting | Nearly Done.
Translations | None.
Video (SMUSH) | Nearly Done. Video 100%, Audio 90%, Subtitles 100%, Timing - TODO
General Notes:
As of 04-August-2022
The game is capable of loading the boot script. It then displays the difficulty selection
dialogue. The game is hardcoded to select the easy option on a mouse click, for which it
then plays the Monkey Screaming CMI screen. It then plays the opening SAN video, which
shows Monkey Island, then Guybrush in a dodgem car floating in the water writing his log,
it then shows the Curse of Monkey Island logo, and then a canon battle between LeChuck and
Elaine, with Guybrush who has drifted into the middle stuck in the middle. This can be skipped
via the ESCAPE key.
It will then show the chapter one title card, and then fade into the scene where Guybrush and
Wally are in the Canon room. Wally, Guybrush, the canon and some objects are not shown on the
screen, but Wally is appearing to be talking as the scripts are running in this room.
Installation
------------
Copy the Goodsoup folder to your harddrive. Inside the goodsoup folder should be
placed from the COMI data disks the following files:-
- COMI.LA0
- COMI.LA1
- COMI.LA2
- RESOURCE/BBSAN.SAN
- RESOURCE/CURSERNG.SAN
- RESOURCE/FG010GP.SAN
- RESOURCE/FINALE.SAN
- RESOURCE/FONT0.NUT
- RESOURCE/FONT1.NUT
- RESOURCE/FONT2.NUT
- RESOURCE/FONT3.NUT
- RESOURCE/FONT4.NUT
- RESOURCE/KIS030.SAN
- RESOURCE/LANGUAGE.TAB
- RESOURCE/LAVARIDE.SAN
- RESOURCE/LIFTCRSE.SAN
- RESOURCE/MORESLAW.SAN
- RESOURCE/MUSDISK1.BUN
- RESOURCE/MUSDISK2.BUN
- RESOURCE/NEWBOOTS.SAN
- RESOURCE/OPENING.SAN
- RESOURCE/SB010.SAN
- RESOURCE/SB020.SAN
- RESOURCE/SINKSHP.SAN
- RESOURCE/VOXDISK1.BUN
- RESOURCE/VOXDISK2.BUN
- RESOURCE/WRECKSAN.SAN
- RESOURCE/ZAP010.SAN
Double click on the monkey3 program to launch the program from Workbench, or
from shell. Type the following:-
stack 65536
monkey3
Usage
-----
The game itself is straightforward to play. To access the game controls,
the game must be paused via the space bar. You can access the Amiga RMB Menu,
to access controls to; Resume and Quit the Game. Press the space bar again to
resume playing.
Whilst paused, you can press the S key to step the game forward by one frame.
Once the game has been exited, a message will appear to Thanking you for playing,
this ensures that all the memory allocated and disk resources have been released
correctly.
Shell Arguments
---------------
The Goodsoup program accepts one numerical argument to change its behaviour, such
to play videos, convert and optimize files, or run the game in a different way.
In a shell it they can be given in as the following:
> stack 65536
> monkey3 101
These arguments are:
0 Play the Game normally
100 Play the video BBSAN and quit
101 Play the video CURSERNG and quit
102 Play the video FG010GP and quit
103 Play the video FINALE and quit
104 Play the video KIS030 and quit
105 Play the video LAVARIDE and quit
106 Play the video LIFTCRSE and quit
107 Play the video MORESLAW and quit
108 Play the video NEWBOOTS and quit
109 Play the video OPENING and quit
110 Play the video SB010 and quit
111 Play the video SB020 and quit
112 Play the video SINKSHP and quit
113 Play the video WRECKSAN and quit
114 Play the video ZAP010 and quit
115 Play all videos in alphabetical order and then quit
200 Convert FONT0.NUT to FONT0.GSF and quit
201 Convert FONT1.NUT to FONT1.GSF and quit
202 Convert FONT2.NUT to FONT2.GSF and quit
203 Convert FONT3.NUT to FONT3.GSF and quit
204 Convert FONT4.NUT to FONT4.GSF and quit
205 Convert all fonts from NUT to GSF in numerical order and then quit
300 Convert and optimize the video BBSAN and quit
301 Convert and optimize the video CURSERNG and quit
302 Convert and optimize the video FG010GP and quit
303 Convert and optimize the video FINALE and quit
304 Convert and optimize the video KIS030 and quit
305 Convert and optimize the video LAVARIDE and quit
306 Convert and optimize the video LIFTCRSE and quit
307 Convert and optimize the video MORESLAW and quit
308 Convert and optimize the video NEWBOOTS and quit
309 Convert and optimize the video OPENING and quit
310 Convert and optimize the video SB010 and quit
311 Convert and optimize the video SB020 and quit
312 Convert and optimize the video SINKSHP and quit
313 Convert and optimize the video WRECKSAN and quit
314 Convert and optimize the video ZAP010 and quit
350 Convert to 320x240 and optimize the video BBSAN and quit
351 Convert to 320x240 and optimize the video CURSERNG and quit
352 Convert to 320x240 and optimize the video FG010GP and quit
353 Convert to 320x240 and optimize the video FINALE and quit
354 Convert to 320x240 and optimize the video KIS030 and quit
355 Convert to 320x240 and optimize the video LAVARIDE and quit
356 Convert to 320x240 and optimize the video LIFTCRSE and quit
357 Convert to 320x240 and optimize the video MORESLAW and quit
358 Convert to 320x240 and optimize the video NEWBOOTS and quit
359 Convert to 320x240 and optimize the video OPENING and quit
360 Convert to 320x240 and optimize the video SB010 and quit
361 Convert to 320x240 and optimize the video SB020 and quit
362 Convert to 320x240 and optimize the video SINKSHP and quit
363 Convert to 320x240 and optimize the video WRECKSAN and quit
364 Convert to 320x240 and optimize the video ZAP010 and quit
365 Convert to 320x240 and optimize all videos in alphabetical order and quit
Compiling
---------
Goodsoup is written in strict C++98 and should be compiled with a GCC compiler.
Options:
make clean To clean object files and compiled executables.
make PLATFORM=amiga To compile for Amiga Platforms using the Bebbo GCC Compiler.
make PLATFORM=sdl To compile for Linux Platforms using a 32-bit GCC Compiler.
Various options can be added to the make command when building:
DEMO_MODE=0/1 Demonstration Mode:-
0 - Play the Game as Normal
1 - Play the opening SMUSH Video (OPENING.SAN) and then quit
FAST_MODE=0/1 Ignore frame rate timing
MUTE_AUDIO=0/1 Process but do not play Audio
SAN_CODEC47=0/1/2 SAN (SMUSH) Codec decoder:-
0 - None, only show keyframes
1 - Stock
2 - ULONG optimised
VM_DEBUG=0/1 Log excess information about the Virtual Machine to a log file.
CHECKED=0/1 Perform extra checking on parameters and external data.
ONE_FRAME=0/1 Quit after displaying one frame
GAME_PATH="COMI:" Path to where the data files are
IGNORE_NO_FEATURE=0/1 Shut up about missing features