struct BasePB {
void *vftable;
uint32_t has_bits;
uint64_t cached_size;
};
template< typename T >
struct RepeatedPtrField {
struct Rep {
int allocated_size;
T *elements[ ( std::numeric_limits< int >::max( ) - 2 * sizeof( int ) ) /
sizeof( void * ) ];
};
void *arena;
int current_size;
int total_size;
Rep *rep;
};
struct CMsgVector : BasePB {
float x;
float y;
float z;
};
struct CMsgQAngle : BasePB {
float x;
float y;
float z;
};
struct CInButtonStatePB : BasePB {
uint64_t buttonstate1;
uint64_t buttonstate2;
uint64_t buttonstate3;
};
struct CSubtickMoveStep : BasePB {
uint64_t button;
bool pressed;
float when;
};
struct CBaseUserCmdPB : BasePB {
RepeatedPtrField< CSubtickMoveStep > subtick_moves;
void *move_crc;// this is a string ptr, should prob of made it that but I DON'T CARE
CInButtonStatePB *buttons_pb;
CMsgQAngle *viewangles;
int32_t command_number;
int32_t tick_count;
float forwardmove;
float leftmove;
float upmove;
int32_t impulse;
int32_t weaponselect;
int32_t random_seed;
int32_t mousedx;
int32_t mousedy;
bool hasbeenpredicted;
uint32_t consumed_server_angle_changes;
int32_t cmd_flags;
uint32_t pawn_entity_handle;
};
struct CSGOInterpolationInfoPB : BasePB {
float frac;
int32_t src_tick ;
int32_t dst_tick ;
};
structure CSGOInputHistoryEntryPB: BasePB {
CMsgQAngle * view_angles ;
CMsgVector * shoot_position ;
CMsgVector * target_head_pos_check ;
CMsgVector * target_abs_pos_check ;
CMsgQAngle * target_abs_ang_check ;
CSGOInterpolationInfoPB * cl_interp ;
CSGOInterpolationInfoPB * sv_interp0 ;
CSGOInterpolationInfoPB * sv_interp1 ;
CSGOInterpolationInfoPB * player_interp ;
int32_t render_tick_count ;
float render_tick_fraction ;
int32_t player_tick_count ;
float player_tick_fraction ;
int32_t frame_number ;
int32_t target_ent_index ;
};
structure CSGOUserCmdPB {
// didn't define vtable here cuz CUserCmd inherits it and i'm too lazy to do shit properly
uint32_t has_bits ;
uint64_t cached_size ;
RepeatedPtrField< CSGOInputHistoryEntryPB > input_history;
CBaseUserCmdPB * base ;
int32_t attack3_start_history_index ;
int32_t attack1_start_history_index ;
int32_t attack2_start_history_index ;
};
// not protobufs
structure CInButtonState {
void * vftable ;
uint64_t buttonstate1 ;
uint64_t buttonstate2 ;
uint64_t buttonstate3 ;
};
structure CUserCmd {
void * vftable ;
CSGOUserCmdPB cmd ;
CInButtonState button_states ;
}; [/ CODE]
Откуда эта структура, нигде не могу ее найти?C++:struct BasePB { void *vftable; uint32_t has_bits; uint64_t cached_size; }; template< typename T > struct RepeatedPtrField { struct Rep { int allocated_size; T *elements[ ( std::numeric_limits< int >::max( ) - 2 * sizeof( int ) ) / sizeof( void * ) ]; }; void *arena; int current_size; int total_size; Rep *rep; }; struct CMsgVector : BasePB { float x; float y; float z; }; struct CMsgQAngle : BasePB { float x; float y; float z; }; struct CInButtonStatePB : BasePB { uint64_t buttonstate1; uint64_t buttonstate2; uint64_t buttonstate3; }; struct CSubtickMoveStep : BasePB { uint64_t button; bool pressed; float when; }; struct CBaseUserCmdPB : BasePB { RepeatedPtrField< CSubtickMoveStep > subtick_moves; void *move_crc;// this is a string ptr, should prob of made it that but I DON'T CARE CInButtonStatePB *buttons_pb; CMsgQAngle *viewangles; int32_t command_number; int32_t tick_count; float forwardmove; float leftmove; float upmove; int32_t impulse; int32_t weaponselect; int32_t random_seed; int32_t mousedx; int32_t mousedy; bool hasbeenpredicted; uint32_t consumed_server_angle_changes; int32_t cmd_flags; uint32_t pawn_entity_handle; }; struct CSGOInterpolationInfoPB : BasePB { float frac; int32_t src_tick ; int32_t dst_tick ; }; structure CSGOInputHistoryEntryPB: BasePB { CMsgQAngle * view_angles ; CMsgVector * shoot_position ; CMsgVector * target_head_pos_check ; CMsgVector * target_abs_pos_check ; CMsgQAngle * target_abs_ang_check ; CSGOInterpolationInfoPB * cl_interp ; CSGOInterpolationInfoPB * sv_interp0 ; CSGOInterpolationInfoPB * sv_interp1 ; CSGOInterpolationInfoPB * player_interp ; int32_t render_tick_count ; float render_tick_fraction ; int32_t player_tick_count ; float player_tick_fraction ; int32_t frame_number ; int32_t target_ent_index ; }; structure CSGOUserCmdPB { // didn't define vtable here cuz CUserCmd inherits it and i'm too lazy to do shit properly uint32_t has_bits ; uint64_t cached_size ; RepeatedPtrField< CSGOInputHistoryEntryPB > input_history; CBaseUserCmdPB * base ; int32_t attack3_start_history_index ; int32_t attack1_start_history_index ; int32_t attack2_start_history_index ; }; // not protobufs structure CInButtonState { void * vftable ; uint64_t buttonstate1 ; uint64_t buttonstate2 ; uint64_t buttonstate3 ; }; structure CUserCmd { void * vftable ; CSGOUserCmdPB cmd ; CInButtonState button_states ; }; [/ CODE]
Проект предоставляет различный материал, относящийся к сфере киберспорта, программирования, ПО для игр, а также позволяет его участникам общаться на многие другие темы. Почта для жалоб: admin@yougame.biz