29.07.2010, 03:14:33
Fight 1
Saving the game status is quite a complex process as files are sequences of consecutive data whereas game objects in memory are spread all over the place. The process of flattening the relationships between unit and other game objects is called swizzling. To support swizzling to INI files instead of binary save games requires the current functions to be rewitten. Who would it benefit? INI files will be many mega bytes in size. Most likely they will be 20 times as large, or even larger. To be readable by humans, every internal field name would have to be named. For example, a timer has three fields to store data: the start time, an yet unnamed field that does something and a remaining time (12 bytes in total). To create an INI entry like this
you would need 98 bytes. Now comes a new version of Ares. The unknown field now got a name, as well as many others. The save game loading function can't find it any more (or we would still have to load the old tag). Let's say we add compatibility code for every newly named tag. What if there are new tags or old ones are obsolete? Default to some fixed value? Then the save game wouldn't represent the mod you are currently playing. Weird stuff could happen.
The amphibious structures might be hard to get right, as RA2 doesn't have the translucent water RA3 has. So the foundations on water would most likely require new building art. It would most likely change the way the game is played as it would be possible to put buildings into water and thus forcing the opponent to rely on naval and air forces.
Fight 2
I'd like to see both implemented. Yes, of course i agree that the dominator issue is more pressing and it should be solved. Currently you can set DominatorFireAtPercentage and a longer DominatorFirstAnim to create a similar effect, but that is ugly. I can understand modder wanting to have unique backgrounds and customized GUI as that is part of the mod's experience, though not integral.
For now, Dominator warning.
Saving the game status is quite a complex process as files are sequences of consecutive data whereas game objects in memory are spread all over the place. The process of flattening the relationships between unit and other game objects is called swizzling. To support swizzling to INI files instead of binary save games requires the current functions to be rewitten. Who would it benefit? INI files will be many mega bytes in size. Most likely they will be 20 times as large, or even larger. To be readable by humans, every internal field name would have to be named. For example, a timer has three fields to store data: the start time, an yet unnamed field that does something and a remaining time (12 bytes in total). To create an INI entry like this
Code:
IronCurtainTimer.Start=87654321
IronCurtainTimer.Timer.Unknown=0
IronCurtainTimer.Remaining=1234
you would need 98 bytes. Now comes a new version of Ares. The unknown field now got a name, as well as many others. The save game loading function can't find it any more (or we would still have to load the old tag). Let's say we add compatibility code for every newly named tag. What if there are new tags or old ones are obsolete? Default to some fixed value? Then the save game wouldn't represent the mod you are currently playing. Weird stuff could happen.
The amphibious structures might be hard to get right, as RA2 doesn't have the translucent water RA3 has. So the foundations on water would most likely require new building art. It would most likely change the way the game is played as it would be possible to put buildings into water and thus forcing the opponent to rely on naval and air forces.
Fight 2
I'd like to see both implemented. Yes, of course i agree that the dominator issue is more pressing and it should be solved. Currently you can set DominatorFireAtPercentage and a longer DominatorFirstAnim to create a similar effect, but that is ugly. I can understand modder wanting to have unique backgrounds and customized GUI as that is part of the mod's experience, though not integral.
For now, Dominator warning.