Skip to content

Commit

Permalink
add psdk
Browse files Browse the repository at this point in the history
  • Loading branch information
x87 committed Jun 8, 2024
1 parent a0e2b0c commit 8e99239
Show file tree
Hide file tree
Showing 891 changed files with 148,300 additions and 0 deletions.
Binary file added .output/Release/CLEO.lib
Binary file not shown.
31 changes: 31 additions & 0 deletions game_sa/AnimAssociationData.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
/*
Plugin-SDK (Grand Theft Auto San Andreas) header file
Authors: GTA Community. See more here
https://github.com/DK22Pac/plugin-sdk
Do not delete this comment block. Respect others' work!
*/
#pragma once

#include "PluginBase.h"
#include "RenderWare.h"

class CAnimBlendNode;
class CAnimBlendHierarchy;

class PLUGIN_API AnimAssociationData {
public:
RwLLLink m_link;
unsigned short m_nNumBlendNodes;
unsigned short m_nAnimGroup;
CAnimBlendNode *m_pNodeArray;
CAnimBlendHierarchy *m_pHierarchy;
float m_fBlendAmount;
float m_fBlendDelta;
float m_fCurrentTime;
float m_fSpeed;
float fTimeStep;
short m_nAnimId;
unsigned short m_nFlags;
};

VALIDATE_SIZE(AnimAssociationData, 0x2C);
20 changes: 20 additions & 0 deletions game_sa/AnimBlendFrameData.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,20 @@
/*
Plugin-SDK (Grand Theft Auto San Andreas) header file
Authors: GTA Community. See more here
https://github.com/DK22Pac/plugin-sdk
Do not delete this comment block. Respect others' work!
*/
#pragma once

#include "PluginBase.h"
#include "CVector.h"

class PLUGIN_API AnimBlendFrameData {
public:
unsigned int m_nFlags;
CVector m_vecOffset;
class IFrame *m_pIFrame;
unsigned int m_nNodeId;
};

VALIDATE_SIZE(AnimBlendFrameData, 0x18);
136 changes: 136 additions & 0 deletions game_sa/C2dEffect.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,136 @@
/*
Plugin-SDK (Grand Theft Auto San Andreas) header file
Authors: GTA Community. See more here
https://github.com/DK22Pac/plugin-sdk
Do not delete this comment block. Respect others' work!
*/
#pragma once
#include "PluginBase.h"
#include "CVector.h"
#include "CRGBA.h"

enum e2dEffectType {
EFFECT_LIGHT,
EFFECT_PARTICLE,
EFFECT_ATTRACTOR = 3,
EFFECT_SUN_GLARE,
EFFECT_FURNITUR,
EFFECT_ENEX,
EFFECT_ROADSIGN,
EFFECT_SLOTMACHINE_WHEEL,
EFFECT_COVER_POINT,
EFFECT_ESCALATOR,
};

enum ePedAttractorType {
PED_ATTRACTOR_ATM = 0, // Ped uses ATM(at day time only)
PED_ATTRACTOR_SEAT = 1, // Ped sits(at day time only)
PED_ATTRACTOR_STOP = 2, // Ped stands(at day time only)
PED_ATTRACTOR_PIZZA = 3, // Ped stands for few seconds
PED_ATTRACTOR_SHELTER = 4, // Ped goes away after spawning, but stands if weather is rainy
PED_ATTRACTOR_TRIGGER_SCRIPT = 5, // Launches an external script
PED_ATTRACTOR_LOOK_AT = 6, // Ped looks at object, then goes away
PED_ATTRACTOR_SCRIPTED = 7, // This type is not valid
PED_ATTRACTOR_PARK = 8, // Ped lays(at day time only, ped goes away after 6 PM)
PED_ATTRACTOR_STEP = 9 // Ped sits on steps
};

struct tEffectLight {
RwRGBA m_color;
float m_fCoronaFarClip;
float m_fPointlightRange;
float m_fCoronaSize;
float m_fShadowSize;
unsigned short m_nFlags;
unsigned char m_nCoronaFlashType;
bool m_bCoronaEnableReflection;
unsigned char m_nCoronaFlareType;
unsigned char m_nShadowColorMultiplier;
char m_nShadowZDistance;
char offsetX;
char offsetY;
char offsetZ;
private:
char _pad2E[2];
public:
RwTexture *m_pCoronaTex;
RwTexture *m_pShadowTex;
int field_38;
int field_3C;
};

struct tEffectParticle {
char m_szName[24];
};

struct tEffectPedAttractor {
RwV3d m_vecQueueDir;
RwV3d m_vecUseDir;
RwV3d m_vecForwardDir;
unsigned char m_nAttractorType; // see ePedAttractorType
unsigned char m_nPedExistingProbability;
char field_36;
unsigned char m_nFlags;
char m_szScriptName[8];
};

struct tEffectEnEx {
float m_fEnterAngle;
RwV3d m_vecSize;
RwV3d m_vecExitPosn;
float m_fExitAngle;
short m_nInteriorId;
unsigned char m_nFlags1;
unsigned char m_nSkyColor;
char m_szInteriorName[8];
unsigned char m_nTimeOn;
unsigned char m_nTimeOff;
unsigned char m_nFlags2;
};

struct tEffectRoadsign {
RwV2d m_vecSize;
float m_afRotation[3];
unsigned short m_nFlags;
private:
char _pad26[2];
public:
char *m_pText;
RpAtomic *m_pAtomic;
};

struct tEffectCoverPoint {
RwV2d m_vecDirection;
unsigned char m_nType;
private:
char _pad19[3];
public:
};

struct tEffectEscalator {
RwV3d m_vecBottom;
RwV3d m_vecTop;
RwV3d m_vecEnd;
unsigned char m_nDirection;
private:
char _pad35[3];
public:
};

class PLUGIN_API C2dEffect {
public:
CVector m_vecPosn;
unsigned int m_nType; // see e2dEffectType

union {
tEffectLight light;
tEffectParticle particle;
tEffectPedAttractor pedAttractor;
tEffectEnEx enEx;
tEffectRoadsign roadsign;
tEffectCoverPoint coverPoint;
tEffectEscalator escalator;
};
};

VALIDATE_SIZE(C2dEffect, 0x40);
37 changes: 37 additions & 0 deletions game_sa/C3dMarker.cpp
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
/*
Plugin-SDK (Grand Theft Auto San Andreas) source file
Authors: GTA Community. See more here
https://github.com/DK22Pac/plugin-sdk
Do not delete this comment block. Respect others' work!
*/
#include "C3dMarker.h"

// Converted from thiscall bool C3dMarker::AddMarker(uint id,ushort type,float size,uchar red,uchar green,uchar blue,uchar alpha,ushort pulsePeriod,float pulseFraction,short rotateRate) 0x722230
bool C3dMarker::AddMarker(unsigned int id, unsigned short type, float size, unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha, unsigned short pulsePeriod, float pulseFraction, short rotateRate) {
return plugin::CallMethodAndReturn<bool, 0x722230, C3dMarker *, unsigned int, unsigned short, float, unsigned char, unsigned char, unsigned char, unsigned char, unsigned short, float, short>(this, id, type, size, red, green, blue, alpha, pulsePeriod, pulseFraction, rotateRate);
}

// Converted from thiscall void C3dMarker::DeleteMarkerObject(void) 0x722390
void C3dMarker::DeleteMarkerObject() {
plugin::CallMethod<0x722390, C3dMarker *>(this);
}

// Converted from thiscall bool C3dMarker::IsZCoordinateUpToDate(void) 0x7226A0
bool C3dMarker::IsZCoordinateUpToDate() {
return plugin::CallMethodAndReturn<bool, 0x7226A0, C3dMarker *>(this);
}

// Converted from thiscall void C3dMarker::Render(void) 0x7223D0
void C3dMarker::Render() {
plugin::CallMethod<0x7223D0, C3dMarker *>(this);
}

// Converted from thiscall void C3dMarker::SetZCoordinateIfNotUpToDate(float coordinate) 0x724E10
void C3dMarker::SetZCoordinateIfNotUpToDate(float coordinate) {
plugin::CallMethod<0x724E10, C3dMarker *, float>(this, coordinate);
}

// Converted from thiscall void C3dMarker::UpdateZCoordinate(CVector,float) 0x724D40
void C3dMarker::UpdateZCoordinate(CVector arg0, float arg1) {
plugin::CallMethod<0x724D40, C3dMarker *, CVector, float>(this, arg0, arg1);
}
58 changes: 58 additions & 0 deletions game_sa/C3dMarker.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/*
Plugin-SDK (Grand Theft Auto San Andreas) header file
Authors: GTA Community. See more here
https://github.com/DK22Pac/plugin-sdk
Do not delete this comment block. Respect others' work!
*/
#pragma once
#include "PluginBase.h"
#include "CRGBA.h"
#include "CVector.h"
#include "CMatrix.h"

enum e3dMarkerType {
MARKER3D_ARROW = 0,
MARKER3D_CYLINDER = 1,
MARKER3D_TUBE = 2,
MARKER3D_ARROW2 = 3,
MARKER3D_TORUS = 4,
MARKER3D_CONE = 5,
MARKER3D_CONE_NO_COLLISION = 6,
MARKER3D_NA = 257
};

class PLUGIN_API C3dMarker {
public:
CMatrix m_mat;
RpAtomic *m_pAtomic;
RpMaterial *m_pMaterial;
unsigned short m_nType; // see e3dMarkerType
bool m_bIsUsed;
bool m_bMustBeRenderedThisFrame;
int m_nIdentifier;
CRGBA m_colour;
short m_nPulsePeriod;
short m_nRotateRate;
int m_nStartTime;
float m_fPulseFraction;
float m_fStdSize;
float m_fSize;
float m_fBrightness;
float m_fCameraRange;
CVector m_vecNormal;
short m_nLastMapReadX; // float casted to short
short m_nLastMapReadY; // float casted to short
float m_fLastMapReadResultZ;
float m_fRoofHeight;
CVector m_vecLastPosition;
int m_nOnScreenTestTime;

bool AddMarker(unsigned int id, unsigned short type, float size, unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha, unsigned short pulsePeriod, float pulseFraction, short rotateRate);
void DeleteMarkerObject();
bool IsZCoordinateUpToDate();
void Render();
void SetZCoordinateIfNotUpToDate(float coordinate);
void UpdateZCoordinate(CVector arg0, float arg1);
};

VALIDATE_SIZE(C3dMarker, 0xA0);
Loading

0 comments on commit 8e99239

Please sign in to comment.