for global consts, it is basically nothing more than adding this to `game` class:
sLong game::GetGlobalConst (cfestring &name) {
auto it = GlobalValueMap.find(name);
if (it == GlobalValueMap.end()) ABORT("Global constant '%s' not found!", name.CStr());
return it->second;
}
and then replacing various defines in "ivandef.h" with it, like:
/* old: #define ELPURI_CAVE 1 */
#define ELPURI_CAVE (game::GetGlobalConst("ELPURI_CAVE"))
you may need to replace several switches with `if`s too.
as for `'MustBeRemovedFromBone()`, see these commits:
http://repo.or.cz/k8-i-v-a-n.git/commit/73891ad66d8e339ffef3...
http://repo.or.cz/k8-i-v-a-n.git/commit/51f0feccf887bd97e1a5...
>k8ivan is on a git repository eh? Is it possible to do some git magic to merge things from another repo into GitHub?
i don't think that you will be able to simply merge my changes. first, my coding style is greatly differs from original one, so textual merges will definitely fail. second, my codebase has completely different file layout. third, i did alot of changes in various parts, including felib. not enough to prevent manual patch porting, but enough to confuse git automation. that's why i'm not simply attaching patches to comm. fork — it is impossible to automate this. sorry.
p.s.: i wonder why you didn't took my fork as a base. ok, ok, i never explained what i did with it, so it may be a little confusing. but it has much better modularization ("one file per entity" layout, for example), and reinstantiate windows support was really easy back then. but alas, that ship was sailed. tbh, i never really wanted to "go my own way", but that ship was sailed too. %-)