It already is so you'd have to take even more dramatic action to prevent such overflows, which I assumed at some point would be necessary.If you have access to the DLL you could change INT to long.
Are you sure of that? People here are talking about overflow happening at about 2x10^9 which is what you would expect from a signed 32 bit integer. A long would yield substantially larger limits.It already is so you'd have to take even more dramatic action to prevent such overflows, which I assumed at some point would be necessary.
It doesn't overflow, but steps become too large at some point as national culture climbs.Are you sure of that? People here are talking about overflow happening at about 2x10^9 which is what you would expect from a signed 32 bit integer. A long would yield substantially larger limits.
Any overflows we currently have are indeed overflow in 32 bit integers, we've converted some to 64 bit integers here and there, that doesn't mean we've converted all code spots that need it yet.Are you sure of that? People here are talking about overflow happening at about 2x10^9 which is what you would expect from a signed 32 bit integer. A long would yield substantially larger limits.
If you can be sure you don't need negative numbers you can always go all out and use unsigned long. That should give you the full 64 bits of data to work with. You just have to be sure not to get into calculations with things that actually do use negatives. But like, does anything in CIV actually use them?Any overflows we currently have are indeed overflow in 32 bit integers, we've converted some to 64 bit integers here and there, that doesn't mean we've converted all code spots that need it yet.
My deeper point is, it would only buy you another trait or two before overflowing again.Are you sure of that? People here are talking about overflow happening at about 2x10^9 which is what you would expect from a signed 32 bit integer. A long would yield substantially larger limits.
If you can be sure you don't need negative numbers you can always go all out and use unsigned long. That should give you the full 64 bits of data to work with. You just have to be sure not to get into calculations with things that actually do use negatives. But like, does anything in CIV actually use them?
Eventually it would be nicer to see a 'Greater Culture' sort of mechanism extend things to further potential instead, imo.I should add in a max level cap though, just to make overflow impossible in general.
Do capped cities contribute to national culture?This is because it internally is scaled up with 100 to reduce rounding errors.
It's imo a reasonable max cap per city, not much point in transforming it to 64 bit integer.
Yes, a city that has reached its max cap will still contribute to national culture each turn even though it discards the culture for itself.Do capped cities contribute to national culture?
That is you could just take empire-wide culture income and use it to increase national culture.