
Tue Apr 03, 2012 10:29 am
The only people you could get onboard this project are OHR users who are also Java programmers. Unless maybe it's some specific component that has nothing to do with the OHR and could be reused, such as, say, some code for tinting fixed-palette graphics.
Reuse existing code and libraries. The OHR uses almost none because historically it couldn't, it's still a slight pain to interface, and generally we've already labouriously written everything required from scratch. Definitely don't do this. If you want a fancy RELOAD tree browser don't write one from scratch unless it's your idea of a good time; repurpose an XML tree browser. Rementioning OHRRPGCE FMF.
By the way, I have a suggestion. If I were going to rewrite Custom in some new language, I would not create classes for storing heroes, items, etc. (OK, the exceptions would be maps and graphics -- map layers and graphics should be 'primitives'.) Instead, I would store everything in trees of dynamically typed data, even stuff read from and saved to non-RELOAD data formats. Memory and performance don't matter. Having done that, I'd focus on supporting editedit menu definitions (or more likely, an extension, with some automatic conversion tools), since that's sooo much easier when you have introspection. I'm assuming that Java doesn't have Python-style introspection. However this is all a very Pythonic viewpoint, and I doubt that it would work as well in Java (I imagine that you would have to write stuff like hero.data["walkabout graphic"].getBool() instead of hero.walkabout_graphic? Maybe go for hero.getBool("walkabout graphic")?) Opps, I guess this is somewhat demotivational. However, you should follow your own interests.