Its the one with EXT_BV attribute; I'm guessing EXT_BV would stand for extra bitvector…just guessing. Like i said, I am converting smaug to rom, so that why i ask my previous statement about writing it from scratch.
Thanks. Please use the code tags as well as it makes reading the code a lot easier.
EXT_BV does indeed mean extended bitvector. My guess is that troop_data is being defined before EXT_BV has been defined. You'll need to figure out where EXT_BV is defined in your code, and make sure that the compiler sees it before troop_data.
As for writing something from scratch, it kind of depends on your coding ability, so it's hard to answer that question for you. I tend to avoid writing these things from scratch unless I feel a need to do so, e.g. because the snippet doesn't meet my requirements or has poor quality code style.