*

Author Topic: PiggyDump lives.....  (Read 14262 times)

Offline SaladBadger

  • Gold
  • ***
  • Posts: 602
PiggyDump lives.....
« on: May 22, 2011, 05:51:09 AM »
A long while back I began work on a editor for Descent 1 PIGfiles called "PiggyDump". It wasn't much, and it was really only capable of viewing the tablefile data. It looked a little bit like this:



I was also getting ready to port it to work with Descent II HAMFiles but after a while... It was taking so long because the code was written rather poorly, and the thing fell into obscurity. So after me getting back into classic descent I go back into time and start working on PiggyDump again. I completely restructure the code, drop the old UI for a new one, which is still in development, and add one important thing that wasn't present in the original PiggyDump -- image previews. I throw together a RLE decompresser and start working on getting an image loader in place. Here's what I have so far:



It can read any image file in the HOG archive, and it handles compressed graphics fine. I will continue development into the summer, and when I get enough the thing working, I will shift focus over to HamEdit -- While I wanted to try to  be the first to write a full-featured D1 PIGFile editor, since Descent 1 never supported patch files, it's not really useful to the casual modder. HamEdit will be more useful to anyone wanting to mod classic descent games until one of the ports defines a spec that allows you to override tablefile data in Descent 1 using .HXM files or something. HamEdit will be much the same, and it will be able to modify HAMs, HXMs, and V-HAMs.

Hopefully, I'll be able to reach my original goals, and create a new descent editing suite that can replace the entirety of Descent Manager (though I won't make a modeler... I'd look into export scripts for Blender or other favorite tools), which extends them and duplicates their functionality in a much more stable (and sane!) way. But there's still much work to do until then...

Offline NUMBERZero

  • PDPM
  • Platinum
  • *
  • Posts: 1178
  • The Flight Pattern Reader
    • YouTube
Re: PiggyDump lives.....
« Reply #1 on: May 22, 2011, 07:12:00 AM »
It it possible to modify the HUD with a different HUD and can I move around the gages and screw with the size of them? or is that hard code?
"I hate not being able to move in three dimensions. Cramps my style." -Cpt. Jack "Heartbreak One" Bartlett (Ace Combat 5)

Offline SaladBadger

  • Gold
  • ***
  • Posts: 602
Re: PiggyDump lives.....
« Reply #2 on: May 22, 2011, 07:13:06 AM »
The gague positions are hardcoded as far as I am aware, so you'd have to modify the source and recompile to adjust them.

And a look at the new UI for editing things like VClips:

« Last Edit: May 22, 2011, 10:23:02 AM by InsanityBringer »

Crash

  • Guest
Re: PiggyDump lives.....
« Reply #3 on: May 22, 2011, 01:29:21 PM »
This is pretty illuminating. That's a really good app you've got there and looking at your first screen, Descent has a huge number of variables for its weapons and ballistics etc. That's a mod-able game for you.

Offline SaladBadger

  • Gold
  • ***
  • Posts: 602
Re: PiggyDump lives.....
« Reply #4 on: May 22, 2011, 01:39:51 PM »
Heh, it'd be more moddable if you could actually override things with "patch" files (you can to a limited extent in Descent II, but only a limited amount of the tablefile data can actually  be changed), while DXX-Rebirth eventually wants to implement support for said patches in the future, currently you're only limited to just changing the default datafiles.

I imagine that the entire thing could be used to create a complete Descent TC with completely new robots, textures, weapons, and everything that isn't hardcoded right into the executable, but I don't think the D1 modding scene is live enough for people to do so :P

Offline Scyphi

  • Purple Heart
  • *****
  • Posts: 2386
  • TechPro Jr.
Re: PiggyDump lives.....
« Reply #5 on: May 23, 2011, 05:19:39 AM »
I actually kind of always liked D1 for it's lack of modability, as it forced level builders to be creative with what they got.

But I have to admit the idea of being able to mod the death out of D1 is pretty intriguing. :P
"I thought I had a great idea, but it never really took off. In fact, it didn't even get on the runway. I guess you could say it exploded in the hanger." -Calvin and Hobbes
Check out my deviantART

Offline SaladBadger

  • Gold
  • ***
  • Posts: 602
Re: PiggyDump lives.....
« Reply #6 on: May 27, 2011, 07:01:30 AM »
PiggyDump is still living, but with school ending and all, it's kinda slowing down

I'm starting to love the new PiggyDump code I've been working on. The interface for making those "browse element" buttons as well as those on the "frame" subpanel are now easily adapted to work with panels and subpanels on other pages. I don't even need to touch the events at all. I just add a few elements to an array, and tweak a function or two, add an panel update function, and they work. I also added support for "naming" elements. On panels where I can name individual elements, I present a list box with names of all known elements. And when you're picking, say, a vclip in another type of element, instead of putting an index in a textbox, a combobox with all names will be used. In the final version, the user will be able to change these and save them to config files.  Speaking of config..

I added a simple options file parser, which will hold paths for support .HOG files, and in Descent II it will also hold the current texture .PIG file. The options file parser is simplistic -- it loads elements with the following format

Code: [Select]
name=value<linebreak>
In theroy, it should work with linebreaks of all standard styles (CR, LF, CR-LF), and it stores every option read into an arraylist. Elements are then drawn out of there by name. If you want to get the palette file, a simple call to GetOptionByName("Palette") will fetch the path to the current filename. The only issue with this is that extra keys don't get dropped even if the program doesn't need them. As a result, this:

Code: [Select]
pie=delicious
heh=lol
What is the answer to life, the universe, and everything?=42
sandwiches=what
descent=yes
dumppigs=yes
keyboard=mouse

would present an entirely valid config file and every key would be kept in the file even if its value is never used. I considered adding comment support for a controlled version of this, but in a file that's going to contain nothing but the location of a palette file, five or six large arrays, and maybe a few other values, I have no reason to, really.
« Last Edit: May 27, 2011, 07:03:44 AM by InsanityBringer »

Offline SaladBadger

  • Gold
  • ***
  • Posts: 602
Re: PiggyDump lives.....
« Reply #7 on: June 10, 2011, 08:20:04 AM »
I implemented the first versions of the saving routines into PiggyDump, and PiggyDump can now write out a completely specs-compliant .PIG file for Descent 1. Two issues though:

  • The file ends up being half a meg larger. This throws off DXX-Rebirth, as it uses filesizes to determine version (there's no version info at all in the .PIG file)
  • Some sounds are messed up. The "You don't have this weapon", "Laser Level 1 Firing", and "Prox Bomb firing" sounds all are suffering slight issues. I'm probably computing offsets wrong here.

Once I get these two things resolved, I'll put up a video file showing some of the basic modifications PiggyDump is capable of right now.

EDIT: And now the offset bug is fixed, and every sound now sounds correct. Given the nature of the bug, I'm surprised that I didn't encounter even more obvious faults.
« Last Edit: June 10, 2011, 08:53:28 AM by InsanityBringer »

Offline Pumo

  • Lord PuMo, King of Torbernite
  • Gold
  • ***
  • Posts: 356
  • Fear the Hosakos!
    • Pumo Software
Re: PiggyDump lives.....
« Reply #8 on: June 10, 2011, 02:14:45 PM »
  • The file ends up being half a meg larger. This throws off DXX-Rebirth, as it uses filesizes to determine version (there's no version info at all in the .PIG file)
...

BUT, if I'm not wrong, Rebirth 0.57 version will offer support for custom modded PIG files (or PIG & HAM files in the case of D2) per-mission, independant of the main PIG file and version checks. (e.g. You can put a Descent.pig file inside your mission hog and Rebirth will read it).

So this would be great to make full-blown D1 mods! :D
Pumo Software main Website
- Pumo Mines current release: v1.1 (12 Levels)
R.a.M. Land official Website

Offline SaladBadger

  • Gold
  • ***
  • Posts: 602
Re: PiggyDump lives.....
« Reply #9 on: June 11, 2011, 12:23:43 PM »
Hmm, if that's the case everything should work nicely then. I need to work on cleaning up things though so I don't get that file size increase

Also,
a video of my latest tests

Offline Sapphirus

  • Gold
  • ***
  • Posts: 429
  • The Aura is with me!
Re: PiggyDump lives.....
« Reply #10 on: June 11, 2011, 02:15:09 PM »
Nice!
Quick question(s)-
First of all,
Will this also be a replacement for DTX1 and 2?  since the 2 DTX softwares don't run on Win7.

Secondly,
Will it have the ability to replace wav files and bitmaps with your own without the need of the DTX softwares?  For like DTX files for d1 and d2 levels and Pog files for D2.
Please respect my social media privacy (facebook, steam, twitter)

Offline SaladBadger

  • Gold
  • ***
  • Posts: 602
Re: PiggyDump lives.....
« Reply #11 on: June 11, 2011, 02:17:44 PM »
Eventually, yes. Bitmaps and sounds are loaded from the file, and at this point it's mostly just working on file importers. In order to make .POGs though, you'll have to wait until Descent II Workshop. At the rate PiggyDump is progressing, that should hopefully be coming sometime reasonable...

Offline Scyphi

  • Purple Heart
  • *****
  • Posts: 2386
  • TechPro Jr.
Re: PiggyDump lives.....
« Reply #12 on: June 12, 2011, 06:46:16 AM »
My only fear about all of this is that there are going to be too many people that sit down to mod D1 and mod it in ways that it really aren't improvements, but are just flat out annoying. Kind of like the laser effect you showed off, Insanity, only I've seen a lot worse in both D2 and D3. As I see it, people think that if they just put in a bunch of cool mods, that'll make the game, when more often than not, it doesn't. I can't tell you how many potentially good D2/D3 levels I've seen that were ruined for me because they got too carried away with mods, or just flat out weren't good mods to begin with.

Again, that's part of the reason why I like D1 so much, because it was so resistant to modding, it forced people to work harder, to be more creative, and as such, I feel D1 got some of the better custom missions because of it.

I'm not trying to sound bitter or anything like that by saying this, BTW, and I am still for it, but I suppose I just feel...threatened...by the fact that D1 might no longer be safe from this unfortunate and inherent outcome of modding. Not that it can be avoided, either, because obviously, if you're going to give the public the ability to mod, then there's no way to prevent this either...

Peh, now I'm rambling...feel free to ignore what I'm saying if you so wish...
"I thought I had a great idea, but it never really took off. In fact, it didn't even get on the runway. I guess you could say it exploded in the hanger." -Calvin and Hobbes
Check out my deviantART

Offline -<WillyP>-

  • Lt. Commander
  • Purple Heart
  • ****
  • Posts: 2375
  • I can haz personal text?
    • My photo gallery
Re: PiggyDump lives.....
« Reply #13 on: June 12, 2011, 07:17:29 AM »
You are exactly right, Scy, first in that people will make mods just because the can, and second there isn't anything you can do to prevent it. Except offer honest, constructive criticism when those inevitable levels do pop up.
Smart people look like crazy people to stupid people.

Offline SaladBadger

  • Gold
  • ***
  • Posts: 602
Re: PiggyDump lives.....
« Reply #14 on: June 12, 2011, 07:30:38 AM »
Heh, my first batch of modifications were exactly that. Once the novelty of seeking missiles that looked like proxbombs wore off, I started looking into much more serious modifications to the robots, in an attempt to rebalance them. The Defense Prototypes, for example, never struck me as anything special, so I gave them a new laser which is roughly the same as the robot lasers, but slightly faster, and went on to make other small changes to various robots to make them a bit stronger while still quite fair. It even gives the red triangle a use, a stationary crystal of some sort that fires lasers as if it was a turret. All of it makes combat with them more fast-paced, but I'm not going to demo these new mods though until I finish up a level based around them, however.

I don't believe that many will use PiggyDump as is, however, because D2X-XL already adds the ability to overhaul elements I believe using .HXMs in Descent 1 and Rebirth is about to gain the same ability. Once this happens, I will be sure to make PiggyDump capable of doing this, which will also pave the path to Descent II Workshop (which will be directly descended via PiggyDump code) in a nicer way.

 

An Error Has Occurred!

Cannot create references to/from string offsets