View Single Post
Old 19-09-19, 18:56   #4
TokyoSU
Explorer
 
TokyoSU's Avatar
 
Join Date: Mar 2019
Location: France, Caen
Posts: 686
Default

thanks for the update
the EffectNewRoom will be used in mass by me and my plugin
before that, i used the one from TR3 with TR4 variable :x
if you found S_DrawSprite() please inform me i need it

EDIT:
Code:
functions_mine.h:
///* ============================================================== */
///                     LARA CONTROL ROUTINES                       //
///* ============================================================== */
TYPE_lara_as_walk lara_as_walk = (TYPE_lara_as_walk)0x004258A0;
TYPE_lara_as_run lara_as_run = (TYPE_lara_as_run)0x00425940;
TYPE_lara_as_stop lara_as_stop = (TYPE_lara_as_stop)0x00424840;
TYPE_lara_as_forwardjump lara_as_forwardjump = (TYPE_lara_as_forwardjump)0x00425260;
TYPE_lara_as_fastback lara_as_fastback = (TYPE_lara_as_fastback)0x00425AF0;
TYPE_lara_as_turn_r lara_as_turn_r = (TYPE_lara_as_turn_r)0x00425B50;
TYPE_lara_as_turn_l lara_as_turn_l = (TYPE_lara_as_turn_l)0x00425BF0;
TYPE_lara_as_death lara_as_death = (TYPE_lara_as_death)0x00425C90;
TYPE_lara_as_fastfall lara_as_fastfall = (TYPE_lara_as_fastfall)0x00425CE0;
TYPE_lara_as_hang lara_as_hang = (TYPE_lara_as_hang)0x00425D30;
TYPE_lara_as_reach lara_as_reach = (TYPE_lara_as_reach)0x00425410;
TYPE_lara_as_splat lara_as_splat = (TYPE_lara_as_splat)0x00426C30;
TYPE_lara_as_tread lara_as_tread = (TYPE_lara_as_tread)0x00432300;
TYPE_lara_as_compress lara_as_compress = (TYPE_lara_as_compress)0x00426C40;
TYPE_lara_as_back lara_as_back = (TYPE_lara_as_back)0x00426D50;
TYPE_lara_as_swim lara_as_swim = (TYPE_lara_as_swim)0x00432180;
TYPE_lara_as_glide lara_as_glide = (TYPE_lara_as_glide)0x00432280;
TYPE_lara_as_null lara_as_null = (TYPE_lara_as_null)0x00426DE0;
TYPE_lara_as_fastturn lara_as_fastturn = (TYPE_lara_as_fastturn)0x00426DF0;
TYPE_lara_as_stepright lara_as_stepright = (TYPE_lara_as_stepright)0x00426E30;
TYPE_lara_as_stepleft lara_as_stepleft = (TYPE_lara_as_stepleft)0x00426EC0;
TYPE_lara_as_slide lara_as_slide = (TYPE_lara_as_slide)0x00426F50;
TYPE_lara_as_backjump lara_as_backjump = (TYPE_lara_as_backjump)0x00426F80;
TYPE_lara_as_rightjump lara_as_rightjump = (TYPE_lara_as_rightjump)0x00426FD0;
TYPE_lara_as_leftjump lara_as_leftjump = (TYPE_lara_as_leftjump)0x00427010;
TYPE_lara_as_upjump lara_as_upjump = (TYPE_lara_as_upjump)0x00424EF0;
TYPE_lara_as_fallback lara_as_fallback = (TYPE_lara_as_fallback)0x00427050;
TYPE_lara_as_hangleft lara_as_hangleft = (TYPE_lara_as_hangleft)0x004268D0;
TYPE_lara_as_hangright lara_as_hangright = (TYPE_lara_as_hangright)0x00426950;
TYPE_lara_as_slideback lara_as_slideback = (TYPE_lara_as_slideback)0x00427080;
TYPE_lara_as_surftread lara_as_surftread = (TYPE_lara_as_surftread)0x00431940;
TYPE_lara_as_surfswim lara_as_surfswim = (TYPE_lara_as_surfswim)0x004317B0;
TYPE_lara_as_dive lara_as_dive = (TYPE_lara_as_dive)0x00432390;
TYPE_lara_as_pushblock lara_as_pushblock = (TYPE_lara_as_pushblock)0x004270A0;
TYPE_lara_as_pullblock lara_as_pullblock = (TYPE_lara_as_pullblock)0x004270D0;
TYPE_lara_as_ppready lara_as_ppready = (TYPE_lara_as_ppready)0x00427100;
TYPE_lara_as_pickup lara_as_pickup = (TYPE_lara_as_pickup)0x00427130;
TYPE_lara_as_switchon lara_as_switchon = (TYPE_lara_as_switchon)0x004271C0;
//TYPE_lara_as_switchoff // not exist !
TYPE_lara_as_usekey lara_as_usekey = (TYPE_lara_as_usekey)0x00427200;
TYPE_lara_as_usepuzzle lara_as_usepuzzle = (TYPE_lara_as_usepuzzle)0x00427230;
TYPE_lara_as_uwdeath lara_as_uwdeath = (TYPE_lara_as_uwdeath)0x004323B0;
TYPE_lara_as_special lara_as_special = (TYPE_lara_as_special)0x004272B0;
TYPE_lara_as_surfback lara_as_surfback = (TYPE_lara_as_surfback)0x00431820;
TYPE_lara_as_surfleft lara_as_surfleft = (TYPE_lara_as_surfleft)0x00431880;
TYPE_lara_as_surfright lara_as_surfright = (TYPE_lara_as_surfright)0x004318E0;
TYPE_lara_as_swandive lara_as_swandive = (TYPE_lara_as_swandive)0x004272D0;
TYPE_lara_as_fastdive lara_as_fastdive = (TYPE_lara_as_fastdive)0x00427310;
TYPE_lara_as_waterout lara_as_waterout = (TYPE_lara_as_waterout)0x00427370;
TYPE_lara_as_climbstnc lara_as_climbstnc = (TYPE_lara_as_climbstnc)0x0042C2E0;
TYPE_lara_as_climbing lara_as_climbing = (TYPE_lara_as_climbing)0x0042D070;
TYPE_lara_as_climbleft lara_as_climbleft = (TYPE_lara_as_climbleft)0x0042C880;
TYPE_lara_as_climbend lara_as_climbend = (TYPE_lara_as_climbend)0x0042D3A0;
TYPE_lara_as_climbright lara_as_climbright = (TYPE_lara_as_climbright)0x0042CFD0;
TYPE_lara_as_climbdown lara_as_climbdown = (TYPE_lara_as_climbdown)0x0042D1E0;
TYPE_lara_as_wade lara_as_wade = (TYPE_lara_as_wade)0x00427390;
TYPE_lara_as_waterroll lara_as_waterroll = (TYPE_lara_as_waterroll)0x00432410;
TYPE_lara_as_pickupflare lara_as_pickupflare = (TYPE_lara_as_pickupflare)0x00427160;
TYPE_lara_as_deathslide lara_as_deathslide = (TYPE_lara_as_deathslide)0x00427460;
TYPE_lara_as_duck lara_as_duck = (TYPE_lara_as_duck)0x00420E70;
//TYPE_lara_as_duckroll // not exist !
TYPE_lara_as_dash lara_as_dash = (TYPE_lara_as_dash)0x00421EE0;
TYPE_lara_as_dashdive lara_as_dashdive = (TYPE_lara_as_dashdive)0x004228B0;
TYPE_lara_as_hang2 lara_as_hang2 = (TYPE_lara_as_hang2)0x00422C00;
TYPE_lara_as_monkeyswing lara_as_monkeyswing = (TYPE_lara_as_monkeyswing)0x00423690;
TYPE_lara_as_monkeyl lara_as_monkeyl = (TYPE_lara_as_monkeyl)0x00423870;
TYPE_lara_as_monkeyr lara_as_monkeyr = (TYPE_lara_as_monkeyr)0x00423940;
TYPE_lara_as_monkey180 lara_as_monkey180 = (TYPE_lara_as_monkey180)0x00423B30;
TYPE_lara_as_all4s lara_as_all4s = (TYPE_lara_as_all4s)0x00421040;
TYPE_lara_as_crawl lara_as_crawl = (TYPE_lara_as_crawl)0x004214D0;
TYPE_lara_as_hangturnl lara_as_hangturnl = (TYPE_lara_as_hangturnl)0x00423A10;
TYPE_lara_as_hangturnr lara_as_hangturnr = (TYPE_lara_as_hangturnr)0x00423AF0;
TYPE_lara_as_all4turnl lara_as_all4turnl = (TYPE_lara_as_all4turnl)0x00421730;
TYPE_lara_as_all4turnr lara_as_all4turnr = (TYPE_lara_as_all4turnr)0x004217E0;
TYPE_lara_as_crawlb lara_as_crawlb = (TYPE_lara_as_crawlb)0x00421840;
TYPE_lara_as_controlled lara_as_controlled = (TYPE_lara_as_controlled)0x00427500;
TYPE_lara_as_ropel lara_as_ropel = (TYPE_lara_as_ropel)0x00424400;
TYPE_lara_as_roper lara_as_roper = (TYPE_lara_as_roper)0x00424430;
TYPE_lara_as_controlledl lara_as_controlledl = (TYPE_lara_as_controlledl)0x004275E0;
TYPE_lara_as_poleleft lara_as_poleleft = (TYPE_lara_as_poleleft)0x00423CE0;
TYPE_lara_as_poleright lara_as_poleright = (TYPE_lara_as_poleright)0x00423D20;
TYPE_lara_as_pulley lara_as_pulley = (TYPE_lara_as_pulley)0x00427670;
TYPE_lara_as_duckl lara_as_duckl = (TYPE_lara_as_duckl)0x00420B80;
TYPE_lara_as_duckr lara_as_duckr = (TYPE_lara_as_duckr)0x00420BB0;
TYPE_lara_as_extcornerl lara_as_extcornerl = (TYPE_lara_as_extcornerl)0x00426AF0;
TYPE_lara_as_extcornerr lara_as_extcornerr = (TYPE_lara_as_extcornerr)0x00426B40;
TYPE_lara_as_intcornerl lara_as_intcornerl = (TYPE_lara_as_intcornerl)0x00426B90;
TYPE_lara_as_intcornerr lara_as_intcornerr = (TYPE_lara_as_intcornerr)0x00426BE0;
TYPE_lara_as_rope lara_as_rope = (TYPE_lara_as_rope)0x00423F90;
TYPE_lara_as_climbrope lara_as_climbrope = (TYPE_lara_as_climbrope)0x004246C0;
TYPE_lara_as_climbroped lara_as_climbroped = (TYPE_lara_as_climbroped)0x00424730;

///* ============================================================== */
///                     LARA COLLISION ROUTINES                     //
///* ============================================================== */
TYPE_lara_col_walk lara_col_walk = (TYPE_lara_col_walk)0x00427770;
TYPE_lara_col_run lara_col_run = (TYPE_lara_col_run)0x00427960;
TYPE_lara_col_stop lara_col_stop = (TYPE_lara_col_stop)0x00424E50;
TYPE_lara_col_forwardjump lara_col_forwardjump = (TYPE_lara_col_forwardjump)0x00425330;
TYPE_lara_col_fastturn lara_col_fastturn = (TYPE_lara_col_fastturn)0x00427E60;
TYPE_lara_col_fastback lara_col_fastback = (TYPE_lara_col_fastback)0x00427B10;
TYPE_lara_col_turn_r lara_col_turn_r = (TYPE_lara_col_turn_r)0x00427C00;
TYPE_lara_col_turn_l lara_col_turn_l = (TYPE_lara_col_turn_l)0x00427CC0;
TYPE_lara_col_death lara_col_death = (TYPE_lara_col_death)0x00427CD0;
TYPE_lara_col_fastfall lara_col_fastfall = (TYPE_lara_col_fastfall)0x00427D40;
TYPE_lara_col_hang lara_col_hang = (TYPE_lara_col_hang)0x00425D80;
TYPE_lara_col_reach lara_col_reach = (TYPE_lara_col_reach)0x00425430;
TYPE_lara_col_splat lara_col_splat = (TYPE_lara_col_splat)0x00427DF0;
TYPE_lara_col_tread lara_col_tread = (TYPE_lara_col_tread)0x00432670;
TYPE_lara_col_compress lara_col_compress = (TYPE_lara_col_compress)0x00427E70;
TYPE_lara_col_back lara_col_back = (TYPE_lara_col_back)0x00427F20;
TYPE_lara_col_swim lara_col_swim = (TYPE_lara_col_swim)0x00432420;
TYPE_lara_col_glide lara_col_glide = (TYPE_lara_col_glide)0x00432660;
TYPE_lara_col_null lara_col_null = (TYPE_lara_col_null)0x00428600;
TYPE_lara_col_roll2 lara_col_roll2 = (TYPE_lara_col_roll2)0x00428410;
TYPE_lara_col_stepright lara_col_stepright = (TYPE_lara_col_stepright)0x00428040;
TYPE_lara_col_stepleft lara_col_stepleft = (TYPE_lara_col_stepleft)0x00428120;
TYPE_lara_col_slide lara_col_slide = (TYPE_lara_col_slide)0x00428130;
TYPE_lara_col_backjump lara_col_backjump = (TYPE_lara_col_backjump)0x00428260;
TYPE_lara_col_rightjump lara_col_rightjump = (TYPE_lara_col_rightjump)0x00428280;
TYPE_lara_col_leftjump lara_col_leftjump = (TYPE_lara_col_leftjump)0x004282A0;
TYPE_lara_col_upjump lara_col_upjump = (TYPE_lara_col_upjump)0x00424F10;
TYPE_lara_col_fallback lara_col_fallback = (TYPE_lara_col_fallback)0x004282C0;
TYPE_lara_col_hangleft lara_col_hangleft = (TYPE_lara_col_hangleft)0x00426910;
TYPE_lara_col_hangright lara_col_hangright = (TYPE_lara_col_hangright)0x00426990;
TYPE_lara_col_slideback lara_col_slideback = (TYPE_lara_col_slideback)0x00428350;
TYPE_lara_col_surftread lara_col_surftread = (TYPE_lara_col_surftread)0x00431EA0;
TYPE_lara_col_surfswim lara_col_surfswim = (TYPE_lara_col_surfswim)0x00431A00;
TYPE_lara_col_dive lara_col_dive = (TYPE_lara_col_dive)0x00432680;
TYPE_lara_col_uwdeath lara_col_uwdeath = (TYPE_lara_col_uwdeath)0x00432690;
TYPE_lara_col_roll lara_col_roll = (TYPE_lara_col_roll)0x00428370;
TYPE_lara_col_surfback lara_col_surfback = (TYPE_lara_col_surfback)0x00431E40;
TYPE_lara_col_surfleft lara_col_surfleft = (TYPE_lara_col_surfleft)0x00431E60;
TYPE_lara_col_surfright lara_col_surfright = (TYPE_lara_col_surfright)0x00431E80;
TYPE_lara_col_swandive lara_col_swandive = (TYPE_lara_col_swandive)0x004284F0;
TYPE_lara_col_fastdive lara_col_fastdive = (TYPE_lara_col_fastdive)0x00428570;
TYPE_lara_col_climbstnc lara_col_climbstnc = (TYPE_lara_col_climbstnc)0x0042C390;
TYPE_lara_col_climbing lara_col_climbing = (TYPE_lara_col_climbing)0x0042D090;
TYPE_lara_col_climbleft lara_col_climbleft = (TYPE_lara_col_climbleft)0x0042C8C0;
TYPE_lara_col_climbright lara_col_climbright = (TYPE_lara_col_climbright)0x0042D010;
TYPE_lara_col_climbdown lara_col_climbdown = (TYPE_lara_col_climbdown)0x0042D200;
TYPE_lara_col_wade lara_col_wade = (TYPE_lara_col_wade)0x00428610;
TYPE_lara_col_waterroll lara_col_waterroll = (TYPE_lara_col_waterroll)0x004326F0;
TYPE_lara_col_duck lara_col_duck = (TYPE_lara_col_duck)0x00420F20;
TYPE_lara_col_dash lara_col_dash = (TYPE_lara_col_dash)0x00422030;
TYPE_lara_col_dashdive lara_col_dashdive = (TYPE_lara_col_dashdive)0x004228E0;
TYPE_lara_col_hang2 lara_col_hang2 = (TYPE_lara_col_hang2)0x00422CD0;
TYPE_lara_col_monkeyswing lara_col_monkeyswing = (TYPE_lara_col_monkeyswing)0x00423740;
TYPE_lara_col_monkeyl lara_col_monkeyl = (TYPE_lara_col_monkeyl)0x004238D0;
TYPE_lara_col_monkeyr lara_col_monkeyr = (TYPE_lara_col_monkeyr)0x004239A0;
TYPE_lara_col_monkey180 lara_col_monkey180 = (TYPE_lara_col_monkey180)0x00423B50;
TYPE_lara_col_all4s lara_col_all4s = (TYPE_lara_col_all4s)0x004210B0;
TYPE_lara_col_crawl lara_col_crawl = (TYPE_lara_col_crawl)0x004215A0;
TYPE_lara_col_hangturnlr lara_col_hangturnlr = (TYPE_lara_col_hangturnlr)0x00423A50;
TYPE_lara_col_all4turnlr lara_col_all4turnlr = (TYPE_lara_col_all4turnlr)0x00421790;
TYPE_lara_col_all4turnlrb lara_col_all4turnlrb = (TYPE_lara_col_all4turnlrb)0x00421900;
TYPE_lara_col_all4turnlr2hang lara_col_all4turnlr2hang = (TYPE_lara_col_all4turnlr2hang)0x00421A20;
TYPE_lara_default_col lara_default_col = (TYPE_lara_default_col)0x00428780;
TYPE_lara_col_turnswitch lara_col_turnswitch = (TYPE_lara_col_turnswitch)0x00427600;
TYPE_lara_col_polestat lara_col_polestat = (TYPE_lara_col_polestat)0x00423B60;
TYPE_lara_col_poleup lara_col_poleup = (TYPE_lara_col_poleup)0x00423D60;
TYPE_lara_col_poledown lara_col_poledown = (TYPE_lara_col_poledown)0x00423DE0;
TYPE_lara_col_ducklr lara_col_ducklr = (TYPE_lara_col_ducklr)0x00420BE0;
TYPE_lara_col_rope lara_col_rope = (TYPE_lara_col_rope)0x00424050;
TYPE_lara_col_ropefwd lara_col_ropefwd = (TYPE_lara_col_ropefwd)0x00424460;
Code:
Tomb4Discoveries.h:

///* ============================================================== */
///                     LARA CONTROL ROUTINES                       //
///* ============================================================== */
typedef void(__cdecl* TYPE_lara_as_walk)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_run)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_stop)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_forwardjump)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_fastback)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_turn_r)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_turn_l)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_death)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_fastfall)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_hang)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_reach)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_splat)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_tread)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_compress)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_back)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_swim)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_glide)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_null)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_fastturn)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_stepright)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_stepleft)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_slide)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_backjump)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_rightjump)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_leftjump)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_upjump)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_fallback)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_hangleft)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_hangright)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_slideback)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_surftread)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_surfswim)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_dive)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_pushblock)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_pullblock)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_ppready)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_pickup)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_switchon)(StrItemInfo* lara, StrCollInfo* coll);
//typedef void(__cdecl* TYPE_lara_as_switchoff)(StrItemInfo* lara, StrCollInfo* coll); // not exist !
typedef void(__cdecl* TYPE_lara_as_usekey)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_usepuzzle)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_uwdeath)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_special)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_surfback)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_surfleft)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_surfright)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_swandive)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_fastdive)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_waterout)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_climbstnc)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_climbing)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_climbleft)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_climbend)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_climbright)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_climbdown)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_wade)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_waterroll)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_pickupflare)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_deathslide)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_duck)(StrItemInfo* lara, StrCollInfo* coll);
//typedef void(__cdecl* TYPE_lara_as_duckroll)(StrItemInfo* lara, StrCollInfo* coll); // not exist !
typedef void(__cdecl* TYPE_lara_as_dash)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_dashdive)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_hang2)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_monkeyswing)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_monkeyl)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_monkeyr)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_monkey180)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_all4s)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_crawl)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_hangturnl)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_hangturnr)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_all4turnl)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_all4turnr)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_crawlb)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_controlled)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_ropel)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_roper)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_controlledl)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_poleleft)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_poleright)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_pulley)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_duckl)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_duckr)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_extcornerl)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_extcornerr)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_intcornerl)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_intcornerr)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_rope)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_climbrope)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_as_climbroped)(StrItemInfo* lara, StrCollInfo* coll);

///* ============================================================== */
///                      LARA COLLISION ROUTINES                    //
///* ============================================================== */
typedef void(__cdecl* TYPE_lara_col_walk)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_run)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_stop)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_forwardjump)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_fastturn)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_fastback)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_turn_r)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_turn_l)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_death)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_fastfall)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_hang)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_reach)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_splat)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_tread)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_compress)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_back)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_swim)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_glide)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_null)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_roll2)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_stepright)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_stepleft)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_slide)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_backjump)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_rightjump)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_leftjump)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_upjump)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_fallback)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_hangleft)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_hangright)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_slideback)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_surftread)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_surfswim)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_dive)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_pushblock)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_pullblock)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_ppready)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_pickup)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_switchon)(StrItemInfo* lara, StrCollInfo* coll);
//typedef void(__cdecl* TYPE_lara_col_switchoff)(StrItemInfo* lara, StrCollInfo* coll); // not exist !
typedef void(__cdecl* TYPE_lara_col_usekey)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_usepuzzle)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_uwdeath)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_roll)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_surfback)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_surfleft)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_surfright)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_swandive)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_fastdive)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_waterout)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_climbstnc)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_climbing)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_climbleft)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_climbend)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_climbright)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_climbdown)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_wade)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_waterroll)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_pickupflare)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_deathslide)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_duck)(StrItemInfo* lara, StrCollInfo* coll);
//typedef void(__cdecl* TYPE_lara_col_duckroll)(StrItemInfo* lara, StrCollInfo* coll); // not exist !
typedef void(__cdecl* TYPE_lara_col_dash)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_dashdive)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_hang2)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_monkeyswing)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_monkeyl)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_monkeyr)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_monkey180)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_all4s)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_crawl)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_hangturnlr)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_all4turnlr)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_all4turnlrb)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_all4turnlr2hang)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_default_col)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_turnswitch)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_polestat)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_poleup)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_poledown)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_ducklr)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_rope)(StrItemInfo* lara, StrCollInfo* coll);
typedef void(__cdecl* TYPE_lara_col_ropefwd)(StrItemInfo* lara, StrCollInfo* coll);
Code:
Structure_mine.h:

struct StrCollFloorInfo
{
    int64 mid_floor;
    int64 mid_ceiling;
    int64 mid_type;
    int64 front_floor;
    int64 front_ceiling;
    int64 front_type;
    int64 left_floor;
    int64 left_ceiling;
    int64 left_type;
    int64 right_floor;
    int64 right_ceiling;
    int64 right_type;
    int64 left_floor2;
    int64 left_ceiling2;
    int64 left_type2;
    int64 right_floor2;
    int64 right_ceiling2;
    int64 right_type2;
};

struct StrCollInfo
{
    StrCollFloorInfo floors;    // all floors infos...
    long radius;				// INPUT Collision Radius...
	long bad_pos, bad_neg;	    // INPUT Relative Heights We want to Collide against...
	long bad_ceiling;			// INPUT Relative Bad Ceiling Height...
    PHD_VECTOR shift;			// Shift/Push Values..
    PHD_VECTOR old;			    // INPUT Old Positions
    sint16 old_anim_state;		// INPUT old animation
    sint16 old_anim_number;
    sint16 old_frame_number;
    sint16 facing;				// INPUT Angle we are Moving...
    sint16 quadrant;			// Quadrant we are moving ( Not necessarily facing! )
    sint16 coll_type;			// Type of Collision
    sint16* trigger;			// Trigger info index
    signed char tilt_x, tilt_z;	// Type of Tilt of Floor
    char hit_by_baddie;         // Flag to indicate Lara has been hit by a Baddie
    char hit_static;			// Flag to indicate Lara has collided with a Static object
    uint16 slopes_are_walls : 2;// Treat big slopesUp as walls
    uint16 slopes_are_pits : 1;	// Treat big slopesDown as pits
    uint16 lava_is_pit : 1;		// Treat Lava as Bad place to go onto
    uint16 enable_baddie_push : 1;	// Baddies can push Lara
    uint16 enable_spaz : 1;		// Spaz animations are enabled
    uint16 hit_ceiling : 1;		// Has Lara hit ceiling? (For up jump only).
};
for the StrItemInfo, you the structure there: https://www.tombraiderforums.com/sho...65#post8132765
PS: if you dont want to use StrItemInfo and StrCollInfo, you can replace by StrItemTr4 and StrCollisionLara
__________________
"Life is Dream, just a dream"

Last edited by TokyoSU; 19-09-19 at 19:06.
TokyoSU is offline   Reply With Quote