实体
标记 CCoronas / C3dMarkers
光晕与 3D 标记
CCoronas.h · C3dMarkers.h
光晕与 3D 标记。每帧重新 Register / Place(引擎槽位语义);id 固定便于更新。
注册光晕
CCoronas::RegisterCorona
按类型或纹理。
static void RegisterCorona(unsigned int id, CEntity* attachTo, unsigned char red, unsigned char green, unsigned char blue,
unsigned char alpha, CVector const& posn, float radius, float farClip, eCoronaType coronaType, eCoronaFlareType flaretype,
bool enableReflection, bool checkObstacles, int _param_not_used, float angle, bool longDistance, float nearClip,
unsigned char fadeState, float fadeSpeed, bool onlyFromBelow, bool reflectionDelay);
// 另有 RwTexture* 重载更新光晕坐标
UpdateCoronaCoors
static void UpdateCoronaCoors(unsigned int id, CVector const& posn, float farClip, float angle);放 3D 标记
PlaceMarker / PlaceMarkerSet / PlaceMarkerCone
static C3dMarker* PlaceMarker(unsigned int id, unsigned short type, CVector& posn, float size,
unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha,
unsigned short pulsePeriod, float pulseFraction, short rotateRate,
float nrm_x, float nrm_y, float nrm_z, bool zCheck);
static void PlaceMarkerSet(unsigned int id, unsigned short type, CVector& posn, float size,
unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha,
unsigned short pulsePeriod, float pulseFraction, short rotateRate);
static void PlaceMarkerCone(unsigned int id, CVector& posn, float size,
unsigned char red, unsigned char green, unsigned char blue, unsigned char alpha,
unsigned short pulsePeriod, float pulseFraction, short rotateRate, unsigned char bEnableCollision);方向箭头
DirectionArrowSet
static void DirectionArrowSet(CVector posn, float size, int red, int green, int blue, int alpha,
float dir_x, float dir_y, float dir_z);用户标记
User3dMarkerDelete / User3dMarkerDeleteAll
static void User3dMarkerDelete(int slotIndex);
static void User3dMarkerDeleteAll();强制渲染
ForceRender / IgnoreRenderLimit
static void ForceRender(unsigned char bEnable);
static bool& IgnoreRenderLimit;雷达 2D blip 见 CRadar。