Updating Old Apps? WZCK, Pie Slicer, et al.

Discuss the future of Warzone 2100 with us.
User avatar
Goth Zagog-Thou
Regular
Regular
Posts: 1582
Joined: 06 Jan 2007, 08:08
Location: Delta Base
Contact:

Re: Updating Old Apps? WZCK, Pie Slicer, et al.

Post by Goth Zagog-Thou »

1) A highly modified Xubuntu 11.10, custom kernel (removed extra drivers) based on 3.0 .. it's nice and fast.
2) WinXP, because it's the most cooperative and all my old software runs on it
3) Windows 8 64-bit because (apparently) I like to torture myself. :lol2: And yes, you can get around Metro and the screen font settings "lockout"
User avatar
Stratadrake
Trained
Trained
Posts: 197
Joined: 07 Sep 2008, 09:43
Location: Pacific NW
Contact:

Re: Updating Old Apps? WZCK, Pie Slicer, et al.

Post by Stratadrake »

...

Well, I installed andLinux (a complete Ubuntu kernel that runs as a win32 service, which can natively run almost any Linux app) at one point just to get FontForge running. However, said version of FontForge was rather outdated, so until FF's devteam decides to finally make it a true cross-platform app, I think I'll stick with the cygwin (a Linux API layer) package that someone is devoted enough to build for it. Its version of FF is at least current....

In the meantime, Pie Slicer itself is [EDIT]finally free of all build errors. I really need to part a ton of things out into class modules, but that later. Get it running (by any means possible) first, THEN debug.

It doesn't actually start up properly, but at least it compiles. Next target: Null reference errors.
Strata @dA, @FAC
User avatar
Goth Zagog-Thou
Regular
Regular
Posts: 1582
Joined: 06 Jan 2007, 08:08
Location: Delta Base
Contact:

Re: Updating Old Apps? WZCK, Pie Slicer, et al.

Post by Goth Zagog-Thou »

I was part of the andLinux testing circle .. it had great potential but sadly the included version of the XServer was not the one that could be used for anything really interesting. Nothing GL-oriented (games, etc) really worked well on that one. The guy who ported it does make a GL-enabled one, but it's donationware and caused a REALLY big stink a few years ago. It was never the same after that.

Since then, andLinux work has essentially stopped. Sad, because there was a LOT of integration work underway that most people didn't know about. I was working on a shell replacement (and remember this was 2006-2007) during my AeroShell and aShell days that allowed one to launch andLinux and Win32 apps seamlessly. The interface was something special, and I put a lot of work into it -- but ultimately it never got used.

I suggest that you connect an old (40-60gb) hard drive and install something like Xubuntu or Debian Wheezy to dev with. :D
User avatar
Stratadrake
Trained
Trained
Posts: 197
Joined: 07 Sep 2008, 09:43
Location: Pacific NW
Contact:

Re: Updating Old Apps? WZCK, Pie Slicer, et al.

Post by Stratadrake »

Anyway, now that I'm archiving Pie Slicer's source on SourceForge, I need someone to confirm whether I've properly archived all of the project files or not. I told SVN to ignore a few directories, but I'm still new to Visual Studio so that might be a breaking decision I need to revert (like, immediately). Goth, you have VS2010 -- can you download Pie Slicer's source from the SVN repo and tell me what's missing?

I'm also unclear on how to store the app files. Heck, I'm unclear on how to do a lot of things in VS2010....

It's also time to download a DirectX SDK and start poring over its help files/tutorials again. Half a gig. Wow. That brings back memories ... no way was I downloading that back in the days of dial-up.

In other news, I like how the MSDN Help article on VB's "End" statement says that certain contexts can make it fail and throw an exception. Seriously. A command that if it works, your application terminates suddenly, and if it fails . . . your application terminates suddenly? The only difference being that the IDE (if you're running inside it) will catch the latter case.
Strata @dA, @FAC
User avatar
Goth Zagog-Thou
Regular
Regular
Posts: 1582
Joined: 06 Jan 2007, 08:08
Location: Delta Base
Contact:

Re: Updating Old Apps? WZCK, Pie Slicer, et al.

Post by Goth Zagog-Thou »

Stratadrake wrote:Anyway, now that I'm archiving Pie Slicer's source on SourceForge, I need someone to confirm whether I've properly archived all of the project files or not. I told SVN to ignore a few directories, but I'm still new to Visual Studio so that might be a breaking decision I need to revert (like, immediately). Goth, you have VS2010 -- can you download Pie Slicer's source from the SVN repo and tell me what's missing?
Yes I can. I need the repo link. PM me with it (if you want to keep it private for the time being), or post it. Up to you how we proceed.

You want me to check and make sure it builds without errors, right?
User avatar
Stratadrake
Trained
Trained
Posts: 197
Joined: 07 Sep 2008, 09:43
Location: Pacific NW
Contact:

Re: Updating Old Apps? WZCK, Pie Slicer, et al.

Post by Stratadrake »

...and make sure it builds without errors, right?
:lol: *dies laughing*
One thing at a time - first see if the project file loads in VS2010 at all without errors.

Right now I'm trying to diagnose misfiring events.
Strata @dA, @FAC
User avatar
Goth Zagog-Thou
Regular
Regular
Posts: 1582
Joined: 06 Jan 2007, 08:08
Location: Delta Base
Contact:

Re: Updating Old Apps? WZCK, Pie Slicer, et al.

Post by Goth Zagog-Thou »

Sure thing. Let me know when it's ready. I'm on XP and VS is ready to go. :)
User avatar
Stratadrake
Trained
Trained
Posts: 197
Joined: 07 Sep 2008, 09:43
Location: Pacific NW
Contact:

Re: Updating Old Apps? WZCK, Pie Slicer, et al.

Post by Stratadrake »

Define "ready"?

For now it is on the SourceForge SVN repo that LA set up the other day.

Today I have been coding all. day. long. I can almost get Pie Slicer to actually finish its startup procedure and load the interface. However I'm having some trouble with using VB's default form instances feature, so I'm also attempting to migrate that to actual object instances.
Strata @dA, @FAC
User avatar
Goth Zagog-Thou
Regular
Regular
Posts: 1582
Joined: 06 Jan 2007, 08:08
Location: Delta Base
Contact:

Re: Updating Old Apps? WZCK, Pie Slicer, et al.

Post by Goth Zagog-Thou »

Okay bud. I'll give it a whirl later on today, after I've had some sleep.
User avatar
Stratadrake
Trained
Trained
Posts: 197
Joined: 07 Sep 2008, 09:43
Location: Pacific NW
Contact:

Re: Updating Old Apps? WZCK, Pie Slicer, et al.

Post by Stratadrake »

I'll probably have another commit up by then.

Seriously, I think WZCK will be easier to migrate than Pie Slicer, because the only real issue to deal with is control arrays and event handlers. I just discovered another huge thing that was not migrated: Toolbar buttons used to be part of the toolbar's "Collection" property (accessed via index or key), now they are distinct controls inside the toolbar container, so every single time Pie Slicer has to reference them by key, it throws an exception. Well not always, but I do have several switch blocks where the default case throws a Debug warning. The best way to deal with them is to eliminate the control array objects entirely (VB.Compatibility.ControlArray.* clases are deprecated anyway, and throw a compiler warning) and re-fix the code.

There's also the issue of DirectX integration. I installed the up-to-date DirectX SDK but VS2010 can't seem to find them at all. VB is not quite like C where you can just arbitrarily reference/import libraries ... you can reference functions in external DLL's easy enough, but you also have to reference class types and so on. DirectX 7 and 8 had a type library DLL to specifically accommodate VB, but "that was then".
Strata @dA, @FAC
User avatar
Goth Zagog-Thou
Regular
Regular
Posts: 1582
Joined: 06 Jan 2007, 08:08
Location: Delta Base
Contact:

Re: Updating Old Apps? WZCK, Pie Slicer, et al.

Post by Goth Zagog-Thou »

I see. Well, I'm sure you'll get it all sorted out quickly. You're in a far better position to determine what needs to happen where and how it needs to go. I'd probably report issues that you already are two levels past. :lol2:
User avatar
Stratadrake
Trained
Trained
Posts: 197
Joined: 07 Sep 2008, 09:43
Location: Pacific NW
Contact:

Re: Updating Old Apps? WZCK, Pie Slicer, et al.

Post by Stratadrake »

Speaking of which, one of the big issues that I need to totally reorganize is that I need to totally rethink Pie Slicer's internal rendering architecture. Ideally all rendering should be performed in a Paint event, but Pie Slicer has always utilized backbuffers to minimize the amount of actual draw calls that it needs to perform. But take a look at the formMain.picMain_MouseMove event - an absolute mess of manual redraw calls all in one procedure. There is (er, was) also a solitary routine formMain.Redraw which organized the most common rendering methods into a single method using bitflags to determine what actually needs to be redrawn at a given time. Now with VB.Net you can force a control to be repainted by calling ->Invalidate() on it, but the repainting doesn't actually proceed until returning to the main event loop so I moved that into the picMain.Paint event. I can still draw all over the backbuffers, but the final blit to the visible surface is delayed until the actual repaint event fires. And at this point I realize I need to part out all the "tools" (as in, the ones that render to the surface before use) to separate classes with their own rendering methods....

The good news is that Pie Slicer finally finishes its startup routine without crashing. Now the *REAL* debugging can begin.
Attachments
Well, Pie Slicer has DEFINITELY seen better days than this....
Well, Pie Slicer has DEFINITELY seen better days than this....
Strata @dA, @FAC
User avatar
Stratadrake
Trained
Trained
Posts: 197
Joined: 07 Sep 2008, 09:43
Location: Pacific NW
Contact:

Re: Updating Old Apps? WZCK, Pie Slicer, et al.

Post by Stratadrake »

I still haven't got even the basic grid display running ... seems to be throwing some trouble with creating Pie Slicer's backbuffers. Took awhile but I think I figured it out - I have to wait for the form to finish loading and be visible before attempting to allocate them. So I moved the initialization out of the form's Load event into the picbox's Paint event.

Now I can resize and move the window without throwing an exception somewhere -- but I still don't have enough confidence to try doing anything else yet. The first thing is to make sure that the main pic resizes and repaints itself correctly....

But I also located the .Net libraries for DirectX 9. Cool, I may even be able to remove the DX7 reference now.

But it also looks like I have to step the project back to .Net framework 3.5, because the .Net-compatible DirectX library was built on the .Net 1.1 framework, and there is apparently no way in hell to make .Net 4.0 load it.
Strata @dA, @FAC
User avatar
Stratadrake
Trained
Trained
Posts: 197
Joined: 07 Sep 2008, 09:43
Location: Pacific NW
Contact:

Re: Updating Old Apps? WZCK, Pie Slicer, et al.

Post by Stratadrake »

I think I fixed Pie Slicer's geometry routines to use its new Camera object class -- and by now it's starting to actually look useful again.

Still have to fix window positioning issues and missing/broken event handlers caused by merging the Model and Master windows back together -- apparently it's no simple task to clone a menu across forms.
Attachments
Pie Slicer's current build as of today.
Pie Slicer's current build as of today.
Strata @dA, @FAC
User avatar
Goth Zagog-Thou
Regular
Regular
Posts: 1582
Joined: 06 Jan 2007, 08:08
Location: Delta Base
Contact:

Re: Updating Old Apps? WZCK, Pie Slicer, et al.

Post by Goth Zagog-Thou »

Great job so far, Strata! Thanks for all your efforts. :)
Post Reply