diff --git a/exports/CRUSADER.EXE.xml b/exports/CRUSADER.EXE.xml new file mode 100644 index 0000000..138e7b7 --- /dev/null +++ b/exports/CRUSADER.EXE.xml @@ -0,0 +1,56496 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +]> + + + + + + Function Signature Data Type + + + + + + + + + + Function Signature Data Type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Count of ammo to start with + + + Always 0 + + + + + + + + bit 0 is set on creation + + + + + initailized to param_4 + + + initialized to value of field 0x4a + + + initialized to 0 in constructor + + + initialized to 0 in constructor + + + initialized to 0 in constructor + + + initialized to 0 in constructor + + + initialized to 1; starts a new animation in the terminate function if the anim flag 0x40 is set + + + initialized to 0 in constructor, used to fail but never gets set + + + initialized to 0 in constructor; something about targetting + + + + used in destructor as terminate value, lo word + + + used in destructor as terminate value, hi word + + + used in area searches + + + initailized to param_7 + + + + + + initailized to startpt.lowword + + + initailized to startpt.hiword + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + starting dir of the npc + + + + + + initialized to combatDatInternalStartOffset + + + which of the 4 offsets we started using in the combat dat tactic currently in use + + + the tactic no inside the combat dat + + + + initialised to the first of 4 offsets + + + + + used as temporary storage in combat metalang + + + probably a dword with 0x71? init to 0 + + + init to 0 + + + init to 0 + + + init to 0 + + + + + init to 0, or 1 if attack9 or attackB type + + + init to 0, pr 1 if attackA or attackB type + + + init to 0 + + + init to 0 + + + init to 0, set by fn 1108:252d + + + init to 0 + + + init to value of weapon field 0x8 + + + init to 0 + + + init to 0 + + + init to 0 + + + init to -1 + + + init to 0 + + + init to 0 + + + inititalized based on shape no - 0x386,0x388,0x38e -> 0x3c, otherwise 0x1e + + + init to 0 + + + + initialized based on difficulty/wpnshape/npcshape - per difficulty, 1 = 0x78, 2 = 0x5a, otherwise bsed on npcshape (0x3ac->0xf, else 0x3c) + + + + init to 0 + + + + + + + + + + + + + + + + + + + Initialized to 0 + + + Initialized to 0 + + + + + Bits: 0 = has hitpoints; 1/2 = explosiontype+1; 3 = explode-with-damage; 4 = ?; 5 = destroyonexplosionexplodesomething; 6 = setframetype + + + + meaning depends on flags + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Set to 0xFFFF when file closed + + + + + + + Real data just goes 0,1,2,3,4,5.. + + + RandomRange called with this and next field + + + + range. 0 = no splash damage + + + maybe num shots (based on Regret) + + + maybe shield cost (based on Regret) + + + maybe shield mask (based on Regret) + + + flag (0 or 1) - see Sprite fn 1138:09c9. maybe "accurate" (based on regret) + + + + + near sprite + + + + + + + + + + + + + + + + + + + + + + + + + + + + + always 200 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flag in top nibble. 5 = any item, 2 = family match, 1 = shapeno match + + + starts as minx + + + starts as miny + + + + + starts as minx + + + starts as miny + + + + + + + + + See fn 10c0:14c9. 0x1 means match for Z equals.. 0x2 means above? + + + Output to match 0x3f flag we matched + + + + + + + + + + + + + + + + + fn 10e8:3556 - gets initialized to 150 (avatar default HP) + + + fn 10e8:3305 - proabably activity + + + fn 10e8:3e2d, see 10e8:2cbe where it's copied from 0x2 + + + used as next activity when activty request is 0x70 + + + used as next activity when activty request is 0x71 + + + used as next activity when activty request is 0x72 + + + fn 10e8:370c (get), 36ef (set) + + + Returned by fn at 10e8:3726 - maybe last/active anim + + + + + fn 10e8:2c56 + + + fn 10e8:2208. bits: 0 = dead, 1 = immortal, 2 = kneeling + + + + fn 10e8:331f - offset to array 0x1b (33db), probably weapon based on 10e8:39b9 + + + fn 10e8:3654, 3339 - value found in array 0x1b + + + fn 10e8:3671 - value found in array 0x1b - used in cycling items + + + Item numbers for inventory (weapons, etc) (see fn 10e8:3b4f). Size from fn 10e8:2973 + + + fn 10e8:344c - maybe energy - see 10e8:34c2 + + + bits: 0 = ?, 1 = falling (set in gravityproc, returned by Intrinsic 0AB), 2 = anim loop dir? (see 1150:17b2), 3 = in_combat, 4 = ? (twiddled in animprimitive, 1150:2bf6), 5 = pathfinding, 6 = ? + + + fn 10e8:2556. bits: 0 = surrendering (used to decide if turn anim should be 0x0 or 0x3c), 1 = weapon ready, 2 = male(0)/female(1). + + + + fn 10e8:358c + + + fn 10e8:35a9 -is this "home" x/y? + + + + fn 10e8:35d9 - is this "home" z? + + + fn 10e8:3df4 - seems to be a q value used for pathfinding to "home" areas + + + Usage in 10e8:1e7e and pathfinder. Some NPC num.. + + + 0 = None, 1 = Ionic, 2 = Plasma, 3 = Graviton + + + Set to 0 when AttackProcess starts, set to 1 based on some conditions in that proc.. + + + Last time npc was hit (1128:0425). See also usage in fn 10e8:1fa7 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + init to 0 + + + init to 10 (bg gump shape + + + init to 0 + + + init to 0 + + + + + + + init to -1 + + + + + + + + + + + + + for things like medkit etc + + + + + Table of grenades and bombs etc + + + + + + + + + + + + + + + + + + + + Inherited from NPCActionProcess + + + + + + + + + + + + + + Inherited from NPCActionProcess + + + + + Initialized to 0 + + + + + + + + + + + + + + + + initialized to 0x10 + + + initialized to 0x10 + + + (not initialized) + + + initialized to false + + + 0 (turn left) or 1 (turn right) + + + initialized to false, or true if pathfinding is SOLID and has non-zero height + + + initialized to MaxDiffXY + + + always initialized to 64 - distance from target to stop. + + + generally 12 or 100. max steps to take before stopping + + + initialized to 0 + + + initialized to Param 5 of toItem, Param 8 of topoint.. basically always 0? + + + initialized to false + + + initialized based on param + + + initailized to true, set false during run + + + + some random val? + + + + x,y point + + + + + x,y,z point + + + + + + + + + + + + + + + + + Set with the parameter when terminate is called + + + + + + + + + + + + + + + + + + + + + + + + + is this a pointer or an itemno or..? + + + sound effect number (in flex) + + + + + + + See type_flags.cpp in code + + + flags? if low bit is set in Item_SetFrame, calls another function, used in fn 10a0:0fc4 + + + x-related (see function at 10a0:029a) + + + y-related (see function at 10a0:02de + + + z-related + + + + + Fetched by function 10a0:0487 + + + Fetched by function 10a0:04f2 + + + + + + + + + + + + + Initialized to 0 in SnapProcess_Init + + + + + + + + + + + + + + + + + + + + + + + + set to param 2 of create fn + + + + + initialized to -1 + + + + initailized to 0 + + + + + + + initialized to 0 + + + initialized to 0 + + + initialized to 0 + + + initialized to 0 + + + initialized to 0 + + + initialized to -1 + + + initialized to 0 + + + + + + + initialized to -1 + + + started as 0, then set to 1 during InitData then never checked again. + + + initialized to 0 + + + initialized to 0 + + + + + + + initialized to 1 + + + initialized to 0 + + + Created by retype action + + + initialized to 0 + + + initialized to 0 + + + + + initialized to 0 + + + + + initialized to 0 + + + initialized to 0 + + + initialized to 0, set to 1 for firetype 9 + + + initialized to 0 + + + start time low word + + + start time high word + + + initialized to 0 + + + initialized to 0 + + + initialized to 0x10 + + + initialized to 0 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Flag 8 seems to be "buffer provided" (don't free) + + + + + See function at 1118:0145 + + + Function at 1118:01cf + + + Function at 1118:01ef + + + Function Weapon_GetAmmoShapeForWeaponShapeNo + + + Function at 1118:02ce, used in attack proc like reload time + + + Function at 1118:01ad + + + unused? + + + A flag for whether to use "small" animations + + + See fn 1188:070f + + + Something about sound - see 10e8:3b9b + + + Function at 1118:0528 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + init to 0xd2 (210) (xsize?) + + + init to 0x1b5 (437) (ysize?) + + + + + + + + + + + + + + + init to -1 + + + init to 0 + + + credits count (updated for pending purchases) + + + shapenos of pending purchase items + + + init to -1 + + + init to -1 + + + init to 0, controlls which movie to play + + + init to 0 + + + first 2 bytes of stuff.dat + + + init to 0, set to 1 when item selected for purchase + + + init to 0, set to 1 when purchase confirmed + + + init to 0, used in getPurchasedCount, number of 0x3e array elements that are used + + + data from stuff.dat + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Segment: 1 +Offset: 00037600 +Length: 8400 +Min Alloc: 8400 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Title: CRUSADER.EXE +Format: New Executable (NE) Windows +CRC: 00000000 + +Program Entry Point (CS:IP): 0001:0000 +Initial Stack Pointer (SS:SP): 0091:2000 +Auto Data Segment Index: 0090 +Initial Heap Size: 0000 +Initial Stack Size: 0000 +Minimum Code Swap Size: 0000 + +Linker Version: 5.10 +Target OS: Pharlap 286 OS/2 +Windows Version: 0.0 + +Program Flags: 09 + Single Data + Protected Mode +Application Flags: 00 +Other Flags: 00 + + get segment of PSP for current process (into BX) + get dos version number + get system time + terminate with return code + swap memory banks + swap memory banks + swap memory banks + swap memory banks + swap memory banks + swap memory banks + swap memory banks + swap memory banks + swap memory banks + swap memory banks + swap memory banks + switch memory banks + AH = 0Eh +DL = new default drive (00h = A:, 01h = B:, etc) + + dos lseek + dos read from file + dos_stderr_printf_float_formats_not_linked + dos write to file no 2 - 5 bytes + dos write to file no 2 - 39 bytes + AX=0x700 DIRECT CHARACTER INPUT, WITHOUT ECHO + get current file position + 4400 = IOCTL - GET DEVICE INFORMATION + device, not file + 4201 = seek relative to current file pos (== get pos, cx/dx are 0) + 4202h = seek to end of file + seek back to the previous position + GET DISK TRANSFER AREA ADDRESS (and push it to stack) + Int 21/AH=1Ah - DOS 1+ - SET DISK TRANSFER AREA ADDRESS + FINDFIRST - FIND FIRST MATCHING FILE + Int 21/AH=1Ah - DOS 1+ - SET DISK TRANSFER AREA ADDRESS (popped off stack + 4f == Find Next Matching File + Probably pointer to FUN_1000_6e93 + probably pointing to previous function? + Segment: 2 +Offset: 00040000 +Length: 02b0 +Min Alloc: 02b0 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 3 +Offset: 00040400 +Length: 055a +Min Alloc: 055a +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + flag 1 = SI_SOLID + flag 6 = SI_DAMAGING + if not contained and non-zero z + Segment: 4 +Offset: 00040a00 +Length: 10b1 +Min Alloc: 10b1 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + references 0x1478009b == "crusader.cfg" + + if line is comment.. + skip whitespace + Segment: 5 +Offset: 00041e00 +Length: 08d7 +Min Alloc: 08d7 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + play the intro movies + shape 0x4d4 = data link + shape 0x598 = some weird smiley face thing? + start on level 1, starting egg (0x1e) + warp x/y/z not set + script to find shape = 0x476 (1142) "item" editor item + script to find shape = 0x476 (1142) "item" editor item + function pointer to 0x10C000B9 + give the first 0x1e objects to the avatar (if they are not null) + set equipped + set equipped? (if same flag meaning as U8) + fn ptr = 0x147804b6 + teleport id 0x1e, yes put in stasis + Intrinsic 0CB + called from usecode with values like 0x28, 0x29, 0x1D + Segment: 6 +Offset: 00042c00 +Length: 075e +Min Alloc: 075e +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + 0x900 = 2304 = 768*3 = the size of entry 0 in the xformpal.dat flex + set all colors to the Y value + fn ptr = 0x1478051e + fn ptr = 0x147804fa + Intrinsic 097 + Segment: 7 +Offset: 00043600 +Length: 0484 +Min Alloc: 0484 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + g_gameTimeProcessFnPtr = 0x147805ce + 0x245 is the scheduler process in U8 + 0x1478058f = "GameTime" + g_animProcessFnPtr = 0x147805a2 + 0x14780598 = "Animation" + Segment: 8 +Offset: 00043c00 +Length: 1386 +Min Alloc: 1386 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + g_gravityProcessFnPtr = 0x14780610 + 0x147805f2 = "Gravity" + Note: Proctype 0x203, same as U8 + clear flag 0x400 - maybe bouncing (if same as u8) + set npc falling flag? + set fall start z + g_gravityProcessFnPtr = 0x14780610 + 0x8f = "ooh!" sound + status 0x400 = bouncing? status 0x4000 = ??? + clear bouncing flag + Intrinsic 028 + existing gravity process? + returns gravityprocess proc id + Intrinsic 03E + Segment: 9 +Offset: 00045400 +Length: 0495 +Min Alloc: 0495 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + get 0x2f (dos extensions) interrupt handler + if handler installed + This is also unused Intrisic 0x136 + 0x203 = gravity process + Segment: 10 +Offset: 00045a00 +Length: 0d92 +Min Alloc: 0d92 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + fn ptr = 0x14780bc4 + Intrinsic 06B + Intrinsic 0CE - is GAME COMPILE=1 + "-?" + "-u" + "-debug" + "-setver" + "-asylum" + "-warp" + "-skill" + "-mapoff" + "-egg" + "-demo" + Segment: 11 +Offset: 00046e00 +Length: 05b1 +Min Alloc: 05b1 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 12 +Offset: 00047600 +Length: 094b +Min Alloc: 094b +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + g_snapProcessFnPtr = 0x14780c9a + 0x14780c7a = "SnapProcess" + check if this egg is already in the list + found an empty one, add it here + reached the end of the list and no free eggs, add it here. + remove this eggid from the list + decompilation is confusing.. this is better read as proc->eggids[proc->numeggs - 1] != 0 + copy egg2 data to egg1 + get location of current controlled npc + snap to this egg + Segment: 13 +Offset: 00048200 +Length: 1f6c +Min Alloc: 1f6c +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 14 +Offset: 0004aa00 +Length: 0526 +Min Alloc: 0526 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + cache/handler.c + Segment: 15 +Offset: 0004b200 +Length: 1c68 +Min Alloc: 1c68 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + get full path to shapes.flx + cache/shaphand.c + Segment: 16 +Offset: 0004d400 +Length: 0677 +Min Alloc: 0677 +Flags: 0c00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + FIXME: this is not a null fn + FIXME: this is not a null fn + FIXME: this is not a null fn.. + FIXME: this is not a null function.. + Segment: 17 +Offset: 0004dc00 +Length: 01a7 +Min Alloc: 01a7 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 18 +Offset: 0004e000 +Length: 07e9 +Min Alloc: 07e9 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + if volume is 0 + if shape volume is 0 + Segment: 19 +Offset: 0004ea00 +Length: 0b4d +Min Alloc: 0b4d +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + fn ptr = 0x14780f5e + g_teleporterProcessFnPtr = 0x14780f3a + name = 0x14780ee3 ("Teleporter") + fn ptr = 0x14780f3a == teleporter process functions + fn ptr = 0x14780f3a == teleporterProcess + have the new process wait for this one + find teleport egg (family 8) with frame 1 and q 0xff and (PARAM). + intrinsic 079 + intrinsic 096 + intrinsic 0A7 + intrinsic 0A3 + intrinsic 03F + g_eggHatcherProcessFnPtr = 0x14780f16 + 0x14780f0b = "EggHatcher" + Segment: 20 +Offset: 0004f800 +Length: 0878 +Min Alloc: 0878 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + item/glob.c + fastonly, disposable + Note: In Crusader, flag param seems to always start as 0 + increment pointer + Segment: 21 +Offset: 00050200 +Length: 4486 +Min Alloc: 4486 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + note: this is just coincidence that the targeting reticle is 0x2800 + terminate + assuming that crusader uses the same flags as U8.. + Find the container holding the item, if it's in a container? + find the container holding the item? (flag 8 == contained) + get the centre in x + item_X + (((shapedata[shapeno][2]) / 32) & 0x1f) * -8 + Intrinsic 0x120 + get the centre in y + Intrinsic 11E and 12B + (((item_Y + shapedata[shapeno][3]) >> 2) & 0x1f) * -8 + Intrinsic 11F + find first item not in container + if invisible, return 0 (assuming same flag meaning as U8) + if family type is 6.. (container) + Intrinsic 057 + 0x14780608 is a dword pointer to fn 0x10c01637? + Intrinsic 024 + for NPCs, frame high byte is held in this other struct + for NPCs, frame high byte is held in this other struct + Byte 1 bit 0 = SI_DRAW + for NPCs, frame high byte is held in other struct. + check flag SI_DRAW + note: although mapno is only byte size, this fun returns a word - check the disasm + assumes shape family 1 ("quality") is the same as in U8 + Shape Family 1 - SF_QUALITY + intrinsic 0A2 + Family 4 = SF_UNKEGG + shape family 4 == SF_UNKEGG + if shape family is 3 (GlobEgg?) + shape family 3 == Glob Egg + if container or "monster egg".. which is just like a different container? + intrinsic 03C + shape 1278 (0x4fe) is a snap egg + intrinsic 020 + intrinsic 0ED + Intrinsic 030 + intrinsic 0EC + intrinsic 022 + boxes of various sorts + intrinsic 03D + not dead.. + intrinsic 02E + Intrinsic 127 + Intrinsic 0C7 + intrinsic 00D + Intrinsic 064 and 12D + if flipped (assuming same flags as u8) + Intrinsic 0A4 + intrinsics 044, 046, 048, 04A, 04C, 04E, 0A5, 0BC, 0C5, 0DC, 0F1, 0FA, 12C + intrinsic 06F + Intrinsic 065 - is held, meaning is the item contained by an NPC at some level + Intrinsic 025 + if item not ethereal? (if flags have same meaning as u8 + Intrinsic 005 + Intrinsic 01A and others + Intrinsic 08C / 119 / 12A + Thin local 0x0020 and UC_Hit lane. In the current verified caller set it is reached from 10f0:0379 only when process field +0x3c == 0x20b, reusing the same +0x36 and +0x38 aux pair as the sibling 0x20c branch. + First closed non-hub caller family downstream of 1420:0dc5: recomputes the same class id, tests owner-row bit 0x0040 directly, writes the result through pflagout, and only then optionally enters the UC_GotHit lane. Treat the row bit as a generic capability flag, not a direct NPCTRIG or EVENT tag. + Intrinsic 006 / 0B5 + Intrinsic 0B0 + Intrinsic 08B + when shape 0x4fe enters, we trigger the snap process + get their current activity + clear last activity + clear flag 0x59 bit 1 (? also cleared when AttackProcess starts) + clear in-combat flag (0x8, bit 3) + call if is npc or SI_NOISY + Flags byte 6 bit 3 = SI_CRU_SOUND + only call usecode for SI_NOISY objects + Intrinsic 0E8 + Intrinsic 0B1 + flags field 6, 0x10 == SI_Targetable + animcache something.. + note: decompiler confused here, ptr goes to "x" + Intrinsic 015 + Intrinsic 02A + intrinsic 043 + intrinsic 038 + Intrinsic 076 + Intrinsic 03A + I think this is to randomly give NPCs stronger weapons - it's called when difficulty level is set to 4 + shape 899 - android + shape 793 - guardsq + shape 436 - enforcer + shape 715 - roaming (robot) + shape 824 - thermatr (robot) + Intrinsic 12F + Intrinsic 02F + Intrinsic 007 + Intrinsic 095 + Intrinsic 103 + is this shapenum? 2046 is near the end of the shape data (2048) + copy the shape data into the on-stack buffer + Segment: 22 +Offset: 00055000 +Length: 2bd6 +Min Alloc: 2bd6 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Shape Family 3 = Glob Egg + note: flag 0x80 == FLG_FastOnly + get gravity process + flg 0x80 == FLG_FastOnly + shapeflag 0x80 = SI_NOISY flag 0x2000 = FLG_FastArea + + item is contained + check FLG_EQUIPPED + saves all the stuff into the file + zero out the blocks + z = 0xf3 (free) + 510 is the "bad newgumpid" ? + first free npc num and last free npc num? + if not ethereal.. + if not ethereal.. + if equipped.. + clear equipped flag + if not ethereal.. + z = -2 means freed object + set ethereal + if we are moving the avatar, move the sprite too + if fast area flag set.. + Note: field 200 is the last flag in SnapProcess + byte 1 bit 0 = SI_DRAW + shape family 6 SF_CONTAINER + shape family 6 (container) or 7 (monsteregg) + Intrinsic 023 + if FLG_FastOnly + family 3 == SF_GLOBEGG + get a char - if x, exit + spaces + spaces + ptr to 2 spaces (null terminated) + ptr to 2 spaces (null terminated) + ptr to 2 spaces (null terminated) + Segment: 23 +Offset: 00058200 +Length: 05d6 +Min Alloc: 05d6 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Go through each of the allocated blocks and zero them + Segment: 24 +Offset: 00058a00 +Length: 06d7 +Min Alloc: 06d7 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + bits 1,2 give explosion type (0 means don't explode) + Segment: 25 +Offset: 00059200 +Length: 1976 +Min Alloc: 1976 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + shape family + special case some common loopscript patterns + if not contained.. + Special case some common loopscript patterns + TODO: work out what weird maths is going on here.. + no value to find. call the callbackfn with -1 + calculate map tile numbers for the minx/miny and maxx/maxy vals + Segment: 26 +Offset: 0005ae00 +Length: 04de +Min Alloc: 04de +Flags: 0c00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + minx_tile * 0x80 + miny_tile * 2 + Segment: 27 +Offset: 0005b400 +Length: 057b +Min Alloc: 057b +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Intrinsic 027 + calc distance to "min" direction + Segment: 28 +Offset: 0005ba00 +Length: 0788 +Min Alloc: 0788 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Intrinsic 0B4 + Intrinsic 0B6 + Intrinsic 000 + if creation failed, clear the alert?? + Segment: 29 +Offset: 0005c400 +Length: 190a +Min Alloc: 190a +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + swap x and y values + return the result in psearch->someresult (offset 0x2f) + if flipped + if flipped.. + go through the linked list + create the "hit" notifier + create the "gothit" notifier" + NOTE: something weird going on here, the disasm assigns x/y/z to 3 separate structs on the stack, but only one of them seems to be used? + Segment: 30 +Offset: 0005e000 +Length: 5071 +Min Alloc: 5071 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + zero the words of memory just allocated (0x3c80 = 0x100 * 0x79 / 2) + set up avatar (item 1) defaults + Intrinsic 033 + clear 5a flag 1 + clear 0x5a flag 1 + set 5a flag 1 + Intrinsic 0E5 + behavior 5/10 is attack.. + field 100 of NPC is probably target NPC no? + intrinsic 0AB + falling (set in GravityProcess::create, cleared in ::finish) + intrinsic 0CC + intrinsics 039/122/12E + Intrinsic 021/060/073/0A0/0A8/0D8/0E7/135 + intrinsic 085 + intrinsic 07B / 130 + All "start running" animations (34, 35, 38) + intrinsic 035 + set the kneeling bit + clear kneeling bit + set high byte of frame + No free ids, find one to destroy. + set high byte of frame + 940 and 1431 are female civilian NPC shapes. Does this set flag for them to scream in a different voice? + intrinsic 061 + intrinsic 0DF + Intrinsic 0E0 + set inventory item n to param3 + interesting: when item is in inventory, the "z" is its inventory position + Set flag "equipped" (if same as U8) FLG_EQUIPPED + Intrinsic 063 + Intrinsic 011 + Intrinsic 052 + Intrinsic 053 + Intrinsic 054 + Intrinsic 0E1 + Intrinsic 0E2 + Intrinsic 0E3 + last activty = current activity + intrinsic 055, 07D, 0CD, 0DB, 0F2, 131 + Move value in field 0x2 to field 0x4 + todo: is this loopscript?? + set weapon ready flag (0x5a bit 1) + clear weapon ready flag (0x5a bit 1) + Do the animation first + Intrinsic 051 + clear field 0x59 flag 3 - this is also called from Intrinsic 00C if the flag is set + terminate Attack process if there is one + Intrinsic 00E + intrinsic 07C + Intrinsic 050 + avatar + intrinsic 082 + intrinsic 083 + intrinsic 081 + if avatar, get something.. + 2356 - chemical battery? + fission battery? + fusion battery? + intrinsic 0DE + Intrinsic 0B7 + Intrinsic 00C + in usecode, param is always 1 or 0. + Intrinsic 01C / 112 / 121 + Intrinsic 01D, 05A, 0B9, 0D7, 0E4, 124 + intrinsic 0CA + Intrinsic 0EB + intrinsic 029 + array 0x1b, but starting from NPC 1 (0x94 = 0x79 + 0x1b) + reuses the variable but not the same meaning.. + this weapon has no ammo.. + Remove 1 from the count of ammo clips, add the clip size to the weapon + Intrinsic 0FD + Intrinsic 078 + 0x4ed is 1261, credits + Intrinsic 00B + Intrinsic 0E6 + intrinsic 0DD + Segment: 31 +Offset: 00064000 +Length: 06ee +Min Alloc: 06ee +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Shape Family 3 == Glob Egg + Creates the local 0x236 process family later split by 10f0:0379. Verified shared fields in that runner: subtype or tag at +0x3c and aux words at +0x36 and +0x38. + Verified 0x236 process subtype gate: +0x3c == 0x20c routes to 10a0:275f, +0x3c == 0x20b routes to 10a0:2718, both using the same +0x36 and +0x38 aux pair. This closes one local caller family but does not prove the upstream owner-loaded class choice. + Subtype 0x20c branch to 10a0:275f. + Subtype 0x20b branch to 10a0:2718. + call the run function + call the terminate function + Segment: 32 +Offset: 00064800 +Length: 056a +Min Alloc: 056a +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + stop if we hit a LS end char ('$') + add LS end char ('$') + intrinsic 0AC + Segment: 33 +Offset: 00065000 +Length: 10d7 +Min Alloc: 10d7 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + if the direction is within +/- 2 of the current one + set 0x5a flag 0 + clear 5a flag 0 + shape 759 - Man in suit ("OFFWORK") + shape 757 - man with hardhat ("MAINTMAN") + shape 758 - man in chemsuit ("CHEMSUIT") + shape 836 - scientist ("SCIENTIS") + shape 1431 - lady in an office chair + Do Stand animation + turn around, and wait for 60 + take a step forward + sleep for randval * 60 + 60 ticks (ie, randval+1 seconds) + check the number of iterations left + git random x/y from -160 to +160 + starting x + Segment: 34 +Offset: 00066600 +Length: 253a +Min Alloc: 253a +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + if target is not avatar, and controlled npc is avatar, attack avatar. + clear 5a flag 1 + field 0x4d = combatDatCurOffset + after the name, there are 4 offset values in the combat data - this picks one of them to use in the 0x55 field of the process struct. In practice, this function is never called with any values other than 0 or 1 + 47:45 is the pointer to the combat data + set the combat dat offset pointers to block 0 + get the metadata for the animation decided above + script to find shape = 0x33A (826), the numbers that NPCs wander between + 0x8f - pathfind to a point between npc and the target + 0x94 - loiter a bit.. + 0x96 - do activity specified by next word + 0x97 - switch to tactic no (next word) + 0xff = flip to block 1 and restart + 0x9b - get next word and jump to that offset if distance > 0xa0 + passes npc field 0x64 (= 100) + this is called when the tactic no is 0 + Check weapon ready flag + if 5a flag 1 not set.. + 5a flag 1 (weapon ready) set? + 0x3c = 60 (1 second) + Segment: 35 +Offset: 00069400 +Length: 0f67 +Min Alloc: 0f67 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + SI_SOLID and footpad z != 0 + 0x5a flag 1 = weapon ready + terminate if field_0x4a is true + at destination point, terminate + terminate if the next dir is 0x10 (current). if 0xff set flag + flags: 16dir true, non-combat true + flags: 16dir true, non-combat true + in combat and weapon ready + 0x14781fff = g_pathfindDirOffsets2 + run the new anim proc now + Segment: 36 +Offset: 0006a600 +Length: 069f +Min Alloc: 069f +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Table holds 128 entries of 71 (0x47) bytes (0x2380 == 0x47 * 128). + initalize all the data to 0 + weapon data? 42 * 9 bytes, which matches no of weapon name entries + pointer to "INVALID" + this is the real return + note: this returns junk, but we just assert-exited so it's fine. + Segment: 37 +Offset: 0006ae00 +Length: 0636 +Min Alloc: 0636 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + if this item is closer than the best so far, not occluded.. + Segment: 38 +Offset: 0006b600 +Length: 2318 +Min Alloc: 2318 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Intrinsic 098 + "silencer terminated" + terminate process + These are all "robot" shapes [715, 824, 899, 901, 1117, 1224, 1254] + intrinsic 032 + shape 0x3ac (940) - vargas + get process type 0xf0 (AnimPrimitive) + not dead yet. (this is the only branch) + update the last washit time + not the controlled npc or the silencer + is silencer? + static electric sound thing.. + shape 0x5a9 - small red shield zap + shape 0x5a9 - small red shield zap + shape 0x52b - big blue shield zap + Die! + 0x576 - flaming guy running around + 1423 = plasma death + 1430 = fire death skeleton + 0x383 == 899 (robot), 1423 = plasma death, 1430 = fire death skeleton + if male.. + else (female) + play random scream (male or female) + not enough damage to die, just say "oof" or whatever + if male.. + female scream + male "ugh!" + 0x259 == attack process + probably "sleep for random time" + Intrinsic 01E + +This is either called from usecode or from an animation (via NPC_FireWeapon) + shape 473, the various bullet bounce shapes + Intrinsic 116 + shape 1d9 (== 473) is various bullet projectiles (rockets etc) + Intrinsic 042 + shapeinfo._z + 0xdb == zapping noise + we're done! terminate + that's all, terminate. + Intrinsic 0EE + Intrinsic 0F6 + if we're at the rebel base.. + Segment: 39 +Offset: 0006e200 +Length: 3416 +Min Alloc: 3416 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + intrinsic 056 + Intrinsic 01B + 0x576 = Koresh (flaming guy running around) + Terminate existing sprite process + create the targeting reticle sprite + 0x168 = 360 + 0x168 = 360 (degrees). 0x10e = 270 + 0x4cc == small red crosshairs + scan code 0x44 = F10? + Stop any DeathSilence process + set HP to max val + probably "is alt or control down", to toggle god mode + scan code 0x4b = left + scan code 0x4d = right + animation 46 = kneeling with weapon + animation 4 = combat stance + check if capslock is on.. + scan code 0x48 = up + scan code 0x50 = down + scan code 0x4b = left + scan code 0x4d = right + scan code 0x47 = home + scan code 0x52 = ins + scan code 0x49 = pgup + scan code 0x4f = end + scan code 0x51 = pg down + scan code 0x4c = 5 + scan code 0x53 = del + scan code 0x35 = questionmark + note: decompiler is wrong, this is actually 0x1130273b + The array we're comparing param2 to contains 1, 2, 4, 0x10, 0x100. The other array is all 0s + The jump table is: + 0x1130226E, 0x11302276, 0x113022B6, 0x113022BD, 0x113022B6 + + pressing fire when some global is set.. + anim picked and field_0x8 != 0 + scan code 0x4a = Scan_NumMinus + scan code 0x37 = num-pad * + scancode 0x4e numpad plus + 0xf0 = animprimitive process + terminate the current anim and replace with jumpforward + if Scan_Ins and modifiers != 0 + Note: jump table data is at 0x1130274f + Shape 0x332 = SG-A1 + reload now + Shape 0x332 = SG-A1 + not shots left and no inventory to reload with + sound 0x103 - female voice saying "Crusader: No Remorse" + stop process type 0xc (also stopped on destroy..) + shape 0x38d (909) a big gun + set last anim and anim frame + Segment: 40 +Offset: 00072200 +Length: 1e7a +Min Alloc: 1e7a +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Intrinsic 0C6 + various explosions - shapes [796, 799, 800, 801, 802, 803, 804, 805, 806, 807] + if this is the targeting reticle, record some data specially + flag = 1 - accurate + abs difference + calculate a range for inaccuracy + limit to 0x50 + limit to 0x18 + x,y,z inputs in Run are nowpt, pt3 + sprite 0x426 == 1062, a little sparkly explosion + terminate if we're not in the fast area + new x value + new y value + new z value + sprite is not initialized yet + flag 0x8 on byte 1 - ShapeInfo::SI_TRANSL + pt3.z is valid + counter is lower than duration.. + terminate if pt3 is not in the fast area + check the 3rd bit of the 2nd byte of the shape data -> SI_ROOF + Segment: 41 +Offset: 00074600 +Length: 028d +Min Alloc: 028d +Flags: 0c00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 42 +Offset: 00074a00 +Length: 0c9c +Min Alloc: 0c9c +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + if 5a flag 0 (surrendering) is not set.. + shape 1d8 == 472 == bullet sparks + shape 0x537 = 1335 = a small rising fireball explosion + shape 1d8 == 472 == bullet sparks + shape 0x578 = 1400 = plasma splash explosion + 0x56b = 1387 = fireball explosion + 0x59b = 1435 = staticy electricity explosion + fireball explosion.. randomize first frame + Intrinsic 017 + exptype 0 -> divisor = 3 + 2 different explosion sound effects + 2 different explosions sfx + cause damage + Intrinsic 0BB + shape 0x31a is an imaginary chequered wall thing.. + do something for shape 0x31a + Segment: 43 +Offset: 00075a00 +Length: 336f +Min Alloc: 336f +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + FIXME: parameters here are pretty suspicious.. + clear bit 4 of flag field 0x59 + else, not a roll move + 90 deg to the right + 90 deg to the left + 0x576 = flaming guy + get field 0xd - last anim + bit 0 = AAF_TWOSTEP (two parts, second half starts half way) + two step and bit 2 = AAF_LOOPING + not twostep or looping, start on frame 0 + looping but not the same as last anim - start on frame 0 + set current frame to 2 + invalid animation no, stop. + left fast area + flag bit 0 (twostep) + if animation is going back (flag held in npc) + update current anim frame + terminate + double deltadir value + if AFF_CRUFLIP, flip item. + frame meta byte 2 = deltaz + if rotated flag (bit 4 of second byte) is set.. + frame flag bit 1 = ONGROUND + bit 3 of flags is AAF_UNSTOPPABLE + (else start pt not null) frame bit 1 AFF_ONGROUND + proc->unstoppable is true. + frame flag bit 1 = ONGROUND + frame is ONGROUND.. + frame bit 1 AFF_ONGROUND + no delta z, is onground, don't need to check for fall + terminate + bit 3 of anim flags = AAF_UNSTOPPABLE + Actually move the item.. + terminate with code |= 2 + bit 3 of flags is AAF_UNSTOPPABLE + Frame flag bit 6 == AFF_USECODE + frame flag bit 4 AFF_HURTY + if AFF_USECODE flag set.. + frame flag bit 4 AFF_HURTY + has firex or firey or firez + frame flags low byte bit 1 = AFF_ONGROUND: + if AAF_HANGING flag is not set + this is called if the startpt is not null + if we started flipped, set us back to flipped. + if bit4 of 0x59 was clear when we started, clear it now.. otherwise set it? + byte 3 bit 7 - (AAF_DESTROYACTOR) destroy actor at end of animation + if AAF_DESTROYACTOR flag is set.. + clear bit 2 of 0x59 (anim loop dir) + if 16 dir flag not set.. + Segment: 44 +Offset: 00079400 +Length: 07f8 +Min Alloc: 07f8 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + This can be called from animations, calls through to Crusader_FireWeapon to do the main logic. + if male - 0x5a bit 2 (female) not set + defaults to 0x65, a screaming male sound + if is 8 dir + Segment: 45 +Offset: 00079e00 +Length: 0200 +Min Alloc: 0200 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 46 +Offset: 0007a200 +Length: 07dc +Min Alloc: 07dc +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 47 +Offset: 0007ac00 +Length: 09b4 +Min Alloc: 09b4 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + fixme; this is weird.. function doesn't seem to rerturn anything in DX?? + Segment: 48 +Offset: 0007b800 +Length: 0063 +Min Alloc: 0063 +Flags: 0c00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 49 +Offset: 0007ba00 +Length: 1e3f +Min Alloc: 1e3f +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Intrinsic 062 + this calls function 0x118012F1, which calls fn 0x11801356 + this calls function 0x118019C1 + check SI_DRAW + shape data byte 1 bit 3 == SI_TRANSL + intrinsic 040 + get egg hatcher (0x20f) processes + note: checked this list and they do all appear to be void fns. + Intrinsic 041 + Intrinsic 086 + Intrinsic 087 + Intrinsic 0D6 + Segment: 50 +Offset: 0007de00 +Length: 09c8 +Min Alloc: 09c8 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 51 +Offset: 0007ea00 +Length: 1d02 +Min Alloc: 1d02 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 52 +Offset: 00080a00 +Length: 1d65 +Min Alloc: 1d65 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + if flipped.. + not SI_EDITOR + clear flag 0.. what's that? + bit 5 == SI_BAG + bit 3 of byte 1 - SI_TRANSL + flags1 bit 1 == SI_IGNORE + Segment: 53 +Offset: 00082c00 +Length: 10de +Min Alloc: 10de +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + 1216 bytes.. what's it for? + clears a global then sets flag 0 on all valid sprites (non-zero shapeno) + Segment: 54 +Offset: 00084000 +Length: 0005 +Min Alloc: 0005 +Flags: 0c00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 55 +Offset: 00084200 +Length: 0a06 +Min Alloc: 0a06 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + intrinsic 05D + intrinsic 05F + called by intrinsic 05D + called with "4" when energy changes, "3" when hp changes, "2" when field 0x66 is updated, "0" for active weapon change + Segment: 56 +Offset: 00085000 +Length: 0706 +Min Alloc: 0706 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + reset driver and read status + define mickey/pixel ratio (3 horizontally, 16 vertically) + call mask 3f - call the routine for ~all events + Segment: 57 +Offset: 00085a00 +Length: 079b +Min Alloc: 079b +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + clear the timer values + function pointer to 0x11C0072D, which calls 0x11E0112C + Segment: 58 +Offset: 00086400 +Length: 044b +Min Alloc: 044b +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 59 +Offset: 00086a00 +Length: 4288 +Min Alloc: 4288 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Intrinsic 0EF + set an extended process flag - this is not in U8, what is it? + Intrinsic 06C + Called from the interpreter by opcode 0x54 + assert process is "linear" + if NoTerminatedState extflag is set + cpu generated breakpoint + Port 0x43 PIT mode control - 00110110 = counter 0, write 16 bits, mode 3 (square wave), binary counter + 0040 RW PIT counter 0, counter divisor (XT, AT, PS/2) + Used to keep the system time; the default divisor of (1)0000h + produces the 18.2Hz clock tick. + + pushflags + popflags + Segment: 60 +Offset: 0008b600 +Length: 0231 +Min Alloc: 0231 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 61 +Offset: 0008ba00 +Length: 1b6c +Min Alloc: 1b6c +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + proc2 will wait for proc1 + like waitfor + 0x10 = Proc_Chain + assert process capable of interrupts + assert process is interrupt-capable + Segment: 62 +Offset: 0008da00 +Length: 085f +Min Alloc: 085f +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 63 +Offset: 0008e400 +Length: 0519 +Min Alloc: 0519 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 64 +Offset: 0008ea00 +Length: 03b1 +Min Alloc: 03b1 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + intrinsic 012 + loop a/b/c + Intrinsic 090 + Segment: 65 +Offset: 0008f000 +Length: 05bd +Min Alloc: 05bd +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 66 +Offset: 0008f800 +Length: 04a9 +Min Alloc: 04a9 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 67 +Offset: 0008fe00 +Length: 0839 +Min Alloc: 0839 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 68 +Offset: 00090800 +Length: 0b4a +Min Alloc: 0b4a +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 69 +Offset: 00091800 +Length: 02a0 +Min Alloc: 02a0 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 70 +Offset: 00091c00 +Length: 0f24 +Min Alloc: 0f24 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + dos open file + close file + dos lseek + dos read from file + dos fseek + dos write + dos lseek + Segment: 71 +Offset: 00092e00 +Length: 06c2 +Min Alloc: 06c2 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 72 +Offset: 00093600 +Length: 0ca1 +Min Alloc: 0ca1 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 73 +Offset: 00094600 +Length: 09aa +Min Alloc: 09aa +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 74 +Offset: 00095200 +Length: 0337 +Min Alloc: 0337 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + do something with UMBs in DOS memory chain + SET HANDLE COUNT to 0x46 + do something with UMBs in DOS memory chain + close file + Segment: 75 +Offset: 00095600 +Length: 1428 +Min Alloc: 1428 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 76 +Offset: 00096e00 +Length: 0627 +Min Alloc: 0627 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 77 +Offset: 00097600 +Length: 0616 +Min Alloc: 0616 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + 256 cols + brightness + Segment: 78 +Offset: 00097e00 +Length: 0634 +Min Alloc: 0634 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + object is inside viewport + call interrupt to set mode + Segment: 79 +Offset: 00098600 +Length: 0421 +Min Alloc: 0421 +Flags: 0c00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 80 +Offset: 00098c00 +Length: 0f27 +Min Alloc: 0f27 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 81 +Offset: 00099e00 +Length: 0320 +Min Alloc: 0320 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 82 +Offset: 0009a200 +Length: 1c8a +Min Alloc: 1c8a +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + GET CURRENT PSP ADDRESS + Segment: 83 +Offset: 0009c400 +Length: 031e +Min Alloc: 031e +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 84 +Offset: 0009c800 +Length: 1478 +Min Alloc: 1478 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 85 +Offset: 0009e000 +Length: 0404 +Min Alloc: 0404 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 86 +Offset: 0009e600 +Length: 40f6 +Min Alloc: 40f6 +Flags: 0c00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 87 +Offset: 000a2800 +Length: 050c +Min Alloc: 050c +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 88 +Offset: 000a2e00 +Length: 0523 +Min Alloc: 0523 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 89 +Offset: 000a3400 +Length: 0373 +Min Alloc: 0373 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 90 +Offset: 000a3800 +Length: 09c6 +Min Alloc: 09c6 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + mod 360 + scale 360 to 256 + Segment: 91 +Offset: 000a4400 +Length: 06fa +Min Alloc: 06fa +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + PIT control port: +11000010 - read back counter, programmable one-shot, binary counter + read timer flags and val + check flags against 00001000, or software triggered strobe? + fire one-shots + read joystick position and status + cpu-generated breakpoint + set mode 3 (80x25 8x8 640x200 16) + set mode from param1 + get current video mode + get font information + function ptr, defaults to 11140003h + + Segment: 92 +Offset: 000a4e00 +Length: 059e +Min Alloc: 059e +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + attribute 0x10, search for directories? + Segment: 93 +Offset: 000a5600 +Length: 04f1 +Min Alloc: 04f1 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + compared str to "ASYLUM" + Segment: 94 +Offset: 000a5e00 +Length: 0606 +Min Alloc: 0606 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Note: this reuses the variable "res" but it's not the same thing + Segment: 95 +Offset: 000a6600 +Length: 0c9f +Min Alloc: 0c9f +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 96 +Offset: 000a7600 +Length: 0582 +Min Alloc: 0582 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 97 +Offset: 000a7e00 +Length: 0db0 +Min Alloc: 0db0 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + trim to screen coords + Segment: 98 +Offset: 000a8e00 +Length: 068a +Min Alloc: 068a +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 99 +Offset: 000a9600 +Length: 0355 +Min Alloc: 0355 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 100 +Offset: 000a9c00 +Length: 0697 +Min Alloc: 0697 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 101 +Offset: 000aa400 +Length: 17bc +Min Alloc: 17bc +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 102 +Offset: 000ac000 +Length: 073c +Min Alloc: 073c +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 103 +Offset: 000aca00 +Length: 16cd +Min Alloc: 16cd +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 104 +Offset: 000ae600 +Length: 041b +Min Alloc: 041b +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 105 +Offset: 000aec00 +Length: 09f6 +Min Alloc: 09f6 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 106 +Offset: 000af800 +Length: 1795 +Min Alloc: 1795 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 107 +Offset: 000b1400 +Length: 040c +Min Alloc: 040c +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 108 +Offset: 000b1a00 +Length: 113f +Min Alloc: 113f +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + 0~1278 + 0~479 + keyboard get extended shift states + Segment: 109 +Offset: 000b2e00 +Length: 1424 +Min Alloc: 1424 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 110 +Offset: 000b4400 +Length: 04c4 +Min Alloc: 04c4 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 111 +Offset: 000b4a00 +Length: 0489 +Min Alloc: 0489 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + frame no 0 + Segment: 112 +Offset: 000b5000 +Length: 1670 +Min Alloc: 1670 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 113 +Offset: 000b6a00 +Length: 04a6 +Min Alloc: 04a6 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 114 +Offset: 000b7000 +Length: 0df1 +Min Alloc: 0df1 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 115 +Offset: 000b8000 +Length: 0978 +Min Alloc: 0978 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 116 +Offset: 000b8c00 +Length: 0aa3 +Min Alloc: 0aa3 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Intrinsic 0FE + shapeno 21 is the computer frame + very short "beep" sound for text being displayed + Segment: 117 +Offset: 000b9a00 +Length: 3157 +Min Alloc: 3157 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 118 +Offset: 000bd400 +Length: 0a0a +Min Alloc: 0a0a +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 119 +Offset: 000be200 +Length: 0419 +Min Alloc: 0419 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 120 +Offset: 000be800 +Length: 09ae +Min Alloc: 09ae +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 121 +Offset: 000bf400 +Length: 0ace +Min Alloc: 0ace +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + small boop (backspace) + small beep + Intrinsic 0C4 + 10 is the gump shape for the frame for the keypad + configure a bunch of button gumps.. note the repeating coordinates as x/y offsets. + 0x19 (25) is the distance to the top of the button area in the frame (gump 10) + enter button + code correct sound + code incorrect + Segment: 122 +Offset: 000c0200 +Length: 3149 +Min Alloc: 3149 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + stop proc type 0x206 (fade) + 0x3a = "new game" button + 0x3b = "load game" button + "save game" button + "options" button + "credits" button + "quit" button + Music track 0x12 is Menu + 0x4a - mommy's boy (left/right frames) + 0x4b - weekend warrior (left/right frames) + 0x4c - loose cannon (left/right frames) + 0x4d - no remorse (left/right frames) + frame no 0 + frame no 0 + Segment: 123 +Offset: 000c3c00 +Length: 0e6d +Min Alloc: 0e6d +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + check free disk space for save + Segment: 124 +Offset: 000c4e00 +Length: 03dd +Min Alloc: 03dd +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 125 +Offset: 000c5400 +Length: 1a3e +Min Alloc: 1a3e +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Intrinsic 134 + set the intro movie flag to.. the intro movie flag? + when cheating, always load item set 0 + gump shape 0x10 = 16 = big triangle yes button + gump shape 0xf = 15 = big triangle no button + gump shape 0x1c = 28 = buy button + gump shape 0xd = 13 = big triangle left button + gump shape 0xe = 14 = big triangle right button + gump shape 0x1a = 26 = blank white rounded-bottom button + gump shape 0x1b = 27 = ammunition button + gump shape 0x53 = 83 = weapons white button + gump shape 0x1d = 29 = white exit button + reset "purchase pending" flag + shows after the "i don't accept returns" video in the first trip to the base + clear the current data + if selected >= nitems + seleted = nitems - 1 + if selected < 0 + clear flag in dispatcher proc + set flag back in dispatcher proc + Movie 18D/E/F - "Don`t tell me. Don`t tell me. I know what you want... Because of all the Consortium activity of late, the shipment I was expecting, it didn't make it. No. +My stocks are extremely low, you might not find everything. +I`m sorry about that. But these things happen, you know? +Do you see anything you like? + Movie 18A/B/C - Salutations. The Weasel's here with the gear! Everything your destructive little heart could want. +Big guns, little guns and Blast PACs in between. +Peruse the merchandise and we`ll get down to business. +Hm, what will it be today, Captain? + First intro movie 17A - "Weasel's the name, selling weapons is my game" + Set state to 6 (browsing) + Movie 19C - Let's not waste each other's time. Buy something or move on! +There are other customers waiting. There. There. There. +So, what'll it be? Are you interested or not? + + next state = CheckBuyMore + Movie 21A/B - So, have you made up your mind? Is this what you want? + Movie 21E - I should have known. I should have known. +I know it's hard to make up your mind, but I need to go on. +Can`t you see? They`re here now. +Is there something else you're interested in right now? + + next state = CheckBuyMore + Movie 21C - Ah, another satisfied customer. +It's always a pleasure serving the Resistance. I hate those. +Anything else I can do for you, Captain? + next state = CheckBuyMore + Movie 20C - Sorry, Captain, but I don't take the Consortium Express Card. +Just cold, hard credits, if you please. +Perhaps there's something else I could interest you in... +Something you could afford, maybe. + + next state = Browsing + button 1 = Yes + if state == CheckBuyMore, state = Browsing + if state == ConfirmPurchase + state = CompletedPurchase + button 0 = no button; if state == CheckBuyMore + state = ClosingIThink? + if state = ConfirmPurchase + state = CancelledPurcase + button 2 = "buy" button + button 3 = exit button + if item has been purchased + state = ConfirmPurchase + state = CancelledPurchaseMaybe1? + 4 = left button + 5 = right button + 8 = weapons button + 7 = ammunition button + ammunition is always data block 1 + probably onkeyevent?? + state is ConfirmPurchase or CancelledPurchase3? or CompletedPurchase or CheckBuyMore + weapon (only hold one) + if family 10 (weapon) + non-weapon, count quality + family 11 (ammo) + update number of credits held + clear the pending purchases (and pending purchase count) + shape 0x111 = keycard + shape 0x4ed = credits + family 10 (weapon) + 11 = ammo + 12 = bomb + 13 = invitem + Segment: 126 +Offset: 000c7400 +Length: 402a +Min Alloc: 402a +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Intrinsic 091 + Intrinsic 093 + intrinsic 094 + This process stops the music and then plays credits (see fn at 0x13E80000) + + Intrinsic 072 + intrinsic 075 + Intrinsic 0D3 + This is called at the end of surveilance camera operation. Normally along with clear avatar in stasis. + Intrinsic 0A6 + Intrinsic 037 and 0B8 + shape 1261 .. credits + no credits + shape 273 = keycards (look like cell phones) + batteries! + shape 931 = fusion battery (10000 energy) + shape 932 = fission battery + IONIC / PLASMA / GRAVITON shapes + shape 1376 == cru_spider + shape 1326 = IONIC + shape 1327 = PLASMA + shape 1328 = GRAVITON + Intrinsic 074 + Intrinsic 070 + Intrinsic 071 + Shape 4d4 = data link + shape 0x598 = a weird smiley thing.. + "Exit to dos?" sound + press ~ button to toggle cheats.. + CTRL-Q = "CD Transfer display" + CTRL-M = switch music track + CTRL-L - show coordinates + 0x42f = CTRL-V - show version information + 'T' + Case 'b' or 'B' - detonate bomb + search area for shape 0x55F (1375) - DETPAC + "Quick load." sound + "quick save" sound + case '?' - show help screen + case 'e' or 'E' - use energy cube + 0x582 == 1410 == energy cube + 'm' - use medikit in inventory + 'R' - targeting reticle + targetting reticle active + 'Q' - cycle through weapons + 'W' - cycle through weapons + 'U' - use item + 0x4d4 = 1236 = datalink, 0x52d = 1325 = scanner, 0x52e = 1326 = ionic, 0x52f = 1327 = plasma, 0x530 = 1328 = graviton + i - cycle through inventory + 'O' - toggle inventory in reverse + 'f' - paint frames + play "crusader, no remorse" voice + TODO: Somewhere in here it fetches the current difficulty level + case 'G' or 'g' - grab nearby items + h - hack mover - only works in Laurie mode + 'S' - select nearby items + if SI_SELECTABLE is zero, store the value and give directly to avatar in the function below, otherwise just call the Use event and clear offset 0x39 (so it doesn't get given to avatar) + if shape is 0x4ed OR family in (10, 11, 12, 13) OR typeflags[6] bit 1 is set + add 1 to the candidate count + if we have some candidates.. + if no candidates.. + nothing to select "beeboop" sound + if the grab flag was set.. grab it now + shape 0x5a3 = 1443 = use item crosshairs + frame 0x51 - first page of help + frame 0x51 - second page of help + Segment: 127 +Offset: 000cc600 +Length: 08f6 +Min Alloc: 08f6 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + fade 0x80 colors out at step size 4 + max hrange = 1278 + max vrange = 479 + bump up the min value (ie, keep making it darker) + Segment: 128 +Offset: 000cd200 +Length: 05d0 +Min Alloc: 05d0 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 129 +Offset: 000cda00 +Length: 0d77 +Min Alloc: 0d77 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + joystick calibration successful + Segment: 130 +Offset: 000cea00 +Length: 047d +Min Alloc: 047d +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 131 +Offset: 000cf000 +Length: 044d +Min Alloc: 044d +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 132 +Offset: 000cf600 +Length: 3eb8 +Min Alloc: 3eb8 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + called by usecode op 0x5a (init) + Opcode 0xd = push string + Opcode 0x41 = push local var (string) + 26 = strcmp, 16 = concat + 0x52 relative jump + Segment: 133 +Offset: 000d3800 +Length: 215a +Min Alloc: 215a +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + copy 4 constants starting at 6608 to 8c7c + Category-only item/usecode class selector feeding the owner-row mask tests in 1420:0e3a and 10a0:275f. It chooses one of the current runtime category bases and does not by itself prove an NPCTRIG or EVENT class-family choice. + Generic owner-row mask gate for item usecode events: computes the class id through 1420:0dc5, tests the owner row at 0x6611 for the supplied 32-bit mask pair, and only then creates the usecode process. + Int 3 == software generated breakpoint + Segment: 134 +Offset: 000d6000 +Length: 0ef0 +Min Alloc: 0ef0 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 135 +Offset: 000d7000 +Length: 03b7 +Min Alloc: 03b7 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 136 +Offset: 000d7600 +Length: 05bd +Min Alloc: 05bd +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Record the value of color 1 + cycle colors 2-7 to the color before it + tmpcol = g_cycleColorData2[i] + g_cycleColorData2[i] = tmpcol + update the video card palette for colors 1-15 + Segment: 137 +Offset: 000d7e00 +Length: 0fbb +Min Alloc: 0fbb +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + fn ptr = 0x1478051e + fn ptr = 0x1478051e + fn ptr = 0x1478051e + Intrinsic 077 + Intrinsic 08F + Intrinsic 0DA + 0x3f (63) is white, as SVGA colors are 6-bits + fn ptr = 0x1478051e + fn ptr = 0x1478051e + Segment: 138 +Offset: 000d9200 +Length: 32e4 +Min Alloc: 32e4 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + fn ptr = 0x1478051e + fn ptr = 0x1478051e + fn ptr = 0x1478051e + fn ptr = 0x1478051e + fn ptr = 0x1478051e + Segment: 139 +Offset: 000dcc00 +Length: 0984 +Min Alloc: 0984 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + 0x3c1 == 961; 0x281 == 641 + < 381 + Segment: 140 +Offset: 000dd800 +Length: 0c6f +Min Alloc: 0c6f +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 141 +Offset: 000de600 +Length: 002b +Min Alloc: 002b +Flags: 0c00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + Segment: 142 +Offset: 000de800 +Length: 4371 +Min Alloc: 4371 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + tag "01wb" + "AVI " + "avih" + "LIST", "strl" + "strh" + 'strf' + 'RRV1' + 'RRV2' + "LIST" + Segment: 143 +Offset: 000e3400 +Length: 06f5 +Min Alloc: 06f5 +Flags: 0d00 + Code + Fixed + LoadOnCall + Impure (Non-shareable) + + write to timer control port - select counter 0, counter latch, zero detection interrupt + Segment: 144 +Offset: 000e3c00 +Length: 8dbc +Min Alloc: 8dbc +Flags: 0d01 + Data + Fixed + LoadOnCall + Impure (Non-shareable) + + g_fadeProcess3FnPtr + g_gumpsFlxFilenamePtr + s_music.flx + s_gumps.flx + this gets set but appears to never be read? + inititalized to a block of 200 bytes + g_femaleUghNoises + these all point to the null byte at the end of the wpnoverlay.dat string. + these are shapes of weapons and some value + points to a block of 640 words + points to a block of 640 words + clear system timer process flag.. maybe destroy? + set system timer process value to this + g_vtableForSomething + these are pointers to the Pure Virtual Function. + TODO: What process uses this? + these are color numbers, used as offsets into the palette data + these are flags. if the value is 1 then the color is cycled differently and some randomness is used.. + see fn 11b0:09ba - seems to be 4 blocks of 0xd sized data + music buffer + struct Palette + initailized to 0 + initialized to 0x800 + initialized to 0x900 + Segment: 145 +Offset: 00000000 +Length: 0000 +Min Alloc: 2000 +Flags: 0c01 + Data + Fixed + LoadOnCall + Impure (Non-shareable) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Title: CRUSADER.EXE +Format: New Executable (NE) Windows +CRC: 00000000 + +Program Entry Point (CS:IP): 0001:0000 +Initial Stack Pointer (SS:SP): 0091:2000 +Auto Data Segment Index: 0090 +Initial Heap Size: 0000 +Initial Stack Size: 0000 +Minimum Code Swap Size: 0000 + +Linker Version: 5.10 +Target OS: Pharlap 286 OS/2 +Windows Version: 0.0 + +Program Flags: 09 + Single Data + Protected Mode +Application Flags: 00 +Other Flags: 00 + + void __cdecl16far entry(void) + + + + + + + + + + + + + + void __cdecl16far exit(int __status) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1000_0240(void) + + + + + + + + + + + + + + + + + + int __cdecl16far dos_set_default_drive(undefined2 driveno) + + + + + + + + + + + + + + + void __cdecl16far free(void * ptr) + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far dos_get_default_drive(int * driveno) + + + + + + + + void __cdecl16far dos_set_default_drive(int driveno, uint * pout_numletters) + + + + + + + + + void __cdecl16far perr(char * str) + + + + + + + + + + + + + void __stdcall16near exitMaybe_1000_31ee(int param_1, int param_2, int param_3) + + + + + + + + + + void __cdecl16far exit_1000_3245(undefined2 param_1) + + + + + + + + + + + + + + int __cdecl16far multiply(word x, word y) + + + + + + + + void __stdcall16far memcpy(word * src, word * dst, word len) + + + + + + + + + + word __cdecl16far dos_cwd(undefined2 param_1, byte drivenum, char * buf) + + + + + + + + + + + + + + + + + + + + + + + + + + + + int __cdecl16far FUN_1000_3310(undefined2 driveno) + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far dos_get_free_disk_space(undefined2 param_1, undefined2 * param_2) + + + + + + + + + + + + + + int __stdcall16far random_something_1000_338e(int param_1, uint param_2, uint param_3, word param_4) + + + + + + + + + + + undefined4 __stdcall16far FUN_1000_3395(int param_1, uint param_2, uint param_3, uint param_4) + + + + + + + + + + + + + + + + + + + int __regcall FUN_1000_343c(int param_1, byte param_2, byte param_3) + + + + + + + + + + + + + + + + + void __regcall FUN_1000_34a1(dword param_1, word param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far dos_seek(int param_1, int param_2, int param_3, int param_4, int param_5) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + byte * __stdcall16far malloc_far_probably(word size) + + + + + + + + + + + + + + + + + dword __cdecl16near Multiply_32bit_1000_3711(word param_1, word param_2, word param_3, word param_4) + + + + + + + + + + + + + + + + + + + + uint __cdecl16far FUN_1000_3775(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far dos_set_system_date(word x, dword y) + + + + + + + + + void __cdecl16far dos_set_system_time(word param_1, dword param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + word __cdecl16far dos_unlink(word param_1, word param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __cdecl16far probably_some_alloc_1000_42e2(int * param_1, int blocksize, int nblocks, int param_4, uint param_5, dword transform_func) + + + + + + + + + + + + + + + + + + + + + + + + + + + int __stdcall16near ProbablySomethingDebuggy(word param_1, char * param_2, ...) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1000_4ccf(char * param_1, word param_2, ...) + + + + + + + + + dos_stderr_printf_float_formats_not_linked + + + + + + + + + + word __cdecl16far dos_getcharmaybe_1000_4d0a(void) + + + + + + void __cdecl16far FUN_1000_4d68(byte param_1, byte param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint __cdecl16far atoi(char * s) + + + + + + + + uint __cdecl16far far_atoi(char * s) + + + + + + + + + + + + + + + + undefined2 __cdecl16far dos_getorset_attributes(undefined param_1, undefined param_2, undefined param_3, undefined param_4, undefined param_5) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined2 __cdecl16far dos_find_first_matching_file(char * fname, byte * disk_transfer_area, word param_3, word file_attr_mask) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dword __cdecl16far FUN_1000_5aca(undefined2 param_1, undefined2 param_2, undefined2 param_3, undefined2 param_4) + + + + + + + + + + + + + + void __cdecl16far FUN_1000_5aff(dword param_1, undefined2 param_2, int * param_3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint __cdecl16far FUN_1000_5e7f(dword param_1, uint param_2, uint param_3, dword param_4) + + + + + + + + + + + + + void __cdecl16near FUN_1000_5f0a(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined2 __cdecl16far FUN_1000_60d2(uint param_1, uint param_2, uint param_3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far RuntimeProbablyItoa(int value, dword str, int base) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int __cdecl16far memcmp(char * s1, char * s2, undefined2 len) + + + + + + + + + + byte * __cdecl16far memcpy(byte * dst, byte * src, uint nbytes) + + + + + + + + + undefined __cdecl16far memset(char * ptr, undefined2 nbytes, byte val) + + + + + + + + + + char * __cdecl16far memset_2(char * ptr, undefined1 val, undefined2 nbytes) + + + + + + + + + + void __cdecl16far FUNmaybememcpy_1000_636e(void * param_1, void * param_2, uint param_3) + + + + + + + + + + word * __cdecl16far FUN_1000_63c0(word * param_1, char * param_2, uint param_3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far ProbablyPrintDebugMessage(char * param_1, char * param_2, ...) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1000_6ed3(undefined * param_1, char * param_2) + + + + + + + + + void __cdecl16far FUN_1000_6ef5(undefined * param_1, char * msg, word param_3) + + + + + + + + + + + + + + + + + + + + + + int __cdecl16far sscanf(char * __s, char * __format, ...) + + + + + + + + + + + + + + + + + + + char * __cdecl16far strcat(char * __dest, char * __src) + + + + + + + + + + + + + + + + + char * __cdecl16far FUN_1000_6fff(undefined4 param_1, undefined4 param_2) + + + + + + + + + int __cdecl16far strcasecmp(char * __s1, char * __s2) + + + + + + + + + int __stdcall16far strlen(char * s) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + char * __cdecl16far FUN_1000_7121(undefined4 param_1, char * param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bool __cdecl16near FUN_1000_83a0(undefined2 param_1, undefined2 param_2, undefined2 param_3, undefined2 param_4) + + + + + + + + + + undefined2 __stdcall16near dos_error_1000_83a7(int errno) + + + + + + + + + + + + + + dword * __cdecl16far malloc_1082_bytes(dword * param_1) + + + + + + + + byte * __stdcall16far FUN_1008_0032(byte * param_1, undefined4 param_2) + + + + + + + + + void __cdecl16far File_CloseAndFreeIfParam2Bit0(struct File * * file, uint dofree) + + + + + + + + + uint __cdecl16far FUN_1008_0098(undefined4 param_1, undefined4 param_2) + + + + + + + + + void __cdecl16far File_CloseAndFree_1008_0117(struct File * * ppfile) + + + + + + + + void __cdecl16far FUN_1008_0167(struct File * * param_1, uint * param_2) + + + + + + + + + + + + + + + + + + + + dword __stdcall16far FUN_1008_028c(dword param_1) + + + + + + + + uint __cdecl16far ShapeData_GetDamagingAndSolidFlags(byte * pflags) + + + + + + + + void __cdecl16far FUN_1010_0032(uint x, uint y, byte z) + + + + + + + + + + + + + + + + + + + uint __cdecl16far FUN_1010_007d(int x1, int y1, int x2, int y2, char z) + + + + + + + + + + + + uint __cdecl16far AreaSearch_FindItemContainedInRange(uint x1, uint y1, uint x2, uint y2, byte z1, byte z2, int * pout) + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1010_02de(int itemno) + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Game_Start(void) + + + + + + + + + + void __cdecl16far nullfn_03f5(void) + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far MapJumpProcess_LoadFixedFormatData(void) + + + + + + + + + void __cdecl16far MapJumpProcess_ClearSoundAndTrackers(void) + + + + + + struct Process * __cdecl16far MapJumpProcess_Create(struct Process * p_proc, word mapno) + + + + + + + + undefined __cdecl16far MapJumpProcess_Run(struct Process * p_proc) + + + + + + + + Intrinsic 0CB + void __cdecl16far MapJumpProcess_CreateNew(undefined2 mapno) + + + + + + + + dword __stdcall16far get_as_dword(word param_1, word param_2) + + + + + + + + + + + + + + + + void __cdecl16far nullfn_1020_08cd(void) + + + + + + void __cdecl16far nullfn_1020_08d2(void) + + + + + + void __cdecl16far Gamepal_Init(void) + + + + + + + + + + + + + + word * __cdecl16far Gamepal_InitXformpalDatStruct(word * param_1) + + + + + + + + + void __cdecl16far FUN_1028_0216(int * param_1, uint param_2) + + + + + + + + + void __cdecl16far Gamepal_LoadXformpalDat(undefined4 data) + + + + + + + + + + void __cdecl16far FUN_1028_02dc(dword * param_1) + + + + + + + + void __cdecl16far Gamepal_ReadXformpal_1028_0348(int * param_1) + + + + + + + + void __cdecl16far FUN_1028_040a(byte * param_1) + + + + + + + + void __cdecl16far nullfn_1028_0440(void) + + + + + + void __cdecl16far nullfn_1028_0445(void) + + + + + + void __cdecl16far Palette_FadeToGreyscale(int nsteps) + + + + + + + + + void __cdecl16far FadeProcess_Create_2(int param_1) + + + + + + + + + + + + + + + + + Intrinsic 097 + + + + + + + + + void __cdecl16far FadeProcess1_Run_PausesCycle(void) + + + + + + + + + + + + + void __cdecl16far FadeProcess2_Run(struct FadeProcess * p_proc) + + + + + + + + byte __cdecl16far return0_1028_0724(void) + + + + + + + + + + + + + struct Process * __stdcall16far GameTime_ProcessCreate(struct Process * p_proc) + + + + + + + undefined __cdecl16far GameTimeProcess_Run(struct Process * p_proc) + + + + + + + + struct Process * __cdecl16far Animation_CreateProcess(struct Process * p_proc) + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Create_GameTimeAndAnimationProcesses(void) + + + + + + + + + + + + + void __cdecl16far AnimProcess_SetField0x50(int param_1) + + + + + + + + + dword __cdecl16far Timer_GetCurrentTimerTick(void) + + + + + + + + void __cdecl16far nullfn_1030_03c7(void) + + + + + + + + + + + + + void __cdecl16far AnimProcess_SetAnimProcess(dword pproc) + + + + + + + + + + + + + + + void __cdecl16far GameTimeProcess_Set(dword proc) + + + + + + + + byte * __stdcall16far AreaSearch_CheckCollision(byte * pflags, int itemno, char param_3) + + + + + + + + + + + + + void __cdecl16far AreaSearch_CheckCollision(byte * pflags, int shape, struct Point3 * pt, char param_4, int itemno) + + + + + + + + + + + + + struct GravityProcess * __stdcall16far GravityProcess_CreateProcess(struct GravityProcess * p_proc, int itemno, int xs, int ys, int zs, int grav, int param_7, struct Point3 * pt) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far GravityProcess_Run(struct GravityProcess * p_proc) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1038_11fd(int * param_1) + + + + + + + + + + + Intrinsic 028 + uint __cdecl16far Item_Hurl(int * pitemno, int xs, int ys, int zs, int grav) + + + + + + + + + + + + + Intrinsic 03E + void __cdecl16far Item_Fall(int * pitemno) + + + + + + + + void __cdecl16far DosExtenderCallInterrupt_1040_0000(void) + + + + + + void __cdecl16far DosExtenderCallInterrupt_1040_0035(void) + + + + + + void __cdecl16far DosExtenderCallInterrupt_1040_0041(void) + + + + + + void __cdecl16far DosExtenderCallInterrupt_1040_005a(void) + + + + + + + + + + + + + int * __stdcall16far FUN_1040_00a6(int * vals, int x1, int y1, byte z1, int x2, int y2, byte z2, int param_8, int gravval) + + + + + + + + + + + + + + + + void __cdecl16far Item_HurlWithParams(int * vals, uint itemno) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1040_039e(char * param_1, undefined2 * param_2, undefined2 param_3) + + + + + + + + + + + dword __stdcall16far dos_free_disk_space(void) + + + + + + + + + + + + + struct Process * __stdcall16far FUNCreateProcess_1048_0000(struct Process * p_proc) + + + + + + + + + void __cdecl16far Config_1048_0065(struct Process * p_proc, long param_2) + + + + + + + + + + Intrinsic 06B + bool __cdecl16far Get_CompiledWithViolence(void) + + + + + + Intrinsic 0CE - is GAME COMPILE=1 + bool __cdecl16far Get_GameIsReleaseBuild(void) + + + + + + void __cdecl16far Init_ABunchOfThings(void) + + + + + + void __cdecl16far Init_CheckFreeDiskSpace(void) + + + + + + undefined2 * __stdcall16far FUN_1048_01dc(undefined2 * param_1, undefined2 param_2, char * * param_3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far CheckForLaurieArg(char * s, word s_seg) + + + + + + + + undefined __cdecl16far HandleCommandlineArgs(undefined2 param_1, undefined2 param_2, undefined2 argc, char * * argv) + + + + + + + + + + + + void __cdecl16far nullfn_1048_0d39(void) + + + + + + void __cdecl16far nullfn_1048_0d3e(void) + + + + + + + + + + + + + void __cdecl16far Savegame_Init(void) + + + + + + + + + + char * __stdcall16far Savegame_GetFilename(int no) + + + + + + + + + void __cdecl16far Savegame_QuickSave(void) + + + + + + + + + + + + + + + void __cdecl16far Savegame_LoadProbably(void) + + + + + + + + + + word __cdecl16far FUN_1050_051f(int param_1) + + + + + + + + void __cdecl16far FUN_1050_0532(int param_1, undefined2 * param_2, undefined2 param_3) + + + + + + + + + + void __cdecl16far FUN_1050_057e(struct File * param_1, uint param_2) + + + + + + + + + void __cdecl16far SnapProcess_CreateProcess(struct SnapProcess * p_proc) + + + + + + + + void __cdecl16far SnapProcess_Init(struct SnapProcess * p_proc) + + + + + + + + void __cdecl16far SnapProcess_Run(struct SnapProcess * pproc) + + + + + + + + struct Rect * __stdcall16far Snap_GetSnapEggRange(struct Rect * prect, struct SnapProcess * p_proc, int itemno) + + + + + + + + + + + void __cdecl16far Snap_AddSnapEgg(struct SnapProcess * p_proc, int eggitemno) + + + + + + + + + void __cdecl16far Snap_RemoveEgg(struct SnapProcess * p_proc, int itemno) + + + + + + + + + bool __cdecl16far Snap_IsCurrentNPCInRangeOfEgg1(struct SnapProcess * p_proc) + + + + + + + + + + + + + + void __cdecl16far Snap_UpdateEgg1(struct SnapProcess * p_proc) + + + + + + + + + void __cdecl16far SnapProcess_Load(struct SnapProcess * proc) + + + + + + + + void __cdecl16far Snap_1058_0814(struct SnapProcess * p_proc) + + + + + + + + + void __cdecl16far FUN_1058_08fc(struct Process * p_proc, uint param_2) + + + + + + + + + void __cdecl16far Cache_Init(long size) + + + + + + + + void __stdcall16far ItemCache_1060_002a(void) + + + + + + void __cdecl16far ItemCache_1060_0036(void) + + + + + + void __cdecl16far Cache_Init2(undefined4 size) + + + + + + + + void __cdecl16far ItemCache_1060_00ac(void) + + + + + + + + + + + void __cdecl16far Cache_Init3(void) + + + + + + + + + + + + + + + + void __cdecl16far ItemCache_1060_026c(int * param_1, int itemno) + + + + + + + + + void __cdecl16far FUN_1060_02a1(int param_1) + + + + + + + + void __cdecl16far Cache_Init4(void) + + + + + + + + + void __cdecl16far ItemCache_1060_0303(ulong * param_1, long param_2) + + + + + + + + + void __cdecl16far FUN_1060_0474(long param_1, int param_2, undefined2 param_3) + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1060_0705(long param_1) + + + + + + + + void __cdecl16far FUN_1060_091a(long param_1) + + + + + + + + + + + + + + void __cdecl16far ItemCache_1060_09f7(long param_1) + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1060_0ecf(long * param_1) + + + + + + + + void __cdecl16far FUN_1060_0fc0(long * param_1, long param_2) + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1060_10ba(long * param_1) + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1060_1244(int param_1) + + + + + + + + + + + + void __cdecl16far nullfn_1060_12e5(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_1060_18c3(void) + + + + + + void __cdecl16far nullfn_1060_18c8(void) + + + + + + void __cdecl16far nullfn_1060_18cd(void) + + + + + + + + + + + + + + void __cdecl16far Cache_1060_18ff(undefined4 param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far CacheFlexHand_1068_0000(int * buf, int size, int param_3, char * path) + + + + + + + + + + + void __cdecl16far FUNFree_1068_00ed(int * param_1, uint param_2) + + + + + + + + + dword __stdcall16far ItemCache_1068_0159(undefined4 param_1, int param_2) + + + + + + + + + + + + + + + + + + + int * __stdcall16far FUN_1068_026a(int * param_1, undefined2 param_2, int param_3) + + + + + + + + + + + + + + + + void __cdecl16far nullfn_1068_02d1(void) + + + + + + void __cdecl16far nullfn_1068_02d6(void) + + + + + + byte __cdecl16far return1_1068_02db(void) + + + + + + void __cdecl16far FUN_1068_02e2(int * param_1, uint param_2) + + + + + + + + + void __cdecl16far CacheHandler_AllocCache(void) + + + + + + void __cdecl16far Cache_Free(void) + + + + + + int __cdecl16far CacheHandler_IncreaseSize(int size) + + + + + + + + void __cdecl16far CacheHandler_Init(void) + + + + + + void __cdecl16far Cache_Uninit(void) + + + + + + int * __stdcall16far Cache_1068_03ff(int * param_1) + + + + + + + + void __cdecl16far FUN_1068_0452(undefined2 param_1_00, undefined2 param_2, long param_3) + + + + + + + + + + + + + void __cdecl16far CacheHandler_1068_049b(void) + + + + + + void __cdecl16far CacheHandlerError(void) + + + + + + void __cdecl16far nullfn_1068_04ec(void) + + + + + + void __cdecl16far FUN_1068_04f1(int * param_1, uint param_2) + + + + + + + + + dword * __stdcall16far ShapesFlx_Load(dword * param_1) + + + + + + + + int * __stdcall16far CacheShapeHand_1070_0090(int * param_1, char param_2) + + + + + + + + + void __cdecl16far CacheShapeHand_GetDims(int * alt_cacheptr, int shapeno, uint frameno, int * width, int * height, int * xoff, int * yoff) + + + + + + + + + + + + + undefined __cdecl16far FUN_1070_0187(int * cacheptr, undefined2 param_2, undefined4 param_3, undefined4 param_4, uint * pnumframes) + + + + + + + + + + + + + + + + undefined __cdecl16far World_GetBoundingBox(undefined4 param_1, undefined2 shapeno, undefined2 frameno, struct Rect * dimsout, undefined2 xloc, undefined2 yloc) + + + + + + + + + + + + + + + + + dword __stdcall16far ItemCache_1070_0288(dword param_1, int param_2, int param_3, long param_4, ulong param_5) + + + + + + + + + + + + void __cdecl16far FUN_1070_046c(undefined4 param_1, int param_2, uint param_3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dword __stdcall16far CacheShapHand_InitAllocAndLoadData1(int * param_1) + + + + + + + + void __cdecl16far FUN_1070_0dad(int * param_1, uint param_2) + + + + + + + + + struct ShapeFrame * __stdcall16far CacheShapeHand_CacheInFrame(int * cacheblockptr, int shapeno, uint frameno) + + + + + + + + + + + + + + + + + + + + + + int * __cdecl16far CacheShapeHand_InitAlloc2(int * param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far CacheShapeHand_Init(void) + + + + + + void __cdecl16far CacheShapeHand_Uninit1(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1078_0000(long * param_1) + + + + + + + + void __cdecl16far FUN_1078_0046(long * param_1) + + + + + + + + void __cdecl16far FUN_1078_0098(long * param_1) + + + + + + + + void __cdecl16far FUN_1078_00cf(long * param_1) + + + + + + + + void __cdecl16far FUN_1078_0106(long * param_1, long param_2) + + + + + + + + + void __cdecl16far FUN_1078_013c(long * param_1, long param_2) + + + + + + + + + void __cdecl16far FUN_1078_0181(long * param_1) + + + + + + + + void __cdecl16far FUN_1078_01c8(long * param_1, long param_2) + + + + + + + + + void __cdecl16far FUN_1078_01f9(long * param_1, undefined4 param_2) + + + + + + + + + void __cdecl16far FUN_1078_023e(long * param_1, undefined4 param_2) + + + + + + + + + void __cdecl16far Cache_Init5(void) + + + + + + + + + + + + void __cdecl16far FUN_1078_03a0(char * param_1) + + + + + + + + void __cdecl16far FUN_1078_03c2(undefined4 param_1) + + + + + + + + void __cdecl16far FUN_1078_03e4(undefined4 param_1) + + + + + + + + void __cdecl16far FUN_1078_0406(word param_1, word param_2) + + + + + + + + + void __cdecl16far FUN_1078_0428(undefined4 param_1) + + + + + + + + undefined2 __cdecl16far FUN_1078_044a(long * param_1) + + + + + + + undefined __cdecl16far FUN_1078_0467(long * param_1) + + + + + + + + undefined2 __cdecl16far FUN_1078_0485(undefined4 * param_1) + + + + + + + + void __cdecl16far FUN_1078_04a1(long * param_1, undefined4 param_2) + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1078_0507(long * param_1, undefined4 param_2) + + + + + + + + + void __cdecl16far FUN_1078_0529(undefined4 * param_1, undefined2 param_2) + + + + + + + + + void __cdecl16far FUN_1078_0548(long * param_1, undefined param_2) + + + + + + + + void __cdecl16far FUN_1078_0568(long * param_1, undefined2 param_2) + + + + + + + + + + + + + + + + + + + + + + + byte __cdecl16far Item_TryStackItems(int * pitemno, int otheritem) + + + + + + + + + + byte __cdecl16far Item_TryStackNearby(int * pitemno, word other) + + + + + + + + + + + + + byte __cdecl16far Item_IsContainedBy(word * pitemno, word otheritem) + + + + + + + + + + byte __cdecl16far FUN_1088_0094(uint * item1, word item2) + + + + + + + + + byte __cdecl16far FUN_1088_0315(int * param_1, int param_2, int param_3) + + + + + + + + + + + byte __cdecl16far FUN_1088_0486(int * pitemno) + + + + + + + + + + + + + void __cdecl16far Item_DoRemoveContents(int * pitemno) + + + + + + + + void __cdecl16far Item_DoDestroyContents(int * pitemno) + + + + + + + + int __cdecl16far Item_GetWeightTotalRecursive(int * itemno) + + + + + + + + int __cdecl16far Item_GetVolOfContentsRecursive(int * pitemno) + + + + + + + + int __cdecl16far Item_GetVolOfContents(int * pitemno) + + + + + + + + int __cdecl16far Item_GetNumContentsRecursive(int * pitemno) + + + + + + + + byte __cdecl16far FUN_1088_0784(uint * param_1, uint * param_2) + + + + + + + + + void __cdecl16far Coords_WorldToScreenXY(int x, int y, int * poutx, int * pouty) + + + + + + + + + + + struct Process * __stdcall16far ClearAvatarInStasisProcess_CreateProcess(struct Process * p_proc) + + + + + + + + void __cdecl16far ClearAvatarInStasisProcess_Run(struct Process * param_1) + + + + + + + + struct TeleporterProcess * __stdcall16far Teleporter_CreateProcessForItem(struct TeleporterProcess * p_proc, word itemno) + + + + + + + + + + struct TeleporterProcess * __stdcall16far Teleporter_CreateProcessDirect(struct TeleporterProcess * p_proc, int mapno, int qlo, byte dostasis) + + + + + + + + + + + struct TeleporterProcess * __stdcall16far TeleporterProcess_Create_CurrentMap(struct TeleporterProcess * p_proc, uint qlo, char qhi) + + + + + + + + + + void __cdecl16far TeleporterProcess_PutAvatarInStasisTemporarily(struct TeleporterProcess * p_proc, byte qhi) + + + + + + + + + void __cdecl16far TeleporterProcess_Run(struct TeleporterProcess * p_proc) + + + + + + + + + + + + + + + + + + + + + + + intrinsic 079 + int __cdecl16far Teleporter_CreateProcessDirect(int mapno, int teleportid, byte dostasis) + + + + + + + + + + intrinsic 096 + word __cdecl16far TeleporterProcess_Create(undefined2 mapno, char eggid) + + + + + + + + + + + intrinsic 0A7 + int __cdecl16far Egg_GetXRange(int * pitemno) + + + + + + + + int __cdecl16far Egg_GetYRange(int * param_1) + + + + + + + intrinsic 0A3 + + + + + + + + + void __cdecl16far Egg_SetYRange(int * pitemno, byte val) + + + + + + + + + intrinsic 03F + byte __cdecl16far Egg_GetEggId(int * pitemno) + + + + + + + + void __cdecl16far Egg_SetEggId(int * pitemno, byte val) + + + + + + + + + undefined2 __cdecl16far Item_CallHatchEvent(int * pitemno) + + + + + + + + + uint __cdecl16far Item_CallUnhatchEvent(int * pitemno) + + + + + + + + + struct EggHatcherProcess * __stdcall16far EggHatcher_CreateProcess(struct EggHatcherProcess * p_proc, int itemno) + + + + + + + + + void __cdecl16far EggHatcherProcess_Run(struct EggHatcherProcess * p_proc) + + + + + + + + + void __cdecl16far EggHatcher_1090_0921(struct EggHatcherProcess * p_proc) + + + + + + + + + void __cdecl16far FUN_1090_0a60(struct Process * p_proc, uint param_2) + + + + + + + + + void __cdecl16far FUN_1090_0aaf(struct Process * param_1, uint param_2) + + + + + + + + + void __cdecl16far FUN_1090_0afe(struct Process * param_1, uint param_2) + + + + + + + + + dword * __stdcall16far ItemGlob_LoadData(dword * param_1) + + + + + + + + int * __stdcall16far ItemGlob_AllocAndInit(int * buf) + + + + + + + + void __cdecl16far FUNFree_1098_00e8(int * param_1, uint param_2) + + + + + + + + + + + + + + + + + byte * __stdcall16far ItemGlob_GetGlobItemData(byte * globcache, uint globnum) + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1098_0339(byte * globcache, int itemno, byte someflag) + + + + + + + + + + + + + + void __cdecl16far ItemGlob_GlobEggHatch(byte * globcache, uint globno, uint eggx, uint eggy, char eggz, byte someflag) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far ItemGlob_1098_06f1(dword globcache, int globnum) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far ItemGlob_Init(void) + + + + + + void __cdecl16far ItemGlob_Uninit(void) + + + + + + + + + + + + + void __cdecl16far Item_AssertValid(uint testval, char * s, word lineno) + + + + + + + + + + struct Process * __stdcall16far Item_CreateProcess(struct Process * p_proc, int itemno) + + + + + + + + + void __cdecl16far ItemProcess_Run(struct Process * p_proc) + + + + + + + + + + bool __cdecl16far Item_IsAvatar(int * pitemno) + + + + + + + + byte __cdecl16far Item_IsCurrentControlledNPC(word * pitemno) + + + + + + + + void __cdecl16far Item_GetScreenCoords(int * pitemno, int * screenx, int * screeny) + + + + + + + + + + assuming that crusader uses the same flags as U8.. + bool __cdecl16far Item_IsFlipped(int * pitemno) + + + + + + + + short __cdecl16far Item_GetX(int * pitemno) + + + + + + + + short __cdecl16far Item_GetY(int * pitemno) + + + + + + + + uint __cdecl16far Item_GetGumpX(int * pitemno) + + + + + + + + uint __cdecl16far Item_GetGumpY(int * pitemno) + + + + + + + + void __cdecl16far Item_SetGumpXY(int * pitemno, int x, int y) + + + + + + + + + + byte __cdecl16far Item_GetZ_OfObjOrContainer(int * pitemno) + + + + + + + + get the centre in x + int __cdecl16far Item_GetCX(int * pitemno) + + + + + + + + get the centre in y + int __cdecl16far Item_GetCY(int * pitemno) + + + + + + + + byte __cdecl16far Item_GetCZ(int * pitemno) + + + + + + + + byte __cdecl16far Item_GetItemHitPoints(int * pitemno) + + + + + + + + void __cdecl16far Item_SetItemHitPoints(int * pitemno, byte val) + + + + + + + + + void __cdecl16far Item_SetX(int * pitemno, short x) + + + + + + + + + void __cdecl16far Item_SetY(int * pitemno, short y) + + + + + + + + + void __cdecl16far Item_SetZ(int * pitemno, byte z) + + + + + + + + + struct Point3 * __stdcall16far Item_GetPoint(struct Point3 * ppoint, int * psrcitem) + + + + + + + + + word __cdecl16far Item_GetNext(int * pitemno) + + + + + + + + uint __cdecl16far Item_GetWeight(int * pitemno) + + + + + + + + uint __cdecl16far Item_GetWeightForItemAndContents(int * pitemno) + + + + + + + + uint __cdecl16far Item_GetVolume(int * itemno) + + + + + + + + byte __cdecl16far Item_GetVolumeIfContainer(int * pitemno) + + + + + + + + Intrinsic 057 + undefined __cdecl16far Item_GetSurfaceWeight(int * pitemno) + + + + + + + + + + void __cdecl16far Item_SetNext(int * pitemno, word val) + + + + + + + + + int __cdecl16far Item_GetShape(int * pitemno) + + + + + + + + Intrinsic 024 + void __cdecl16far Item_SetShape(int * pitemno, int shapeno) + + + + + + + + + + + uint __cdecl16far Item_GetFrame(int * pitemno) + + + + + + + + void __cdecl16far Item_SetFrame(int * pitemno, word frame) + + + + + + + + + void __cdecl16far Item_10a0_08d8(int * pitemno, uint frameno) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Item_SetNPCNum(int * pitemno, byte npcno) + + + + + + + + + void __cdecl16far Item_SetNPCNum(int * pitemno, byte npcno) + + + + + + + + + word __cdecl16far Item_GetNpcNum(int * item) + + + + + + + + void __cdecl16far Item_SetMapArray(int * pitemno, byte mapno) + + + + + + + + + note: although mapno is only byte size, this fun returns a word - check the disasm + uint __cdecl16far Item_GetMapArray(int * pitemno) + + + + + + + + word __cdecl16far Item_GetQ(int * pitemno) + + + + + + + + assumes shape family 1 ("quality") is the same as in U8 + word __cdecl16far Item_GetQuality(int * pitemno) + + + + + + + + void __cdecl16far Item_SetQuality(int * pitemno, word qval) + + + + + + + + + intrinsic 0A2 + uint __cdecl16far Item_GetUnkEggType(int * pitemno) + + + + + + + + void __cdecl16far Item_SetUnkEggType(int * pitemno, word qval) + + + + + + + + + + short __cdecl16far Item_GetQ(int * pitemno) + + + + + + + + void __cdecl16far Item_SetQAndCallCombineEvent(int * pitemno, word q) + + + + + + + + + short __cdecl16far Item_GetContents(int * pitemno) + + + + + + + + word __cdecl16far Item_GetContainerIfContained(int * pitemno) + + + + + + + + word __cdecl16far Item_GetRootContainer(int * pitemno) + + + + + + + + + + + + + + word __cdecl16far Item_GetGlobNum(int * pitemno) + + + + + + + + void __cdecl16far Item_SetGlobNum(int * pitemno, word q) + + + + + + + + + + void __cdecl16far Item_SetQ(int * pitemno, word q) + + + + + + + + + void __cdecl16far Item_SetQIfContainerType(int * pitemno, word q) + + + + + + + + + intrinsic 03C + enum ShapeFamily __cdecl16far Item_GetShapeFamily(int * pitemno) + + + + + + + + byte __cdecl16far Item_GetTypeFlagCrusader(int * pitemno, int shiftval) + + + + + + + + + + + enum ItemStatus __cdecl16far Item_GetStatus(int * pitemno) + + + + + + + + byte __cdecl16far Item_LegalCreateAtPoint(int * pitemno, uint shape, uint frame, struct Point3 * point) + + + + + + + + + + + + byte __cdecl16far Item_LegalCreateAtCoords(int * pitemno, uint shapeno, uint frame, word x, word y, byte z) + + + + + + + + + + + + + + + byte __cdecl16far Item_create_10a0_1186(uint * item, word shapeno, word frameno, short x, short y, short z) + + + + + + + + + + + + + + + byte __cdecl16far Item_Create(uint * pitemno, uint shapenum, uint frame) + + + + + + + + + + intrinsic 020 + void __cdecl16far Item_PopToCoords(int * item, word x, word y, byte z) + + + + + + + + + + + intrinsic 0ED + void __cdecl16far Item_PopToContainer(int * pitemno, word itemno) + + + + + + + + Intrinsic 030 + + + + + + intrinsic 0EC + void __cdecl16far Item_PopToEnd(int * pitemno, word param_2) + + + + + + + + + intrinsic 022 + void __cdecl16far Item_Push(int * pitemno) + + + + + + + + void __cdecl16far Item_Destroy(int * item) + + + + + + + + intrinsic 03D + void __cdecl16far Item_DestroyContents(int * pitemno) + + + + + + + + void __cdecl16far Item_RemoveContents(int * pitemno) + + + + + + + + + + void __cdecl16far Item_Move(int * pitemno, word x, word y, byte z) + + + + + + + + + + + void __cdecl16far Item_MoveToContainer(int * pitemno, word container) + + + + + + + + + intrinsic 02E + byte __cdecl16far Item_LegalMoveToPoint(int * pitemno, struct Point3 * pt, uint move_until_blocked, int flags) + + + + + + + + + + + + byte __cdecl16far Item_LegalMove(int * pitemno, word * param_2) + + + + + + + + + + + byte __cdecl16far FUN_10a0_1841(int * pitemno, struct Point3 * pt, byte param_3, int flags, uint itemno2, byte * pblockedout, uint * pcollisionout) + + + + + + + + + + + + + + + + + + + + void __cdecl16far Item_MoveToPoint(int * pitemno, struct Point3 * pt) + + + + + + + + + void __cdecl16far Item_10a0_196f(int * pitemno, char param_2) + + + + + + + + + + + + + Intrinsic 127 + byte __cdecl16far Item_GetDirToCoords(int * pitemno, int x, int y) + + + + + + + + + + int __cdecl16far Item_GetDirFromCoords(int * pitemno, int x, int y) + + + + + + + + + + Intrinsic 0C7 + byte __cdecl16far Item_GetDirFromItem(int * pitemno, int itemno) + + + + + + + + + + + intrinsic 00D + byte __cdecl16far Item_GetDirToItem(int * pitemno, int itemno) + + + + + + + + + Intrinsic 064 and 12D + void __cdecl16far Item_GetFootpad(int * pitemno, uint * xout, uint * yout, uint * zout) + + + + + + + + + + + byte __cdecl16far Item_Touches(int * pitemno1, int itemno2) + + + + + + + + + Intrinsic 0A4 + byte __cdecl16far Item_Overlaps(int * pitemno1, int itemno2) + + + + + + + + + + + + + + + + + + + + + + byte __cdecl16far Item_OverlapsXY(int * pitemno, int otheritem) + + + + + + + + + intrinsics 044, 046, 048, 04A, 04C, 04E, 0A5, 0BC, 0C5, 0DC, 0F1, 0FA, 12C + byte __cdecl16far Item_IsOn(int * pitemno, int otheritem) + + + + + + + + + intrinsic 06F + byte __cdecl16far Item_IsCompletelyOn(int * pitemno, int otheritem) + + + + + + + + + + + + + + + + + byte __cdecl16far Item_IsAbove(int * pitemno, int otheritem) + + + + + + + + + + + + + + byte __cdecl16far Item_IsUnder(int * pitemno, int otheritem) + + + + + + + + + + + + byte __cdecl16far Item_Ascend(int * param_1, int param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Item_GetLocationPoint(int * pitemno, struct Point3 * ppoint) + + + + + + + + + int __cdecl16far Item_IsNPC(int * pitemno) + + + + + + + + Intrinsic 065 - is held, meaning is the item contained by an NPC at some level + byte __cdecl16far Item_IsInNPC(int * pitemno) + + + + + + + + + + + + Intrinsic 025 + void __cdecl16far Item_Touch(int * pitemno) + + + + + + + + void __cdecl16far Item_SetStatus(uint * pitemno, enum ItemStatus status) + + + + + + + + + Intrinsic 005 + void __cdecl16far Item_OrStatus(int * pitemno, enum ItemStatus mask) + + + + + + + + + Intrinsic 01A and others + void __cdecl16far Item_AndStatus(int * item, enum ItemStatus mask) + + + + + + + + + word __cdecl16far Item_Look(int * param_1) + + + + + + + + + Intrinsic 08C / 119 / 12A + void __cdecl16far Item_SetIsBroken(int * pitemno) + + + + + + + + void __cdecl16far Item_ClearIsBroken(uint * pitemno) + + + + + + + + bool __cdecl16far Item_IsBroken(int * pitemno) + + + + + + + + uint __cdecl16far Item_Use(int * pitemno) + + + + + + + + + + void __cdecl16far Item_Hit(int * pitemno, uint hitby, uint damagetype) + + + + + + + + + + uint __cdecl16far Item_GetDamaged(int * pitemno, int hitter, uint damagetype_damage, byte * pflagout) + + + + + + + + + + + + + word __cdecl16far Item_Anim(int * param_1) + + + + + + + + + int __cdecl16far Item_Bark(int * param_1, char * str) + + + + + + + + + word __cdecl16far Item_Grab(int * pitemno) + + + + + + + + + + word __cdecl16far Item_Release(int * pitemno) + + + + + + + + + Intrinsic 006 / 0B5 + word __cdecl16far Item_Equip(int * pitemno, uint dest) + + + + + + + + + + Intrinsic 0B0 + word __cdecl16far Item_Unequip(int * pitemno, int val) + + + + + + + + + + word __cdecl16far Item_Cachein(int * pitemno) + + + + + + + + + word __cdecl16far Item_Combine(int * pitemno) + + + + + + + + + word __cdecl16far Item_CalledFromAnim(int * pitemno) + + + + + + + + Intrinsic 08B + uint __cdecl16far Item_EnterFastArea(int * pitemno) + + + + + + + + + uint __cdecl16far Item_LeaveFastArea(int * pitemno) + + + + + + + + + + Intrinsic 0E8 + int __cdecl16far Item_Cast(int * pitemno, int val) + + + + + + + + + + word __cdecl16far Item_JustMoved(int * pitemno) + + + + + + + + void __cdecl16far Item_AnimGetHit(int * pitemno, word param_2) + + + + + + + + + + word __cdecl16far return0_10a0_2fd3(void) + + + + + + Intrinsic 0B1 + int __cdecl16far Item_AvatarStoleSomething(int * pitemno, int val) + + + + + + + + + + + + byte __cdecl16far FUN_10a0_3042(undefined2 * param_1, word param_2, word param_3) + + + + + + + + + + int __cdecl16far return0_10a0_3089(void) + + + + + + word __cdecl16far nullfn_10a0_3090(void) + + + + + + void __cdecl16far nullfn_10a0_3097(void) + + + + + + void __cdecl16far nullfn_10a0_309c(void) + + + + + + byte __cdecl16far return0_10a0_30a1(void) + + + + + + byte __cdecl16far Item_IsShapeFlagOccl(int * pitemno) + + + + + + + + byte __cdecl16far Item_IsTargetable(int * pitemno) + + + + + + + + byte __cdecl16far Item_IsFixed(int * pitemno) + + + + + + + + byte __cdecl16far Item_10a0_3124(int * pitemno, word otheritem, int param_3, word * param_4) + + + + + + + + + + + + + + + + void __cdecl16far Item_10a0_3531(int * pitemno, word otheritem, word param3) + + + + + + + + + + dword __stdcall16far Item_GetShapeFrame(int * pitemno) + + + + + + + + int __cdecl16far Item_MinDistToOther(int * pitemno, int other) + + + + + + + + + + int __cdecl16far Item_GetMaxDimOfShapes(int * pitemno, int shapeno2, int xoff, int yoff) + + + + + + + + + + + uint __cdecl16far Item_GetQHi(int * param_1) + + + + + + + + void __cdecl16far Item_SetQHi(int * pitemno, int qhi) + + + + + + + + + uint __cdecl16far Item_GetQLo(int * pitemno) + + + + + + + + void __cdecl16far Item_SetQLo(int * pitemno, uint val) + + + + + + + + + void __cdecl16far ItemIntrinsic08A_10a0_38d1(int * pitemno, struct Point3 * pt, word param_3, word param_4) + + + + + + + + + + + + Intrinsic 015 + uint __cdecl16far Item_PlaySFXCru(int * pitemno, uint sndno) + + + + + + + + + void __cdecl16far Item_PlayAmbientSFXCru(uint * pitemno, uint sndno) + + + + + + + + + void __cdecl16far Item_StopItemSound(int * itemno, word sndno) + + + + + + + + + intrinsic 043 + void __cdecl16far Item_Sound_Play(int * pitemno, int sndno) + + + + + + + + + intrinsic 038 + void __cdecl16far Item_Sound_StopSoundNoForItem(int * pitemno, int soundno) + + + + + + + + + Intrinsic 076 + void __cdecl16far Item_Sound_StopAllForItem(int * pitemno) + + + + + + + + Intrinsic 03A + byte __cdecl16far ItemSound_IsSoundPlaying(int * item, int soundno) + + + + + + + + + void __cdecl16far nullfn_10a0_3a0e(void) + + + + + + void __cdecl16far ItemSoundVolume_10a0_3a13(int * pitemno, word sndno, byte vol) + + + + + + + + + + int __cdecl16far Item_PlayFlicProbably(int * pitemno, char * fname, word sizex, word sizey, word param_5, word param_6, word param_7, word param_8) + + + + + + + + + + + + + + + byte __cdecl16far PlayFlicProbably(int * pitemno, char * flicname, word sizex, word sizey) + + + + + + + + + + + word __cdecl16far VideoPlayer_10a0_3a80(int * objid, char * fname, uint x, uint y) + + + + + + + + + + + void __cdecl16far Item_PlayFlic_10a0_3a9f(dword pint, dword fname, word c, word d) + + + + + + + + + + + void __cdecl16far Item_PlayFlic(int * item, char * flicname, short sizex, short sizey) + + + + + + + + + + + void __cdecl16far Item_PlayFlic(int * item, char * flicname, word sizex, word sizey) + + + + + + + + + + + bool __cdecl16far Item_IsInFastArea(int * pitemno) + + + + + + + + I think this is to randomly give NPCs stronger weapons - it's called when difficulty level is set to 4 + uint __cdecl16far Item_NPCRandomlyGetStrongerWeaponTypes(uint shapeno) + + + + + + + + Intrinsic 12F + word __cdecl16far Item_Intrinsic12F_CreateNPC(int * itemno, word other_itemno) + + + + + + + + + + + + + + + + + + + + + + + + + + Intrinsic 02F + byte __cdecl16far AreaSearch_CanExistAtPoint(word param_1, word param_2, uint shapeno, struct Point3 * point) + + + + + + + + + + + + Intrinsic 007 + byte __cdecl16far Item_IsEntirelyOnScreen(int * pitemno) + + + + + + + + + + + + + + + + + + + + byte __cdecl16far Item_IsMajorityOnScreen(int * pitemno) + + + + + + + + + + + + + + + + + + + + Intrinsic 095 + uint __cdecl16far Keyboard_GetCurrentKeyDown(void) + + + + + + Intrinsic 103 + byte __cdecl16far Item_Intrinsic103_IsCrusTypeNPC(int shapenum) + + + + + + + + + byte __cdecl16far Item_IsCentreOn(int * pitemno, int other) + + + + + + + + + + + + void __cdecl16far FUN_10a0_4437(struct Process * pproc, uint param_2) + + + + + + + + + byte __cdecl16far World_MapBlockInFastArea(struct Rect * fastarea, int xblock, int yblock) + + + + + + + + + + void __cdecl16far World_CalcFastAreaLimits(struct Rect * prect, uint x, uint y) + + + + + + + + + + void __cdecl16far ItemCache_10a8_00a0(int mapblockx, int mapblocky, struct FixedFormatItem * itembuf, int numitems) + + + + + + + + + + + + + void __cdecl16far World_HatchGlobEggs(int xblock, int yblock) + + + + + + + + + void __cdecl16far World_AddBlockToFastArea(int xblock, int yblock) + + + + + + + + + void __cdecl16far FUN_10a8_0386(int param_1, int param_2) + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_10a8_0abf(void) + + + + + + + + + + void __cdecl16far FUN_10a8_0b32(void) + + + + + + + + + + void __cdecl16far ItemCache_SaveStuff_10a8_0b86(int * fileptr) + + + + + + + + byte __cdecl16far ItemCache_LoadStuff_10a8_100c(int * fileptr) + + + + + + + + void __cdecl16far FUN_10a8_13dd(int x, int y, word mapno) + + + + + + + + + + void __cdecl16far FUN_10a8_1612(void) + + + + + + + + void __cdecl16far ItemCache_InitAndLoadFixedDat(void) + + + + + + void __cdecl16far ItemCacheResetAllNPCsMaybe_10a8_178f(void) + + + + + + void __cdecl16far ItemCacheUninit_10a8_17d5(void) + + + + + + word __cdecl16far ItemCache_GetItemBefore_10a8_187b(uint itemno) + + + + + + + + void __cdecl16far ItemCache_10a8_1949(int itemno) + + + + + + + + + void __cdecl16far FUN_10a8_19a2(int itemno) + + + + + + + + void __cdecl16far ItemCache_10a8_1a52(uint itemno) + + + + + + + + void __cdecl16far ItemCache_10a8_1aef(uint itemno) + + + + + + + + void __cdecl16far ItemCache_10a8_1b43(uint itemno) + + + + + + + + void __cdecl16far ItemCache_ProbablyDestroy_10a8_1b7f(uint itemno) + + + + + + + + byte __cdecl16far World_GetMapBlockIsInFastArea(uint x, uint y, uint * xblock, uint * yblock) + + + + + + + + + + + void __cdecl16far ItemCache_Push(int itemno) + + + + + + + + void __cdecl16far ItemCache_Poptocoords(word x, word y, byte z) + + + + + + + + + + void __cdecl16far ItemCache_PopToContainer(int itemno) + + + + + + + + + + void __cdecl16far ItemCache_Pop(void) + + + + + + + + + + void __cdecl16far ItemCache_PopToEnd(int itemno) + + + + + + + + + void __cdecl16far ItemCache_10a8_2680(byte flag) + + + + + + + + word __cdecl16far ItemCache_PopEtherealTop(void) + + + + + + Intrinsic 023 + word __cdecl16far ItemCache_GetEtherealTop(void) + + + + + + word __cdecl16far ItemCache_GetFreeItemNo(void) + + + + + + word __cdecl16far ItemCache_GetNextFreeNPCId(void) + + + + + + int __cdecl16far FUN_10a8_27a6(void) + + + + + + + + + + + + + + + + + + + + + int __cdecl16far FUN_10a8_2969(void) + + + + + + void __cdecl16far ItemCache_VerifyFailed(uint param_1) + + + + + + + + void __cdecl16far ItemCache_DumpInfo(void) + + + + + + + + + + + + + + void __cdecl16far ItemCacheFixedDat_Init(void) + + + + + + void __cdecl16far nullfn_10a8_2bb4(void) + + + + + + void __cdecl16far ItemCache_SetSomeGlobalsTo0_10a8_2bb9(void) + + + + + + void __cdecl16far ItemData_Init(void) + + + + + + void __cdecl16far ItemData_Uninit(void) + + + + + + void __cdecl16far ItemData_GetFixedFormatDataFromItem(int itemno, struct FixedFormatItem * pout) + + + + + + + + + void __cdecl16far ItemData_SetFixedFormatData(int itemno, struct FixedFormatItem * fixedformatItem) + + + + + + + + + void __cdecl16far ItemData_SetSomeFixedFormatData(int itemno, struct FixedFormatItem * pdata) + + + + + + + + + int __cdecl16far Item_CreateWithQNpcNumMapNum(struct FixedFormatItem * data) + + + + + + + + + void __cdecl16far ItemDamageDat_Init(long * pitemdamage) + + + + + + + + + + + + + + + void __cdecl16far ItemDamage_init0x3000BytesTo0(dword * block) + + + + + + + + + + byte __cdecl16far ItemDamage_GetDamageNotFlag0_Or_Flag4(int * damagedat, int itemno) + + + + + + + + + byte __cdecl16far ItemDamage_GetDamageDataFlag0(dword damageflexdata, int shapeno) + + + + + + + + + + byte __cdecl16far ItemDamage_WouldDestroyItem(int * pdamagedat, int itemno, int damagepts) + + + + + + + + + + + byte __cdecl16far ItemDamage_ApplyDamage(int * damagedat, int itemno, int damagepts) + + + + + + + + + + + + + dword * __stdcall16far FixedDat_LoadData(dword * pfile) + + + + + + + + + + void __cdecl16far FUN_10b8_06a2(int * param_1, uint param_2) + + + + + + + + + void __cdecl16far FUN_10c0_0077(struct ItemFind * pfind) + + + + + + + + void __cdecl16far FUN_10c0_00b9(struct ItemFind * pfind) + + + + + + + + byte __cdecl16far ItemFind_10c0_010c(struct ItemFind * pfind) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far ItemFind_10c0_072e(struct ItemFind * pfind, uint minx, uint miny) + + + + + + + + + + void __cdecl16far ItemFind_AreaSearch(struct ItemFind * itemfind, int xmin, int ymin, int xmax, int ymax, char * loopscript, int lslen) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far ItemFind_GetNext(struct ItemFind * pfind) + + + + + + + + void __cdecl16far ItemFind_10c0_0c50(struct ItemFind * pfind) + + + + + + + + + + + + + + undefined2 __cdecl16far FUN_10c0_0da7(int * pitemno) + + + + + + + + + void __cdecl16far FUN_10c0_0def(struct ItemFind * param_1, undefined2 param_2, char * param_3, int param_4) + + + + + + + + + + + + + void __cdecl16far FUN_10c0_0e4c(struct ItemFind * param_1, undefined2 param_2, char * param_3, uint param_4) + + + + + + + + + + + void __cdecl16far FUN_10c0_0eb3(int * pitemno) + + + + + + + + void __cdecl16far ItemFind_StartSearchAroundItem(struct ItemFind * findresult, word itemno, char * loopscript, word lslen, byte zflags) + + + + + + + + + + + + + + + + + + + + + + + + byte __cdecl16far FUN_10c0_1338(undefined4 pitemno) + + + + + + + + + + + + + + undefined __cdecl16far ItemFind_10c0_14c9(struct ItemFind * param_1) + + + + + + + + + + + + + + + undefined __cdecl16far ItemFind_ProbablyNext_10c0_1637(struct ItemFind * findresult) + + + + + + + + void __cdecl16far ItemIter_Init(struct ItemIter * pitemiter, int minx, int miny, int maxx, int maxy) + + + + + + + + + + + + void __cdecl16far ItemFind_10c8_0000(struct ItemFind * param_1, uint param_2) + + + + + + + + undefined __cdecl16far ItemFind_10c8_00c6(struct ItemFind * param_1, undefined2 param_2) + + + + + + + + undefined __cdecl16far ItemFind_10c8_01c8(struct ItemFind * param_1, undefined2 param_2) + + + + + + + + + + void __cdecl16far ItemFind_10c8_0297(struct ItemFind * pfind, uint param_2) + + + + + + + + + + void __cdecl16far ItemFind_10c8_0385(struct ItemFind * param_1) + + + + + + + + void __cdecl16far ItemIter_10c8_040f(struct ItemIter * p_iter) + + + + + + + + Intrinsic 027 + int __cdecl16far Coords_ClosestDirectionInRange(int x1, int y1, int x2, int y2, int numdirs, int mindir, int maxdir) + + + + + + + + + + + + + + + int __cdecl16far Coords_MaxDiffXY(int x1, int y1, int x2, int y2) + + + + + + + + + + + int __cdecl16far Coords_MaxDiffXYZ(int x1, int y1, byte z1, int x2, int y2, byte z2) + + + + + + + + + + + + + byte __cdecl16far Coords_GetDirFromTo8(int x1, int y1, int x2, int y2) + + + + + + + + + + + byte __cdecl16far Coords_GetDirFromTo16(int x1, int y1, int x2, int y2) + + + + + + + + + + + byte __cdecl16far Coords_IsInFastArea(uint x, uint y) + + + + + + + + + Intrinsic 0B4 + void __cdecl16far Game_SetAlertActive(void) + + + + + + + + Intrinsic 0B6 + void __cdecl16far Game_ClearAlertActive(void) + + + + + + + + + + + + Intrinsic 000 + byte __cdecl16far Game_GetAlertActive(void) + + + + + + void __cdecl16far NPC_ResetForEgg(int * pitemno) + + + + + + + + + + + + + + + + byte __cdecl16far Item_GetMapArrayLowNibble(int * pitemno) + + + + + + + + void __cdecl16far Item_SetMapArrayLowNibble(int * pitemno, byte nibble) + + + + + + + + + int __cdecl16far Item_GetMapArrayHighNibble(int * pitemno) + + + + + + + + void __cdecl16far Item_SetMapArrayHighNibble(int * pitemno, int nibble) + + + + + + + + + + int __cdecl16far Egg_GetEggRangeForContentsOfItem(int * pitemno) + + + + + + + + void __cdecl16far Egg_SetEggRangeForContentsOfItem(int * pitemno, byte val) + + + + + + + + + int __cdecl16far Egg_GetXRange(int * pitemno) + + + + + + + + byte __cdecl16far Egg_GetYRange(int * pitemno) + + + + + + + + void __cdecl16far Egg_SetXRange(int * pitemno, char val) + + + + + + + + + void __cdecl16far Egg_SetYRange(int * pitemno, byte val) + + + + + + + + + void __cdecl16far nullfn_10d8_076a(void) + + + + + + void __cdecl16far nullfn_10d8_076f(void) + + + + + + void __cdecl16far nullfn_10d8_0774(void) + + + + + + void __cdecl16far nullfn_10d8_0779(void) + + + + + + void __cdecl16far nullfn_10d8_077e(void) + + + + + + void __cdecl16far nullfn_10d8_0783(void) + + + + + + byte * __stdcall16far AreaSearch_AlllocAndOrInit_SearchStruct(byte * psrch) + + + + + + + + void __cdecl16far AreaSearch_Uninit(struct AreaSearch * ptr, uint freeobj) + + + + + + + + + void __cdecl16far AreaSearch_Clear(struct AreaSearch * srch) + + + + + + + + void __cdecl16far AreaSearch_FreeList(struct AreaSearch * psrch) + + + + + + + + uint __cdecl16far AreaSearch_IsValidPositionPt(struct AreaSearch * psearch, int shapeno, struct Point3 * point, byte flipped) + + + + + + + + + + + + + + void __cdecl16far AreaSearch_10e0_0228(struct AreaSearch * psrch, uint param_2, uint param_3, uint param_4, uint param_5, char param_6) + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far AreaSearch_10e0_032e(struct AreaSearch * psrch, undefined2 itemno, undefined4 param_3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + byte __cdecl16far AreaSearch_SweepTestPt(struct AreaSearch * psrch, int shapeno, struct Point3 * point, int x2, int y2, int z2, byte flags, uint itemno1, uint param_9, uint itemno2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + byte __cdecl16far AreaSearch_SweepTestItem(struct AreaSearch * psrch, uint itemno1, int x, int y, byte z, byte flags, uint itemno2) + + + + + + + + + + + + + + + + + void __cdecl16far AreaSearch_10e0_11c5(struct AreaSearch * psrch, int shapeno, struct Point3 * pt1, struct Point3 * pt2, byte flags, uint itemno1, uint itemno2) + + + + + + + + + + + + + + + + + + + + void __cdecl16far AreaSearch_CollideMove(struct AreaSearch * psrch) + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far AreaSearch_10e0_15b4(struct AreaSearch * psrch, int itemno, int x, uint y, byte z, byte flags, uint itemno2) + + + + + + + + + + + + + + + + + + + + + byte __cdecl16far AreaSearch_10e0_162f(struct AreaSearch * psrch, int shapeno, struct Point3 * pt1, struct Point3 * pt2, byte flags, uint itemno1, uint itemno2) + + + + + + + + + + + + + + + + + byte __cdecl16far AreaSearch_IsValidPositionXYZ(int shapeno, word x, word y, byte z, byte param_5, byte param_6, byte param_7, int * result) + + + + + + + + + + + + + + + + + void __cdecl16far NPC_Init(void) + + + + + + void __cdecl16far NPC_Uninit(void) + + + + + + void __cdecl16far FUN_10e8_00c9(byte * param_1) + + + + + + + + void __cdecl16far FUN_10e8_00f2(byte * param_1) + + + + + + + + Intrinsic 033 + word __cdecl16far NPC_IsBusy(int * pitemno) + + + + + + + + bool __cdecl16far NPC_IsMapNum40(int * pitemno) + + + + + + + + void __cdecl16far NPC_SetDataFromDTable(int * pitemno, int dtable_off) + + + + + + + + + + + int __cdecl16far NPC_DoAnim(int * itemno, enum Animation anim, undefined dir, uint maxactiveanim, byte stopcurrent) + + + + + + + + + + + + + + + + + Intrinsic 0E5 + void __cdecl16far NPC_StartAttackType5(uint * pitemno, word targetno) + + + + + + + + + intrinsic 0AB + bool __cdecl16far NPC_IsFalling(int * pitemno) + + + + + + + + intrinsic 0CC + byte __cdecl16far NPC_GetInCombatFlag(int * pitemno) + + + + + + + + bool __cdecl16far NPC_IsLastAnimNotWalkStandStow(int * pitemno) + + + + + + + + bool __cdecl16far NPC_IsLastAnimSlideLeftRight(int * pitemno) + + + + + + + + bool __cdecl16far NPC_LessThan120TimerTicksPassedSinceWasHit(int * pitemno) + + + + + + + + + intrinsics 039/122/12E + bool __cdecl16far NPC_IsDead(int * pitemno) + + + + + + + + Intrinsic 021/060/073/0A0/0A8/0D8/0E7/135 + void __cdecl16far NPC_SetBrokenAndDeadFlags(int * pitemno) + + + + + + + + void __cdecl16far NPC_ClearBrokenAndIsDeadFlags(int * pitemno) + + + + + + + + int __cdecl16far NPC_Pathfind(int * pitemno, int x, int y, byte z, word param_5) + + + + + + + + + + + + int __cdecl16far NPC_PathfindToItem(int * pitemno, int destitem, word flags) + + + + + + + + + + int __cdecl16far NPC_GetNPCSlot(void) + + + + + + void __cdecl16far NPC_FreeNPCSlot(int * pitemno) + + + + + + + + byte __cdecl16far NPC_GetIsImmortal(int * pitemno) + + + + + + + + intrinsic 085 + void __cdecl16far NPC_SetImmortal(int * pitemno) + + + + + + + + intrinsic 07B / 130 + void __cdecl16far NPC_ClearImmortal(int * pitemno) + + + + + + + + bool __cdecl16far NPC_IsLastAnimRunningJumping(int * pitemno) + + + + + + + + bool __cdecl16far NPC_IsLastAnimStartRunning(int * pitemno) + + + + + + + + intrinsic 035 + bool __cdecl16far NPC_IsKneeling(int * pitemno) + + + + + + + + void __cdecl16far NPC_StartKneeling(int * pitemno) + + + + + + + + void __cdecl16far NPC_StopKneeling(int * pitemno) + + + + + + + + byte __cdecl16far NPC_GetIsPathfindingFlag(int * pitemno) + + + + + + + + void __cdecl16far NPC_SetIsPathfindingFlag(int * pitemno) + + + + + + + + void __cdecl16far NPC_ClearIsPathfindingFlag(int * pitemno) + + + + + + + + byte __cdecl16far NPC_GetFlag0x59Field6(int * pitemno) + + + + + + + + void __cdecl16far NPC_SetFlag0x59Field6(int * pitemno) + + + + + + + + void __cdecl16far NPC_ClearFlag0x59Field6(int * pitemno) + + + + + + + + bool __cdecl16far NPC_Initialize(int * pitemno, word shapeno, word frameno) + + + + + + + + + + uint __cdecl16far NPC_Create_AndSetIsFemale(int * pitemno, int shapeno, int frameno) + + + + + + + + + + intrinsic 061 + bool __cdecl16far NPC_Create(int * pitemno, undefined2 shapeno, undefined2 frameno) + + + + + + + + + + void __cdecl16far NPC_ResetNPCData(int * pitemno) + + + + + + + + + + + + + + + + + + + + + + byte __cdecl16far NPC_AnotherCreate_10e8_2710(int * pitemno, uint shapeno, undefined2 frameno, word x, word y, byte z) + + + + + + + + + + + + + + + intrinsic 0DF + word __cdecl16far NPC_GetEquip(int * pitemno, int n) + + + + + + + + + + Intrinsic 0E0 + byte __cdecl16far NPC_SetEquip(int * pitemno, word inv_off, word invitemno) + + + + + + + + + + void __cdecl16far NPC_ClearInventoryOffsetN(int * pitemno, int n) + + + + + + + + + void __cdecl16far NPC_RemoveItemNoFromInventory(int * pitemno, int to_remove) + + + + + + + + + int __cdecl16far NPC_GetInventoryOffsetForItem(int * pitemno, int searchitem) + + + + + + + + + void __cdecl16far NPC_ClearInventory(int * pitemno) + + + + + + + + Intrinsic 063 + void __cdecl16far NPC_Teleport(int * pitemno, uint x, uint y, byte z, byte maparray) + + + + + + + + + + + + int __cdecl16far NPC_GetNextFreeOffsetInInventoryWeaponSlots(int * pitemno) + + + + + + + + int __cdecl16far NPC_GetNextFreeOffsetInInventorySomethingSlots(int * pitemno) + + + + + + + + word __cdecl16far return0_10e8_2b53(void) + + + + + + int __cdecl16far NPC_GetNextFreeOffsetInInventoryItemSlots(int * pitemno) + + + + + + + + Intrinsic 011 + int __cdecl16far Item_GetMap(int * pitemno) + + + + + + + + + word __cdecl16far NPC_SetActivity(int * pitemno, enum NPCActivity activity, word param_3) + + + + + + + + + + + Intrinsic 052 + void __cdecl16far NPC_SetNPCActivity6(int * pitemno, enum NPCActivity val) + + + + + + + + + Intrinsic 053 + void __cdecl16far NPC_SetNPCActivity8(int * pitemno, enum NPCActivity val) + + + + + + + + + Intrinsic 054 + void __cdecl16far NPC_SetNPCActivityA(int * pitemno, enum NPCActivity val) + + + + + + + + + void __cdecl16far NPC_SetNPCDataField0x12(int * pitemno, byte val) + + + + + + + + + byte __cdecl16far NPC_GetNPCDataField0x12(int * pitemno) + + + + + + + + Intrinsic 0E1 + enum NPCActivity __cdecl16far NPC_GetNPCActivity6(int * pitemno) + + + + + + + + Intrinsic 0E2 + enum NPCActivity __cdecl16far NPC_GetNPCActivity8(int * pitemno) + + + + + + + + Intrinsic 0E3 + enum NPCActivity __cdecl16far NPC_GetNPCActivityA(int * pitemno) + + + + + + + + void __cdecl16far NPC_SetActivityField(int * pitemno, word val) + + + + + + + + + + + intrinsic 055, 07D, 0CD, 0DB, 0F2, 131 + void __cdecl16far NPC_StartNextNPCActivityBehaviorProcess(int * pitemno, enum NPCActivity activity) + + + + + + + + + + bool __cdecl16far NPC_IsCurrentActivitySpecifiedBy(int * pitemno, enum NPCActivity activity) + + + + + + + + + + word __cdecl16far NPC_Schedule(int * pitemno, dword time) + + + + + + + + + + word __cdecl16far NPC_GetDamageForCurrentWeaponOrBomb(int * pitemno, byte useotheritem) + + + + + + + + + + void __cdecl16far NPC_SetInCombatFlag(int * pitemno) + + + + + + + + Intrinsic 051 + void __cdecl16far NPC_ClearInCombat(int * pitemno) + + + + + + + + Intrinsic 00E + word __cdecl16far NPC_TurnTowardsDirection(int * pitemno, byte direction, byte dir_16) + + + + + + + + + + void __cdecl16far NPC_SetTempFlagAndSetInCombat(int * pitemo) + + + + + + + + void __cdecl16far NPC_SetTempFlagAndClearInCombat(int * pitemno) + + + + + + + + void __cdecl16far NPC_SetAvatarInCombat(void) + + + + + + void __cdecl16far NPC_ClearAvatarInCombat(void) + + + + + + void __cdecl16far NPC_GetAvatarInCombat(void) + + + + + + intrinsic 07C + word __cdecl16far NPC_GetHP(int * pitemno) + + + + + + + + Intrinsic 050 + word __cdecl16far NPC_GetCurrentActivity(int * pitemno) + + + + + + + + word __cdecl16far NPC_GetActiveWeaponOffset(int * pitemno) + + + + + + + + word __cdecl16far NPC_GetNPCDataField0x17InventoryOffset(int * pitemno) + + + + + + + + word __cdecl16far NPC_GetActiveInventoryItemOffset(int * pitemno) + + + + + + + + + word __cdecl16far NPC_DTable_GetMaxHPForNPC(int * pitemno) + + + + + + + + + word __cdecl16far NPC_GetActiveWeaponItem(int * pitemno) + + + + + + + + + word __cdecl16far NPC_GetActiveInventorySomethingItem(int * pitemno) + + + + + + + + + word __cdecl16far NPC_GetItemNoForActiveInventoryItem(int * pitemno) + + + + + + + + intrinsic 082 + word __cdecl16far NPC_GetEnergy(int * pitemno) + + + + + + + + intrinsic 083 + void __cdecl16far NPC_SetEnergy(int * pitemno, word val) + + + + + + + + + intrinsic 081 + int __cdecl16far NPC_GetMaxEnergyIfAvatar(int * pitemno) + + + + + + + + void __cdecl16far NPC_Charge(int * pitemno, byte in_process) + + + + + + + + + word __cdecl16far NPC_GetNPCShieldType(int * pitemno) + + + + + + + + void __cdecl16far NPC_SetNPCShieldType(int * pitemno, word val) + + + + + + + + + word __cdecl16far NPC_GetAvatarBatteryType(void) + + + + + + void __cdecl16far NPC_SetBatteryType(int * pitemno, enum BatteryType batterytype) + + + + + + + + + void __cdecl16far NPC_SetHP(int * pitemno, word val) + + + + + + + + + word __cdecl16far NPC_GetNPCTacticNo(int * pitemno) + + + + + + + + intrinsic 0DE + void __cdecl16far NPC_SetNPCTacticNo(int * pitemno, word val) + + + + + + + + + void __cdecl16far NPC_SetHomePoint(int * pitemno, struct Point3 home) + + + + + + + + + struct Point3 * __cdecl16far NPC_GetHomePoint(struct Point3 * ptr, undefined4 pitemno) + + + + + + + + + + void __cdecl16far NPC_SetActiveWeaponInventoryOffsetAndNotify(int * pitemno, word val) + + + + + + + + + void __cdecl16far NPC_SetFieldActiveInventorySomething(int * pitemno, word val) + + + + + + + + + void __cdecl16far NPC_SetActiveInventoryItemOffset(int * pitemno, word val) + + + + + + + + + Intrinsic 0B7 + word __cdecl16far NPC_GetAvatarInStasis(void) + + + + + + Intrinsic 00C + void __cdecl16far NPC_SetAvatarInStasis(int param) + + + + + + + + void __cdecl16far NPC_SetAvatarInStasisTrue(void) + + + + + + void __cdecl16far NPC_ClearAvatarInStasis(void) + + + + + + void __cdecl16far NPC_SetDirection(int * pitemno, byte val) + + + + + + + + + Intrinsic 01C / 112 / 121 + byte __cdecl16far NPC_GetDirection(int * pitemno) + + + + + + + + Intrinsic 01D, 05A, 0B9, 0D7, 0E4, 124 + enum Animation __cdecl16far NPC_GetLastAnimSet(int * pitemno) + + + + + + + + + intrinsic 0CA + byte __cdecl16far NPC_AddHP(int * pitemo, int plus) + + + + + + + + + + byte __cdecl16far NPC_AddEnergy(int * pitemno, int plusenergy) + + + + + + + + + byte * __stdcall16far malloc_0x17_bytes_if_needed(byte * param_1) + + + + + + + + Intrinsic 0EB + word __cdecl16far NPC_GetNumberAvatarCreditsWrapper(void) + + + + + + void __cdecl16far NPC_SetAvatarNumCredits(word qval) + + + + + + + + void __cdecl16far NPC_InitNPCStuff(int * pitemno) + + + + + + + + byte __cdecl16far FUN_10e8_38bc(byte * ptr, byte val) + + + + + + + + + intrinsic 029 + word __cdecl16far NPC_GetDifficultyLevel(void) + + + + + + void __cdecl16far FUN_10e8_38d5(undefined2 param_1, undefined2 param_2, undefined4 param_3) + + + + + + + + + + word __cdecl16far FUN_10e8_3905(undefined2 param_1, undefined2 param_2, undefined4 param_3, undefined2 param_4) + + + + + + + + + + + byte __cdecl16far return0_10e8_3940(void) + + + + + + word __cdecl16far return0x65_10e8_3947(void) + + + + + + byte __cdecl16far return0_10e8_394f(void) + + + + + + int __cdecl16far NPC_GetInventoryItemWithShapeNo(int * pitemno, int shapeno) + + + + + + + + + + int __cdecl16far NPC_GetInventoryOffsetForAmmoForActiveWeapon(int * pitemno) + + + + + + + + + + uint __cdecl16far NPC_ActiveWeaponShotsLeft(int * pnpcno) + + + + + + + + + + void __cdecl16far NPC_UseOneShot(int * pitemno) + + + + + + + + + word __cdecl16far NPC_ActiveWeaponIsSmall(int * pitemno) + + + + + + + + + void __cdecl16far NPC_CheckForEmptyAmmo(int * pitemno) + + + + + + + + + + + + Intrinsic 0FD + bool __cdecl16far NPC_GetKeycardHeld(byte bitno) + + + + + + + + void __cdecl16far NPC_SetKeycardHeld(byte bitno) + + + + + + + + void __cdecl16far NPC_ClearKeycardHeld(byte bitno) + + + + + + + + Intrinsic 078 + void __cdecl16far NPC_ClearKeycardsHeld(void) + + + + + + + dword __stdcall16far NPC_GetNumberAvatarCredits(void) + + + + + + + + + void __cdecl16far NPC_SetNumCredits(dword unused, word qval) + + + + + + + + + Intrinsic 00B + int __cdecl16far NPC_GetField0x63(int * pitemno) + + + + + + + + Intrinsic 0E6 + void __cdecl16far NPC_SetField0x63(int * pitemno, byte val) + + + + + + + + + intrinsic 0DD + word __cdecl16far NPC_GetNPCDataField0x4(int * pitemno) + + + + + + + + byte * __stdcall16far FUN_10e8_3e47(void) + + + + + + dword __stdcall16far ConcatParams(word param_1, word param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_3e68(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_3eb9(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_3f0a(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_3f5b(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_3fac(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_3ffd(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_404e(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_409f(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_40f0(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_4141(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_4192(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_41e3(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_4234(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_4285(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_42d6(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_4327(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_4378(struct Process * param_1, uint param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_10e8_4e3a(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_4e8b(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_4edc(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_4f2d(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_4f7e(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_4fcf(struct Process * param_1, uint param_2) + + + + + + + + + + void __cdecl16far FUN_10e8_5020(struct Process * param_1, uint param_2) + + + + + + + + + void __cdecl16far FUN_10f0_0000_Set16BytesTo0(byte * param_1) + + + + + + + + void __cdecl16far Refstore_SetBitNumber(dword ptr, uint bitno) + + + + + + + + + byte __cdecl16far Refstore_GetBitNumber(dword ptr, uint param_2) + + + + + + + + + byte __cdecl16far Refstore_Init(void) + + + + + + + + byte __cdecl16far Refstore_Uninit(void) + + + + + + + + dword __stdcall16far Refstore_GetEntry(uint offset) + + + + + + + + void __cdecl16far Refstore_SetBitEntry(uint entryno, uint bitoffset) + + + + + + + + + byte __cdecl16far Refstore_GetBitEntry(uint entryno, uint bitoffset) + + + + + + + + + byte __cdecl16far ItemGlob_InitStuff_10f0_0165(void) + + + + + + + + + + + + void __cdecl16far ItemGlob_CacheIn(void) + + + + + + byte * __stdcall16far FUN_10f0_02a7_AllocAndZero16Bytes(byte * ptr) + + + + + + + + struct StorageDataProcess * __stdcall16far StorageDataProcess_Create(struct StorageDataProcess * p_proc, dword proclist, word reftype, int itemno, word otheritem, word damagetype) + + + + + + + + + + + + + void __cdecl16far StorageDataProcess_Run(struct StorageDataProcess * p_proc) + + + + + + + + + + void __cdecl16far StorageDataProcess_10f0_03ff(struct StorageDataProcess * p_proc, uint param_2) + + + + + + + + + dword __stdcall16far Refstore_10f0_046d(long * param_1, int param_2) + + + + + + + + + void __cdecl16far FUN_10f0_0502(dword param_1, struct StorageDataProcess * sdproc) + + + + + + + + + + void __cdecl16far FUN_10f0_0542(dword * param_1, int itemno) + + + + + + + + + + + void __cdecl16far StorageDataProcess_RunAndTerminateProcs(dword * proclist) + + + + + + + + + + void __cdecl16far FUN_10f0_06b5(int * * param_1, uint param_2) + + + + + + + + + char * __stdcall16far ItemScrit_CompileScript(char * bufout, word param_2, word param_3, ...) + + + + + + + + + + + int __cdecl16far ItemScrit_10f8_00e4(char * bufout, int c) + + + + + + + + + void __cdecl16far FUN_10f8_0120(byte * param_1, byte param_2) + + + + + + + + + void __cdecl16far FUN_10f8_0161(byte * param_1) + + + + + + + + void __cdecl16far ItemType_Init(byte * * dest_ptrptr) + + + + + + + + void __cdecl16far FUNFree_10f8_022b(int * * param_1) + + + + + + + + void __cdecl16far ItemType_LoadTypeflagDat(byte * * param_1) + + + + + + + + word * __stdcall16far Item_GetTypeflagData(word * dest, word * src, int shapenum) + + + + + + + + + + void __cdecl16far ItemType_Load_TypenameDat(byte * * param_1) + + + + + + + + int __cdecl16far FUN_10f8_0437(int * param_1, int param_2) + + + + + + + + + int __cdecl16far FUN_10f8_045b(int * param_1, char * param_2, char param_3, int param_4) + + + + + + + + + + + + + + intrinsic 0AC + enum ShapeFamily __cdecl16far Item_GetShapeFamilyOfShape(int shapeno) + + + + + + + + struct Process * __stdcall16far NPCActionProcess_Create(struct Process * p_proc, int npcno) + + + + + + + + + byte __cdecl16far NPC_CanSeeControlledNPC(int itemno, byte someflag) + + + + + + + + + + + + + byte __cdecl16far NPC_StartBehaviorInField0x8IfCanSeeControlledNPC(struct Process * p_proc) + + + + + + + + + + + struct Process * __cdecl16far StandProcess_CreateProcess(struct Process * p_proc, undefined2 param_2) + + + + + + + + + void __cdecl16far StandProcess_Run(struct Process * param_1) + + + + + + + + struct Process * __cdecl16far SurrenderProcess_CreateProcess(struct Process * p_proc, undefined2 itemno) + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far SurrenderProcess_Run(struct Process * p_proc) + + + + + + + + + + + + undefined4 __cdecl16far PaceProcess_CreateProcess(struct PaceProcess * p_proc, undefined2 itemno) + + + + + + + + + + void __cdecl16far PaceProcess_Run(struct PaceProcess * pproc) + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1100_0913(int itemno) + + + + + + + + + + struct Process * __cdecl16far GuardProcess_CreateProcess(struct Process * p_proc, int param_2) + + + + + + + + + undefined __cdecl16far GuardProcess_Run(struct Process * p_proc) + + + + + + + + + + + struct Process * __cdecl16far LoiterProcess_CreateProcess(struct Process * p_proc, int itemno, int count) + + + + + + + + + + + + + void __cdecl16far LoiterProcess_Run(struct Process * p_proc) + + + + + + + + + undefined __cdecl16far FUN_1100_0d3e(struct Process * param_1, undefined2 param_2, undefined2 param_3) + + + + + + + + + + + + + + + + void __cdecl16far FUN_1100_0f47(struct Process * param_1, uint param_2) + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_1100_0fe3(void) + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_1100_1084(void) + + + + + + + + + + + + + + struct AttackProcess * __stdcall16far AttackProcess_CreateProcess(struct AttackProcess * p_proc, int itemno) + + + + + + + + + + + + + + + + + + void __cdecl16far Attack_Load(struct AttackProcess * p_proc, uint param_2) + + + + + + + + + bool __cdecl16far Attack_CheckForSoundTimeElapsed(struct AttackProcess * p_proc) + + + + + + + + + + bool __cdecl16far Attack_Timer4and5Update(struct AttackProcess * p_proc) + + + + + + + + + + + + int __cdecl16far Attack_GetNextWordWithGlobals(struct AttackProcess * p_proc) + + + + + + + + + + int __stdcall16far Attack_GetNextWord(struct AttackProcess * p_proc) + + + + + + + + void __cdecl16far Attack_SetGlobalAttackData(struct AttackProcess * p_proc, uint offset, uint val) + + + + + + + + + + word __cdecl16far Attack_GetGlobalAttackData(struct AttackProcess * p_proc, uint offset) + + + + + + + + + after the name, there are 4 offset values in the combat data - this picks one of them to use in the 0x55 field of the process struct. In practice, this function is never called with any values other than 0 or 1 + void __cdecl16far Attack_SetupForBlockNo(struct AttackProcess * p_proc, word num) + + + + + + + + + void __cdecl16far Attack_SetupForTacticNo(struct AttackProcess * p_proc, int tactic_no) + + + + + + + + + void __cdecl16far Attack_LoadCombatDatFromFlex(void) + + + + + + + + + void __cdecl16far AttackProcess_Run(struct AttackProcess * p_proc) + + + + + + + + + + + + + + + + bool __cdecl16far Attack_CheckReady(struct AttackProcess * p_proc, byte targetdir) + + + + + + + + + + + struct Process * __stdcall16far Attack_PathfindToItemInNPCData(struct AttackProcess * p_proc) + + + + + + + + + + + + void __cdecl16far AttackProcess_SetTimer3(struct AttackProcess * p_proc) + + + + + + + + this is called when the tactic no is 0 + void __cdecl16far AttackProcess_GenericAttack(struct AttackProcess * p_proc) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Attack_TimeNowToTimer2(struct AttackProcess * p_proc) + + + + + + + + bool __cdecl16far Attack_CheckTimeElapsedFromTimer2MoreThan120(struct AttackProcess * p_proc) + + + + + + + + + + + + void __cdecl16far Attack_SetField0x7FTo1(struct AttackProcess * pproc) + + + + + + + + struct PathfinderProcess * __stdcall16far Pathfinder_CreateProcess_ToPoint(struct PathfinderProcess * p_proc, int item, int destitem, uint destx, uint desty, byte destz, word maxsteps, bool param_8, word stopdistance, bool turnatend) + + + + + + + + + + + + + + + + + + + + struct PathfinderProcess * __stdcall16far Pathfinder_CreateProcess_ToItem(struct PathfinderProcess * p_proc, int itemno, int destitem, word maxsteps, bool param_5, word stopdistance, bool turnatend) + + + + + + + + + + + + + + + + + + + + + void __cdecl16far PathfinderProcess_UnreadyWeaponIfInCombatAndReadied(struct PathfinderProcess * p_proc) + + + + + + + + + + void __cdecl16far PathfinderProcess_Run(struct PathfinderProcess * p_proc) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Pathfinder_End(struct PathfinderProcess * p_proc) + + + + + + + + + + + void __cdecl16far PathfinderProcess_Terminate(struct Process * param_1, dword result) + + + + + + + + + void __cdecl16far Pathfinder_Fail(struct PathfinderProcess * param_1, dword param_2) + + + + + + + + + byte __cdecl16far Pathfinder_NextDirFromPoint(struct PathfinderProcess * p_proc, struct Point3 * npcpt) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1110_0f19(struct Process * param_1, uint param_2) + + + + + + + + + + + + + void __cdecl16far DTable_Uninit(void) + + + + + + void __cdecl16far DTable_Load(void) + + + + + + + + + int __cdecl16far DTable_GetTableOffsetForShapeNo(int shapeno) + + + + + + + + + + int __cdecl16far Weapon_GetTableOffsetForShapeNo(int shapeno) + + + + + + + + + + int __cdecl16far Ammo_GetDefaultCountForWeaponShape(int shapeno) + + + + + + + + word __cdecl16far Weapon_GetEnergyUse(word shapeno) + + + + + + + + word __cdecl16far Weapon_GetSoundNo(int shapeno) + + + + + + + + int __cdecl16far Weapon_GetShotDelay(int shapeno) + + + + + + + + int __cdecl16far Ammo_GetTableOffsetForShapeNo(word shapeno) + + + + + + + + + + word __cdecl16far Ammo_GetDisplayFrameForShape(int shapeno) + + + + + + + + word __cdecl16far Ammo_GetField0x4(word shapeno) + + + + + + + + + word __cdecl16far Weapon_GetAmmoShapeForWeaponShapeNo(int shapeno) + + + + + + + + char * __cdecl16far Ammo_GetNameForShapeNo(int shapeno) + + + + + + + + word __cdecl16far Weapon_GetField0x8(int shapeno) + + + + + + + + byte __cdecl16far Weapon_GetWpnSmallFlag(int shapeno) + + + + + + + + word __cdecl16far Weapon_GetDisplayFrameForShape(int shapeno) + + + + + + + + char * __cdecl16far Weapon_GetNameForShapeNo(int shapeno) + + + + + + + + byte __cdecl16far Weapon_GetReloadSound(undefined2 shapeno) + + + + + + + + + + + + + + + + word __cdecl16far MiscTable_GetBombDisplayFrameForShape(word shapeno) + + + + + + + + char * __cdecl16far MiscTable_GetNameForBombShapeNo(word shapeno) + + + + + + + + word __cdecl16far MiscTable_GetBombField0x2(int shapeno) + + + + + + + + + word __cdecl16far MiscTable_GetBombField0x4(word shapeno) + + + + + + + + + int __cdecl16far MiscTable_GetTableOffsetForItemShapeNo(int shapeno) + + + + + + + + + + word __cdecl16far Misc_TableGetDisplayFrameForShape(undefined2 shapeno) + + + + + + + + char * __cdecl16far MiscTable_GetNameForItemShapeNo(int shapeno) + + + + + + + + byte __cdecl16far FUN_1118_0497(int shapeno) + + + + + + + + + + + + + + int __cdecl16far Weapon_GetFireTypeForShape(undefined2 shapeno) + + + + + + + + char * __cdecl16far DTable_GetNameForShapeNo(word shapeno) + + + + + + + + + + + + + + + struct FireTypeTableData * __stdcall16far FireTypeTable_GetPtrForFireTypeOffset(word firetype) + + + + + + + + + + word __cdecl16far FireTypeTable_GetRandomDamageForFireType(word firetype) + + + + + + + + + + + + + + + void __cdecl16far Tracker_FreeAndClearTargetableItemList(void) + + + + + + void __cdecl16far Tracker_AddToTargetableItemList(int itemno) + + + + + + + + + undefined __cdecl16far Tracker_RemoveFromTargetableItemList(int itemno) + + + + + + + + + undefined2 __cdecl16far Tracker_FindTargetableItemInDirection(int fromitemno, char direction, byte use_16dirs) + + + + + + + + + + + + + + void __cdecl16far Fire_SplashDamage(struct Point3 * pt, int range, int damage, int firetype, int skipitem, int srcitem) + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far CallFnPtr0x0C_3Times(int * ptr_1, word offset) + + + + + + + + + void __cdecl16far CallFnPtr0x10_3Times(int * ptr_1, word offset) + + + + + + + + + Intrinsic 098 + void __cdecl16far Game_ResetVargasShield(void) + + + + + + struct Process * __stdcall16far DeathSilence_CreateProcess(struct Process * p_proc) + + + + + + + + void __cdecl16far DeathSilenceProcess_Run(struct Process * proc) + + + + + + + + void __cdecl16far DeathSilenceProcess_Timer(struct Process * p_proc) + + + + + + + + void __cdecl16far Item_GetPointWithZRelativeToItem1(int item1, int item2, struct Point3 * pout) + + + + + + + + + + + + + + byte __cdecl16far Item_IsNotRobot(int * pitemno) + + + + + + + + intrinsic 032 + void __cdecl16far Item_ReceiveHit(int * pitemno, int other, byte dir, uint damage, word damagetype) + + + + + + + + + + + + byte __cdecl16far Item_ReceiveHit(int * pitemno, int other, byte dir, uint damage, word damagetype, struct Point3 * srcpt) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_seemsnull1128_1090(void) + + + + + + + + + + + byte __cdecl16far World_FinishedAvatarMoveTimeout(void) + + + + + + + + + + + + + Intrinsic 01E + +This is either called from usecode or from an animation (via NPC_FireWeapon) + uint __cdecl16far Crusader_FireWeapon(int * pitemno, int x, int y, char z, char dir, int firetype, char targetflag) + + + + + + + + + + + + + + + + + + + + + + + + + + + + Intrinsic 116 + uint __cdecl16far Intrinsic116_FireDistance(int * pitem1, int item2, byte dir, int xoff, int yoff, int zoff) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint __cdecl16far FUN_1128_1b09(int * pitemno, word item2, uint range_threshold) + + + + + + + + + + + + + + + + + + + + + + + + Intrinsic 042 + undefined __cdecl16far Item_GetRangeIfVisible(undefined4 pitemno, word other_itemno) + + + + + + + + + + + + + + + + + + + struct Process * __stdcall16far CruHealer_CreateProcess(struct Process * p_proc) + + + + + + + + + + + + + + + void __cdecl16far CruHealer_Run(struct Process * p_proc) + + + + + + + + + + struct Process * __stdcall16far BatteryChargerProcess_CreateProcess(struct Process * ptr) + + + + + + + + void __cdecl16far BatteryCharger_1128_1fbe(struct Process * param_1, uint param_2) + + + + + + + + + void __cdecl16far BatteryChargerProcess_Run(struct Process * p_proc) + + + + + + + + + + Intrinsic 0EE + int __cdecl16far BatteryChargerProcess_CreateNew(void) + + + + + + + + + Intrinsic 0F6 + int __cdecl16far CruHealer_CreateProcess_(void) + + + + + + + + + int __cdecl16far Anim_GetModifiedAnimForWeapon(int * pitemno, enum Animation anim) + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1128_22ca(struct Process * p_proc, uint param_2) + + + + + + + + + intrinsic 056 + void __cdecl16far World_SetCurrentControlledNPCNum(word itemno) + + + + + + + + Intrinsic 01B + word __cdecl16far World_GetCurrentControlledNPCNum(void) + + + + + + bool __cdecl16far ControlledNPC_LastAnimNotCombatAnim(void) + + + + + + + + + + bool __cdecl16far ControlledNPC_LastAnimNotInSomeValues_1130_0070(void) + + + + + + + + + + struct Process * __stdcall16far ControllerProcess_CreateProcess(struct Process * p_proc) + + + + + + + + void __cdecl16far FUN_1130_01a5(struct Process * p_proc, uint val) + + + + + + + + + void __cdecl16far Cheat_GiveAmmo(uint shapeno) + + + + + + + + void __cdecl16far Target_1130_0299(void) + + + + + + + + + void __cdecl16far Item_DoReticleUpdateIfNeeded(void) + + + + + + + + + + + + + void __cdecl16far Target_ReticleItemDestroyed(void) + + + + + + + + + + + void __cdecl16far Target_PutTargetingReticleOnItem(int itemno) + + + + + + + + + + + + + void __cdecl16far Target_ClearCrosshairsAndTargetReticle(void) + + + + + + + + + void __cdecl16far Target_UpdateSmallCrosshairs(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far ControllerProcess_Run(void) + + + + + + + byte __cdecl16far Key_HandleOptionKeys(struct KeyEvent * keyevent) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bool __cdecl16far Anim_1130_0f94(enum Animation animno) + + + + + + + + + + void __cdecl16far Controller_UpdateAvatarAngle(struct Process * p_proc, struct KeyEvent * pkeyevent, byte * pnewdir, enum Animation * panimout, bool slowturn) + + + + + + + + + + + + + + + + + + + byte __cdecl16far Controller_PickNextAnimByKeyevent(struct Process * p_proc, struct KeyEvent * keyevent) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Controller_HandleKeyEvent(struct Process * p_proc, int param_2, int param_3, struct KeyEvent * keyevent_) + + + + + + + + + + + + + void __cdecl16far ControllerProcess_SetGlobalControllerProcess(struct Process * p_proc) + + + + + + + + void __cdecl16far ControllerProcess_ClearGlobalControllerProcess(struct Process * p_proc) + + + + + + + + byte __cdecl16far Crusader_TryToFireWeapon(struct Process * p_proc, bool someflag) + + + + + + + + + + + + + + + + + + + void __cdecl16far Key_CheckCheatToggle(struct KeyEvent * keyevent) + + + + + + + + + + + void __cdecl16far World_SetCurrentControlledNPCNum(word newitemno) + + + + + + + + + + + + + + + + + + + byte __cdecl16far Crusader_FireWeapon_TimerCheck(void) + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1130_2fa6(struct Process * controllerproc) + + + + + + + + void __cdecl16far ControllerProc_1130_2fdb(struct Process * controllerproc) + + + + + + + + struct Process * __stdcall16far AutoFirerProcess_CreateProcess(struct Process * p_proc) + + + + + + + + void __cdecl16far AutoFirerProcess_OnTimer(void) + + + + + + + + + + + + + void __cdecl16far AutoFirerProcess_1130_3169(struct Process * p_proc) + + + + + + + + void __cdecl16far Targetting_Reset(struct Process * controllerProc) + + + + + + + + void __cdecl16far ControllerProcess_Load(struct Process * p_proc, struct File * pfile) + + + + + + + + + + void __cdecl16far ControllerProcess_Save(struct Process * p_proc, struct File * param_2) + + + + + + + + + void __cdecl16far AutoFirerProcess_1130_3249(struct Process * p_proc, undefined2 param_2, undefined2 param_3) + + + + + + + + + + void __cdecl16far AutoFirerProcess_1130_327c(struct Process * p_proc, undefined2 param_2, undefined2 param_3) + + + + + + + + + + void __cdecl16far NPC_ResetToStartOfAnim(int itemno, enum Animation animno) + + + + + + + + + + + void __cdecl16far AutoFirerProcess_Run(void) + + + + + + void __cdecl16far AutoFirerProcess_1130_3368(struct Process * param_1, uint param_2) + + + + + + + + + void __cdecl16far AutoFirerProcess_1130_33b6(struct Process * p_proc) + + + + + + + + void __cdecl16far ControllerProcess_1130_33c8(struct Process * p_proc, uint param_2) + + + + + + + + + word __cdecl16far return0_1138_0000(void) + + + + + + void __cdecl16far FUN_1138_0007(int shapeno, int * xout, int * yout, byte * zout) + + + + + + + + + + + Intrinsic 0C6 + word __cdecl16far Sprite_Int0C6_Create(int shapeno, int frame, int lastframe, int delay, int x, int y, byte z) + + + + + + + + + + + + + + + + + + + + + + + + struct Process * __cdecl16far Sprite_CreateProcess(struct Process * p_proc, int shapeno, int frame, int lastframe, int delay, int x, int y, char z) + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far SpriteProcess_Run(struct Process * p_proc) + + + + + + + + + + + + void __cdecl16far nullfn_1138_0668(void) + + + + + + void __cdecl16far FUN_1138_066d(ulong param_1) + + + + + + + + void __cdecl16far Sprite_MoveRel(undefined4 param_1, int xoff, int yoff, char zoff) + + + + + + + + + + + + + + struct SuperSpriteProcess * __stdcall16far SuperSprite_CreateProcess(struct SuperSpriteProcess * proc) + + + + + + + + + + + + + + + + void __cdecl16far SuperSpriteProcess_SetShapeFrameAndLoc(struct SuperSpriteProcess * p_proc, int shapeno, int spriteframe, struct Point3 * loc) + + + + + + + + + + + void __cdecl16far SuperSpriteProcess_SetShapeAndLoc(struct SuperSpriteProcess * p_proc, int shapeno, struct Point3 * loc) + + + + + + + + + + int __cdecl16far Sprite_Create_1138_0901(ulong param_1, uint shapenum, uint frameno, int * param_4) + + + + + + + + + + + + + + void __cdecl16far SuperSprite_InitData(struct SuperSpriteProcess * p_proc, byte dir, int x, int y, byte z, int damage, word firetype, int srcitem, word targetitem, byte flag) + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far SuperSprite_InitWithStartPt(struct SuperSpriteProcess * proc, char dir, undefined2 damage, word firetype, int srcitemno, int targetitem, char someflag) + + + + + + + + + + + + + + void __cdecl16far SuperSprite_InitWithCrosshairLocation(struct SuperSpriteProcess * pproc, byte dir, undefined2 damage, word firetype, int itemno, word target, byte z) + + + + + + + + + + + + + + x,y,z inputs in Run are nowpt, pt3 + byte __cdecl16far SuperSprite_AreaSearch_1138_0ee8(struct SuperSpriteProcess * pproc, word x1, word y1, word z1, word x2, word y2, word z2) + + + + + + + + + + + + + + + + + + + void __cdecl16far SuperSprite_AdvanceFrame(struct SuperSpriteProcess * p_proc) + + + + + + + + + + + void __cdecl16far SuperSprite_HitAndFinish(struct SuperSpriteProcess * p_proc, uint x1, uint y1, byte z1, uint x2, uint y2, byte z2) + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far SuperSprite_DestroyItemOrTerminate(struct Process * proc) + + + + + + + + + + void __cdecl16far SuperSprite_GetItemSize(struct SuperSpriteProcess * proc, word itemno, struct Point3 * pt) + + + + + + + + + + + + + + + + + + + + void __cdecl16far SuperSpriteProcess_Run(struct SuperSpriteProcess * p_proc) + + + + + + + + + + + + + + + + + + byte __cdecl16far FUN_1138_1dc0(undefined2 param_1) + + + + + + + + + + + void __cdecl16far SuperSpriteProcess_MakeBulletSplash(struct SuperSpriteProcess * proc, struct Point3 * point) + + + + + + + + + + void __cdecl16far nullfn_1138_1e75(void) + + + + + + void __cdecl16far FUN_1140_0000(undefined2 * param_1, undefined2 param_2, undefined2 param_3, undefined param_4, undefined2 param_5, undefined2 param_6, undefined param_7) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + byte __cdecl16far FUN_1148_0000(uint shapeno, uint frame, word x, word y, byte z) + + + + + + + + + + + + + uint __cdecl16far Anim_TurnTowardsDirection(int itemno, byte direction, byte dir_16, byte noncombatstand) + + + + + + + + + + + + + + + + + + + + void __cdecl16far FireType_MakeBulletSplashShape(int firetype, int x, int y, byte z) + + + + + + + + + + + + + + + void __cdecl16far FUN_1148_05e8(undefined param_1) + + + + + + byte __cdecl16far Anim_GetAvatarFireOffsets(byte dir, int * xout, int * yout, int * zout) + + + + + + + + + + + + + byte * __cdecl16far NPC_GetControlledNPCFireFrameMeta(void) + + + + + + + + + + + + + + + + + Intrinsic 017 + void __cdecl16far Item_Explode_WithDamage(int * pitemno, int exptype, char destory_item) + + + + + + + + + + void __cdecl16far Item_Explode_NoDamage(int * pitemno, int exptype, char destroy_item) + + + + + + + + + + uint __cdecl16far Item_Explode(int * pitemno, int exptype, byte destory_item, byte cause_damage) + + + + + + + + + + + + + + + Intrinsic 0BB + bool __cdecl16far Intrinsic0BB_1148_0b67(int shapeno, word x, word y, byte z) + + + + + + + + + + + + + + FIXME: parameters here are pretty suspicious.. + struct AnimPrimitiveProcess * __stdcall16far AnimPrimitive_CreateProcess(struct AnimPrimitiveProcess * p_proc, int itemno, enum Animation animno, byte targetdir, struct Point3 * futuredest, int pathfindtarget, word param_7) + + + + + + + + + + + + + + + + + void __cdecl16far AnimPrimitive_CheckToStartNewAnimation(struct AnimPrimitiveProcess * p_proc) + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far AnimPrimitive_SetStartFrame(struct AnimPrimitiveProcess * p_proc) + + + + + + + + + + + + + + + void __cdecl16far AnimPrimitiveProcess_Run(struct AnimPrimitiveProcess * p_proc) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far AnimPrimitive_1150_2b08(struct Process * p_proc, int param_2, int param_3) + + + + + + + + + + + + this is called if the startpt is not null + void __cdecl16far AnimPrimitive_StoreCurrentNPCAnimStatus(struct AnimPrimitiveProcess * p_proc) + + + + + + + + undefined __cdecl16far AnimPrimitive_RestoreNPCAnimStatus(struct AnimPrimitiveProcess * p_proc) + + + + + + + + + + + undefined __cdecl16far AnimPrimitive_Terminate(struct AnimPrimitiveProcess * p_proc) + + + + + + + + + + void __cdecl16far AnimPrimitive_FinishFailed(struct AnimPrimitiveProcess * p_proc) + + + + + + + + + + void __cdecl16far AnimPrimitive_SetTargetUpdateNeeded(struct AnimPrimitiveProcess * p_proc) + + + + + + + + void __cdecl16far AnimPrimitive_Cleanup(struct AnimPrimitiveProcess * p_proc) + + + + + + + + + + + + + + + + + undefined __cdecl16far FUN_1150_2f4b(struct Process * p_proc, undefined4 param_2, undefined4 param_3) + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_1150_308b(void) + + + + + + byte __cdecl16far AnimPrimitive_CheckCollisionAndHurl(struct AnimPrimitiveProcess * p_proc, int x, int y, byte z, int nextx, int nexty, byte nextz) + + + + + + + + + + + + + + + + + + + void __cdecl16far AnimPrimitive_UpdateNPCDir(struct AnimPrimitiveProcess * p_proc, byte newdir) + + + + + + + + + + undefined __cdecl16far AnimOneFrameDelayProcess_Run(struct Process * proc) + + + + + + + + + + + + + + + + + + + + + + + + uint __cdecl16far FUN_1158_0000(uint shapeno, uint frame, word container) + + + + + + + + + + + This can be called from animations, calls through to Crusader_FireWeapon to do the main logic. + void __cdecl16far NPC_FireWeapon(int itemno, dword framemeta_lo, dword framemeta_hi) + + + + + + + + + + + + void __cdecl16far NPC_GetHurt(int itemno) + + + + + + + + + + void __cdecl16far nullfn_1158_03f5(void) + + + + + + void __cdecl16far nullfn_1158_03fa(void) + + + + + + void __cdecl16far WpnCache_Init(int shapeno) + + + + + + + + + + + + + + void __cdecl16far Wpncache_Uninit(void) + + + + + + + + + int __cdecl16far WpnCache_GetIndexForShape(int shapeno) + + + + + + + + + + word __cdecl16far WpnCache_GetAnimatedOverlayShapeOffset(int shapeno) + + + + + + + + + + + + + + void __cdecl16far WpnCache_CacheInWpnShapeForOverlayShape(word wpnoverlayshape) + + + + + + + + + + void __cdecl16far WpnCache_GetOverlayDat(int wpnshapeno, enum Animation animno, char dir, byte animframe, word * wpnoverlayshape, char * xoff, char * yoff, uint * frame) + + + + + + + + + + + + + + + + + + bool __cdecl16far WpnCache_HasOverlayData(word wpnshapeno, enum Animation animno) + + + + + + + + + word __cdecl16far WpnCache_GetAnimatedOverlayShapeForWeaponShape(int wpnshape) + + + + + + + + dword * __cdecl16far WpnCache_InitWpnOverlayFileStruct(void) + + + + + + + + + + void __cdecl16far WpnCache_Clear1024Bytes(word * param_1) + + + + + + + + byte __cdecl16far WpnCache_1024BytesContainsNonZeroVal(uint * param_1) + + + + + + + + + void __cdecl16far AStream_Init(void) + + + + + + void __cdecl16far AStream_Uninit(void) + + + + + + long * __cdecl16far malloc_or_clear_long(long * ptr) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int __cdecl16far AnimCache_1160_0106(int * animmeta, char dir, byte param_3) + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1160_01d2(uint * pptr) + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1168_0091(struct File * file, dword param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint __cdecl16far Animfile_Read(struct File * file, int param_2, byte * buf) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far AnimFile_1168_076d(struct File * param_1, undefined4 param_2) + + + + + + + + + void __cdecl16far AnimCache_Clear(byte * param_1) + + + + + + + + void __cdecl16far AnimCache_Init(void) + + + + + + + + + + + + void __cdecl16far AnimCache_FreeBlock_1170_00ab(int blockno) + + + + + + + + + + + + + int __cdecl16far AnimCache_GetCacheNumberForAnim(int animno) + + + + + + + + + + int __cdecl16far AnimCache_Load_Animation(int shapeno) + + + + + + + + word * __cdecl16far AnimCache_GetAnimationPtr(int shapeno) + + + + + + + + void __cdecl16far AnimCache_GetFrameMetadata(int shapeno, int animno, byte dir, byte frameno, word * pout) + + + + + + + + + + + + byte * __stdcall16far Anim_GetMetadata(byte * outbuf, int shapeno, enum Animation animno) + + + + + + + + + + + + + + + + + + + + byte __cdecl16far AnimCache_CanLoadAnim(undefined2 animno) + + + + + + + + + byte __cdecl16far AnimCache_MaybeCacheIn(int shapeno, enum Animation animno) + + + + + + + + + + + + + void __cdecl16far Anim_CloseAnimFile(void) + + + + + undefined __cdecl16far Zero4WordsAtLocation(word * param_1) + + + + + + + + void __cdecl16far Copy4WordsFromAtoB(word * dest, word * src) + + + + + + + + + byte __cdecl16far AnimFrame_IsFireFrame(byte * framemeta) + + + + + + + + void __cdecl16far Camera_Init(void) + + + + + + Intrinsic 062 + void __cdecl16far Camera_Intrinsic062_1180_0013(void) + + + + + + struct Process * __cdecl16far Camera_CreateProcess(struct Process * p_proc) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Coords_ScreenToWorldXY(int x, int y, int * xout, int * yout) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1180_0c29(int param_1, int param_2) + + + + + + + + + intrinsic 040 + void __cdecl16far Camera_MoveTo(uint x, uint y, byte z, word mapno) + + + + + + + + + + + + + void __cdecl16far Camera_1180_12f1(struct Process * proc) + + + + + + + + void __cdecl16far Camera_1180_1356(struct Process * proc, uint param_2, uint param_3, word param_4, word param_5, char param_6) + + + + + + + + + + + + + void __cdecl16far FUN_1180_152b(dword param_1) + + + + + + + + + + + + + + + + + + void __cdecl16far Camera_1180_1719(int * param_1) + + + + + + + + void __cdecl16far Camera_1180_19c1(void) + + + + + + + + + Intrinsic 041 + void __cdecl16far Camera_SetCentreOn(word itemno) + + + + + + + + void __cdecl16far Camera_MoveRel(int x, int y, char z) + + + + + + + + + + void __cdecl16far Camera_SetRoof(word roof) + + + + + + + + void __cdecl16far Camera_MaybeScrollTo_1180_1af9(int itemno) + + + + + + + + + + + + word __cdecl16far Camera_IsFocussedOnSomething_1180_1c55(void) + + + + + + + + + + + + + void __cdecl16far FUN_1180_1cb1(void) + + + + + + Intrinsic 086 + word __cdecl16far Camera_GetX(void) + + + + + + Intrinsic 087 + word __cdecl16far Camera_GetY(void) + + + + + + Intrinsic 0D6 + byte __cdecl16far Camera_GetZ(void) + + + + + + word __cdecl16far Camera_GetRoof(void) + + + + + + void __cdecl16far FUN_1180_1ce5(int x, int y, byte z, int xrange, int yrange, byte zrange) + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_1180_1de8(void) + + + + + + byte __cdecl16far return0_1180_1ded(void) + + + + + + void __cdecl16far nullfn_1180_1df4(void) + + + + + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far FUN_1188_0057(struct Process * param_1) + + + + + + + + + + void __cdecl16far Display_Init(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Display_GetInfoForInventoryItem(int itemno, char * name, uint * out_gumpshape, word * out_frame) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1190_0000(int * param_1, int * param_2) + + + + + + + + + void __cdecl16far FUN_1190_006d(int * param_1, int * param_2) + + + + + + + + + + + + + + + void __cdecl16far FUN_1190_0112(dword param_1) + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1190_022c(int * param_1, int param_2) + + + + + + + + + void __cdecl16far FUN_1190_0263(int * param_1, int param_2) + + + + + + + + + void __cdecl16far FUN_1190_02a8(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1190_05ca(int param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far DList_Init(void) + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1190_0e2a(int param_1) + + + + + + + + + + + + + + void __cdecl16far nullfn_1190_0e6c(void) + + + + + + int __cdecl16far FUN_1190_0e71(int param_1, int param_2) + + + + + + + + + void __cdecl16far FUN_1190_0fe2(int * param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1190_1919(void) + + + + + + + + + + + + + void __cdecl16far FUN_1190_19b4(undefined4 param_1, int param_2, int param_3) + + + + + + + + + + void __cdecl16far FUN_1190_19ec(undefined4 param_1) + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1190_1ab8(undefined4 param_1) + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1190_1c14(int * param_1) + + + + + + + + void __cdecl16far SetSomeGlobals(void) + + + + + + word __cdecl16far return0_1190_1cfb(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1198_0dcb(undefined4 param_1) + + + + + + + + + + + + + + + + + + + + + + + + + int __cdecl16far FUN_1198_0efc(int itemno) + + + + + + + + void __cdecl16far Item_1198_10e5(word itemno) + + + + + + + undefined __cdecl16far Item_1198_13be(uint itemno) + + + + + + + + void __cdecl16far FUN_1198_13d5(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1198_1890(void) + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1198_19e5(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Spmgr_Init(void) + + + + + + + + + void __cdecl16far Spmgr_Uninit(void) + + + + + + int __cdecl16far Spmgr_CreateSprite(int shape, uint frame, word flags, int x, int y, char z) + + + + + + + + + + + + + void __cdecl16far Spmgr_ClearSprite(uint spriteno) + + + + + + + + void __cdecl16far Spmgr_ClearFlag1(int spriteno) + + + + + + + + void __cdecl16far Spmgr_SetSpriteFlag0(int spriteno) + + + + + + + + uint __cdecl16far Spmgr_GetFrameNo(int spriteno) + + + + + + + + void __cdecl16far Spmgr_SetFrame(int spriteno, uint frameno) + + + + + + + + + + + + + + + + + void __cdecl16far Sprite_SetLocation(int spriteno, int x, int y, char z) + + + + + + + + + + + + void __cdecl16far Sprite_GetLocation(int spriteno, word * x, word * y, uint * z) + + + + + + + + + + + struct Rect * __cdecl16far Spmgr_GetScreenBounds(struct Rect * pcoords, int spriteno) + + + + + + + + + + + + struct Point2 * __stdcall16far Spmgr_GetScreenCoords_11a0_06ba(struct Point2 * pout, int spriteno) + + + + + + + + + + + struct Rect * __stdcall16far Sprite_TrimRectToScreenCoords(struct Rect * rect, int spriteno) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int __cdecl16far Sprite_GetX(int spriteno) + + + + + + + + int __cdecl16far Sprite_GetY(int spriteno) + + + + + + + + + + + + clears a global then sets flag 0 on all valid sprites (non-zero shapeno) + void __cdecl16far Spmgr_11a0_0de9(void) + + + + + + void __cdecl16far Spmgr_11a0_0e1f(undefined4 param_1, int param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_11a8(void) + + + + + + intrinsic 05D + void __cdecl16far FUN_11b0_0000(void) + + + + + intrinsic 05F + + + + + + void __cdecl16far FUN_11b0_000c(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_11b0_091b(byte param_1) + + + + + + + + void __cdecl16far FUN_11b0_0932(void) + + + + + + void __cdecl16far FUN_11b0_098f(void) + + + + + + void __cdecl16far Notify_NPCUpdate(enum UpdateType i) + + + + + + + + + + + + dword __cdecl16far returninput_11b0_09f7(dword val) + + + + + + + + + struct Process * __cdecl16far KeyDaemon_CreateProcess(struct Process * p_proc) + + + + + + + + + void __cdecl16far nullfn_11b8_00ef(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + struct Process * __cdecl16far KeyboardProcess_CreateProcess(struct Process * p_proc) + + + + + + + + void __cdecl16far KeyboardProcess_HandleKeyEvent(struct Process * p_proc, int param_2, int param_3, struct KeyEvent * keyevent) + + + + + + + + + + + + + + void __cdecl16far KeyboardProcess_Clear(void) + + + + + + void __cdecl16far KeyboardProcess_Set(struct Process * p_proc) + + + + + + + + struct KeyEvent * __cdecl16far Keyboard_GetLastKeyEvent(struct KeyEvent * keyevent, undefined4 param_2) + + + + + + + + + void __cdecl16far nullfn_11b8_04c0(void) + + + + + + + + + + + + + + void __cdecl16far Mouse_InterruptHandler(word condition_mask, word button_state, word cursor_col, word cursor_row, word h_mickeys, word v_mickeys) + + + + + + + + + + + + void __cdecl16far Mouse_InitStuff(void) + + + + + + + + + + + + + + void __cdecl16far Mouse_SetCursorPos(word column, word row) + + + + + + + + + void __cdecl16far Mouse_SetHCursorRange(word mincolumn, word maxcolumn) + + + + + + + + + void __cdecl16far Mouse_SetVCursorRange(word minrow, word maxrow) + + + + + + + + + void __cdecl16far Mouse_DefinePixelRatio(word hratio, word vratio) + + + + + + + + + + + + + + + + + + int __cdecl16far Priority_11b8_0668(byte * param_1) + + + + + + + undefined __cdecl16far Priority_11b8_0696(byte * param_1, byte param_2) + + + + + + + + + struct Process * __stdcall16far SystemTimerProcess_CreateProcess(struct Process * p_proc) + + + + + + + + undefined __cdecl16far SystemTimerProcess_Increment(struct Process * p_proc) + + + + + + + + + + + + void __cdecl16far SystemTimer_SetProcess(struct Process * ptr) + + + + + + + undefined __cdecl16far FUN_11c0_0141(struct Process * p_proc, undefined2 param_2, undefined2 param_3) + + + + + + + + + + + + struct Process * __stdcall16far AccWait_CreateProcess(struct Process * p_proc, uint param_2, uint param_3, int itemno) + + + + + + + + + + + + void __cdecl16far AccWait_11c0_0249(struct Process * p_proc) + + + + + + + undefined __cdecl16far AccWait_11c0_0273(struct Process * p_proc) + + + + + + + + void __cdecl16far AccWaitProcess_Run(struct Process * p_proc) + + + + + + + + + + + + + + + + + + struct Process * __stdcall16far WaitProcess_CreateProcess(struct Process * p_proc, uint ticks, undefined2 param_3, int param_4) + + + + + + + + + + + void __cdecl16far WaitProcess_11c0_03f7(struct Process * p_proc) + + + + + + + + void __cdecl16far WaitProcess_11c0_0418(struct Process * p_proc) + + + + + + + undefined __cdecl16far WaitProcess_Run(struct Process * p_proc) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far FUN_11c0_072d(struct Process * param_1) + + + + + + + + void __cdecl16far nullfn_11c0_0748(void) + + + + + + void __cdecl16far FUN_11c0_074d(struct Process * param_1, uint param_2) + + + + + + + + + void __cdecl16far KeyEvent_Clear(struct KeyEvent * ptr) + + + + + + + undefined __cdecl16far KeyEvent_FillCharVal(struct KeyEvent * keyevent) + + + + + + + + bool __cdecl16far KeyEvent_IsScanInSpecialVals(struct KeyEvent * kevent) + + + + + + + + bool __cdecl16far KeyEvent_IsShiftDown(struct KeyEvent * keyevent) + + + + + + + + bool __cdecl16far KeyEvent_IsCtrlDown(struct KeyEvent * keyevent) + + + + + + + + bool __cdecl16far KeyEvent_IsAltDown(struct KeyEvent * keyevent) + + + + + + + undefined __cdecl16far Keyboard_11c8_01c6(byte * param_1, uint param_2) + + + + + + + + + + + + + + + byte __cdecl16far Keyboard_IsKeyEventForOneOf(struct KeyEvent * keyevent, enum KeyScan key, ...) + + + + + + + + + + + + struct Process * __cdecl16far BiosTimer_CreateProcess(struct Process * p_proc) + + + + + + + undefined __cdecl16far FUN_11c8_03a5(word * object, word a, word b, word c, word d) + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_11c8_03f8(void) + + + + + + + + + + + + + + void __cdecl16far Kernel_Init(void) + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Kernel_Uninit(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + byte __cdecl16far Kernel_11d0_0716(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Intrinsic 0EF + + + + + + + + + + + + + + int __cdecl16far Process_GetProcessCountForItemAndType(int itemno, int proctype) + + + + + + + + + + + + int __cdecl16far Kernel_GetNextFreeProcId(void) + + + + + + + + + + + + int __cdecl16far Kernel_AddProcess(struct Process * p_proc) + + + + + + + + + + + + struct Process * __stdcall16far Kernel_GetProcessPtr(uint procid) + + + + + + + + + + struct Process * __stdcall16far Process_GetProcById(uint procno) + + + + + + + + Intrinsic 06C + void __cdecl16far Kernel_ResetRef(word itemno, word processtype) + + + + + + + + + void __cdecl16far Kernel_11d0_0c7d(void) + + + + + + + + + + + + void __cdecl16far Kernel_DoResetRef(int itemno, int processtype, byte param_3) + + + + + + + + + + + void __cdecl16far Kernel_11d0_0e64(uint param_1, byte param_2, ...) + + + + + + + + + void __cdecl16far Kernel_11d0_102e(uint param_1) + + + + + + + + void __cdecl16far Kernel_11d0_11fe(void) + + + + + + + + + + + + + Called from the interpreter by opcode 0x54 + void __cdecl16far Kernel_Implies(uint pid1, uint pid2) + + + + + + + + + + + + + struct Process * __stdcall16far Process_GetProcessForItemAndType(int itemno, int proctype) + + + + + + + + + + + + + + + + + + + struct Process * __stdcall16far Process_Get_11d0_151d(int itemno, int proctype) + + + + + + + + + struct Process * __stdcall16far FUN_11d0_15f2(void) + + + + + + + + + + + + + + + void __cdecl16far Kernel_11d0_1738(uint procid) + + + + + + + + + + + + + + + + + void __cdecl16far Kernel_SetProcLinear(struct Process * p_proc) + + + + + + + + void __cdecl16far Kernel_TerminteProcessByPid(uint procid) + + + + + + + + + + + + void __cdecl16far Kernel_ClearProcessSomethingAndName(int procno) + + + + + + + + void __cdecl16far Kernel_11d0_19b5(char param_1) + + + + + + + + void __cdecl16far Process_11d0_19cd(struct Process * p_proc) + + + + + + + + byte __cdecl16far Process_11d0_19ec(struct Process * p_proc) + + + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far Kernel_SetLastProcessAllocSize(int val) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Kernel_11d0_1dcc(void) + + + + + + + + + + + + + + + + void __cdecl16far Kernel_ResetKeyboardStates(void) + + + + + + + + + undefined __cdecl16far Kernel_11d0_203e(dword param_1, undefined2 param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Timer_SetCounterDivisor(uint param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Kernel_RegisterProcForTimerEvents(int procid, byte flag) + + + + + + + + + void __cdecl16far Kernel_UnregisterForTimerEvents(int procid) + + + + + + + + + + + + void __cdecl16far Kernel_11d0_2faa(void) + + + + + + + + + + + + void __cdecl16far Kernel_11d0_300b(void) + + + + + + + + + + + + + void __cdecl16far FUN_11d0_307d(void) + + + + + + + + + + void __cdecl16far FUN_11d0_30e5(uint param_1, uint param_2) + + + + + + + + + void __cdecl16far FUN_11d0_31cf(uint param_1, int param_2, undefined * param_3, uint param_4) + + + + + + + + + + + void __cdecl16far FUN_11d0_3232(void) + + + + + + void __cdecl16far FUN_11d0_3248(void) + + + + + + + + + + + + + + + + void __cdecl16far Kernel_ClearPendingKeyboardEvents(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int __cdecl16far Keyboard_GetKeyState_11d0_39b9(enum KeyScan keycode, byte someflag) + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_11d0_3a3c(void) + + + + + + + + + byte __cdecl16far FUN_11d0_3a74(void) + + + + + + + + byte __cdecl16far FUN_11d0_3aad(void) + + + + + + struct KeyEvent * __stdcall16far Kernel_GetPendingKeyboardEvent(struct KeyEvent * keyevent) + + + + + + + + + void __cdecl16far Kernel_RegisterForKeyboardEvents(struct Process * p_proc) + + + + + + + + void __cdecl16far Kernel_UnregisterForKeyboardEvents(struct Process * p_proc) + + + + + + + + void __cdecl16far Kernel_CallProcKeyboardInterrupts(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Kernel_11d0_3da0(void) + + + + + + + + + + void __cdecl16far FUN_11d0_3e0b(uint itemno) + + + + + + + + void __cdecl16far FUN_11d0_3e44(uint param_1) + + + + + + + + void __cdecl16far FUN_11d0_3e7f(int itemno) + + + + + + + + undefined2 __cdecl16far FUN_11d0_3eb4(uint param_1) + + + + + + + + void __cdecl16far ItemProcess_NewProcTypeForItem(int itemno, char proctype) + + + + + + + + + void __cdecl16far FUN_11d0_3f22(int itemno, char proctype) + + + + + + + + + + + + void __cdecl16far FUN_11d0_3f59(int prev_itemno, int proctype) + + + + + + + + + word __cdecl16far FUN_11d0_3f95(int npcno, char param_2) + + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far Mouse_CallProcMouseInterrupts(word conditionmask, word buttonstate, word col, word row) + + + + + + + + + + + + + + + + + void __cdecl16far Kernel_RegisterForMouseEvents(struct Process * param_1) + + + + + + + + void __cdecl16far Kernel_UnregisterForMouseEvents(struct Process * p_proc) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + struct Process * __stdcall16far Process_Init(struct Process * p_proc) + + + + + + + + struct Process * __stdcall16far Process_AllocSpace(word size) + + + + + + + + void __cdecl16far Process_AssertNotTerminating(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_SetItemNo(struct Process * p_proc, int itemno) + + + + + + + + + void __cdecl16far Process_SetProcType(struct Process * p_proc, int proctype) + + + + + + + + + void __cdecl16far Process_11e0_02a8(struct Process * p_proc, byte param_2) + + + + + + + + + void __cdecl16far Process_Sleep(struct Process * p_proc, dword sleeptime) + + + + + + + + undefined __cdecl16far FUN_11e0_0353(struct Process * param_1) + + + + + + + + + + + + + + + + + + void __cdecl16far Process_11e0_0405(struct Process * p_proc) + + + + + + + + + void __cdecl16far FUN_11e0_046b(struct Process * param_1) + + + + + + + + + undefined __cdecl16far Process_TerminateProc(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_11e0_058e(struct Process * param_1) + + + + + + + undefined __cdecl16far Process_11e0_05b2(struct Process * param_1) + + + + + + + + void __cdecl16far Process_SetTerminating(struct Process * p_proc) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_11e0_0a43(ulong param_1, uint param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Process_11e0_0cb3(struct Process * p_proc, uint procid2) + + + + + + + + + + + + + + void __cdecl16far Process_11e0_0d52(struct Process * pproc, uint procid) + + + + + + + + + + + + + + void __cdecl16far Process_SetIsWaiting(struct Process * p_proc, uint pid) + + + + + + + + + void __cdecl16far Process_SetHasWaiter(struct Process * p_proc, uint waiterpid) + + + + + + + + + struct Process * __stdcall16far Process_WaitFor(struct Process * proc_1, struct Process * proc_2) + + + + + + + + + + void __cdecl16far Process_11e0_0fee(struct Process * proc1, struct Process * proc2) + + + + + + + + + + proc2 will wait for proc1 + struct Process * __stdcall16far Process_WaitFor(struct Process * p_proc1, struct Process * p_proc2) + + + + + + + + + like waitfor + struct Process * __stdcall16far Process_Chain(struct Process * param_1, struct Process * param_2) + + + + + + + + + + uint __cdecl16far Process_WaitForPid(struct Process * proc1, uint procid) + + + + + + + + + + + void __cdecl16far Process_Terminate(struct Process * p_proc, dword result) + + + + + + + + + void __cdecl16far Process_Fail(struct Process * p_proc, dword result) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Process_SetLinear(struct Process * p_proc) + + + + + + + undefined __cdecl16far Process_11e0_127c(struct Process * param_1) + + + + + + + + void __cdecl16far Process_SetIsDaemon(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_SetLinear(struct Process * p_proc) + + + + + + + + void __cdecl16far Proc_ClearLinear(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_SetTerminatedState(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_11e0_13a7(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_LoadMaybe_11e0_1400(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_SaveProbably_11e0_143d(struct Process * p_proc) + + + + + + + undefined __cdecl16far Process_11e0_147c(struct Process * param_1, undefined2 param_2, undefined2 param_3) + + + + + + + + + + + + + + + + + + + + struct Process * __cdecl16far Process_Create_0x36byte(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_11e0_1548(ulong param_1, uint procid) + + + + + + + + + + + void __cdecl16far Process_11e0_15ab(struct Process * p_proc1, uint procid2) + + + + + + + + + void __cdecl16far Process_11e0_160e(struct Process * param_1) + + + + + + + + void __cdecl16far Process_UnregisterForInterruptEvents(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_RegisterForMouseEvents(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_UnregisterForMouseEvents(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_RegisterForKeyboardEvents(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_UnregisterForKeyboardEvents(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_SetKeyboardInterruptFlag(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_ClearKeyboardInterruptFlag(struct Process * param_1) + + + + + + + + undefined4 __cdecl16far Process_Init0x40ByteProc(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_Set_MaybeTimesPerSecond(struct Process * pproc, uint param_2) + + + + + + + + undefined __cdecl16far FUN_11e0_18c7(struct Process * p_proc, undefined2 param_2, undefined2 param_3) + + + + + + + + + + + + + + + + + + void __cdecl16far Process_RegisterForTimerEvents(struct Process * p_proc, byte flag) + + + + + + + + + void __cdecl16far Process_UnregisterForTimerEvents(struct Process * p_proc) + + + + + + + + void __cdecl16far Process_11e0_19e6(struct Process * p_proc) + + + + + + + undefined __cdecl16far Process_11e0_1a33(struct Process * p_proc) + + + + + + + + + void __cdecl16far Process_11e0_1a7e(struct Process * p_proc, uint param_2) + + + + + + + + + void __cdecl16far Process_11e0_1acc(struct Process * p_proc, uint param_2) + + + + + + + + + void __cdecl16far Process_11e0_1b1a(struct Process * p_proc, uint param_2) + + + + + + + + + uint __cdecl16far MList_11e8_0000(undefined4 param_1, uint param_2, word param_3) + + + + + + + + + undefined __cdecl16far MList_11e8_01a3(int * param_1) + + + + + + + + void __cdecl16far MList_11e8_01ec(struct Process * p_proc, uint param_2) + + + + + + + + + uint __cdecl16far FUN_11e8_0238(ulong param_1, int param_2) + + + + + + + + + uint __cdecl16far MList_11e8_02ab(ulong fnptr, word param_2) + + + + + + + + + uint __cdecl16far MList_11e8_03af(int * param_1, int param_2) + + + + + + + + + uint __cdecl16far MList_GetInt16(byte * list, uint offset) + + + + + + + + + void __cdecl16far MList_11e8_051b(uint * param_1, uint param_2, undefined2 param_3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint * __stdcall16far MList_11e8_0673(uint * param_1, ulong fnptr, uint param_3, uint * param_4) + + + + + + + + + + + + void __cdecl16far MList_11e8_074e(undefined4 param_1, int nitems) + + + + + + + + + + + + + + + + + + + + + + + + + + struct Process * __stdcall16far StdIntHAndler_CreateProcess(struct Process * p_proc) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far List_RemoveUint16(ulong plist, int val) + + + + + + + + + + + uint __cdecl16far List_AddUint16(int * param_1, int procid) + + + + + + + + + void __cdecl16far DosSetInterruptHandler(byte int_no, word inthandler_offset, word inthandler_segment) + + + + + + + + + + dword __cdecl16far DosGetInterruptVector(byte int_no) + + + + + + + + + void __cdecl16far FUNSetInterruptStuff_11f0_0460(byte param_1) + + + + + + + + + + + + + + + + + + + + + + + + + struct Process * __stdcall16far MusicProcess_CreateProcess(struct Process * p_proc) + + + + + + + + + void __cdecl16far nullfn_11f8_00a4(void) + + + + + + + + + + + + + + char * __stdcall16far Music_GetMusicPath(int trackno) + + + + + + + + intrinsic 012 + void __cdecl16far Music_PlayTrackNo(int track) + + + + + + + + + + + + + + + + + + + Intrinsic 090 + + + + + + void __cdecl16far Music_SetMusicInitialized(void) + + + + + + void __cdecl16far Music_SetMusicUninitialized(void) + + + + + + void __cdecl16far Music_SetGlobalAndPlay11f8_0262(int trackno) + + + + + + + + + + + + + + + + void __cdecl16far Music_11f8_02bf(undefined4 param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far GetDescriptorTables(word * param_1, word * param_2, word * param_3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1218_059b(int param_1, undefined2 param_2, undefined2 param_3, undefined2 param_4, undefined2 param_5, ushort param_6, undefined2 param_7) + + + + + + + + + + + + + undefined __cdecl16far FUN_1218_064a(word param_1, word param_2, word param_3, dword param_4, undefined2 param_5, undefined2 param_6, ushort int_no, undefined2 param_8) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1218_07af(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far SetuRam1478866aToVal(dword param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1220_0000(int * param_1, uint param_2) + + + + + + + + + void __cdecl16far Fastflex_1220_0070(struct File * param_1, char * param_2, int param_3, int param_4) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dword * __cdecl16far File_MallocOrInit8Bytes(dword * param_1) + + + + + + + + undefined2 __cdecl16far File_FileOpen(struct File * param_1, char * param_2, undefined2 param_3, undefined1 param_4) + + + + + + + + + + + void __cdecl16far File_SetName(struct File * f, char * str) + + + + + + + + + + + + + + + + void __cdecl16far File_Open_1228_016a(struct File * file, char * name, int param_3, char param_4) + + + + + + + + + + undefined __cdecl16far File_CloseFile(struct File * f) + + + + + + + + void __cdecl16far dos_lseek_2(undefined2 * param_1, uint param_2, uint param_3, uint param_4) + + + + + + + + + + + + void __cdecl16far File_SeekAndRead(struct File * file, byte * buf, word nbytes, word something, long offset) + + + + + + + + + + + + void __cdecl16far File_SeekAndWrite(struct File * file, byte * data, ulong nbytes, long offset) + + + + + + + + + + + void __cdecl16far File_Seek_1228_0556(undefined2 * param_1) + + + + + + + + + + + + + + + void __cdecl16far dos_fflush(word param_1, word param_2) + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far dos_lseek(word param_1, word param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + byte __cdecl16far dos_flock_1228_09ea(word param_1, word param_2, word param_3, word param_4, word param_5, word param_6) + + + + + + + + + + + + + byte __cdecl16far dos_flock(word param_1, word param_2, word param_3, dword param_4, word param_5) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far SomehowSkipWhitespace(dword ptr) + + + + + + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far FUN_1230_02a7(dword param_1, undefined1 param_2) + + + + + + + + + + + + + + + + void __cdecl16far FUN_1230_0384(dword param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far Filepars_1230_05b1(word p2, word p3, ImageBaseOffset32 p4) + + + + + + + + + + char * __stdcall16far Filespec_GetFullPath(char * cdletter, char * path, char * filename, char * extn) + + + + + + + + + + + void __cdecl16far Filespec_1238_032e(char * param_1, char * param_2, undefined2 param_3) + + + + + + + + + + byte * __stdcall16far FUN_1238_056a(byte * param_1) + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1238_06eb(ulong param_1, uint param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + bool __cdecl16far memcmp_8(char * s1, char * s2) + + + + + + + + + void __cdecl16far Flex_Write_1240_0028(struct File * file, char * name, int param_3) + + + + + + + + + + dword * __stdcall16far Flex_LoadProbably_1240_00e7(dword * fileobject, char * fname, word param_3, word param_4) + + + + + + + + + + + + void __cdecl16far Flex_Load(struct File * dest, char * name, int mode, int entry) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dword __stdcall16far Flex_1240_0252(undefined4 param_1, int param_2) + + + + + + + + + + + void __cdecl16far Flex_1240_02a8(struct File * param_1, dword param_2, undefined2 param_3, ulong param_4, long param_5) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1240_049e(dword param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Flex_Read_Probably_1240_05a8(struct File * file) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined2 __cdecl16far FUN_1240_0952(ulong param_1) + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1248_00c2(void * param_1, uint param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Basepal_1258_0000(struct Palette * pal, undefined maybefirstcol, int ncols) + + + + + + + undefined __cdecl16far Palette_Free(struct Palette * pal, undefined2 free_pal_struct) + + + + + + + + + void __cdecl16far FUN_1258_00c7(long * param_1, uint param_2, uint param_3) + + + + + + + + + + void __cdecl16far Palette_SetVideoCardPalette(struct Palette * paldata, int firstcol, int lastcol) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Palette_BlendParam1ToGreyscale(uint * param_1, struct Palette * pal) + + + + + + + + + + + + + + + void __cdecl16far Palette_SetAllColorsToVal(struct Palette * pal, byte[3] color) + + + + + + + + + + void __cdecl16far Palette_SetColorData(struct Palette * pal, byte * colbuf, byte firstcol, int ncols) + + + + + + + + + + + void __cdecl16far Palette_ReadFile(struct Palette * pal, char * path, long param_3) + + + + + + + + + undefined __cdecl16far Palette_Clear(struct Palette * pal) + + + + + + + + void __cdecl16far Palette_Transform_RGB_To_YIQ(struct Palette * pal) + + + + + + + + + + + + + + + + + undefined2 __cdecl16far FUN_1268_00c7(int * param_1, int param_2, int param_3) + + + + + + + + + + void __cdecl16far Rect_FindOverlap(struct Rect * rect1, struct Rect * rect2) + + + + + + + + + undefined2 __cdecl16far FUN_1268_01b9(int * param_1, int * param_2) + + + + + + + + + + + + + + + + byte __cdecl16far World_IsObjectEntirelyVisible(struct Rect * viewport, struct Rect * object) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + byte __cdecl16far SuperVGAGetModeInfo(undefined2 param_1, undefined4 param_2) + + + + + + + + + byte __cdecl16far SuperVGAGetInfo(undefined4 param_1) + + + + + + + + void __cdecl16far FUN_1270_002b(undefined4 param_1, long param_2, long param_3, undefined param_4) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1270_0171(ulong param_1, long param_2, long param_3, long param_4, long param_5, uint param_6) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far VPort_1278_0000(struct ViewPort * param_1) + + + + + + + + + + + + void __cdecl16far VPort_1278_0093(struct ViewPort * structPtr, uint param_2, int xmin, int ymin, int xmax, int ymax, long ptr) + + + + + + + + + + + + + + void __cdecl16far FUN_1278_017b(struct ViewPort * pviewport) + + + + + + + + void __cdecl16far FUN_1278_020a(uint * param_1, uint param_2) + + + + + + + + + struct ViewPort * __stdcall16far FUN_1278_0238(struct ViewPort * pviewport, undefined2 param_2, undefined2 param_3) + + + + + + + + + + byte * __stdcall16far VPort_1278_0270(uint * param_1, int probably_x, int probably_y) + + + + + + + + + + + void __cdecl16far FUN_1278_02f6(dword param_1, uint param_2, uint param_3, uint param_4, uint param_5, undefined param_6) + + + + + + + + + + + + void __cdecl16far Vport_1278_0616(ulong param_1, char param_2, word param_3, word param_4, word param_5, word param_6) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1278_083a(int * ptr1, int * ptr2, int param_3, int param_4, int param_5, int param_6) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1280_0291(void) + + + + + + + + + + + + + + + + dword __cdecl16far Memory_malloc_1288_0000(word size) + + + + + + + + dword __cdecl16far Memory_1288_0029(word param_1, word param_2) + + + + + + + + + void __cdecl16far Memory_ProbablyFree_1288_004f(int * param_1) + + + + + + + undefined __cdecl16far MemoryProbablyFree_1288_007a(void * param_1) + + + + + + + + word __cdecl16far MemoryJustReturn2(void) + + + + + + word __cdecl16far MemoryJustReturn2_2(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far dos_far_malloc_maybe_1288_0e6b(ulong param_1, word param_2, int param_3) + + + + + + + + + + void __cdecl16far FUN_1288_0fc3(undefined1 param_1) + + + + + + + + + void __cdecl16far Memory_ProbablyFree_1288_1024(void * param_1, word param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + byte * __cdecl16far FUN_1290_0000(dword param_1) + + + + + + + + + int * __cdecl16far FUN_1290_0033(word param_1) + + + + + + + + dword __cdecl16far FUN_1290_005f(word param_1, word param_2) + + + + + + + + + dword __cdecl16far FUN_1290_007d(uint param_1) + + + + + + + + + void __cdecl16far FUN_1290_0096(byte * param_1, undefined4 param_2) + + + + + + + + + + + + + + + + + + + + + + + + + dword __stdcall16far FUN_1290_0163(undefined2 param_1, undefined2 param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_1290_0223(void) + + + + + + dword __stdcall16far FUN_1290_0228(byte * param_1) + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1290_02ae(undefined2 * param_1, ulong param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_12b0_0000(undefined4 * param_1, undefined4 * param_2, ulong param_3) + + + + + + + + + + + + + + + + + void __cdecl16far FUN_12b0_0066(undefined4 param_1, undefined4 param_2) + + + + + + + + + void __cdecl16far FUN_12b0_00c1(undefined4 param_1, undefined4 param_2) + + + + + + + + + void __cdecl16far FUN_12b0_011c(ulong param_1, long param_2, ulong param_3) + + + + + + + + + + void __cdecl16far FUN_12b0_01b8(ulong param_1, long param_2, ulong param_3) + + + + + + + + + + void __cdecl16far FUN_12b0_0254(dword param_1, dword param_2, dword param_3) + + + + + + + + + + void __cdecl16far FUN_12b0_0286(dword param_1, dword param_2, dword param_3) + + + + + + + + + + void __cdecl16far FUN_12b0_02b8(dword param_1, undefined2 param_2, undefined2 param_3) + + + + + + + + + + void __cdecl16far FUN_12b0_02e8(undefined4 param_1, undefined4 param_2) + + + + + + + + + void __cdecl16far FUN_12b0_0318(undefined4 param_1, long param_2) + + + + + + + + + void __cdecl16far FUN_12b0_039d(dword param_1, undefined2 * param_2) + + + + + + + + + void __cdecl16far FUN_12b0_03d1(int * param_1) + + + + + + + + word __cdecl16far FUN_12b0_0441(long * param_1, long * param_2) + + + + + + + + + void __cdecl16far FUN_12b0_048c(undefined4 param_1, long * param_2) + + + + + + + + + + + + + + + + + void __cdecl16far FUN_12b8_0000(undefined2 * param_1, uint param_2) + + + + + + + + + word * __stdcall16far FUN_12b8_002a(word * param_1) + + + + + + + + void __cdecl16far FUN_12b8_0071(int * param_1, byte param_2) + + + + + + + + + void __cdecl16far FUN_12b8_015c(dword param_1, byte * param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined2 __cdecl16far FUN_12b8_02aa(int * param_1) + + + + + + + + void __cdecl16far FUN_12b8_02d7(ulong param_1, undefined2 param_2, undefined2 param_3, char * fmtstr, ...) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_12b8_0492(dword param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_12c0_006e(undefined4 param_1, long param_2) + + + + + + + + + void __cdecl16far FUN_12c0_00c2(dword param_1, dword param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_12c0_01bd(undefined4 param_1, long param_2, long param_3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Pfloat_Init(char * fname) + + + + + + + + void __cdecl16far Pfloat_Uninit(void) + + + + + undefined __cdecl16far Pfloat_12c8_0157(long * result, undefined4 x, undefined4 y) + + + + + + + + + + + long * __cdecl16far Pfloat_12c8_01eb(long * result, long * x, long y) + + + + + + + + + + + + void __cdecl16far Pfloat_Multiply(long * result, long * param_2, int param_3) + + + + + + + + + + + void __cdecl16far Pfloat_12c8_0340(long * result, long * param_2, int param_3) + + + + + + + + + + void __cdecl16far Pfloat_12c8_0400(long * result, long * param_2, long param_3) + + + + + + + + + + void __cdecl16far Pfloat_12c8_049f(long * result, long * param_2, long * param_3) + + + + + + + + + + void __cdecl16far Pfloat_12c8_0579(long * result, long * param_2, int param_3) + + + + + + + + + + void __cdecl16far Pfloat_12c8_061d(long * result, long * param_2, int param_3) + + + + + + + + + + void __cdecl16far Pfloat_Sin(long * result, long * angle) + + + + + + + + + void __cdecl16far Pfloat_Cos(long * result, long * angle) + + + + + + + + + void __cdecl16far Pfloat_Cos2(long * result, long * angle) + + + + + + + + + void __cdecl16far nullfn_12c8_09c1(void) + + + + + + + + + + + + + + + + + + + + + void __cdecl16far AssertError(char * filename, word lineno) + + + + + + + + + void __cdecl16far halt_on_error_12d0_014d(char * msg, word lineno, char * param_3, ...) + + + + + + + + + + void __cdecl16far PrintDebugAndExit(char * param_1, word param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far ConsolePrintf(word lvl, char * msg, ...) + + + + + + + + + + + + + + + + + + + + + void __cdecl16far DebugPrintAndWaitForInput(int level, char * msg, word param_3) + + + + + + + + + + + + + + + + + + + + + + short __cdecl16far RandomInt(void) + + + + + + void __cdecl16far Random_SetSeed(uint param_1, int param_2) + + + + + + + + + dword __stdcall16far Get_RandomSeed(void) + + + + + + uint __cdecl16far RandomVal(uint max) + + + + + + + + void __cdecl16far System_12d0_0513(dword param_1) + + + + + + + + void __cdecl16far SuperVGA_CheckAndSetVideoMode(undefined2 param_1_00, undefined2 param_2, ulong param_3) + + + + + + + + + + void __cdecl16far SuperVGA_GetCurrentModeAndFontInfo_12d0_061f(void) + + + + + + + + void __cdecl16far nullfn_0651(void) + + + + + + void __cdecl16far FUN_12d0_0656(byte param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int __cdecl16far File_Exists(char * fname) + + + + + + + + + + + + + + + + + + int __cdecl16far RandomRange(int lo, int hi) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far DSFXMan_Uninit(void) + + + + + + void __cdecl16far Sound_PlaySFX_Intrinsics0AAand0D4(word sndno) + + + + + + + + + + + + + + + void __cdecl16far Sound_PlaySFX(dword param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Sound_StopAllSFX_Wrapper(void) + + + + + + void __cdecl16far Sound_StopAllSFX(void) + + + + + + void __cdecl16far nullfn_12d8_055b(void) + + + + + + + + + + + + + void __cdecl16far DSFXMan_InitIfEnabled(void) + + + + + + void __cdecl16far AssProcess_CreateIfNeeded(void) + + + + + + void __cdecl16far AssProcess_CreateProcess(struct Process * p_proc) + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far AssProcess_Run(void) + + + + + + void __cdecl16far AssProcess_UpdateDac(struct Process * p_proc, ulong param_2) + + + + + + + + + void __cdecl16far nullfn_12e0_014c(void) + + + + + + + + + + + + + + void __cdecl16far Init_ASS(int port, int irq, int dma, char * ass_init_info) + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUNFreeMusicData_12e0_02ba(struct MusicData * data) + + + + + + + + void __cdecl16far Music_Load(dword p_buffer, char * path) + + + + + + + + + void __cdecl16far Sound_InitManager(void) + + + + + + + + + + void __cdecl16far Sound_StopAllSFX(void) + + + + + + int __cdecl16far Sound_GetsChannelForSFX(long sfxid) + + + + + + + + void __cdecl16far Sound_PlaySoundSomething_12e8_0136(word sndno, word vol, word param_3, byte chan) + + + + + + + + + + + void __cdecl16far Sound_PlaySFX(dword param_1) + + + + + + + + byte __cdecl16far Sound_IsSFXPlaying(undefined4 sfx) + + + + + + + + + + + + + + + + + void __cdecl16far Sound_StopSFX(long sfxid) + + + + + + + + void __cdecl16far Sound_StopAllSFX(void) + + + + + undefined __cdecl16far Sound_12e8_0367(undefined2 param_1, byte param_2) + + + + + + + + + void __cdecl16far Sound_12e8_0428(void) + + + + + undefined __cdecl16far ASSCallbackFn(word callbackdata) + + + + + + + + void __cdecl16far Sound_Stop_12e8_04d8(int param_1) + + + + + + + + void __cdecl16far Sound_SetChannelForPlayingSFX(long sfxid, word volume) + + + + + + + + + int __cdecl16far Sound_GetSoundnoMaybe_12e8_057a(long sfxid) + + + + + + + + int __cdecl16far Sound_12e8_05bc(int sndno) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_12f0_0495(int param_1) + + + + + + + + int * __stdcall16far SndCache_LoadSound(int soundno) + + + + + + + + + void __cdecl16far SndCache_12f0_0707(ulong param_1, undefined2 param_2) + + + + + + + + + void __cdecl16far SndCache_12f0_094d(int param_1) + + + + + + + + void __cdecl16far FUN_12f0_0a3e(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far GumpCreate_12f8_024b(int * p_gump, undefined2 param_2, undefined2 param_3, byte param_4, int * parent, undefined2 param_6, undefined2 param_7, undefined2 param_8, undefined2 param_9, undefined param_10) + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_12f8_02e4(undefined2 * param_1, uint param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_12f8_0530(void) + + + + + + void __cdecl16far nullfn_12f8_0535(void) + + + + + + void __cdecl16far nullfn_12f8_053a(void) + + + + + + void __cdecl16far nullfn_12f8_053f(void) + + + + + + void __cdecl16far nullfn_12f8_0544(void) + + + + + + void __cdecl16far nullfn_12f8_0549(void) + + + + + + void __cdecl16far nullfn_12f8_054e(void) + + + + + + void __cdecl16far nullfn_12f8_0553(void) + + + + + + byte __cdecl16far return0_12f8_0558(void) + + + + + + + + + + + + + + + void __cdecl16far nullfn_12f8_0578(void) + + + + + + void __cdecl16far nullfn_12f8_057d(void) + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Vport_1300_018c(dword param_1, int x1, int y1, int x2, int y2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + struct Process * __stdcall16far BaseCameraProcess_CreateProcess(struct Process * p_proc) + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1300_0942(void) + + + + + + + + + void __cdecl16far VPort_1300_09fd(uint x1, uint y1, uint x2, uint y2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far GumpCreate_1308_01d0(int * p_gump, byte childno, int * parent) + + + + + + + + + + + + + + + + + + + int * __stdcall16far GumpCreate_1308_02a7(int * p_gump, byte param_2, int * parent) + + + + + + + + + + + + + + + + int * __stdcall16far GumpCreate_1308_032b(int * p_gump, byte param_2, int * parent) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int __cdecl16far FUN_1310_0000(undefined4 param_1) + + + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far CaFont_1310_0083(int * param_1, undefined1 param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + word * __stdcall16far CaFont_1310_0148(word * param_1, word param_2) + + + + + + + + + word * __cdecl16far CaFont_1310_01b1(word * param_1) + + + + + + + + + void __cdecl16far CaFont_Init(char * fontsflxpath) + + + + + + + undefined __cdecl16far CaFont_1310_028c(int * param_1, undefined2 param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __cdecl16far Combobox_1318_0000(int * p_gump, byte param_2, undefined2 param_3, undefined2 param_4, undefined2 param_5, undefined2 param_6, undefined2 param_7, undefined2 param_8, word param_9) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_1318_068d(void) + + + + + + void __cdecl16far nullfn_1318_0692(void) + + + + + + void __cdecl16far FUNInit_1320_0000(void) + + + + + + void __cdecl16far FUNUninit_1320_001b(void) + + + + + + struct Process * __stdcall16far Dispatcher_CreateProcess(struct Process * p_proc) + + + + + + + + + + + + + + + + + + + + + + + + + void __stdcall16far DisaptcherProc_Run(dword proc) + + + + + + + + void __cdecl16far DispatcherProcess_HandleKeyEvent(struct Process * p_proc, int param_2, int param_3, struct KeyEvent * keyevent) + + + + + + + + + + + + + uint __cdecl16far Dispatch_Init_320_0281(dword param_1, int param_2) + + + + + + + + + void __cdecl16far FUNUninit_1320_04c4(int * param_1, uint param_2) + + + + + + + + + void __cdecl16far FUNUninit_1320_04f8(undefined2 param_1, undefined2 param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int __cdecl16far Dispatch_incSomeGlobalandDidItGetTo25(undefined2 param_1, undefined2 param_2, dword param_3) + + + + + + + + + + void __cdecl16far FUN_1320_0935(undefined2 param_1, undefined2 param_2, int * param_3, undefined2 * param_4) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1320_0cbd(undefined2 param_1, undefined2 param_2, undefined4 param_3) + + + + + + + + + + + + + + + + + + void __cdecl16far Dispatch_AssertFail(void) + + + + + + void __cdecl16far FUN_1320_0d9a(undefined2 param_1, undefined2 param_2, uint param_3, uint param_4, uint param_5, uint param_6) + + + + + + + + + + + + + void __cdecl16far nullfn_1320_0df7(void) + + + + + + void __cdecl16far FUN_1320_0dfc(undefined2 param_1, undefined2 param_2, undefined2 param_3, undefined2 param_4) + + + + + + + + + + + + + + + void __cdecl16far Dispatch_1320_0e1f(dword param_1, dword param_2) + + + + + + + + + + + + + dword __cdecl16far FUN_1320_0ebc(dword param_1_00, uint * param_2, undefined2 param_3, int param_4) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + byte __cdecl16far return0_1320_12c0(void) + + + + + + void __cdecl16far nullfn_1320_12c7(void) + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far Dispatch_1320_132a(int * param_1, undefined4 param_2, undefined2 param_3, undefined2 param_4) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dword __stdcall16far Dispatch_ModalGump(undefined4 p_gump, int param_2, int param_3) + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_1320_172f(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far GumpCreate_1328_0000(int * p_gump, undefined2 param_2, undefined2 param_3, undefined param_4, int * parent) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_1328_064d(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1330_00ea(int * param_1, undefined2 * param_2, uint param_3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far GumpCreate_Filebox(int * p_gump, undefined2 param_2, undefined2 param_3, char * dir) + + + + + + + + + + + + + + + byte __cdecl16far Filebox_1330_0899(int * p_gump, char * path) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far FileBoxGump_GumpCreate(int * param_1, undefined2 param_2, undefined2 param_3, byte param_4, undefined2 param_5, undefined2 param_6, char * param_7, undefined2 param_8, undefined2 param_9) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far GumpShape_Init(char * param_1) + + + + + + + + void __cdecl16far GumpShape_Uninit(void) + + + + + + int * __stdcall16far GumpShape_1338_0063(int * buf, char * path) + + + + + + + + + void __cdecl16far FUNFree_1338_00bc(dword param_1, uint param_2) + + + + + + + + + void __cdecl16far FUN_1338_0109(undefined2 param_1, undefined2 param_2, int param_3, int param_4, undefined2 param_5, undefined2 param_6, byte param_7) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far Gump_1338_0242(int * p_gump, int * param_2, word shapeno, word frameno) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far GumpCreate_1340_0000(int * p_gump, byte param_2, int * parent, undefined2 param_4, undefined2 param_5, undefined2 param_6, undefined2 param_7, undefined2 param_8, undefined2 param_9, undefined param_10, undefined2 param_11, undefined2 param_12) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1340_0706(ulong param_1, int param_2, char param_3) + + + + + + + + + + void __cdecl16far FUN_1340_075f(undefined4 param_1, undefined2 param_2, undefined2 param_3, undefined param_4, undefined2 param_5, undefined2 param_6) + + + + + + + + + + void __cdecl16far FUN_1340_079c(int * param_1) + + + + + + + + + + + + + + + + + + + + int __cdecl16far FUN_1340_096a(undefined4 param_1, int param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far Dialog_ShowMsg(int * param_1, undefined2 param_2, undefined2 param_3, undefined param_4, undefined2 param_5, undefined2 param_6, char * param_7, char param_8) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_1350_0407(void) + + + + + + struct Process * __stdcall16far MouseCtlProcess_CreateProcess(struct Process * p_proc, char * mouse_shp_path) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Mouse_SetDefaultRanges(void) + + + + + + void __cdecl16far MouseProcess_Run(void) + + + + + + void __cdecl16far MouseProcess_OnMouseEvent(struct Process * p_proc, undefined2 param_2, undefined2 param3, struct MouseEvent * mouseevent) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1358_0a46(dword param_1) + + + + + + + + void __cdecl16far FUN_1358_0a92(int * mouseshape) + + + + + + + + void __cdecl16far FUN_1358_0b92(undefined4 param_1, undefined2 param_2) + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1358_0cbd(int * param_1, uint param_2) + + + + + + + + + void __cdecl16far FUN_1358_0ce9(dword param_1, undefined2 param_2) + + + + + + + + + undefined2 __cdecl16far FUN_1358_0d06(dword param_1) + + + + + + + + void __cdecl16far Mousectl_LoadMouseShapes(char * param_1, char * mouse_shp_path) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1358_0fd6(dword param_1, int mousex_2, word mousey) + + + + + + + + + + void __cdecl16far FUN_1358_1108(void) + + + + + + void __cdecl16far FUN_1358_1120(void) + + + + + + + + + + int * __stdcall16far NewGump_Init_1360_0000(int * ptr, undefined2 param_2, uint param_3, uint param_4, dword result, int * param_6, uint param_7, uint param_8, uint param_9, uint param_10) + + + + + + + + + + + + + + + + + bool __cdecl16far NewGump_IsPtrOffsetCEqualTo1(int * ptr) + + + + + + + + bool __cdecl16far NewGumpIsPtrOffsetCEqualTo2(int * ptr) + + + + + + + + bool __cdecl16far NewGump_IsPtrOffsetCEqualTo3(int * ptr) + + + + + + + + bool __cdecl16far NewGumpIsPtrOffsetCEqualTo1(int * ptr) + + + + + + + + int * __stdcall16far FUN_1360_00c7(int * param_1) + + + + + + + undefined __cdecl16far FUN_1360_0113(int * param_1, undefined2 param_2) + + + + + + + + + void __cdecl16far FUN_1360_0161(undefined4 param_1, undefined4 p_gump) + + + + + + + + + void __cdecl16far FUN_1360_017a(undefined4 param_1, int param_2, int param_3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far FUN_1360_02a5(int * param_1, byte param_2) + + + + + + + + + + + undefined2 __cdecl16far FUN_1360_02e4(undefined2 param_1, undefined2 param_2, char param_3, long * param_4) + + + + + + + + + + + int __cdecl16far FUN_1360_031f(dword param_1, char param_2, char param_3) + + + + + + + + + + + + int * __stdcall16far GumpCreate_1360_036a(int * p_gump, undefined2 param_2, int param_3, undefined param_4, int * parent, undefined2 param_6, undefined2 param_7) + + + + + + + + + + void __cdecl16far FUN_1360_046e(undefined2 * param_1, uint param_2) + + + + + + + + + int * __stdcall16far NewGump_Alloc(word nbytes) + + + + + + + + void __cdecl16far NewGump_FreeProbably_1360_0562(int * p_gump) + + + + + + + + word __cdecl16far FUN_1360_0580(int * param_1) + + + + + + + + void __cdecl16far FUN_1360_05a6(int * param_1) + + + + + + + + void __cdecl16far FUN_1360_05d4(int * param_1, int param_2, int param_3, uint param_4, uint param_5, uint param_6, uint param_7) + + + + + + + + + + + + + + void __cdecl16far FUN_1360_078d(int * p_gump, int param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int __cdecl16far FUN_1360_0c00(undefined4 param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1360_0cb2(int * param_1, int * param_2) + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far NewGump_1360_0f2a(int * p_gump, int param_2, ...) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1360_1253(uint param_1, uint param_2, uint param_3, uint param_4) + + + + + + + + + + + + + + + void __cdecl16far FUN_1360_1297(int * pgump1, int * pgump2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far GumpCreate_1370_0000(int * p_gump, byte childno, int * parent, uint shaepno) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far GumpCreate_1370_017e(int * p_gump, byte param_2, int * parent, undefined2 param_4) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined2 __cdecl16far FUN_1378_0d4c(int * param_1, byte param_2, int * p_gump, int param_4, int param_5, int param_6, int param_7, char param_8, int param_9) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far GumpCreate_MsgboxButton(int * p_gump, byte param_2, int * parent, char * str, byte shapeno) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far Gump_1388_0000(int * param_1, byte param_2, undefined2 param_3, undefined2 param_4, undefined2 param_5, undefined2 param_6, undefined param_7, byte param_8, undefined2 * param_9, uint param_10, undefined param_11, undefined param_12) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far Bark_1390_0000(int * param_1, undefined2 param_2, undefined2 param_3, undefined2 param_4, undefined4 param_5, char param_6, undefined2 param_7) + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Bark_1390_032c(ulong param_1) + + + + + + + + + + + + + + + void __cdecl16far FUN_1390_05e1(int * param_1) + + + + + + + + + + + + + + + void __cdecl16far FUN_1390_064c(int * param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_1390_092f(void) + + + + + + + + + + + + + + + + + Intrinsic 0FE + void __cdecl16far ComputerGump_Show(char * str) + + + + + + + + int * __stdcall16far ComputerGump_CreateGump(int * pgump, char * str) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far ComputerGump_CopyString(int * pgump, char * str) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far Debugump_13a0_19b1(int * param_1, undefined2 param_2, undefined2 param_3, undefined param_4) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_13a8_01e9(void) + + + + + + byte __cdecl16far FUN_13a8_01ee(undefined4 param_1, undefined2 param_2, undefined2 param_3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_13a8_0587(dword param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + struct Process * __stdcall16far CustomWaitProcess_CreateProcess(struct Process * p_proc, int seconds, int * param_3, int itemno, int proctype, undefined param_6) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_13b8_021a(struct Process * p_proc) + + + + + + + + int * __stdcall16far IRGump_13b8_0233(int * p_gump, undefined2 param_2, uint param_3, uint param_4, undefined2 param_5, undefined2 param_6, undefined2 param_7, undefined2 param_8, undefined2 param_9, undefined2 param_10, undefined2 param_11, undefined2 param_12, int param_13) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_13b8_096f(void) + + + + + + void __cdecl16far nullfn_13b8_0974(void) + + + + + + void __cdecl16far nullfn_13b8_0979(void) + + + + + + void __cdecl16far nullfn_13b8_097e(void) + + + + + + + + + + + + int * __cdecl16far GumpCreate_KeypadButton(int * p_gump, uint frameno, int * parent) + + + + + + + + + + + + + + + + undefined __cdecl16far Gump_KeypadButtonPress_13c0_0086(int * p_gump) + + + + + + + + + + + + + + + + + + + + Intrinsic 0C4 + void __cdecl16far KeypadGump_Show(uint targetval) + + + + + + + + + struct KeypadGump * __stdcall16far KeypadGump_GumpCreate(struct KeypadGump * p_gump, uint target_code, int param_3, int param_4) + + + + + + + + + + + + + + + + + + undefined __cdecl16far KeypadGump_OnButtonPress(struct KeypadGump * p_gump, undefined4 param_2) + + + + + + + + + + undefined __cdecl16far KeypadGump_DigitsToInt(struct KeypadGump * p_gump) + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far KeypadGump_CheckCode(struct KeypadGump * p_gump) + + + + + + + + + void __cdecl16far FUN_13c0_0a94(int * p_gump, uint param_2) + + + + + + + + + int * __stdcall16far GumpCreate_MainMenu(int * p_gump) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Game_OptionsGumpInput(int * param_1, undefined4 param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Game_OptionsGumpInput_(int * p_gump, undefined2 param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far GumpCreate_MainMenuButton(int * p_gump, byte childno, int * parent, uint shapeno, int * param_5) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far GumpCreate_DifficultyGumpButton(int * p_gump, byte childno, int * parent, uint shapeno, int * param_5) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_13c8_2f32(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_13c8_30d0(int * p_gump, uint param_2) + + + + + + + + + void __cdecl16far nullfn_13c8_310a(void) + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far Gump_13d0_000e(int * pgump, byte param_2) + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_13d0_0226(int * p_gump, uint param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined2 __cdecl16far U9Mouse_Init(int * param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Intrinsic 134 + void __cdecl16far Weasel_ShowGump(undefined2 param) + + + + + + + + void __cdecl16far Weasel_SetIntroMovieLowStock(void) + + + + + + void __cdecl16far Weasel_ClearIntroMovieLowStock(void) + + + + + + byte __cdecl16far Weasel_GetIntroMovieLowStock(void) + + + + + + int * __stdcall16far GumpCreate_Weasel(struct WeaselGump * p_gump, word initparam) + + + + + + + + + + + + + + + undefined __cdecl16far Weasel_13e0_0435(struct WeaselGump * p_gump, undefined2 param_2) + + + + + + + + + void __cdecl16far Weasel_13e0_0486(struct WeaselGump * p_gump) + + + + + + + + + + void __cdecl16far Weasel_ResetAfterPurchase(struct WeaselGump * p_gump) + + + + + + + + + + void __cdecl16far Weasel_OnPaint(struct WeaselGump * p_gump, int xoff, int yoff) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far Weasel_LoadData(struct WeaselGump * p_gump, undefined2 initparam) + + + + + + + + + + void __cdecl16far nullfn_13e0_0c70(void) + + + + + + void __cdecl16far nullfn_13e0_0c75(void) + + + + + + void __cdecl16far Weasel_ClampSelectedItemNo(struct WeaselGump * p_gump) + + + + + + + + void __cdecl16far Weasel_PlayMovie(struct WeaselGump * p_gump, char * * pmoviename, uint randomnum) + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_13e0_0e51(void) + + + + + + void __cdecl16far nullfn_13e0_0e56(void) + + + + + + void __cdecl16far Weasel_13e0_0e5b(struct WeaselGump * p_gump) + + + + + + + + + void __cdecl16far Weasel_SelectMovie(struct WeaselGump * p_gump, undefined4 param_2) + + + + + + + + + + + + + + void __cdecl16far Weasel_OnButtonPress_13e0_1098(struct WeaselGump * p_gump, undefined2 param_2) + + + + + + + + probably onkeyevent?? + + + + + + + + + byte __cdecl16far Weasel_HavePurchasedSelectedItem(struct WeaselGump * p_gump) + + + + + + + + int __cdecl16far Weasel_GetPurchasedCount(struct WeaselGump * p_gump, int shapeno) + + + + + + + + + uint __cdecl16far Weasel_GetNumberHeld(struct WeaselGump * p_gump, int shapeno) + + + + + + + + + + + uint __cdecl16far Weasel_CanBuyMoreOfItem(struct WeaselGump * pgump, int shapeno) + + + + + + + + + + + + + void __cdecl16far Weasel_TryPurchaseItem(struct WeaselGump * p_gump) + + + + + + + + + + + void __cdecl16far Weasel_ConfirmedPurchase(struct WeaselGump * p_gump) + + + + + + + + + + undefined __cdecl16far Weasel_NextItem(struct WeaselGump * p_gump) + + + + + + + undefined __cdecl16far Weasel_PreviousItem(struct WeaselGump * p_gump) + + + + + + + + int __cdecl16far Weasel_GetSomethingAboutShape_13e0_19d2(undefined2 shapeno) + + + + + + + + + + + + + Intrinsic 091 + void __cdecl16far SetMovieGlobal604e_Intrinsic091(void) + + + + + + Intrinsic 093 + void __cdecl16far ClearMovieGlobal604e_Intrinsic093(void) + + + + + intrinsic 094 + + + + + + + + + Intrinsic 072 + void __cdecl16far Game_SetSomethingLikeAvatarInStasis(void) + + + + + + intrinsic 075 + void __cdecl16far Game_ClearSomethingLikeAvatarInStasis(void) + + + + + + void __cdecl16far FUN_13e8_007d(void) + + + + + + + + + Intrinsic 0D3 + uint __cdecl16far FUNIntrinsic0D3_13e8_00a8(void) + + + + + + Intrinsic 0A6 + bool __cdecl16far Get_isCfgAnimationOff(void) + + + + + + byte __cdecl16far Weasel_CanAddMoreOf(int itemno) + + + + + + + + + + + + + Intrinsic 037 and 0B8 + byte __cdecl16far World_GiveItemToAvatar(word itemno, byte showtoast) + + + + + + + + + + + + + byte __cdecl16far FUN_13e8_0af8(int param_1) + + + + + + + + + + + + + + + + + + + void __cdecl16far Inventory_Cycle_Item(void) + + + + + + void __cdecl16far Inventory_PickNextItem(void) + + + + + + Intrinsic 074 + void __cdecl16far Game_ClrUnknownGlobalFlag6050(void) + + + + + + Intrinsic 070 + byte __cdecl16far Game_GetUnknownGlobalFlag6050(void) + + + + + + Intrinsic 071 + void __cdecl16far Game_SetUnknownGlobalFlag6050(void) + + + + + + + + + + void __cdecl16far FUN_13e8_0e7d(void) + + + + + + void __cdecl16far FUN_13e8_0ef9(void) + + + + + + + + + + + + + + undefined2 __cdecl16far FUN_13e8_0f77(undefined2 * param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far World_HandleKeyboardInput_13e8_14b4(undefined4 param_1, undefined4 keycode_) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_13e8_334e(undefined4 param_1) + + + + + + + + + + + + + + + + + void __cdecl16far Game_StartSelectingNearbyItems(int * param_1, byte grabflag) + + + + + + + + + + + + + + + void __cdecl16far Sprite_UseItem_13e8_3732(uint * pgump) + + + + + + + + void __cdecl16far FUN_13e8_3796(undefined4 param_1) + + + + + + + + + + + + + + void __cdecl16far Sprite_CreateUseCrosshairs(int * param1, int x, int y, char z) + + + + + + + + + + + + + + + void __cdecl16far Sprite_MoveUseItemCrosshairs(dword param_1, int x, int y, char z) + + + + + + + + + + + + + + + + + undefined2 __cdecl16far HelpGump_Create(int * p_gump) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_13e8_3ec3(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Credits_SetFadeOutFirst0x80ColsAtRate4(void) + + + + + + void __cdecl16far Credits_SetFadeInFirst0x80ColsAtRate4(void) + + + + + + void __cdecl16far SuperVGA_WaitForVTrace(void) + + + + + + void __cdecl16far Credits_LoadData(void) + + + + + + + + + + + void __cdecl16far Credits_Finish(void) + + + + + + void __cdecl16far Credits_Run(void) + + + + + + void __cdecl16far Credits_Step(void) + + + + + + + + + + void __cdecl16far SuperVGA_FadePaletteIfNeeded(void) + + + + + + void __cdecl16far SuperVGA_WaitForVTraceAndConfigurePaletteFade(struct Palette * pal, int first_colno, undefined2 ncols, undefined2 stepsize, enum PalFadeDirection steptype) + + + + + + + + + + + + + + void __cdecl16far SuperVGA_SetPaletteFadeIn(void) + + + + + + + + + + void __cdecl16far SuperVGA_SetPaletteFadeOut(void) + + + + + + + + + + + + + + + + + + int * __stdcall16far GumpCreate_QuickSaveLoadExitGump(int * p_gump, undefined2 param_2, undefined2 param_3, byte param_4, undefined2 param_5, undefined2 param_6, undefined2 param_7, undefined2 param_8, undefined2 param_9, int param_10, int param_11, int param_12, int param_13) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int * __stdcall16far FUN_13f8_0383(int * param_1, undefined2 param_2, undefined2 param_3, byte param_4, undefined2 param_5, undefined2 param_6, undefined2 param_7, undefined2 param_8, int param_9, int param_10) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far nullfn_13f8_05c6(void) + + + + + + void __cdecl16far nullfn_13f8_05cb(void) + + + + + + void __cdecl16far Joystick_Init(void) + + + + + + struct Process * __cdecl16far JoystickProcess_CreateProcess(struct Process * p_proc) + + + + + + + + void __cdecl16far Joystick_InitProcessData(struct Process * buf) + + + + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far JoystickProcess_Run(struct Process * param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Joystick_Init(void) + + + + + + void __cdecl16far Joystick_1400_0ae0(void) + + + + + + void __cdecl16far Joystick_1400_0af9(void) + + + + + + + + + + byte __cdecl16far FUN_1400_0c7e(void) + + + + + + + + + + + + + + + + + void __cdecl16far Debugger_1408_0053(undefined2 * param_1, int param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint __cdecl16far FUN_1408_029e(char * param_1, char * param_2, word param_3, word param_4) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Debugger_1408_03f7(uint * param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1408_046f(void) + + + + + + + + + + + + + + void __cdecl16far Flag_Init_1410_0051(undefined4 param_1, undefined param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Inter_1418_0000(uint * param_1, undefined2 param_2, undefined2 param_3) + + + + + + + + + + + + + + + + short __cdecl16far NumToStr(short num) + + + + + + + + + void __cdecl16far far_atoi2(char * s) + + + + + + + + + + + + + + + + uint * __stdcall16far Interpreter_1418_00e8(uint * param_1, uint * pitemno, uint param_3, uint param_4) + + + + + + + + + + + + + + + + + + + + called by usecode op 0x5a (init) + void __cdecl16far Usecode_InitOp(struct UsecodeProcess * p_proc, uint param_2) + + + + + + + + + + uint * __stdcall16far Inter_1418_0244(uint * param_1, uint * pitemno, undefined2 param_3, undefined2 param_4, undefined2 param_5, undefined2 param_6, undefined2 param_7, undefined2 param_8, undefined2 param_9, undefined2 param_10, undefined2 param_11, enum UsecodeEvent event) + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1418_034f(uint * param_1, int param_2) + + + + + + + + undefined __cdecl16far FUN_1418_035f(struct UsecodeProcess * p_proc, uint param_2, uint param_3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int __cdecl16far Interpreter_NextUsecodeOp(uint * p_proc, dword * result) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint * __stdcall16far UProcess_1420_0000(uint * param_1, undefined2 param_2, undefined2 param_3, uint param_4, int param_5, undefined2 param_6) + + + + + + + + + + + + + void __cdecl16far UsecodeProcess_1420_00cd(struct UsecodeProcess * p_proc, uint param_2) + + + + + + + + + void __cdecl16far FUN_1420_011b(undefined2 param_1, undefined2 param_2, undefined2 param_3, undefined2 param_4) + + + + + + + + + + + void __cdecl16far FUN_1420_0134(dword param_1, int param_2, int param_3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1420_0cb3(void) + + + + + + void __cdecl16far FUNUsecodeInitSomething_1420_0cdf(void) + + + + + + int __cdecl16far Item_GetUsecodeClassId(int * pitemno) + + + + + + + + byte __cdecl16far Usecode_ItemCallEvent(int * pitemno, ulong param_2, enum UsecodeEvent uc_event, uint * procid_out, dword ucparam) + + + + + + + + + + + + struct UsecodeProcess * __stdcall16far UsecodeProcess_CreateProcess(struct UsecodeProcess * p_proc, undefined2 param_2, undefined2 param_3, uint * pitemno, int param_5, int classid, enum UsecodeEvent usecode_event, undefined2 param_8, word * ucparam, uint ucparamsize) + + + + + + + + + + + + + + + + + void __cdecl16far UsecodeProcess_1420_10b6(struct UsecodeProcess * p_proc) + + + + + + + + void __cdecl16far UsecodeProcess_Run(struct UsecodeProcess * p_proc) + + + + + + + + void __cdecl16far UsecodeProcess_1420_1162(struct UsecodeProcess * p_proc) + + + + + + + + void __cdecl16far UsecodeProcess_1420_118f(struct UsecodeProcess * p_proc, dword param_2) + + + + + + + + + + void __cdecl16far UsecodeProcess_1420_1278(struct UsecodeProcess * p_proc, dword param_2) + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1420_1536(undefined4 param_1) + + + + + + + + void __cdecl16far FUN_1420_1575(int * param_1) + + + + + + + + + + + + + + + + uint __cdecl16far UProcess_1420_167c(ulong param_1, int param_2, undefined4 * param_3) + + + + + + + + + + + + + + + + + + + + + + + dword __stdcall16far UProcess_1420_19fd(ulong param_1, int param_2, int param_3) + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1420_1cca(ulong param_1) + + + + + + + + dword __stdcall16far FUN_1420_1d72(undefined2 param_1, undefined2 param_2, undefined2 param_3, undefined2 param_4, int param_5) + + + + + + + + + + + + + void __cdecl16far UProcess_1420_1d8d(dword param_1, int param_2, int param_3) + + + + + + + + + + + + + + undefined2 __cdecl16far UProcess_1420_1e17(ulong param_1, undefined2 * param_2) + + + + + + + + + byte __cdecl16far FUN_1420_1f24(int param_1, undefined2 param_2, int param_3, int param_4) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + pointer __cdecl16far UsecodeProcess_1420_20dd(struct UsecodeProcess * p_proc, uint param_2) + + + + + + + + + void __cdecl16far Yamm_Init(void) + + + + + + + + + + + + + char * __cdecl16far YammProbablyCreateUsecodeStr_1428_00e5(char * str) + + + + + + + + char * __cdecl16far Yamm_maybemalloc_1428_013e(uint size) + + + + + + + + + + + + + + + + void __cdecl16far Usecode_FreeVal(int param_1) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Yamm_1428_0501(undefined4 param_1, int param_2) + + + + + + + + + + + + + + + + + void __cdecl16far Usecode_FreeList(int * phead) + + + + + + + + + + byte __cdecl16far FUN_1428_0651(undefined4 param_1, undefined4 param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Usecode_StringList_0a9a(int * param_1, undefined2 param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1428_0d7a(int * param_1, uint param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + struct Process * __cdecl16far DumbTimer_CreateProcess(struct Process * p_proc) + + + + + + + undefined __cdecl16far DumbTimerProcess_Run(struct Process * p_proc) + + + + + + + + + + void __cdecl16far nullfn_1430_035e(void) + + + + + + + + + + + + + + void __cdecl16far CycleProcess_Resume(void) + + + + + + void __cdecl16far CycleProcess_Pause(void) + + + + + + struct CycleProcess * __stdcall16far CycleProcess_CreateProcess(struct CycleProcess * p_proc) + + + + + + + + void __cdecl16far CycleProcess_Run_nullfn(void) + + + + + undefined __cdecl16far CycleProcess_Update(struct CycleProcess * proc, undefined2 param_2) + + + + + + + + + + + + + + + + + + + void __cdecl16far SuperVGA_SetPaletteColor(dword param_1, byte r, byte g, byte b, byte param_5, byte col) + + + + + + + + + + + + + + + + byte __cdecl16far CycleProcess_CycleColorBasedOnFlags(struct CycleProcess * proc, byte * col1, byte * flags) + + + + + + + + + + + + + + + byte __cdecl16far FUN_1438_03fb(int * param_1_00, int param_2, int param_3, int param_4, uint param_5) + + + + + + + + + + + + + void __cdecl16far StdIntHandlerProcess_Clear_1438_0461(struct Process * proc) + + + + + + + + + + + + void __cdecl16far FUN_1438_0557(struct Process * param_1, uint param_2) + + + + + + + + + void __cdecl16far CycleProcess_Set(struct Process * p_proc) + + + + + + + + void __cdecl16far FadeProcess_Create(struct FadeProcess * p_proc, struct Palette * pal, int nsteps, undefined param_4, undefined2 param_5, undefined2 param_6) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + uint __cdecl16far Fade_Intrinsic09D_FadeToBlack(undefined2 nsteps) + + + + + + + + + + + + + + + + + + + + + + + + uint __cdecl16far FadeProcess_Create_3(int param_1) + + + + + + + + + + + + + + + + + + + + + + + Intrinsic 077 + + + + + + + + + + + + + + + + + + + + + + + + + + + uint __cdecl16far Fade_Intrinsic07A_FadeToGamePal40Steps(void) + + + + + + Intrinsic 08F + void __cdecl16far Fade_Intrinsic08F_SetPalToBlack(void) + + + + + + + + + + + + + Intrinsic 0DA + + + + + + + + + + + + + undefined __cdecl16far Palette_SetAllColorsToCol(byte r, byte g, byte b) + + + + + + + + + + + + + + + + + + + undefined __cdecl16far Fade_1440_095d(char r, char g, char b, undefined2 nsteps) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Fade_1440_0dfb(struct Palette * param_1, int param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far Fade_StopCycleAndTerminate(struct FadeProcess * p_proc) + + + + + + + + void __cdecl16far FUN_1440_0f67(struct Process * p_proc, uint param_2) + + + + + + + + + + + + + + + + + struct Process * __stdcall16far FlicWaitProcess_CreateProcess(struct Process * p_proc, undefined2 param_2, uint param_3) + + + + + + + + + + + + + + + + + + + undefined4 __cdecl16far FUNCreateProcess_1448_012a(struct Process * p_proc, undefined param_2, undefined param_3) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + struct Process * __cdecl16far Flicplay_CreateFlicProcess(struct Process * p_proc, char * skf_file, undefined2 param_3, undefined2 param_4) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far FlicWaitProcess_Run(struct Process * p_proc) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FUN_1450_00ec(void) + + + + + + void __cdecl16far Sound_ClearItemSFXData(void) + + + + + + + + + + int __cdecl16far Sound_FindFirstOpenItemSFXData_AmbientChannels(void) + + + + + + void __cdecl16far Sound_1450_01d0(void) + + + + + + void __cdecl16far SoundPlaySFXOnItem(uint snd, uint itemno) + + + + + + + + + void __cdecl16far SoundPlayAmbientSFXOnItem(uint sndno, uint itemno) + + + + + + + + + void __cdecl16far Sound_PlayAndSomething_1450_03ad(uint sndno, uint itemno) + + + + + + + + + void __cdecl16far Sound_StopItemSound(int sndno, int itemno) + + + + + + + + + void __cdecl16far Sound_ClearAllItemSFXForItemNo(int itemno) + + + + + + + + void __cdecl16far Sound_StopSoundForItemNo(int itemno) + + + + + + + + void __cdecl16far Sound_StopAllSFXForItemNo(int itemno) + + + + + + + + byte __cdecl16far Sound_IsItemPlayingSound(int soundno, int itemno) + + + + + + + + + + byte __cdecl16far Sound_1450_06c0(int sndno) + + + + + + + + void __cdecl16far FUN_1450_074b(void) + + + + + + + + + + + + + + void __cdecl16far Sound_StopItemSFX(long sfxno) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + dword __stdcall16far FUN_1460_0000(dword param_1, uint param_2, uint param_3, char param_4) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + struct Process * __stdcall16far VideoPlayer_CreateProcess(struct Process * p_proc, char * flicname, undefined2 param_3, undefined4 param_4, undefined2 param_5, undefined2 sizex, undefined2 sizey) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + undefined __cdecl16far VideoPlayer_Run(struct Process * p_proc) + + + + + + + + + + + + + + void __cdecl16far FUN_1468_2af4(struct Process * p_proc, char param_2) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far PlayFlicProbably_1468_3f77(char * fname, word sizex, word sizey, word d, word e, word f, word g) + + + + + + + + + + + + + + void __cdecl16far VideoPlayer_Run(char * fname, uint param_2, uint param_3, undefined2 param_4, undefined2 param_5_00, undefined2 param_6, undefined2 param_7) + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far FlicPlay_1468_4169(char * flicname, word sizex, word sizey) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + void __cdecl16far MytimerProcess_Run(void) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int __cdecl16far FUN_1470_05cc(undefined4 param_1, char * param_2) + + + + + + + + + void __cdecl16near nullfn(void) + + + + + + + + + + + + + + void __cdecl16far FUN_1470_0692(word param_1) + + + + + + + + + + word __cdecl16far _ASS_NotifySampleChange(void) + + + + + + byte __cdecl16far _ASS_IsChannelBusy(word channel) + + + + + + + + void __cdecl16far _ASS_SetSFXVolume(int channel, char vol) + + + + + + + + + void __cdecl16far _ASS_StopAllSFX(void) + + + + + + void __cdecl16far _ASS_StopSFX(word channel) + + + + + + + + void __cdecl16far _ASS_PlaySFX(dword buf, word channel, byte vol, word param_4, word param_5) + + + + + + + + + + + + word __cdecl16far _ASS_GetSoundVolume(void) + + + + + + void __cdecl16far _ASS_SetSoundVolume(word volume) + + + + + + + + void __cdecl16far _ASS_ResumeMusic(void) + + + + + + void __cdecl16far _ASS_PauseMusic(void) + + + + + + void __cdecl16far _ASS_StopMusic(void) + + + + + + void __cdecl16far _ASS_StartMusic(void) + + + + + + void __cdecl16far _ASS_PlayMusic(dword buf) + + + + + + + + word __cdecl16far _ASS_GetMusicVolume(void) + + + + + + void __cdecl16far _ASS_SetMusicVolume(word volume) + + + + + + + + word __cdecl16far _ASS_GetOversampling(void) + + + + + + void __cdecl16far _ASS_ClrOversampling(void) + + + + + + void __cdecl16far _ASS_SetOversampling(void) + + + + + + void __cdecl16far _ASS_RegisterCallback(dword callbackfn, byte * callbackdata) + + + + + + + + + + + + + void __cdecl16far _ASS_Uninit(void) + + + + + + void __cdecl16far _ASS_Init(char[9] ass_init_data) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + int __stdcall16far BORISREALINTR(dword stack_addr) + + + + + + + + ushort __stdcall16far DOSALLOCLINMEM(ulong size, dword lin_addp) + + + + + + + + + ushort __stdcall16far DOSALLOCREALSEG(ulong size, dword parap, dword selp) + + + + + + + + + + ushort __stdcall16far DOSCREATEDSALIAS(ushort sel, dword aselp) + + + + + + + + + ushort __stdcall16far DOSFREELINMEM(ulong lin_add) + + + + + + + + ushort __stdcall16far DOSGETBIOSSEG(dword selp) + + + + + + + + ushort __stdcall16far DOSMAPLINSEG(ulong lin_addr, ulong size, dword selp) + + + + + + + + + + ushort __stdcall16far DOSMAPREALSEG(ushort rm_para, ulong size, dword selp) + + + + + + + + + + ushort __stdcall16far DOSSETPASSTOPROTVEC(ushort int_no, dword prot_new_ptr, dword prot_old_ptrp, dword real_old_ptrp) + + + + + + + + + + + ushort __stdcall16far DOSSETPROTVEC(ushort int_no, dword prot_new_ptr, dword old_ptr_p) + + + + + + + + + + ushort __stdcall16far DOSSETREALPROTVEC(ushort int_no, dword prot_new_ptr, ulong real_new_ptr, dword prot_old_ptrp, dword real_old_ptrp) + + + + + + + + + + + + word __cdecl16far _DosRealFarCall(ulong funcp, word * regsp, ulong reserved, short word_count) + + + + + + + + + + + word __cdecl16far _DosRealIntr(word int_no, word * pararegs, ulong reserved, short word_count) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +