Archive: WinAMP style skinned installer?


WinAMP style skinned installer?
Let me start off by saying I've been truly amazed at this piece of software that NSIS has become. I have been using it for.. gee getting close to a year now, and first used it for the now defunct Action Unreal Tournament, and now Im using it for the post-apoc halflife mod The Wastes(i wont pimp the link here, but you can check my profile for it).

Using nullsoft's excellent installer as a base I proposed to the team that I make the simple task of installing our game just as sensory intensive as our game. So when you install our game instead of the rag tag normal install that most people will find; We want to tell the story of our mod while you install the game.

So far i have linked up FMOD to the installer and can launch songs from the installer, the next two stages include a slideshow style background, and a skinned user interface, ala WinAMP, and hence, the title of my post ;)

While I'm not a C/C++ newbie, I am not well fluent in Win32 coding, and truly am clueless on where to start to make a skinned user interface; so i come to ask you guys for guidance :)

Any help will be duly appreciated,
Josh


Couldn't you create a Flash MX Executible that ran right when the Installation started? That way, it would cover the installation window and it would have music and it would tell the story as well as give it animation. Just an idea.

But the idea for creating a Winamp-style would just make the installer much bigger because the bitmaps would have to intercept the exehead that would NOT be compressed.

Now, I know what you might think, but the Flash file can be compressed more and it is no more than 500K for 100 Mins of stuff (w/out audio), and 2.5M for 30 Mins of stuff (with audio). It can be compressed using bzip2 and it would work.

-Duane


I plan to compress the .bmp's then extract to a temp directory when i create the window.

as far as flash, i am just learning win32; i really dont want to learn another tool :\


It is not that simple. Let me inform you about how NSIS works.

NSIS has a exehead, or overhead, that contains the installer info. Usually this is 4-5 KB in size. That is added to the program files that you wish to install, like seen as in below.


----------------------------
| Head with installer info | <= 4-5Kb
----------------------------
| |
| |
| Program files |
| |
| |
----------------------------


If you were to add a .bmp file (which is usually 250K for 1 file because it is uncompressed and NSIS would require *possibly* 4 or 5 because you would need 1 per dialog.) it would make the header Extremely Huge and you don't want that for a Half-Life mod.

Skinning is a good idea, but it would take up more space and developers who package NSIS themselves may not want to worry about skinning to make NSIS perty.

And Flash is not that hard.

-Duane

How would the exe get much bigger if i extract the bitmaps during onInit ? Im not including them in the res file; they are seperate, just like the other "Files" included through opcodes. Then i LR_LOADFROMFILE when im ready to skin.

I know about the overhead concern but am not quite sure why it would get massively bigger if im loading this from a file.


But for skinning to work, you would have to compile NSIS with the skin. Thus my Exehead picture. The Exehead holds the gui and Install info. If you want a skinned interface or gui, you would need to intercept the Exehead info for it. Also, if you were able to skin it from the way you mentioned, It would make the installer slow because it would have to extract the bitmaps and load it in to the interface. And being a gamer, I don't like to wait.

-Duane


cant wait half a second? D:

NSIS is faster than those Wise installers most Halflife mods come in, even when im extracting an ogg file to load into FMOD :\

Well, thanks anyway; im not quite sure why the installer would take 20 minutes to load unless your PC is hopeless to run the mod anyway