Thanks, as usual, for your work on this Yitzi.
I wanted to ask: is there a "buglist" or "bug tracker" somewhere, where people can post issues that they see with the game? That would probably be more useful to you than having a bunch of people throw bugs at you in a forum thread.
1. Another rollover error. If a player has more than x of the same unit (I strongly suspect 255), then the Design Workshop will not list the quantity correctly. This will affect the costs of mass upgrades, etc. For example, today I upgraded all 280 of my 10-12-1 defensive units for the cost of upgrading 25 of them. The variable type used to store or display this value needs upgraded.
2. The Military Nexus screen (the one that lists every unit a faction has ever had, including whether it's still operational, under production or destroyed/lost) does an atrociously bad job at tracking Lost units correctly. I haven't figured out yet what the bug is, exactly, but it gets old having the screen report that I've lost dozens of units that I actually never built.
Makes sense to me. I'd suggest we start a community one on the AC2 Wiki then, and clearly mark which bugs are fixed by which patches. Ete?I wanted to ask: is there a "buglist" or "bug tracker" somewhere, where people can post issues that they see with the game? That would probably be more useful to you than having a bunch of people throw bugs at you in a forum thread.Not as far as I know, but feel free to make one.
No problem; as soon as I found out SMACx is written in Assembly my appreciation for your, kyrub's and scient's work increased. I wouldn't think, with modern machines, that counting rather than using the variable would present a significant performance issue. And I can't imagine more than 32,767 of the same unit existing in a single game. But let me present one alternative: how about defining a second variable for every unit that counts how many "256s" of a unit exist? In my previous example, the count could have been stored as 1 (* 256) + 25 = 280. That would allow a count of up to 255 (* 256) + 255 = 65,535.Quote1. Another rollover error. If a player has more than x of the same unit (I strongly suspect 255), then the Design Workshop will not list the quantity correctly. This will affect the costs of mass upgrades, etc. For example, today I upgraded all 280 of my 10-12-1 defensive units for the cost of upgrading 25 of them. The variable type used to store or display this value needs upgraded.Unfortunately, I suspect that might not be possible in Assembly (fixing rollover errors is one of the things it's worst at), but I do have an idea for a workaround that would do the job instead. There will still be a rollover point, but it'll be a bit over 32,000 rather than 255. It might slow things down a bit, though (as it's essentially just counting units instead of using the stored value), so I'd need to test to see if it'd work (it should be feasible for upgrades, though the unit count displayed might be harder.) I also can't give any guarantees on when it'll be ready, as it'll require figuring out how unit data are stored.
I'll see what I can do! Frankly, I thought this was a common enough bug that others would chime in with "yeah, I've seen that too" when I described it. I guess not. I think it has to do with retiring custom units in the Design Workshop - i.e. if you lost 2 of the custom unit that used to take up slot #7, then the game will report it as 2 losses of the unit that currently takes up slot #7.Quote2. The Military Nexus screen (the one that lists every unit a faction has ever had, including whether it's still operational, under production or destroyed/lost) does an atrociously bad job at tracking Lost units correctly. I haven't figured out yet what the bug is, exactly, but it gets old having the screen report that I've lost dozens of units that I actually never built.I might eventually get a chance to look into it, but I'd still need a copy of a bug-producing game, i.e. a savegame where you can do something (and tell me what that something is) that increases the "lost units" report without actually losing a unit.
No problem; as soon as I found out SMACx is written in Assembly my appreciation for your, kyrub's and scient's work increased. I wouldn't think, with modern machines, that counting rather than using the variable would present a significant performance issue.
But let me present one alternative: how about defining a second variable for every unit that counts how many "256s" of a unit exist?
I should also note that this same bug exists in the Military Nexus screen.
I'll see what I can do! Frankly, I thought this was a common enough bug that others would chime in with "yeah, I've seen that too" when I described it. I guess not. I think it has to do with retiring custom units in the Design Workshop - i.e. if you lost 2 of the custom unit that used to take up slot #7, then the game will report it as 2 losses of the unit that currently takes up slot #7.Ah, if that's what's going on then it should be fairly easy to fix; note, however, that that means that you'll permanently lose the information of what losses you took on a design when you retire it.
I wanted to ask: is there a "buglist" or "bug tracker" somewhere, where people can post issues that they see with the game? That would probably be more useful to you than having a bunch of people throw bugs at you in a forum thread.Not as far as I know, but feel free to make one.
Makes sense to me. I'd suggest we start a community one on the AC2 Wiki then, and clearly mark which bugs are fixed by which patches. Ete?
If I could do that, I could simply increase the cap to 32,000+ without bothering with counting. The problem is that there's no room in the designated memory location for that.Heh, I should've known it wouldn't be THAT easy :)
Ah, if that's what's going on then it should be fairly easy to fix; note, however, that that means that you'll permanently lose the information of what losses you took on a design when you retire it.Then it's probably a call for the "community" to make. This would improve the per-unit accuracy at the expense of the faction-wide Active-Producing-Lost units count. Of course, the ideal solution (ignoring programming feasibility) would be for the Military Nexus to maintain records of ALL units, including those that have been retired. But I suspect that's difficult or even impossible. In lieu of that, a separate count of Total Lost Retired Units could be added to the "current units Lost" count to maintain the faction-wide record's accuracy. Or perhaps the faction-wide count isn't that important.
Yep, been thinking about how best to do that for a couple of days. All the good options require me setting up templates/a bit of other infrastructure. I think I have a good plan (template which adds labeled section transclusion tags and bugged category+some formatting, and a bugs page which uses LST to collect up all the bug reports, with space for ones not attached to another page. and a forum thread for discussion.), and should be able to have a system capable of bug tracking integrated with the datalinks + single page collecting up all bugs by next week. Alternatively, http://www.mediawiki.org/wiki/Extension:IssueTracker (http://www.mediawiki.org/wiki/Extension:IssueTracker) is more fancy and would allow for better tracking of past bugs, but much more complex to set up (needs sisko for adding a SQL table) and may not integrate as nicely with the datalinks.
Unfortunately, I just remembered this also causes another (much more critical) error - these counts are also used to calculate a faction's Military Power! I noticed that as soon as I produced my 256th (or 257th?) 10-12-1*4 unit, I was no longer listed as the supreme military power. The next greatest power then promptly declared Vendetta and, understandably, was crushed. So this is a bigger issue than just bad counts on different screens.
Then it's probably a call for the "community" to make. This would improve the per-unit accuracy at the expense of the faction-wide Active-Producing-Lost units count. Of course, the ideal solution (ignoring programming feasibility) would be for the Military Nexus to maintain records of ALL units, including those that have been retired. But I suspect that's difficult or even impossible.
In lieu of that, a separate count of Total Lost Retired Units could be added to the "current units Lost" count to maintain the faction-wide record's accuracy.
This discussion brings up another question - how are Upgraded units counted on these screens? Are they counted as "Lost" under the former design, or simply moved from the "Active" count of the old design to the new one?
I'm at work so I'm trying to remember off the top of my head...but at least the bottom left corner of the Military Nexus, and perhaps the final score and other screens, shows the total Active-Producing-Lost units count for an entire faction. For example, my University was listed as something like 395-47-56 in the file where I noticed the problem. This appears to be a simple summation of all the units on the Military Nexus screen.In lieu of that, a separate count of Total Lost Retired Units could be added to the "current units Lost" count to maintain the faction-wide record's accuracy.Depending on how "total units lost" is stored, that may be possible. Where does the game show "total units lost"?
Sure; I'll let you know.QuoteThis discussion brings up another question - how are Upgraded units counted on these screens? Are they counted as "Lost" under the former design, or simply moved from the "Active" count of the old design to the new one?I don't know; want to test it?
Does the .exe change ForcedOldVoxel or Direct Draw?