41F096 (InitItemGFX)41F0E8 (ItemPlace)41F13A (AddInitItems) #81941F24E (InitItems)41F320 (CalcPlrItemVals)41F953 (CalcPlrScrolls)41FA4A (CalcPlrStaff)41FA97 (CalcSelfItems)41FB91 (CalcPlrItemMin)41FBF6 (ItemMinStats)41FC2C (CalcPlrBookVals)41FD3E (CalcPlrInv)41FD98 (SetPlrHandItem)41FE98 (GetPlrHandSeed)41FEA4 (GetGoldSeed)41FF16 (SetPlrHandSeed)41FF19 (SetPlrHandGoldCurs)41FF4E (CreatePlrItems)4200F8 (ItemSpaceOk)4201F2 (GetItemSpace)4202E8 (GetSuperItemSpace)420376 (GetSuperItemLoc)4203E0 (CalcItemValue)42042C (GetBookSpell)420514 (GetStaffPower)4206E5 (GetStaffSpell)42084A (GetItemAttrs)420B17 (RndPL)420B28 (PLVal)420B68 (SaveItemPower)4215EF (GetItemPower)42191C (GetItemBonus)4219C1 (SetupItem)421A4B (RndItem)421B32 (RndUItem)421C2A (RndAllItems)421CB7 (RndTypeItems)421D41 (CheckUnique)421E11 (GetUniqueItem)421F5C (SpawnUnique)421FE6 (ItemRndDur)422024 (SetupAllItems)42217A (SpawnItem)422290 (CreateItem)42232B (CreateRndItem)4223D0 (SetupAllUseful)42243D (CreateRndUseful)4224A6 (CreateTypeItem)42254A (RecreateItem)42265C (RecreateEar)422795 (SpawnQuestItem)4228B1 (SpawnRock)422989 (RespawnItem)422A50 (DeleteItem)422A84 (ItemDoppel)422ADE (ProcessItems)422BB2 (FreeItemGFX)422BCF (GetItemFrm)422BF0 (GetItemStr)422C63 (CheckIdentify)422C9C (DoRepair)422CF6 (RepairItem)422D6C (DoRecharge)422DDD (RechargeItem)422E14 (PrintItemOil)422EF4 (PrintItemPower)423530 (DrawUTextBack)42358C (PrintUString)42365B (DrawULine)4236A6 (DrawUniqueInfo)4237DC (PrintItemMisc)4238D4 (PrintItemDetails)423AE1 (PrintItemDur)423CE0 (UseItem)4241D7 (StoreStatOk)42421C (SmithItemOk)424252 (RndSmithItem)4242C1 (BubbleSwapItem)4242F5 (SortSmith)424351 (SpawnSmith)424420 (PremiumItemOk)42445F (RndPremiumItem)4244C6 (SpawnOnePremium)4245A0 (SpawnPremium)42466C (WitchItemOk)4246D2 (RndWitchItem)424735 (SortWitch)424795 (WitchBookLevel)424815 (SpawnWitch)4249A4 (RndBoyItem)424A03 (SpawnBoy)424A9B (HealerItemOk)424B49 (RndHealerItem)424BAC (SortHealer)424C0C (SpawnHealer) #957424D57 (SpawnStoreGold)424D80 (RecreateSmithItem)424DD1 (RecreatePremiumItem)424E3C (RecreateBoyItem)424EA1 (RecreateWitchItem)424F52 (RecreateHealerItem)424FB8 (RecreateTownItem)42501F (RecalcStoreStats)4250C0 (ItemNoFlippy)4250EF (CreateSpellBook)4251B8 (CreateMagicArmor)4251B8 (CreateMagicWeapon)42526E (GetItemRecord)425311 (NextItemRecord)425357 (SetItemRecord)42539E (PutItemRecord)CreateMagicItem->CreateMagicArmor+CreateMagicWeapon
The remaining functions require that the data lists gets hidden from the compiler, possibly by moving them to a sperate file.
Update:
Issue solved, we should now be able to clean this file :)
Update:
Issue solved, we should now be able to clean this file :)
What of the last PRs do you mean?
I'm referring to the remaining function of this file, there are still 3 left (Qndel already fixed one)
My interest was about the "issue solved", 610580625efcbd0f394e3aa503e8a60f585abc1d
Thanks everyone for all the collaborative work!
As I already said over discord, SpawnHealer is currently bin-exact now.
I've bisected and it got bin exact after the following commit:
https://github.com/diasurgical/devilution/commit/3c0dc5f1649725be55b0676498a851a432822639
The only possible thing affecting it is existance of unused inline function in defs.h and its content also seem to matter but maybe it's just a layout in memory after all.
Anyway, I think we may close this issue for now but this function is the epitome of instability.
Nice, I was a bit surprised by the resulting drop in diff by that commit :)
Most helpful comment
As I already said over discord,
SpawnHealeris currently bin-exact now.I've bisected and it got bin exact after the following commit:
https://github.com/diasurgical/devilution/commit/3c0dc5f1649725be55b0676498a851a432822639
The only possible thing affecting it is existance of unused inline function in
defs.hand its content also seem to matter but maybe it's just a layout in memory after all.Anyway, I think we may close this issue for now but this function is the epitome of instability.