MinMax Spaz

MinMax-Games.com

The water cooler of outer space
  
It is currently Tue 23 Jan, 2018 1:24 am

All times are UTC [ DST ]




Post new topic Reply to topic  [ 96 posts ]  Go to page 1, 2, 3, 4  Next
Author Message
 Post subject: A Special Saved Game for You
PostPosted: Fri 11 Nov, 2011 9:36 am 
Offline
Dart

Joined: Fri 11 Nov, 2011 9:25 am
Posts: 13
- Phase 3
- 6 Hangar Slots, all Huge
- All Tech
- All Hulls
- All Upgrades set to L8, enough points to upgrade most to 10

If you've ever wondered what it's like to command an actual fleet instead of the puny H/L/M/S you get at phase 4. Try it out.

Unzip and place the two files in "%appdata%\MinMaxGames\SpacePiratesAndZombies\b_save":

http://dl.dropbox.com/u/4964930/phase_3 ... lltech.zip


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Mon 14 Nov, 2011 1:21 am 
Offline
Shortbus

Joined: Fri 28 Oct, 2011 5:52 pm
Posts: 6
neat, thanks!


....and the modding begins!


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Mon 14 Nov, 2011 8:34 am 
Offline
Hound
User avatar

Joined: Thu 15 Sep, 2011 3:54 am
Posts: 1400
I think its a broken link unfortunately... also how'd you decompile the files in place to do this?


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Mon 14 Nov, 2011 5:41 pm 
Offline
Developer
User avatar

Joined: Fri 25 Feb, 2011 3:39 am
Posts: 1767
Beware of adding files from unknown people to your game. It is always possible that something malicious could be added though this file. The single posting of this user would make me worried as well. We hope to soon release some modding docs.


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Mon 14 Nov, 2011 6:41 pm 
Offline
Dart

Joined: Fri 11 Nov, 2011 9:25 am
Posts: 13
Very understandable concern Blorfy. Glad you pointed it out. The reason for the single post is for my own protection as it were. Despite your indie status, it's sadly not always safe to assume that devs will be perfectly OK with modding.

Great to hear that there will be modding tools released soon! Looking forward to it. In the mean time I will be posting more and more details here on my process every day or so. Eventually I'll release the source file which anyone can modify and use to their heart's content. I'd just like to milk it a bit. =)

If anyone is concerned, as Blorfy pointed out, feel free to wait until I describe the process and shortly release the source file.


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Mon 14 Nov, 2011 8:41 pm 
Offline
Dart

Joined: Fri 11 Nov, 2011 9:25 am
Posts: 13
Palandus. The link still works quite well for me. Did you happen to copy paste it instead of clicking on it? It appears the forum is shortening the visible link on the page, but the underlying HREF is still correct.


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Tue 15 Nov, 2011 3:17 am 
Offline
Dart

Joined: Fri 11 Nov, 2011 9:25 am
Posts: 13
Here's my first update. The analysis process:

After finishing the SPAZ single player, I wanted to extend the SPAZ experience with whatever means possible. I started a new game in a smaller galaxy on a harder difficulty, but to be honest the grind was a little too much. I had already gotten a little tired of it in the first play-through and didn't feel much up to doing again. So my first thought? Start cheating. =). Say what you will about cheating, but cheating is what lead to some of my favorite hacks and techniques in game modding.

I began hacking away and tried the old standby, changing in-memory variables. After a few failed attempts I came to the conclusion that Torque engine is either running a checksum or storing the variables in a non-standard/encoded way. Pretty cool, props to Torque for protecting from easy modification. This is likely meant more for multiplayer (to prevent potential cheating), but understandable either way.

Once that avenue was abandoned, I looked into saved game modification. Opening up the files in a hex editor and trying to find values to change ended up being fruitless. A little googling gave me the reason. As you can see in %appdata%\MinMaxGames\SpacePiratesAndZombies\b_save saved games are stored primarily in a ".cs.dso" file format. Googling reveals that this is a proprietary Torque compiled file format. Torque takes ".cs" files which are plaintext scripts and compiles them into .cs.dso files. Modifying the .cs.dso files cause a failed to load or corrupted save file error meaning there was again some checksum or non-standard storage format going on. What I found here will prove to be incredibly important. It appears that Torque automatically compiles .cs files into .cs.dso and can use either an existing .cs.dso or compile it into one for you.

Next thought... I highly doubt SPAZ crates the cs.dso files, they much create the script and compile it, then delete the source file. Pull out FileMon from Microsoft's SysInternals and confirmed. You can see file write operations happening on savedgame.cs, then savedgame.cs.dso, then a delete file operation on savedgame.cs. Next question, how do I get access to the .cs file or prevent it from being deleted?


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Wed 16 Nov, 2011 3:05 am 
Offline
Dart

Joined: Fri 11 Nov, 2011 9:25 am
Posts: 13
After quite a bit of research, I had nearly given up the search for a tool which would allow me to capture the deleted file. I had tried over a dozen different tools, and had read about multiple techniques which were mostly too onerous for me to implement myself. Nearly giving up, I presented the problem to an acquaintance who knows a thing or two about malware analysis. He pointed me to the tool "Capture BAT" which implements a file system driver to capture delete events and allows you to log (retrieve during deletion) the deleted file. I fired it up (in a VM because 64-bit wasn't supported) and saved a game while running the tool with the appropriate options.

Success! I managed to capture the "sg_savedgame.cs" file! I placed the file in my save directory, deleted the accompanying .cs.dso file and tried to load. Not only did it load successfully but it compiled the .cs file into a working .cs.dso file. The one you can download in my first post, in fact. Next came the step of analyzing the .cs file for interesting tidbits to modify. This proved pretty easy to do, as it is a relatively readable format. Here are the interesting bits I found:

My comments shown after the #

Code:
$LoadedStatusObject =

new ScriptObject() {
   canSaveDynamicFields = "1";
      cht = "0";
      crw = "150";  # Crew
      ddt = "0";
      diff = "3";  # Difficulty
      dt = "402388";  # Total data (if you raise your level but don't raise this to match you will have a deficit)
      lev = "200";  # Level
      msl = "2";
      rsp = "0";
      ru = "250000";  # Resources
      sidemiss = "1";
      upp = "0";  # Upgrade points
};


Pretty easy to decipher if you know the values from your own saved game. I'm sure the rest could be figured out, but those were the ones I found most interesting for modification.

After modifying these for a little while I soon got bored and continued my exploration finding this section here:

Code:
$LoadedResearchObject =

new ScriptObject() {
   canSaveDynamicFields = "10";
      dArmorResearch = "10";
      dBeamResearch = "10";
      dCloakingResearch = "10";
      dCrewResearch = "10";
      dDroneResearch = "10";
      dEngineResearch = "10";
      dHullResearch = "10";
      dMassBombResearch = "10";
      dMineResearch = "10";
      dMissileResearch = "10";
      dProjectileResearch = "10";
      dReactorResearch = "10";
      dShieldResearch = "10";
      dSubSystemResearch = "10";
      dTurretResearch = "10";
};


This allows me to set my levels without even spending upgrade points, but beware this may break some weapon requirements because the process to "activate" a weapon after its requirement has been met won't have run.


Code:
$LoadedHullData =

new ScriptObject() {
   canSaveDynamicFields = "1";
      dDeployTurretHull_Large_Basic = "0 0";
      dHull_zombie_artery = "0 0";
      dHull_zombie_eye = "0 0";
      dHull_zombie_heart = "0 0";
      dHull_zombie_hive = "0 0";
      dHullArray = "0 0";
      dHullBase_Bore = "0 0";
      dHullBase_Dredge = "0 0";
      dHullBase_Echo = "0 0";
      dHullBase_FiveStar = "0 0";
      ...
};


I can use this to activate any hull for myself. Sadly, no zombie hulls as the user interface doesn't support that.

There are similar sections for weapons/upgrades/blueprints etc. Looking further I found what is probably the most interesting section of all...

Code:
$LoadedHangarObject =

new ScriptGroup() {
   canSaveDynamicFields = "1";
   class = "HangarManager";
      currentHangarIndex = "0";
      maxHangars = "8";

   new ScriptGroup() {
      canSaveDynamicFields = "1";
      class = "hangar";
         autoRebuild = "1";
         buildTime = "2";
         currentCrew = "8";
         currentCrewRatio = "0.2";
         currentDesignIndex = "0";
         maxSize = "4";  # Max size Tiny, Small, Medium, Large, Huge (4 = huge)
         myIndex = "0";
         shipID = "224977";
         shipState = "ACTIVE";

     # Lots more stuff here with ship definitions


Basically this is the hangar and ship definition section. You'll see the max hangars is set to 8, but you only get 4 hangars in the game. By modifying the maxSize of each hangar to 4, and copy pasting the data section of the activated hangars over the deactivated hangars, I was able to activate 6, and probably up to 8, huge hangar slots.

This hangar section could probably allow you to change significant portions of the ship statistics including its physics, how many turrets (although the UI might not actually show them or allow you to modify them except in the .cs) as well as quite a bit more.


In fact, the entire file is basically the definition of every single object in the game. All galaxies, stations, ships, etc etc etc. Plenty to mess around with for ages. Simply modify the .cs file, delete the .cs.dso and load the game.


Hope you all enjoyed my description of the process. I'll be posting the .cs file for everyone's modification enjoyment tomorrow. I'm sure the SPAZ developers' modding document is highly anticipated and will describe a much better process for doing this kind of modding, but I figured I'd give everyone a bit of a head start.


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Wed 16 Nov, 2011 5:34 am 
Offline
Hound
User avatar

Joined: Thu 15 Sep, 2011 3:54 am
Posts: 1400
I wonder if this method would also work for other games where the savefiles are compiled as well...


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Wed 16 Nov, 2011 7:59 am 
Offline
Dart

Joined: Fri 11 Nov, 2011 9:25 am
Posts: 13
Anything Torque engine likely would, I'm pretty sure Torque has a standard way of saving games. I doubt many other engines/games use this method though. If they did, it would work though.


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Wed 16 Nov, 2011 8:49 pm 
Offline
Dart

Joined: Tue 01 Nov, 2011 8:24 pm
Posts: 10
I can't wait for people to add more Factions to play or something....

Oh also, Each ship should have bonus's based on your level in something...

for example +5% bonus to bomb damage per level in bombs

or another example +5% drone hp/damage per Gallente cruiser level...

and so on


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Thu 17 Nov, 2011 1:04 am 
Offline
Dart

Joined: Fri 11 Nov, 2011 9:25 am
Posts: 13
http://dl.dropbox.com/u/4964930/sg_phas ... alltech.cs

Original source file now available for your modding pleasure. Simply delete the .cs.dso file (keeping the si_ one) and it will be regenerated using this .cs file as its source.

Enjoy!


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Thu 17 Nov, 2011 9:44 pm 
Offline
Developer
User avatar

Joined: Fri 25 Feb, 2011 3:39 am
Posts: 1767
Ahh interesting process. Twiddling this numbers should be "relatively" safe, so happy fiddling. :)

The upcoming modding document will make a lot of this process obsolete since the game will be much more wide open, but I am very impressed with the effort you went to :)


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Fri 18 Nov, 2011 5:19 am 
Offline
Dart

Joined: Fri 11 Nov, 2011 9:25 am
Posts: 13
Glad to hear the modding is on its way, it's always nice seeing developer support for a modding community. I just did this for the fun of the process, being able to use 6 huge ships at once was just an enjoyable side-effect.

I'm a programmer currently working in computer security, so this type of analysis is right up my alley.


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Thu 22 Dec, 2011 2:04 am 
Offline
Shortbus

Joined: Thu 22 Dec, 2011 2:02 am
Posts: 1
i was wondering where would you place the file for the steam version? because i can't seem to find it thank you


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Thu 22 Dec, 2011 6:16 pm 
Offline
Dart

Joined: Fri 11 Nov, 2011 9:25 am
Posts: 13
The location is for the steam version.

%appdata%\MinMaxGames\SpacePiratesAndZombies\b_save
or
C:\Users\[Your Username]\AppData\Roaming\MinMaxGames\SpacePiratesAndZombies\b_save

They're both the same thing actually.


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Thu 22 Dec, 2011 6:46 pm 
Offline
Scout
User avatar

Joined: Tue 13 Sep, 2011 10:11 pm
Posts: 42
Throwaway wrote:
After quite a bit of research, I had nearly given up the search for a tool which would allow me to capture the deleted file. I had tried over a dozen different tools, and had read about multiple techniques which were mostly too onerous for me to implement myself. Nearly giving up, I presented the problem to an acquaintance who knows a thing or two about malware analysis. He pointed me to the tool "Capture BAT" which implements a file system driver to capture delete events and allows you to log (retrieve during deletion) the deleted file. I fired it up (in a VM because 64-bit wasn't supported) and saved a game while running the tool with the appropriate options.

Here is simplier way. You can disallow delete in ntfs permission for save folder.


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Sun 25 Dec, 2011 2:44 am 
Offline
Scout

Joined: Sun 25 Dec, 2011 12:59 am
Posts: 34
@Blorfy
I look forward this greatly. I think I love messing around with game engines more than I do the actual games sometimes.

@Throwaway
Good work. I had looked into the dso files myself and suspected that the game was doing something like that after checking it out with sysinternals process monitor, but never got around to figuring out how to grab the deleted file.

@conKORD
That's a great suggestion, I can't believe I didn't think of that.

For others reading that want to make things difficult and don't want to use Throwaway's easy file, here's what I did on Windows-7 64bit

(Warning: this is fairly simple, but will show you how to muck around with your OS. Anytime you muck around with your OS, something can go horrible wrong because you may not realize what you are doing. This should go without saying, but you do this at your own risk. Always have a system restore point and backups of any information you like having. Frankly you should have regular backups anyways and if you don't have a current backup, stop doing anything else and go take the short time to save everything you love. If you refuse to do this, I hate you.)


Open up any folder
Copy "%AppData%\MinMaxGames\" into the address bar
Right click on the "SpacePiratesAndZombies" folder and click properties
Click on the "Security" tab and click the "Advanced" button on the bottom.
In the "Permissions" tab, click the "Change Permissions..." button
You will see the various permission entries. My computer has one for "SYSTEM", "Administrators" and "Glarg". There should be buttons below to "Add...", "Edit..." and a greyed out "Remove".

I select the entry for "Glarg" (if you have multiple users, select the one you are currently logged in as) and click the "edit" button below.
Yet another window box pops up with only one tab, "Object"
Scroll down and in the "Deny" column place a checkmark next to "Delete subfolders and files" and "Delete" permissions. Click "OK".

You will now see a new entry in the "Permissions" tab window. It should be of type "Deny" and the name be your user account, in my case "Glarg". This will prevent the game (which does not run as administrator) from being able to delete any files.

Run SPAZ and open any savegame, and then save it. There should now be a .cs file (that is more than 1KB) in %appdata%\MinMaxGames\SpacePiratesAndZombies\b_save

If there is, save wherever you like. I made a "Spazmod" folder on the desktop, and copied it into it twice, renaming one with .bak (so I will always have the original even when I edit the other one).
Now go back and right click on "SpacePiratesAndZombies" folder and do all this again because we are going to remove the special permissions editing we just created so you don't have any mysterious problems in the future when you don't remember having done this.
Quote:
Right click on the "SpacePiratesAndZombies" folder and click properties
Click on the "Security" tab and click the "Advanced" button on the bottom.
In the "Permissions" tab, click the "Change Permissions..." button
You will see the various permission entries. My computer has one for "SYSTEM", "Administrators" and "Glarg". There should be buttons below to "Add...", "Edit..." and a greyed out "Remove".


Now select "Deny" type permission with your user account name (mine is "Glarg") and the "Remove" button should stop being greyed out. Click it to remove the permission and then click OK out of all the properties boxes you've brought up.

And now you have your own (and hopefully soon to be obsolete) file to mod. Go forth, and break the game.

If you have any questions, feel free to ask (seriously, better than trial and error), but just know that my knowledge of this stuff is basic as a result of tinkering over the years, and not near the level someone who messes with this stuff for a living.


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Mon 26 Dec, 2011 8:18 pm 
Offline
Shortbus

Joined: Mon 26 Dec, 2011 8:11 pm
Posts: 2
I installed the save file, working as intended, advanced to Chapter 4, and it's set the hangars back to 4.

Now I've tried copying in the hanger section from:

$LoadedHangarObject =

to:

$LoadedTutorialObject =

From your modified save to the resulting sg_blah.cs after I'd advanced to chapter 4. Is there any other modification you performed to get the extra 2 hangars?

After doing this cut & paste, the sg_blah.cs fails to load, and yes I've ensured the si_blah.cs is in the save folder aswell. I moved the cs.dso out.

Any help would be awesome!

Thanks


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Wed 28 Dec, 2011 9:21 am 
Offline
Dart

Joined: Fri 11 Nov, 2011 9:25 am
Posts: 13
conKORD wrote:
Throwaway wrote:
After quite a bit of research, I had nearly given up the search for a tool which would allow me to capture the deleted file. I had tried over a dozen different tools, and had read about multiple techniques which were mostly too onerous for me to implement myself. Nearly giving up, I presented the problem to an acquaintance who knows a thing or two about malware analysis. He pointed me to the tool "Capture BAT" which implements a file system driver to capture delete events and allows you to log (retrieve during deletion) the deleted file. I fired it up (in a VM because 64-bit wasn't supported) and saved a game while running the tool with the appropriate options.

Here is simplier way. You can disallow delete in ntfs permission for save folder.


Brilliant! Good show.


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Wed 28 Dec, 2011 9:23 am 
Offline
Dart

Joined: Fri 11 Nov, 2011 9:25 am
Posts: 13
Pinkbits, It's a bit more than just copy paste the existing hangers to make additional ones. You need to specifically copy pasted them OVER the disabled hangars which were already there. You can see in the .cs file that there are always 8 hangars. When you "only have 4 hangars" that's actually 4 active and 4 inactive hangars. So find the inactive ones and copy paste over those instead of going over the limit of 8.

That's also the reason why the files wasn't loading.


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Thu 29 Dec, 2011 5:15 am 
Offline
Shortbus

Joined: Mon 26 Dec, 2011 8:11 pm
Posts: 2
Cool, thanks dude, I'll give it a go.

EDIT:
If your hangar section worked, then I'm confused as to why it wouldn't work in mine. Are there hangars located in other sections of the .cs?


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Sun 15 Jan, 2012 1:28 pm 
Offline
Scout

Joined: Wed 11 Jan, 2012 6:17 pm
Posts: 40
First of all, sorry for bumping this old thread but I think following info is very relevant. I don't want to repeat any bits that others already posted but I did some digging of my own and I got some decent results. All about Specialists, AKA your own way to make the game loads easier.

Let's start with quick intro. This is how entire Specialist section begins and it's the very last data block in a .cs file. Comments after #:

Code:
$LoadedSpecialistObject =

new ScriptGroup() {
   canSaveDynamicFields = "1";

   new SpecialistDatablock() {
      canSaveDynamicFields = "1";
         myIndex = "0"; # numbers 0, 1 and 2 determine slots; -1 if specialist is not currently assigned
         specFace = "MALE M_head_03ImageMap M_eyes_04ImageMap M_mouth_05ImageMap M_nose_01ImageMap M_hair_04ImageMap 1 1 1 1"; # image set determines face image; not tested
         specLevel = "55"; # overall specialist level
         specLevelupCount = "11"; # how many levels you gained while this specialist was in use
         specLevelupProfile = "3 0 0"; # untested, not certain
         specName = "DR KIMBLE"; # displayed spec name
         specQuality = "4"; # spec quality/rarity; 0 - common, 1 - uncommon, 2 - rare, 3 - elite, 4 - godlike


Now for most important stuff - stat boosters:

Code:
      new ScriptGroup() {
         canSaveDynamicFields = "1";

         new ScriptObject() {
            canSaveDynamicFields = "1";
               cardName = "SC_HullHealth";
               value = "0.100303";
         };
         new ScriptObject() {
            canSaveDynamicFields = "1";
               cardName = "SC_Mediator";
               value = "0.163131";
         };
         new ScriptObject() {
            canSaveDynamicFields = "1";
               cardName = "SC_CannonRange";
               value = "0.0942425";
         };
      };

Above section repeats 3 times for every specialist, only differences being that boost value increases as specs reach higher ranks; they might also gain new abilities as they rank up. SC_AbilityName parts are rather self-explanatory; stat bonus names followed by detailed descriptions is how they mostly appear in-game. Mediator would be relation improve discount, HullCrew would be extra crew space, CrewConvert increases chances of recruiting crew from escape pods and so on.

Final section for a specialist which can sometimes appear right after last definition of what they do:

Code:
      new ScriptGroup() {
         canSaveDynamicFields = "1";

         new ScriptObject() {
            canSaveDynamicFields = "1";
               cardName = "SB_Colonist";
         };
      };
   };

SB_BonusName determines when a special bonus can occur. SB bonus [+33% in all cases] allows specialists to level up faster. Colonist means that spec has active bonus in colonial systems, Friendly bonus is when there is at least one other specialist active/assigned, HatesWomen bonus occurs when there are no other female specs assigned/active at the time, though you can have them available in the mothership.

Summary: it is very easy to create a godlike versatile specialist with up to 4 bonuses in each rank, allowing you to literally plow through enemies with no major hassle. Simply increase value to whatever you like [multiply by 100 to figure out boost in %; eg 0.12 would be +12%], and smash through insignificant enemies.
Useful bonus tags include:
SC_HullHealth
SC_CannonRange
SC_HullCrew
SC_DroneDamage
SC_MineDamage
SC_MissileRange
SC_ShieldStrength
SC_CannonReload
SC_Researcher
SC_EngineThrust
SC_Innocent
SC_EngineSpeed
SC_MassBombDamage
SC_CapacitorSize


Enjoy your read. I'll try to figure out more stuff and might post some more later on.


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Sun 15 Jan, 2012 2:24 pm 
Offline
Dart

Joined: Sat 10 Dec, 2011 4:30 pm
Posts: 23
Sounds complicated, I am glad the mod tools will be out soon, make the process a lot easier.


Top
 Profile  
 
 Post subject: Re: A Special Saved Game for You
PostPosted: Sun 19 Feb, 2012 6:28 pm 
Offline
Shortbus

Joined: Sun 19 Feb, 2012 6:25 pm
Posts: 1
I'm probably bumping an old thread, but I cracked open the save file myself to see what's inside, I was wondering if you could change what weapons are mounted on the ships? For instance I have 8 medium missiles on the carrier, maybe I want to switch them out with huge missiles?


Top
 Profile  
 
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 96 posts ]  Go to page 1, 2, 3, 4  Next

All times are UTC [ DST ]


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group