update: I added a build of 1.2.1 and 1.4.1 with MAD support (MP3 and talkie support) plus instructions about libmad
update: now I have a DSTwo. I added a package with the DSTwo plugins in the download section.
First post here.
Here's two builds of scummVM DS especially compiled for 3DS users who can't get the touchscreen to work on their devices.
These builds are merely "hacks" of the original source code and the changes I introduced are not particularly elegant. It's just a quick hack to get scummVM DS work on 3ds devices (should work fine on standard DS too). I suppose that the bug responsible for the broken touchscreen on the 3ds is still there deeply in the libnds library.
Downloads:
Download scummVM DS 1.2.1 (all the engines - MAD support) (reccomended)
Download scummVM DS 1.4.1 (all the engines - MAD support)
DSTWO Plugins:
ScummVMDS Plugins
older versions:
Download scummVM DS 1.2.1 (all the engines no MAD support)
Download scummVM DS 1.4.1 (all the engines no MAD support)
I compiled both the last stable sources 1.4.1 and the 1.2.1 version which is the binary version most commonly used by end-users (so you should download this if you want to keep your existing compatibility).
I didn't have a compiled version of libmad so I commented out USE_MAD = 1 as suggested, but if someone is willing to provide a compiled ARM version of the library (or provide a win32 devkitpro makefile for it) I'm more than happy to rebuild everything with MAD support.
Boring stuff (and possibly gibberish...)
Here's a quick explanation of what I changed and where I think the problem lied. Also, I'm not a professional programmer, so take my words with a grain of salt.
The touchscreen code of scummvm is not broken on the 3ds, or at least not completely. The problem is in dsmain.cpp where most of the stuff happens. The main issue is that IPC->touchZ1 always returns 0. I suppose IPC->touchZ1 reads the Z axis (so to speak) of the stylus, that is it reads pressure and perpendicular touch (correct me if I'm wrong).
The good news is that IPC->touchXpx and IPC->touchYpx still read the stylus coordinates just fine so all I did was to comment out occurrences of IPC->touchZ1 and in one instance replace it with a conjunct read of IPC->touchXpx and IPC->touchYpx both > 0 instead.
I never used scummvm on a standard DS so I don't know if the touchscreen feels actually any different here. I suppose it doesn't, but let me know if that's the case.
btw to really solve the issue, it could be necessary to track down the problem in the libnds library itself.
Here are the source files I changed:
http://www.mediafire...3ds_schanges.7z
Instructions on building libmad for nds-arm are here: http://gbatemp.net/t...ost__p__4100204
update: now I have a DSTwo. I added a package with the DSTwo plugins in the download section.
First post here.
Here's two builds of scummVM DS especially compiled for 3DS users who can't get the touchscreen to work on their devices.
These builds are merely "hacks" of the original source code and the changes I introduced are not particularly elegant. It's just a quick hack to get scummVM DS work on 3ds devices (should work fine on standard DS too). I suppose that the bug responsible for the broken touchscreen on the 3ds is still there deeply in the libnds library.
Downloads:
Download scummVM DS 1.2.1 (all the engines - MAD support) (reccomended)
Download scummVM DS 1.4.1 (all the engines - MAD support)
DSTWO Plugins:
older versions:
Download scummVM DS 1.2.1 (all the engines no MAD support)
Download scummVM DS 1.4.1 (all the engines no MAD support)
I compiled both the last stable sources 1.4.1 and the 1.2.1 version which is the binary version most commonly used by end-users (so you should download this if you want to keep your existing compatibility).
Boring stuff (and possibly gibberish...)
Here's a quick explanation of what I changed and where I think the problem lied. Also, I'm not a professional programmer, so take my words with a grain of salt.
The touchscreen code of scummvm is not broken on the 3ds, or at least not completely. The problem is in dsmain.cpp where most of the stuff happens. The main issue is that IPC->touchZ1 always returns 0. I suppose IPC->touchZ1 reads the Z axis (so to speak) of the stylus, that is it reads pressure and perpendicular touch (correct me if I'm wrong).
The good news is that IPC->touchXpx and IPC->touchYpx still read the stylus coordinates just fine so all I did was to comment out occurrences of IPC->touchZ1 and in one instance replace it with a conjunct read of IPC->touchXpx and IPC->touchYpx both > 0 instead.
I never used scummvm on a standard DS so I don't know if the touchscreen feels actually any different here. I suppose it doesn't, but let me know if that's the case.
btw to really solve the issue, it could be necessary to track down the problem in the libnds library itself.
Here are the source files I changed:
http://www.mediafire...3ds_schanges.7z
Instructions on building libmad for nds-arm are here: http://gbatemp.net/t...ost__p__4100204
What is ScummVM DS?
------------------------------------------------------------------------
ScummVM DS is a part of the ScummVM project. The ScummVM project is an
attempt to re-engineer many classic point and click adventure games of the
80s and 90s to run on modern computer hardware. Technology has changed a
lot since these games were written, and so ScummVM attempts to replicate the
gameplay of the original games in exacting details, without any of the original
code that the game ran on. ScummVM needs a copy of the original game, in order
to take the graphics, sound, and scripts that made the game work.
ScummVM is written in such a way that it can be 'ported' from one type of
machine to another, and ScummVM DS is a port of ScummVM to the Nintendo DS
handheld games console.
Features
------------------------------------------------------------------------
* Runs nearly all of Lucasarts' SCUMM games up to and including Sam
& Max Hit the Road
* Runs many non-Lucasarts point-and-click adventures too
* Supports sound
* Provides a GUI to change settings and choose games
* Supports using the DS touch screen for controls
* Suports saving games to compatible flash cards
* All games run at pretty much full speed
Which games are compatible with ScummVM DS?
------------------------------------------------------------------------
I'm glad you asked. Here is a list of the compatible games in version
1.2.1. 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
authors, Revolution Software . This is a
great thing and we should support Revolution for being so kind to us.
You can download the game data from the official ScummVM download page
.
The other games on this list are commercial, and still under copyright,
which means downloading them without paying for it is illegal. You can
probably find a second-hand copy on eBay. Please don't email me to ask
for a copy, as I am unable to send it to you.
Game Build Notes
Manic Mansion A
Zak McKracken and the Alien Mindbenders A
Indiana Jones and the Last Crusade A
Loom A
Passport to Adventure A
The Secret of Monkey Island A
Monkey Island 2: LeChuck's Revenge A
Indiana Jones and the Fate of Atlantis A
Day of the Tentacle A
Sam & Max Hit the Road A Some slowdown in a few scenes
when MP3 audio is enabled
Bear Stormin' (DOS) A
Fatty Bear's Birthday Surprise (DOS) A
Fatty Bear's Fun Pack (DOS) A
Putt-Putt's Fun Pack (DOS) A
Putt-Putt Goes to the Moon (DOS) A
Putt-Putt Joins the Parade (DOS) A Can sometimes crash due to low memory
Beneath a Steel Sky B
Flight of the Amazon Queen B
Simon the Sorcerer 1 C Zoomed view does not follow the
speaking character
Simon the Sorcerer 2 C Zoomed view does not follow the
speaking character
Elvira 1 C
Elvira 2 C
Waxworks (Amiga version) C
Gobliiins D
Gobliins 2 D
Goblins 3 D
Fascination D This game is untested on the DS
Ween: The Prophecy D
Bargon Attack D
Lost in Time D
Future Wars D
All Sierra AGI games.
For a complete list, see this page
D
Inherit the Earth E
The Legend of Kyrandia F Zoomed view does not follow the
speaking character
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
------------------------------------------------------------------------
ScummVM DS is a part of the ScummVM project. The ScummVM project is an
attempt to re-engineer many classic point and click adventure games of the
80s and 90s to run on modern computer hardware. Technology has changed a
lot since these games were written, and so ScummVM attempts to replicate the
gameplay of the original games in exacting details, without any of the original
code that the game ran on. ScummVM needs a copy of the original game, in order
to take the graphics, sound, and scripts that made the game work.
ScummVM is written in such a way that it can be 'ported' from one type of
machine to another, and ScummVM DS is a port of ScummVM to the Nintendo DS
handheld games console.
Features
------------------------------------------------------------------------
* Runs nearly all of Lucasarts' SCUMM games up to and including Sam
& Max Hit the Road
* Runs many non-Lucasarts point-and-click adventures too
* Supports sound
* Provides a GUI to change settings and choose games
* Supports using the DS touch screen for controls
* Suports saving games to compatible flash cards
* All games run at pretty much full speed
Which games are compatible with ScummVM DS?
------------------------------------------------------------------------
I'm glad you asked. Here is a list of the compatible games in version
1.2.1. 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
authors, Revolution Software . This is a
great thing and we should support Revolution for being so kind to us.
You can download the game data from the official ScummVM download page
.
The other games on this list are commercial, and still under copyright,
which means downloading them without paying for it is illegal. You can
probably find a second-hand copy on eBay. Please don't email me to ask
for a copy, as I am unable to send it to you.
Game Build Notes
Manic Mansion A
Zak McKracken and the Alien Mindbenders A
Indiana Jones and the Last Crusade A
Loom A
Passport to Adventure A
The Secret of Monkey Island A
Monkey Island 2: LeChuck's Revenge A
Indiana Jones and the Fate of Atlantis A
Day of the Tentacle A
Sam & Max Hit the Road A Some slowdown in a few scenes
when MP3 audio is enabled
Bear Stormin' (DOS) A
Fatty Bear's Birthday Surprise (DOS) A
Fatty Bear's Fun Pack (DOS) A
Putt-Putt's Fun Pack (DOS) A
Putt-Putt Goes to the Moon (DOS) A
Putt-Putt Joins the Parade (DOS) A Can sometimes crash due to low memory
Beneath a Steel Sky B
Flight of the Amazon Queen B
Simon the Sorcerer 1 C Zoomed view does not follow the
speaking character
Simon the Sorcerer 2 C Zoomed view does not follow the
speaking character
Elvira 1 C
Elvira 2 C
Waxworks (Amiga version) C
Gobliiins D
Gobliins 2 D
Goblins 3 D
Fascination D This game is untested on the DS
Ween: The Prophecy D
Bargon Attack D
Lost in Time D
Future Wars D
All Sierra AGI games.
For a complete list, see this page
D
Inherit the Earth E
The Legend of Kyrandia F Zoomed view does not follow the
speaking character
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