It’s been a long night. I attempted to create a setup package for 4DO, which by the looks of it will be using SlimDX. To start off, I sought out to install just two things: C++ 2010 runtimes and the .NET 4 framework. Little did I know that I was in for some real punishment when I decided I wanted to have a single all-encompassing “.exe”.
I started with the visual studio installer. I quickly discovered how very clumsy that worked, so I broke open Wix, which I hear good things about. It was long before I ran into a dilemma with x64 and x86 thanks to the C++ 2010 runtimes. I solved it by opting for a 32-bit and 64-bit installer, but I’m unhappy with this.
The real disillusionment came with the “built-in” visual studio bootstrapper. Why does their bootstrapper not gob everything into a single “.exe”? On top of that, why is there no option to do so? It’s not 1995 anymore, people are not installing from CD these days!
And then I found IExpress.exe to bootstrap the bootstrapper, which is an absolute joke, but I managed to get it “working”. In the end, there’s an installation for 4DO that both includes and installs the .NET 4 runtimes and the MS C++ 2010 runtimes. But, SlimDX is not yet included, and there’s still a 32-bit flavor and a 64-bit version of the installer. Also, thanks to those dependencies, the installer is 45 megs.
Ugh, what a nightmare! I am convinced that I need to start over and look into Inno or NSIS for creating a more reliable installer. I definitely would prefer to have a single installer for 32 and 64 bit.
Well, the good news is that I have made progress on the joystick support.
I personally have always hated it when the input configuration for an emulator is clunky or limited. The new input settings interface combines several features that I feel have been useful to me with other emulators:
- Multiple sets of bindings per device. You could have multiple keys or buttons bound to the same device. Later I intend to extend this to allow for binding custom keys to things like “Save State” and “Load State”.
- Visual glow to identify the button you’re mapping.
- Easy access to clear all or set all bindings in a set.
Just to be clear, it still only supports one device. I will probably release 184.108.40.206 without support for additional devices.
This is good news, but as I understand it will first transition the output graphics slimdx and only then find and fix key problems of compatibility of games.
And now as I get passwords? Password recovery does not send me a new password.
Yes, SlimDX will reduce CPU load on graphics only. I should be able to add VSync. Other than that, it will visually look about the same, except that the interpolation may look cleaner.
Game compatibility will be difficult, and is one of the later priorities of mine. This will involve bug fixes/changes to the FreeDO core. I also want to stress that it will be very difficult and slow to make progress with! I intend to wait at least until after first non-Beta release.
If you see games that 4DO does not run but FreeDO DOES run successfully, I would appreciate knowing! 🙂 This would indicate that I am somehow interfacing with the core code incorrectly.
Oh, also, I’m unsure why you don’t get “forgot password” emails. I will attempt to make a guest account of my own to see if I can re-create this.
Why not just have the installer use the internet install versions.
Perhaps you want to incluse everything in the installer for an offline install, but people will be downloading this from the internet already to begin with. If someone wanted a poratble version of this, they should install it to a flash drive from home. Perhaps I am not understanding why you want to include all the dependencies in full into the installer.
I hope you keep the zip package going though too. Id rather not use an installer for an emulator.
BTW, nice work on the joystick support. The fact that I see POV hat input correctly working is already a good sign.
I agree with the notion of using the internet install versions, now that I’ve seen just how big the installers get. I was hoping compression would somehow do a whiz-bang job and compress it down to singularity. At the moment, the crappy tools I’m using provide no clear option for the internet installers. I believe I’ll just throw out what I came up with and start anew. Besides, I absolutely hate having a 32-bit and 64-bit installer when the 4DO binaries themselves work fine on either.
I am interested to hear that you prefer the ZIP package deployments. I usually prefer them too and was debating whether or not anybody else cared. When regular installers show up, I will continue to provide the ZIP option.
I agree… I dislike installers for EMUs, or the fact that configs and everything else saves under user folders instead of the EMUs folder (portable)