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

Discuss the future of Warzone 2100 with us.
Lord Apocalypse
Regular
Regular
Posts: 678
Joined: 29 Jul 2009, 18:01

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

Post by Lord Apocalypse »

Love Notepad++ :) I still have VS6 sadly though i only use it to compile WZCK, PIESlicer, etc.
crass wrote:none of these would work with this version of the game
Thank you captain obvious! Like none of us already knew that :annoyed:

Strata, I have been toying with the notion of updating the above to VB9ish or just converting them over to VC/Qt (love Qt, its been great for creating developer tools for other projects). As for IMGen, do you still have the source handy for that one? I found a copy of the exe from VB4 not sure if that was the only version or not. Also, what about ShellWDG?
User avatar
Emdek
Regular
Regular
Posts: 1329
Joined: 24 Jan 2010, 13:14
Location: Poland
Contact:

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

Post by Emdek »

I would vote for converting (or more like, rewriting from scratch) it to something cross platform, as Lord Apocalypse mentioned, Qt is probably best choice. ;-)
Nadszedł już czas, najwyższy czas, nienawiść zniszczyć w sobie.
The time has come, the high time, to destroy hatred in oneself.


Beware! Mad Qt Evangelist.
User avatar
dak180
Trained
Trained
Posts: 288
Joined: 01 Nov 2009, 23:58
Location: Keeper of the Mac Builds

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

Post by dak180 »

Stratadrake wrote: So the questions I need answers to are:
  1. Do you guys have a version repository I can submit them to? That's the biggest thing they need, because frankly they're too big for the amount of time I can give to them. Fun memories and all, but my interest in ol' Warzone is mostly historical these days.
  2. Do you guys prefer a particular license? I have no preference between, say, GPL and BSD, but obviously that needs to get clarified anyway.
Goth Zagog-Thou wrote:2.) Warzone is GPL 2, as is FlaME (the replacement for Editworld).
Goth Zagog-Thou wrote:I couldn't get GitHub to cooperate with me at all. Someone else more knowledgeable with it than I am would be more suited in that regard.
https://help.github.com/articles/set-up-git is likely a good place to start for getting your code on github and since it sounds like you are on windows http://windows.github.com/ might be something else you would want to check out.

As for a license using the same as warzone (GPLv2+) would likely be simplest, as it would mean that you would not have to worry about being able to borrow code from warzone (you can find all of the project's repos at: https://github.com/Warzone2100)
User:dak180
Keeper of the Mac Builds
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 »

Lord Apocalypse wrote:Strata, I have been toying with the notion of updating the above to VB9ish or just converting them over to VC/Qt (love Qt, its been great for creating developer tools for other projects). As for IMGen, do you still have the source handy for that one? I found a copy of the exe from VB4 not sure if that was the only version or not. Also, what about ShellWDG?
Yes, it would definitely fall into the "rewriting from scratch" category. If there's such a thing as a VB -> C translator that would be a first step. Even so, for now the steps I need to do are:

1 - Get PieSlicer executing properly on my current system (Win32 XP).
2 - Package up the source code and publish it to a repository somewhere
3 - Reinstall VB6
4 - Update it to the current graphics format (even a minor update will still be great help)
5 - ???

I did find my copy of the PictureClip OCX lying on my old hard drive (which contains a Win98 installation), so for lack of installing a systemwide copy I merely just plunked copies of PICCLP32.OCX (and its .oca counterpart just in case) into WZCK and Pie Slicer's directory ... presto, WZCK is working. Pie Slicer isn't so lucky, it's hitting an unexpected error code that did not occur five-seven years ago. Then again, PS does have a lot of complicated GUI work it has to initialize before it actually displays itself ... or maybe there's a bug in my config files ... or maybe it's something more complicated....

Or maybe I just need one of those Eureka moments. PS's startup log says it tried to load a file called "" and "loaded it successfully", then subsequently hit an error and quit - okay that's not good. Checking command-line parameters is like the very first task it has to perform. But I added an empty PIE file as a command-line parameter and ... it starts up. Now to check whether it "works" ... and holy smokes is that user interface totally dated.

Any future updates still hinge upon finding my VB6 disc - the closest I've managed to get so far is finding my original WZ2100 paper manual....

"Strategy by design" - that was a nice tagline. Still is.

-----------

Oh, yes, since I DID manage to get it operating (in any manner), here's a fresh screenshot just for sentimental value:
Attachments
Fresh screenshot of the app's main window.
Fresh screenshot of the app's main window.
Strata @dA, @FAC
User avatar
Mysteryem
Global Moderator
Global Moderator
Posts: 728
Joined: 22 Sep 2008, 19:44
Location: UK
Contact:

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

Post by Mysteryem »

While it may work fine still on XP, anything beyond that no longer works. Can't emulate XP to get it to run either, since no VMs support direct3d 7.

On Vista and 7, v082 will load up, however will crash with
Run-time error '429':
ActiveX component can't create object
When switching to the rendered view. And v112 crashes with the above error on startup.
"...If pure awesomeness were bricks, this would be the Great Wall of China...
The glory of this has collapsed on its self so far, that even the neutrons have collapsed."
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 »

Pie Slicer was an invention of necessity, really. I believe the reason I built it using DirectX 7 was because, even though I did have VB-compatible DX8 libraries handy, my graphics card driver (the one at the time) wasn't itself DX8 compliant.

And I'm still drawing a total blank on what happened to my VB6 install disc. My pre-existing (previous) VB6 installation might be made to work again if only it had all the libraries ... and the proper registry keys to prove it was a legal install (otherwise VB6 limits itself to the featureset of the "Working Model" edition).
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 »

Strata, I've found a solution for you. :)

According to this MSDN page Microsoft provides 'Express' editions of Visual Basic (and other parts of Visual Studio) for free, and that you can convert your VB 6 projects (copies, of course!) upwards to the "current"-ish VB 2010 Express.

Hope that helps ya, bud. :)
Lord Apocalypse
Regular
Regular
Posts: 678
Joined: 29 Jul 2009, 18:01

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

Post by Lord Apocalypse »

Its not that easy Goth. With the change from VB6 to VB7+ the Visual Basic code structure has changed. .NET is a whole nother beast. I have already tried converting PIE Slicer from VB6 to VB9 and it didn't work out. There is a lot of code that just move get moved over and this causes all sorts of issues.

If I remember correctly the VB form port over well enough but the code itself has a much more difficult time making the transition.

*EDIT* Forgot to mention this... in VB express editions you can't use a forms designer. Everything must be coded by hand. :annoyed:
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've been toying around with VB 2010 Express for an hour now, IN the forms designer. :D I must say it's more cooperative than MonoDevelop is.

[EDIT: Hit it too soon.] It has instructions for Converting the VB6 project to VB8, then to VB9. Hope it's a way to go .. would really bite the big one if it didn't work.

Just trying to help. :)
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 »

But as you guys might know, high-level programming suites are not cheap and a 30-day free trial simply will not cut it over the long haul. If I can't compile and test code myself then it isn't much of an option, leaving me with two alternatives - one being to find my VB6 disc, the other being to have Pie Slicer rewritten from the ground up in something C-based. Which is totally doable, but not by one person alone.
Strata @dA, @FAC
User avatar
Black Project
Regular
Regular
Posts: 745
Joined: 04 Apr 2008, 20:53

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

Post by Black Project »

Just to clarify my doubts, are you guys attempting to update these old Apps (PIE Slicer/WZCK) to make them work correctly in other operational system like Windows Vista/7, Linux, etc, right?
Lord Apocalypse
Regular
Regular
Posts: 678
Joined: 29 Jul 2009, 18:01

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

Post by Lord Apocalypse »

I think that's the plan. It would be nice to get them working for retail and 3.1 (selectable perhaps?)
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 »

If I remember correctly the VB forms port over well enough but the code itself has a much more difficult time making the transition.
The biggest ones off the top of my head (and checking this page):
  • Use of Line/Circle drawing commands (pretty much EVERYWHERE in Pie Slicer's GDI-based display routines. Definitely one of the reasons I should've ported all the rendering, and I do mean all of it, to DirectX. It was just too much work for then.)
  • Iterating through control arrays (requires implementing a class definition)
  • Gosub/Return (easy - Pie Slicer used a very few of these, only because VB6 doesn't support inline functions)
  • Variant datatypes (I tried to stick with fixed datatypes as much as possible but there may be a few lingering around)
  • Somebody please get this cat off my lap so he stops licking my fingers while I'm trying to type :lol2:
So any further Pie Slicer development has three options right now:
  1. Stick with VB6. Contingent on finding my reinstall disc, but I can still actively contribute to development from time to time. Needs a bonafide installer package, no guarantees I can get it running on anything past XP, essentially no support for Unix/Linux users. (Which wasn't a problem five years ago, but times change.)
  2. Upgrade to a newer VB language like VB.Net - requires major code refactoring (I'm probably the best person to do that, but still) and whether or not I can continue contributing it in any manner is up in the air. Also depends on what the exact license terms for VB.Net is, such as whether the free Express edition can compile actual .exe files (free editions of VB6 and down did not). Still essentially limited to Windows platforms though.
  3. Rebuild absolutely everything from the ground up using a cross-platform API. Requires deciding what API to use, I may or may not be able to contribute personally, but potentially wider dev/user pool in the long term.
I also need to know how to set up a repository for the existing code and what the starting master/branch structure should be (especially if we want it to be cross-platform).
Strata @dA, @FAC
Lord Apocalypse
Regular
Regular
Posts: 678
Joined: 29 Jul 2009, 18:01

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

Post by Lord Apocalypse »

Stratadrake wrote: So any further Pie Slicer development has three options right now:
  • Stick with VB6. Contingent on finding my reinstall disc, but I can still actively contribute to development from time to time. Needs a bonafide installer package, no guarantees I can get it running on anything past XP, essentially no support for Unix/Linux users. (Which wasn't a problem five years ago, but times change.)
  • Upgrade to a newer VB language like VB.Net - requires major code refactoring (I'm probably the best person to do that, but still) and whether or not I can continue contributing it in any manner is up in the air. Also depends on what the exact license terms for VB.Net is, such as whether the free Express edition can compile actual .exe files (free editions of VB6 and down did not). Still essentially limited to Windows platforms though.
  • Rebuild absolutely everything from the ground up using a cross-platform API. Requires deciding what API to use, I may or may not be able to contribute personally, but potentially wider dev/user pool in the long term.
  • Somebody please get this cat off my lap so he stops licking my fingers while I'm trying to type. :lol2:
I also need to know how to set up a repository for the existing code and what the starting master/branch structure should be (especially if we want it to be cross-platform).
The express edition should compile binaries. I know VC Express will compile fully functional binaries. I think the main restrictions are no commercial use of the express editions, all of it has to be non commercial. I think.. The two best non VB solutions would be to use python or Qt for GUI work though I think Qt would work out best since its C++ and can be more easily installed.

Not sure how easy it would be to port from VB.NET to Mono but that is an option. continuing in VB6 probably isn't an option. Best to have support for XP/Win 7 (and possibly win 8 which I can't stand the sight of).

As for a source repo.. have you used SVN or Git? Either of those will work. I can setup a new tools project on sourceforge for svn. Not so sure about git.. never really used it but i can try. For svn it would be trunk/toolname while git.. who knows. :stressed:
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 »

Have used SVN before. Still have a client installed, though I'm a mite too distracted to focus and work on bugfixes and commits.

Conceptually I lean towards client/server based version control. SVN is client/server, GIT is distributed (something which I have a hard time wrapping my brain around).

Personally, I give myself through the weekend to find my VB6 install disc before absolutely ruling out option #1.
Strata @dA, @FAC
Post Reply