-
Posts
114 -
Joined
-
Last visited
-
Days Won
49
Content Type
Profiles
Forums
Events
Everything posted by Aaron Giles
-
There are several reasons: Like all cross-platform frameworks, SDL trades off compatibility for lowest common denominator. I can almost always tell when I'm running an SDL app because it has the "feel" of one in its UI behavior, and it just doesn't feel as polished as a natively written program. On top of that, DREAMM has a number of extra-game behaviors (e.g., the frontend, installation, etc) that fit better with the native GUI, versus writing custom UI controls and logic to run in an SDL context (though to be fair I ended up customizing a decent amount of the native Win32 controls, but that wasn't my initial plan). As a personal programming preference, I am generally framework-averse. My experience with most frameworks is that they get me 80-90% of what I want, but I spend an inordinate amount of time fighting that final 10-20%. It usually ends up being a wash, time-wise, and a net negative, frustration-wise. I also prefer writing code with minimal dependencies. As it sits today, all the code in DREAMM is 100% my own, and its only dependency is bog standard Win32. I'd call it lean & mean in general, though the template explosion from my i386 emulator makes the final product a bit of a chonk. All that being said, there is enough interest in other platforms that I will probably do an experimental port to SDL in the not-too-distant future to see how well I can make it work, and also to evaluate just how much work I'm looking at for extra-game behaviors. (And, now that you pushed me to articulate it, I will import this into the FAQ!)
-
Just dropped the last beta of DREAMM 1.0 for final testing: https://aarongiles.com/dreamm/ At this point, all the key functionality is in. If there are any remaining issues you'd like to see fixed before 1.0 is final, this is your last chance! Version:1.0b6 • Add increase/decrease video size menu items and key shortcuts (Alt-+/-). • Display selection dialog if multiple games are detected. • Always hide mouse in full screen mode, even outside of game area. • Added support for Curse of Monkey Island demos. • Allow selection of Standard/Practice/Expert modes in Loom FM Towns. • Fix audio looping in FM Towns playback (specifically Indy Crusade water pouring). • FM Towns games now exit cleanly via Ctrl+C. • Reduced target MIPS and RAM size for earlier games; fixed FM Towns at 2MB. • Fix window sizing behavior when target size is larger than the monitor size.
-
LOL, seems I forgot to remove the frontend code that blocks you from adding FM Towns versions of the games. (Works fine if you add them from the command line, as I usually do.) Quick update to 1.0b5 to remove that. https://aarongiles.com/dreamm/
-
Ok, FM Towns support is ready enough to play with. Still a couple of rough edges and uncertainties, but we'll call it 1.0b4. If you have or know someone with a real FM Towns, please help connect me. Particularly unsure of the anemic music in MI2/Indy4. Check out the 1.0b4 release here: https://aarongiles.com/dreamm/ Version:1.0b4 • Added FM Towns support for Zak/Loom/Monkey/Monkey2/Indy3/Indy4. • Improved i386 emulator to support paging (needed for FMTowns). • Added YM2612 and RF5C68 sound emulation (needed for FMTowns). • Support IMA as a file extension for floppy images. • Fix some cases where games would fail when writing save files.
-
Interesting. I'd have to dissect the scripts to see if there is any upper limit to the speed in that section or if it's just "as fast as possible." DREAMM does only minimal throttling to ~60 MIPS, which is way more juice than the game actually requires, so if the game runs that scene "as fast as possible" then it will go quite fast.
-
Hey all, thanks for giving DREAMM and try and for the great feedback so far! I've just released a new beta (1.0b3). Give it a play and let me know if it fixes any issues you encountered. Changes: • Added Hercules mode support for Maniac/Zak/SoMI. • Add integral scaling (Alt+I), on by default, which only stretches game screens horizontally by integral amounts. • Improved scaling logic to support 3x and 4x scaling in software to reduce jaggies and improve smoothness. • Improve overall smoothness of video updates. • The most recent configuration settings are now used for new games. • Report missing EXE files even when running from the command line. • Fix problems locating munt DLL when running from the frontend. • Fix long hangs/crashes in Sam & Max CD version. • Fix mouse wrapping at far edges of the screen. • Fix Unicode error when asking if you want to remove an entry. New beta here (it's linked above but links are pretty subtle here): https://aarongiles.com/dreamm/
- 61 replies
-
- 12
-
The mouse tracks movement across the actual window the same as it does any other window you're running. Those coordinates are then scaled to the screen and reported to the games. Sensitivity adjustments don't make sense in this model, because any sensitivity is controlled by your configuration in the OS. Also, if I applied a sensitivity correction, behavior would be strange as you entered/left the window because the mouse pointer wouldn't track with your system's mouse pointer. As for "smoothness", that's down to the games. They poll the mouse at their own frequency and update it as they see fit. That being said, there was an issue with DREAMM on some systems that would cause updates to be missed; hopefully this aspect is fixed in the next beta, so give it a try and let me know if it feels any better to you.
-
No, sorry. First of all, not interested in enhancements. And secondly, doing that kind of a hack is much more feasible in an interpreter-level emulator like ScummVM than it is on a machine-level emulator like DREAMM.
-
As it ships now, you are getting the raw image pixel-doubled to 640x400 or 640x480 (depending on aspect ratio correction), and then expanded by Windows GDI to the size of the window. GDI doesn't do bilinear filtering, so you will get "chunky" (nearest-neighbor) results. The only filtering you'll see today is if you enable aspect ratio correction (which is on by default). In this case, when expanding 320x200 screens to 640x480, DREAMM uses a fast and simple bilinear filter to expand each scanline, so you will see some software filtering. I just finished making some updates for the next beta that will expand/improve on this. To wit: 1. I have added an "integral scaling" option, which, when enabled, ensures that the screen is only ever stretched horizontally by an even multiple. The screen will be centered within the window at the largest even scaling factor that will fit. If aspect ratio correction is disabled, this will give you pixel-perfect scaling. 2. If aspect ratio correct is enabled, DREAMM will now internally scale up to 4x in software. This means that the vertical bilinear filtering it applies will be less apparent than it is today (since I only scale 2x before expanding). 3. I have changed the logic to stop using the internal aspect ratio correction altogether once the scale factor gets above 4x. For a 320x200 game this means that once you hit 5x (which is 1600x1200 with aspect ratio correction and gives pixel-perfect results in the correct aspect), you will no longer see any bilinear filtering at all. At this scale factor the unevenness of nearest neighbor starts to become less distracting. 4. I have hooked up epx3 and epx4 smoothing algorithms so that if you have smoothing enabled and scale to 3x or 4x you will get even more smooth graphics. I have also enabled it for CoMI if you are running high enough resolution. Beyond this, if I wanted to offer bilinear filtering, I could switch to using Direct2D for rendering, but I'm not sure I want to go there. With the above changes I'm pretty happy with the way things are presented, but we'll see what everyone thinks once the next beta is released.
-
No, that was my predecessor, Eric Johnston. He did quite a lot of Mac customization to make the games run nicely on the early Macs. I took a more straightforward "as-is" approach to porting, which I could do because Macs of my era were high-end 680x0 or PowerPC based and had better graphics options than the equivalent-era PCs. I also always felt like Mac support was on the edge of being cut 😬, so I worked hard to make sure all the games I worked on required no intervention from the original teams.
-
Yeah, those were good times. I'm a completist, so no way Maniac Mansion wasn't coming to the Mac! I knew marketing would never go back and let me do Maniac and Zak as standalone releases for the Mac, but I figured I could at least slip Maniac in through the back door. 😁 Yes, screen scraping is involved. As a result, it has some imperfections. For example, if you move the mouse around sometimes you can get it to glitch (at least for some games). And if you look at Dr. Fred's plans in the CD version of DOTT (which has no copy protection) it will still suggest options to you. But it sure made development a lot easier once it was in, because I insisted on trying to always run the true originals and not the "cracked" versions that are floating around. Ultimate talkie versions are explicitly supported. You have to build the DOS versions as explained on his site, but if you do, they run well.
-
Hi all, If you read my recent interview here, you may have caught on that I've been working hard on a new emulator that is specifically designed to run all the classic SCUMM games (DOS versions, plus Curse of Monkey Island). Well, the time has come for me to reveal more. The emulator is called "DREAMM", which is a backronym for "DOS Retro-Emulation Arena for Maniac Mansion (and other LucasArts SCUMM Games)". It's been in private beta for a couple of months and is looking pretty solid at this point. You can download the latest release and read all the documentation on the project here: https://aarongiles.com/dreamm/ At the moment, the project is Windows-only (sorry!), but it runs all the DOS versions of the games (plus CoMI) quite reliably. Give it a try, and let me know how it works for you! I'll keep an eye on this thread, plus my twitter feed (@aaronsgiles) and the official email address dreamm@aarongiles.com for feedback. Important note: you will need a complete install of the games you want to run, including the original DOS executable files. This is similar to what's needed when running the games in DOSBox. Some of the GOG versions of the games include them (DREAMM can detect this), some don't. None of the Steam releases do, sadly. 😔 But DREAMM can help you install everything from original media if you still have them! Have fun! Aaron Giles
- 61 replies
-
- 19