LiteStep Developer Journal Downloads News Archive Home Page

Contact me at :
FahimF@email.com

check out my sponsor!
ContentZone

24 October 99

I guess I have been entirely too focused on Linux recently. I had installed Linux-Mandrake and was actually preparing to do a kernel recompile this weekend to get sound working but realized that I had been putting off work on my shell for too long. So I finally decided to get a beta out as soon as possible for private testing. When I sat down to go through the code again, I realized that the break from coding had been good because I almost immediately discovered what the problem was with the window registration failing that I'd mentioned in an earlier Journal entry. The problem was one of the most elementary ones in coding <g>. I normally use something like the following when I need to register a window class:

if (!RegisterClassEx(&wc)){

   MessageBox(0, "Couldn't create Window Class!", "Error!",    MB_TOP);

   return;

}  

Now I'd copied the code snippet over to where I wanted to use it (I do a lot of cut and pasting <g>) but this time, instead of returning if the window class registration wasn't successful, I actually wanted to create a window if the class registration was successful and so I put the window creation code inside the IF loop but forgot to take the "!" out of the IF condition and there was where things went wrong :-) It was such a simple mistake but I had put away work on the shell for about two weeks because I couldn't figure it out earlier, duh :-)

Anyway, once I got that sorted out, the console did work properly though I did have to do some more code tweaking to get it to work as I wanted it to <g> In the process I discovered some sort of a problem registering a hotkey to invoke WIN+R to bring the console up and as I didn't have the time to attend to that minor annoyance, I went with CTRL+ALT+R for the moment and things were OK. I now have a really, really minimalist shell which comes up with an empty screen with nothing at all on it and where you can bring up a little console window when you type CTRL+ALT+R. Then you can type in normal executables in your path or internal !bang commands to execute them. Everything seems to work fine though I have a couple of more tweaks before I release the first private beta to a select few.

For one thing, I did a release build just now and it comes to around 670kb and that is way too much. Especially considering that the hook.dll is about 24kb and it shouldn't be more than 3-5kb! I will have to go back and do a little messing around with compiler options to find out what is wrong. For another, I have been thinking of introducing a new graphic type into the shell - RGN. Well it is not exactly a new graphics type but rather a derivative one. It is actually a region file which is actually the data for an image where a certain colour has been made transparent - like the great pink (tm) in LiteStep :-) Only thing is, this way, the transparency part is done beforehand and the file is saved as a transparent image and I am using a public doman utility that I found to do so. I will distribute the image with the shell and as the utility allows you to use any colour as the transparent one instead of just the great pink (tm) you have much more flexibility. But that's not all, as the transparency is already done, it is much less CPU intensive. There are disadvantages however too: you can't edit the RGN file and so will have to get the original BMP if you want to edit it and the transparency is true transparency and so you cannot click on any of the transparent parts.

I intend to use the RGN format first with the splash screen as a test and that is another tweak that I have to complete today before I release the shell for beta testing. Incidentally, there is a built-in !bang command named !splash, which allows you to run the splash screen any time you want to :-) Once I get all the tweaks done, the betas should be going out to the internal testers and if the response from them is favourable, I'll be releasing a public beta pretty soon. So stay tuned ...


Receive email when this page changes

Powered by NetMind

Click Here

Subscribe to The Cyber Chronicle
Nedstat Counter

Site Design by : Lowspirit