mirror of
https://github.com/qwertyuiop3/Storm.git
synced 2025-07-18 09:27:56 +08:00
shove assist, shotgun shove (finished)
https://www.youtube.com/watch?v=FApMeI1KlVo shoving is also beneficial during unholstering for ~266.667ms (depends on sequence_duration, z_gun_swing_interval) that's amended commit (prototype -> finished)
This commit is contained in:
@ -1,14 +1,14 @@
|
||||
struct Global_Variables_Structure
|
||||
{
|
||||
__int8 Additional_Bytes_1[12];
|
||||
__int8 Additional_Bytes_1[12];
|
||||
|
||||
float Current_Time;
|
||||
float Current_Time;
|
||||
|
||||
float Frame_Time;
|
||||
float Frame_Time;
|
||||
|
||||
__int8 Additional_Bytes_2[8];
|
||||
__int8 Additional_Bytes_2[8];
|
||||
|
||||
float Interval_Per_Tick;
|
||||
float Interval_Per_Tick;
|
||||
};
|
||||
|
||||
float Update_Animation_Time;
|
||||
@ -17,42 +17,42 @@ __int8 Update_Animation_Type;
|
||||
|
||||
void Redirected_Update_Animations()
|
||||
{
|
||||
Global_Variables_Structure* Global_Variables = *(Global_Variables_Structure**)((unsigned __int32)Client_Module + 7096744);
|
||||
Global_Variables_Structure* Global_Variables = *(Global_Variables_Structure**)((unsigned __int32)Client_Module + 7096744);
|
||||
|
||||
float Previous_Current_Time = Global_Variables->Current_Time;
|
||||
float Previous_Current_Time = Global_Variables->Current_Time;
|
||||
|
||||
Global_Variables->Current_Time = Update_Animation_Time;
|
||||
Global_Variables->Current_Time = Update_Animation_Time;
|
||||
|
||||
float Previous_Frame_Time = Global_Variables->Frame_Time;
|
||||
float Previous_Frame_Time = Global_Variables->Frame_Time;
|
||||
|
||||
Global_Variables->Frame_Time = Global_Variables->Interval_Per_Tick * Update_Animation_Type;
|
||||
Global_Variables->Frame_Time = Global_Variables->Interval_Per_Tick * Update_Animation_Type;
|
||||
|
||||
__int32 Entity_Number = 0;
|
||||
__int32 Entity_Number = 0;
|
||||
|
||||
Traverse_Animation_List_Label:
|
||||
{
|
||||
if (Entity_Number != *(__int32*)((unsigned __int32)Client_Module + 7479624))
|
||||
{
|
||||
void* Animation_List = *(void**)((unsigned __int32)Client_Module + 7479612);
|
||||
Traverse_Animation_List_Label:
|
||||
{
|
||||
if (Entity_Number != *(__int32*)((unsigned __int32)Client_Module + 7479624))
|
||||
{
|
||||
void* Animation_List = *(void**)((unsigned __int32)Client_Module + 7479612);
|
||||
|
||||
if ((*(__int8*)((unsigned __int32)Animation_List + 8 * Entity_Number + 4) & 1) != 0)
|
||||
{
|
||||
using Update_Animation_Type = void(__thiscall**)(void* Entity);
|
||||
if ((*(__int8*)((unsigned __int32)Animation_List + 8 * Entity_Number + 4) & 1) != 0)
|
||||
{
|
||||
using Update_Animation_Type = void(__thiscall**)(void* Entity);
|
||||
|
||||
void* Entity = *(void**)((unsigned __int32)Animation_List + 8 * Entity_Number);
|
||||
void* Entity = *(void**)((unsigned __int32)Animation_List + 8 * Entity_Number);
|
||||
|
||||
*(float*)((unsigned __int32)Entity + 328) = Update_Animation_Time - Global_Variables->Frame_Time;
|
||||
*(float*)((unsigned __int32)Entity + 328) = Update_Animation_Time - Global_Variables->Frame_Time;
|
||||
|
||||
(*Update_Animation_Type(*(unsigned __int32*)Entity + 808))(Entity);
|
||||
}
|
||||
(*Update_Animation_Type(*(unsigned __int32*)Entity + 808))(Entity);
|
||||
}
|
||||
|
||||
Entity_Number += 1;
|
||||
Entity_Number += 1;
|
||||
|
||||
goto Traverse_Animation_List_Label;
|
||||
}
|
||||
}
|
||||
goto Traverse_Animation_List_Label;
|
||||
}
|
||||
}
|
||||
|
||||
Global_Variables->Frame_Time = Previous_Frame_Time;
|
||||
Global_Variables->Frame_Time = Previous_Frame_Time;
|
||||
|
||||
Global_Variables->Current_Time = Previous_Current_Time;
|
||||
Global_Variables->Current_Time = Previous_Current_Time;
|
||||
}
|
Reference in New Issue
Block a user