FunctionCodeFile
void abil_init() if (illegalArg || (checkValidMemAddr && (args[0] < 0x410010 || args[0] > 0x4FCE34))) {Modules\Scripting\Handlers\Memory.cpp
DWORD pick_death(GameObject* attacker, GameObject* target, GameObject* weapon, DWORD amount, DWORD anim, DWORD hitFromBack) DWORD animDeath = fo::func::pick_death(attacker, target, weapon, damage, animation, hitBack); // vanilla pick deathModules\HookScripts\DeathHs.cpp
void check_death() call fo::funcoffs::check_death_; // call original functionModules\HookScripts\DeathHs.cpp
void action_use_skill_on() jmp fo::funcoffs::action_use_skill_on_;Modules\HookScripts\MiscHs.cpp
void action_talk_to() jmp fo::funcoffs::action_talk_to_;Modules\PartyControl.cpp
DWORD register_begin(DWORD regType) jmp fo::funcoffs::register_begin_;Modules\Animations.cpp
jmp fo::funcoffs::register_begin_; // vanilla behaviorModules\Animations.cpp
jmp fo::funcoffs::register_begin_;Modules\BugFixes.cpp
call fo::funcoffs::register_begin_;Modules\MiscPatches.cpp
void register_clear() call fo::funcoffs::register_clear_;Modules\MiscPatches.cpp
DWORD register_end() call fo::funcoffs::register_end_;Modules\MiscPatches.cpp
DWORD register_object_animate(GameObject* object, DWORD anim, DWORD delay) call fo::funcoffs::register_object_animate_;Modules\Explosions.cpp
call fo::funcoffs::register_object_animate_;Modules\Explosions.cpp
call fo::funcoffs::register_object_animate_; // overwritten callModules\Explosions.cpp
call fo::funcoffs::register_object_animate_;Modules\MiscPatches.cpp
jmp fo::funcoffs::register_object_animate_;Modules\HookScripts\ObjectHs.cpp
fo::func::register_object_animate_and_hide(obj, animId, delay);Modules\Scripting\Handlers\Anims.cpp
DWORD register_object_animate_and_hide(GameObject* object, DWORD anim, DWORD delay) call fo::funcoffs::register_object_animate_and_hide_;Modules\Explosions.cpp
fo::func::register_object_animate_and_hide(obj, animId, delay);Modules\Scripting\Handlers\Anims.cpp
DWORD register_object_turn_towards(GameObject* object, DWORD tileNum, DWORD nothing) fo::func::register_object_turn_towards(obj, tile, nothing);Modules\Scripting\Handlers\Anims.cpp
DWORD register_object_must_erase(GameObject* object) fo::func::register_object_must_erase(obj);Modules\Scripting\Handlers\Anims.cpp
void register_object_call(DWORD* target, DWORD* source, void* func, DWORD delay) fo::func::register_object_call(Modules\Scripting\Handlers\Anims.cpp
DWORD register_object_funset(GameObject* object, DWORD action, DWORD delay) call fo::funcoffs::register_object_funset_;Modules\Explosions.cpp
DWORD register_object_change_fid(GameObject* object, DWORD artFid, DWORD delay) call fo::funcoffs::register_object_change_fid_;Modules\MiscPatches.cpp
fo::func::register_object_change_fid(obj, fid, delay);Modules\Scripting\Handlers\Anims.cpp
DWORD register_object_take_out(GameObject* object, DWORD holdFrameId, DWORD nothing) MakeJump(0x415238, register_object_take_out_hack);Modules\MiscPatches.cpp
fo::func::register_object_take_out(obj, holdFrame, nothing);Modules\Scripting\Handlers\Anims.cpp
DWORD register_object_light(GameObject* object, DWORD lightRadius, DWORD delay) call fo::funcoffs::register_object_light_;Modules\Explosions.cpp
call fo::funcoffs::register_object_light_;Modules\Explosions.cpp
call fo::funcoffs::register_object_light_;Modules\Explosions.cpp
call fo::funcoffs::register_object_light_;Modules\Explosions.cpp
fo::func::register_object_light(obj, radius, delay);Modules\Scripting\Handlers\Anims.cpp
void anim_set_end() jmp fo::funcoffs::anim_set_end_;Modules\Animations.cpp
DWORD anim_can_use_door(GameObject* source, GameObject* object) if (!fo::func::anim_can_use_door(srcObject, objBlock)) continue; // block - next rotationGame\tilemap.cpp
jmp fo::funcoffs::anim_can_use_door_;Modules\BugFixes.cpp
void make_path() fo::func::make_path_func(partyMember, partyMember->tile, underObject->tile, 0, 0, game::Tilemap::obj_path_blocking_at_) > 0)Modules\PartyControl.cpp
long pathLength = fo::func::make_path_func(objFrom, objFrom->tile, tileTo, pathData, checkFlag, (void*)func);Modules\Scripting\Handlers\Objects.cpp
DWORD make_path_func(GameObject* objectFrom, DWORD tileFrom, DWORD tileTo, char* pathDataBuffer, DWORD checkTileTo, void* blockingFunc) sf::MakeJump(fo::funcoffs::make_path_func_, make_path_func_hack_replacement); // 0x415EFCGame\tilemap.cpp
fo::func::make_path_func(partyMember, partyMember->tile, underObject->tile, 0, 0, game::Tilemap::obj_path_blocking_at_) > 0)Modules\PartyControl.cpp
long pathLength = fo::func::make_path_func(objFrom, objFrom->tile, tileTo, pathData, checkFlag, (void*)func);Modules\Scripting\Handlers\Objects.cpp
DWORD tile_idistance(DWORD sourceTile, DWORD targetTile) it->distance = fo::func::tile_idistance(sourceTile, targetTile); // maximum distanceGame\tilemap.cpp
void make_straight_path() fo::func::make_straight_path_func(object, objTile, targetTile, 0, (DWORD*)&obj, 0x20, (void*)fo::funcoffs::obj_shoot_blocking_at_);Game\AI\AIHelpers.cpp
fo::func::make_straight_path_func(attacker, attacker->tile, target->tile, 0, (DWORD*)&object, 0x20, (void*)fo::funcoffs::obj_shoot_blocking_at_);Game\AI\AIHelpers.cpp
call fo::funcoffs::make_straight_path_;Modules\MiscPatches.cpp
fo::func::make_straight_path_func(objFrom, objFrom->tile, tileTo, 0, (DWORD*)&resultObj, flag, (void*)getBlockingFunc(type));Modules\Scripting\Handlers\Objects.cpp
DWORD make_straight_path_func(GameObject* objFrom, DWORD tileFrom, DWORD tileTo, void* arrayPtr, DWORD* outObject, DWORD flags, void* blockingFunc) fo::func::make_straight_path_func(object, objTile, targetTile, 0, (DWORD*)&obj, 0x20, (void*)fo::funcoffs::obj_shoot_blocking_at_);Game\AI\AIHelpers.cpp
fo::func::make_straight_path_func(attacker, attacker->tile, target->tile, 0, (DWORD*)&object, 0x20, (void*)fo::funcoffs::obj_shoot_blocking_at_);Game\AI\AIHelpers.cpp
call fo::funcoffs::make_straight_path_func_; // overlapping if len(eax) == 0Modules\MiscPatches.cpp
fo::func::make_straight_path_func(objFrom, objFrom->tile, tileTo, 0, (DWORD*)&resultObj, flag, (void*)getBlockingFunc(type));Modules\Scripting\Handlers\Objects.cpp
void dude_stand() jmp fo::funcoffs::dude_stand_;Modules\BugFixes.cpp
void dude_standup() jmp fo::funcoffs::dude_standup_;Modules\BugFixes.cpp
jmp fo::funcoffs::dude_standup_;Modules\BugFixes.cpp
void art_init()static const functype art_init = (functype)fo::funcoffs::art_init_;Modules\Tiles.cpp
FrmHeaderData* art_ptr_lock(DWORD frmId, DWORD* lockPtr) fo::FrmHeaderData* frm = fo::func::art_ptr_lock(object->artFid, &lock);FalloutEngine\EngineUtils.cpp
auto frm = fo::func::art_ptr_lock(dialog_target->artFid, &lockPtr);HRP\Dialog.cpp
*(BYTE**)FO_VAR_dialog_red_button_up_buf = fo::func::art_ptr_lock_data(artID | 96, 0 ,0, (DWORD*)FO_VAR_dialog_red_button_up_key);Modules\BugFixes.cpp
*(BYTE**)FO_VAR_dialog_red_button_down_buf = fo::func::art_ptr_lock_data(artID | 95, 0 ,0, (DWORD*)FO_VAR_dialog_red_button_down_key);Modules\BugFixes.cpp
fo::FrmHeaderData *critFrm = fo::func::art_ptr_lock(BuildFrmId(1, critNum), &critFrmLock);Modules\HeroAppearance.cpp
BYTE *MenuUSurface = fo::func::art_ptr_lock_data(BuildFrmId(6, 299), 0, 0, &MenuUObj); // MENUUP FrmModules\HeroAppearance.cpp
BYTE *MenuDSurface = fo::func::art_ptr_lock_data(BuildFrmId(6, 300), 0, 0, &MenuDObj); // MENUDOWN FrmModules\HeroAppearance.cpp
BYTE *DidownUSurface = fo::func::art_ptr_lock_data(BuildFrmId(6, 93), 0, 0, &DidownUObj); // MENUUP FrmModules\HeroAppearance.cpp
BYTE *DidownDSurface = fo::func::art_ptr_lock_data(BuildFrmId(6, 94), 0, 0, &DidownDObj); // MENUDOWN FrmModules\HeroAppearance.cpp
BYTE *DiupUSurface = fo::func::art_ptr_lock_data(BuildFrmId(6, 100), 0, 0, &DiupUObj); // MENUUP FrmModules\HeroAppearance.cpp
BYTE *DiupDSurface = fo::func::art_ptr_lock_data(BuildFrmId(6, 101), 0, 0, &DiupDObj); // MENUDOWN FrmModules\HeroAppearance.cpp
frmSurface = fo::func::art_ptr_lock_data(BuildFrmId(6, 122), 0, 0, &frmLock); // SLUFrmModules\HeroAppearance.cpp
frmSurface = fo::func::art_ptr_lock_data(BuildFrmId(6, 123), 0, 0, &frmLock); // SLDFrmModules\HeroAppearance.cpp
frmSurface = fo::func::art_ptr_lock_data(BuildFrmId(6, 124), 0, 0, &frmLock); // SRUFrmModules\HeroAppearance.cpp
frmSurface = fo::func::art_ptr_lock_data(BuildFrmId(6, 125), 0, 0, &frmLock); // SRDFrmModules\HeroAppearance.cpp
FrmSurface = fo::func::art_ptr_lock_data(BuildFrmId(fo::OBJ_TYPE_INTRFACE, 113), 0, 0, &FrmObj); // "Use Item On" windowModules\HeroAppearance.cpp
FrmSurface = fo::func::art_ptr_lock_data(BuildFrmId(fo::OBJ_TYPE_INTRFACE, 188), 0, 0, &FrmObj);Modules\HeroAppearance.cpp
FrmMaskSurface = fo::func::art_ptr_lock_data(BuildFrmId(fo::OBJ_TYPE_INTRFACE, 187), 0, 0, &FrmMaskObj);Modules\HeroAppearance.cpp
FrmSurface = fo::func::art_ptr_lock_data(BuildFrmId(fo::OBJ_TYPE_INTRFACE, 174), 0, 0, &FrmObj); // Pickchar frmModules\HeroAppearance.cpp
*(BYTE**)buttonMem = fo::func::art_ptr_lock_data(artId, 0, 0, (DWORD*)buttonKey); // first texture memory addressModules\QuestList.cpp
DWORD art_ptr_unlock(DWORD lockId) fo::func::art_ptr_unlock(lock);FalloutEngine\EngineUtils.cpp
fo::func::art_ptr_unlock(lockPtr);HRP\Dialog.cpp
if (frm) fo::func::art_ptr_unlock(frm);Modules\Animations.cpp
call fo::funcoffs::art_ptr_unlock_;Modules\BugFixes.cpp
fo::func::art_ptr_unlock(critFrmLock);Modules\HeroAppearance.cpp
fo::func::art_ptr_unlock(MenuUObj);Modules\HeroAppearance.cpp
fo::func::art_ptr_unlock(MenuDObj);Modules\HeroAppearance.cpp
fo::func::art_ptr_unlock(DidownUObj);Modules\HeroAppearance.cpp
fo::func::art_ptr_unlock(DidownDObj);Modules\HeroAppearance.cpp
fo::func::art_ptr_unlock(DiupUObj);Modules\HeroAppearance.cpp
fo::func::art_ptr_unlock(DiupDObj);Modules\HeroAppearance.cpp
fo::func::art_ptr_unlock(frmLock);Modules\HeroAppearance.cpp
fo::func::art_ptr_unlock(frmLock);Modules\HeroAppearance.cpp
fo::func::art_ptr_unlock(frmLock);Modules\HeroAppearance.cpp
fo::func::art_ptr_unlock(frmLock);Modules\HeroAppearance.cpp
fo::func::art_ptr_unlock(FrmObj);Modules\HeroAppearance.cpp
fo::func::art_ptr_unlock(FrmObj);Modules\HeroAppearance.cpp
fo::func::art_ptr_unlock(FrmMaskObj);Modules\HeroAppearance.cpp
fo::func::art_ptr_unlock(FrmObj);Modules\HeroAppearance.cpp
void art_flush() if (flush) fo::func::art_flush();Modules\HeroAppearance.cpp
__asm call fo::funcoffs::art_flush_;Modules\Scripting\Handlers\Anims.cpp
void art_get_code() jmp fo::funcoffs::art_get_code_;Modules\MiscPatches.cpp
jmp fo::funcoffs::art_get_code_;Modules\MiscPatches.cpp
jmp fo::funcoffs::art_get_code_;Modules\MiscPatches.cpp
char* art_get_name(DWORD artFID) const char* artPathName = fo::func::art_get_name(_fid); // \art\type\file.frmModules\Scripting\Handlers\Interface.cpp
artPathName = fo::func::art_get_name(fid); // .fr#Modules\Scripting\Handlers\Interface.cpp
DWORD art_frame_width(FrmHeaderData* frm, DWORD frameNum, DWORD rotation) DWORD critWidth = fo::func::art_frame_width(critFrm, 0, charRotOri);Modules\HeroAppearance.cpp
DWORD art_frame_length(FrmHeaderData* frm, DWORD frameNum, DWORD rotation) long yOffset = fo::func::art_frame_length(frm, dialog_target->frm, dialog_target->rotation) / 2;HRP\Dialog.cpp
DWORD critHeight = fo::func::art_frame_length(critFrm, 0, charRotOri);Modules\HeroAppearance.cpp
FrmFrameData* frame_ptr(FrmHeaderData* frm, DWORD frame, DWORD direction) fo::FrmFrameData* frame = fo::func::frame_ptr((fo::FrmHeaderData*)frm, i, 0);Modules\TalkingHeads.cpp
fo::FrmFrameData* frame = fo::func::frame_ptr((fo::FrmHeaderData*)frm, frameno, 0);Modules\TalkingHeads.cpp
bool art_exists(DWORD artFid) if (!fo::func::art_exists(fId)) {Modules\PartyControl.cpp
call fo::funcoffs::art_exists_;Modules\PartyControl.cpp
ctx.setReturn(fo::func::art_exists(ctx.arg(0).rawValue()));Modules\Scripting\Handlers\Anims.cpp
void art_alias_num() jmp fo::funcoffs::art_alias_num_;Modules\HeroAppearance.cpp
void art_alias_fid() call fo::funcoffs::art_alias_fid_;Modules\LoadOrder.cpp
DWORD art_id(DWORD artType, DWORD lstIndex, DWORD animCode, DWORD weaponCode, DWORD directionCode) fid = fo::func::art_id(fo::OBJ_TYPE_CRITTER, indexNum, 0, weaponAnimCode, 0);Game\inventory.cpp
jmp fo::funcoffs::art_id_;HRP\ViewMap\ViewMap.cpp
jmp fo::funcoffs::art_id_;HRP\ViewMap\ViewMap.cpp
jmp fo::funcoffs::art_id_;HRP\ViewMap\ViewMap.cpp
critter->artFid = fo::func::art_id(fo::ObjType::OBJ_TYPE_CRITTER, critter->artFid & 0xFFF, 0, (critter->artFid & 0xF000) >> 12, critter->rotation + 1);Modules\BugFixes.cpp
jmp fo::funcoffs::art_id_;Modules\HeroAppearance.cpp
jmp fo::funcoffs::art_id_;Modules\Interface.cpp
jmp fo::funcoffs::art_id_;Modules\Interface.cpp
call fo::funcoffs::art_id_;Modules\MiscPatches.cpp
long artId = fo::func::art_id(fo::ArtType::OBJ_TYPE_INTRFACE, indexArt, 0, 0, 0);Modules\QuestList.cpp
jmp fo::funcoffs::art_id_;Modules\TalkingHeads.cpp
DWORD load_frame(char* filename, FrmFile** frmPtr) if (fo::func::load_frame(file, &frmPtr)) {Modules\Scripting\Handlers\Interface.cpp
void audioOpen() mov edx, fo::funcoffs::audioOpen_;Modules\Sound.cpp
void audioCloseFile() mov ebx, fo::funcoffs::audioCloseFile_;Modules\Sound.cpp
void audioRead() mov ecx, fo::funcoffs::audioRead_;Modules\Sound.cpp
void audioSeek() push fo::funcoffs::audioSeek_;Modules\Sound.cpp
void audioFileSize() push fo::funcoffs::audioFileSize_;Modules\Sound.cpp
void dialog_out() call fo::funcoffs::dialog_out_;FalloutEngine\Functions.cpp
call fo::funcoffs::dialog_out_; // edx - DisplayText (seconds lines)FalloutEngine\Functions.cpp
void combat_safety_invalidate_weapon() return !fo::func::combat_safety_invalidate_weapon_func(attacker, weapon, fo::AttackType::ATKTYPE_RWEAPON_SECONDARY, target, 0, 0);Modules\AI.cpp
DWORD combat_safety_invalidate_weapon_func(GameObject* source, GameObject* weapon, DWORD hitMode, GameObject* targetA, DWORD* outSafeRange, GameObject* targetB) return !fo::func::combat_safety_invalidate_weapon_func(attacker, weapon, fo::AttackType::ATKTYPE_RWEAPON_SECONDARY, target, 0, 0);Modules\AI.cpp
void combat_over() __asm jmp fo::funcoffs::combat_over_;Modules\HookScripts\CombatHs.cpp
void combat_sequence() call fo::funcoffs::combat_sequence_;Modules\HookScripts\CombatHs.cpp
void combat_turn_run() call fo::funcoffs::combat_turn_run_;Modules\BugFixes.cpp
call fo::funcoffs::combat_turn_run_;Modules\BugFixes.cpp
void combat_input() call fo::funcoffs::combat_input_;Modules\LoadGameHook.cpp
DWORD combat_turn(GameObject* critter, DWORD isDudeTurn) combatTurnResult = fo::func::combat_turn(critter, dudeBegin);Modules\HookScripts\CombatHs.cpp
void combat_should_end() call fo::funcoffs::combat_should_end_;Modules\BugFixes.cpp
void combat() return !fo::func::combat_safety_invalidate_weapon_func(attacker, weapon, fo::AttackType::ATKTYPE_RWEAPON_SECONDARY, target, 0, 0);Modules\AI.cpp
__asm call fo::funcoffs::combat_;Modules\LoadGameHook.cpp
combatTurnResult = fo::func::combat_turn(critter, dudeBegin);Modules\HookScripts\CombatHs.cpp
void combat_ctd_init() jmp fo::funcoffs::combat_ctd_init_;Modules\AI.cpp
void combat_attack() jmp fo::funcoffs::combat_attack_;Modules\AI.cpp
void attack_crit_success() call fo::funcoffs::attack_crit_success_;Modules\BugFixes.cpp
DWORD determine_to_hit(GameObject* source, GameObject* target, DWORD bodyPart, DWORD hitMode) jmp fo::funcoffs::determine_to_hit_;Modules\Combat.cpp
void determine_to_hit_func() call fo::funcoffs::determine_to_hit_func_;Modules\HookScripts\CombatHs.cpp
void compute_damage() call fo::funcoffs::compute_damage_;Modules\HookScripts\CombatHs.cpp
void check_for_death(GameObject* critter, DWORD amountDamage, DWORD* flags) fo::func::check_for_death(fo::var::main_ctd.target, fo::var::main_ctd.targetDamage, &fo::var::main_ctd.targetFlags);Modules\BugFixes.cpp
void combat_anim_finished() call fo::funcoffs::combat_anim_finished_;Modules\Animations.cpp
void combat_check_bad_shot() call fo::funcoffs::combat_check_bad_shot_;Modules\AI.cpp
AIcap* ai_cap(GameObject* critter) fo::AIcap* cap = fo::func::ai_cap(source);Game\combatAI.cpp
jmp fo::funcoffs::ai_cap_;Modules\AI.cpp
fo::AIcap* cap = fo::func::ai_cap(partyMember);Modules\PartyControl.cpp
fo::AIcap* cap = fo::func::ai_cap(ctx.arg(0).object());Modules\Scripting\Handlers\Objects.cpp
DWORD ai_magic_hands(GameObject* source, GameObject* object, DWORD msgNumber) fo::func::ai_magic_hands(source, item, 5000);Game\items.cpp
void ai_check_drugs() sf::MakeJump(fo::funcoffs::ai_check_drugs_, ai_check_drugs_replacement); // 0x428480Game\combatAI.cpp
call game::CombatAI::ai_check_drugs; // call fo::funcoffs::ai_check_drugs_;Modules\AI.cpp
void ai_run_away() jmp fo::funcoffs::ai_run_away_;Modules\AI.cpp
call fo::funcoffs::ai_run_away_;Modules\AI.cpp
void ai_danger_source() jmp fo::funcoffs::ai_danger_source_;Modules\PartyControl.cpp
DWORD ai_have_ammo(GameObject* critter, GameObject* item, GameObject** outAmmo) return fo::func::ai_have_ammo(source, weapon, outAmmo); // 0 - no ammoModules\AI.cpp
void caiHasWeapPrefType() call fo::funcoffs::caiHasWeapPrefType_;Modules\AI.cpp
GameObject* ai_best_weapon(GameObject* source, GameObject* prevItem, GameObject* checkItem, GameObject* target) call fo::funcoffs::ai_best_weapon_;Modules\HookScripts\CombatHs.cpp
bool ai_can_use_weapon(GameObject* critter, GameObject* item, DWORD hitMode) bool result = fo::func::ai_can_use_weapon(source, weapon, hitMode);Game\combatAI.cpp
call fo::funcoffs::ai_can_use_weapon_;Modules\HookScripts\CombatHs.cpp
GameObject* ai_search_inven_weap(GameObject* source, DWORD apCheck, GameObject* target) fo::GameObject* item = fo::func::ai_search_inven_weap(source, 1, target); // search based on APModules\AI.cpp
GameObject* ai_search_environ(GameObject* critter, DWORD itemType) if (!lastItem) lastItem = fo::func::ai_search_environ(source, fo::ItemType::item_type_drug);Game\combatAI.cpp
if (!lastItem) lastItem = fo::func::ai_search_environ(source, fo::ItemType::item_type_misc_item);Game\combatAI.cpp
GameObject* ai_retrieve_object(GameObject* critter, GameObject* item) if (lastItem) lastItem = fo::func::ai_retrieve_object(source, lastItem);Game\combatAI.cpp
call fo::funcoffs::ai_retrieve_object_;Modules\AI.cpp
DWORD ai_pick_hit_mode(GameObject* source, GameObject* item, GameObject* target) long _hitMode = fo::func::ai_pick_hit_mode(source, weapon, target);Modules\AI.cpp
void ai_switch_weapons() jmp fo::funcoffs::ai_switch_weapons_;Modules\AI.cpp
void cai_attempt_w_reload() jmp fo::funcoffs::cai_attempt_w_reload_;Modules\BugFixes.cpp
void combat_ai() call fo::funcoffs::combat_ai_;Modules\AI.cpp
void combatai_rating() call fo::funcoffs::combatai_rating_;Modules\AI.cpp
call fo::funcoffs::combatai_rating_;Modules\AI.cpp
void combatai_check_retaliation() jmp fo::funcoffs::combatai_check_retaliation_;Modules\Combat.cpp
DWORD is_within_perception(GameObject* source, GameObject* target) return sf::PerceptionRangeHook_Invoke(watcher, target, hookType, fo::func::is_within_perception(watcher, target));Game\objects.cpp
return PerceptionRangeHook_Script(watcher, target, type, fo::func::is_within_perception(watcher, target));Modules\HookScripts\MiscHs.cpp
void config_get_string() call fo::funcoffs::config_get_string_; // section, outValueFalloutEngine\Functions.cpp
call fo::funcoffs::config_get_string_;Modules\Worldmap.cpp
void config_get_value() jmp fo::funcoffs::config_get_value_;Modules\MiscPatches.cpp
void credits() __asm call fo::funcoffs::credits_;Modules\Credits.cpp
void credits_get_next_line() jmp fo::funcoffs::credits_get_next_line_;Modules\Credits.cpp
call fo::funcoffs::credits_get_next_line_; // call default functionModules\Credits.cpp
char* critter_name(GameObject* critter) jmp fo::funcoffs::critter_name_;Modules\AI.cpp
set->animations[i].source, fo::func::critter_name(set->animations[i].source),Modules\Animations.cpp
call fo::funcoffs::critter_name_;Modules\BugFixes.cpp
fo::func::critter_pc_set_name(fo::func::critter_name(npc));Modules\PartyControl.cpp
devlog_f("%s restore sneak: time %d[%d], state %d\n", DL_MAIN, fo::func::critter_name(npc), member.sneak_queue_time, fo::var::fallout_game_time, member.sneak_working);Modules\PartyControl.cpp
devlog_f("%s recheck sneak: time %d<=[%d], state %d\n", DL_MAIN, fo::func::critter_name(npc), member.sneak_queue_time, fo::var::fallout_game_time, member.sneak_working);Modules\PartyControl.cpp
jmp fo::funcoffs::critter_name_;Modules\PartyControl.cpp
devlog_f("[Switch] %s update sneak: time %d, state %d\n", DL_MAIN, fo::func::critter_name(fo::var::obj_dude), member.sneak_queue_time, member.sneak_working);Modules\PartyControl.cpp
devlog_f("[Switch] %s save sneak: time %d, state %d\n", DL_MAIN, fo::func::critter_name(fo::var::obj_dude), member.sneak_queue_time, member.sneak_working);Modules\PartyControl.cpp
call fo::funcoffs::critter_name_;Modules\Scripting\Handlers\Objects.cpp
void critter_pc_set_name(char* newName) fo::func::critter_pc_set_name(fo::func::critter_name(npc));Modules\PartyControl.cpp
void critter_adjust_hits() call fo::funcoffs::critter_adjust_hits_;Modules\Scripting\Handlers\Interface.cpp
void critter_get_rads() jmp fo::funcoffs::critter_get_rads_;Modules\MiscPatches.cpp
void critter_kill_count() critterType = static_cast(fo::func::critter_kill_count_type(srcObject));Game\tilemap.cpp
DWORD critter_kill_count_type(GameObject* critter) critterType = static_cast(fo::func::critter_kill_count_type(srcObject));Game\tilemap.cpp
jmp fo::funcoffs::critter_kill_count_type_;Modules\MiscPatches.cpp
void critter_kill() critterType = static_cast(fo::func::critter_kill_count_type(srcObject));Game\tilemap.cpp
DWORD critter_is_dead(GameObject* critter) call fo::funcoffs::critter_is_dead_; // found some object, check if it's a dead critterModules\BugFixes.cpp
call fo::funcoffs::critter_is_dead_;Modules\BugFixes.cpp
if (includeHidden || (obj->IsCritter() && !fo::func::critter_is_dead(obj) && !(obj->flags & fo::ObjectFlag::Mouse_3d))) {Modules\Scripting\Handlers\Objects.cpp
DWORD critter_body_type(GameObject* critter) if (fo::func::critter_body_type(source)) return; // Robotic/Quadruped cannot use drugsGame\combatAI.cpp
call fo::funcoffs::critter_body_type_;Modules\BugFixes.cpp
switch (fo::func::critter_body_type(partyMember)) {Modules\PartyControl.cpp
void pc_flag_off() __asm call fo::funcoffs::pc_flag_off_;Modules\Scripting\Handlers\Interface.cpp
void pc_flag_on(DWORD flag) __asm call fo::funcoffs::pc_flag_on_;Modules\Scripting\Handlers\Interface.cpp
void pc_flag_toggle()// jmp fo::funcoffs::pc_flag_toggle_;Modules\PartyControl.cpp
DWORD is_pc_flag(DWORD flag) if (fo::func::is_pc_flag(0)) { // sneak flagModules\PartyControl.cpp
if (realDude.sneak_queue_time && fo::func::is_pc_flag(0)) {Modules\PartyControl.cpp
void critter_sneak_check() if (!exist) __asm call fo::funcoffs::critter_sneak_check_;Modules\PartyControl.cpp
DWORD is_pc_sneak_working() ctx.setReturn(fo::func::is_pc_sneak_working());Modules\Scripting\Handlers\Misc.cpp
void critter_wake_up() call fo::funcoffs::critter_wake_up_; // (stand up anim)Modules\BugFixes.cpp
void critter_compute_ap_from_distance() call fo::funcoffs::critter_compute_ap_from_distance_;Modules\HookScripts\InventoryHs.cpp
void datafileConvertData() call fo::funcoffs::datafileConvertData_;FalloutEngine\Functions.cpp
void display_print(char* msg) push fo::funcoffs::display_print_; // func replaced by Mash's HRPGame\GUI\Text.cpp
sf::MakeJump(fo::funcoffs::display_print_, display_print_hack_replacemet); // 0x43186CGame\GUI\Text.cpp
jmp fo::funcoffs::display_print_;Modules\BugFixes.cpp
call fo::funcoffs::display_print_;Modules\BugFixes.cpp
call fo::funcoffs::display_print_;Modules\BugFixes.cpp
jmp fo::funcoffs::display_print_;Modules\BugFixes.cpp
call fo::funcoffs::display_print_;Modules\BugFixes.cpp
if (!HRP::Setting::IsEnabled()) MakeJump(0x43186C, display_print_hack);Modules\Console.cpp
jmp fo::funcoffs::display_print_;Modules\DebugEditor.cpp
fo::func::display_print(superStimMsg.c_str());Modules\Inventory.cpp
fo::func::display_print(buf);Modules\Karma.cpp
fo::func::display_print(fo::util::GetMessageStr(&fo::var::proto_main_msg_file, 675)); // I Can't do thatModules\PartyControl.cpp
fo::func::display_print(Translate::CombatBlockMessage().c_str());Modules\SubModules\CombatBlock.cpp
void display_redraw() __asm call fo::funcoffs::display_redraw_;Game\GUI\Text.cpp
jmp fo::funcoffs::display_redraw_;HRP\InterfaceBar.cpp
void display_scroll_up() call fo::funcoffs::display_scroll_up_;InputFuncs.cpp
void display_scroll_down() call fo::funcoffs::display_scroll_down_;InputFuncs.cpp
void editor_design() call fo::funcoffs::editor_design_;Modules\LoadGameHook.cpp
void DrawFolder() call fo::funcoffs::DrawFolder_;Modules\HeroAppearance.cpp
void PrintLevelWin() call fo::funcoffs::PrintLevelWin_;Modules\HeroAppearance.cpp
call fo::funcoffs::PrintLevelWin_;Modules\Scripting\Handlers\Interface.cpp
void PrintBasicStat() call fo::funcoffs::PrintBasicStat_;Modules\HeroAppearance.cpp
call fo::funcoffs::PrintBasicStat_;Modules\Scripting\Handlers\Interface.cpp
void ListDrvdStats() call fo::funcoffs::ListDrvdStats_;Modules\HeroAppearance.cpp
call fo::funcoffs::ListDrvdStats_;Modules\Scripting\Handlers\Interface.cpp
void ListSkills() call fo::funcoffs::ListSkills_;Modules\HeroAppearance.cpp
call fo::funcoffs::ListSkills_;Modules\Scripting\Handlers\Interface.cpp
void DrawInfoWin() //call fo::funcoffs::DrawInfoWin_;Modules\HeroAppearance.cpp
void SexWindow() call fo::funcoffs::SexWindow_; // call gender selection windowModules\HeroAppearance.cpp
bool db_access(char* fileName) call fo::funcoffs::db_access_; // check art file existsModules\HeroAppearance.cpp
bool hookHasScript = fo::func::db_access(filePath);Modules\HookScripts.cpp
if (!fo::func::db_access("art\\intrface\\worldmap.frm")) return;Modules\Interface.cpp
call fo::funcoffs::db_access_;Modules\LoadOrder.cpp
return (path && fo::func::db_access(path)) ? path : premadePath;Modules\Premade.cpp
if (direction > 0 && !fo::func::db_access(artPathName)) {Modules\Scripting\Handlers\Interface.cpp
if (fo::func::db_access(outFilePath)) return direction;Modules\Scripting\Handlers\Interface.cpp
void DrawCard() jmp fo::funcoffs::DrawCard_;Modules\Karma.cpp
void ListTraits() call fo::funcoffs::ListTraits_;Modules\HeroAppearance.cpp
void ListDPerks() call fo::funcoffs::ListDPerks_;Modules\Perks.cpp
DWORD folder_print_seperator(char* text) if (fo::func::folder_print_seperator(message)) {Modules\Drugs.cpp
DWORD folder_print_line(char* text) if (fo::func::folder_print_line(message)) {Modules\Drugs.cpp
if (fo::func::folder_print_line(fakeTraits[i].Name) && !isSelect) {Modules\Perks.cpp
void elevator_start() jmp fo::funcoffs::elevator_start_;Modules\Elevators.cpp
void elevator_end() jmp fo::funcoffs::elevator_end_;Modules\Elevators.cpp
void Check4Keys() call fo::funcoffs::Check4Keys_;Modules\Elevators.cpp
void endgame_slideshow() call fo::funcoffs::endgame_slideshow_;Modules\SpeedPatch.cpp
void endgame_load_palette(DWORD artType, DWORD fid) fo::func::endgame_load_palette(fo::ArtType::OBJ_TYPE_INTRFACE, artID & 0xFFF);HRP\SlidesScreen.cpp
fo::func::endgame_load_palette(fo::ArtType::OBJ_TYPE_INTRFACE, 327); // panning desert image (DP.FRM)HRP\SlidesScreen.cpp
void findVar() jmp fo::funcoffs::findVar_;Modules\ScriptExtender.cpp
jmp fo::funcoffs::findVar_; // else - proceed normalModules\ScriptExtender.cpp
DWORD FMtext_width(char* text) return fo::func::FMtext_width(TextMsg); //get text widthFalloutEngine\EngineUtils.cpp
void FMtext_char_width() call fo::funcoffs::FMtext_char_width_;FalloutEngine\EngineUtils.cpp
void FMtext_to_buf() call fo::funcoffs::FMtext_to_buf_;FalloutEngine\EngineUtils.cpp
void game_reset() jmp fo::funcoffs::game_reset_;Modules\LoadGameHook.cpp
jmp fo::funcoffs::game_reset_;Modules\LoadGameHook.cpp
void game_exit() jmp fo::funcoffs::game_exit_;Modules\LoadGameHook.cpp
DWORD game_get_global_var(DWORD globalVar) if (fo::func::game_get_global_var(fo::GVAR_CAR_BLOWER)) {Modules\HookScripts\MiscHs.cpp
if (fo::func::game_get_global_var(fo::GVAR_NEW_RENO_CAR_UPGRADE)) {Modules\HookScripts\MiscHs.cpp
if (fo::func::game_get_global_var(fo::GVAR_NEW_RENO_SUPER_CAR)) {Modules\HookScripts\MiscHs.cpp
void game_set_global_var() jmp fo::funcoffs::game_set_global_var_;Modules\HookScripts\MiscHs.cpp
void game_screendump() call fo::funcoffs::game_screendump_; // call ds:[FO_VAR_screendump_func];Modules\Graphics.cpp
void game_help() call fo::funcoffs::game_help_;Modules\LoadGameHook.cpp
void game_quit_with_confirm() call fo::funcoffs::game_quit_with_confirm_;WinProc.cpp
void gdialogActive() jmp fo::funcoffs::gdialogActive_;Modules\BugFixes.cpp
call fo::funcoffs::gdialogActive_;Modules\BugFixes.cpp
void gdialogDisplayMsg(char* message) cmp dword ptr [esp + 0x1AC - 0x14 + 4], 0x445448; // gdialogDisplayMsg_Modules\BugFixes.cpp
cmp dword ptr [esp + 0x1AC - 0x14 + 4], 0x445448; // gdialogDisplayMsg_Modules\BugFixes.cpp
jmp fo::funcoffs::gdialogDisplayMsg_;Modules\BugFixes.cpp
cmp dword ptr [esp + 0x1AC - 0x14], 0x445448; // gdialogDisplayMsg_Modules\BugFixes.cpp
fo::func::gdialogDisplayMsg(message);Modules\Scripting\Handlers\Interface.cpp
void gdReviewInit() call fo::funcoffs::gdReviewInit_;Modules\LoadGameHook.cpp
void gdReviewExit() jmp fo::funcoffs::gdReviewExit_;Modules\LoadGameHook.cpp
void gdDestroyHeadWindow() call fo::funcoffs::gdDestroyHeadWindow_;Modules\LoadGameHook.cpp
void talk_to_critter_reacts() jmp fo::funcoffs::talk_to_critter_reacts_; // -1 - good, 0 - neutral, 1 - badModules\BugFixes.cpp
void gdialog_window_create() call fo::funcoffs::gdialog_window_create_;Modules\LoadGameHook.cpp
void gdialog_window_destroy() jmp fo::funcoffs::gdialog_window_destroy_;Modules\LoadGameHook.cpp
jmp fo::funcoffs::gdialog_window_destroy_;Modules\LoadGameHook.cpp
void talk_to_translucent_trans_buf_to_buf() jmp fo::funcoffs::talk_to_translucent_trans_buf_to_buf_;Modules\TalkingHeads.cpp
void gmouse_bk_process() jmp fo::funcoffs::gmouse_bk_process_;HRP\Init.cpp
DWORD gmouse_set_cursor(DWORD picNum) call fo::funcoffs::gmouse_set_cursor_;Modules\BugFixes.cpp
fo::func::gmouse_set_cursor(1);Modules\HeroAppearance.cpp
fo::func::gmouse_set_cursor(oldMouse);Modules\HeroAppearance.cpp
call fo::funcoffs::gmouse_set_cursor_;Modules\LoadGameHook.cpp
fo::func::gmouse_set_cursor(20);Modules\PartyControl.cpp
fo::func::gmouse_set_cursor(0);Modules\PartyControl.cpp
void gmouse_3d_set_mode(DWORD mode) fo::func::gmouse_3d_set_mode(2);Modules\PartyControl.cpp
fo::func::gmouse_3d_set_mode(1);Modules\PartyControl.cpp
fo::func::gmouse_3d_set_mode(ctx.arg(0).rawValue());Modules\Scripting\Handlers\Interface.cpp
GameObject* object_under_mouse(DWORD crSwitch, DWORD inclDude, DWORD elevation) fo::GameObject* underObject = fo::func::object_under_mouse(1, 0, fo::var::map_elevation);Modules\PartyControl.cpp
fo::func::object_under_mouse(ctx.arg(0).asBool() ? 1 : -1, ctx.arg(1).rawValue(), fo::var::map_elevation)Modules\Scripting\Handlers\Objects.cpp
void gmovie_play() jmp fo::funcoffs::gmovie_play_;Modules\MiscPatches.cpp
MakeJump(0x44E690, gmovie_play_hack);Modules\Movies.cpp
void gmovieIsPlaying() jmp fo::funcoffs::gmovieIsPlaying_;Modules\BugFixes.cpp
void gsound_background_volume_get() backgroundVolume = fo::func::gsound_background_volume_get_set(0);Modules\Movies.cpp
if (backgroundVolume) backgroundVolume = fo::func::gsound_background_volume_get_set(backgroundVolume); // restore volumeModules\Movies.cpp
DWORD gsound_background_volume_get_set(DWORD setVolume) backgroundVolume = fo::func::gsound_background_volume_get_set(0);Modules\Movies.cpp
if (backgroundVolume) backgroundVolume = fo::func::gsound_background_volume_get_set(backgroundVolume); // restore volumeModules\Movies.cpp
void gsound_background_play() jmp fo::funcoffs::gsound_background_play_;Modules\MiscPatches.cpp
void gsound_background_play_level_music() jmp fo::funcoffs::gsound_background_play_level_music_;Modules\MiscPatches.cpp
void gsound_background_stop() __asm call fo::funcoffs::gsound_background_stop_;Modules\Sound.cpp
jmp fo::funcoffs::gsound_background_stop_;Modules\Sound.cpp
void gsound_background_restart_last() __asm call fo::funcoffs::gsound_background_restart_last_;Modules\Sound.cpp
void gsound_background_pause() jmp fo::funcoffs::gsound_background_pause_;Modules\Sound.cpp
void gsound_background_unpause() jmp fo::funcoffs::gsound_background_unpause_;Modules\Sound.cpp
void gsound_speech_length_get() jmp fo::funcoffs::gsound_speech_length_get_;Modules\Sound.cpp
void gsound_speech_play() call fo::funcoffs::gsound_speech_play_;Modules\Sound.cpp
void gsound_delete_sfx() call fo::funcoffs::gsound_delete_sfx_;Modules\Animations.cpp
void gsound_red_butt_press() __asm call fo::funcoffs::gsound_red_butt_press_;Modules\ExtraSaveSlots.cpp
__asm call fo::funcoffs::gsound_red_butt_press_;Modules\ExtraSaveSlots.cpp
__asm call fo::funcoffs::gsound_red_butt_press_;Modules\ExtraSaveSlots.cpp
__asm call fo::funcoffs::gsound_red_butt_press_;Modules\ExtraSaveSlots.cpp
mov edx, fo::funcoffs::gsound_red_butt_press_;Modules\Interface.cpp
mov edx, fo::funcoffs::gsound_red_butt_press_;Modules\QuestList.cpp
void gsound_red_butt_release() mov ebx, fo::funcoffs::gsound_red_butt_release_;Modules\Interface.cpp
mov ebx, fo::funcoffs::gsound_red_butt_release_;Modules\QuestList.cpp
void gsound_med_butt_press() mov edx, fo::funcoffs::gsound_med_butt_press_;Modules\Interface.cpp
mov edx, 0x451988 // gsound_med_butt_press_Modules\MiscPatches.cpp
void gsound_med_butt_release() mov ebx, 0x451990 // gsound_med_butt_release_Modules\MiscPatches.cpp
void gsound_play_sfx_file(char* name) fo::func::gsound_play_sfx_file((const char*)0x50163C); // "monitor"Game\GUI\Text.cpp
jmp fo::funcoffs::gsound_play_sfx_file_;Modules\DebugEditor.cpp
fo::func::gsound_play_sfx_file("ib1p1xx1");Modules\HeroAppearance.cpp
fo::func::gsound_play_sfx_file("ib1p1xx1");Modules\HeroAppearance.cpp
fo::func::gsound_play_sfx_file("ib1p1xx1");Modules\HeroAppearance.cpp
fo::func::gsound_play_sfx_file("ib3p1xx1");Modules\HeroAppearance.cpp
fo::func::gsound_play_sfx_file("ISDXXXX1");Modules\HeroAppearance.cpp
fo::func::gsound_play_sfx_file("IB3LU1X1");Modules\HeroAppearance.cpp
call fo::funcoffs::gsound_play_sfx_file_;Modules\Interface.cpp
call fo::funcoffs::gsound_play_sfx_file_;Modules\Interface.cpp
fo::func::gsound_play_sfx_file("IISXXXX1");Modules\LoadGameHook.cpp
jmp fo::funcoffs::gsound_play_sfx_file_;Modules\MiscPatches.cpp
call fo::funcoffs::gsound_play_sfx_file_;Modules\Sound.cpp
void correctFidForRemovedItem(GameObject* critter, GameObject* item, DWORD slotFlag) if (result) fo::func::correctFidForRemovedItem(critter, item, flags);Game\inventory.cpp
jmp fo::funcoffs::correctFidForRemovedItem_;Modules\HookScripts\InventoryHs.cpp
void intface_hide() __asm call fo::funcoffs::intface_hide_;Modules\Scripting\Handlers\Interface.cpp
void intface_show() __asm call fo::funcoffs::intface_show_;Modules\Scripting\Handlers\Interface.cpp
DWORD intface_is_hidden() ctx.setReturn(fo::func::intface_is_hidden());Modules\Scripting\Handlers\Interface.cpp
void intface_redraw() fo::func::intface_redraw();Modules\PartyControl.cpp
fo::func::intface_redraw();Modules\PartyControl.cpp
fo::func::intface_redraw();Modules\Scripting\Handlers\Interface.cpp
void intface_update_hit_points() call fo::funcoffs::intface_update_hit_points_;Modules\Unarmed.cpp
void intface_update_ac(DWORD animate) jmp fo::funcoffs::intface_update_ac_;Modules\BugFixes.cpp
if (isDude) fo::func::intface_update_ac(0);Modules\Scripting\Handlers\Inventory.cpp
void intface_update_move_points(DWORD ap, DWORD freeAP) if (obj == fo::var::obj_dude) fo::func::intface_update_move_points(ap, fo::var::combat_free_move);Modules\Scripting\Handlers\Stats.cpp
DWORD intface_get_attack(DWORD* hitMode, DWORD* isSecondary) ctx.setReturn(!fo::func::intface_get_attack(&unused, &isAimed) ? isAimed : 0);Modules\Scripting\Handlers\Combat.cpp
void intface_update_items(DWORD animate, DWORD modeLeft, DWORD modeRight) jmp fo::funcoffs::intface_update_items_;Modules\Inventory.cpp
jmp fo::funcoffs::intface_update_items_;Modules\Unarmed.cpp
if (update) fo::func::intface_update_items(0, -1, -1);Modules\Scripting\Handlers\Inventory.cpp
void intface_toggle_items() jmp fo::funcoffs::intface_toggle_items_;Modules\Scripting\Handlers\Inventory.cpp
void intface_get_item_states() call fo::funcoffs::intface_get_item_states_;Modules\Unarmed.cpp
void intface_toggle_item_state() fo::func::intface_toggle_item_state();Modules\Inventory.cpp
void intface_use_item() fo::func::intface_use_item();Modules\Inventory.cpp
fo::func::intface_use_item();Modules\Inventory.cpp
DWORD intface_is_item_right_hand() auto itemInHand = fo::func::intface_is_item_right_hand()Game\inventory.cpp
void construct_box_bar_win() call fo::funcoffs::construct_box_bar_win_;Modules\BarBoxes.cpp
void reset_box_bar_win() call fo::funcoffs::reset_box_bar_win_;Modules\BarBoxes.cpp
void refresh_box_bar_win() __asm call fo::funcoffs::refresh_box_bar_win_;Modules\BarBoxes.cpp
__asm call fo::funcoffs::refresh_box_bar_win_;Modules\BarBoxes.cpp
void add_bar_box() call fo::funcoffs::add_bar_box_;Modules\BarBoxes.cpp
char* findCurrentProc(Program* program) metafunc, fo::var::currentProgram->fileName, fo::func::findCurrentProc(fo::var::currentProgram));Modules\MetaruleExtender.cpp
const char* procName = fo::func::findCurrentProc(_program);Modules\Scripting\OpcodeContext.cpp
void interpretError() __asm jmp fo::funcoffs::interpretError_;FalloutEngine\Functions.cpp
fo::func::interpretError("Unknown opcode: %d", opcode);Modules\Scripting\Opcodes.cpp
void fetchLong() SafeWrite32(0x4672A4, 0x0F02048B);Modules\MiscPatches.cpp
void pushLongStack() call fo::funcoffs::pushLongStack_;Modules\BugFixes.cpp
void interpretPushShort() call fo::funcoffs::interpretPushShort_; // pushes value type to Data stack (must be preceded by InterpretPushLong)FalloutEngine\Functions.cpp
call fo::funcoffs::interpretPushShort_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPushShort_;Modules\Scripting\Handlers\Graphics.cpp
void interpretPushLong() call fo::funcoffs::interpretPushLong_; // pushes value to Data stack (must be followed by InterpretPushShort)FalloutEngine\Functions.cpp
call fo::funcoffs::interpretPushLong_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPushLong_;Modules\Scripting\Handlers\Graphics.cpp
DWORD interpretPopShort(Program* scriptPtr) call fo::funcoffs::interpretPopShort_; // pops value type from Data stack (must be followed by InterpretPopLong)FalloutEngine\Functions.cpp
call fo::funcoffs::interpretPopShort_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopShort_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopShort_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopShort_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopShort_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopShort_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopShort_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopShort_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopShort_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopShort_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopShort_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopShort_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopShort_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopShort_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopShort_;Modules\Scripting\Handlers\Graphics.cpp
if ((short)fo::func::interpretPopShort(script) != (short)VAR_TYPE_INT) illegalArg++;Modules\Scripting\Handlers\Memory.cpp
DWORD interpretPopLong(Program* scriptPtr) call fo::funcoffs::interpretPopLong_; // pops value from Data stack (must be preceded by InterpretPopShort)FalloutEngine\Functions.cpp
call fo::funcoffs::interpretPopLong_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopLong_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopLong_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopLong_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopLong_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopLong_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopLong_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopLong_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopLong_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopLong_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopLong_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopLong_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopLong_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopLong_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretPopLong_;Modules\Scripting\Handlers\Graphics.cpp
args[i] = fo::func::interpretPopLong(script);Modules\Scripting\Handlers\Memory.cpp
void interpretFreeProgram() call fo::funcoffs::interpretFreeProgram_;Modules\ScriptExtender.cpp
Program* allocateProgram(char* filePath) ? fo::func::allocateProgram(fileName)Modules\ScriptExtender.cpp
char* interpretGetString(Program* scriptPtr, DWORD dataType, DWORD strId) call fo::funcoffs::interpretGetString_; // retrieve string argumentFalloutEngine\Functions.cpp
call fo::funcoffs::interpretGetString_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretGetString_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretGetString_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretGetString_;Modules\Scripting\Handlers\Graphics.cpp
call fo::funcoffs::interpretGetString_;Modules\Scripting\Handlers\Graphics.cpp
const char* str = fo::func::interpretGetString(script, type, strID);Modules\Scripting\Handlers\Memory.cpp
call fo::funcoffs::interpretGetString_;Modules\Scripting\Handlers\Perks.cpp
void interpretAddString() call fo::funcoffs::interpretAddString_;FalloutEngine\Functions.cpp
DWORD interpret(Program* program, DWORD arg2) prog.procLookup[i] = fo::func::interpretFindProcedure(prog.ptr, procTable[i]);Modules\ScriptExtender.cpp
fo::func::interpret(prog.ptr, -1);Modules\ScriptExtender.cpp
int procPosition = fo::func::interpretFindProcedure(sptr, procName);Modules\ScriptExtender.cpp
DWORD rawValue = fo::func::interpretGetValue(_program, rawValueType);Modules\Scripting\OpcodeContext.cpp
fo::func::interpretReturnValue(_program, _ret.rawValue(), getScriptTypeBySfallType(_ret.type()));Modules\Scripting\OpcodeContext.cpp
fo::func::interpretError("Unknown opcode: %d", opcode);Modules\Scripting\Opcodes.cpp
const char* str = fo::func::interpretGetString(script, type, strID);Modules\Scripting\Handlers\Memory.cpp
if ((short)fo::func::interpretPopShort(script) != (short)VAR_TYPE_INT) illegalArg++;Modules\Scripting\Handlers\Memory.cpp
args[i] = fo::func::interpretPopLong(script);Modules\Scripting\Handlers\Memory.cpp
void executeProc() fo::func::executeProcedure(sptr, procPosition);Modules\ScriptExtender.cpp
fo::func::executeProcedure(prog->ptr, procPosition);Modules\ScriptExtender.cpp
fo::func::executeProcedure(prog->ptr, procPosition);Modules\ScriptExtender.cpp
fo::func::executeProcedure(script->prog.ptr, script->startProc); // run "start"Modules\ScriptExtender.cpp
fo::func::executeProcedure(hook->prog.ptr, hook->callback);Modules\HookScripts\Common.cpp
DWORD interpretFindProcedure(Program* scriptPtr, char* procName) prog.procLookup[i] = fo::func::interpretFindProcedure(prog.ptr, procTable[i]);Modules\ScriptExtender.cpp
int procPosition = fo::func::interpretFindProcedure(sptr, procName);Modules\ScriptExtender.cpp
void executeProcedure(Program* sptr, DWORD procNum) fo::func::executeProcedure(sptr, procPosition);Modules\ScriptExtender.cpp
fo::func::executeProcedure(prog->ptr, procPosition);Modules\ScriptExtender.cpp
fo::func::executeProcedure(prog->ptr, procPosition);Modules\ScriptExtender.cpp
fo::func::executeProcedure(script->prog.ptr, script->startProc); // run "start"Modules\ScriptExtender.cpp
fo::func::executeProcedure(hook->prog.ptr, hook->callback);Modules\HookScripts\Common.cpp
call fo::funcoffs::executeProcedure_;Modules\HookScripts\ObjectHs.cpp
call fo::funcoffs::executeProcedure_;Modules\Scripting\Handlers\Anims.cpp
DWORD* runProgram(Program* progPtr) fo::func::runProgram(prog.ptr);Modules\ScriptExtender.cpp
fo::func::runProgram(scriptPtr->program);Modules\ScriptExtender.cpp
fo::func::runProgram(it->prog.ptr);Modules\ScriptExtender.cpp
void exit_inventory() jmp fo::funcoffs::exit_inventory_;Modules\LoadGameHook.cpp
jmp fo::funcoffs::exit_inventory_;Modules\LoadGameHook.cpp
void display_inventory(DWORD inventoryOffset, DWORD visibleOffset, DWORD mode) fo::func::display_inventory(0, -1, mode);Modules\Scripting\Handlers\Interface.cpp
void display_target_inventory(DWORD inventoryOffset, DWORD visibleOffset, DWORD* targetInventory, DWORD mode) fo::func::display_target_inventory(0, -1, fo::var::target_pud, mode);Modules\Scripting\Handlers\Interface.cpp
void inven_set_mouse() jmp fo::funcoffs::inven_set_mouse_;Modules\LoadGameHook.cpp
jmp fo::funcoffs::inven_set_mouse_;Modules\LoadGameHook.cpp
jmp fo::funcoffs::inven_set_mouse_;Modules\LoadGameHook.cpp
void switch_hand() jmp fo::funcoffs::switch_hand_;Modules\PartyControl.cpp
jmp fo::funcoffs::switch_hand_;Modules\HookScripts\InventoryHs.cpp
void adjust_ac() call fo::funcoffs::adjust_ac_;Modules\BugFixes.cpp
call fo::funcoffs::adjust_ac_;Modules\BugFixes.cpp
call fo::funcoffs::adjust_ac_; // eax - source, edx - removed armorModules\BugFixes.cpp
call fo::funcoffs::adjust_ac_;Modules\BugFixes.cpp
void adjust_fid() sf::MakeJump(fo::funcoffs::adjust_fid_, adjust_fid_replacement); // 0x4716E8Game\inventory.cpp
GameObject* inven_right_hand(GameObject* critter) itemPtr = fo::func::inven_right_hand(critter);FalloutEngine\EngineUtils.cpp
fo::GameObject* item = fo::func::inven_right_hand(critter);Game\inventory.cpp
handItem = fo::func::inven_right_hand(source);Game\items.cpp
call fo::funcoffs::inven_right_hand_;Modules\BugFixes.cpp
if (!fo::var::itemButtonItems[fo::HandSlot::Right].item && !fo::func::inven_right_hand(fo::var::obj_dude)) {Modules\MiscPatches.cpp
auto item = fo::func::inven_right_hand(npc);Modules\PartyControl.cpp
fo::GameObject* rItem = fo::func::inven_right_hand(fo::var::obj_dude);Modules\PartyControl.cpp
call fo::funcoffs::inven_right_hand_;Modules\HookScripts\InventoryHs.cpp
ctx.setReturn(fo::func::inven_right_hand(critter));Modules\Scripting\Handlers\Inventory.cpp
GameObject* inven_left_hand(GameObject* critter) itemPtr = fo::func::inven_left_hand(critter);FalloutEngine\EngineUtils.cpp
fo::GameObject* itemL = fo::func::inven_left_hand(critter);Game\inventory.cpp
handItem = fo::func::inven_left_hand(source);Game\items.cpp
call fo::funcoffs::inven_left_hand_;Modules\BugFixes.cpp
if (!fo::var::itemButtonItems[fo::HandSlot::Left].item && !fo::func::inven_left_hand(fo::var::obj_dude)) {Modules\MiscPatches.cpp
if (fo::util::AnimCodeByWeapon(fo::func::inven_left_hand(npc)) == critterAnim) { // definitely left handModules\PartyControl.cpp
auto item = fo::func::inven_left_hand(npc);Modules\PartyControl.cpp
fo::GameObject* lItem = fo::func::inven_left_hand(fo::var::obj_dude);Modules\PartyControl.cpp
call fo::funcoffs::inven_left_hand_;Modules\HookScripts\InventoryHs.cpp
ctx.setReturn(fo::func::inven_left_hand(critter));Modules\Scripting\Handlers\Inventory.cpp
GameObject* inven_worn(GameObject* critter) itemPtr = fo::func::inven_worn(critter);FalloutEngine\EngineUtils.cpp
item = fo::func::inven_worn(critter);Game\inventory.cpp
call fo::funcoffs::inven_worn_;Modules\BugFixes.cpp
call fo::funcoffs::inven_worn_;Modules\BugFixes.cpp
call fo::funcoffs::inven_worn_;Modules\BugFixes.cpp
ctx.setReturn(fo::func::inven_worn(critter));Modules\Scripting\Handlers\Inventory.cpp
item = fo::func::inven_worn(critter);Modules\Scripting\Handlers\Inventory.cpp
GameObject* inven_pid_is_carried_ptr(GameObject* invenObj, DWORD pid) call fo::funcoffs::inven_pid_is_carried_ptr_;Modules\MiscPatches.cpp
void display_stats() jmp fo::funcoffs::display_stats_;Modules\Unarmed.cpp
fo::func::display_stats(); // calling the function outside of inventory screen will crash the gameModules\Scripting\Handlers\Interface.cpp
GameObject* inven_find_type(GameObject* critter, DWORD itemType, DWORD* slot) fo::GameObject* itemFind = fo::func::inven_find_type(source, fo::ItemType::item_type_drug, &slot);Game\combatAI.cpp
fo::GameObject* item = fo::func::inven_find_type(source, fo::ItemType::item_type_drug, &slot);Game\combatAI.cpp
item = fo::func::inven_find_type(source, fo::ItemType::item_type_drug, &slot);Game\combatAI.cpp
while (fo::GameObject* ammoFind = fo::func::inven_find_type(critter, fo::item_type_ammo, ¤tSlot)) {Modules\AI.cpp
void inven_find_id() call fo::funcoffs::inven_find_id_; // check prt (fix behavior)Modules\BugFixes.cpp
jmp fo::funcoffs::inven_find_id_; // vanilla behaviorModules\BugFixes.cpp
DWORD inven_wield(GameObject* critter, GameObject* item, DWORD slot) jmp fo::funcoffs::inven_wield_;Modules\Inventory.cpp
void invenWieldFunc() jmp fo::funcoffs::invenWieldFunc_;Modules\HookScripts\InventoryHs.cpp
DWORD inven_unwield(GameObject* critter, DWORD slot) call fo::funcoffs::inven_unwield_;Modules\Inventory.cpp
if (fo::func::inven_unwield(critter, (slot == fo::INVEN_TYPE_LEFT_HAND) ? fo::Left : fo::Right) == 0) {Modules\Scripting\Handlers\Inventory.cpp
void invenUnwieldFunc() jmp fo::funcoffs::invenUnwieldFunc_;Modules\HookScripts\InventoryHs.cpp
void inven_display_msg() push fo::funcoffs::inven_display_msg_;Game\GUI\Text.cpp
call fo::funcoffs::inven_display_msg_;Modules\Inventory.cpp
jmp fo::funcoffs::inven_display_msg_;Modules\Inventory.cpp
DWORD barter_compute_value(GameObject* source, GameObject* target) long computeCost = fo::func::barter_compute_value(source, target);Modules\HookScripts\MiscHs.cpp
void barter_inventory() call fo::funcoffs::barter_inventory_;Modules\LoadGameHook.cpp
void drop_into_container() call fo::funcoffs::drop_into_container_;Modules\HookScripts\InventoryHs.cpp
void setup_move_timer_win() jmp fo::funcoffs::setup_move_timer_win_;Modules\Inventory.cpp
void item_add_mult() jmp fo::funcoffs::item_add_mult_;Modules\BugFixes.cpp
DWORD item_add_force(GameObject* critter, GameObject* item, DWORD count) fo::func::item_add_force(source, item, 1);Game\items.cpp
call fo::funcoffs::item_add_force_;Modules\BugFixes.cpp
jmp fo::funcoffs::item_add_force_;Modules\BugFixes.cpp
jmp fo::funcoffs::item_add_force_;Modules\Inventory.cpp
jmp fo::funcoffs::item_add_force_;Modules\HookScripts\InventoryHs.cpp
if (forceAdd) fo::func::item_add_force(critter, item, 1);Modules\Scripting\Handlers\Inventory.cpp
DWORD item_remove_mult(GameObject* critter, GameObject* item, DWORD count) return fo::func::item_remove_mult(source, item, count);Game\items.cpp
call fo::funcoffs::item_remove_mult_;Modules\BugFixes.cpp
call fo::funcoffs::item_remove_mult_;Modules\BugFixes.cpp
__asm call fo::funcoffs::item_remove_mult_;Modules\HookScripts\InventoryHs.cpp
MakeJump(0x477492, RemoveObjHook); // old 0x477490Modules\HookScripts\InventoryHs.cpp
void item_move_all() jmp fo::funcoffs::item_move_all_;Modules\HookScripts\InventoryHs.cpp
jmp fo::funcoffs::item_move_all_;Modules\HookScripts\InventoryHs.cpp
void item_move_all_hidden() call fo::funcoffs::item_move_all_hidden_;Modules\BugFixes.cpp
DWORD item_get_type(GameObject* item) } else if (fo::func::item_get_type(tableItem->object) == fo::item_type_container) {Game\items.cpp
jmp fo::funcoffs::item_get_type_;Modules\BugFixes.cpp
if (fo::func::item_get_type(item) == fo::ItemType::item_type_weapon) {Modules\Inventory.cpp
call fo::funcoffs::item_get_type_;Modules\Inventory.cpp
if (/*isControllingNPC &&*/ fo::func::item_get_type(item) == fo::ItemType::item_type_weapon) {Modules\PartyControl.cpp
if (itemReplaced && fo::func::item_get_type(itemReplaced) == fo::item_type_weapon && fo::func::item_get_type(item) == fo::item_type_ammo) {Modules\HookScripts\InventoryHs.cpp
if (args[2] != fo::INVEN_TYPE_RIGHT_HAND && fo::func::item_get_type((fo::GameObject*)args[1]) != fo::item_type_armor) {Modules\HookScripts\InventoryHs.cpp
call fo::funcoffs::item_get_type_;Modules\SubModules\CombatBlock.cpp
DWORD item_size(GameObject* item) totalSize += fo::func::item_size(item);Game\inventory.cpp
totalSize += fo::func::item_size(itemL);Game\inventory.cpp
totalSize += fo::func::item_size(item);Game\inventory.cpp
call fo::funcoffs::item_size_;Modules\BugFixes.cpp
call fo::funcoffs::item_size_;Modules\BugFixes.cpp
call fo::funcoffs::item_size_;Modules\BugFixes.cpp
call fo::funcoffs::item_size_;Modules\BugFixes.cpp
call fo::funcoffs::item_size_;Modules\BugFixes.cpp
int totalSize = game::Inventory::item_total_size(critter) + (fo::func::item_size(item) * count);Modules\Inventory.cpp
int size = fo::func::item_size(item);Modules\Inventory.cpp
DWORD item_weight(GameObject* item) call fo::funcoffs::item_weight_;Modules\BugFixes.cpp
call fo::funcoffs::item_weight_;Modules\BugFixes.cpp
call fo::funcoffs::item_weight_;Modules\BugFixes.cpp
call fo::funcoffs::item_weight_;Modules\BugFixes.cpp
call fo::funcoffs::item_weight_;Modules\BugFixes.cpp
ctx.setReturn(fo::func::item_weight(ctx.arg(0).object()));Modules\Scripting\Handlers\Inventory.cpp
DWORD item_total_cost(GameObject* object) args[5] = fo::func::item_total_cost(bTable);Modules\HookScripts\MiscHs.cpp
args[7] = pcCost = fo::func::item_total_cost(pTable);Modules\HookScripts\MiscHs.cpp
DWORD item_total_weight(GameObject* object) call fo::funcoffs::item_total_weight_;Modules\BugFixes.cpp
call fo::funcoffs::item_total_weight_;Modules\BugFixes.cpp
call fo::funcoffs::item_total_weight_;Modules\BugFixes.cpp
jmp fo::funcoffs::item_total_weight_;Modules\Inventory.cpp
pcCost = fo::func::item_total_weight(pTable);Modules\HookScripts\MiscHs.cpp
void can_use_weapon() call fo::funcoffs::can_use_weapon_; // 1 - can't useModules\HookScripts\CombatHs.cpp
GameObject* item_hit_with(GameObject* critter, DWORD hitMode)// return item_weapon_range(source, fo::func::item_hit_with(source, hitMode), hitMode);Game\items.cpp
call fo::funcoffs::item_hit_with_; // get pointer to weaponModules\Perks.cpp
call fo::funcoffs::item_hit_with_; // get pointer to weaponModules\Perks.cpp
void item_mp_cost() call fo::funcoffs::item_mp_cost_;Modules\AI.cpp
DWORD item_w_subtype(GameObject* item, DWORD hitMode) long type = fo::func::item_w_subtype(item, hitMode);Game\items.cpp
long wType = fo::func::item_w_subtype(item, fo::AttackType::ATKTYPE_RWEAPON_PRIMARY);Modules\AI.cpp
call fo::funcoffs::item_w_subtype_;Modules\BugFixes.cpp
jmp fo::funcoffs::item_w_subtype_; // eax - itemModules\Perks.cpp
call fo::funcoffs::item_w_subtype_;Modules\Perks.cpp
DWORD item_w_damage(GameObject* critter, DWORD hitMode) long rawDamage = fo::func::item_w_damage(ctd.attacker, ctd.hitMode); // get the raw damage valueModules\DamageMod.cpp
long rawDamage = fo::func::item_w_damage(ctd.attacker, ctd.hitMode); // Retrieve Raw DamageModules\DamageMod.cpp
void item_w_damage_type() jmp fo::funcoffs::item_w_damage_type_;Modules\Combat.cpp
jmp fo::funcoffs::item_w_damage_type_;Modules\Skills.cpp
void item_w_anim() if (fo::func::item_w_anim_weap(weapon, fo::AttackType::ATKTYPE_RWEAPON_SECONDARY) == fo::Animation::ANIM_fire_burst) {Modules\AI.cpp
long anim = fo::func::item_w_anim_weap(weapon, hitMode);Modules\Combat.cpp
long anim = fo::func::item_w_anim_weap(weapon, fo::AttackType::ATKTYPE_RWEAPON_SECONDARY);Modules\Combat.cpp
DWORD item_w_anim_weap(GameObject* item, DWORD hitMode) if (fo::func::item_w_anim_weap(weapon, fo::AttackType::ATKTYPE_RWEAPON_SECONDARY) == fo::Animation::ANIM_fire_burst) {Modules\AI.cpp
long anim = fo::func::item_w_anim_weap(weapon, hitMode);Modules\Combat.cpp
long anim = fo::func::item_w_anim_weap(weapon, fo::AttackType::ATKTYPE_RWEAPON_SECONDARY);Modules\Combat.cpp
DWORD item_w_max_ammo(GameObject* item) long maxAmmo = fo::func::item_w_max_ammo(item);Modules\Inventory.cpp
DWORD item_w_curr_ammo(GameObject* item) long currAmmo = fo::func::item_w_curr_ammo(weapon);Modules\Combat.cpp
long curAmmo = fo::func::item_w_curr_ammo(item);Modules\Inventory.cpp
void item_w_can_reload() jmp fo::funcoffs::item_w_can_reload_;Modules\HookScripts\InventoryHs.cpp
DWORD item_w_reload(GameObject* weapon, GameObject* ammo) result = fo::func::item_w_reload(weapon, ammo);Modules\AI.cpp
jmp fo::funcoffs::item_w_reload_;Modules\AI.cpp
DWORD item_w_range(GameObject* critter, DWORD hitMode) } else if (fastShotTweak < 2 && type > fo::AttackSubType::MELEE && fo::func::item_w_range(source, hitMode) >= 2) { // Fallout 2 behavior (with Haenlomal's fix)Game\items.cpp
if (fo::func::item_w_range(source, fo::AttackType::ATKTYPE_PUNCH) >= fo::func::obj_dist(source, target)) {Modules\AI.cpp
long weaponRange = fo::func::item_w_range(source, fo::ATKTYPE_RWEAPON_SECONDARY);Modules\AI.cpp
jmp fo::funcoffs::item_w_range_;Modules\MiscPatches.cpp
call fo::funcoffs::item_w_range_;Modules\Perks.cpp
call fo::funcoffs::item_w_range_; // get weapon's rangeModules\Perks.cpp
DWORD item_w_mp_cost(GameObject* source, DWORD hitMode, DWORD isCalled) sf::MakeJump(fo::funcoffs::item_w_mp_cost_ + 1, item_w_mp_cost_hack); // 0x478B25Game\items.cpp
call fo::funcoffs::item_w_mp_cost_;Modules\HookScripts\CombatHs.cpp
void item_w_perk() jmp fo::funcoffs::item_w_perk_;Modules\BugFixes.cpp
DWORD item_w_rounds(GameObject* item) rounds = fo::func::item_w_rounds(weapon); // ammo in burstModules\Combat.cpp
DWORD item_w_primary_mp_cost(GameObject* item) cost = fo::func::item_w_primary_mp_cost(weapon);Game\items.cpp
DWORD item_w_secondary_mp_cost(GameObject* item) cost = fo::func::item_w_secondary_mp_cost(weapon);Game\items.cpp
DWORD item_w_compute_ammo_cost(GameObject* item, DWORD* rounds) fo::func::item_w_compute_ammo_cost(weapon, &newRounds);Modules\Combat.cpp
result = fo::func::item_w_compute_ammo_cost(weapon, &rounds);Modules\HookScripts\CombatHs.cpp
DWORD item_w_dr_adjust(GameObject* item) long ammoDRM = fo::func::item_w_dr_adjust(ctd.weapon); // ammoDRM valueModules\DamageMod.cpp
long ammoDT = fo::func::item_w_dr_adjust(ctd.weapon); // Retrieve ammo DT (well, it's really Retrieve ammo DR, but since we're treating ammo DR as ammo DT...)Modules\DamageMod.cpp
DWORD item_w_dam_mult(GameObject* item) long ammoX = fo::func::item_w_dam_mult(ctd.weapon); // ammoX valueModules\DamageMod.cpp
long ammoMult = fo::func::item_w_dam_mult(ctd.weapon); // Retrieve Ammo DividendModules\DamageMod.cpp
DWORD item_w_dam_div(GameObject* item) long ammoY = fo::func::item_w_dam_div(ctd.weapon); // ammoY value (divisor)Modules\DamageMod.cpp
long ammoDiv = fo::func::item_w_dam_div(ctd.weapon); // Retrieve Ammo DivisorModules\DamageMod.cpp
void item_m_turn_off() jmp fo::funcoffs::item_m_turn_off_;Modules\BugFixes.cpp
DWORD item_c_curr_size(GameObject* critter) int totalSize = fo::func::item_c_curr_size(critter);Game\inventory.cpp
call fo::funcoffs::item_c_curr_size_;Modules\BugFixes.cpp
call fo::funcoffs::item_c_curr_size_;Modules\BugFixes.cpp
DWORD item_d_take_drug(GameObject* source, GameObject* item) return fo::func::item_d_take_drug(source, item);Game\items.cpp
jmp fo::funcoffs::item_d_take_drug_;Modules\HookScripts\ObjectHs.cpp
void insert_withdrawal() call fo::funcoffs::insert_withdrawal_;Modules\BugFixes.cpp
void perform_withdrawal_end() call fo::funcoffs::perform_withdrawal_end_;Modules\BugFixes.cpp
DWORD item_caps_total(GameObject* object) call fo::funcoffs::item_caps_total_;Modules\BugFixes.cpp
args[4] = fo::func::item_caps_total(bTable);Modules\HookScripts\MiscHs.cpp
DWORD light_get_tile(DWORD elevation, DWORD tileNum) int lightLevel = fo::func::light_get_tile(ctx.arg(0).rawValue(), ctx.arg(1).rawValue());Modules\Scripting\Handlers\Misc.cpp
void SaveGame() call fo::funcoffs::SaveGame_;Modules\LoadGameHook.cpp
void LoadGame() call fo::funcoffs::LoadGame_;Modules\LoadGameHook.cpp
void GetSlotList() jmp fo::funcoffs::GetSlotList_; // reset page save list funcModules\ExtraSaveSlots.cpp
void EndLoad(DbFile* file) call fo::funcoffs::EndLoad_;Modules\LoadGameHook.cpp
void MapDirErase(char* folder, char* ext) fo::func::MapDirErase(_F_PROTO_CRITTERS, _F_SAV);Modules\LoadOrder.cpp
void RestoreLoad() //0x480708, // RestoreLoad_ (never called)Modules\LoadGameHook.cpp
void main_init_system() call fo::funcoffs::main_init_system_;Modules\LoadGameHook.cpp
void main_reset_system() //0x480D0C, // main_reset_system_ (never called)Modules\LoadGameHook.cpp
void main_load_new() call fo::funcoffs::main_load_new_;Modules\LoadGameHook.cpp
void main_menu_create() jmp fo::funcoffs::main_menu_create_;Modules\LoadGameHook.cpp
void main_menu_is_shown() call fo::funcoffs::main_menu_is_shown_;WinProc.cpp
void map_exit() jmp fo::funcoffs::map_exit_;Modules\LoadGameHook.cpp
void map_enable_bk_processes() jmp fo::funcoffs::map_enable_bk_processes_;Modules\PartyControl.cpp
jmp fo::funcoffs::map_enable_bk_processes_;Modules\Scripting\Handlers\Misc.cpp
void map_disable_bk_processes() jmp fo::funcoffs::map_disable_bk_processes_;Modules\Scripting\Handlers\Misc.cpp
void map_set_elevation() jmp fo::funcoffs::map_set_elevation_;Modules\MiscPatches.cpp
void map_load() call fo::funcoffs::map_load_;Modules\Worldmap.cpp
void map_load_idx() jmp fo::funcoffs::map_load_idx_;Modules\MiscPatches.cpp
jmp fo::funcoffs::map_load_idx_;Modules\Worldmap.cpp
jmp fo::funcoffs::map_load_idx_; // eax - map idModules\HookScripts\MiscHs.cpp
call fo::funcoffs::map_load_idx_;Modules\HookScripts\MiscHs.cpp
jmp fo::funcoffs::map_load_idx_; // eax - mapIDModules\Scripting\Handlers\Worldmap.cpp
void map_load_file() call fo::funcoffs::map_load_file_;Modules\LoadGameHook.cpp
void map_target_load_area() call fo::funcoffs::map_target_load_area_; // returns the area ID of the loaded mapModules\MiscPatches.cpp
void map_fix_critter_combat_data() jmp fo::funcoffs::map_fix_critter_combat_data_;Modules\Objects.cpp
void map_scroll_refresh_mapper() // //fo::var::setInt(FO_VAR_map_scroll_refresh) = fo::funcoffs::map_scroll_refresh_mapper_;Modules\DebugEditor.cpp
DWORD message_exit(MessageList* msgList) fo::func::message_exit(&MsgList);Modules\HeroAppearance.cpp
fo::func::message_exit(it->second.get());Modules\Message.cpp
fo::func::message_exit(it->second.get());Modules\Message.cpp
DWORD message_load(MessageList* msgList, char* msgFilePath) if (fo::func::message_load(&MsgList, MsgFileName) == 1) {Modules\HeroAppearance.cpp
if (fo::func::message_load(&MsgList, "game\\AppIface.msg") == 1) {Modules\HeroAppearance.cpp
if (fo::func::message_load(&MsgList, "game\\AppIface.msg") == 1) {Modules\HeroAppearance.cpp
if (fo::func::message_load(list, path.c_str()) == 1) {Modules\Message.cpp
if (!fo::func::message_load(list, path.c_str())) {Modules\Message.cpp
//if (!fo::func::message_load(list, path.c_str())) {Modules\Message.cpp
DWORD message_search(MessageList* file, MessageNode* msg) if (fo::func::message_search(file, &messageBuf) == 1) {FalloutEngine\EngineUtils.cpp
jmp fo::funcoffs::message_search_;Modules\BugFixes.cpp
jmp fo::funcoffs::message_search_;Modules\BugFixes.cpp
call fo::funcoffs::message_search_;Modules\Message.cpp
DWORD message_find(DWORD* msgFile, DWORD msgNumber, DWORD* outBuf) fo::func::message_find(msgFile, msgData->number, &outValue);Modules\Message.cpp
char* getmsg(MessageList* fileAddr, MessageNode* result, DWORD messageId) return fo::func::getmsg(file, &messageBuf, messageId);FalloutEngine\EngineUtils.cpp
jmp fo::funcoffs::getmsg_;Modules\BarBoxes.cpp
call fo::funcoffs::getmsg_;Modules\QuestList.cpp
call fo::funcoffs::getmsg_;Modules\QuestList.cpp
void movieStop() jmp fo::funcoffs::movieStop_;Modules\Movies.cpp
void movieRun() call fo::funcoffs::movieRun_;Modules\Movies.cpp
void movieUpdate() __asm call fo::funcoffs::movieUpdate_; // for reading subtitles when playing mveModules\Movies.cpp
void obj_new() jmp fo::funcoffs::obj_new_;Modules\BugFixes.cpp
fo::func::obj_new_sid_inst(object, scriptType, scriptIndex);Modules\Scripting\Handlers\Objects.cpp
DWORD obj_pid_new(GameObject* object, DWORD pid) if (fo::func::obj_pid_new((fo::GameObject*)&object, pid) != -1) { // create new objectModules\HookScripts\DeathHs.cpp
DWORD obj_connect(GameObject* object, DWORD tile, DWORD elevation, RECT* rect) fo::func::obj_connect(item, source->tile, source->elevation, 0);Game\items.cpp
DWORD obj_move_to_tile(GameObject* object, DWORD tile, DWORD elevation, RECT* rect) jmp fo::funcoffs::obj_move_to_tile_;Modules\BugFixes.cpp
call fo::funcoffs::obj_move_to_tile_;Modules\BugFixes.cpp
void obj_change_fid() //fo::func::obj_change_fid(critter, artID, 0);Modules\BugFixes.cpp
void obj_set_light() call fo::funcoffs::obj_set_light_;Modules\Explosions.cpp
void obj_turn_off_light() jmp fo::funcoffs::obj_turn_off_light_;Modules\HookScripts\ObjectHs.cpp
void obj_turn_on() call fo::funcoffs::obj_turn_on_;Modules\BugFixes.cpp
DWORD obj_erase_object(GameObject* object, RECT* boundRect) if (createNewObj) fo::func::obj_erase_object(weapon, 0); // delete created objectModules\HookScripts\DeathHs.cpp
GameObject* obj_find_first() fo::GameObject* obj = fo::func::obj_find_first_at_tile(elev, tile);FalloutEngine\EngineUtils.cpp
fo::GameObject* obj = fo::func::obj_find_first();Game\objects.cpp
fo::GameObject* object = fo::func::obj_find_first_at_tile(srcObject->elevation, tile);Game\tilemap.cpp
fo::GameObject* obj = fo::func::obj_find_first_at_tile(elv, tile);Modules\DebugEditor.cpp
fo::GameObject* obj = fo::func::obj_find_first();Modules\Objects.cpp
fo::GameObject* obj = fo::func::obj_find_first_at_tile(elv, tile);Modules\Scripting\Handlers\Arrays.cpp
auto obj = fo::func::obj_find_first_at_tile(elevation, tile);Modules\Scripting\Handlers\Objects.cpp
GameObject* obj_find_next() obj = fo::func::obj_find_next_at_tile();FalloutEngine\EngineUtils.cpp
obj = fo::func::obj_find_next();Game\objects.cpp
object = fo::func::obj_find_next_at_tile();Game\tilemap.cpp
obj = fo::func::obj_find_next_at_tile();Modules\DebugEditor.cpp
obj = fo::func::obj_find_next();Modules\Objects.cpp
obj = fo::func::obj_find_next_at_tile();Modules\Scripting\Handlers\Arrays.cpp
obj = fo::func::obj_find_next_at_tile();Modules\Scripting\Handlers\Objects.cpp
void obj_find_first_at() fo::GameObject* obj = fo::func::obj_find_first_at_tile(elev, tile);FalloutEngine\EngineUtils.cpp
fo::GameObject* object = fo::func::obj_find_first_at_tile(srcObject->elevation, tile);Game\tilemap.cpp
fo::GameObject* obj = fo::func::obj_find_first_at_tile(elv, tile);Modules\DebugEditor.cpp
fo::GameObject* obj = fo::func::obj_find_first_at_tile(elv, tile);Modules\Scripting\Handlers\Arrays.cpp
auto obj = fo::func::obj_find_first_at_tile(elevation, tile);Modules\Scripting\Handlers\Objects.cpp
void obj_find_next_at() obj = fo::func::obj_find_next_at_tile();FalloutEngine\EngineUtils.cpp
object = fo::func::obj_find_next_at_tile();Game\tilemap.cpp
obj = fo::func::obj_find_next_at_tile();Modules\DebugEditor.cpp
obj = fo::func::obj_find_next_at_tile();Modules\Scripting\Handlers\Arrays.cpp
obj = fo::func::obj_find_next_at_tile();Modules\Scripting\Handlers\Objects.cpp
GameObject* obj_find_first_at_tile(DWORD elevation, DWORD tileNum) fo::GameObject* obj = fo::func::obj_find_first_at_tile(elev, tile);FalloutEngine\EngineUtils.cpp
fo::GameObject* object = fo::func::obj_find_first_at_tile(srcObject->elevation, tile);Game\tilemap.cpp
fo::GameObject* obj = fo::func::obj_find_first_at_tile(elv, tile);Modules\DebugEditor.cpp
fo::GameObject* obj = fo::func::obj_find_first_at_tile(elv, tile);Modules\Scripting\Handlers\Arrays.cpp
auto obj = fo::func::obj_find_first_at_tile(elevation, tile);Modules\Scripting\Handlers\Objects.cpp
GameObject* obj_find_next_at_tile() obj = fo::func::obj_find_next_at_tile();FalloutEngine\EngineUtils.cpp
object = fo::func::obj_find_next_at_tile();Game\tilemap.cpp
obj = fo::func::obj_find_next_at_tile();Modules\DebugEditor.cpp
obj = fo::func::obj_find_next_at_tile();Modules\Scripting\Handlers\Arrays.cpp
obj = fo::func::obj_find_next_at_tile();Modules\Scripting\Handlers\Objects.cpp
void obj_bound(GameObject* object, RECT* boundRect) fo::func::obj_bound(obj, &rect);FalloutEngine\EngineUtils.cpp
fo::func::obj_bound(targetObject, &rect);Modules\PartyControl.cpp
fo::func::obj_bound(underObject, &rect);Modules\PartyControl.cpp
GameObject* obj_blocking_at(GameObject* object, DWORD tile, DWORD elevation) fo::GameObject* obj = fo::func::obj_blocking_at(source, chkTile, source->elevation);FalloutEngine\EngineUtils.cpp
fo::GameObject* obj = fo::func::obj_blocking_at(source, chkTile, source->elevation);FalloutEngine\EngineUtils.cpp
obj = fo::func::obj_blocking_at(source, chkTile, source->elevation);FalloutEngine\EngineUtils.cpp
obj = fo::func::obj_blocking_at(source, chkTile, source->elevation);FalloutEngine\EngineUtils.cpp
if (checkTargetTile && fo::func::obj_blocking_at_wrapper(srcObject, targetTile, srcObject->elevation, blockFunc)) return 0;Game\tilemap.cpp
call fo::funcoffs::obj_blocking_at_;Modules\BugFixes.cpp
call fo::funcoffs::obj_blocking_at_;Modules\BugFixes.cpp
while (fo::func::obj_blocking_at(0, checkTile, elev)) {Modules\BugFixes.cpp
if (fo::func::obj_blocking_at(source, fo::func::tile_num_in_direction(tilePlace, dir, 1), elevation)) {Modules\BugFixes.cpp
jmp fo::funcoffs::obj_blocking_at_;Modules\HookScripts\CombatHs.cpp
call fo::funcoffs::obj_blocking_at_;Modules\HookScripts\CombatHs.cpp
MakeJump(0x48B848, HexMoveBlockingHook);Modules\HookScripts\HexBlockingHs.cpp
return fo::funcoffs::obj_blocking_at_; // with calling hookModules\Scripting\Handlers\Objects.cpp
fo::GameObject* resultObj = fo::func::obj_blocking_at_wrapper(0, tile, elevation, (void*)getBlockingFunc(type));Modules\Scripting\Handlers\Objects.cpp
void obj_shoot_blocking_at() push fo::funcoffs::obj_shoot_blocking_at_; // check hex objects func pointerModules\MiscPatches.cpp
call fo::funcoffs::obj_shoot_blocking_at_;Modules\HookScripts\HexBlockingHs.cpp
return fo::funcoffs::obj_shoot_blocking_at_; // w/o calling hookModules\Scripting\Handlers\Objects.cpp
void obj_ai_blocking_at() call fo::funcoffs::obj_ai_blocking_at_;Modules\HookScripts\HexBlockingHs.cpp
return fo::funcoffs::obj_ai_blocking_at_; // w/o calling hookModules\Scripting\Handlers\Objects.cpp
void obj_scroll_blocking_at() // return fo::funcoffs::obj_scroll_blocking_at_;Modules\Scripting\Handlers\Objects.cpp
void obj_sight_blocking_at() call fo::funcoffs::obj_sight_blocking_at_;Modules\HookScripts\HexBlockingHs.cpp
return fo::funcoffs::obj_sight_blocking_at_; // w/o calling hookModules\Scripting\Handlers\Objects.cpp
DWORD obj_dist(GameObject* obj_src, GameObject* obj_trg) return AIHelpers::AttackInRange(source, weapon, fo::func::obj_dist(source, target));Game\AI\AIHelpers.cpp
if (fo::func::item_w_range(source, fo::AttackType::ATKTYPE_PUNCH) >= fo::func::obj_dist(source, target)) {Modules\AI.cpp
long targetDist = fo::func::obj_dist(source, target);Modules\AI.cpp
return (fo::func::obj_dist(source, target) <= (fo::func::stat_level(source, fo::STAT_pe) * 3));Modules\MiscPatches.cpp
call fo::funcoffs::obj_dist_; // check distance between dude_obj and party_memberModules\MiscPatches.cpp
jmp fo::funcoffs::obj_dist_;Modules\MiscPatches.cpp
long distance = fo::func::obj_dist(fo::var::obj_dude, relativeObject);Modules\Sound.cpp
DWORD obj_dist_with_tile(GameObject* source, DWORD sourceTile, GameObject* target, DWORD targetTile) jmp fo::funcoffs::obj_dist_with_tile_;Modules\BugFixes.cpp
void object_description() jmp fo::funcoffs::object_description_;Modules\HookScripts\ObjectHs.cpp
void obj_save_dude() call fo::funcoffs::obj_save_dude_; // save current hero state structure fuctionModules\HeroAppearance.cpp
void do_options() call fo::funcoffs::do_options_;Modules\LoadGameHook.cpp
void do_optionsFunc() call fo::funcoffs::do_optionsFunc_;Modules\LoadGameHook.cpp
void do_prefscreen() call fo::funcoffs::do_prefscreen_;Modules\LoadGameHook.cpp
void palette_init() jmp fo::funcoffs::palette_init_;Modules\Graphics.cpp
call fo::funcoffs::palette_init_;Modules\SubModules\DirectDraw.cpp
void palette_fade_to() __asm call fo::funcoffs::palette_fade_to_;Modules\Scripting\Handlers\Worldmap.cpp
void palette_set_to() call fo::funcoffs::palette_set_to_;Modules\Scripting\Handlers\Misc.cpp
void partyMemberRemove() call fo::funcoffs::partyMemberRemove_;Modules\HookScripts\DeathHs.cpp
void partyMemberRecoverLoad() jmp fo::funcoffs::partyMemberRecoverLoad_;Modules\BugFixes.cpp
DWORD isPartyMember(GameObject* obj) call fo::funcoffs::isPartyMember_;Modules\BugFixes.cpp
call fo::funcoffs::isPartyMember_; // and dudeModules\BugFixes.cpp
if (!(sizeLimitMode & 2) || !(fo::func::isPartyMember(critter))) return 0; // if mode 2 is selected, check this party member, otherwise 0Modules\Inventory.cpp
int level = (isPartyMember) // fo::func::isPartyMember(npc)Modules\PartyControl.cpp
call fo::funcoffs::isPartyMember_;Modules\PartyControl.cpp
if (obj->IsCritter() && fo::func::isPartyMember(obj)) {Modules\Scripting\Handlers\Perks.cpp
if (obj->IsCritter() && fo::func::isPartyMember(obj)) {Modules\Scripting\Handlers\Perks.cpp
if (obj->IsCritter() && fo::func::isPartyMember(obj)) {Modules\Scripting\Handlers\Perks.cpp
if (obj->IsCritter() && fo::func::isPartyMember(obj)) {Modules\Scripting\Handlers\Perks.cpp
if (obj->IsCritter() && fo::func::isPartyMember(obj)) {Modules\Scripting\Handlers\Perks.cpp
void partyMemberSaveProtos() jmp fo::funcoffs::partyMemberSaveProtos_;Modules\ScriptExtender.cpp
void partyMemberIncLevels() __asm call fo::funcoffs::partyMemberIncLevels_;Modules\Scripting\Handlers\Objects.cpp
void partyMemberCopyLevelInfo() call fo::funcoffs::partyMemberCopyLevelInfo_;Modules\BugFixes.cpp
DWORD partyMemberGetCurLevel(GameObject* obj) ? fo::func::partyMemberGetCurLevel(npc)Modules\PartyControl.cpp
int level = fo::func::partyMemberGetCurLevel(partyMember);Modules\PartyControl.cpp
void loadPCX() call fo::funcoffs::loadPCX_;FalloutEngine\Functions.cpp
BYTE* data = fo::func::loadPCX(file, &w, &h);Modules\Scripting\Handlers\Interface.cpp
DWORD perk_can_add(GameObject* critter, DWORD perkId) if (fo::func::perk_can_add(fo::var::obj_dude, extPerks[i].id)) data[available++] = extPerks[i].id;Modules\Perks.cpp
result = fo::func::perk_can_add(fo::var::obj_dude, perkId);Modules\Scripting\Handlers\Perks.cpp
void perk_add() fo::func::perk_add_effect(critter, queue->perkId);Modules\BugFixes.cpp
fo::func::perk_add_effect(fo::var::obj_dude, perkID);Modules\Perks.cpp
call fo::funcoffs::perk_add_;Modules\Perks.cpp
void perk_add_force() call fo::funcoffs::perk_add_force_;Modules\BugFixes.cpp
void perk_make_list() call fo::funcoffs::perk_make_list_; // return available countModules\Perks.cpp
DWORD perk_level(GameObject* critter, DWORD perkId) return fo::func::perk_level(source, perkID);Game\stats.cpp
call fo::funcoffs::perk_level_;Modules\BugFixes.cpp
call fo::funcoffs::perk_level_;Modules\BugFixes.cpp
call fo::funcoffs::perk_level_;Modules\BugFixes.cpp
call fo::funcoffs::perk_level_; // Get rank of Bonus HtH DamageModules\DamageMod.cpp
call fo::funcoffs::perk_level_; // Get rank of Bonus HtH DamageModules\DamageMod.cpp
call fo::funcoffs::perk_level_; // Return Rank_of_Bonus_HtH_Damage_perkModules\DamageMod.cpp
call fo::funcoffs::perk_level_; // Return Rank_of_Bonus_HtH_Damage_perkModules\DamageMod.cpp
call fo::funcoffs::perk_level_;Modules\DamageMod.cpp
call fo::funcoffs::perk_level_;Modules\DamageMod.cpp
long perkLevel = fo::func::perk_level(fo::var::obj_dude, fo::PERK_quick_pockets);Modules\Inventory.cpp
int bonusmove = fo::func::perk_level(fo::var::obj_dude, fo::PERK_bonus_move);Modules\LoadGameHook.cpp
return fo::func::perk_level(source, perk);Modules\PartyControl.cpp
if (fo::func::perk_level(fo::var::obj_dude, i)) return 0x43438A; // print perksModules\Perks.cpp
jmp fo::funcoffs::perk_level_;Modules\Perks.cpp
jmp fo::funcoffs::perk_level_;Modules\Perks.cpp
call fo::funcoffs::perk_level_;Modules\Perks.cpp
call fo::funcoffs::perk_level_;Modules\Stats.cpp
call fo::funcoffs::perk_level_;Modules\Worldmap.cpp
void perk_name() jmp fo::funcoffs::perk_name_;Modules\Perks.cpp
jmp fo::funcoffs::perk_name_;Modules\Perks.cpp
void perk_description() jmp fo::funcoffs::perk_description_;Modules\Perks.cpp
jmp fo::funcoffs::perk_description_;Modules\Perks.cpp
void perk_skilldex_fid() jmp fo::funcoffs::perk_skilldex_fid_;Modules\Perks.cpp
jmp fo::funcoffs::perk_skilldex_fid_;Modules\Perks.cpp
void perk_add_effect(GameObject* critter, DWORD perkId) fo::func::perk_add_effect(critter, queue->perkId);Modules\BugFixes.cpp
fo::func::perk_add_effect(fo::var::obj_dude, perkID);Modules\Perks.cpp
void EndPipboy() call fo::funcoffs::EndPipboy_;Modules\QuestList.cpp
void pip_print() jmp fo::funcoffs::pip_print_;Modules\QuestList.cpp
void pip_back() call fo::funcoffs::pip_back_;Modules\QuestList.cpp
void PipStatus() call fo::funcoffs::PipStatus_;Modules\BugFixes.cpp
void ListHoloDiskTitles() call fo::funcoffs::ListHoloDiskTitles_;Modules\BugFixes.cpp
void PipAlarm() SafeWrite8(0x499518, CodeType::Ret);Modules\MiscPatches.cpp
void AddHotLines() call fo::funcoffs::AddHotLines_;Modules\BugFixes.cpp
void obj_new_sid() fo::func::obj_new_sid_inst(object, scriptType, scriptIndex);Modules\Scripting\Handlers\Objects.cpp
DWORD obj_new_sid_inst(GameObject* object, DWORD sType, DWORD scriptIndex) fo::func::obj_new_sid_inst(object, scriptType, scriptIndex);Modules\Scripting\Handlers\Objects.cpp
void obj_examine() call fo::funcoffs::obj_examine_;Modules\BugFixes.cpp
void obj_remove_from_inven() jmp fo::funcoffs::obj_remove_from_inven_;Modules\BugFixes.cpp
jmp fo::funcoffs::obj_remove_from_inven_;Modules\BugFixes.cpp
void obj_drop(GameObject* source, GameObject* objectToDrop) __asm call fo::funcoffs::obj_drop_;Modules\HookScripts\InventoryHs.cpp
DWORD obj_destroy(GameObject* object) fo::func::obj_destroy(item);Game\items.cpp
fo::func::obj_destroy(ammo);Modules\AI.cpp
fo::func::obj_destroy(ammo);Modules\AI.cpp
void obj_use_power_on_car() call fo::funcoffs::obj_use_power_on_car_;Modules\BugFixes.cpp
void protinst_use_item() jmp fo::funcoffs::protinst_use_item_;Modules\HookScripts\ObjectHs.cpp
void protinst_use_item_on() jmp fo::funcoffs::protinst_use_item_on_;Modules\HookScripts\ObjectHs.cpp
void obj_is_a_portal() call fo::funcoffs::obj_is_a_portal_;Modules\BugFixes.cpp
call fo::funcoffs::obj_is_a_portal_;Modules\BugFixes.cpp
void obj_lock() ctx.setReturn(fo::func::obj_lock_is_jammed(ctx.arg(0).object()));Modules\Scripting\Handlers\Objects.cpp
bool obj_is_openable(GameObject* object) if (fo::func::obj_is_openable(object)) {FalloutEngine\EngineUtils.cpp
void obj_is_open() if (fo::func::obj_is_openable(object)) {FalloutEngine\EngineUtils.cpp
DWORD obj_lock_is_jammed(GameObject* object) ctx.setReturn(fo::func::obj_lock_is_jammed(ctx.arg(0).object()));Modules\Scripting\Handlers\Objects.cpp
void obj_unjam_lock(GameObject* object) fo::func::obj_unjam_lock(ctx.arg(0).object());Modules\Scripting\Handlers\Objects.cpp
void proto_list_str() call fo::funcoffs::proto_list_str_;Modules\LoadOrder.cpp
call fo::funcoffs::proto_list_str_;Modules\LoadOrder.cpp
char* proto_get_msg_info(DWORD pid, DWORD msgType) : fo::func::proto_get_msg_info(object->protoId, 0);Modules\SubModules\ObjectName.cpp
void proto_name() jmp fo::funcoffs::proto_name_;Modules\SubModules\ObjectName.cpp
void proto_dude_update_gender() fo::func::proto_dude_update_gender(); // refresh PC base model artModules\HeroAppearance.cpp
call fo::funcoffs::proto_dude_update_gender_;Modules\HeroAppearance.cpp
fo::func::proto_dude_update_gender();Modules\HeroAppearance.cpp
fo::func::proto_dude_update_gender();Modules\HeroAppearance.cpp
void proto_dude_init() jmp fo::funcoffs::proto_dude_init_;Modules\Premade.cpp
void proto_remove_all() jmp fo::funcoffs::proto_remove_all_;Modules\CritterStats.cpp
DWORD proto_ptr(DWORD pid, Proto** ptrPtr) return (fo::func::proto_ptr(pid, outProto) != -1);FalloutEngine\EngineUtils.cpp
call fo::funcoffs::proto_ptr_;Modules\BugFixes.cpp
call fo::funcoffs::proto_ptr_;Modules\BugFixes.cpp
jmp fo::funcoffs::proto_ptr_;Modules\CritterStats.cpp
long result = fo::func::proto_ptr(pid, (fo::Proto**)&proto);Modules\CritterStats.cpp
if (proto == nullptr) fo::func::proto_ptr(critter->protoId, (fo::Proto**)&proto); // regular prototypeModules\CritterStats.cpp
if (fo::func::proto_ptr(critter->protoId, (fo::Proto**)&proto) != -1) {Modules\CritterStats.cpp
call fo::funcoffs::proto_ptr_;Modules\Inventory.cpp
if (!proto && fo::func::proto_ptr(critter->protoId, (fo::Proto**)&proto) == -1) return;Modules\Stats.cpp
if (fo::func::proto_ptr(critter->protoId, &proto) == -1) return;Modules\Stats.cpp
if (fo::util::CheckProtoID(pid) && fo::func::proto_ptr(pid, &protoPtr) != result) {Modules\Scripting\Handlers\Objects.cpp
DWORD queue_add(DWORD time, GameObject* object, void* data, DWORD qType) jmp fo::funcoffs::queue_add_; // critter_wake_up_ will be called (stand up anim)Modules\BugFixes.cpp
//fo::func::queue_add(10 * (505 - 5 * critter->critter.poison), critter, nullptr, fo::QueueType::poison_event);Modules\CritterPoison.cpp
fo::func::queue_add(10, dude, nullptr, fo::QueueType::poison_event);Modules\CritterPoison.cpp
fo::func::queue_add(member.sneak_queue_time - fo::var::fallout_game_time, npc, 0, fo::QueueType::sneak_event);Modules\PartyControl.cpp
fo::func::queue_add(realDude.sneak_queue_time - fo::var::fallout_game_time, realDude.obj_dude, 0, fo::QueueType::sneak_event);Modules\PartyControl.cpp
jmp fo::funcoffs::queue_add_;Modules\HookScripts\MiscHs.cpp
jmp fo::funcoffs::queue_add_;Modules\HookScripts\MiscHs.cpp
void queue_remove() fo::func::queue_remove_this(critter, fo::QueueType::drug_effect_event);Modules\BugFixes.cpp
fo::func::queue_remove_this(realDude.obj_dude, fo::QueueType::sneak_event);Modules\PartyControl.cpp
fo::func::queue_remove_this(fo::var::obj_dude, fo::QueueType::sneak_event); // remove the eventModules\PartyControl.cpp
void queue_remove_this(GameObject* object, DWORD qType) fo::func::queue_remove_this(critter, fo::QueueType::drug_effect_event);Modules\BugFixes.cpp
call fo::funcoffs::queue_remove_this_; // Remove knockout from queue (if there is one)Modules\BugFixes.cpp
jmp fo::funcoffs::queue_remove_this_;Modules\BugFixes.cpp
fo::func::queue_remove_this(realDude.obj_dude, fo::QueueType::sneak_event);Modules\PartyControl.cpp
call fo::funcoffs::queue_remove_this_;Modules\PartyControl.cpp
fo::func::queue_remove_this(fo::var::obj_dude, fo::QueueType::sneak_event); // remove the eventModules\PartyControl.cpp
void queue_find() return (fo::QueueAddictData*)fo::func::queue_find_first(fo::var::obj_dude, fo::QueueType::addict_event);FalloutEngine\EngineUtils.cpp
fo::QueueAddictData* queue = (fo::QueueAddictData*)fo::func::queue_find_first(critter, fo::QueueType::addict_event);FalloutEngine\EngineUtils.cpp
queue = (fo::QueueAddictData*)fo::func::queue_find_next(critter, fo::QueueType::addict_event);FalloutEngine\EngineUtils.cpp
fo::QueueRadiationData* queue = (fo::QueueRadiationData*)fo::func::queue_find_first(fo::var::obj_dude, fo::radiation_event);FalloutEngine\EngineUtils.cpp
queue = (fo::QueueRadiationData*)fo::func::queue_find_next(fo::var::obj_dude, fo::radiation_event);FalloutEngine\EngineUtils.cpp
fo::QueueRadiationData* queue = (fo::QueueRadiationData*)fo::func::queue_find_first(fo::var::obj_dude, fo::radiation_event);FalloutEngine\EngineUtils.cpp
queue = (fo::QueueRadiationData*)fo::func::queue_find_next(fo::var::obj_dude, fo::radiation_event);FalloutEngine\EngineUtils.cpp
auto queue = (fo::QueueDrugData*)fo::func::queue_find_first(critter, 0);Modules\Drugs.cpp
queue = (fo::QueueDrugData*)fo::func::queue_find_next(critter, 0);Modules\Drugs.cpp
if (fo::func::queue_find_first(partyMember, 2)) {Modules\PartyControl.cpp
void queue_clear() fo::func::queue_clear_type(fo::QueueType::poison_event, nullptr);Modules\CritterPoison.cpp
void queue_clear_type(DWORD qType, void* func) jmp fo::funcoffs::queue_clear_type_;Modules\BugFixes.cpp
fo::func::queue_clear_type(fo::QueueType::poison_event, nullptr);Modules\CritterPoison.cpp
call fo::funcoffs::queue_clear_type_;Modules\ScriptExtender.cpp
call fo::funcoffs::queue_clear_type_;Modules\ScriptExtender.cpp
void queue_next_time() call fo::funcoffs::queue_next_time_;Modules\ScriptExtender.cpp
void queue_explode_exit() mov edx, fo::funcoffs::queue_explode_exit_; // funcModules\ScriptExtender.cpp
mov edx, fo::funcoffs::queue_explode_exit_;Modules\ScriptExtender.cpp
void* queue_find_first(GameObject* object, DWORD qType) return (fo::QueueAddictData*)fo::func::queue_find_first(fo::var::obj_dude, fo::QueueType::addict_event);FalloutEngine\EngineUtils.cpp
fo::QueueAddictData* queue = (fo::QueueAddictData*)fo::func::queue_find_first(critter, fo::QueueType::addict_event);FalloutEngine\EngineUtils.cpp
fo::QueueRadiationData* queue = (fo::QueueRadiationData*)fo::func::queue_find_first(fo::var::obj_dude, fo::radiation_event);FalloutEngine\EngineUtils.cpp
fo::QueueRadiationData* queue = (fo::QueueRadiationData*)fo::func::queue_find_first(fo::var::obj_dude, fo::radiation_event);FalloutEngine\EngineUtils.cpp
auto queue = (fo::QueueDrugData*)fo::func::queue_find_first(critter, 0);Modules\Drugs.cpp
if (fo::func::queue_find_first(partyMember, 2)) {Modules\PartyControl.cpp
void* queue_find_next(GameObject* object, DWORD qType) queue = (fo::QueueAddictData*)fo::func::queue_find_next(critter, fo::QueueType::addict_event);FalloutEngine\EngineUtils.cpp
queue = (fo::QueueRadiationData*)fo::func::queue_find_next(fo::var::obj_dude, fo::radiation_event);FalloutEngine\EngineUtils.cpp
queue = (fo::QueueRadiationData*)fo::func::queue_find_next(fo::var::obj_dude, fo::radiation_event);FalloutEngine\EngineUtils.cpp
queue = (fo::QueueDrugData*)fo::func::queue_find_next(critter, 0);Modules\Drugs.cpp
void roll_check_critical() call fo::funcoffs::roll_check_critical_;Modules\HookScripts\MiscHs.cpp
DWORD roll_random(DWORD minValue, DWORD maxValue) if (!drugWasUsed && chance > 0 && fo::func::roll_random(0, 100) < chance) {Game\combatAI.cpp
long dice = fo::func::roll_random(1, 10);Modules\AI.cpp
call fo::funcoffs::roll_random_;Modules\BugFixes.cpp
__asm jmp fo::funcoffs::roll_random_;Modules\HookScripts\CombatHs.cpp
void game_time_date() call fo::funcoffs::game_time_date_;Modules\Scripting\Handlers\Misc.cpp
void set_game_time() jmp fo::funcoffs::set_game_time_;Modules\HookScripts\MiscHs.cpp
void inc_game_time() jmp fo::funcoffs::inc_game_time_;Modules\Worldmap.cpp
DWORD new_obj_id() obj->id = fo::func::new_obj_id();Modules\Objects.cpp
jmp fo::funcoffs::new_obj_id_;Modules\Objects.cpp
id = fo::func::new_obj_id();Modules\Scripting\Handlers\Objects.cpp
void scr_find_obj() self_obj = fo::func::scr_find_obj_from_program(scriptPtr->program);Modules\Scripting\Handlers\Arrays.cpp
ctx.setReturn(fo::func::scr_find_obj_from_program(scriptPtr->program));Modules\Scripting\Handlers\Objects.cpp
DWORD scr_find_sid_from_program(Program* program)static const DWORD scr_find_sid_from_program_back = fo::funcoffs::scr_find_sid_from_program_ + 5;Modules\ScriptExtender.cpp
MakeJump(0x4A390C, scr_find_sid_from_program_hack);Modules\ScriptExtender.cpp
long sid = fo::func::scr_find_sid_from_program(ctx.program());Modules\Scripting\Handlers\Misc.cpp
GameObject* scr_find_obj_from_program(Program* program) self_obj = fo::func::scr_find_obj_from_program(scriptPtr->program);Modules\Scripting\Handlers\Arrays.cpp
ctx.setReturn(fo::func::scr_find_obj_from_program(scriptPtr->program));Modules\Scripting\Handlers\Objects.cpp
void scr_set_ext_param() call fo::funcoffs::scr_set_ext_param_;Modules\ScriptExtender.cpp
call fo::funcoffs::scr_set_ext_param_;Modules\ScriptExtender.cpp
Program* loadProgram(char* fileName) : fo::func::loadProgram(fileName);Modules\ScriptExtender.cpp
scriptPtr->program = fo::func::loadProgram(fo::var::scriptListInfo[scriptPtr->scriptIdx & 0xFFFFFF].fileName);Modules\ScriptExtender.cpp
void exec_script_proc() call fo::funcoffs::exec_script_proc_;Modules\BugFixes.cpp
jmp fo::funcoffs::exec_script_proc_;Modules\ScriptExtender.cpp
jmp fo::funcoffs::exec_script_proc_;Modules\ScriptExtender.cpp
__asm call fo::funcoffs::exec_script_proc_ \Modules\Scripting\Handlers\Objects.cpp
void scr_build_lookup_table(ScriptInstance* script) fo::func::scr_build_lookup_table(scriptPtr);Modules\ScriptExtender.cpp
void scr_clear_dude_script() call fo::funcoffs::scr_clear_dude_script_;Modules\BugFixes.cpp
void scr_write_ScriptNode() call fo::funcoffs::scr_write_ScriptNode_;Modules\BugFixes.cpp
DWORD scr_ptr(DWORD scriptId, ScriptInstance** scriptPtr) fo::func::scr_ptr(sid, &script);FalloutEngine\EngineUtils.cpp
if (fo::func::scr_ptr(obj->scriptId, &script) != -1) {Modules\Objects.cpp
static const DWORD scr_ptr_back = fo::funcoffs::scr_ptr_ + 5;Modules\ScriptExtender.cpp
if (fo::func::scr_ptr(sid, &scriptPtr) == -1) return -1;Modules\ScriptExtender.cpp
MakeJump(0x4A5E34, scr_ptr_hack);Modules\ScriptExtender.cpp
if (fo::func::scr_new(&scriptId, fo::Scripts::ScriptTypes::SCRIPT_SPATIAL) == -1 || fo::func::scr_ptr(scriptId, &scriptPtr) == -1) return;Modules\Scripting\Handlers\Objects.cpp
if (fo::func::scr_ptr(spatialObj->scriptId, &script) != -1) {Modules\Scripting\Handlers\Objects.cpp
DWORD scr_new(DWORD* scriptID, DWORD sType) if (fo::func::scr_new(&scriptId, fo::Scripts::ScriptTypes::SCRIPT_SPATIAL) == -1 || fo::func::scr_ptr(scriptId, &scriptPtr) == -1) return;Modules\Scripting\Handlers\Objects.cpp
DWORD scr_remove(DWORD scriptID) call fo::funcoffs::scr_remove_;Modules\BugFixes.cpp
fo::func::scr_remove(object->scriptId);Modules\Scripting\Handlers\Objects.cpp
fo::func::scr_remove(object->scriptId);Modules\Scripting\Handlers\Objects.cpp
ScriptInstance* scr_find_first_at(DWORD elevation) fo::ScriptInstance* scriptPtr = fo::func::scr_find_first_at(elev);Modules\Scripting\Handlers\Arrays.cpp
ScriptInstance* scr_find_next_at() scriptPtr = fo::func::scr_find_next_at();Modules\Scripting\Handlers\Arrays.cpp
void scr_exec_map_exit_scripts() call fo::funcoffs::scr_exec_map_exit_scripts_;Modules\ScriptExtender.cpp
DWORD scr_get_local_var(DWORD sid, DWORD varId, DWORD* value) fo::func::scr_get_local_var(id, i, &varVal);Modules\DebugEditor.cpp
DWORD scr_set_local_var(DWORD sid, DWORD varId, DWORD value) fo::func::scr_set_local_var(id, i, values[i]);Modules\DebugEditor.cpp
void skill_set_tags(DWORD* tags, DWORD num) fo::func::skill_set_tags(tags, num);FalloutEngine\EngineUtils.cpp
call fo::funcoffs::skill_set_tags_;Modules\BugFixes.cpp
void skill_get_tags(DWORD* tags, DWORD num) fo::func::skill_get_tags(result, num);FalloutEngine\EngineUtils.cpp
DWORD skill_is_tagged(DWORD skill) if (fo::func::skill_is_tagged(skill)) mod /= 2;Modules\Perks.cpp
if (fo::func::skill_is_tagged(skill)) rawPoints *= 2;Modules\Skills.cpp
DWORD skill_level(GameObject* critter, DWORD statID) call fo::funcoffs::skill_level_;Modules\BugFixes.cpp
call fo::funcoffs::skill_level_;Modules\BugFixes.cpp
unarmed.GetDudeStats(fo::func::skill_level(fo::var::obj_dude, fo::Skill::SKILL_UNARMED_COMBAT));Modules\Unarmed.cpp
//unarmed.GetDudeStats(fo::func::skill_level(fo::var::obj_dude, fo::Skill::SKILL_UNARMED_COMBAT));Modules\Unarmed.cpp
void skill_points() call fo::funcoffs::skill_points_;Modules\Skills.cpp
call fo::funcoffs::skill_points_;Modules\Skills.cpp
call fo::funcoffs::skill_points_;Modules\Skills.cpp
void skill_inc_point() fo::func::skill_inc_point_force(critter, skill);Modules\Perks.cpp
DWORD skill_inc_point_force(GameObject* critter, DWORD skill) fo::func::skill_inc_point_force(critter, skill);Modules\Perks.cpp
void skill_dec_point() fo::func::skill_dec_point_force(critter, skill);Modules\Perks.cpp
DWORD skill_dec_point_force(GameObject* critter, DWORD skill) fo::func::skill_dec_point_force(critter, skill);Modules\Perks.cpp
void skill_use() jmp fo::funcoffs::skill_use_;Modules\HookScripts\MiscHs.cpp
void skill_check_stealing() jmp fo::funcoffs::skill_check_stealing_;Modules\HookScripts\MiscHs.cpp
void skilldex_select() call fo::funcoffs::skilldex_select_;Modules\LoadGameHook.cpp
void soundPlay() jmp fo::funcoffs::soundPlay_;Modules\Sound.cpp
void soundDelete() jmp fo::funcoffs::soundDelete_;Modules\Sound.cpp
void soundPlaying() jmp fo::funcoffs::soundPlaying_;Modules\Sound.cpp
void soundVolume() jmp fo::funcoffs::soundVolume_; // set sfx volumeModules\Sound.cpp
void soundSetCallback() call fo::funcoffs::soundSetCallback_;Modules\Sound.cpp
void soundSetFileIO() call fo::funcoffs::soundSetFileIO_;Modules\Sound.cpp
void soundGetPosition() jmp fo::funcoffs::soundGetPosition_;Modules\Sound.cpp
DWORD stat_level(GameObject* critter, DWORD statId) return (fo::func::stat_level(fo::var::obj_dude, fo::Stat::STAT_gender) == fo::Gender::GENDER_FEMALE);FalloutEngine\EngineUtils.cpp
long minHP = (hpPercent * fo::func::stat_level(source, fo::Stat::STAT_max_hit_points)) / 100;Game\combatAI.cpp
while (fo::func::stat_level(source, fo::Stat::STAT_current_hp) < minHP && source->critter.movePoints >= aiUseItemAPCost) {Game\combatAI.cpp
long maxHP = fo::func::stat_level(source, fo::Stat::STAT_max_hit_points);Game\combatAI.cpp
DWORD armorFid = fo::func::stat_level(fo::var::inven_dude, fo::STAT_gender) == fo::GENDER_FEMALEGame\inventory.cpp
long stRange = fo::func::stat_level(source, fo::Stat::STAT_st);Game\items.cpp
st = fo::func::stat_level(fo::var::obj_dude, fo::STAT_st);Game\stats.cpp
call fo::funcoffs::stat_level_; // current hpModules\AI.cpp
call fo::funcoffs::stat_level_;Modules\AI.cpp
return (fo::func::stat_level(attacker, fo::STAT_iq) >= dice); // true - is friendlyModules\AI.cpp
call fo::funcoffs::stat_level_; // PerceptionModules\BugFixes.cpp
jmp fo::funcoffs::stat_level_;Modules\BugFixes.cpp
call fo::funcoffs::stat_level_;Modules\BugFixes.cpp
call fo::funcoffs::stat_level_;Modules\BugFixes.cpp
call fo::funcoffs::stat_level_;Modules\BugFixes.cpp
call fo::funcoffs::stat_level_; // get STModules\BugFixes.cpp
amount -= fo::func::stat_level(critter, fo::STAT_poison_resist) * amount / 100;Modules\CritterPoison.cpp
call fo::funcoffs::stat_level_; // Get Melee DamageModules\DamageMod.cpp
call fo::funcoffs::stat_level_; // Get Melee DamageModules\DamageMod.cpp
call fo::funcoffs::stat_level_; // Get Total_Melee_DamageModules\DamageMod.cpp
call fo::funcoffs::stat_level_; // get STAT_melee_dmgModules\DamageMod.cpp
long newGender = fo::func::stat_level(fo::var::obj_dude, fo::STAT_gender);Modules\HeroAppearance.cpp
call fo::funcoffs::stat_level_; // get PC stat current genderModules\HeroAppearance.cpp
long max_hp = fo::func::stat_level(target, fo::STAT_max_hit_points);Modules\Inventory.cpp
int ap = fo::func::stat_level(fo::var::obj_dude, fo::STAT_max_move_points);Modules\LoadGameHook.cpp
return (fo::func::obj_dist(source, target) <= (fo::func::stat_level(source, fo::STAT_pe) * 3));Modules\MiscPatches.cpp
call fo::funcoffs::stat_level_;Modules\MiscPatches.cpp
int ac = fo::func::stat_level(partyMember, fo::STAT_ac);Modules\PartyControl.cpp
call fo::funcoffs::stat_level_;Modules\Perks.cpp
result += fo::func::stat_level(critter, i) * multipliers[skill * 7 + i];Modules\Skills.cpp
levelStats[stat] = fo::func::stat_level(critter, stat);Modules\Stats.cpp
auto getStatFunc = (derivedHPwBonus) ? fo::func::stat_level : fo::func::stat_get_base;Modules\Stats.cpp
psStat[stat] = fo::func::stat_level(fo::var::obj_dude, stat);Modules\Unarmed.cpp
maxOut = unarmed.Hit(hit).maxDamage + fo::func::stat_level(source, fo::Stat::STAT_melee_dmg);Modules\Unarmed.cpp
DWORD stat_get_base(GameObject* critter, DWORD statID) return fo::func::stat_get_base_direct(fo::var::obj_dude, statID);Game\stats.cpp
call fo::funcoffs::stat_get_base_; // Get Melee Damage w/o bonusesModules\DamageMod.cpp
call fo::funcoffs::stat_get_base_; // Get Melee Damage w/o bonusesModules\DamageMod.cpp
if (!derivedHPwBonus) baseStats[stat] = fo::func::stat_get_base(critter, stat);Modules\Stats.cpp
auto getStatFunc = (derivedHPwBonus) ? fo::func::stat_level : fo::func::stat_get_base;Modules\Stats.cpp
DWORD stat_get_base_direct(GameObject* critter, DWORD statID) return fo::func::stat_get_base_direct(fo::var::obj_dude, statID);Game\stats.cpp
DWORD stat_get_bonus(GameObject* critter, DWORD statID) int value = fo::func::stat_get_bonus(critter, stat);Modules\Perks.cpp
void inc_stat() call fo::funcoffs::inc_stat_;Modules\BugFixes.cpp
DWORD stat_set_bonus(GameObject* critter, DWORD statID, DWORD amount) fo::func::stat_set_bonus(critter, stat, value + mod);Modules\Perks.cpp
void stat_set_defaults() call fo::funcoffs::stat_set_defaults_;Modules\BugFixes.cpp
void stat_recalc_derived() {0x4AF6FC, 5},CheckAddress.cpp
MakeJump(0x4AF6FC, stat_recalc_derived_hack); // overrides functionModules\Stats.cpp
call fo::funcoffs::stat_recalc_derived_;Modules\Scripting\Handlers\Interface.cpp
void stat_pc_get() call fo::funcoffs::stat_pc_get_;Modules\Scripting\Handlers\Perks.cpp
void stat_pc_set() call fo::funcoffs::stat_pc_set_;Modules\Scripting\Handlers\Stats.cpp
void stat_pc_add_experience(DWORD amount) call fo::funcoffs::stat_pc_add_experience_;Modules\BugFixes.cpp
call fo::funcoffs::stat_pc_add_experience_;Modules\BugFixes.cpp
call fo::funcoffs::stat_pc_add_experience_;Modules\BugFixes.cpp
fo::func::stat_pc_add_experience(delayedExperience);Modules\PartyControl.cpp
jmp fo::funcoffs::stat_pc_add_experience_;Modules\PartyControl.cpp
void strParseStrFromList() call fo::funcoffs::strParseStrFromList_;Modules\Worldmap.cpp
DWORD text_object_create(GameObject* object, char* text, DWORD font, DWORD colorText, DWORD colorOutline, RECT* rect) if (!fo::func::text_object_create(object, text, font, colorText, colorOutline, &rect)) {FalloutEngine\EngineUtils.cpp
jmp fo::funcoffs::text_object_create_;Modules\Sound.cpp
void tile_refresh_rect(RECT* boundRect, DWORD elevation) fo::func::tile_refresh_rect(&rect, object->elevation);FalloutEngine\EngineUtils.cpp
fo::func::tile_refresh_rect(&rect, obj->elevation);FalloutEngine\EngineUtils.cpp
fo::func::tile_refresh_rect(&rect, fo::var::map_elevation);Modules\MiscPatches.cpp
fo::func::tile_refresh_rect(&rect, fo::var::map_elevation);Modules\PartyControl.cpp
fo::func::tile_refresh_rect(&rect, fo::var::map_elevation);Modules\PartyControl.cpp
void tile_refresh_display() fo::func::tile_refresh_display();HRP\ViewMap\ViewMap.cpp
// fo::func::tile_refresh_display();Modules\DebugEditor.cpp
fo::func::tile_refresh_display();Modules\Scripting\Handlers\Interface.cpp
void tile_set_center() sf::MakeJump(fo::funcoffs::tile_set_center_, tile_set_center_hack_replacement); // 0x4B12F8HRP\ViewMap\ViewMap.cpp
call fo::funcoffs::tile_set_center_;HRP\ViewMap\ViewMap.cpp
jmp fo::funcoffs::tile_set_center_;HRP\ViewMap\ViewMap.cpp
void refresh_mapper() // fo::var::setInt(FO_VAR_tile_refresh) = fo::funcoffs::refresh_mapper_;Modules\DebugEditor.cpp
DWORD tile_coord(DWORD tile, DWORD* outX, DWORD* outY) fo::func::tile_coord(sourceTile, &source_X, &source_Y);Game\tilemap.cpp
fo::func::tile_coord(targetTile, &target_X, &target_Y);Game\tilemap.cpp
fo::func::tile_coord(targetTile, &targetX, &targetY);Game\tilemap.cpp
fo::func::tile_coord(tile, &x, &y);Game\tilemap.cpp
fo::func::tile_coord(tObj->tile_num, &tObj->rect.x, &tObj->rect.y);Modules\MiscPatches.cpp
call fo::funcoffs::tile_coord_;Modules\Scripting\Handlers\Misc.cpp
void tile_num() long chkTile = fo::func::tile_num_in_direction(dstTile, rotation, 1);FalloutEngine\EngineUtils.cpp
long chkTile = fo::func::tile_num_in_direction(dstTile, dir, 1);FalloutEngine\EngineUtils.cpp
chkTile = fo::func::tile_num_in_direction(dstTile, rotation, 1);FalloutEngine\EngineUtils.cpp
chkTile = fo::func::tile_num_in_direction(dstTile, rotation, 1);FalloutEngine\EngineUtils.cpp
long _tile = fo::func::tile_num_in_direction(tile, direction, 1);Game\tilemap.cpp
long tile = fo::func::tile_num(target_X, target_Y);Game\tilemap.cpp
long tile = fo::func::tile_num(target_X, target_Y);Game\tilemap.cpp
long tile = fo::func::tile_num_in_direction(childData.tile, rotation, 1);Game\tilemap.cpp
objTile = fo::func::tile_num_in_direction(objTile, dir, 1);Game\AI\AIHelpers.cpp
checkTile = fo::func::tile_num_in_direction(checkTile, rotation, dist);Modules\BugFixes.cpp
long tilePlace = fo::func::tile_num_in_direction(dudeTile, dudeRot, distance);Modules\BugFixes.cpp
if (fo::func::obj_blocking_at(source, fo::func::tile_num_in_direction(tilePlace, dir, 1), elevation)) {Modules\BugFixes.cpp
call fo::funcoffs::tile_num_; // ebx - unusedModules\Scripting\Handlers\Misc.cpp
ctx.setReturn(fo::func::tile_num(ctx.arg(0).rawValue(), ctx.arg(1).rawValue()));Modules\Scripting\Handlers\Worldmap.cpp
DWORD tile_dist(DWORD scrTile, DWORD dstTile) if (fo::func::tile_dist(sourceTile, obj->tile) <= (radius + multiHex)) {FalloutEngine\EngineUtils.cpp
if (fo::func::tile_dist(source->tile, dstTile) > 1) {FalloutEngine\EngineUtils.cpp
long currentRange = fo::func::tile_dist(sourceTile, targetTile);Game\tilemap.cpp
long dist = fo::func::tile_dist(targetTile, tile);Game\tilemap.cpp
long dist = fo::func::tile_dist(targetTile, tile);Game\tilemap.cpp
DWORD tile_num_in_direction(DWORD tile, DWORD rotation, DWORD distance) long chkTile = fo::func::tile_num_in_direction(dstTile, rotation, 1);FalloutEngine\EngineUtils.cpp
long chkTile = fo::func::tile_num_in_direction(dstTile, dir, 1);FalloutEngine\EngineUtils.cpp
chkTile = fo::func::tile_num_in_direction(dstTile, rotation, 1);FalloutEngine\EngineUtils.cpp
chkTile = fo::func::tile_num_in_direction(dstTile, rotation, 1);FalloutEngine\EngineUtils.cpp
long _tile = fo::func::tile_num_in_direction(tile, direction, 1);Game\tilemap.cpp
long tile = fo::func::tile_num_in_direction(childData.tile, rotation, 1);Game\tilemap.cpp
objTile = fo::func::tile_num_in_direction(objTile, dir, 1);Game\AI\AIHelpers.cpp
jmp fo::funcoffs::tile_num_in_direction_;Modules\BugFixes.cpp
checkTile = fo::func::tile_num_in_direction(checkTile, rotation, dist);Modules\BugFixes.cpp
long tilePlace = fo::func::tile_num_in_direction(dudeTile, dudeRot, distance);Modules\BugFixes.cpp
if (fo::func::obj_blocking_at(source, fo::func::tile_num_in_direction(tilePlace, dir, 1), elevation)) {Modules\BugFixes.cpp
DWORD tile_dir(DWORD scrTile, DWORD dstTile) long dir = fo::func::tile_dir(source->tile, dstTile);FalloutEngine\EngineUtils.cpp
long dir = fo::func::tile_dir(objTile, targetTile);Game\AI\AIHelpers.cpp
long dir = source->rotation - fo::func::tile_dir(source->tile, target->tile);Modules\MiscPatches.cpp
long direction = fo::func::tile_dir(fo::var::obj_dude->tile, relativeObject->tile);Modules\Sound.cpp
void tile_num_beyond() sf::MakeJump(fo::funcoffs::tile_num_beyond_ + 1, tile_num_beyond_replacement); // 0x4B1B84Game\tilemap.cpp
DWORD tile_on_edge(DWORD tile) if ((dist + currentRange) >= maxRange || fo::func::tile_on_edge(tile)) return tile;Game\tilemap.cpp
if ((dist + currentRange) >= maxRange || fo::func::tile_on_edge(tile)) return tile;Game\tilemap.cpp
DWORD square_coord(DWORD square, DWORD* outX, DWORD* outY) fo::func::square_coord(X + sY, &s_x, &s_y);HRP\ViewMap\ViewMap.cpp
void square_num() call fo::funcoffs::square_num_;Modules\Scripting\Handlers\Misc.cpp
void square_xy() call fo::funcoffs::square_xy_;FalloutEngine\Functions.cpp
fo::func::square_xy(rect->x, rect->offy, &x0, &y0);HRP\ViewMap\ViewMap.cpp
fo::func::square_xy(rect->x, rect->y, &x1, &y1);HRP\ViewMap\ViewMap.cpp
fo::func::square_xy(rect->offx, rect->y, &x2, &y2);HRP\ViewMap\ViewMap.cpp
fo::func::square_xy(rect->offx, rect->offy, &x3, &y3);HRP\ViewMap\ViewMap.cpp
void grid_toggle() // __asm call fo::funcoffs::grid_toggle_;Modules\DebugEditor.cpp
void floor_draw() call fo::funcoffs::floor_draw_;HRP\ViewMap\ViewMap.cpp
void tile_scroll_to() sf::MakeJump(fo::funcoffs::tile_scroll_to_, tile_scroll_to_hack_replacement); // 0x4B3924HRP\ViewMap\ViewMap.cpp
jmp fo::funcoffs::tile_scroll_to_;Modules\TalkingHeads.cpp
void trait_init() call fo::funcoffs::trait_init_;Modules\Perks.cpp
DWORD trait_level(DWORD traitID) return fo::func::trait_level(trait);Modules\PartyControl.cpp
void trait_adjust_stat() sf::MakeJump(fo::funcoffs::trait_adjust_stat_, trait_adjust_stat_replacement); // 0x4B3C7CGame\stats.cpp
void trait_adjust_skill() sf::MakeJump(fo::funcoffs::trait_adjust_skill_, trait_adjust_skill_replacement); // 0x4B40FCGame\skills.cpp
void windowGetTextColor() __asm call fo::funcoffs::windowGetTextColor_; // set from SetTextColorModules\Scripting\Handlers\Interface.cpp
void windowCheckRegion() jmp fo::funcoffs::windowCheckRegion_;Modules\BugFixes.cpp
void windowHide() __asm call fo::funcoffs::windowHide_;Modules\Scripting\Handlers\Interface.cpp
void windowShow() __asm call fo::funcoffs::windowShow_;Modules\Scripting\Handlers\Interface.cpp
DWORD windowWidth() long w_width = fo::func::windowWidth();Modules\Scripting\Handlers\Interface.cpp
DWORD createWindow(char* winName, DWORD x, DWORD y, DWORD width, DWORD height, DWORD color, DWORD flags) if (fo::func::createWindow(ctx.arg(0).strValue(),Modules\Scripting\Handlers\Interface.cpp
DWORD selectWindowID(DWORD sWinID) if (!fo::func::selectWindowID(ctx.program()->currentScriptWin) || fo::var::getInt(FO_VAR_currentWindow) == -1) {Modules\Scripting\Handlers\Interface.cpp
long result = fo::func::selectWindowID(ctx.program()->currentScriptWin); // TODO: examine the issue of restoring program->currentScriptWin of the current window in op_pop_flags_Modules\Scripting\Handlers\Interface.cpp
void selectWindow() if (!fo::func::selectWindowID(ctx.program()->currentScriptWin) || fo::var::getInt(FO_VAR_currentWindow) == -1) {Modules\Scripting\Handlers\Interface.cpp
long result = fo::func::selectWindowID(ctx.program()->currentScriptWin); // TODO: examine the issue of restoring program->currentScriptWin of the current window in op_pop_flags_Modules\Scripting\Handlers\Interface.cpp
void windowGetBuffer() call fo::funcoffs::windowGetBuffer_;FalloutEngine\Functions.cpp
DWORD windowWrapLineWithSpacing(DWORD winID, char* text, DWORD width, DWORD height, DWORD x, DWORD y, DWORD color, DWORD alignment, DWORD lineSpacing) fo::func::windowWrapLineWithSpacing(win->wID, text, width, maxHeight, x, y, 0x201000F, 0, 0);Modules\Scripting\Handlers\Interface.cpp
ctx.setReturn(fo::func::windowWrapLineWithSpacing(win->wID, text, width, maxHeight, x, y, color, 0, 0)); // returns count of lines printedModules\Scripting\Handlers\Interface.cpp
void windowWrapLine() fo::func::windowWrapLineWithSpacing(win->wID, text, width, maxHeight, x, y, 0x201000F, 0, 0);Modules\Scripting\Handlers\Interface.cpp
ctx.setReturn(fo::func::windowWrapLineWithSpacing(win->wID, text, width, maxHeight, x, y, color, 0, 0)); // returns count of lines printedModules\Scripting\Handlers\Interface.cpp
void displayInWindow() call fo::funcoffs::displayInWindow_; // *data, width, height, whereFalloutEngine\Functions.cpp
fo::func::displayInWindow(framePtr->width, framePtr->width, framePtr->height, pixelData); // scaled to window size (w/o transparent)Modules\Scripting\Handlers\Interface.cpp
void windowDisplay() fo::func::windowDisplayBuf(x + frmPtr->xshift[direction], framePtr->width, y + frmPtr->yshift[direction], framePtr->height, pixelData, ctx.arg(4).rawValue());Modules\Scripting\Handlers\Interface.cpp
void windowDisplayBuf() cmovnz ebx, fo::funcoffs::windowDisplayBuf_;FalloutEngine\Functions.cpp
fo::func::windowDisplayBuf(x + frmPtr->xshift[direction], framePtr->width, y + frmPtr->yshift[direction], framePtr->height, pixelData, ctx.arg(4).rawValue());Modules\Scripting\Handlers\Interface.cpp
void windowDisplayTransBuf() mov ebx, fo::funcoffs::windowDisplayTransBuf_;FalloutEngine\Functions.cpp
DWORD _word_wrap(char* text, unsigned char maxWidth, DWORD* buf, unsigned char* count) call fo::funcoffs::_word_wrap_;Modules\QuestList.cpp
fo::func::_word_wrap(text, width, buf, count);Modules\QuestList.cpp
if (fo::func::_word_wrap(text, width, buf, count) == -1) return ExitCode::Error; // error wrapModules\QuestList.cpp
void wmWorldMapLoadTempData() call fo::funcoffs::wmWorldMapLoadTempData_;Modules\Worldmap.cpp
void wmMapMatchNameToIdx() call fo::funcoffs::wmMapMatchNameToIdx_;Modules\MiscPatches.cpp
void wmMapCanRestHere() jmp fo::funcoffs::wmMapCanRestHere_;Modules\Worldmap.cpp
void wmFindCurSubTileFromPos() call fo::funcoffs::wmFindCurSubTileFromPos_;FalloutEngine\EngineUtils.cpp
call fo::funcoffs::wmFindCurSubTileFromPos_;Modules\BugFixes.cpp
DWORD wmEvalTileNumForPlacement(DWORD tile) if (fo::func::wmEvalTileNumForPlacement(tilePlace)) {Modules\BugFixes.cpp
void wmPartyInitWalking() jmp fo::funcoffs::wmPartyInitWalking_;Modules\BugFixes.cpp
jmp fo::funcoffs::wmPartyInitWalking_;Modules\Interface.cpp
void wmPartyWalkingStep() jmp fo::funcoffs::wmPartyWalkingStep_;Modules\Worldmap.cpp
fo::func::wmPartyWalkingStep();Modules\HookScripts\MiscHs.cpp
void wmInterfaceScrollTabsStart() jmp fo::funcoffs::wmInterfaceScrollTabsStart_;Modules\Interface.cpp
void wmInterfaceInit() call fo::funcoffs::wmInterfaceInit_;Modules\LoadGameHook.cpp
void wmMouseBkProc() mov eax, fo::funcoffs::wmMouseBkProc_;HRP\MoviesScreen.cpp
mov eax, fo::funcoffs::wmMouseBkProc_;HRP\MoviesScreen.cpp
void wmMarkSubTileOffsetVisitedFunc() call fo::funcoffs::wmMarkSubTileOffsetVisitedFunc_;Modules\BugFixes.cpp
void wmMarkSubTileRadiusVisited() call fo::funcoffs::wmMarkSubTileRadiusVisited_;Modules\BugFixes.cpp
void wmSubTileMarkRadiusVisited() call fo::funcoffs::wmSubTileMarkRadiusVisited_;Modules\BugFixes.cpp
void wmInterfaceRefresh() call fo::funcoffs::wmInterfaceRefresh_;Modules\Worldmap.cpp
jmp fo::funcoffs::wmInterfaceRefresh_;Modules\HookScripts\MiscHs.cpp
jmp fo::funcoffs::wmInterfaceRefresh_;Modules\HookScripts\MiscHs.cpp
jmp fo::funcoffs::wmInterfaceRefresh_;Modules\HookScripts\MiscHs.cpp
__asm call fo::funcoffs::wmInterfaceRefresh_;Modules\Scripting\Handlers\Worldmap.cpp
void wmInterfaceDrawSubTileRectFogged(unsigned char* surface, DWORD width, DWORD height, DWORD surfaceWidth) fo::func::wmInterfaceDrawSubTileRectFogged(surf, width, height, surfWidth);FalloutEngine\EngineUtils.cpp
void wmDrawCursorStopped() __asm jmp fo::funcoffs::wmDrawCursorStopped_;Modules\Interface.cpp
void wmCarUseGas(DWORD gasAmount) fo::func::wmCarUseGas(100);Modules\HookScripts\MiscHs.cpp
void wmRefreshInterfaceOverlay(DWORD isRedraw) if (backgroundCopy) fo::func::wmRefreshInterfaceOverlay(0); // prevent printing text over the interfaceModules\Interface.cpp
void wmMapMusicStart() jmp fo::funcoffs::wmMapMusicStart_;Modules\MiscPatches.cpp
void wmMatchAreaContainingMapIdx() call fo::funcoffs::wmMatchAreaContainingMapIdx_;Modules\MiscPatches.cpp
call fo::funcoffs::wmMatchAreaContainingMapIdx_;Modules\Worldmap.cpp
call fo::funcoffs::wmMatchAreaContainingMapIdx_;Modules\HookScripts\MiscHs.cpp
call fo::funcoffs::wmMatchAreaContainingMapIdx_;Modules\Scripting\Handlers\Worldmap.cpp
void wmTeleportToArea() call fo::funcoffs::wmTeleportToArea_;Modules\Worldmap.cpp
void mem_malloc() jmp fo::funcoffs::mem_malloc_;HRP\InterfaceBar.cpp
call fo::funcoffs::mem_malloc_;Modules\BarBoxes.cpp
call fo::funcoffs::mem_malloc_; // malloc the necessary memoryModules\BugFixes.cpp
void* mem_realloc(void* lpmem, DWORD msize) tiles->names = (char*)fo::func::mem_realloc(tiles->names, listpos * 13);Modules\Tiles.cpp
void mem_free(void* mem) jmp fo::funcoffs::mem_free_;Modules\BugFixes.cpp
fo::func::mem_free(fo::var::text_object_list[i]->buffer);Modules\MiscPatches.cpp
fo::func::mem_free(fo::var::text_object_list[i]);Modules\MiscPatches.cpp
fo::func::mem_free(tObj->buffer);Modules\MiscPatches.cpp
fo::func::mem_free(tObj);Modules\MiscPatches.cpp
void my_free() __asm call fo::funcoffs::my_free_;Modules\Scripting\Handlers\Interface.cpp
void db_init() if (!it->empty()) fo::func::db_init(it->c_str(), 0);Modules\LoadOrder.cpp
if (!it->empty()) fo::func::db_init(it->c_str(), 0);Modules\LoadOrder.cpp
void db_read_to_buf() call fo::funcoffs::db_read_to_buf_;Modules\FileSystem.cpp
DWORD db_fclose(DbFile* file) fo::func::db_fclose(frmStream);FalloutEngine\EngineUtils.cpp
fo::func::db_fclose(frmStream);FalloutEngine\EngineUtils.cpp
fo::func::db_fclose(frmStream);FalloutEngine\EngineUtils.cpp
jmp fo::funcoffs::db_fclose_;HRP\SplashScreen.cpp
fo::func::db_fclose(file);HRP\ViewMap\EdgeBorder.cpp
fo::func::db_fclose(file);HRP\ViewMap\EdgeBorder.cpp
if (file) fo::func::db_fclose(file);Modules\ExtraSaveSlots.cpp
fo::func::db_fclose(file);Modules\ExtraSaveSlots.cpp
HookCalls(asm_xfclose, {0x4C5DBD, 0x4C5EA5, 0x4C5EB4});Modules\FileSystem.cpp
fo::func::db_fclose(fileStream);Modules\HeroAppearance.cpp
fo::func::db_fclose(FileStream);Modules\HeroAppearance.cpp
fo::func::db_fclose(file);Modules\Tiles.cpp
fo::func::db_fclose(artFile);Modules\Tiles.cpp
fo::func::db_fclose(file);Modules\Tiles.cpp
fo::func::db_fclose(artFile);Modules\Tiles.cpp
fo::func::db_fclose(file);Modules\Tiles.cpp
DbFile* db_fopen(char* path, char* mode) auto frmStream = fo::func::db_fopen(frmPath, "rb");FalloutEngine\EngineUtils.cpp
frmStream = fo::func::db_fopen(frmPath, "rb");FalloutEngine\EngineUtils.cpp
fo::DbFile* file = fo::func::db_fopen(edgPath, "rb");HRP\ViewMap\EdgeBorder.cpp
HookCalls(asm_xfopen, {0x4C5DA9, 0x4C5E16, 0x4C5EC8});Modules\FileSystem.cpp
return fo::func::db_fopen(file, mode);Modules\LoadOrder.cpp
jmp fo::funcoffs::db_fopen_;Modules\LoadOrder.cpp
call fo::funcoffs::db_fopen_;Modules\Message.cpp
jmp fo::funcoffs::db_fopen_;Modules\Message.cpp
return (premadePath) ? fo::func::db_fopen(premadePath, mode) : nullptr;Modules\Premade.cpp
jmp fo::funcoffs::db_fopen_;Modules\Premade.cpp
fo::DbFile* file = fo::func::db_fopen("art\\tiles\\gridmask.frm", "rb"); // same as grid000.frm from HRPModules\Tiles.cpp
fo::DbFile* artFile = fo::func::db_fopen(buf, "rb");Modules\Tiles.cpp
fo::DbFile* file = fo::func::db_fopen(buf, "wb");Modules\Tiles.cpp
fo::DbFile* file = fo::func::db_fopen("art\\tiles\\xltiles.lst", "rt");Modules\Tiles.cpp
char* db_fgets(char* buf, DWORD max_count, DbFile* file) while (fo::func::db_fgets(buf, 31, file) > 0) {Modules\Tiles.cpp
void db_fputc() HookCalls(asm_xfputc, {0x4C5FE4, 0x4C61B5, 0x4C61E2, 0x4C61FE, 0x4C6479, 0x4C64B3, 0x4C64D2});Modules\FileSystem.cpp
void db_fputs() HookCall(0x4C5FEC, asm_xfputs);Modules\FileSystem.cpp
void db_ungetc() HookCall(0x4C5FF4, asm_xfungetc);Modules\FileSystem.cpp
DWORD db_fread(void* buf, DWORD elsize, DWORD count, DbFile* file) if (fo::func::db_freadInt(frmStream, &frmHeader->version) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShort(frmStream, &frmHeader->FPS) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShort(frmStream, &frmHeader->actionFrame) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShort(frmStream, &frmHeader->numFrames) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShortCount(frmStream, frmHeader->xCentreShift, 6) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShortCount(frmStream, frmHeader->yCentreShift, 6) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadIntCount(frmStream, frmHeader->oriOffset, 6) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadInt(frmStream, &frmHeader->frameAreaSize) == -1)FalloutEngine\EngineUtils.cpp
if (fo::func::db_freadShort(frmStream, &frame->width) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShort(frmStream, &frame->height) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadInt(frmStream, &frame->size) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShort(frmStream, &frame->x) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShort(frmStream, &frame->y) == -1)FalloutEngine\EngineUtils.cpp
if (fo::func::db_fread(frame->indexBuff, 1, frame->size, frmStream) != frame->size)FalloutEngine\EngineUtils.cpp
fo::func::db_freadShort(file, &rixWidth);HRP\SplashScreen.cpp
fo::func::db_freadShort(file, &rixHeight);HRP\SplashScreen.cpp
fo::func::db_fread(rixBuffer, 1, size, file);HRP\SplashScreen.cpp
fo::func::db_freadInt(file, &getValue);HRP\ViewMap\EdgeBorder.cpp
fo::func::db_freadInt(file, &getValue);HRP\ViewMap\EdgeBorder.cpp
if (fo::func::db_freadInt(file, &getValue) || getValue) return file; // error, incorrect map levelHRP\ViewMap\EdgeBorder.cpp
if (fo::func::db_freadIntCount(file, (DWORD*)&edgeData->squareRect, 4) || fo::func::db_freadInt(file, (DWORD*)&edgeData->clipData)) {HRP\ViewMap\EdgeBorder.cpp
long result = fo::func::db_freadIntCount(file, (DWORD*)&edgeData->tileRect, 4); // load rectangle dataHRP\ViewMap\EdgeBorder.cpp
if (fo::func::db_freadInt(file, &getValue)) { // are there more rectangles on the current map level?HRP\ViewMap\EdgeBorder.cpp
if (fo::func::db_freadInt(fileStream, &temp) != -1 && temp < 100) {Modules\HeroAppearance.cpp
if (fo::func::db_freadInt(fileStream, &temp) != -1 && temp < 100) {Modules\HeroAppearance.cpp
fo::func::db_freadByteCount(file, mask, 80 * 36);Modules\Tiles.cpp
fo::func::db_freadShort(artFile, &width);Modules\Tiles.cpp
fo::func::db_freadShort(artFile, &height);Modules\Tiles.cpp
fo::func::db_fread(pixelData, 1, bytes, artFile) != bytes)Modules\Tiles.cpp
fo::func::db_freadByteCount(artFile, (BYTE*)&frame, 74);Modules\Tiles.cpp
void db_fwrite() HookCall(0x4C60B8, asm_xfwrite);Modules\FileSystem.cpp
if (fo::func::db_fwriteInt(FileStream, (DWORD)currentRaceVal) != -1) {Modules\HeroAppearance.cpp
fo::func::db_fwriteInt(FileStream, (DWORD)currentStyleVal);Modules\HeroAppearance.cpp
fo::func::db_fwriteByteCount(file, (BYTE*)&frame, sizeof(frame));Modules\Tiles.cpp
DWORD db_fseek(DbFile* file, DWORD pos, DWORD origin) fo::func::db_fseek(file, 4, SEEK_SET);HRP\SplashScreen.cpp
fo::func::db_fseek(file, 2 + 768, SEEK_CUR);HRP\SplashScreen.cpp
HookCall(0x4C60C0, asm_xfseek);Modules\FileSystem.cpp
jmp fo::funcoffs::db_fseek_;Modules\HeroAppearance.cpp
fo::func::db_fseek(file, 0x4A, SEEK_SET);Modules\Tiles.cpp
fo::func::db_fseek(artFile, 0x3E, SEEK_SET); // frameDataModules\Tiles.cpp
if (fo::func::db_fseek(artFile, 0x4A, SEEK_SET) ||Modules\Tiles.cpp
fo::func::db_fseek(artFile, 0, SEEK_SET);Modules\Tiles.cpp
void db_ftell() HookCall(0x4C60C8, asm_xftell);Modules\FileSystem.cpp
void db_rewind() HookCall(0x4C60D0, asm_xfrewind);Modules\FileSystem.cpp
void db_feof() HookCall(0x4C60D8, asm_xfeof);Modules\FileSystem.cpp
DWORD db_freadByte(DbFile* file, unsigned char* _out) fo::func::db_freadByteCount(file, mask, 80 * 36);Modules\Tiles.cpp
fo::func::db_freadByteCount(artFile, (BYTE*)&frame, 74);Modules\Tiles.cpp
DWORD db_freadShort(DbFile* file, ushort* _out) else if (fo::func::db_freadShort(frmStream, &frmHeader->FPS) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShort(frmStream, &frmHeader->actionFrame) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShort(frmStream, &frmHeader->numFrames) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShortCount(frmStream, frmHeader->xCentreShift, 6) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShortCount(frmStream, frmHeader->yCentreShift, 6) == -1)FalloutEngine\EngineUtils.cpp
if (fo::func::db_freadShort(frmStream, &frame->width) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShort(frmStream, &frame->height) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShort(frmStream, &frame->x) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShort(frmStream, &frame->y) == -1)FalloutEngine\EngineUtils.cpp
fo::func::db_freadShort(file, &rixWidth);HRP\SplashScreen.cpp
fo::func::db_freadShort(file, &rixHeight);HRP\SplashScreen.cpp
fo::func::db_freadShort(artFile, &width);Modules\Tiles.cpp
fo::func::db_freadShort(artFile, &height);Modules\Tiles.cpp
DWORD db_freadInt(DbFile* file, DWORD* _out) if (fo::func::db_freadInt(frmStream, &frmHeader->version) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadIntCount(frmStream, frmHeader->oriOffset, 6) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadInt(frmStream, &frmHeader->frameAreaSize) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadInt(frmStream, &frame->size) == -1)FalloutEngine\EngineUtils.cpp
fo::func::db_freadInt(file, &getValue);HRP\ViewMap\EdgeBorder.cpp
fo::func::db_freadInt(file, &getValue);HRP\ViewMap\EdgeBorder.cpp
if (fo::func::db_freadInt(file, &getValue) || getValue) return file; // error, incorrect map levelHRP\ViewMap\EdgeBorder.cpp
if (fo::func::db_freadIntCount(file, (DWORD*)&edgeData->squareRect, 4) || fo::func::db_freadInt(file, (DWORD*)&edgeData->clipData)) {HRP\ViewMap\EdgeBorder.cpp
long result = fo::func::db_freadIntCount(file, (DWORD*)&edgeData->tileRect, 4); // load rectangle dataHRP\ViewMap\EdgeBorder.cpp
if (fo::func::db_freadInt(file, &getValue)) { // are there more rectangles on the current map level?HRP\ViewMap\EdgeBorder.cpp
call fo::funcoffs::db_freadInt_;Modules\BugFixes.cpp
if (fo::func::db_freadInt(fileStream, &temp) != -1 && temp < 100) {Modules\HeroAppearance.cpp
if (fo::func::db_freadInt(fileStream, &temp) != -1 && temp < 100) {Modules\HeroAppearance.cpp
DWORD db_fwriteByte(DbFile* file, DWORD value) fo::func::db_fwriteByteCount(file, (BYTE*)&frame, sizeof(frame));Modules\Tiles.cpp
DWORD db_fwriteInt(DbFile* file, DWORD value) jmp fo::funcoffs::db_fwriteInt_;Modules\BugFixes.cpp
if (fo::func::db_fwriteInt(FileStream, (DWORD)currentRaceVal) != -1) {Modules\HeroAppearance.cpp
fo::func::db_fwriteInt(FileStream, (DWORD)currentStyleVal);Modules\HeroAppearance.cpp
DWORD db_freadByteCount(DbFile* file, unsigned char* dest, DWORD count) fo::func::db_freadByteCount(file, mask, 80 * 36);Modules\Tiles.cpp
fo::func::db_freadByteCount(artFile, (BYTE*)&frame, 74);Modules\Tiles.cpp
DWORD db_freadShortCount(DbFile* file, ushort* dest, DWORD count) else if (fo::func::db_freadShortCount(frmStream, frmHeader->xCentreShift, 6) == -1)FalloutEngine\EngineUtils.cpp
else if (fo::func::db_freadShortCount(frmStream, frmHeader->yCentreShift, 6) == -1)FalloutEngine\EngineUtils.cpp
DWORD db_freadIntCount(DbFile* file, DWORD* dest, DWORD count) else if (fo::func::db_freadIntCount(frmStream, frmHeader->oriOffset, 6) == -1)FalloutEngine\EngineUtils.cpp
if (fo::func::db_freadIntCount(file, (DWORD*)&edgeData->squareRect, 4) || fo::func::db_freadInt(file, (DWORD*)&edgeData->clipData)) {HRP\ViewMap\EdgeBorder.cpp
long result = fo::func::db_freadIntCount(file, (DWORD*)&edgeData->tileRect, 4); // load rectangle dataHRP\ViewMap\EdgeBorder.cpp
call fo::funcoffs::db_freadIntCount_;Modules\Tiles.cpp
DWORD db_fwriteByteCount(DbFile* file, char* cptr, DWORD count) fo::func::db_fwriteByteCount(file, (BYTE*)&frame, sizeof(frame));Modules\Tiles.cpp
DWORD db_get_file_list(char* searchMask, char*** fileList) int count = fo::func::db_get_file_list(fileMask.c_str(), &filenames);Modules\ScriptExtender.cpp
void db_free_file_list(char*** fileList, DWORD arg2) fo::func::db_free_file_list(&filenames, 0);Modules\ScriptExtender.cpp
void db_filelength() HookCalls(asm_xfilelength, {0x4C5DB4, 0x4C5E2D, 0x4C68BC});Modules\FileSystem.cpp
void rect_clip() call fo::funcoffs::rect_clip_;Game\GUI\render.cpp
void rect_malloc() __asm call fo::funcoffs::rect_malloc_;Game\GUI\render.cpp
void debug_printf() __asm jmp fo::funcoffs::debug_printf_;FalloutEngine\Functions.cpp
__asm jmp fo::funcoffs::debug_printf_;FalloutEngine\Functions.cpp
//fo::func::debug_printf("\ntile_dist: %d", currentRange);Game\tilemap.cpp
//fo::func::debug_printf("\ntile_num: %d [x:%d y:%d]", tile, target_X, target_Y);Game\tilemap.cpp
//fo::func::debug_printf("\ntile_num: %d [x:%d y:%d]", tile, target_X, target_Y);Game\tilemap.cpp
fo::func::debug_printf("\nTilemap::make_path_func: failed to build a path, exceeded the 'pathCounter' limit.");Game\tilemap.cpp
//fo::func::debug_printf("\nmake_path_func: tiles [to %d]", childData.tile);Game\tilemap.cpp
//fo::func::debug_printf(" <- %d", childData.tile);Game\tilemap.cpp
//fo::func::debug_printf(" <- %d [from] len:%d\n", dadData->tile, pathLen);Game\tilemap.cpp
if (lockCount >= lockLimit) fo::func::debug_printf("\n[SFALL] Warning: The number of animated slots in the lock is too large, locked %d of %d", lockCount, animationLimit);Modules\Animations.cpp
call fo::funcoffs::debug_printf_;Modules\BugFixes.cpp
fo::func::debug_printf(errorTable, "set_critical_table()");Modules\Criticals.cpp
fo::func::debug_printf(errorTable, "get_critical_table()");Modules\Criticals.cpp
fo::func::debug_printf(errorTable, "reset_critical_table()");Modules\Criticals.cpp
if (!itMem->second.proto) fo::func::debug_printf("[SFALL] Error get critter prototype pid: %d\n", itMem->second.pid);Modules\CritterStats.cpp
fo::func::debug_printf("LOADSAVE: Total critter base stats saved: %d\n", count);Modules\CritterStats.cpp
fo::func::debug_printf("LOADSAVE: Total critter bonus stats saved: %d\n", count);Modules\CritterStats.cpp
fo::func::debug_printf("LOADSAVE: Critter PID/ID: %d/%d, saved base stat: %d, value: %d, def: %d\n", data.objPID, data.objID, data.stat, data.amount, data.defVal);Modules\CritterStats.cpp
fo::func::debug_printf("LOADSAVE: Critter PID/ID: %d/%d, saved bonus stat: %d, value: %d, def: %d\n", data.objPID, data.objID, data.stat, data.amount, data.defVal);Modules\CritterStats.cpp
call fo::funcoffs::debug_printf_;Modules\DebugEditor.cpp
call fo::funcoffs::debug_printf_;Modules\DebugEditor.cpp
call fo::funcoffs::debug_printf_;Modules\DebugEditor.cpp
jmp fo::funcoffs::debug_printf_; // ERROR: attempt to reference...Modules\DebugEditor.cpp
call fo::funcoffs::debug_printf_;Modules\DebugEditor.cpp
fo::func::debug_printf("System timer resolution: %d - %d ms.\n", min, max);Modules\DebugEditor.cpp
fo::func::debug_printf("\nApperanceMod: art\\intrface\\AppHeroWin.frm file not found.");Modules\HeroAppearance.cpp
call fo::funcoffs::debug_printf_;Modules\Inventory.cpp
fo::func::debug_printf("\n[SFALL] ERROR reading data: %s", buf);Modules\LoadGameHook.cpp
fo::func::debug_printf("\nSFALL: [State reset %s]\n", str);Modules\LoadGameHook.cpp
fo::func::debug_printf("\nOPCODE ERROR: metarule3(%d, ...) - metarule function number does not exist.\n > Script: %s, procedure %s.",Modules\MetaruleExtender.cpp
jmp fo::funcoffs::debug_printf_;Modules\MiscPatches.cpp
if (isDebug) fo::func::debug_printf("\n[SFALL] Save dude state.");Modules\PartyControl.cpp
if (isDebug) fo::func::debug_printf("\n[SFALL] Take control of critter.");Modules\PartyControl.cpp
if (isDebug) fo::func::debug_printf("\n[SFALL] Restore control to dude.\n");Modules\PartyControl.cpp
fo::func::debug_printf("\n[SFALL] Script: %s will not be executed. A script with the same name already exists in another directory.", fullPath);Modules\ScriptExtender.cpp
fo::func::debug_printf("\nWarning: critter PID: %d, ID: %d, has an incorrect base value of the max HP stat: %d (must be %d)",Modules\Stats.cpp
if (isDebug) fo::func::debug_printf("\nWARNING: A recursive hook with ID %d was running.", hook);Modules\HookScripts\Common.cpp
fo::func::debug_printf("\n[SFALL] The hook ID: %d cannot be executed.", hook);Modules\HookScripts\Common.cpp
fo::func::debug_printf("\nOPCODE ERROR: %s\n > Script: %s, procedure %s.", msg, _program->fileName, procName);Modules\Scripting\OpcodeContext.cpp
fo::func::debug_printf(fmt, name);Modules\Scripting\Handlers\Objects.cpp
void debug_log() call fo::funcoffs::debug_log_;Modules\DebugEditor.cpp
void setSystemPalette() call fo::funcoffs::setSystemPalette_;HRP\Init.cpp
void loadColorTable() __asm call fo::funcoffs::loadColorTable_;HRP\DeathScreen.cpp
__asm call fo::funcoffs::loadColorTable_;HRP\HelpScreen.cpp
call fo::funcoffs::loadColorTable_;Modules\Scripting\Handlers\Misc.cpp
void rebuildColorBlendTables()// jmp fo::funcoffs::rebuildColorBlendTables_;Modules\SubModules\DirectDraw.cpp
BlendColorTableData* getColorBlendTable(DWORD color) fo::BlendColorTableData* blendTable = fo::func::getColorBlendTable(colorFlags);HRP\Image.cpp
void freeColorBlendTable(DWORD color) fo::func::freeColorBlendTable(colorFlags);HRP\Image.cpp
DWORD get_input() return (!reqGameQuit) ? fo::func::get_input() : 27; // ESC codeWinProc.cpp
button = fo::func::get_input();Modules\ExtraSaveSlots.cpp
button = fo::func::get_input();Modules\HeroAppearance.cpp
int button = fo::func::get_input();Modules\HeroAppearance.cpp
call fo::funcoffs::get_input_;Modules\MainLoopHook.cpp
call fo::funcoffs::get_input_;Modules\MainLoopHook.cpp
call fo::funcoffs::get_input_; // also windows message pumpModules\Movies.cpp
} while (fo::var::mouse_buttons != 2 && fo::func::get_input() != 27); // 27 - escape codeModules\PartyControl.cpp
jmp fo::funcoffs::get_input_;Modules\Worldmap.cpp
jmp fo::funcoffs::get_input_;Modules\Worldmap.cpp
jmp fo::funcoffs::get_input_;Modules\Worldmap.cpp
void process_bk() jmp fo::funcoffs::process_bk_;HRP\Init.cpp
call fo::funcoffs::process_bk_;Modules\AI.cpp
fo::func::process_bk(); // eliminate lag when loading texturesModules\TalkingHeads.cpp
__asm call fo::funcoffs::process_bk_;Modules\Worldmap.cpp
void GNW_do_bk_process() call fo::funcoffs::GNW_do_bk_process_;Modules\BugFixes.cpp
void add_bk_process() call fo::funcoffs::add_bk_process_;HRP\MoviesScreen.cpp
void remove_bk_process() call fo::funcoffs::remove_bk_process_;HRP\MoviesScreen.cpp
jmp fo::funcoffs::remove_bk_process_;Modules\LoadGameHook.cpp
void dump_screen() MakeJump(0x4C8F4C, dump_screen_hack_replacement);Modules\Graphics.cpp
void get_time() jmp fo::funcoffs::get_time_;Modules\BugFixes.cpp
void pause_for_tocks() call fo::funcoffs::pause_for_tocks_;Modules\MiscPatches.cpp
DWORD block_for_tocks(DWORD ticks) call fo::funcoffs::block_for_tocks_;Modules\BugFixes.cpp
call fo::funcoffs::block_for_tocks_;Modules\Worldmap.cpp
fo::func::block_for_tocks(200);Modules\Scripting\Handlers\Worldmap.cpp
void set_focus_func(void* func) fo::func::set_focus_func(LostFocus);Modules\Movies.cpp
void GNW95_hook_input() call fo::funcoffs::GNW95_hook_input_;WinProc.cpp
__asm call fo::funcoffs::GNW95_hook_input_;WinProc.cpp
void GNW95_process_message() __asm call fo::funcoffs::GNW95_process_message_;Modules\DebugEditor.cpp
void mouse_show() fo::func::mouse_show(); // for updating background cursor areaGame\GUI\render.cpp
fo::func::mouse_show();Game\GUI\render.cpp
if (mouseWasHidden) fo::func::mouse_show();Modules\HeroAppearance.cpp
void mouse_hide() if (mouseWasHidden) fo::func::mouse_hide();Modules\HeroAppearance.cpp
DWORD mouse_in(DWORD x, DWORD y, DWORD x_offs, DWORD y_offs) if (fo::var::mouse_is_hidden || !fo::func::mouse_in(updateRect->left, updateRect->top, updateRect->right, updateRect->bottom)) {Game\GUI\render.cpp
if (!toBuffer && !fo::var::getInt(FO_VAR_doing_refresh_all) && !fo::var::mouse_is_hidden && fo::func::mouse_in(updateRect->left, updateRect->top, updateRect->right, updateRect->bottom)) {Game\GUI\render.cpp
DWORD mouse_click_in(DWORD x, DWORD y, DWORD x_offs, DWORD y_offs) jmp fo::funcoffs::mouse_click_in_;HRP\Dialog.cpp
jmp fo::funcoffs::mouse_click_in_;HRP\Inventory.cpp
jmp fo::funcoffs::mouse_click_in_;HRP\Worldmap.cpp
return fo::func::mouse_click_in(mapVisibleArea.left, mapVisibleArea.top, mapVisibleArea.right, mapVisibleArea.bottom);HRP\ViewMap\EdgeClipping.cpp
call fo::funcoffs::mouse_click_in_;Modules\BugFixes.cpp
if (fo::func::mouse_click_in(rect->left, rect->top, rect->right, rect->bottom)) return 0; // 0 - block clicking in the window areaModules\Interface.cpp
return fo::func::mouse_click_in(rect->left, rect->top, rect->right, rect->bottom); // 1 - click in the display window areaModules\Interface.cpp
call fo::funcoffs::mouse_click_in_;Modules\Inventory.cpp
call fo::funcoffs::mouse_click_in_;Modules\Inventory.cpp
call fo::funcoffs::mouse_click_in_;Modules\Inventory.cpp
call fo::funcoffs::mouse_click_in_;Modules\Inventory.cpp
call fo::funcoffs::mouse_click_in_;Modules\HookScripts\InventoryHs.cpp
void mouse_get_rect() call fo::funcoffs::mouse_get_rect_;Game\GUI\render.cpp
void mouse_get_position(DWORD* outX, DWORD* outY) call fo::funcoffs::mouse_get_position_;HRP\Character.cpp
call fo::funcoffs::mouse_get_position_;HRP\LoadSave.cpp
call fo::funcoffs::mouse_get_position_;HRP\MiscInterface.cpp
call fo::funcoffs::mouse_get_position_;HRP\Worldmap.cpp
fo::func::mouse_get_position(&x, &y);HRP\ViewMap\EdgeClipping.cpp
SafeWriteBytes(0x4CA9DC, (BYTE*)&data, 5); // mouse_get_position_Modules\BugFixes.cpp
call fo::funcoffs::mouse_get_position_;Modules\Scripting\Handlers\Misc.cpp
void GNW95_SetPaletteEntries() MakeJump(fo::funcoffs::GNW95_SetPaletteEntries_ + 1, GNW95_SetPaletteEntries_replacement); // 0x4CB311Modules\Graphics.cpp
MakeJump(fo::funcoffs::GNW95_SetPaletteEntries_ + 1, GNW95_SetPaletteEntries_hack_replacement); // 0x4CB310Modules\SubModules\DirectDraw.cpp
void GNW95_SetPalette() MakeJump(fo::funcoffs::GNW95_SetPalette_, GNW95_SetPalette_replacement); // 0x4CB568Modules\Graphics.cpp
MakeJump(fo::funcoffs::GNW95_SetPalette_, GNW95_SetPalette_hack_replacement); // 0x4CB568Modules\SubModules\DirectDraw.cpp
void kb_clear() __asm call fo::funcoffs::kb_clear_;InputFuncs.cpp
__asm call fo::funcoffs::kb_clear_;Modules\MetaruleExtender.cpp
void cscale(unsigned char* src, DWORD sWidth, DWORD sHeight, DWORD sStride, unsigned char* dst, DWORD width, DWORD height, DWORD stride) fo::func::cscale(scr, width, frm->frames->height, frm->frames->width, win->surface, win->width, win->height, win->width);HRP\InterfaceBar.cpp
fo::func::cscale(scr + 30, sw, h, w, dst + 30, dw, dh, IFaceBar::IFACE_BAR_WIDTH); // TODO: replace the scaling algorithm with a better oneHRP\InterfaceBar.cpp
jmp fo::funcoffs::cscale_;HRP\LoadSave.cpp
fo::func::cscale((BYTE*)desc.lpSurface, bW, bH, bW, dst, toW, toH, win->width);HRP\MoviesScreen.cpp
call fo::funcoffs::cscale_;Modules\Interface.cpp
void trans_cscale(void* fromBuff, DWORD width, DWORD height, DWORD fromPitch, void* toBuff, DWORD toWidth, DWORD toHeight, DWORD toPitch) call fo::funcoffs::trans_cscale_; // *from_buff, i_width, i_height, i_width2, to_buff, width, height, to_widthFalloutEngine\Functions.cpp
fo::func::trans_cscale(btnBackgroundFrm->frames->indexBuff, sw, sh, sw, dst, (long)(sw * scaleFactor), (long)(sh * scaleFactor), dstW);HRP\MainMenu.cpp
fo::func::trans_cscale(((frmPtr->id == 'PCX') ? frmPtr->pixelData : framePtr->data), framePtr->width, framePtr->height, framePtr->width,Modules\Scripting\Handlers\Interface.cpp
void buf_to_buf() auto drawFunc = (win->flags & fo::WinFlags::Transparent && win->wID) ? fo::func::trans_buf_to_buf : fo::func::buf_to_buf;Game\GUI\render.cpp
sf::MakeJump(fo::funcoffs::buf_to_buf_, fo::func::buf_to_buf); // 0x4D36D4Game\GUI\render.cpp
fo::func::buf_to_buf(src, w, h, srcW, dst, Setting::ScreenWidth());HRP\CreditsScreen.cpp
fo::func::buf_to_buf(frm->frame.data, width, height, width, dst, Setting::ScreenWidth());HRP\DeathScreen.cpp
jmp fo::funcoffs::buf_to_buf_;HRP\Dialog.cpp
fo::func::buf_to_buf((BYTE*)fo::var::getInt(FO_VAR_display_buf) + x + (y * srcWidth), w, h, srcWidth, dst, width);HRP\Dialog.cpp
fo::func::buf_to_buf(src, w, h, srcWidth, dst, dstWidth);HRP\Dialog.cpp
fo::func::buf_to_buf(frm->frame.data, width, height, width, dst, Setting::ScreenWidth());HRP\HelpScreen.cpp
fo::func::buf_to_buf(scr, 30, dh, w, dst, IFaceBar::IFACE_BAR_WIDTH);HRP\InterfaceBar.cpp
fo::func::buf_to_buf(scr + sxOffset, 460, dh, w, dst + dxOffset, IFaceBar::IFACE_BAR_WIDTH);HRP\InterfaceBar.cpp
fo::func::buf_to_buf(frm->frames->indexBuff, frm->frames->width, h, frm->frames->width, dst, IFaceBar::IFACE_BAR_WIDTH);HRP\InterfaceBar.cpp
jmp fo::funcoffs::buf_to_buf_;HRP\InterfaceBar.cpp
jmp fo::funcoffs::buf_to_buf_;HRP\InterfaceBar.cpp
jmp fo::funcoffs::buf_to_buf_;HRP\InterfaceBar.cpp
jmp fo::funcoffs::buf_to_buf_;HRP\InterfaceBar.cpp
fo::func::buf_to_buf(ifaceWin->surface + 23 + (24 * IFaceBar::IFACE_BAR_WIDTH), IFaceBar::display_width, h, IFaceBar::IFACE_BAR_WIDTH, dispBuff, IFaceBar::display_width);HRP\InterfaceBar.cpp
jmp fo::funcoffs::buf_to_buf_;HRP\InterfaceBar.cpp
fo::func::buf_to_buf(src, sw, sh, sw, dst, dstW); // direct copyHRP\MainMenu.cpp
fo::func::buf_to_buf(src, width, height, width, dst, Setting::ScreenWidth());HRP\SlidesScreen.cpp
fo::func::buf_to_buf(src, w, h, srcW, dst, Setting::ScreenWidth());HRP\SlidesScreen.cpp
fo::func::buf_to_buf(mveSurface, width, mveDesc.dwHeight, width, (BYTE*)dRect.pBits, dRect.Pitch);Modules\Graphics.cpp
jmp fo::funcoffs::buf_to_buf_;Modules\Interface.cpp
fo::func::buf_to_buf(src, width, height, sWidth, ddObject->BufferSurface() + (x + (y * HRP::Setting::ScreenWidth())), HRP::Setting::ScreenWidth());Modules\SubModules\DirectDraw.cpp
void trans_buf_to_buf() auto drawFunc = (win->flags & fo::WinFlags::Transparent && win->wID) ? fo::func::trans_buf_to_buf : fo::func::buf_to_buf;Game\GUI\render.cpp
fo::func::trans_buf_to_buf(surface, width, height, widthFrom, &toBuffer[rect.left - updateRect->left] + ((rect.top - updateRect->top) * toWidth), toWidth);Game\GUI\render.cpp
fo::func::trans_buf_to_buf(surface, width, height, widthFrom, &GetBuffer()[rect.left] + (rect.top * toWidth), toWidth);Game\GUI\render.cpp
sf::MakeJump(fo::funcoffs::trans_buf_to_buf_, fo::func::trans_buf_to_buf); // 0x4D3704Game\GUI\render.cpp
jmp fo::funcoffs::trans_buf_to_buf_;HRP\InterfaceBar.cpp
fo::func::trans_buf_to_buf(btnBackgroundFrm->frames->indexBuff, sw, sh, sw, dst, dstW); // direct copyHRP\MainMenu.cpp
void Create_AudioDecoder() jmp fo::funcoffs::Create_AudioDecoder_;Modules\Sound.cpp
jmp fo::funcoffs::Create_AudioDecoder_;Modules\Sound.cpp
void text_curr() jmp fo::funcoffs::text_curr_;Modules\LoadGameHook.cpp
DWORD text_font(DWORD fontNum) fo::func::text_font(101);Game\GUI\Text.cpp
fo::func::text_font(font);Game\GUI\Text.cpp
call fo::funcoffs::text_font_;Modules\BugFixes.cpp
call fo::funcoffs::text_font_;Modules\BugFixes.cpp
fo::func::text_font(ref);Modules\HeroAppearance.cpp
jmp fo::funcoffs::text_font_;Modules\Interface.cpp
call fo::funcoffs::text_font_;Modules\MiscPatches.cpp
jmp fo::funcoffs::text_font_;Modules\PartyControl.cpp
DWORD win_add(DWORD x, DWORD y, DWORD width, DWORD height, DWORD bgColorIndex, DWORD flags) return fo::func::win_add(xPos, yPos, width, height, color, flags);HRP\Character.cpp
jmp fo::funcoffs::win_add_;HRP\Character.cpp
return fo::func::win_add(xPos, yPos, width, height, color, flags);HRP\Character.cpp
return fo::func::win_add(0, 0, Setting::ScreenWidth(), Setting::ScreenHeight(), color, flags);HRP\DeathScreen.cpp
return fo::func::win_add(xPos, yPos, width, height, color, flags);HRP\Dialog.cpp
jmp fo::funcoffs::win_add_;HRP\Dialog.cpp
jmp fo::funcoffs::win_add_;HRP\Dialog.cpp
jmp fo::funcoffs::win_add_;HRP\Dialog.cpp
return fo::func::win_add(0, 0, Setting::ScreenWidth(), Setting::ScreenHeight(), color, flags);HRP\HelpScreen.cpp
long leftID = fo::func::win_add(0, yPos, xPos, height, 0, flags);HRP\InterfaceBar.cpp
long rightID = fo::func::win_add(xPos + width, yPos, Setting::ScreenWidth() - (xPos + width), height, 0, flags);HRP\InterfaceBar.cpp
return fo::func::win_add(xPos, yPos, width, height, color, flags);HRP\InterfaceBar.cpp
jmp fo::funcoffs::win_add_;HRP\InterfaceBar.cpp
jmp fo::funcoffs::win_add_;HRP\InterfaceBar.cpp
return fo::func::win_add(xPos, yPos, width, height, color, flags);HRP\Inventory.cpp
return fo::func::win_add(xPos, yPos, width, height, color, flags);HRP\LoadSave.cpp
jmp fo::funcoffs::win_add_;HRP\LoadSave.cpp
return fo::func::win_add(x, y, w, h, color, flags | fo::WinFlags::DontMoveTop);HRP\MainMenu.cpp
return fo::func::win_add(xPosition, yPosition, width, height, color, flags);HRP\MiscInterface.cpp
return fo::func::win_add(xPos, yPos, width, height, color, flags);HRP\Worldmap.cpp
int winRef = fo::func::win_add(resWidth / 2 - 242, (resHeight - 100) / 2 - 65, 484, 230, 100, 0x4);Modules\HeroAppearance.cpp
void win_delete(DWORD winRef) call fo::funcoffs::win_delete_;HRP\Dialog.cpp
call fo::funcoffs::win_delete_;HRP\Worldmap.cpp
fo::func::win_delete(winRef);Modules\HeroAppearance.cpp
jmp fo::funcoffs::win_delete_;Modules\LoadGameHook.cpp
jmp fo::funcoffs::win_delete_;Modules\LoadGameHook.cpp
jmp fo::funcoffs::win_delete_;Modules\LoadGameHook.cpp
void win_print(DWORD winID, char* text, DWORD textWidth, DWORD xPos, DWORD yPos, DWORD colorFlags) jmp fo::funcoffs::win_print_;HRP\MainMenu.cpp
call fo::funcoffs::win_print_;Modules\BugFixes.cpp
jmp fo::funcoffs::win_print_;Modules\Interface.cpp
fo::func::win_print(winId, text, fWidth, xPos, yPos - 12, color); // fallout printModules\MainMenu.cpp
fo::func::win_print(winId, VerString1, sWidth, xPos + fWidth - sWidth, yPos, color); // sfall printModules\MainMenu.cpp
void win_line() call fo::funcoffs::win_line_;FalloutEngine\Functions.cpp
void win_show(DWORD winRef) fo::func::win_show(fo::var::getInt(FO_VAR_display_win));HRP\Dialog.cpp
fo::func::win_show(leftBarID);HRP\InterfaceBar.cpp
fo::func::win_show(rightBarID);HRP\InterfaceBar.cpp
fo::func::win_show(winID);HRP\InterfaceBar.cpp
jmp fo::funcoffs::win_show_;HRP\Worldmap.cpp
jmp fo::funcoffs::win_show_;Modules\BugFixes.cpp
fo::func::win_show(winRef);Modules\HeroAppearance.cpp
fo::func::win_show(fo::var::sWindows[i].wID);Modules\Scripting\Handlers\Interface.cpp
void win_hide(DWORD winRef) fo::func::win_hide(fo::var::getInt(FO_VAR_display_win));HRP\Dialog.cpp
fo::func::win_hide(leftBarID);HRP\InterfaceBar.cpp
fo::func::win_hide(rightBarID);HRP\InterfaceBar.cpp
fo::func::win_hide(winID);HRP\InterfaceBar.cpp
fo::func::win_hide(fo::var::getInt(FO_VAR_display_win));HRP\Worldmap.cpp
fo::func::win_hide(fo::var::sWindows[i].wID);Modules\Scripting\Handlers\Interface.cpp
void win_draw(DWORD winRef) fo::func::win_draw(fo::var::getInt(FO_VAR_display_win));HRP\Dialog.cpp
fo::func::win_draw_rect(fo::var::interfaceWindow, (RECT*)&rect);HRP\InterfaceBar.cpp
//fo::func::win_draw(fo::var::getInt(FO_VAR_display_win)); // for testHRP\ViewMap\EdgeBorder.cpp
jmp fo::funcoffs::win_draw_; // update black edges after tile_set_center_HRP\ViewMap\ViewMap.cpp
fo::func::win_draw(winRef);Modules\ExtraSaveSlots.cpp
fo::func::win_draw(WinRef);Modules\HeroAppearance.cpp
fo::func::win_draw(winRef);Modules\HeroAppearance.cpp
fo::func::win_draw_rect(fo::var::wmBkWin, &rect);Modules\Interface.cpp
jmp fo::funcoffs::win_draw_;Modules\LoadGameHook.cpp
fo::func::win_draw(fo::var::edit_win);Modules\Scripting\Handlers\Interface.cpp
fo::func::win_draw(fo::var::i_wid);Modules\Scripting\Handlers\Interface.cpp
void win_draw_rect(DWORD winRef, RECT* rect) fo::func::win_draw_rect(fo::var::interfaceWindow, (RECT*)&rect);HRP\InterfaceBar.cpp
fo::func::win_draw_rect(fo::var::wmBkWin, &rect);Modules\Interface.cpp
void GNW_win_refresh(Window* win, RECT* rect, DWORD* buffer) fo::func::GNW_win_refresh(win, &win->rect, nullptr);FalloutEngine\EngineUtils.cpp
fo::func::GNW_win_refresh(fo::var::window[i], &fo::var::scr_size, 0);FalloutEngine\EngineUtils.cpp
call fo::funcoffs::GNW_win_refresh_;Modules\BugFixes.cpp
void win_refresh_all() call fo::funcoffs::win_refresh_all_;WinProc.cpp
call fo::funcoffs::win_refresh_all_;WinProc.cpp
__asm call fo::funcoffs::win_refresh_all_;Modules\SubModules\DirectDraw.cpp
void win_clip(Window* window, RectList** rects, void* buffer) fo::func::win_clip(win, &rects, toBuffer);Game\GUI\render.cpp
void refresh_all() call fo::funcoffs::refresh_all_;Game\GUI\render.cpp
Window* GNW_find(DWORD winRef) fo::Window* win = fo::func::GNW_find(winID);FalloutEngine\EngineUtils.cpp
fo::Window* win = fo::func::GNW_find(winID);FalloutEngine\EngineUtils.cpp
fo::Window* win = fo::func::GNW_find(winId);HRP\InterfaceBar.cpp
fo::Window* ifaceWin = fo::func::GNW_find(fo::var::interfaceWindow);HRP\InterfaceBar.cpp
fo::Window* win = fo::func::GNW_find(fo::var::interfaceWindow);HRP\InterfaceBar.cpp
fo::Window* win = fo::func::GNW_find(fo::var::getInt(FO_VAR_GNWWin));HRP\MoviesScreen.cpp
fo::Window* win = fo::func::GNW_find(fo::var::interfaceWindow);HRP\ViewMap\EdgeClipping.cpp
call fo::funcoffs::GNW_find_;Modules\BugFixes.cpp
fo::Window *SaveLoadWin = fo::func::GNW_find(winRef);Modules\ExtraSaveSlots.cpp
fo::Window *SaveLoadWin = fo::func::GNW_find(fo::var::lsgwin);Modules\ExtraSaveSlots.cpp
fo::Window *WinInfo = fo::func::GNW_find(WinRef);Modules\HeroAppearance.cpp
fo::Window *winInfo = fo::func::GNW_find(winRef);Modules\HeroAppearance.cpp
return (winID > 0) ? fo::func::GNW_find(winID) : nullptr;Modules\Interface.cpp
win = fo::func::GNW_find(fo::var::getInt(FO_VAR_display_win));Modules\Interface.cpp
call fo::funcoffs::GNW_find_;Modules\Inventory.cpp
call fo::funcoffs::GNW_find_;Modules\Inventory.cpp
call fo::funcoffs::GNW_find_;Modules\Inventory.cpp
fo::Window* dialogWin = fo::func::GNW_find(fo::var::dialogueBackWindow);Modules\TalkingHeads.cpp
fo::Window* win = fo::func::GNW_find(fo::var::sWindows[i].wID);Modules\Scripting\Handlers\Interface.cpp
fo::Window* win = fo::func::GNW_find((wid > 0) ? wid : fo::var::i_wid); // i_wid - set flag to current game interface windowModules\Scripting\Handlers\Interface.cpp
DWORD win_get_top_win(DWORD x, DWORD y) if (fo::func::win_get_top_win(x, y) == fo::var::getInt(FO_VAR_display_win)) {HRP\ViewMap\EdgeClipping.cpp
SafeWriteBytes(0x4D78CC, (BYTE*)&data, 5); // win_get_top_win_Modules\BugFixes.cpp
void win_get_rect() jmp fo::funcoffs::win_get_rect_;Modules\Sound.cpp
void win_register_button() call fo::funcoffs::win_register_button_;FalloutEngine\Functions.cpp
jmp fo::funcoffs::win_register_button_;HRP\InterfaceBar.cpp
jmp fo::funcoffs::win_register_button_;HRP\InterfaceBar.cpp
jmp fo::funcoffs::win_register_button_;HRP\MainMenu.cpp
fo::func::win_register_button(winRef, 100, 60, 24, 20, -1, 0x500, 0x54B, 0x14B, 0, 0, 0, 32);Modules\ExtraSaveSlots.cpp
fo::func::win_register_button(winRef, 68, 60, 24, 20, -1, 0x500, 0x549, 0x149, 0, 0, 0, 32);Modules\ExtraSaveSlots.cpp
fo::func::win_register_button(winRef, 216, 60, 24, 20, -1, 0x500, 0x54D, 0x14D, 0, 0, 0, 32);Modules\ExtraSaveSlots.cpp
fo::func::win_register_button(winRef, 248, 60, 24, 20, -1, 0x500, 0x551, 0x151, 0, 0, 0, 32);Modules\ExtraSaveSlots.cpp
fo::func::win_register_button(winRef, 140, 60, 60, 20, -1, -1, 'p', -1, 0, 0, 0, 32);Modules\ExtraSaveSlots.cpp
fo::func::win_register_button(winRef, 115, 181, 26, 26, -1, -1, -1, 0x0D, MenuUSurface, MenuDSurface, 0, 0x20);Modules\HeroAppearance.cpp
fo::func::win_register_button(winRef, 25, 84, 24, 25, -1, -1, -1, 0x150, DidownUSurface, DidownDSurface, 0, 0x20);Modules\HeroAppearance.cpp
fo::func::win_register_button(winRef, 25, 59, 23, 24, -1, -1, -1, 0x148, DiupUSurface, DiupDSurface, 0, 0x20);Modules\HeroAppearance.cpp
fo::func::win_register_button(WinRef, 332, 0, 82, 32, -1, -1, 0x501, -1, 0, 0, 0, 0);Modules\HeroAppearance.cpp
fo::func::win_register_button(WinRef, 332, 226, 82, 32, -1, -1, 0x502, -1, 0, 0, 0, 0);Modules\HeroAppearance.cpp
fo::func::win_register_button(WinRef, 348, 37, 20, 18, -1, -1, -1, 0x511, newButtonSurface, newButtonSurface + (20 * 18), 0, 0x20);Modules\HeroAppearance.cpp
fo::func::win_register_button(WinRef, 374, 37, 20, 18, -1, -1, -1, 0x513, newButtonSurface + (20 * 18 * 2), newButtonSurface + (20 * 18 * 3), 0, 0x20);Modules\HeroAppearance.cpp
fo::func::win_register_button(WinRef, 348, 199, 20, 18, -1, -1, -1, 0x512, newButtonSurface, newButtonSurface + (20 * 18), 0, 0x20);Modules\HeroAppearance.cpp
fo::func::win_register_button(WinRef, 374, 199, 20, 18, -1, -1, -1, 0x514, newButtonSurface + (20 * 18 * 2), newButtonSurface + (20 * 18 * 3), 0, 0x20);Modules\HeroAppearance.cpp
jmp fo::funcoffs::win_register_button_;Modules\Interface.cpp
call fo::funcoffs::win_register_button_;Modules\Interface.cpp
if (fo::func::win_register_button(winRef, xPos, yPos, width, height, -1, -1, -1, 0x300, picUp, picDown, 0, 32) != -1) {Modules\QuestList.cpp
if (fo::func::win_register_button(winRef, xPos, yPos + height, width, height, -1, -1, -1, 0x301, picUp, picDown, 0, 32) != -1) {Modules\QuestList.cpp
void win_register_button_sound_func() call fo::funcoffs::win_register_button_sound_func_;Modules\Interface.cpp
call fo::funcoffs::win_register_button_sound_func_;Modules\Interface.cpp
call fo::funcoffs::win_register_button_sound_func_; // eax - register buttonModules\QuestList.cpp
void GNW_button_refresh() call fo::funcoffs::GNW_button_refresh_;Game\GUI\render.cpp
call fo::funcoffs::GNW_button_refresh_;Game\GUI\render.cpp
call fo::funcoffs::GNW_button_refresh_;Game\GUI\render.cpp
void WindowProc() MakeJump(0x4DE9FC, WindowProc); // WindowProc_WinProc.cpp
void stricmp() call fo::funcoffs::stricmp_; // compare music file nameModules\MiscPatches.cpp
void xfclose() jmp fo::funcoffs::xfclose_;Modules\FileSystem.cpp
call fo::funcoffs::xfclose_;Modules\FileSystem.cpp
DbFile* xfopen(char* fileName, char* flags) jmp fo::funcoffs::xfopen_;Modules\FileSystem.cpp
call fo::funcoffs::xfopen_;Modules\FileSystem.cpp
void xvfprintf() jmp fo::funcoffs::xvfprintf_;Modules\FileSystem.cpp
void xfgetc() jmp fo::funcoffs::xfgetc_;Modules\FileSystem.cpp
void xfgets() jmp fo::funcoffs::xfgets_;Modules\FileSystem.cpp
void xfputc() jmp fo::funcoffs::xfputc_;Modules\FileSystem.cpp
void xfputs() jmp fo::funcoffs::xfputs_;Modules\FileSystem.cpp
void xungetc() jmp fo::funcoffs::xungetc_;Modules\FileSystem.cpp
void xfread() call fo::funcoffs::xfread_;Modules\BugFixes.cpp
jmp fo::funcoffs::xfread_;Modules\FileSystem.cpp
call fo::funcoffs::xfread_;Modules\FileSystem.cpp
void xfwrite() jmp fo::funcoffs::xfwrite_;Modules\FileSystem.cpp
DWORD xfseek(DbFile* file, DWORD fOffset, DWORD origin) jmp fo::funcoffs::xfseek_;Modules\FileSystem.cpp
void xftell() jmp fo::funcoffs::xftell_;Modules\FileSystem.cpp
void xrewind() jmp fo::funcoffs::xrewind_;Modules\FileSystem.cpp
void xfeof() jmp fo::funcoffs::xfeof_;Modules\FileSystem.cpp
void xfilelength() jmp fo::funcoffs::xfilelength_;Modules\FileSystem.cpp
call fo::funcoffs::xfilelength_;Modules\FileSystem.cpp
void xremovepath() call fo::funcoffs::xremovepath_;Modules\LoadOrder.cpp
void WinMainCRTStartup() bool isEnabled = (*(DWORD*)0x4E4480 != 0x278805C7); // check if Mash's HRP is enabledHRP\Init.cpp
std::fseek(ft, 0xD4880, SEEK_SET); // 0x4E4480HRP\Init.cpp
void* dbase_open(char* fileName) return fo::func::dbase_open(fileName);Modules\HeroAppearance.cpp
void dbase_close(void* dbPtr) fo::func::dbase_close(dat);Modules\HeroAppearance.cpp
void exit() __asm call fo::funcoffs::exit_;WinProc.cpp
void nfree() call fo::funcoffs::nfree_; // free path stringModules\LoadOrder.cpp
call fo::funcoffs::nfree_; // free selfModules\LoadOrder.cpp
void sprintf() call fo::funcoffs::sprintf_;Modules\BugFixes.cpp
call fo::funcoffs::sprintf_;Modules\BugFixes.cpp
call fo::funcoffs::sprintf_;Modules\BugFixes.cpp
call fo::funcoffs::sprintf_;Modules\BugFixes.cpp
jmp fo::funcoffs::sprintf_;Modules\DamageMod.cpp
jmp fo::funcoffs::sprintf_;Modules\DamageMod.cpp
call fo::funcoffs::sprintf_;Modules\DebugEditor.cpp
call fo::funcoffs::sprintf_;Modules\Message.cpp
call fo::funcoffs::sprintf_;Modules\QuestList.cpp
void strncpy() call fo::funcoffs::strncpy_;Modules\Sound.cpp
jmp fo::funcoffs::strncpy_;Modules\Sound.cpp
void qsort(void* base, DWORD number, DWORD elSize, DWORD comp) jmp fo::funcoffs::qsort_;Modules\BugFixes.cpp
call fo::funcoffs::qsort_;Modules\HookScripts\CombatHs.cpp
void fprintf() call fo::funcoffs::fprintf_;Modules\DebugEditor.cpp
void nrealloc() call fo::funcoffs::nrealloc_ // eax = mem, edx = sizeModules\BugFixes.cpp
void sfShowFrame() 0x44E949, 0x44E94A, 0x44E937, 0x4F5F40, 0x44E932, // from movies.cppCheckAddress.cpp
{0x4F5F40, 1},CheckAddress.cpp
SafeWrite8(0x4F5F40, CodeType::Ret); // blocking sfShowFrame_ for disabling the display of mve video framesModules\Movies.cpp
SafeWrite8(0x4F5F40, 0x53); // push ebxModules\Movies.cpp
void MVE_gfxSetSplit() if (illegalArg || (checkValidMemAddr && (args[0] < 0x410010 || args[0] > 0x4FCE34))) {Modules\Scripting\Handlers\Memory.cpp