It's winter break, Re-factoring time!

Started by Ryex, December 17, 2013, 12:38:50 am

Previous topic - Next topic

Ryex

so ya, winter break, I'll go insane without something to do.

I'v recently been exposed to a few projects and I've realized where I went wrong in a few places when I original designed the Plugin structure of ARC Welder. as the code base grows larger and gains what are effectively 100's of new plugin components I realize my original structure doesn't quite work for this much volume.

I'm restructuring the plugin system to more intelligently import plugins and make it easier to manage dependencies (I've already visited dependency hell 2-3 times on this project having to move things around and implement late binding code to get things to load.) and remove a lot of the need for boilerplate code

at the same time I've been wanting to move form python 2.7 to the python 3 branch, the new features, speed ect. are all going to be very welcome. sadly until just recently most of out libraries did not support python 3 so it wasn't an option till now.  as a mater of fact one of the really important libs (Rabbyt, handles out high performance draw engine for the map and animation editor) was pretty much dead in regards to ever supporting python 3, and it's a C extension so It's not like I could just run the python 2to3 script and it would work.
That's why I spent 6 hours today porting it to use Cython instead of Pyrex (a now dead project that Cython was based on). I was successful and now have Rabbyt running in python 3

Another problem I'm having is that our layouts file is generated raw python, it is great and all as it works, but it makes it REALLY hard to edit it at all with out regenerating the entire file. Instead I'm planning on moving to XRC (an XML representation of the basic layouts). this should also mean I can compile the editor down to C++ is less than 3 hours (that layout file genrated a 100,000+ line c++ file that took forever to compile)

over the next 2 weeks or so I'm hoping to reactor Welder and port it to Python 3 and implement the use of XRC.

yes I suppose it is another delay in it's release but I can;t work with it in the current state and these changes will help me keep track of all the parts and pieces. it should make the project easier to maintain in the long run too.
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />

Blizzard

I think what interests most people is how man hours of work left do you estimate until everything is done. xD
Check out Daygames and our games:

King of Booze 2      King of Booze: Never Ever
Drinking Game for Android      Never have I ever for Android
Drinking Game for iOS      Never have I ever for iOS


Quote from: winkioI do not speak to bricks, either as individuals or in wall form.

Quote from: Barney StinsonWhen I get sad, I stop being sad and be awesome instead. True story.

Ryex

Well, as of now we're ported to python 3. now I just had to finish the reactor.

as for how long till its done? I'v learned I really have no ability to estimate that. I'm going to update the todo list today but I'm not sure how much it will help
I no longer keep up with posts in the forum very well. If you have a question or comment, about my work, or in general I welcome PM's. if you make a post in one of my threads and I don't reply with in a day or two feel free to PM me and point it out to me.<br /><br />DropBox, the best free file syncing service there is.<br />