Copernicus obervatory bug

Maybe we can make a trade? Can both the Copernicus Observatory and the pollution bug go obsolete?! The pollution bug was not intentional, either...
He, he, a trade involves something for both parties ;)

Apart from a joke, no problem. The intent in OpenCiv1 is to fix both bugs.
The only thing is that I'm recently stretched too thin. And the development is slow...

Cheers :)
 
He, he, a trade involves something for both parties ;)
And the quid pro quo I proposed was to forego my extra lightbulbs from the observatory, in exchange for some vague promise that the world not end at Future Tech 64 ...a great bargain for civ1's guardian deity, Moloch, right, right? He gets to eat a fine sacrifice of Copernican lightbulbs!
 
Just found a table which defines after what technology each Wonder obsoletes :)

For curious (v .05), it's located in data segment (0x2b01) at offset 0x10fe - 0x1129 (word[], offset 0x1100 are Pyramids, 0x1102 are Hanging Gardens, etc.).
To patch Copernicus observatory obsolescence data is located at offset 0x1112, the value should be 0x3a instead of 0x7f.

Original unmodified byte data sequence: { 0xFF, 0xFF, 0x2B, 0x00, 0x14, 0x00, 0x36, 0x00, 0x0E, 0x00, 0x0D, 0x00, 0x1D, 0x00, 0x22, 0x00, 0x7F, 0x00, 0x2B, 0x00, 0x7F, 0x00, 0x0F, 0x00, 0x1B, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00, 0x7F, 0x00 }

I haven't tested if this proposed solution works, but other wonders obsolete so it should work. It just needs a test :)

Further details can be found easily in OpenCiv1 source code (Transfer-unmanaged-data-to-managed-and-code-cleanup branch, GameState.cs, Building Definitions array).

Original EXE can be patched easily, if anyone want's to play with patching details @tupi and @darkpanda come to mind ;)

Cheers

The patch is ready in my dev codebase, XML attached to this post - untested though:

Rich (BB code):
        Original bytes: FF FF 2B 00 14 00 36 00 0E 00 0D 00 1D 00 22 00 7F 00 2B 00 7F 00 0F 00 1B 00 7F 00 7F 00 7F 00 7F 00 7F 00 7F 00 7F 00 7F 00 7F 00 
         Patched bytes: FF FF 2B 00 14 00 36 00 0E 00 0D 00 1D 00 22 00 7F 00 2B 00 3A 00 0F 00 1B 00 7F 00 7F 00 7F 00 7F 00 7F 00 7F 00 7F 00 7F 00 7F 00 
        Offsets:
            EN47401: 0x25A92
            EN47403: 0x25144
            EN47404: 0x2514A
            EN47405: 0x2595E
            EN47501: 0x25A92
            FR47405: 0x267A8
 

Attachments

Top Bottom