mirror of
https://github.com/GTAmodding/re3.git
synced 2024-11-16 09:59:02 +00:00
Merge branch 'master' into miami
# Conflicts: # src/peds/Ped.cpp # src/peds/Ped.h
This commit is contained in:
commit
07d336ddf0
7 changed files with 87 additions and 12 deletions
28
src/core/Range2D.cpp
Normal file
28
src/core/Range2D.cpp
Normal file
|
@ -0,0 +1,28 @@
|
||||||
|
#include "common.h"
|
||||||
|
#include "Range2D.h"
|
||||||
|
#include "General.h"
|
||||||
|
|
||||||
|
CRange2D::CRange2D(CVector2D _min, CVector2D _max) : min(_min), max(_max) {}
|
||||||
|
|
||||||
|
bool
|
||||||
|
CRange2D::IsInRange(CVector2D vec)
|
||||||
|
{
|
||||||
|
return min.x < vec.x && max.x > vec.x && min.y < vec.y && max.y > vec.y;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CRange2D::DebugShowRange(float, int)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
CVector2D
|
||||||
|
CRange2D::GetRandomPointInRange()
|
||||||
|
{
|
||||||
|
int distX = Abs(max.x - min.x);
|
||||||
|
int distY = Abs(max.y - min.y);
|
||||||
|
|
||||||
|
float outX = CGeneral::GetRandomNumber() % distX + min.x;
|
||||||
|
float outY = CGeneral::GetRandomNumber() % distY + min.y;
|
||||||
|
|
||||||
|
return CVector2D(outX, outY);
|
||||||
|
}
|
11
src/core/Range2D.h
Normal file
11
src/core/Range2D.h
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
class CRange2D
|
||||||
|
{
|
||||||
|
CVector2D min, max;
|
||||||
|
public:
|
||||||
|
CRange2D(CVector2D _min, CVector2D _max);
|
||||||
|
bool IsInRange(CVector2D vec);
|
||||||
|
void DebugShowRange(float, int);
|
||||||
|
CVector2D GetRandomPointInRange();
|
||||||
|
};
|
30
src/core/Range3D.cpp
Normal file
30
src/core/Range3D.cpp
Normal file
|
@ -0,0 +1,30 @@
|
||||||
|
#include "common.h"
|
||||||
|
#include "Range3D.h"
|
||||||
|
#include "General.h"
|
||||||
|
|
||||||
|
CRange3D::CRange3D(CVector _min, CVector _max) : min(_min), max(_max) {}
|
||||||
|
|
||||||
|
bool
|
||||||
|
CRange3D::IsInRange(CVector vec)
|
||||||
|
{
|
||||||
|
return min.x < vec.x && max.x > vec.x && min.y < vec.y && max.y > vec.y && min.z < vec.z && max.z > vec.z;
|
||||||
|
}
|
||||||
|
|
||||||
|
void
|
||||||
|
CRange3D::DebugShowRange(float, int)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
CVector
|
||||||
|
CRange3D::GetRandomPointInRange()
|
||||||
|
{
|
||||||
|
int distX = Abs(max.x - min.x);
|
||||||
|
int distY = Abs(max.y - min.y);
|
||||||
|
int distZ = Abs(max.z - min.z);
|
||||||
|
|
||||||
|
float outX = CGeneral::GetRandomNumber() % distX + min.x;
|
||||||
|
float outY = CGeneral::GetRandomNumber() % distY + min.y;
|
||||||
|
float outZ = CGeneral::GetRandomNumber() % distZ + min.z;
|
||||||
|
|
||||||
|
return CVector(outX, outY, outZ);
|
||||||
|
}
|
11
src/core/Range3D.h
Normal file
11
src/core/Range3D.h
Normal file
|
@ -0,0 +1,11 @@
|
||||||
|
#pragma once
|
||||||
|
|
||||||
|
class CRange3D
|
||||||
|
{
|
||||||
|
CVector min, max;
|
||||||
|
public:
|
||||||
|
CRange3D(CVector _min, CVector _max);
|
||||||
|
bool IsInRange(CVector vec);
|
||||||
|
void DebugShowRange(float, int);
|
||||||
|
CVector GetRandomPointInRange();
|
||||||
|
};
|
|
@ -57,6 +57,7 @@
|
||||||
#include "Timecycle.h"
|
#include "Timecycle.h"
|
||||||
#include "ParticleObject.h"
|
#include "ParticleObject.h"
|
||||||
#include "Floater.h"
|
#include "Floater.h"
|
||||||
|
#include "Range2D.h"
|
||||||
#include "Streaming.h"
|
#include "Streaming.h"
|
||||||
#include "PedAttractor.h"
|
#include "PedAttractor.h"
|
||||||
#include "Debug.h"
|
#include "Debug.h"
|
||||||
|
@ -15607,17 +15608,9 @@ CPed::WanderRange(void)
|
||||||
bool arrived = Seek();
|
bool arrived = Seek();
|
||||||
if (arrived) {
|
if (arrived) {
|
||||||
Idle();
|
Idle();
|
||||||
if (((m_randomSeed % 256) + 3 * CTimer::GetFrameCounter()) % 1000 > 997) {
|
if ((m_randomSeed + 3 * CTimer::GetFrameCounter()) % 1000 > 997) {
|
||||||
|
CVector2D newCoords2D = m_wanderRangeBounds->GetRandomPointInRange();
|
||||||
int xDiff = Abs(m_wanderRangeBounds[1].x - m_wanderRangeBounds[0].x);
|
SetSeek(CVector(newCoords2D.x, newCoords2D.y, GetPosition().z), 2.5f);
|
||||||
int yDiff = Abs(m_wanderRangeBounds[1].y - m_wanderRangeBounds[0].y);
|
|
||||||
|
|
||||||
CVector newCoords(
|
|
||||||
(CGeneral::GetRandomNumber() % xDiff) + m_wanderRangeBounds[0].x,
|
|
||||||
(CGeneral::GetRandomNumber() % yDiff) + m_wanderRangeBounds[0].y,
|
|
||||||
GetPosition().z);
|
|
||||||
|
|
||||||
SetSeek(newCoords, 2.5f);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -570,7 +570,7 @@ public:
|
||||||
CEntity *m_pCollidingEntity;
|
CEntity *m_pCollidingEntity;
|
||||||
uint8 m_stateUnused;
|
uint8 m_stateUnused;
|
||||||
uint32 m_timerUnused;
|
uint32 m_timerUnused;
|
||||||
CVector2D *m_wanderRangeBounds; // array with 2 CVector2D (actually unused CRange2D class) - unused
|
class CRange2D *m_wanderRangeBounds;
|
||||||
CWeapon m_weapons[TOTAL_WEAPON_SLOTS];
|
CWeapon m_weapons[TOTAL_WEAPON_SLOTS];
|
||||||
eWeaponType m_storedWeapon;
|
eWeaponType m_storedWeapon;
|
||||||
eWeaponType m_delayedWeapon;
|
eWeaponType m_delayedWeapon;
|
||||||
|
|
|
@ -3426,6 +3426,8 @@ CAutomobile::HydraulicControl(void)
|
||||||
if(m_hydraulicState < 20 && m_fVelocityChangeForAudio > 0.2f){
|
if(m_hydraulicState < 20 && m_fVelocityChangeForAudio > 0.2f){
|
||||||
if(m_hydraulicState == 0){
|
if(m_hydraulicState == 0){
|
||||||
m_hydraulicState = 20;
|
m_hydraulicState = 20;
|
||||||
|
for(i = 0; i < 4; i++)
|
||||||
|
m_aWheelPosition[i] -= 0.06f;
|
||||||
DMAudio.PlayOneShot(m_audioEntityId, SOUND_CAR_HYDRAULIC_1, 0.0f);
|
DMAudio.PlayOneShot(m_audioEntityId, SOUND_CAR_HYDRAULIC_1, 0.0f);
|
||||||
setPrevRatio = true;
|
setPrevRatio = true;
|
||||||
}else{
|
}else{
|
||||||
|
|
Loading…
Reference in a new issue