Recent Posts

Pages: [1] 2 3 ... 10
Good news! I managed to read an Outpost 2 map to memory and then save it as a new file on hard drive. It is the exact same size as the original and loads properly into Outpost 2! You can see the pull request here:

Of course this only happened because Hooman has documented the exact contents of a vol file through his own research. And he provided an example in the old mapper to follow. I just wrote it in C++11/14 style without the COM added in and probably adding my own set of blunders to the process.

I created a merge conflict as well, so this branch will need to be manually merged. I saw the conflict coming, but let it develop so I could try merging them manually using TortoiseGit. Hopefully I don't regret that decision...

The next project will be introducing the enum cellType.

MapWriter currently uses fstream to save the file. Are we interested in this being a more generic StreamWriter? If so, this would be queued behind adding the enum cellType. I'm not sure this is worth our time or not though?

Currently, the MapData class in OP2Utility fairly closely mirrors the actual content of an Outpost 2 map file. We need to decide if we want to break the file into some sort of TilesetManager as the originally mapper did. Since Outpost 2 saves all the tileset and tileGroup information straight in each map file, it is all contained in MapData. We could separate this data off into a TilesetManager instead though. I think there are pros and cons to both methods.

It is nice that MapData currently mirrors the saved map file structure and that it behaves like a map does in Outpost 2 (that the tileset and tileGroup information is embedded and could change for each loaded map). However, a mapper would probably prefer the data to be separate concerns. If they are separate concerns, the mapper will still need to understand that they are really not actually separate so when loading a new map it needs to force changing out the tilesets and tileGroups.

Projects / Re: OP2Archive Application Development
« Last post by Vagabond on Today at 11:16:49 AM »

Unfortunately how Outpost 2 consumes vol and clm files internally is beyond my knowledge. I only know a fair amount about the actual file format due to Hooman's coaching and excellent documentation. He would probably be in a better spot to answer a question like this.

OutpostHD / Status Update (April, 2018)
« Last post by leeor_net on April 22, 2018, 07:13:46 PM »
Hey forumites!

It's been a couple of weeks and I figured it was time for another update.

I've mostly finished the migration to github. I've been using Git for the code entirely and I'm slowly starting to move over the tasks from Redmine. Redmine is great and I do love it but I think using a fully integrated solution like what GitHub has to offer just makes too much sense to ignore... so that's kind of going to be a big project because there are no native tools to export tasks/issues from Redmine to GitHub... so manual copy/pasting seems to be in order. Bleh. So be it.

As far as development is concerned, I'm figuring I'll continue using Redmine for v0.7.5 (I've copied the remaining open tasks over to GitHub) so will be updating them together but moving forward I'll switch over entirely to GitHub.

Anyway, I've been committing my most recent code changes to GitHub so the SVN repository is now more of a historical archive rather than an active developer history. The biggest differences between the repositories is that the SVN repository contains all of the data whereas GitHub only contains the source code and project files. Since GitHub is operated by a 3rd party, I didn't want to upload potentially infringing copyrighted materials (graphics) from Outpost. So I removed the data directory entirely from the repository and scrubbed the history. I haven't yet decided how to keep the game resources/assets synched during development... but they're not changing much atm so perhaps I'll just do that manually (open to suggestions).

Finally, it's been slow going but I'm starting to get into a groove again. I've got the production system mostly implemented. There are a few things I still want to flesh out: robot handling with Robot Command Centers, a Warehouse Interface so that you can see what products are stored in a given warehouse (and dump them if necessary), building materials, road materials and more. It's all in there but it's very basic and you can't see it happening unless you're staring at the debugger. So I want to finish that up and tackle a few usability issues before I push out the newest version.


Migration to GitHub is mostly done, I'm moving from Redmine to GitHub's issue tracker, OPHD v0.7.5 is almost finished.
Game Discussion General / Re: Chaotic Planar Prison - Prototype V7
« Last post by leeor_net on April 22, 2018, 04:16:10 PM »
Fair enough.
Projects / Re: OP2Archive Application Development
« Last post by leeor_net on April 22, 2018, 04:15:41 PM »
VOL and ZIP are two totally different formats... if the main executable (outpost2.exe) is what loads the VOL files, changing it to load ZIP files instead would be non trivial. On the other hand, if the VOL files are loaded up by one of the various DLL's, adding ZIP support should be straight forward.

But I haven't followed along closely enough to know this (which is why I'm posing the question to Hooman/Vagabond ;)  )
Projects / Re: OP2Archive Application Development
« Last post by lordpalandus on April 22, 2018, 03:50:16 PM »
Well, as the game can load loose VOL files, I'd say it could also load zip files. Or renamed zip files.
Game Discussion General / Re: Chaotic Planar Prison - Prototype V7
« Last post by lordpalandus on April 22, 2018, 03:48:06 PM »
I plan to. Eventually. I have higher priority stuff that needs doing first though.

I'll look into providing a Binary executable when I reach Alpha Status. At that point, the game will be more of a game, rather than a modified tutorial, and thus will be worth taking the time into looking at making it more new user friendly.
Projects / Re: OP2Archive Application Development
« Last post by leeor_net on April 22, 2018, 06:07:01 AM »
What I mean is, are the VOL files absolutely required by Outpost 2 or can we modify it to instead use a standard archive format like ZIP? ZIP is simple enough to implement via zlib or similar and I use archives like that in many of my games via PhysicsFS... so it popped into my mind that maybe we could just eliminate an archaic format and replace it with a well documented and well supported one.
Computers & Programming General / Re: Merging pull requests in Git
« Last post by leeor_net on April 22, 2018, 06:03:30 AM »
If it makes you feel better, I'm in the same boat of being almost clueless with Git. It seems overly complicated with too many ways to use it but with the 'advanced' users having 'the one true way'. It's almost religious in nature (fairly typical of the community from which Git arose in the first place).

Anyway, I use Git similarly to the way I used SVN -- I just commit after each change set then push after I've completed a feature. Merge commits are fine by me as I'd personally want to preserve that history, that the change came from outside the main development branch from a fork or similar.
Projects / Re: OP2Archive Application Development
« Last post by Vagabond on April 22, 2018, 06:01:15 AM »
We have been spending a fair amount of time working on OP2Utility and commenting on the progress. If you are wanting to follow the progress closely you can subrscribe to the repo on GitHub. I'd also be happy if others want to work alongside or add constructive comments, merge requests, bug reports, etc.

I have uncommitted code that saves about 2/3rds of an Outpost 2 map to file. I've been reviewing the process by loading the created file using HxD and comparing to the original file. The last portion I need to work on is adding the TileGroups at the end of the map file. I may need some help interpreting some items in the ollydbg notes section after the next time I work on it.

No one has commented negatively on the plan to use a MapReader and MapWriter as discussed above, so I will let go with that plan in addition to adding the terrain enums to OP2Utility as suggested by Leeor.

Leeor, I wouldn't mind switching to zip files but this is beyond my skills.

You could implement the mapper without involving vol files, but it would require using a separate tpool like OP2Archive to extract the tile sets and maps for use in the mapper. I would recommend considering allowing for reading of vol files to load tile sets and maps at least. It would probably be okay to force the user to repack Vols using a separate application as you only need to do this before redistributing a new version of the game. Just my opinion here though.

Pages: [1] 2 3 ... 10