@@ -329,9 +329,25 @@ void set_box(LPCSTR section, CPHMovementControl& mc, u32 box_num)
329329 mc.SetBox (box_num, bb);
330330}
331331
332+ void set_box_y_offset (LPCSTR section, CPHMovementControl& mc, u32 box_num, float offset)
333+ {
334+ Fbox bb;
335+ Fvector vBOX_center, vBOX_size;
336+ // m_PhysicMovementControl: BOX
337+ string64 buff, buff1;
338+ strconcat (sizeof (buff), buff, " ph_box" , itoa (box_num, buff1, 10 ), " _center" );
339+ vBOX_center = pSettings->r_fvector3 (section, buff);
340+ vBOX_center.y = offset
341+ strconcat (sizeof (buff), buff, " ph_box" , itoa (box_num, buff1, 10 ), " _size" );
342+ vBOX_size = pSettings->r_fvector3 (section, buff);
343+ vBOX_size.y += (cammera_into_collision_shift / 2 .f ) + offset;
344+ bb.set (vBOX_center, vBOX_center);
345+ bb.grow (vBOX_size);
346+ mc.SetBox (box_num, bb);
347+ }
348+
332349void CActor::Load (LPCSTR section)
333350{
334- // Msg ("Loading actor: %s",section);
335351 inherited::Load (section);
336352 material ().Load (section);
337353 CInventoryOwner::Load (section);
@@ -508,6 +524,11 @@ void CActor::Load(LPCSTR section)
508524 m_sHeadShotParticle = READ_IF_EXISTS (pSettings, r_string, section, " HeadShotParticle" , 0 );
509525}
510526
527+ void CActor::set_actor_box_y_offset (u32 box_num, float offset)
528+ {
529+ set_box_y_offset (" actor" , *character_physics_support ()->movement (), box_num, offset);
530+ }
531+
511532void CActor::PHHit (SHit& H)
512533{
513534 m_pPhysics_support->in_Hit (H, false );
0 commit comments