News: Z-Net 3 Progess

Sunday, November 11, 2012

I have begun working on Z-Net 3, but mainly just preliminary stuff. First on my list is what I expected to be the tougher challenge. I want Z-Net 3 to have a nice looking, stylish interface. None of the blandness of the zbattle style GUI. Not quite even the mIRC UI that ZN 1 and 2 had. It basically means I have to create my own skin, and before that I have to make the code support using such a skin. This means I have to use bitmaps everywhere. I've started with the frame and title bar. This part has been extremely tricky for me because it uses code and API functions that I have never had to use before, so it's all new to me. Making things more difficult is the fact that I can find zero help for doing this online. The closest topics I can find are about replacing the entire window with a simple bitmap skin, which isn't what I want and helps me very little. Such interfaces aren't resizeable. To make a resizeable interface you have to have at least 8 different bitmaps. The 4 corners, top, bottom, and both sides. I was quickly able to display the bitmaps as such, and tile or stretch them as needed when the window was resized. But I've been going in circles trying to basically get the parts of the bitmaps that I would want to be transparent and able to be clicked through to whats behind the window, to be as such. This is a necessary thing in order for the window to look attractive, else it will have to be a dull squared, 90 degree corner piece of garbage. Other programs do this, so mine should be able to as well. But for whatever reason, EVERYTHING I try fails, and there is just no help to be found yet.

Ideally, I wouldn't have to reinvent the wheel. You would think that on the net there are probably several libraries to choose from to do such a thing, that I could use in Z-Net 3, or at least use to learn my mistakes. But nope. Everything is a "pay me some ridiculous amount of money", un-freeware-friendly, piece of crap. Ive tried a few things. All in the form of a binary dll, pretty much. Some look great and do exactly what I would want, some not so much. So far only one has any hope, being USkin.dll. For a short time the company that made it offered a free version. Its not optimal. So far it looks glitchy and flickery in its demos. But atm, free is free, and maybe I can add some code to negate that stuff. But so far that doesn't want to work either, even when compiled with a simple stock demo project. The program crashes after I run it, and atm I'm unsure why.

My hope and plan for now is to just try and get USkin working, and move on for now. Ideally down the line I would hope I would figure out the issues with my own code and use that instead. But right now I'm eager to stop spinning my wheels and move on to something else. A lot of what will be in ZN3's code will be easy. Things I've done before with ZNI. So I'm less concerned with certain things, and more concerned with things such as protocol encryption, self updating software, addon support, etc. Things I haven't done much before, if at all.

If all goes well with the interface, I'll need to be looking for a artist to help design the UI. I could probably do it myself, but I'd rather not. I'm sure my UI would look good, but I'm not an artist, so it likely wouldn't look as good as it could. Once this project really gets rolling, I'll probably look for a website guy as well. It might be nice to have some team members for a change, outside of mods. But that's for a future day.


Post a Comment