Civilization II Unlimited

Ah thx Wobbegong, I'ts better with the old good map and city layout :goodjob:

It doesn't work in Win98. :( As soon as the ToT background comes up, a fatal error pops up as well and Civ2 crashes.

Yes, I did not notice but one of system function I use does not exist in Windows 98. So I coded an alternative and installed Windows 98 as well to test it quick. Below a screenshot of how it goes :)



The only minor drawback is that the loader must remain idling in the background while the game is running (because it contains the additional memory required for the units). It will auto close once the game is closed.

I did not post new dev version because i'm currently trying other things in the current code.
 
I've completely recoded the loader. Now it will attach a small Civ2UnlimitedMGE/ToT.dll to civ2.exe. This allows the loader to close itself once its job is done and let the dll do the memory management with the game.

It works with Windows 98 too ;)

I've only attached the MGE version. I will do the ToT later after some rest :sleep:
 
The new Dev versions of the day both working in Windows 98 too.
 
My Avira AntiVir anti-virus software is telling me that the latest version is infected with a virus. It's a false positive, right? ;)
Elys said:
Below a screenshot of how it goes :)
Thankfully, it's not very often that I get to see Test of Time's sludgy default graphics.
Wobbegong said:
With some graphical modifications and menu options you can get ToT to look very similar to MGE.
The attached screenshot is from Test of Time.
 

Attachments

  • ToT_Retro.png
    ToT_Retro.png
    160.3 KB · Views: 2,340
Yes it's false positive, I guess it is triggered because of the exe memory hacking. Was it just a general antivirus warning or was there a reference to named virus :confused:
I just asked other people I gave the last files what antivirus they are using and if they got a warning, and i got replied that Norton, AVG, kaspersky and Mcafee antivirus have not triggered any false positive.

Yes ToT looks better on your screenshot :)
I have already converted Civ2 MGE Units and MGE terrains GFXs for my own use in ToT, but not the "grey" original background yet.

Yours looks nice, is it something available for download ?

Edit: nm I've clicked on your signature and found it ^_^
 
Great! It's working now (well, I didn't test all the changes, but ToT's running fine). Thanks for the effort to make it work on Win98.

Now, I'd be very pleased if you gave some sort of front-end to the loader that would allow you to check which of the changes you want to make. :mischief:

I'm not a fan of the raised time and gold limits, for example, though I can see that others might be.
 
Elys said:
Was it just a general antivirus warning or was there a reference to named virus :confused:
It's the heuristic component telling me that it's a 'virus or unwanted program'. There's no exception list for real-time memory scanning, so unless I disable AntiVir, I get bombarded with alerts whenever the file is selected or run.
Elys said:
Edit: nm I've clicked on your signature and found it ^_^
Yeah, it's just the skin in that download. If anyone wants the rest of the retro graphics, I'll post them.
Mercator said:
Now, I'd be very pleased if you gave some sort of front-end to the loader that would allow you to check which of the changes you want to make. :mischief:

I'm not a fan of the raised time and gold limits, for example, though I can see that others might be.
I'm with you in that I see both of those as cheats of sorts and I'd prefer a version without them, but I wouldn't want to be doing much more than double-clicking an icon to launch the game. That might require some kind of config file.
 
There you go:



I've made an unique loader for both games.

The ToT version has optional "CPU usage fix" (I've not made it for MGE yet)
The Global Max 32 Units is disabled because It's bugged. I will try to fix it later.

...but I wouldn't want to be doing much more than double-clicking an icon to launch the game. That might require some kind of config file.

I will add a -launch command line parameter for Civ2Unlimited.exe so you will be able to create a shortcut that directly start the game without the need for you to click [Launch] :p .
 
I've fixed the Global Max Units bug that was annoying me lastly.

I've just found a problem in MultiPlayer with the "max memory events" but i've not looked into it yet.

I'm currently trying to increase the Global Max Cities.

More later ^^
 
I've just found a problem in MultiPlayer with the "max memory events" but i've not looked into it yet.

I was wondering if there would be a problem there. Going from 32K to 200K is a bit different from starting with 100K. I'm sure they must've made some changes to accommodate the extra space in ToT.


And a little nitpick, something that bugged me about the earlier "no-limits" patch as well... The money limit is increased, but the cheat menu items related to the money still have a maximum of 30,000, I think. Or at least they're limited to a number of at most 5 digits.

And now I'm nitpicking anyway... The increased map size limit also means the start-up menu text saying the max is 10,000 is inaccurate. Since you're messing about in the Civ2 memory, would it be possible to edit the text of that dialog in memory somehow? I had a bit of a go at this myself, actually. I used a memory editor (no disassembly for me, unfortunately) and managed to locate the piece of text when it's loaded into memory when the menu comes up. But changing that in memory had no effect, so I suppose it could be the case that Civ2 simply loads it from the game text file and the changed memory would only have any effect if the dialog was redrawn or something.
 
Mercartor, I don't plan to hook text message, or dealing with the cheats menu (both for now at least).
I have something else in mind.
I'm trying for fix the bugs I'm aware of in the modifications I've made so far including the Global Max Cities.

After that I'm going to make a "scenario system", equivalent to the "rules.txt", where u could set your own values, something which could look like that:

Code:
[Options]
TimeLimit = 4000
TimeLimitWarn = 3980
GlobalMaxUnits = 800
GlobalMaxCities = 700
MaxMapSurface = 15000;

; 0000100000000000 can terraform
[Units]
1 = 0111101111111111
2
3
4
......

in a mercator.c2u file, then when you start Civ2Unlimited -ini mercator it will load mercaror.c2u and use ur own values.

So if u wanna make a scenario that use the Civ2unlimited capabilities, you just join the mercartor.c2u with other civ2 original scenarios files that contais describe.txt where you can correct the time limit message.
 


Attached are the latest dev versions :)

I've added Global Max Cities and enable Global Max Units, as well as fixing some stuff for the Events memory.:nuke:

By the way, since I've made it for both MGE and ToT, can a moderator rename the Topic to just "Civilization II Unlimited" please ?
 
Mercartor, I don't plan to hook text message, or dealing with the cheats menu (both for now at least).

No problem.

I'm trying for fix the bugs I'm aware of in the modifications I've made so far including the Global Max Cities.

I'm afraid your "Global Max Cities" is a bit too simple. It does work, at the basic level. I was able to build to build more than 255 cities, but since the savegame (and memory, I presume) still only use one byte to store the city identifier, things like unit support and caravan trade routes (I think) don't work properly for cities >255.

After that I'm going to make a "scenario system", equivalent to the "rules.txt", where u could set your own values, (...)

That sounds interesting... What sort of settings do you have in mind apart from the global raised limits? What are these flags in your example? Would they just correspond to the rules.txt (probably not), or do you have specific additions in mind?
 
Elys:

Ingenious work!

All the changes we have wanted for so long, and you have have done them almost over night.

Simply brilliant :goodjob:
 
No problem.



I'm afraid your "Global Max Cities" is a bit too simple. It does work, at the basic level. I was able to build to build more than 255 cities, but since the savegame (and memory, I presume) still only use one byte to store the city identifier, things like unit support and caravan trade routes (I think) don't work properly for cities >255.

I wish it was that simple ;) , passed a certain number of cities you get beyond static memory allocated for cities in the exe and then civ2 simply crashes while in the same overwriting other datas in memory ;) To make it work I have to allocate dynamically a larger new memory zone and then modify all the various references in the original code to match the new memory location ( for example, 2964 pointers to modify for ToT). The global max units uses the same method.

Concerning the city identifier, you're unfortunalty correct, the city identification is only one byte even in memory which makes units created in cities>255 belong to other cities. So it makes that modification useless :(

There is still a memory allocation bug with the Increase Events Memory too.

That sounds interesting... What sort of settings do you have in mind apart from the global raised limits? What are these flags in your example? Would they just correspond to the rules.txt (probably not), or do you have specific additions in mind?

No it would be additional flags not existing in rules.txt already. For example, a flag that allows an unit to be a "Worker (Civ 3 wise)" that can build road etc, but cannot build town. Or for example a flag that allow unit to do terraforming. Such things not doable in rules.txt

But for I'm recovering my enthousiam from that traitorous city flag :p
 
Ok new version for today

I have removed the "reduce cpu usage" options because the game can take a lot of time to build a new map when using it.
However If you require this feature just use the civ2.exe made by Tim. Then select your game version in [forced] mode in the loader options because Autodetect will report a bad civ2.exe since it's not the same.

The Global Max Cities is also gone since while you can create tons of cities with it, City can only have an ID between 0 and 254 which means that after that new cities will share same ID than others and create completly unwanted behaviour. Modifying Civ2 to handle more than 255 ID requires too much code hook and alteration unfortunatly. :(

I've also removed the Increase Memory Events until I fix it.

The loader now use an unique DLL for both MGE and ToT.

I've added an optional command line parameter -launch. If you use it, the loader will directly starts civ2.exe without presenting the Loader window.

And thanks to whoever changed the topic title ;)
 

Attachments

  • Civ2Unlimited_Dev.zip
    199.5 KB · Views: 3,621
Top Bottom