Jump to content


Member Since 16 Jan 2006
Offline Last Active Today, 07:08 PM

Posts I've Made

In Topic: How to I get started creating patches?

14 February 2018 - 12:55 PM

You have to be invited by the team.

In Topic: How to I get started creating patches?

04 February 2018 - 07:04 AM

I use the freeware Go assembler available here to produce the COFF files:


I wrote my own loader program in VB to convert the COFF files to the format needed by an .xml patch.

Now before you start all this, we need to address the elephant in the room.  You can't write a patch to the GPL code unless you have some idea of what the code lines do.  There are over a million lines of code in the gpl.exe and they are all in assembly language.  We don't have GPL's original source code which was probably written in C or some other high level language and then compiled to machine language.

So to have any hope of writing a patch to the code, you need a detailed explanation of the assembly code...I like to call this the roadmap.  I didn't write the roadmap...it's far too complicated for my limited programming skills and took years of reverse engineering by others to develop.

It may surprise you that only a handful of people have access to the roadmap and none, other than myself, write patches.  This information is closely held because it contains information about how to modify gpl's physics.  If someone were unscrupulous, they could use the roadmap to change constants or write patches that modified the code's logic to cheat.

One of GPL's strengths has been that the physics cannot be easily modified without some knowledge of the roadmap.

We have a small group of trusted modders now, maybe two dozen, but the vast majority don't have access to the roadmap.  I will not give out the roadmap without permission from the others who do.

I'm not saying at all that you would write patches to cheat so please don't misunderstand me.  Your interest about getting into patch madness is a good thing, you've been around GPL for long time now, and have earned a measure of trust already, but the best way to gain access to the roadmap is to work on a mod team doing other stuff for a while before being handed the secret keys to the city.  In the meantime, you could learn assembly language.  :)

This is not meant as any disrespect to you, but I think it's important for you to know what you're getting into and what you're asking for.

In Topic: How to I get started creating patches?

24 January 2018 - 02:03 PM

You're right Roman...assembly language is the way to go for fastest speed, but there is huge learning curve as you have to pay much more attention to memory usage than you do with a higher level language.  I still have problems writing a new patch as I don't fully understand the .xml file format that allocates and uses runtime memory.  Nigel did of course, but he left before I got around to learning assembly and writing patches so it's all been trial and error...mostly error.

If Nigel hadn't left, I never would have bothered and wouldn't have lost much of the last 8 years of my life trying to get silly little patches to work.  :)

I can read C and normally understand the code, but have never programmed in it so I envy you for knowing how.  I believe Nigel probably used C as his patches are much too complex to write in assembly.

Michkov, I'm not trying to discourage you from learning how to write patches, but it's a very complicated subject, there is no tutorial, and you must have a good general knowledge of how to write complex programs to start.  Then you have to be reasonably proficient in assembly language which is another hurdle to cross entirely.

Without trying to brag, I think I've already written patches that address most of GPL's biggest shortfalls...at least to some extent.  I've been reading the "wish list" that others are wanting at SRMZ, and quite honestly, there is no way that most of those wishes could ever be done as they are much too complex.  Even a professional, full time programmer would have difficulty doing that.  Unless someone comes along like Nigel who wants to spend every waking minute for the next several years working only on GPL, we will just have to be happy with what we've got.

In Topic: How to I get started creating patches?

24 January 2018 - 10:29 AM

The patches are in assembly language which is why I asked.

It took me about a year to become proficient in writing assembly language patches.  I had been programming in Visual Basic for years prior to that so already knew a good bit about writing code.

I've heard of Mathlab, Python, and Javascript, of course, but have no idea if they could be used to output assembly language code that is needed for a patch.

I think it is possible to output assembly code from C, but have never done it myself.

In Topic: How to I get started creating patches?

23 January 2018 - 07:46 PM

Michkov, do you have any programming experience and if so, which languages?