If it really ends with 0x80000000L, it will likely be difficult. That is the largest flag that can fit in a flag variable. My suggestion: look for an unused value earlier (for example, 0x40000000L is unassigned in the p_ptr->update set, while PU_PANEL is 0x80000000L).
I believe that TR1_* is fully assigned, but there are some free items in TR2_* and TR3_*. Similarly RF1 and RF5 seem to be full, but the other RF flags have some free elements. You should be able to replace an RF#_XXX# flag with your new item, and then tie it into the code like the other items with that same RF number.
Some sequences of definitions end with something other than 0x80000000L -- you should be able to just follow the powers-of-two pattern to add more to the end of those sequences.
Probably the most reasonable is to generate a diff between your base version (3.0.9, say) and the new base version (3.0.9b), and then try to apply that diff to your patched version. I don't know how much has changed between 3.0.9 and 3.0.9b, but it likely is small enough that you can compensate.
I dont know how you would generate (or apply) the diff on Windows, but you may have already figured that out in distributing your variant.
Kevin
I believe that TR1_* is fully assigned, but there are some free items in TR2_* and TR3_*. Similarly RF1 and RF5 seem to be full, but the other RF flags have some free elements. You should be able to replace an RF#_XXX# flag with your new item, and then tie it into the code like the other items with that same RF number.
Some sequences of definitions end with something other than 0x80000000L -- you should be able to just follow the powers-of-two pattern to add more to the end of those sequences.
I was also wondering if there was some not-too-complicated way of putting the 3.0.9b changes into DaJAngband. (I definetly won't try to get everything from 3.1.0 when it comes out, but I'd like to have the changes for 3.0.9b.)
I dont know how you would generate (or apply) the diff on Windows, but you may have already figured that out in distributing your variant.
Kevin
Comment