DS: Merge changes from 1.1.0 branch into trunk
svn-id: r48677
This commit is contained in:
parent
17c0c846aa
commit
b191acf7cc
2 changed files with 127 additions and 101 deletions
124
backends/platform/ds/arm9/dist/readme_ds.txt
vendored
124
backends/platform/ds/arm9/dist/readme_ds.txt
vendored
|
@ -41,6 +41,15 @@ Visit the main ScummVM website <http://www.scummvm.org>
|
|||
What's New?
|
||||
------------------------------------------------------------------------
|
||||
|
||||
ScummVM DS 1.1.0
|
||||
|
||||
* New games are supported in this stable build: Return to Zork, Rodney's
|
||||
Funscreen, Manhole, Leather Goddess of Phobos 2, Cruise for a Corpse.
|
||||
|
||||
ScummVM DS 1.0.0
|
||||
|
||||
* No changes!
|
||||
|
||||
ScummVM DS 1.0.0 RC1
|
||||
|
||||
* Gamma correction feature to improve brightness level of game on the
|
||||
|
@ -226,25 +235,25 @@ Here is what you need to do:
|
|||
If your copy of ScummVM DS has been successfully patched, you will get a
|
||||
message on the top screen that looks like this:
|
||||
|
||||
DLDI Device:
|
||||
GBA Movie Player (Compact Flash)
|
||||
DLDI Device:
|
||||
GBA Movie Player (Compact Flash)
|
||||
|
||||
The message should show the name of your card reader. If it is wrong,
|
||||
you have used the wrong DLDI file.
|
||||
|
||||
If you haven't patched your .nds file, you will get the following message
|
||||
|
||||
DLDI Driver not patched!
|
||||
DLDI Initialise failed.
|
||||
DLDI Driver not patched!
|
||||
DLDI Initialise failed.
|
||||
|
||||
In this case, you've made a mistake following the above instructions, or
|
||||
have patched the wrong file.
|
||||
|
||||
You may also see the following message:
|
||||
|
||||
DLDI Device:
|
||||
GBA Movie Player (Compact Flash)
|
||||
DLDI Initialise failed.
|
||||
DLDI Device:
|
||||
GBA Movie Player (Compact Flash)
|
||||
DLDI Initialise failed.
|
||||
|
||||
In this case, the driver did not start up correctly. The driver is
|
||||
probably broken, or you've used the wrong one for your card reader.
|
||||
|
@ -310,7 +319,7 @@ CANNOT DO THIS.
|
|||
------------------------------------------------------------------------
|
||||
|
||||
I'm glad you asked. Here is a list of the compatible games in version
|
||||
1.0.0 RC1. Demo versions of the games listed should work too.
|
||||
1.1.0. Demo versions of the games listed should work too.
|
||||
|
||||
Flight of the Amazon Queen, Beneath a Steel Sky, and Lure of the
|
||||
Temptress have generously been released as freeware by the original
|
||||
|
@ -342,9 +351,9 @@ Monkey Island 2: LeChuck's Revenge A
|
|||
|
||||
Indiana Jones and the Fate of Atlantis A
|
||||
|
||||
Day of the Tentacle A
|
||||
Day of the Tentacle A
|
||||
|
||||
Sam & Max Hit the Road A Some slowdown in a few scenes
|
||||
Sam & Max Hit the Road A Some slowdown in a few scenes
|
||||
when MP3 audio is enabled
|
||||
|
||||
Bear Stormin' (DOS) A
|
||||
|
@ -400,6 +409,16 @@ Lure of the Temptress G
|
|||
|
||||
Nippon Safes G
|
||||
|
||||
Return to Zork I
|
||||
|
||||
Leather Goddess of Phobos 2 I
|
||||
|
||||
Manhole I
|
||||
|
||||
Rodney's Funscreen I
|
||||
|
||||
Cruise for a Corpse K
|
||||
|
||||
|
||||
Full Throttle and The Dig can run on the DS using an external RAM pack
|
||||
plugged into slot-2 (the GBA slot). To do this, download the special
|
||||
|
@ -456,7 +475,8 @@ with the DS pen, you can switch the input into one of three modes. Press
|
|||
left on the D-pad to enable the left mouse button. Press right on the
|
||||
D-pad to enable the right mouse button. Press up on the D-pad to enable
|
||||
hover mode. In this mode, you won't click on anything, just hover the
|
||||
mouse cursor over it. This lets you pick out active objects in the scene.
|
||||
mouse cursor over it. This lets you pick out active objects in the
|
||||
scene.
|
||||
|
||||
An icon on the top screen will show you which mode you're in.
|
||||
|
||||
|
@ -467,46 +487,48 @@ mode) will click the left or right mouse button.
|
|||
There is an alternative method of control which doesn't require you to
|
||||
change modes with the D-pad. Press 'Select' to bring up the DS options,
|
||||
and choose 'Tap for left click, double tap for right click'. In this
|
||||
mode, you can quickly tap the screen to left click the mouse, and tap twice
|
||||
to right click the mouse.
|
||||
mode, you can quickly tap the screen to left click the mouse, and tap
|
||||
twice to right click the mouse.
|
||||
|
||||
|
||||
Here is a complete list of controls in right-handed mode (the default
|
||||
setting):
|
||||
Key Usage
|
||||
Pad Left Left mouse button
|
||||
Pad Right Right mouse button
|
||||
Pad Up Hover mouse (no mouse button)
|
||||
Pad Down Skip dialogue line (for some Lucasarts games), Show inventory
|
||||
(for Beneath a Steel Sky), Show active objects (for Simon the Sorceror)
|
||||
Start Pause/game menu (works in some games)
|
||||
Select DS Options
|
||||
B Skip cutscenes
|
||||
A Swap main screen and zoomed screen
|
||||
Y Show/Hide debug console
|
||||
X Show/Hide on-screen keyboard
|
||||
L + D-pad or L + Pen Scroll touch screen view
|
||||
L + B Zoom in
|
||||
L + A Zoom out
|
||||
Key Usage
|
||||
Pad Left Left mouse button
|
||||
Pad Right Right mouse button
|
||||
Pad Up Hover mouse (no mouse button)
|
||||
Pad Down Skip dialogue line (for some Lucasarts games),
|
||||
Show inventory (for Beneath a Steel Sky), Show
|
||||
active objects (for Simon the Sorceror)
|
||||
Start Pause/game menu (works in some games)
|
||||
Select DS Options
|
||||
B Skip cutscenes
|
||||
A Swap main screen and zoomed screen
|
||||
Y Show/Hide debug console
|
||||
X Show/Hide on-screen keyboard
|
||||
L + D-pad or L + Pen Scroll touch screen view
|
||||
L + B Zoom in
|
||||
L + A Zoom out
|
||||
|
||||
|
||||
|
||||
And here's left-handed mode:
|
||||
Key Usage
|
||||
Y Left mouse button
|
||||
A Right mouse button
|
||||
X Hover mouse (no mouse button)
|
||||
B Skip dialogue line (for some Lucasarts games), Show inventory (for
|
||||
Beneath a Steel Sky), Show active objects (for Simon the Sorceror)
|
||||
Start Pause/game menu (works in some games)
|
||||
Select DS Options
|
||||
D-pad down Skip cutscenes
|
||||
D-pad up Swap main screen and zoomed screen
|
||||
D-pad left Show/Hide debug console
|
||||
D-pad right Show/Hide on-screen keyboard
|
||||
R + D-pad or R + Pen Scroll touch screen view
|
||||
R + D-pad down Zoom in
|
||||
R + d-pad right Zoom out
|
||||
Key Usage
|
||||
Y Left mouse button
|
||||
A Right mouse button
|
||||
X Hover mouse (no mouse button)
|
||||
B Skip dialogue line (for some Lucasarts games),
|
||||
Show inventory (for Beneath a Steel Sky), Show
|
||||
active objects (for Simon the Sorceror)
|
||||
Start Pause/game menu (works in some games)
|
||||
Select DS Options
|
||||
D-pad down Skip cutscenes
|
||||
D-pad up Swap main screen and zoomed screen
|
||||
D-pad left Show/Hide debug console
|
||||
D-pad right Show/Hide on-screen keyboard
|
||||
R + D-pad or R + Pen Scroll touch screen view
|
||||
R + D-pad down Zoom in
|
||||
R + d-pad right Zoom out
|
||||
|
||||
|
||||
|
||||
|
@ -779,11 +801,11 @@ This program was brought to you by caffiene, sugar, and late nights.
|
|||
------------------------------------------------------------------------
|
||||
|
||||
If you have problems getting ScummVM to work on your hardware, please
|
||||
read the FAQ first. /Please/ don't ask me questions which are
|
||||
answered in the FAQ, I get many emails about this program each day, and
|
||||
I can't help the people who really need help if I'm answering the same
|
||||
question all the time which is already answered on this page. Other than
|
||||
that, feel free to post on the ScummVM DS forum <http://forums.scummvm.org>
|
||||
read the FAQ first. /Please/ don't ask me questions which are answered
|
||||
in the FAQ, I get many emails about this program each day, and I can't
|
||||
help the people who really need help if I'm answering the same question
|
||||
all the time which is already answered on this page. Other than that,
|
||||
feel free to post on the ScummVM DS forum <http://forums.scummvm.org>
|
||||
for help. Please do your research first though. There is no way of
|
||||
running this on an out-of-the box DS without extra hardware. Most of
|
||||
these things are fairly inexpensive though.
|
||||
|
@ -819,14 +841,16 @@ libmad support by opening 'backends/platform/ds/arm9/makefile' and
|
|||
commenting out the line which says USE_MAD = 1.
|
||||
|
||||
Then, enter the 'backends/platform/ds' folder and type:
|
||||
make SCUMM_BUILD=a
|
||||
|
||||
make SCUMM_BUILD=a
|
||||
|
||||
The executable nds file will build inside 'backends/platform/ds/arm9/SCUMMVM-A'.
|
||||
|
||||
For other builds, substitute the letters b - g in the above line.
|
||||
|
||||
To build everything, type:
|
||||
make allbuildssafe
|
||||
|
||||
make allbuildssafe
|
||||
|
||||
|
||||
|
||||
|
|
|
@ -349,19 +349,19 @@ gameListType* currentGame = NULL;
|
|||
// Stylus
|
||||
#define ABS(x) ((x)>0?(x):-(x))
|
||||
|
||||
bool penDown;
|
||||
bool penHeld;
|
||||
bool penReleased;
|
||||
bool penDownLastFrame;
|
||||
s32 penX, penY;
|
||||
s32 penDownX, penDownY;
|
||||
int keysDownSaved;
|
||||
int keysReleasedSaved;
|
||||
int keysChangedSaved;
|
||||
bool penDown = FALSE;
|
||||
bool penHeld = FALSE;
|
||||
bool penReleased = FALSE;
|
||||
bool penDownLastFrame = FALSE;
|
||||
s32 penX = 0, penY = 0;
|
||||
s32 penDownX = 0, penDownY = 0;
|
||||
int keysDownSaved = 0;
|
||||
int keysReleasedSaved = 0;
|
||||
int keysChangedSaved = 0;
|
||||
|
||||
bool penDownSaved;
|
||||
bool penReleasedSaved;
|
||||
int penDownFrames;
|
||||
bool penDownSaved = FALSE;
|
||||
bool penReleasedSaved = FALSE;
|
||||
int penDownFrames = 0;
|
||||
int touchXOffset = 0;
|
||||
int touchYOffset = 0;
|
||||
|
||||
|
@ -1403,18 +1403,21 @@ void doButtonSelectMode(OSystem_DS* system)
|
|||
if (getPenReleased() && (leftButtonDown || rightButtonDown)) {
|
||||
if (leftButtonDown) {
|
||||
event.type = Common::EVENT_LBUTTONUP;
|
||||
} else {
|
||||
leftButtonDown = false;
|
||||
event.mouse = Common::Point(getPenX(), getPenY());
|
||||
system->addEvent(event);
|
||||
} else if (rightButtonDown) {
|
||||
event.type = Common::EVENT_RBUTTONUP;
|
||||
rightButtonDown = false;
|
||||
event.mouse = Common::Point(getPenX(), getPenY());
|
||||
system->addEvent(event);
|
||||
}
|
||||
|
||||
event.mouse = Common::Point(getPenX(), getPenY());
|
||||
system->addEvent(event);
|
||||
}
|
||||
|
||||
|
||||
if ((mouseMode != MOUSE_HOVER) || (!displayModeIs8Bit)) {
|
||||
if (getPenDown() && (!(getKeysHeld() & KEY_L)) && (!(getKeysHeld() & KEY_R))) {
|
||||
if ((mouseMode == MOUSE_LEFT) || (!displayModeIs8Bit)) {
|
||||
if (mouseMode == MOUSE_LEFT) {
|
||||
event.type = Common::EVENT_LBUTTONDOWN;
|
||||
leftButtonDown = true;
|
||||
} else {
|
||||
|
@ -1462,8 +1465,7 @@ void doButtonSelectMode(OSystem_DS* system)
|
|||
mouseMode = MOUSE_LEFT;
|
||||
}
|
||||
|
||||
if (rightButtonDown)
|
||||
{
|
||||
if (rightButtonDown) {
|
||||
Common::Event event;
|
||||
event.mouse = Common::Point(getPenX(), getPenY());
|
||||
event.type = Common::EVENT_RBUTTONUP;
|
||||
|
@ -1642,26 +1644,26 @@ void addEventsToQueue() {
|
|||
}
|
||||
|
||||
|
||||
static int selectHoldCount = 0;
|
||||
static const int SELECT_HOLD_TIME = 60;
|
||||
static int selectTimeDown = -1;
|
||||
static const int SELECT_HOLD_TIME = 1000;
|
||||
|
||||
if ((getKeysHeld() & KEY_SELECT)) {
|
||||
selectHoldCount++;
|
||||
|
||||
if (selectHoldCount == SELECT_HOLD_TIME) {
|
||||
// Hold select down for one second - show GMM
|
||||
g_engine->openMainMenuDialog();
|
||||
}
|
||||
} else {
|
||||
selectHoldCount = 0;
|
||||
if (getKeysDown() & KEY_SELECT) {
|
||||
selectTimeDown = getMillis();
|
||||
}
|
||||
|
||||
if (selectTimeDown != -1) {
|
||||
if (getKeysHeld() & KEY_SELECT) {
|
||||
if (getMillis() - selectTimeDown >= SELECT_HOLD_TIME) {
|
||||
// Hold select down for one second - show GMM
|
||||
g_engine->openMainMenuDialog();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if (getKeysReleased() & KEY_SELECT) {
|
||||
if (selectHoldCount < SELECT_HOLD_TIME) {
|
||||
// Just pressed select - show DS options screen
|
||||
showOptionsDialog();
|
||||
if (getKeysReleased() & KEY_SELECT) {
|
||||
if (getMillis() - selectTimeDown < SELECT_HOLD_TIME) {
|
||||
// Just pressed select - show DS options screen
|
||||
showOptionsDialog();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2081,7 +2083,7 @@ void VBlankHandler(void) {
|
|||
storedMouseX = penX;
|
||||
storedMouseY = penY;
|
||||
|
||||
if (gameScreenSwap) {
|
||||
if (gameScreenSwap && touchPadStyle) {
|
||||
setIcon(3, storedMouseX - mouseHotspotX, storedMouseY - mouseHotspotY, 8, 0, true);
|
||||
setIconMain(3, 0, 0, 0, 0, false);
|
||||
} else {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue