Outpost Universe Forums

Projects & Development => Projects => OutpostHD => Topic started by: leeor_net on March 23, 2017, 11:53:03 AM

Title: OutpostHD updated to NAS2D v1.3.1
Post by: leeor_net on March 23, 2017, 11:53:03 AM
Hey guys,

Been awhile since I posted anything.

I've been looking at and working on the middleware OutpostHD is built on, NAS2D. Over the last few weeks I've gone through and made a lot of changes to it and its interface. I believe it's vastly improved from where it was. Can see the current version and the updates I've made to it on the Github page here: https://github.com/lairworks/nas2d-core

I just finished committing changes to the OPHD SVN with the updated version of the NAS2D middleware and all of the code ported over. It's building properly and works very well.

Among the usual bug fixes, the changes to NAS2D include:

So yeah, lots of work went into this. And now that I have a lot more free time on my hands I can look into OPHD and my other projects a lot more. :D
Title: Re: OutpostHD updated to NAS2D v1.3.1
Post by: Vagabond on March 26, 2017, 02:43:59 AM

Sounds like a lot of improvements. Are you aware of any other projects using NAS2D outside of OutpostHD?

Title: Re: OutpostHD updated to NAS2D v1.3.1
Post by: Hooman on March 30, 2017, 01:33:11 AM
Always fun to hear what you're up to.

I'd love to hear more detail about some of the changes. Is there any piece you are particularly proud of?
Title: Re: OutpostHD updated to NAS2D v1.3.1
Post by: leeor_net on April 02, 2017, 11:39:10 PM

As far as I know, I'm the only one that really makes any use of it though I would really like to see that change. Besides OutpostHD, I'm using it with several internal projects and a map editor I recently released: http://lairworks.com/projects/landlord-tile-map-editor

Note that that map editor hasn't yet been updated to NAS2D 1.3.1 and is missing several key features supported by a forked, private version of it being used for a different project.


There are three things I'm particularly happy with:

1) I fixed some long standing bugs that I've been scratching my head over for years.
2) I rolled TinyXML directly into the NAS2D interface and gave it a _very_ much needed interface overhaul (holy crap that library is a lot larger than expected and supports far too much to really be called 'tiny' so I pulled out the unnecessary stuff and will eventually comb over the remaining code and port it over to C++11 standards)
3) I cleaned up a lot of the public interface for NAS2D and removed as much of the implementation details as I could. There are no longer external library interfaces exposed in the public headers, the namespace has been cleaned up and it just all around feels a lot better than before.