Last night I made another experimental attempt to start a CBoE Java port. I began with the PC headers, creating a PlayerCharacter class based on the existing PC class and filling in a bunch of empty methods. Then I created an interface for holding the numerous constants... After which I started filling in methods, basing my code on what I saw in the relevant C++ source file.
I got about halfway through the "kill" method before I realized I was doing something dreadfully wrong. Shortly thereafter I gave up.
Clearly I was not using the right approach. The code base is pretty dreadful to look at, and perhaps Java was not a good choice of language for the job; but it seems to me I could do better than this...
Does anyone here have experience with porting large programs from one language/paradigm to another? With refactoring big projects? What kind of techniques are usually involved? A top-down copy based on the existing program's data structures is not a good way to do this, I take it?