- Joined
- May 5, 2005
- Messages
- 8,884
Progress report, in case anyone's interested
I´m very interested in any progress in your work.
Progress report, in case anyone's interested
I simultaneously feel like a dunce, but am also really glad to know that now.I would, except Firaxis beat me to it. Already in the game you can use the stack move commands to move aircraft between cities.
I'll add the pink line thing to the list as well. My priority is gameplay bugs but I'll get around to that one eventually. Removing the unit limit is something I've had in the back of my mind since the beginning. I've been reluctant to implement it since I can't easily and properly test that it's working, but if it's something people want I'll look into it sooner rather than later.Another little (but important) fix, that is implanted in the Antal1987 4 and Tsubasanut exes, is the fix of the magenta beams in the C3C civilopedia images due to (in this case) sloppy programming by Firaxis
A good thing to implant would also be the fix of the MUA (maximum units allowed on the map) of 8192 units in C3C.
Rather than have multiple executables, my plan is to have one EXE that changes its behavior based on text configuration files. The mod already sort of works this way, NoRaze is not applied unless you edit config.txt to enable it. I've been holding off on doing a final implementation until I have a way of baking my changes into the EXE because it's easy to have a patcher just apply or not apply a patch depending on some config value but it's somewhat trickier to create a self-patching EXE.And here are some thoughts about the No-Raze patch: The No-Raze patch is a must for all C3C scenarios with fixed cities on a map. For the standard epic game on random maps it is sometimes better for the AI that it is allowed to raze cities. So it could be a good idea to have a version of the 'Flintlock patch' with the No-Raze component for scenarios and a version without the No-Raze component for the standard C3C epic game on random maps.
I had a brief look at the code, this took me back to some parts I haven't looked at since I was working on the sub bug, and I don't think it would be all that difficult to implement this restriction for the human player. Basically, there's a function that moves a unit into a neighboring tile and it depends on another function that checks if the unit in question is allowed to perform the move, and they're already set up to reject moves in some circumstances like if you try to capture a city with a worker. So I imagine it wouldn't be too hard to intercept those functions and adapt them to disallow units of a certain type to move into a city. The problem, like you guessed, would be the AI. The thing that made the submarine bug so difficult (I don't know if I said this before but it took me about two weeks to solve) is that the AI uses a very different code path to move its units from the human player, and even worse, that code is complex and hard to analyze.However, within the existing program code, it will be very difficult to implement this (in my opinion), it will require reworking the editors, and, most importantly, it is unlikely that such a change will be able to comprehend the game AI.
I had a brief look at the code, this took me back to some parts I haven't looked at since I was working on the sub bug, and I don't think it would be all that difficult to implement this restriction for the human player. Basically, there's a function that moves a unit into a neighboring tile and it depends on another function that checks if the unit in question is allowed to perform the move, and they're already set up to reject moves in some circumstances like if you try to capture a city with a worker. So I imagine it wouldn't be too hard to intercept those functions and adapt them to disallow units of a certain type to move into a city. The problem, like you guessed, would be the AI. The thing that made the submarine bug so difficult (I don't know if I said this before but it took me about two weeks to solve) is that the AI uses a very different code path to move its units from the human player, and even worse, that code is complex and hard to analyze.
If it's something people want I can implement that, but I'm holding off on that sort of thing until all the mod infrastructure is in place. Also it's interesting to note that the AI does know how to use land artillery in the field but it's only willing to do so with artillery that it's captured, not built. I've been thinking about changing that but I'm not sure whether it's actually a bug.Even if this restriction only applies to human players, it will already lead to interesting results. And for AI, this will serve as some compensation for the problem with ground bombardment and the inability to use other features, for example, the inability to use ground transporters for infantry, used in some mods.
That's good to know about hidden nationality units. I doubt that was a deliberate design choice by Firaxis, it's more likely IMO to be another case where they added a restriction to the interface then forgot to hold the AI to it as well. Other cases being the AI seeing resources it doesn't have the tech for when considering city locations, the fact that the AI can upgrade and move units on the same turn, and (so I've heard) that the AI can use scientific great leaders to rush production.Does this make any sense?