30 namespace DataStructures
47 #ifdef CAVESTORY_MOD_EXPORTS
74 namespace DataStructures
80 class NetScoreInstance;
93 typedef void* NetClientPointer;
94 typedef int NetClientGhostId;
121 #if !defined(_CAVEEDITOR) && (!defined(CAVESTORY_MOD_EXPORTS) || !defined(DONT_DEFINE_RECT))
250 typedef struct FontObject FontObject;
295 FontManager(
const char* font_name, FontObject* fo,
int width,
int height);
311 static FontObject*
LoadFont(
const char* font_name,
int font_width,
int font_height,
bool bDoNotUse =
false,
VideoTexture* pTexture = NULL,
FontManager** resultingManager = NULL,
unsigned int iMagnification = 0xFFFFFFFF);
384 void set(FontObject* fo)
413 FontHandle(
const char* font_name,
int font_width,
int font_height)
429 FontHandle(
const char* font_name,
int font_width,
int font_height,
int iMagnification)
463 bool operator==(
const FontHandle& t)
const {
return t.object == object; }
464 bool operator!=(
const FontHandle& t)
const {
return t.object != object; }
471 return (
object ? object->
mFontName : NULL);
477 operator FontObject* ()
482 return object->mFont;
490 return (
object ?
true :
false);
519 return ((r) | ((g) << 8) | ((b) << 16) | ((a) << 24));
527 r = (
unsigned char)((color) & 0xFF);
528 g = (
unsigned char)(((color) >> 8) & 0xFF);
529 b = (
unsigned char)(((color) >> 16) & 0xFF);
530 a = (
unsigned char)(((color) >> 24) & 0xFF);
533 bool operator==(
GUI_COLOR other) {
return (other.
r == r && other.
g == g && other.
b == b && other.
a == a); }
534 bool operator!=(
GUI_COLOR other) {
return (other.
r != r || other.
g != g || other.
b != b || other.
a != a); }
536 GUI_COLOR() { r = 0; g = 0; b = 0; a = 0; }
537 GUI_COLOR(
int _r,
int _g,
int _b,
int _a = 255) : r(_r), g(_g), b(_b), a(_a) {}
538 GUI_COLOR(
unsigned long color) { from_rgb(color); }
573 ret.
x = x * magnification;
574 ret.
y = y * magnification;
582 ret.
x = x / magnification;
583 ret.
y = y / magnification;
591 ret.
x = x + gFrame.
x;
592 ret.
y = y + gFrame.
y;
597 inline GUI_POINT reset_frame_relativity()
600 ret.
x = x - gFrame.
x;
601 ret.
y = y - gFrame.
y;
607 float mag = sqrtf((x * x) + (y * y));
627 float dot = (float)x * (
float)other.
x + (float)y * (
float)other.
y;
628 float det = (float)x * (
float)other.
y - (float)y * (
float)other.
x;
630 return atan2f(det, dot);
635 return sqrtf(powf(other.
x - x, 2) + powf(other.
y - y, 2));
640 return fabsf(other.
x - x);
645 return fabsf(other.
y - y);
650 return (this->x * other.
x) + (this->y * other.
y);
655 return (this->x * other.
y) - (this->y * other.
x);
661 double detL1 = ((double)a.
x * (
double)b.
y) - ((
double)a.
y * (double)b.
x);
662 double detL2 = ((double)c.
x * (
double)d.
y) - ((
double)c.
y * (double)d.
x);
663 double x1mx2 = a.
x - b.
x;
664 double x3mx4 = c.
x - d.
x;
665 double y1my2 = a.
y - b.
y;
666 double y3my4 = c.
y - d.
y;
668 double xnom = detL1 * x3mx4 - x1mx2 * detL2;
669 double ynom = detL1 * y3my4 - y1my2 * detL2;
670 double denom = x1mx2 * y3my4 - y1my2 * x3mx4;
675 hit->
x = xnom / denom;
676 hit->
y = ynom / denom;
681 inline void operator+=(
const GUI_POINT& n) { x += n.
x; y += n.
y; }
682 inline void operator*=(
const int n) { x *= n; y *= n; }
683 inline bool operator==(
const GUI_POINT& o) {
return (o.
x == x && o.
y == y); }
684 inline bool operator!=(
const GUI_POINT& o) {
return (o.
x != x || o.
y != y); }
689 inline GUI_POINT operator*(
const float n) {
return GUI_POINT(
int((
float)x * n),
int((
float)y * n)); }
690 inline GUI_POINT operator/(
const float n) {
return GUI_POINT(
int((
float)x / n),
int((
float)y / n)); }
698 inline int HashIndex() {
return ((y & 0xFFFF) << 16) | ((x & 0xFFFF)); }
699 inline int HashIndex()
const {
return ((y & 0xFFFF) << 16) | ((x & 0xFFFF)); }
700 inline bool operator<(
GUI_POINT other) {
return HashIndex() < other.HashIndex(); }
701 inline bool operator<=(
GUI_POINT other) {
return HashIndex() <= other.HashIndex(); }
702 inline bool operator>(
GUI_POINT other) {
return HashIndex() > other.HashIndex(); }
703 inline bool operator>=(
GUI_POINT other) {
return HashIndex() >= other.HashIndex(); }
704 inline bool operator<(
const GUI_POINT other)
const {
return HashIndex() < other.HashIndex(); }
705 inline bool operator<=(
const GUI_POINT other)
const {
return HashIndex() <= other.HashIndex(); }
706 inline bool operator>(
const GUI_POINT other)
const {
return HashIndex() > other.HashIndex(); }
707 inline bool operator>=(
const GUI_POINT other)
const {
return HashIndex() >= other.HashIndex(); }
727 ret.x = x * (float)magnification;
728 ret.y = y * (float)magnification;
737 ret.x = x / (float)magnification;
738 ret.y = y / (float)magnification;
747 ret.x = x + ((float)gFrame.
x / 512.f);
748 ret.y = y + ((float)gFrame.
y / 512.f);
757 ret.x = x - ((float)gFrame.
x / 512.f);
758 ret.y = y - ((float)gFrame.
y / 512.f);
764 float mag = sqrtf((x * x) + (y * y));
771 float dot = x * other.x + y * other.y;
772 float det = x * other.y - y * other.x;
773 return atan2f(det, dot);
778 float dot = x * (float)other.
x + y * (
float)other.
y;
779 float det = x * (float)other.
y - y * (
float)other.
x;
780 return atan2f(det, dot);
785 return sqrtf(powf(other.x - x, 2) + powf(other.y - y, 2));
790 GUI_POINT_F ret(x < 0 ? -1 : (x == 0 ? 0 : 1), y < 0 ? -1 : (y == 0 ? 0 : 1));
797 float a1 = b.y - a.y;
798 float b1 = a.x - b.x;
799 float c1 = a1 * (a.x) + b1 * (a.y);
802 float a2 = d.y - c.y;
803 float b2 = c.x - d.x;
804 float c2 = a2 * (c.x) + b2 * (c.y);
806 float determinant = a1 * b2 - a2 * b1;
809 if (determinant != 0.f)
811 hit->x = (b2 * c1 - b1 * c2) / determinant;
812 hit->y = (a1 * c2 - a2 * c1) / determinant;
820 inline bool operator==(
const GUI_POINT_F& o) {
return (o.x == x && o.y == y); }
821 inline bool operator!=(
const GUI_POINT_F& o) {
return (o.x != x || o.y != y); }
822 inline bool operator==(
const GUI_POINT& o) {
return ((
float)o.
x == x && (
float)o.
y == y); }
823 inline bool operator!=(
const GUI_POINT& o) {
return ((
float)o.
x != x || (
float)o.
y != y); }
824 inline void operator+=(
const GUI_POINT_F& n) { x += n.x; y += n.y; }
825 inline void operator*=(
const float n) { x *= n; y *= n; }
834 inline bool GUI_POINT::operator==(
const GUI_POINT_F& o) {
return ((
float)
x == o.x && (
float)
y == o.y); }
835 inline bool GUI_POINT::operator!=(
const GUI_POINT_F& o) {
return ((
float)
x != o.x || (
float)
y != o.y); }
848 GUI_RECT() : x(0), y(0), w(0), h(0) {}
850 GUI_RECT(
int _x,
int _y,
int _w,
int _h) : x(_x), y(_y), w(_w), h(_h) {}
855 GUI_RECT(
RECT r) : x(r.left), y(r.top), w(r.right - r.left), h(r.bottom - r.top) {}
859 void from_npc(
NPCHAR* npc);
869 inline bool operator==(
GUI_RECT other)
879 inline bool operator==(
const GUI_RECT other)
const
889 inline bool operator!=(
GUI_RECT other)
904 inline bool is_point_bordering(
GUI_POINT p)
906 if (contain_point(p) != p)
909 return (p.
x == x || p.
y == y || p.
x == x + w || p.
y == y + h);
942 ret.w -= (amount * 2);
943 ret.h -= (amount * 2);
952 p.
x = rel.
x < p.
x ? x : x + w;
953 p.
y = rel.
y < p.
y ? y : y + h;
961 ret.x = x * magnification;
962 ret.y = y * magnification;
963 ret.w = w * magnification;
964 ret.h = h * magnification;
978 inline GUI_RECT from_custom(
int mag)
991 ret.x = x / magnification;
992 ret.y = y / magnification;
993 ret.w = w / magnification;
994 ret.h = h / magnification;
1008 inline RECT to_rect()
1026 inline int left() {
return x; }
1027 inline int right() {
return x + w; }
1028 inline int top() {
return y; }
1029 inline int bottom() {
return y + h; }
1030 inline int width() {
return w; }
1031 inline int height() {
return h; }
1033 inline bool pointInRect(
const GUI_POINT& pt)
const
1035 return (pt.
x >= x && pt.
x < x + w && pt.
y >= y && pt.
y < y + h);
1038 inline bool contains(
const GUI_RECT& R)
const
1040 if (x <= R.x && y <= R.y)
1041 if (R.x + R.w <= x + w)
1042 if (R.y + R.h <= y + h)
1047 inline void contain(
GUI_RECT& other)
1049 int LEFT = other.left();
1050 int RIGHT = other.right();
1051 int TOP = other.top();
1052 int BOTTOM = other.bottom();
1058 if (RIGHT > right())
1060 if (BOTTOM > bottom())
1065 other.w = (RIGHT - LEFT);
1066 other.h = (BOTTOM - TOP);
1069 bool isValidRect()
const
1071 return (w > 0 && h > 0);
1074 inline bool intersect(
const GUI_RECT& clipRect)
1077 bottomL.
x =
MIN(x + w - 1, clipRect.x + clipRect.w - 1);
1078 bottomL.
y =
MIN(y + h - 1, clipRect.y + clipRect.h - 1);
1080 x =
MAX(x, clipRect.x);
1081 y =
MAX(y, clipRect.y);
1083 w = bottomL.
x - x + 1;
1084 h = bottomL.
y - y + 1;
1086 return isValidRect();
1089 inline bool overlaps(
const GUI_RECT& R)
const
1092 return test.intersect(R);
1095 static inline GUI_RECT FromRect(
int left,
int top,
int right,
int bottom)
1100 pRect.right = right;
1105 inline int HashIndex() {
return (x + w) + ((y + h) * 0x007FFFFF); }
1106 inline int HashIndex()
const {
return (x + w) + ((y + h) * 0x007FFFFF); }
1107 bool operator<(
GUI_RECT other) {
return HashIndex() < other.HashIndex(); }
1108 bool operator<=(
GUI_RECT other) {
return HashIndex() <= other.HashIndex(); }
1109 bool operator>(
GUI_RECT other) {
return HashIndex() > other.HashIndex(); }
1110 bool operator>=(
GUI_RECT other) {
return HashIndex() >= other.HashIndex(); }
1111 bool operator<(
const GUI_RECT other)
const {
return HashIndex() < other.HashIndex(); }
1112 bool operator<=(
const GUI_RECT other)
const {
return HashIndex() <= other.HashIndex(); }
1113 bool operator>(
const GUI_RECT other)
const {
return HashIndex() > other.HashIndex(); }
1114 bool operator>=(
const GUI_RECT other)
const {
return HashIndex() >= other.HashIndex(); }
1115 void operator*=(
float iMagnification) { x *= iMagnification; y *= iMagnification; w *= iMagnification; h *= iMagnification; }
1116 void operator/=(
float iMagnification) { x /= iMagnification; y /= iMagnification; w /= iMagnification; h /= iMagnification; }
1117 void operator*=(
GUI_RECT other) { x *= other.x; y *= other.y; w *= other.w; h *= other.h; }
1118 void operator/=(
GUI_RECT other) { x /= other.x; y /= other.y; w /= other.w; h /= other.h; }
1119 GUI_RECT operator*(
float fAmount) {
GUI_RECT a; a.x = x * fAmount; a.y = y * fAmount; a.w = w * fAmount; a.h = h * fAmount;
return a; }
1120 GUI_RECT operator/(
float fAmount) {
GUI_RECT a; a.x = x / fAmount; a.y = y / fAmount; a.w = w / fAmount; a.h = h / fAmount;
return a; }
1848 Set(pClient, iSetType);
1865 void DamagePlayer(
int iDamage);
1871 void AddExp(
int iAmount,
bool bSpur =
false);
1901 bool ChangeArmsEnergy(
int iAmmoAmt);
1916 bool HasArmsEnergy(
int iWeaponId,
int iAmount);
1923 int GetArmsEnergy(
int iWeaponId);
1930 int GetArmsMaxEnergy(
int iWeaponId);
1938 int GetArmsExp(
int iWeaponId,
int* iMaxExp = NULL);
1950 void PreviousWeapon();
2294 #define _NPCHAR_CACHE_SET(varName) this->varName = npc->varName;
2295 #define _NPCHAR_CACHE_TRANSMIT(varName) npc->varName = this->varName;
2296 #define _NPCHAR_CACHE_EQUALS(varName) npc->varName == this->varName
2305 unsigned short code_char;
2306 unsigned short act_no;
2307 unsigned short act_wait;
2308 unsigned short ani_no;
2309 unsigned short ani_wait;
2310 unsigned short life;
2311 unsigned char shock;
2320 inline void SetNpc(
NPCHAR* npc)
2322 _NPCHAR_CACHE_TRANSMIT(cond);
2323 _NPCHAR_CACHE_TRANSMIT(x);
2324 _NPCHAR_CACHE_TRANSMIT(y);
2325 _NPCHAR_CACHE_TRANSMIT(xm);
2326 _NPCHAR_CACHE_TRANSMIT(ym);
2327 _NPCHAR_CACHE_TRANSMIT(code_char);
2328 _NPCHAR_CACHE_TRANSMIT(act_no);
2329 _NPCHAR_CACHE_TRANSMIT(act_wait);
2330 _NPCHAR_CACHE_TRANSMIT(ani_no);
2331 _NPCHAR_CACHE_TRANSMIT(ani_wait);
2332 _NPCHAR_CACHE_TRANSMIT(pNpc);
2333 _NPCHAR_CACHE_TRANSMIT(focus);
2334 _NPCHAR_CACHE_TRANSMIT(shock);
2335 _NPCHAR_CACHE_TRANSMIT(life);
2336 _NPCHAR_CACHE_TRANSMIT(direct);
2337 _NPCHAR_CACHE_TRANSMIT(count1);
2338 _NPCHAR_CACHE_TRANSMIT(count2);
2339 _NPCHAR_CACHE_TRANSMIT(count3);
2340 _NPCHAR_CACHE_TRANSMIT(count4);
2345 _NPCHAR_CACHE_SET(cond);
2346 _NPCHAR_CACHE_SET(x);
2347 _NPCHAR_CACHE_SET(y);
2348 _NPCHAR_CACHE_SET(xm);
2349 _NPCHAR_CACHE_SET(ym);
2350 _NPCHAR_CACHE_SET(code_char);
2351 _NPCHAR_CACHE_SET(act_no);
2352 _NPCHAR_CACHE_SET(act_wait);
2353 _NPCHAR_CACHE_SET(ani_no);
2354 _NPCHAR_CACHE_SET(ani_wait);
2355 _NPCHAR_CACHE_SET(pNpc);
2356 _NPCHAR_CACHE_SET(focus);
2357 _NPCHAR_CACHE_SET(shock);
2358 _NPCHAR_CACHE_SET(life);
2359 _NPCHAR_CACHE_SET(direct);
2360 _NPCHAR_CACHE_SET(count1);
2361 _NPCHAR_CACHE_SET(count2);
2362 _NPCHAR_CACHE_SET(count3);
2363 _NPCHAR_CACHE_SET(count4);
2368 inline bool operator==(
NPCHAR* npc)
2371 _NPCHAR_CACHE_EQUALS(cond) &&
2372 _NPCHAR_CACHE_EQUALS(x) &&
2373 _NPCHAR_CACHE_EQUALS(y) &&
2374 _NPCHAR_CACHE_EQUALS(xm) &&
2375 _NPCHAR_CACHE_EQUALS(ym) &&
2376 _NPCHAR_CACHE_EQUALS(code_char) &&
2377 _NPCHAR_CACHE_EQUALS(act_no) &&
2378 _NPCHAR_CACHE_EQUALS(act_wait) &&
2379 _NPCHAR_CACHE_EQUALS(ani_no) &&
2380 _NPCHAR_CACHE_EQUALS(ani_wait) &&
2381 _NPCHAR_CACHE_EQUALS(pNpc) &&
2382 _NPCHAR_CACHE_EQUALS(focus) &&
2383 _NPCHAR_CACHE_EQUALS(shock) &&
2384 _NPCHAR_CACHE_EQUALS(life) &&
2385 _NPCHAR_CACHE_EQUALS(direct) &&
2386 _NPCHAR_CACHE_EQUALS(count1) &&
2387 _NPCHAR_CACHE_EQUALS(count2) &&
2388 _NPCHAR_CACHE_EQUALS(count3) &&
2389 _NPCHAR_CACHE_EQUALS(count4)
2393 inline bool operator!=(
NPCHAR* npc) {
return !this->operator==(npc); }
2395 #undef _NPCHAR_CACHE_SET
2396 #undef _NPCHAR_CACHE_EQUALS
2397 #undef _NPCHAR_CACHE_TRANSMIT
2720 static unsigned int defaultCustomMagnification;
2734 PRT_DIRTY = 0b000001,
2736 PRT_IGNORE_MOUSE = 0b000010,
2738 PRT_IGNORE_KEYS = 0b000100,
2740 PRT_SELECTED = 0b001000,
2742 PRT_DISABLE_MOUSE_ON_MOVE = 0b010000,
2744 PRT_CHANGED = 0b100000
2749 typedef void(*OnHoverChangeCallbackFunc)(
GuiBase*,
int value);
2753 typedef void(*OnValueChangeCallbackFunc)(
GuiBase*,
const char*& newValue);
2757 typedef bool(*OnValidateChangeCallbackFunc)(
GuiBase*,
const char* oldValue,
char* newValue);
2809 customMagnification = defaultCustomMagnification;
2811 hotspot_rect =
GUI_RECT(0, 0, 0, 0);
2812 OnHoverChange =
nullptr;
2813 OnValueChange =
nullptr;
2814 OnValidateChange =
nullptr;
2819 has_special_mouse_processing =
false;
2820 has_special_hotspot_rect =
false;
2950 virtual int getMagnification();
3065 virtual void setFont(FontObject* pFont) { mFont = pFont; }
3220 virtual void setFont(FontObject* pFont) { mFont = pFont; }
3365 virtual void setFont(FontObject* pFont) { mFont = pFont; }
3409 static GUI_RECT srcScrollBarX_BG[3];
3413 static GUI_RECT srcScrollBarX_LeftBtn[2];
3417 static GUI_RECT srcScrollBarX_RightBtn[2];
3421 static GUI_RECT srcScrollBarX_Handle[3];
3425 static GUI_RECT srcScrollBarX_HandleSel[3];
3429 static GUI_RECT srcScrollBarY_BG[3];
3433 static GUI_RECT srcScrollBarY_UpBtn[2];
3437 static GUI_RECT srcScrollBarY_DownBtn[2];
3441 static GUI_RECT srcScrollBarY_Handle[3];
3445 static GUI_RECT srcScrollBarY_HandleSel[3];
3449 static unsigned int srcBackgroundColor;
3453 static unsigned int srcOutlineColor;
3538 bool showingHandleX;
3542 bool showingHandleY;
3611 return (scrollState != ScrollState::SCROLL_NONE);
3769 static GUI_RECT srcInputBox_Style_1[9];
3773 static GUI_RECT srcInputBoxSel_Style_1[9];
3777 static GUI_RECT srcInputBox_Disabled[9];
3781 static GUI_RECT srcInputBoxSel_Disabled[9];
3785 static unsigned int srcSelBgColor;
3789 static unsigned int srcCursorColor;
3793 static unsigned int srcTextColor;
3797 static unsigned int srcTextColorStyle2;
3801 static unsigned int srcTextColorDisabled;
3805 static unsigned int srcTextColorCensored;
3816 typedef bool(*ValidateInputCallbackFunc)(
TextInputInfo* pTextInput,
const char* pValue,
char pValidateOutput[1024]);
3822 unsigned int textColor;
3834 char* censoredvalue;
3987 void setValue(
const char* value,
bool bUseCallback =
true);
4077 static GUI_RECT srcInputBox_Disabled[9];
4081 static GUI_RECT srcInputBoxSel_Disabled[9];
4085 static unsigned int srcSelBgColor;
4089 static unsigned int srcCursorColor;
4093 static unsigned int srcTextColor;
4097 static unsigned int srcTextColorDisabled;
4101 static unsigned int srcTextColorCensored;
4111 typedef bool(*ValidateKeyInputCallbackFunc)(
KeyInputInfo* pKeyInput,
int iKeyValue);
4141 char disp_text[256];
4229 void setValue(
int iScancode,
bool bUseCallback =
true);
4417 static unsigned int srcTooltipTextColor;
4560 virtual void setFont(FontObject* pFont) { font = pFont; }
4622 static GUI_RECT srcButtonDisSel[9];
4626 static unsigned int srcTextColor;
4630 static unsigned int srcDisabledTextColor;
4725 virtual void setFont(FontObject* pFont) { font = pFont; }
4764 static GUI_RECT srcDropdownBoxBG_Sel[3];
4768 static GUI_RECT srcDropdownBoxBG_Off[3];
4772 static GUI_RECT srcDropdownBoxBG_OffSel[3];
4776 static GUI_RECT srcDropdownBoxBG[3];
5276 ACTION_HOVER_MINMAX,
5278 ACTION_CLICK_MINMAX,
5282 ACTION_RESIZE_RIGHT,
5283 ACTION_RESIZE_BOTTOM,
5284 ACTION_RESIZE_BOTTOMLEFT,
5285 ACTION_RESIZE_BOTTOMRIGHT,
5286 ACTION_RESIZE_TOPLEFT
5293 static unsigned int srcTextColor;
5347 ActionType current_action;
5629 virtual void setFont(FontObject* pFont) { mFont = pFont; }
5666 static GUI_RECT srcSelectedTabButton_Normal[9];
5670 static GUI_RECT srcSelectedTabButton_Pressed[9];
5674 static GUI_RECT srcTabButton_Normal[9];
5678 static GUI_RECT srcTabButton_Pressed[9];
5682 static GUI_RECT srcTabButton_CloseButton[3];
5739 bool mHoveredTab_Close;
5744 int mLargestTabHeight;
5796 virtual void setFont(FontObject* pFont) { mFont = pFont; }
5807 void addTab(
const char* pTabText,
bool bCanBeClosed =
false);
5920 void(*mOnDrawFunc)(
CustomDrawInfo* pUs,
void* pUserData1,
void* pUserData2,
void* pUserData3);
6312 static GUI_RECT srcDropdownBoxBG_Sel[3];
6316 static GUI_RECT srcDropdownBoxBG_Off[3];
6320 static GUI_RECT srcDropdownBoxBG_OffSel[3];
6324 static GUI_RECT srcDropdownBoxBG[3];
6346 int mTotalItemCount;
6354 int mItemShortcutCount;
6370 unsigned int mTimeHovered;
6386 bool mRecentlyCleared;
6441 inline void setFont(FontObject* pFont) { mFont = pFont; }
6746 virtual void setFont(FontObject* pFont) { mFont = pFont; }
6870 unsigned short new_tile_id;
6871 unsigned short old_tile_id;
6873 inline bool operator==(
const MAP_CHANGED_TILE& other)
const {
return tile_index == other.tile_index; }
6874 inline bool operator!=(
const MAP_CHANGED_TILE& other)
const {
return tile_index != other.tile_index; }
6875 inline bool operator< (
const MAP_CHANGED_TILE& other)
const {
return tile_index < other.tile_index; }
6876 inline bool operator<=(
const MAP_CHANGED_TILE& other)
const {
return tile_index <= other.tile_index; }
6877 inline bool operator> (
const MAP_CHANGED_TILE& other)
const {
return tile_index > other.tile_index; }
6878 inline bool operator>=(
const MAP_CHANGED_TILE& other)
const {
return tile_index >= other.tile_index; }
6897 #define MAP_MAX_ZONES 0x7FFFFFFF
6942 void* tables_struct;
7334 unsigned char debug;
7369 static RECT RECT_XYWH(
int x,
int y,
int w,
int h)
CSM_ClientRanks
All possible values for a client's mAdminRank.
Definition: CSMAPI_enums.h:1465
@ SCI_ST_AUTO
Automatically determine which client type to use.
Definition: CSMAPI_enums.h:1015
Surface_Ids
List of surface IDs.
Definition: CSMAPI_enums.h:714
PLAYER_STATE_TRANSMIT_FLAGS
Playerstate transmit flags.
Definition: CSMAPI_enums.h:1133
CSM_KEY_DESC
A table of input descriptors.
Definition: CSMAPI_enums.h:116
@ CSM_KEY_DESC_KEY
Contains input flags from KEYBIND.
Definition: CSMAPI_enums.h:123
TextScriptSkipEventStatus
Cutscene skipping status.
Definition: CSMAPI_enums.h:1045
PlayerStateAnimator_OutputType
A list of output types for a player state's "ANIMATE" function.
Definition: CSMAPI_enums.h:1217
TextScriptTarget
The TextScript's target.
Definition: CSMAPI_enums.h:1059
CSM_RankedClientInfoType
Ranked client type.
Definition: CSMAPI_enums.h:1403
void(* FreeNPCFunc)(NPCHAR *npc)
A custom free function for NPCHAR.
Definition: CSMAPI_types.h:112
BOOL(* CollideNPCFunc)(NPCHAR *npc)
Custom collision detection function.
Definition: CSMAPI_types.h:119
float(* CSM_NetScore_GetScoreModifyAmount)(CaveNet::DataStructures::NetClient *pClient, CaveNet::DataStructures::NetScoreInstance *pInstance)
Determine the amount of score to be modified for a client.
Definition: CSMAPI_types.h:7388
void(* PlayerState_DrawFuncType)(int iFrameX, int iFrameY, MYCHAR *pMC, SafeClientInterface *pInterface)
The draw function for this player state.
Definition: CSMAPI_types.h:7161
void(* PutNPCFunc)(NPCHAR *npc, int fx, int fy)
A custom draw function for NPCHAR.
Definition: CSMAPI_types.h:107
void(* CSM_Npc_ActFunc)(NPCHAR *pNpc)
Called every frame an NPC is active.
Definition: CSMAPI_types.h:7417
void(* PlayerState_ActFuncType)(BOOL bKey, SafeClientInterface *pInterface, MYCHAR *pMC, const MYCHAR_PHYSICS *pPhysics)
The act function for this player state.
Definition: CSMAPI_types.h:7144
void(* CSM_Caret_ActFunc)(CARET *caret)
Called every frame a caret is active.
Definition: CSMAPI_types.h:7425
unsigned int(* PlayerState_AnimFuncType)(BOOL bKey, MYCHAR *pMC, SafeClientInterface *pInterface)
The animation function for this player state.
Definition: CSMAPI_types.h:7153
void(* CSM_Bullet_ActFunc)(BULLET *pBul, int iLevel)
Called every frame a bullet is active.
Definition: CSMAPI_types.h:7408
void(* CSM_Weapon_ShootFunc)(ShootInfo *sData, int iLevel)
Called every frame a weapon is equipped, for every client.
Definition: CSMAPI_types.h:7398
Networking client.
Definition: CaveNet_ExportedTypes.h:1825
A networking player.
Definition: CaveNet_ExportedTypes.h:3560
Definition: CaveNet_ExportedTypes.h:674
Custom draw GUI element.
Definition: CSMAPI_types.h:6131
virtual void setSelected(int value)
Set this GUI element as selected or not.
virtual bool isHoverable()
Check hoverability status.
virtual bool isHovered()
Check hover status.
~CaveStoryDialogBoxInfo()
Default deconstructor.
virtual void setHovered(int value)
Set this GUI element as hovered over or not.
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:6155
virtual void calculate()
Re-calculate this element's data.
CaveStoryDialogBoxInfo()
Default constructor.
virtual bool isSelected()
Check selection status.
virtual GUI_RECT getContentArea(int iMargin=0)
Get the content area for this object.
virtual int process(GUI_POINT mouse)
Process mouse input for this element.
virtual void render()
Render this element.
Draw centered text.
Definition: CSMAPI_types.h:2965
bool mCenterHorizontal
Vertical center align.
Definition: CSMAPI_types.h:3020
unsigned int mTextColor_RGB
Text color RGB.
Definition: CSMAPI_types.h:2971
virtual int process(GUI_POINT mouse)
Process mouse input for this element.
bool mCenterVertical
Vertical center align.
Definition: CSMAPI_types.h:3016
virtual bool isSelected()
Check selection status.
FontObject * mFont
Font for this element.
Definition: CSMAPI_types.h:2976
void getLineText(int index, char *buffer, int buffer_len)
Fetch line text.
int getLineCount()
Get new line count.
GUI_POINT mMinimumSize
Minimum size for this point.
Definition: CSMAPI_types.h:2981
GUI_POINT mTextPoint
Text point for this element.
Definition: CSMAPI_types.h:2993
virtual void render()
Render this element.
virtual void setHovered(int value)
Set this GUI element as hovered over or not.
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:3034
virtual void setFont(FontObject *pFont)
Set this element's font.
Definition: CSMAPI_types.h:3065
int getLineLength(int index)
Check line length.
GUI_POINT mTextSize
The size of the text.
Definition: CSMAPI_types.h:2998
FontObject * getFont()
Get this element's font.
Definition: CSMAPI_types.h:3070
virtual void calculate()
Re-calculate this element's data.
virtual bool isHoverable()
Check hoverability status.
virtual bool isHovered()
Check hover status.
const char * getText()
Get this object's text.
Definition: CSMAPI_types.h:3107
CenteredTextInfo()
Default constructor.
virtual void setSelected(int value)
Set this GUI element as selected or not.
int mNewLineCount
The list size of mNewLines.
Definition: CSMAPI_types.h:3012
GUI_COLOR mTextColor
The text color.
Definition: CSMAPI_types.h:3002
void setText(const char *text)
Set the text of this element.
GUI_POINT getLineSize(int index)
Fetch line graphical size.
Show a toggleable checkbox.
Definition: CSMAPI_types.h:4286
virtual int process(GUI_POINT mouse)
Process mouse input for this element.
bool getValue()
Get the value of this checkbox.
virtual bool isSelected()
Check selection status.
virtual int processKeys()
Process key input for this element.
bool mIsDisabled
Disable.
Definition: CSMAPI_types.h:4310
~CheckBoxInfo()
Default deconstructor.
virtual void setHovered(int value)
Set this GUI element as hovered over or not.
bool mSmall
Use small sprite instead of the big one.
Definition: CSMAPI_types.h:4306
bool mValue
Whether this checkbox is enabled or not.
Definition: CSMAPI_types.h:4298
virtual void render()
Render this element.
int mRadioGroup
Radio group ID.
Definition: CSMAPI_types.h:4302
virtual bool isHovered()
Check hover status.
virtual void setSelected(int value)
Set this GUI element as selected or not.
virtual int getSelectableCount()
Get the selectable number of elements in this element.
Definition: CSMAPI_types.h:4357
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:4327
virtual void calculate()
Re-calculate this element's data.
void setValue(bool val)
Set the value of this checkbox.
virtual bool isHoverable()
Check hoverability status.
virtual int getHoverableCount()
Get the number of elements that can be hovered over in this element.
Definition: CSMAPI_types.h:4362
CheckBoxInfo()
Default constructor.
Several combined GUI elements to form a color picker.
Definition: CSMAPI_types.h:5053
virtual int getSelectableCount()
Get the selectable number of elements in this element.
int margin
Item margin.
Definition: CSMAPI_types.h:5138
virtual bool isHovered()
Check hover status.
virtual GuiBase * getSelectable(int index)
Get a selectable sub-element.
virtual void setFont(FontObject *pFont)
Set this element's font.
virtual void render()
Render this element.
virtual void setSelected(int value)
Set this GUI element as selected or not.
GUI_COLOR color
The current color value.
Definition: CSMAPI_types.h:5134
GUI_POINT spriteSize
The sprite size to accomadate for when calling OnRenderSprite()
Definition: CSMAPI_types.h:5130
ColorPickerInfo()
Default constructor.
SliderIntInfo mSlider_Blue
Blue slider.
Definition: CSMAPI_types.h:5105
void updateColor(bool callback=true)
Update current color.
virtual bool isSelected()
Check selection status.
virtual FontObject * getFont()
Get the font for this GUI element.
Definition: CSMAPI_types.h:5223
SliderIntInfo mSlider_Green
Green slider.
Definition: CSMAPI_types.h:5101
virtual int getHoverableCount()
Get the number of elements that can be hovered over in this element.
virtual GuiBase * getHoverable(int index)
Get a hoverable sub-element.
virtual void calculate()
Re-calculate this element's data.
virtual void importantRender()
Render the important bits of this element.
~ColorPickerInfo()
Default deconstructor.
virtual void setHovered(int value)
Set this GUI element as hovered over or not.
virtual int process(GUI_POINT mouse)
Process mouse input for this element.
TextInputInfo mEdit_Red
Red value textbox.
Definition: CSMAPI_types.h:5109
SliderIntInfo mSlider_Red
Red slider.
Definition: CSMAPI_types.h:5097
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:5155
virtual bool isHoverable()
Check hoverability status.
TextInputInfo mEdit_Green
Green value textbox.
Definition: CSMAPI_types.h:5113
TextInputInfo mEdit_Blue
Blue value textbox.
Definition: CSMAPI_types.h:5117
Custom draw GUI element.
Definition: CSMAPI_types.h:5914
virtual void calculate()
Re-calculate this element's data.
virtual bool isHovered()
Check hover status.
virtual void render()
Render this element.
virtual bool isSelected()
Check selection status.
virtual void setSelected(int value)
Set this GUI element as selected or not.
~CustomDrawInfo()
Default deconstructor.
virtual int process(GUI_POINT mouse)
Process mouse input for this element.
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:5939
CustomDrawInfo()
Default constructor.
virtual void setHovered(int value)
Set this GUI element as hovered over or not.
virtual bool isHoverable()
Check hoverability status.
Show a clickable button.
Definition: CSMAPI_types.h:5251
virtual int processKeys()
Process key input for this element.
void setText(const char *pValue)
Set this element's text.
OnWindowDraggedFunc OnResizeStart
On resize start callback.
Definition: CSMAPI_types.h:5369
GUI_RECT valid_drag_rect
The valid rect that this window can be dragged to.
Definition: CSMAPI_types.h:5433
OnWindowDraggedFunc OnDragStart
On drag start callback.
Definition: CSMAPI_types.h:5361
GUI_RECT getContentArea()
Get the area that content goes in.
bool isCollapsed()
Check to see if this window is collapsed.
Definition: CSMAPI_types.h:5455
GUI_RECT content_rect
The rect at which the window's contents should be at.
Definition: CSMAPI_types.h:5417
bool can_resize_width
Whether the width of this window can be resized.
Definition: CSMAPI_types.h:5405
OnWindowDraggedFunc OnResizeEnd
On resize end callback.
Definition: CSMAPI_types.h:5377
bool can_resize_height
Whether the height of this window can be resized.
Definition: CSMAPI_types.h:5409
GUI_POINT collapse_position
The point at which the window is collapsed at.
Definition: CSMAPI_types.h:5421
OnWindowDraggedFunc OnResizing
On resizing callback.
Definition: CSMAPI_types.h:5373
bool show_button_close
Show the close button.
Definition: CSMAPI_types.h:5393
void setCollapsed(bool bValue)
Set whether this window is collapsed.
Definition: CSMAPI_types.h:5460
OnWindowCollapsedFunc OnCollapse
On collapse callback.
Definition: CSMAPI_types.h:5381
virtual void render()
Render this element.
virtual bool isHoverable()
Check hoverability status.
virtual int process(GUI_POINT mouse)
Process mouse input for this element.
~DraggableWindowInfo()
Default deconstructor.
OnWindowClosedFunc OnClose
On close callback.
Definition: CSMAPI_types.h:5389
virtual void setSelected(int value)
Set this GUI element as selected or not.
GUI_POINT collapse_normal
The normal coordinates at which the element will move when positioning relative to collapse_position.
Definition: CSMAPI_types.h:5425
void setContentSize(GUI_POINT pSize)
Set the content size of this window.
OnWindowExpandedFunc OnExpand
On expand callback.
Definition: CSMAPI_types.h:5385
virtual void setFont(FontObject *pFont)
Set this element's font.
GUI_RECT getStaticAreaSize()
Get the size of the static space that does not change.
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:5450
void calculateTop()
Calculate the top.
bool show_button_minmax
Show the minmax button.
Definition: CSMAPI_types.h:5397
virtual FontObject * getFont()
Get the font for this GUI element.
Definition: CSMAPI_types.h:5524
int margin
The text margin for this object.
Definition: CSMAPI_types.h:5353
virtual void setHovered(int value)
Set this GUI element as hovered over or not.
int resize_hotspot_size
The resize hotspot size.
Definition: CSMAPI_types.h:5413
virtual bool isSelected()
Check selection status.
DraggableWindowInfo()
Default constructor.
virtual bool isHovered()
Check hover status.
OnWindowDraggedFunc OnDragEnd
On drag end callback.
Definition: CSMAPI_types.h:5365
bool is_draggable
Whether this window is draggable or not.
Definition: CSMAPI_types.h:5401
virtual int getSelectableCount()
Get the selectable number of elements in this element.
Definition: CSMAPI_types.h:5495
virtual void calculate()
Re-calculate this element's data.
OnWindowDraggedFunc OnDragged
On drag callback.
Definition: CSMAPI_types.h:5357
virtual int getHoverableCount()
Get the number of elements that can be hovered over in this element.
Definition: CSMAPI_types.h:5500
GUI_POINT min_content_size
The minimum content size this window can have.
Definition: CSMAPI_types.h:5429
Custom draw GUI element.
Definition: CSMAPI_types.h:5988
~DrawBitmapInfo()
Default deconstructor.
bool LoadImage(const char *pImage)
Load an image using a file path.
void SetImageSourceRect(GUI_RECT *pSrcRect)
Set the image's source rect.
virtual bool isHovered()
Check hover status.
virtual void setHovered(int value)
Set this GUI element as hovered over or not.
GUI_RECT m_SrcRect
The source rect that we will be using to draw the image with.
Definition: CSMAPI_types.h:6004
Surface_Ids m_SurfID
The loaded surface's ID.
Definition: CSMAPI_types.h:5999
virtual void setSelected(int value)
Set this GUI element as selected or not.
Surface_Ids GetSurfaceID()
Get the image's surface ID.
Definition: CSMAPI_types.h:6070
void SetColorMod(GUI_COLOR *pColor)
Set the modulation color.
DrawBitmapInfo()
Default constructor.
GUI_COLOR GetColorMod()
Get the modulation color.
Definition: CSMAPI_types.h:6075
virtual bool isHoverable()
Check hoverability status.
virtual void calculate()
Re-calculate this element's data.
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:6082
GUI_RECT GetImageSourceRect()
Get the image's source rect.
Definition: CSMAPI_types.h:6065
virtual void render()
Render this element.
virtual int process(GUI_POINT mouse)
Process mouse input for this element.
bool m_IsSurfAllocated
If this is 'true', then we need to unload m_SrcSurfID when this object gets deleted.
Definition: CSMAPI_types.h:5994
bool m_Stretch
Stretch the image along with this object's rect.
Definition: CSMAPI_types.h:6018
bool LoadImage(Surface_Ids eSurfId)
Load an image using a surface ID.
void Cleanup()
Cleanup this DrawBitmapInfo object.
virtual bool isSelected()
Check selection status.
Show a dropdown box.
Definition: CSMAPI_types.h:4759
virtual bool getIsOpen()
Get whether this dropdown box is opened or not.
virtual void setSelected(int value)
Set this GUI element as selected or not.
virtual void render()
Render this element.
virtual void setHovered(int value)
Set this GUI element as hovered over or not.
virtual int process(GUI_POINT mouse)
Process mouse input for this element.
int mItemMargin
Item margin.
Definition: CSMAPI_types.h:4898
GUI_RECT containing_rect
Containing rect.
Definition: CSMAPI_types.h:4870
virtual bool isSelected()
Check selection status.
virtual bool isHoverable()
Check hoverability status.
const char * getItemText(int index)
Get item text by index.
int mSelected
Whether the dropbox is expanded or not.
Definition: CSMAPI_types.h:4902
DropdownBoxInfo()
Default constructor.
~DropdownBoxInfo()
Default deconstructor.
virtual FontObject * getFont()
Get the font for this GUI element.
Definition: CSMAPI_types.h:4936
void clearItems()
Clear all items.
bool mDisabled
Whether this element is disabled or not.
Definition: CSMAPI_types.h:4890
virtual void setFont(FontObject *pFont)
Set this element's font.
GUI_COLOR mText_ListSelected
The color of the text when the element is selected in the list.
Definition: CSMAPI_types.h:4882
virtual bool isHovered()
Check hover status.
ScrollAreaInfo * getScroll()
Get the scroll object.
virtual void importantRender()
Render the important bits of this element.
int getCount()
Get number of selectable options.
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:4919
GUI_COLOR mText_Normal
The color of the text when the element is normal.
Definition: CSMAPI_types.h:4878
GUI_COLOR mText_NotSelected
The color of the text when the element is not selected.
Definition: CSMAPI_types.h:4886
static int GetDropdownBoxHeight(FontObject *pFont=NULL, int iTextMargin=-1)
Get the height of a normal dropdown box.
void setSelectedItem(int iItemId)
Set the selected item.
virtual int processKeys()
Process key input for this element.
GUI_COLOR mText_Disabled
The color of the text when the element is disabled.
Definition: CSMAPI_types.h:4874
void addItem(const char *text)
Add an item to the list.
int mTextMargin
Text margin.
Definition: CSMAPI_types.h:4894
virtual void calculate()
Re-calculate this element's data.
virtual int getSelectableCount()
Get the selectable number of elements in this element.
Definition: CSMAPI_types.h:5003
virtual void setIsOpen(bool bIsOpen)
Set whether this dropdown box is open or not.
virtual int getHoverableCount()
Get the number of elements that can be hovered over in this element.
Definition: CSMAPI_types.h:5008
An external window to render stuff on.
Definition: ExternalWindow.h:151
A handle for fonts.
Definition: CSMAPI_types.h:357
const char * getName() const
Returns the font's name, if it exists.
Definition: CSMAPI_types.h:469
bool isValid() const
Check to see if this handle is valid.
Definition: CSMAPI_types.h:488
Manages fonts.
Definition: CSMAPI_types.h:255
static void UnloadFont(FontObject *fo)
Unload a font object.
static void ReadyAllFontsForWindowResize()
Ready all loaded font objects for a window resizing.
int mUserCount
How many users this font has If 0, it will be freed.
Definition: CSMAPI_types.h:283
static void LinkFontToTexture(FontObject *fo, VideoTexture *pTexture)
Link a font to a texture.
static FontObject * LoadFont(const char *font_name, int font_width, int font_height, bool bDoNotUse=false, VideoTexture *pTexture=NULL, FontManager **resultingManager=NULL, unsigned int iMagnification=0xFFFFFFFF)
Load a font by name & size.
char mFontName[127]
The name of this font.
Definition: CSMAPI_types.h:274
static void DestroyRendererTextures(void *pTarget)
Destroy all textures related to the given renderer.
static void ResizeAllFonts()
Resize all fonts following a magnification change.
int mWidth
Font width.
Definition: CSMAPI_types.h:287
static FontManager * GetManagerForFont(FontObject *fo)
Fetch the font manager for a font object.
static void UseFont(FontObject *pFont)
Increment the use count for a font.
FontObject * mFont
The font object tied to this manager.
Definition: CSMAPI_types.h:278
int mHeight
Font height.
Definition: CSMAPI_types.h:291
Show a windows-style group box.
Definition: CSMAPI_types.h:5557
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:5619
virtual bool isSelected()
Check selection status.
Definition: CSMAPI_types.h:5610
~GroupBoxInfo()
Default deconstructor.
virtual void setFont(FontObject *pFont)
Set this element's font.
Definition: CSMAPI_types.h:5629
GroupBoxInfo()
Default constructor.
virtual void calculate()
Re-calculate this element's data.
virtual void setSelected(int value)
Set this GUI element as selected or not.
Definition: CSMAPI_types.h:5608
virtual void render()
Render this element.
virtual int getSelectableCount()
Get the selectable number of elements in this element.
Definition: CSMAPI_types.h:5599
virtual int getHoverableCount()
Get the number of elements that can be hovered over in this element.
Definition: CSMAPI_types.h:5604
virtual bool isHoverable()
Check hoverability status.
virtual bool isHovered()
Check hover status.
Definition: CSMAPI_types.h:5611
void fitRect(GUI_RECT content_rect, int margin=0)
Resize this element to fit the given content rect.
virtual FontObject * getFont()
Get the font for this GUI element.
Definition: CSMAPI_types.h:5634
virtual void setHovered(int value)
Set this GUI element as hovered over or not.
Definition: CSMAPI_types.h:5609
virtual int process(GUI_POINT)
Process mouse input for this element.
Definition: CSMAPI_types.h:5612
The base class for GUI elements.
Definition: CSMAPI_types.h:2717
virtual FontObject * getFont()
Get the font for this GUI element.
Definition: CSMAPI_types.h:2917
virtual GuiBase * getHoverable(int index)
Get a hoverable sub-element.
Definition: CSMAPI_types.h:2893
virtual bool SelectOnMouseUp()
Select on mouse up.
Definition: CSMAPI_types.h:2905
virtual bool isHovered()=0
Check hover status.
bool has_special_hotspot_rect
Has special hotspot rect; If true, 'process' will be called everytime the mouse is inside of 'hotspot...
Definition: CSMAPI_types.h:2801
virtual void importantRender()
Render the important bits of this element.
Definition: CSMAPI_types.h:2946
unsigned int customMagnification
The magnification to display this element at.
Definition: CSMAPI_types.h:2783
virtual int processKeys()
Process key input for this element.
Definition: CSMAPI_types.h:2941
GUI_RECT hotspot_rect
The special hotspot rect.
Definition: CSMAPI_types.h:2797
bool has_special_mouse_processing
Has special mouse processing.
Definition: CSMAPI_types.h:2793
virtual void calculate()=0
Re-calculate this element's data.
virtual bool isHoverable()=0
Check hoverability status.
virtual GuiBase * getSelectable(int index)
Get a selectable sub-element.
Definition: CSMAPI_types.h:2900
virtual int getHoverableCount()
Get the number of elements that can be hovered over in this element.
Definition: CSMAPI_types.h:2886
OnHoverChangeCallbackFunc OnHoverChange
Called in specific GuiBase children classes to indicate that the GUI element is being hovered over.
Definition: CSMAPI_types.h:2789
virtual int getSelectableCount()
Get the selectable number of elements in this element.
Definition: CSMAPI_types.h:2881
virtual ~GuiBase()
Default deconstructor.
Definition: CSMAPI_types.h:2825
GuiBase()
Default constructor.
Definition: CSMAPI_types.h:2807
OnValidateChangeCallbackFunc OnValidateChange
Called in specific GuiBase children classes to indicate that a value has been changed.
Definition: CSMAPI_types.h:2767
virtual void setSelected(int value)=0
Set this GUI element as selected or not.
void * userData2
Custom user data.
Definition: CSMAPI_types.h:2779
OnValueChangeCallbackFunc OnValueChange
Called in specific GuiBase children classes to indicate that a value has been changed.
Definition: CSMAPI_types.h:2763
virtual void setFont(FontObject *pFont)
Set the font for this GUI element.
Definition: CSMAPI_types.h:2912
virtual void setHovered(int value)=0
Set this GUI element as hovered over or not.
void * userData
Custom user data.
Definition: CSMAPI_types.h:2775
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:2845
GUI_RECT rect
The display rect this GUI element will use.
Definition: CSMAPI_types.h:2771
ProcessReturnType
Return flags for GuiBase::process and GuiBase::processKeys.
Definition: CSMAPI_types.h:2732
void Unlink()
Unlink ourselves from the global GUI element linkage.
virtual int process(GUI_POINT mouse)=0
Process mouse input for this element.
virtual bool isSelected()=0
Check selection status.
virtual void render()=0
Render this element.
void Link()
Link ourselves to the global GUI element linkage.
Text.
Definition: CSMAPI_types.h:3131
virtual void setSelected(int value)
Set this GUI element as selected or not.
int mReJustify
Whether to rejustify on next calulation or not.
Definition: CSMAPI_types.h:3157
virtual void setFont(FontObject *pFont)
Set this element's font.
Definition: CSMAPI_types.h:3220
virtual bool isHoverable()
Check hoverability status.
virtual void setHovered(int value)
Set this GUI element as hovered over or not.
virtual void calculate()
Re-calculate this element's data.
virtual bool isHovered()
Check hover status.
void setText(const char *text)
Set the text of this element.
unsigned int mTextColor_RGB
Text color RGB.
Definition: CSMAPI_types.h:3137
virtual void render()
Render this element.
bool mJustifyRight
Whether to justify this text to the right or not.
Definition: CSMAPI_types.h:3175
virtual FontObject * getFont()
Get the font for this GUI element.
Definition: CSMAPI_types.h:3225
GUI_COLOR mOutlineColor
The outline color.
Definition: CSMAPI_types.h:3167
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:3189
virtual int process(GUI_POINT mouse)
Process mouse input for this element.
unsigned int mOutlineColor_RGB
Text color RGB.
Definition: CSMAPI_types.h:3142
int mOutlineWidth
The outline width.
Definition: CSMAPI_types.h:3171
FontObject * mFont
Font for this element.
Definition: CSMAPI_types.h:3147
virtual bool isSelected()
Check selection status.
const char * getText()
Get the text of this element.
Definition: CSMAPI_types.h:3236
GUI_COLOR mTextColor
The text color.
Definition: CSMAPI_types.h:3163
LabelInfo()
Default constructor.
A map zone to be used for network optimization.
Definition: CSMAPI_types.h:6903
void DeleteAllBoss()
Delete all bosses that are inside of this zone.
bool HasBoss(NPCHAR *npc)
Check if this zone has a boss npc in it.
void PutNpChar(int frame_x, int frame_y)
Draw npcs.
bool HasNpChar(NPCHAR *npc)
Check if this zone has an npc in it.
int id
The ID for this zone.
Definition: CSMAPI_types.h:6907
void ActBoss()
Think tick all npcs.
int used
'Use' count for this zone
Definition: CSMAPI_types.h:6932
int soft_npc_count
deprectated
Definition: CSMAPI_types.h:6936
void RemoveBoss(NPCHAR *npc)
Remove a boss from the list.
void ActNpChar()
Think tick all npcs.
void AddNpChar(NPCHAR *npc)
Add an NPCHAR to the list.
void AddBoss(NPCHAR *npc)
Add a boss to the list.
void PutBoss(int frame_x, int frame_y)
Draw npcs.
~MAP_ZONE()
Deconstructor.
void Free()
Free all memory associated with this object.
void RemoveNpChar(NPCHAR *npc)
Remove an NPCHAR from the list.
void Init()
Initialize this object.
void DeleteAllNpChar()
Delete all NPCs that are inside of this zone.
Text.
Definition: CSMAPI_types.h:3260
virtual void setFont(FontObject *pFont)
Set this element's font.
Definition: CSMAPI_types.h:3365
GUI_COLOR mColor_BG_Normal
The normal background color.
Definition: CSMAPI_types.h:3289
virtual bool SelectOnMouseUp()
Select on mouse up.
Definition: CSMAPI_types.h:3359
void setText(const char *text)
Set the text of this element.
FontObject * mFont
Font for this element.
Definition: CSMAPI_types.h:3266
GUI_COLOR mColor_BG_Hover
The hovered background color.
Definition: CSMAPI_types.h:3293
virtual void calculate()
Re-calculate this element's data.
bool mHovered
If this is being hovered over.
Definition: CSMAPI_types.h:3305
virtual int process(GUI_POINT mouse)
Process mouse input for this element.
GUI_COLOR mColor_Text_Normal
The text color.
Definition: CSMAPI_types.h:3277
virtual bool isHovered()
Check hover status.
GUI_COLOR mColor_Text_Hover
The text color when hovered over.
Definition: CSMAPI_types.h:3281
virtual int getHoverableCount()
Get the number of elements that can be hovered over in this element.
Definition: CSMAPI_types.h:3354
virtual int getSelectableCount()
Get the selectable number of elements in this element.
Definition: CSMAPI_types.h:3349
virtual void setHovered(int value)
Set this GUI element as hovered over or not.
virtual void render()
Render this element.
virtual bool isHoverable()
Check hoverability status.
virtual bool isSelected()
Check selection status.
GUI_COLOR mColor_Text_Selected
The text color when selected.
Definition: CSMAPI_types.h:3285
virtual void setSelected(int value)
Set this GUI element as selected or not.
virtual FontObject * getFont()
Get the font for this GUI element.
Definition: CSMAPI_types.h:3370
SelectableLabelInfo()
Default constructor.
const char * getText()
Get the text of this element.
Definition: CSMAPI_types.h:3381
bool mSelected
The type of selection we're dealing with.
Definition: CSMAPI_types.h:3301
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:3319
GUI_COLOR mColor_BG_Selected
The selected background color.
Definition: CSMAPI_types.h:3297
Text.
Definition: CSMAPI_types.h:6577
int GetSelectedEntry()
Retrieve the selected entry.
virtual bool isSelected()
Check selection status.
int mScrollY
The scroll Y offset.
Definition: CSMAPI_types.h:6630
bool mAllowRightClick
Allow right click selection.
Definition: CSMAPI_types.h:6684
void ClearAllEntries()
Clear all entries.
virtual int getSelectableCount()
Get the selectable number of elements in this element.
Definition: CSMAPI_types.h:6730
List< SEL_LIST_ENTRY * > mEntries
Stores all entries for this element.
Definition: CSMAPI_types.h:6622
GUI_POINT GetContentSze()
Get the entire content size.
int mScrollX
The scroll X offset.
Definition: CSMAPI_types.h:6626
virtual void calculate()
Re-calculate this element's data.
SEL_LIST_ENTRY * mShownLink
A link of shown entries.
Definition: CSMAPI_types.h:6646
virtual int process(GUI_POINT mouse)
Process mouse input for this element.
GUI_RECT GetEntryRectById(int iSelectedId, bool bUseScrolled=false)
Retrieve an entry's rect.
bool mDirty
Our 'dirty' variable.
Definition: CSMAPI_types.h:6642
virtual int getHoverableCount()
Get the number of elements that can be hovered over in this element.
Definition: CSMAPI_types.h:6735
virtual bool isHoverable()
Check hoverability status.
GUI_COLOR mColor_BG_Hover
The hovered background color.
Definition: CSMAPI_types.h:6672
virtual bool isHovered()
Check hover status.
GUI_POINT mContentSize
Content size.
Definition: CSMAPI_types.h:6650
virtual bool SelectOnMouseUp()
Select on mouse up.
Definition: CSMAPI_types.h:6740
int mMargin
Entry margin.
Definition: CSMAPI_types.h:6680
virtual void setSelected(int value)
Set this GUI element as selected or not.
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:6700
void SetScrollOffset(int iOffsetX, int iOffsetY)
Set the scroll offset for all entries.
GUI_COLOR mColor_Text_Normal
The text color.
Definition: CSMAPI_types.h:6656
virtual void render()
Render this element.
bool AddEntry(int iSelectionId, const char *pText)
Add an entry.
virtual void setFont(FontObject *pFont)
Set this element's font.
Definition: CSMAPI_types.h:6746
~SelectableListInfo()
Default deconstructor.
int mSelected
The selected entry.
Definition: CSMAPI_types.h:6638
GUI_COLOR mColor_Text_Selected
The text color when selected.
Definition: CSMAPI_types.h:6664
int mHovered
The highlighted entry.
Definition: CSMAPI_types.h:6634
GUI_COLOR mColor_BG_Normal
The normal background color.
Definition: CSMAPI_types.h:6668
GUI_COLOR mColor_Text_Hover
The text color when hovered over.
Definition: CSMAPI_types.h:6660
FontObject * mFont
Font for this element.
Definition: CSMAPI_types.h:6618
GUI_COLOR mColor_BG_Selected
The selected background color.
Definition: CSMAPI_types.h:6676
SelectableListInfo()
Default constructor.
virtual void setHovered(int value)
Set this GUI element as hovered over or not.
Show a number slider.
Definition: CSMAPI_types.h:4404
int getValue()
Get the value.
virtual int getSelectableCount()
Get the selectable number of elements in this element.
Definition: CSMAPI_types.h:4532
virtual bool SelectOnMouseUp()
Select on mouse up.
Definition: CSMAPI_types.h:4542
virtual int processKeys()
Process key input for this element.
virtual void calculate()
Re-calculate this element's data.
virtual void setSelected(int value)
Set this GUI element as selected or not.
bool mLiveUpdate
Update the value when being dragged.
Definition: CSMAPI_types.h:4485
virtual void importantRender()
Render the important bits of this element.
float mValue
The selected number.
Definition: CSMAPI_types.h:4469
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:4502
virtual void setHovered(int value)
Set this GUI element as hovered over or not.
virtual int process(GUI_POINT mouse)
Process mouse input for this element.
SliderIntInfo()
Default constructor.
virtual bool isHoverable()
Check hoverability status.
virtual void render()
Render this element.
~SliderIntInfo()
Default deconstructor.
bool mIntOnly
Round mValue to nearest value on value change.
Definition: CSMAPI_types.h:4481
void setValue(int val)
Set the value.
virtual void setFont(FontObject *pFont)
Set this element's font.
Definition: CSMAPI_types.h:4560
virtual bool isSelected()
Check selection status.
virtual FontObject * getFont()
Get the font for this GUI element.
Definition: CSMAPI_types.h:4565
float mMin
The minimum value.
Definition: CSMAPI_types.h:4477
float mMax
The maximum value.
Definition: CSMAPI_types.h:4473
virtual bool isHovered()
Check hover status.
virtual int getHoverableCount()
Get the number of elements that can be hovered over in this element.
Definition: CSMAPI_types.h:4537
Show a tab selector.
Definition: CSMAPI_types.h:5651
virtual int getHoverableCount()
Get the number of elements that can be hovered over in this element.
bool getHoveredOverCloseButton()
Get whether we've hovered over the close button.
Definition: CSMAPI_types.h:5835
OnTabSelectedFunc OnTabSelectCallback
The 'on tab selection' callback.
Definition: CSMAPI_types.h:5754
virtual void setFont(FontObject *pFont)
Set this element's font.
Definition: CSMAPI_types.h:5796
virtual void setHovered(int value)
Set this GUI element as hovered over or not.
void addTab(const char *pTabText, bool bCanBeClosed=false)
Add an item to the list.
virtual int processKeys()
Process key input for this element.
void clearTabs()
Clear all items.
int mSelectedTab
The selected tab.
Definition: CSMAPI_types.h:5762
virtual bool isHovered()
Check hover status.
virtual int getSelectableCount()
Get the selectable number of elements in this element.
~TabBookInfo()
Default deconstructor.
virtual void render()
Render this element.
TAB * getTab(int tab)
Get a tab by index.
TabBookInfo()
Default constructor.
OnTabCloseFunc OnTabCloseCallback
The 'on tab closed' callback.
Definition: CSMAPI_types.h:5758
GUI_RECT getDrawRect()
Get the draw offset for this control.
Definition: CSMAPI_types.h:5880
int getTabCount()
Get number of selectable options.
virtual int process(GUI_POINT mouse)
Process mouse input for this element.
virtual FontObject * getFont()
Get the font for this GUI element.
Definition: CSMAPI_types.h:5801
void setHoveredOverCloseButton(bool bValue)
Set whether we've hovered over the close button.
Definition: CSMAPI_types.h:5830
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:5791
bool mDrawBorder
Draw the border color.
Definition: CSMAPI_types.h:5770
virtual bool isSelected()
Check selection status.
void setCloseHovered(int value)
Set this GUI element as hovered over or not.
virtual void calculate()
Re-calculate this element's data.
int mMargin
Text margin.
Definition: CSMAPI_types.h:5766
GUI_RECT mTabContentRect
Content Rect.
Definition: CSMAPI_types.h:5750
virtual bool isHoverable()
Check hoverability status.
bool mDrawFill
Draw the fill color.
Definition: CSMAPI_types.h:5774
virtual void setSelected(int value)
Set this GUI element as selected or not.
Show a text input box.
Definition: CSMAPI_types.h:3733
virtual bool SelectOnMouseUp()
Select on mouse up.
Definition: CSMAPI_types.h:3979
virtual void setSelected(int value)
Set this GUI element as selected or not.
virtual bool isHovered()
Check hover status.
virtual int getSelectableCount()
Get the selectable number of elements in this element.
Definition: CSMAPI_types.h:3969
virtual void setFont(FontObject *pFont)
Set the font for this element.
void stopInput()
Stop inputting text.
const char * getValue()
Get the value of the inputbox.
virtual const char * getClassName()
Get this class' name.
Definition: CSMAPI_types.h:3939
int sel_start
Selection start.
Definition: CSMAPI_types.h:3892
virtual int process(GUI_POINT mouse)
Process mouse input for this element.
void resizeTextSize()
Resize the text size.
CANCEL_KEY_TYPE mCancelKey
Which cancel key was pressed to lose focus.
Definition: CSMAPI_types.h:3884
int sel_end
Selection end.
Definition: CSMAPI_types.h:3896
ValidateInputCallbackFunc ValidateInput
Called when text is finalized (by pressing enter, cancel or clicking outside of the input box).
Definition: CSMAPI_types.h:3880
~TextInputInfo()
Default deconstructor.
void startInput(GUI_POINT mouse=GUI_POINT(0, 0))
Set this inputbox as 'focused', and start inputting text.
virtual bool isHoverable()
Check hoverability status.
CANCEL_KEY_TYPE
Cancel key types.
Definition: CSMAPI_types.h:3739
@ ENTER
Enter button todo: Make pressing enter call a callback.
Definition: CSMAPI_types.h:3742
@ ESCAPE
Escape button.
Definition: CSMAPI_types.h:3745
EInputBoxStyle mInputStyle
The style of this input box.
Definition: CSMAPI_types.h:3876
virtual int processKeys()
Process key input for this element.
int max_length
Maximum input length.
Definition: CSMAPI_types.h:3888
virtual bool isSelected()
Check selection status.
int margin
Text margin.
Definition: CSMAPI_types.h:3916
void setValue(const char *value, bool bUseCallback=true)
Set the value of the inputbox.
virtual void setHovered(int value)
Set this GUI element as hovered over or not.
bool is_selecting
Is selecting.
Definition: CSMAPI_types.h:3900
bool is_disabled
Is disabled.
Definition: CSMAPI_types.h:3908
virtual void calculate()
Re-calculate this element's data.
virtual void render()
Render this element.
virtual FontObject * getFont()
Get the font for this GUI element.
Definition: CSMAPI_types.h:4002
TextInputInfo()
Default constructor.
int getStringOffsetByMouse(GUI_POINT mouse)
Get input offset by mouse position.
bool callback_on_change
Call the OnValueChange callback on every keystroke.
Definition: CSMAPI_types.h:3912
virtual int getHoverableCount()
Get the number of elements that can be hovered over in this element.
Definition: CSMAPI_types.h:3974
bool is_password
Is password box.
Definition: CSMAPI_types.h:3904
An editable texture API.
Definition: VideoTexture.h:51
CAVESTORY_MOD_API void ChangeToFirstArms()
Switch to this client's first weapon.
CAVESTORY_MOD_API int CountArmsBullet(int iArmsCode, int iGhostId=-1)
Get the number of bullets matching the given description onscreen.
#define CAVESTORY_MOD_API
Exports / imports Cavestory Mod API functions & classes.
Definition: CSMAPI_begincode.h:31
CAVESTORY_MOD_API int CountBulletNum(int iBulletCode, int iGhostId=-1)
Get the number of bullets matching the given description onscreen.
#define NPC_MAX
How many npcs can be initialized at one time.
Definition: CSMAPI_defines.h:49
CAVESTORY_MOD_API BOOL UseArmsEnergy(long iNum, ARMS *pArmsTable, int iSelectedIdx)
Use some arms energy from the selected arm.
#define MAX(A, B)
Get the maximum value between two values.
Definition: CSMAPI_defines.h:69
#define MIN(A, B)
Get the minimum value between two values.
Definition: CSMAPI_defines.h:68
Definition: CSMAPI_types.h:2299
Weapon object.
Definition: CSMAPI_types.h:1264
int level
Level of the weapon.
Definition: CSMAPI_types.h:1271
int code
ID of this weapon.
Definition: CSMAPI_types.h:1267
int num
Current ammo.
Definition: CSMAPI_types.h:1283
int exp
Current experience points gathered.
Definition: CSMAPI_types.h:1275
int max_num
Maximum ammo.
Definition: CSMAPI_types.h:1279
Bullet object.
Definition: CSMAPI_types.h:1128
int code_arms
The ID of the weapon this bullet belongs to.
Definition: CSMAPI_types.h:1139
int ym
Y Motion (y velocity)
Definition: CSMAPI_types.h:1163
int blockYL
Wall collision height.
Definition: CSMAPI_types.h:1231
int life_count
Bullet range.
Definition: CSMAPI_types.h:1207
int flag
Bullet flags.
Definition: CSMAPI_types.h:1131
int tgt_x
Target X.
Definition: CSMAPI_types.h:1167
int act_wait
Act wait counter.
Definition: CSMAPI_types.h:1179
int enemyXL
Enemy collision width.
Definition: CSMAPI_types.h:1219
RECT rect
Sprite rect.
Definition: CSMAPI_types.h:1195
int x
X Position.
Definition: CSMAPI_types.h:1151
int ani_wait
Animation wait counter.
Definition: CSMAPI_types.h:1183
int team_id
This bullet's Team ID.
Definition: CSMAPI_types.h:1247
int code_bullet
The ID for this bullet.
Definition: CSMAPI_types.h:1135
int count1
Custom counter 1.
Definition: CSMAPI_types.h:1199
int bbits
Bullet bit-flags.
Definition: CSMAPI_types.h:1143
int ghostId
The client's Ghost ID who this belongs to.
Definition: CSMAPI_types.h:1239
int level
Level of the bullet.
Definition: CSMAPI_types.h:1243
int act_no
Act number.
Definition: CSMAPI_types.h:1175
int cond
This bullet's condition.
Definition: CSMAPI_types.h:1147
RECT view
View rect.
Definition: CSMAPI_types.h:1235
int enemyYL
Enemy collision height.
Definition: CSMAPI_types.h:1223
int ani_no
Animation number.
Definition: CSMAPI_types.h:1187
int xm
X Motion (x velocity)
Definition: CSMAPI_types.h:1159
unsigned char direct
Direction.
Definition: CSMAPI_types.h:1191
int blockXL
Wall collision width.
Definition: CSMAPI_types.h:1227
int life
Hits left before the bullet is deleted.
Definition: CSMAPI_types.h:1215
int damage
Bullet damage.
Definition: CSMAPI_types.h:1211
int tgt_y
Target Y.
Definition: CSMAPI_types.h:1171
int count2
Custom counter 2.
Definition: CSMAPI_types.h:1203
int y
Y Position.
Definition: CSMAPI_types.h:1155
Stores particle information.
Definition: CSMAPI_types.h:1298
int cond
The condition of the caret.
Definition: CSMAPI_types.h:1301
int act_wait
The act timer.
Definition: CSMAPI_types.h:1333
RECT rect
The rect to be drawn.
Definition: CSMAPI_types.h:1353
int code
The caret's ID.
Definition: CSMAPI_types.h:1305
int x
Subpixel X position.
Definition: CSMAPI_types.h:1313
int direct
The direction of the caret.
Definition: CSMAPI_types.h:1309
int ani_wait
The current animation timer.
Definition: CSMAPI_types.h:1341
int ym
Subpixel Y velocity.
Definition: CSMAPI_types.h:1325
int xm
Subpixel X velocity.
Definition: CSMAPI_types.h:1321
int act_no
The act number.
Definition: CSMAPI_types.h:1329
int view_top
Subpixel height of the caret (half-size)
Definition: CSMAPI_types.h:1349
int y
Subpixel Y position.
Definition: CSMAPI_types.h:1317
int view_left
Subpixel width of the caret (half-size)
Definition: CSMAPI_types.h:1345
int ani_no
The current animation number.
Definition: CSMAPI_types.h:1337
Point structure.
Definition: CSMAPI_types.h:155
int x
X Position.
Definition: CSMAPI_types.h:158
int y
Y Position.
Definition: CSMAPI_types.h:162
Quick Surface Access data.
Definition: CSMAPI_types.h:7349
GUI_RECT rect
The rect.
Definition: CSMAPI_types.h:7352
char * data
The data.
Definition: CSMAPI_types.h:7356
A client's ranked info.
Definition: CSMAPI_types.h:7257
unsigned int user_ident_hash[5]
The user ident hash this belongs to.
Definition: CSMAPI_types.h:7268
char * name
The name of the client.
Definition: CSMAPI_types.h:7260
CSM_ClientRanks rank
The client's rank.
Definition: CSMAPI_types.h:7272
CSM_RankedClientInfoType type
The type of comparison this info object uses.
Definition: CSMAPI_types.h:7264
Custom frame limit object.
Definition: CSMAPI_types.h:219
bool use
Whether to use or not.
Definition: CSMAPI_types.h:222
int y
Y limit.
Definition: CSMAPI_types.h:230
int x
X limit.
Definition: CSMAPI_types.h:226
int w
W limit.
Definition: CSMAPI_types.h:234
int h
H limit.
Definition: CSMAPI_types.h:238
Custom object structure.
Definition: CSMAPI_types.h:1396
int ym
Y Motion.
Definition: CSMAPI_types.h:1415
int tgt_y
Target Y.
Definition: CSMAPI_types.h:1423
RECT hit
Hitbox.
Definition: CSMAPI_types.h:1399
int x
X Position.
Definition: CSMAPI_types.h:1403
int tgt_x
Target X.
Definition: CSMAPI_types.h:1419
int xm
X Motion.
Definition: CSMAPI_types.h:1411
int y
Y Position.
Definition: CSMAPI_types.h:1407
int flag
Collision flags.
Definition: CSMAPI_types.h:1427
Animation information for CustomPlayerAnimation.
Definition: CSMAPI_types.h:1433
bool is_my_player
Whether or not this is the main character.
Definition: CSMAPI_types.h:1456
void * current_frame_ptr
Current animation frame.
Definition: CSMAPI_types.h:1452
int cycle_count
The number of animation cycles that have completed since this animation started playing.
Definition: CSMAPI_types.h:1460
unsigned int change_time
The last time that the player's animation changed.
Definition: CSMAPI_types.h:1464
int curr_anim
This player's current animation frame.
Definition: CSMAPI_types.h:1440
unsigned int frame_no
Current frame number.
Definition: CSMAPI_types.h:1448
int current_anim_type
The current animation type.
Definition: CSMAPI_types.h:1436
unsigned int delay_expire
The expire point of the current delay that must be passed in order for frame_no to continue ticking.
Definition: CSMAPI_types.h:1444
DynamicWindowMode config struct.
Definition: CSMAPI_types.h:7278
GUI_POINT min_size
The minimum size for this window.
Definition: CSMAPI_types.h:7325
bool allow_undo_redo
Allow undo redo for this mode.
Definition: CSMAPI_types.h:7321
bool use_window
Always draw the window.
Definition: CSMAPI_types.h:7309
int max_undo_steps
The maximum number of undo steps.
Definition: CSMAPI_types.h:7317
char window_title[260]
The title for this window.
Definition: CSMAPI_types.h:7281
bool follow_window_height
Follow base window's height.
Definition: CSMAPI_types.h:7343
bool use_external_window
Use a external window.
Definition: CSMAPI_types.h:7305
ExternalWindow * parent
The parent window.
Definition: CSMAPI_types.h:7301
bool init_content_size
Use the initial window size as the content size.
Definition: CSMAPI_types.h:7313
int margin
The margin for everything.
Definition: CSMAPI_types.h:7289
char window_guifile[260]
The pxgui file name for this mode.
Definition: CSMAPI_types.h:7285
bool follow_window_width
Follow base window's width.
Definition: CSMAPI_types.h:7339
int dirty_count
The number of times this dynamic window has been dirtied & subsequentially re-rendered.
Definition: CSMAPI_types.h:7329
bool can_close
Whether the user can close this window or not.
Definition: CSMAPI_types.h:7293
bool hide_on_close
Set the window to only hide when clicking on the 'X' button.
Definition: CSMAPI_types.h:7297
Dropdown box item struct.
Definition: CSMAPI_types.h:4791
GUI_POINT text_size
The size of this item's text.
Definition: CSMAPI_types.h:4806
GUI_RECT item_rect
This item's rect.
Definition: CSMAPI_types.h:4798
GUI_POINT text_point
The position for this item's text.
Definition: CSMAPI_types.h:4802
Camera struct.
Definition: CSMAPI_types.h:170
int quake
Quake counter.
Definition: CSMAPI_types.h:193
bool focus_center_x
Force the camera to focus on the horizontal center of the map.
Definition: CSMAPI_types.h:201
int x
X offset.
Definition: CSMAPI_types.h:173
int y
Y offset.
Definition: CSMAPI_types.h:177
int * tgt_x
Target X offset.
Definition: CSMAPI_types.h:181
int quake2
Quake 2 counter.
Definition: CSMAPI_types.h:197
int last_tile_x
The last tile X position.
Definition: CSMAPI_types.h:209
int last_tile_y
The last tile Y position.
Definition: CSMAPI_types.h:213
int wait
How fast the camera should be.
Definition: CSMAPI_types.h:189
int * tgt_y
Target Y offset.
Definition: CSMAPI_types.h:185
bool focus_center_y
Force the camera to focus on the vertical center of the map.
Definition: CSMAPI_types.h:205
Manages colors.
Definition: CSMAPI_types.h:497
unsigned char r
Red value.
Definition: CSMAPI_types.h:500
void from_rgb(unsigned long color)
Convert from RGBA to fill r, g, b and a.
Definition: CSMAPI_types.h:525
unsigned long to_rgb()
Convert this color to RGBA.
Definition: CSMAPI_types.h:517
unsigned char g
Green value.
Definition: CSMAPI_types.h:504
unsigned char a
Alpha value.
Definition: CSMAPI_types.h:512
unsigned char b
Blue value.
Definition: CSMAPI_types.h:508
Manages points (float).
Definition: CSMAPI_types.h:713
GUI_POINT_F make_frame_relative()
Divides the points by the current screen magnification.
Definition: CSMAPI_types.h:744
GUI_POINT_F to_screenspace()
Multiplies the points by the current screen magnification.
Definition: CSMAPI_types.h:724
GUI_POINT_F from_screenspace()
Divides the points by the current screen magnification.
Definition: CSMAPI_types.h:734
GUI_POINT_F reset_frame_relativity()
Divides the points by the current screen magnification.
Definition: CSMAPI_types.h:754
Manages points.
Definition: CSMAPI_types.h:546
int y
The Y position.
Definition: CSMAPI_types.h:553
int x
The X position.
Definition: CSMAPI_types.h:549
Definition: CSMAPI_types.h:842
GUI_RECT pad(int amount)
Add padding to the rect.
Definition: CSMAPI_types.h:937
Item object.
Definition: CSMAPI_types.h:1289
int code
Item ID.
Definition: CSMAPI_types.h:1292
Contains an animated map tile's information.
Definition: CSMAPI_types.h:7029
unsigned int tile_offset
The offset of the map tile we're replacing.
Definition: CSMAPI_types.h:7036
MAP_ANIMATED_TILE * draw_next
The next linked to draw.
Definition: CSMAPI_types.h:7070
unsigned char timer
The timer for this tile.
Definition: CSMAPI_types.h:7062
unsigned char frame
The current frame for this tile.
Definition: CSMAPI_types.h:7058
Surface_Ids surf_id
The surface IDs for this tile.
Definition: CSMAPI_types.h:7040
MAP_ANIMATED_TILE * proc_next
The next linked to process.
Definition: CSMAPI_types.h:7074
RECT * rect_list
The rect list for this tile.
Definition: CSMAPI_types.h:7044
bool foreground
Whether this should be drawn in the foreground(TRUE) or background(FALSE).
Definition: CSMAPI_types.h:7032
unsigned char rect_count
The number of rects in this tile.
Definition: CSMAPI_types.h:7048
MAP_ANIMATED_TILE * next
The next linked.
Definition: CSMAPI_types.h:7066
unsigned short wait
The amount of frames that need to pass before the framecounter for this tile is incremented.
Definition: CSMAPI_types.h:7052
Definition: CSMAPI_types.h:6868
Contains the currently loaded stage's map data.
Definition: CSMAPI_types.h:7082
int zone_count
Number of map zones.
Definition: CSMAPI_types.h:7109
unsigned char atrb[0x10001]
Map tileset attribute table.
Definition: CSMAPI_types.h:7093
short length
Height of map.
Definition: CSMAPI_types.h:7101
int anim_count
Number of animated foreground map tiles.
Definition: CSMAPI_types.h:7125
short width
Width of map.
Definition: CSMAPI_types.h:7097
unsigned short * ngdata
Zone tile data.
Definition: CSMAPI_types.h:7089
void * compiled_map_resource
internal use; do not use / set
Definition: CSMAPI_types.h:7133
MAP_ANIMATED_TILE * anim_list
Animated map tiles.
Definition: CSMAPI_types.h:7121
MAP_ZONE * zones
Map zones.
Definition: CSMAPI_types.h:7105
MAP_ANIMATED_TILE * anim_proc_list
Process list.
Definition: CSMAPI_types.h:7117
MAP_ANIMATED_TILE * anim_draw
Drawn animated tiles.
Definition: CSMAPI_types.h:7113
unsigned short * data
Tile indices.
Definition: CSMAPI_types.h:7085
unsigned int crc
The CRC of this map.
Definition: CSMAPI_types.h:7129
The rect for this zone.
Definition: CSMAPI_types.h:6912
int w
Width.
Definition: CSMAPI_types.h:6923
int x
X.
Definition: CSMAPI_types.h:6915
int y
Y.
Definition: CSMAPI_types.h:6919
int h
Height.
Definition: CSMAPI_types.h:6927
Physics specifier for MYCHAR.
Definition: CSMAPI_types.h:1359
int resist
Air resistance.
Definition: CSMAPI_types.h:1386
int max_move
Maximum move speed.
Definition: CSMAPI_types.h:1366
int dash1
Acceleration (1)
Definition: CSMAPI_types.h:1378
int max_dash
Maximum dash amount.
Definition: CSMAPI_types.h:1362
int jump
Jump force.
Definition: CSMAPI_types.h:1390
int gravity1
Normal gravity applied.
Definition: CSMAPI_types.h:1370
int dash2
Acceleration (2)
Definition: CSMAPI_types.h:1382
int gravity2
Gravity applied when holding the jumping key.
Definition: CSMAPI_types.h:1374
Player state argument info.
Definition: CSMAPI_types.h:7168
PLAYER_STATE_TRANSMIT_FLAGS Field
The field this argument info object represents.
Definition: CSMAPI_types.h:7175
bool UseDefaultSize
Use the default size for this field.
Definition: CSMAPI_types.h:7179
bool Ranged
Whether this argument info uses ranges OR just uses traditional size.
Definition: CSMAPI_types.h:7187
bool Used
Whether this is the end of the argument list or not.
Definition: CSMAPI_types.h:7171
int MinValue
The minimum range for this argument.
Definition: CSMAPI_types.h:7191
int MaxValue
The maximum range for this argument.
Definition: CSMAPI_types.h:7195
unsigned char NetSize
Traditional size.
Definition: CSMAPI_types.h:7183
Player state information.
Definition: CSMAPI_types.h:7201
PlayerState_DrawFuncType DrawFunc
The draw function for this player state.
Definition: CSMAPI_types.h:7229
PlayerState_ActFuncType ActFunc
The act function for this player state.
Definition: CSMAPI_types.h:7212
char * StateName
The name of this player state.
Definition: CSMAPI_types.h:7204
unsigned long long int Flags
The flags for this player state.
Definition: CSMAPI_types.h:7238
MYCHAR_STATE_ARG_INFO * ArgList
The custom argument list for this player state.
Definition: CSMAPI_types.h:7247
bool LoadedByMod
Whether this was loaded / overloaded by the currently loaded mod or not.
Definition: CSMAPI_types.h:7251
PlayerStateAnimator_OutputType AnimateRetType
The return type of the animate function.
Definition: CSMAPI_types.h:7233
unsigned int TransmitFlags
The transmit flags for this player state.
Definition: CSMAPI_types.h:7243
PlayerState_AnimFuncType AnimFunc
The animation function for this player state.
Definition: CSMAPI_types.h:7221
Player character object.
Definition: CSMAPI_types.h:1470
int exp_count
HUD stuff.
Definition: CSMAPI_types.h:1626
short life
Current health.
Definition: CSMAPI_types.h:1659
int boost_cnt
Booster amount left.
Definition: CSMAPI_types.h:1705
short max_life
Max health.
Definition: CSMAPI_types.h:1669
unsigned int flag
Flags.
Definition: CSMAPI_types.h:1489
int up
Is facing up?
Definition: CSMAPI_types.h:1506
int xm
X Motion.
Definition: CSMAPI_types.h:1554
int npc_control
NPC Control.
Definition: CSMAPI_types.h:1502
int equip
Current equip flags.
Definition: CSMAPI_types.h:1518
signed char boost_sw
HUD stuff.
Definition: CSMAPI_types.h:1701
int tgt_x
X Target Position.
Definition: CSMAPI_types.h:1530
int lifeBr
HUD stuff.
Definition: CSMAPI_types.h:1677
CaveNet::DataStructures::NetClient * pOtherClient
Other player.
Definition: CSMAPI_types.h:1753
unsigned short cond
Condition.
Definition: CSMAPI_types.h:1477
int draw_offset_x
Draw offset.
Definition: CSMAPI_types.h:1538
int draw_offset_y
Draw offset.
Definition: CSMAPI_types.h:1542
int boost_max
Booster max amount.
Definition: CSMAPI_types.h:1709
unsigned char col_r
Red value for the color of their character.
Definition: CSMAPI_types.h:1713
RECT rect
Sprite rect.
Definition: CSMAPI_types.h:1610
unsigned char rensha
Weapon rensha.
Definition: CSMAPI_types.h:1647
int old_ym
Old Y motion (before HitMyCharMap was called)
Definition: CSMAPI_types.h:1566
bool init_state
Initialize state.
Definition: CSMAPI_types.h:1481
int y
Y Position.
Definition: CSMAPI_types.h:1526
MYCHAR * pOther
Other player.
Definition: CSMAPI_types.h:1761
int count2
Count2.
Definition: CSMAPI_types.h:1590
int x
X Position.
Definition: CSMAPI_types.h:1522
bool use_char_color
Whether to use the custom color or not.
Definition: CSMAPI_types.h:1725
unsigned char bubble
Bubble.
Definition: CSMAPI_types.h:1651
int down
Is facing down?
Definition: CSMAPI_types.h:1510
unsigned char col_g
Green value for the color of their character.
Definition: CSMAPI_types.h:1717
int air_get
How much air we're getting.
Definition: CSMAPI_types.h:1689
int zone
Which zone this character is in.
Definition: CSMAPI_types.h:1729
MYCHAR_PHYSICS physics_underwater
Underwater physics.
Definition: CSMAPI_types.h:1737
bool ignore_water
If set to 'true', then this player cannot drown.
Definition: CSMAPI_types.h:1655
int count3
Count3.
Definition: CSMAPI_types.h:1594
int index_y
Index Y.
Definition: CSMAPI_types.h:1550
RECT hit
Hit rect.
Definition: CSMAPI_types.h:1602
int ani_no
Animation number.
Definition: CSMAPI_types.h:1574
int built_xm
Built xm.
Definition: CSMAPI_types.h:1741
int exp_wait
HUD stuff.
Definition: CSMAPI_types.h:1622
int act_no
Act number.
Definition: CSMAPI_types.h:1578
int count1
Count1.
Definition: CSMAPI_types.h:1586
unsigned int next_flag
Next frame flags.
Definition: CSMAPI_types.h:1493
int act_wait
Act wait.
Definition: CSMAPI_types.h:1582
CaveNet::DataStructures::NetClient * pClient
This client (redundant, used for GameSnapshot system)
Definition: CSMAPI_types.h:1757
int direct
Direction.
Definition: CSMAPI_types.h:1498
CUSTOM_PLAYER_ANIMATION_INFO anim_info
The animation info for this player.
Definition: CSMAPI_types.h:1765
NPCHAR * pNpc
Pointer NPC.
Definition: CSMAPI_types.h:1749
signed char sprash
HUD stuff.
Definition: CSMAPI_types.h:1693
CUSTOM_OBJECT obj
Custom object.
Definition: CSMAPI_types.h:1769
int lifeBr_count
HUD stuff.
Definition: CSMAPI_types.h:1681
int level
HUD stuff.
Definition: CSMAPI_types.h:1618
int index_x
Index X.
Definition: CSMAPI_types.h:1546
int built_ym
Built ym.
Definition: CSMAPI_types.h:1745
short star
How many stars we have revolving around us.
Definition: CSMAPI_types.h:1665
CustomPlayer * character
Custom player character.
Definition: CSMAPI_types.h:1473
unsigned char col_b
Blue value for the color of their character.
Definition: CSMAPI_types.h:1721
unsigned char no_life
?
Definition: CSMAPI_types.h:1643
unsigned char shock
Shock.
Definition: CSMAPI_types.h:1634
short a
a
Definition: CSMAPI_types.h:1673
signed char ques
HUD stuff.
Definition: CSMAPI_types.h:1697
int ym
Y Motion.
Definition: CSMAPI_types.h:1558
int old_xm
Old X motion (before HitMyCharMap was called)
Definition: CSMAPI_types.h:1562
RECT rect_arms
Arms sprite rect.
Definition: CSMAPI_types.h:1614
int ani_wait
Animation wait counter.
Definition: CSMAPI_types.h:1570
RECT view
View rect.
Definition: CSMAPI_types.h:1606
int count4
Count4.
Definition: CSMAPI_types.h:1598
int tgt_y
Y Target Position.
Definition: CSMAPI_types.h:1534
MYCHAR_PHYSICS physics_normal
Normal physics.
Definition: CSMAPI_types.h:1733
bool dont_flash_shock
Flash shock.
Definition: CSMAPI_types.h:1639
int air
How much air we have.
Definition: CSMAPI_types.h:1685
bool free_state
Free state.
Definition: CSMAPI_types.h:1485
int netanim
Animation index.
Definition: CSMAPI_types.h:1514
NPC object.
Definition: CSMAPI_types.h:2021
CaveNet::DataStructures::NetClient * dependent
The client ID of the client we're dependent on.
Definition: CSMAPI_types.h:2260
RECT rect
Sprite rect.
Definition: CSMAPI_types.h:2120
int count1
Custom counter 1.
Definition: CSMAPI_types.h:2132
bool sized
Whether this NPC is custom sized.
Definition: CSMAPI_types.h:2244
unsigned char shock
Shock Set when this NPC gets hurt, and decrements to 0 every frame.
Definition: CSMAPI_types.h:2164
unsigned long long int nodes
Node flags.
Definition: CSMAPI_types.h:2028
unsigned long long int transmit_nodes
Transmit node flags.
Definition: CSMAPI_types.h:2032
int direct
NPC Direction.
Definition: CSMAPI_types.h:2112
int xm2
X Motion 2.
Definition: CSMAPI_types.h:2060
void * data
Custom user data.
Definition: CSMAPI_types.h:2252
Surface_Ids surf
Surface ID – Reserved for CaveEditor – Do not change unless you know what you're doing.
Definition: CSMAPI_types.h:2088
bool should_call_free
Should call free function.
Definition: CSMAPI_types.h:2193
CollideNPCFunc collideFunc
Custom collide function.
Definition: CSMAPI_types.h:2189
int x
X Position.
Definition: CSMAPI_types.h:2044
int code_char
ID of this NPC.
Definition: CSMAPI_types.h:2076
CaveNet::DataStructures::NetClient * client
Client pointer – Do not change this variable.
Definition: CSMAPI_types.h:2213
int count2
Custom counter 2.
Definition: CSMAPI_types.h:2136
MYCHAR * dfocus
Display focus – Do not change this variable.
Definition: CSMAPI_types.h:2221
int count3
Custom counter 3.
Definition: CSMAPI_types.h:2140
FreeNPCFunc freeFunc
Custom free function.
Definition: CSMAPI_types.h:2185
unsigned char cond
NPC Condition flags.
Definition: CSMAPI_types.h:2036
CAVESTORY_MOD_API unsigned int GetHash(bool bForce=false)
Get this NPC's hash.
int exp
How much experience points this NPC drops on death.
Definition: CSMAPI_types.h:2104
int xm
X Motion.
Definition: CSMAPI_types.h:2052
int scalar
Scalar for this NPC.
Definition: CSMAPI_types.h:2248
unsigned int last_update_time
A timestamp of when this NPC was last updated.
Definition: CSMAPI_types.h:2024
int ani_no
Animation number.
Definition: CSMAPI_types.h:2128
int updateTicks
Counter for updating focus – Do not change this variable.
Definition: CSMAPI_types.h:2240
MYCHAR * focus2
Focus 2 – Do not change this variable.
Definition: CSMAPI_types.h:2236
int count4
Custom counter 4.
Definition: CSMAPI_types.h:2144
int tgt_y
Target Y.
Definition: CSMAPI_types.h:2072
int damage_view
Damage view.
Definition: CSMAPI_types.h:2168
int ym2
Y Motion 2.
Definition: CSMAPI_types.h:2064
int old_y
cache – do not use
Definition: CSMAPI_types.h:2201
CaveNet::DataStructures::NetClient * damage_target
Will only damage this specific client if not set to NULL.
Definition: CSMAPI_types.h:2264
int ani_wait
Animation wait counter.
Definition: CSMAPI_types.h:2124
int damage
How much damage this NPC deals to the player.
Definition: CSMAPI_types.h:2172
PutNPCFunc putFunc
Custom draw function.
Definition: CSMAPI_types.h:2181
int hit_voice
Hit voice – Reserved for CaveEditor – Do not change unless you know what you're doing.
Definition: CSMAPI_types.h:2092
int old_ani_no
cache – do not use
Definition: CSMAPI_types.h:2205
MYCHAR * focus
A pointer to the character that this NPC is focusing.
Definition: CSMAPI_types.h:2232
int code_event
The event this NPC should call.
Definition: CSMAPI_types.h:2084
CaveNet::DataStructures::NetClient * client2
Client pointer – Do not change this variable.
Definition: CSMAPI_types.h:2217
int act_no
Act number.
Definition: CSMAPI_types.h:2148
unsigned int bits
Map flags for this NPC.
Definition: CSMAPI_types.h:2116
int size
NPC Scale.
Definition: CSMAPI_types.h:2108
int act_wait
Act wait counter.
Definition: CSMAPI_types.h:2152
NPCHAR * pNpc
NPC Pointer If you use this, you should specify "pNpc" in both Node flags & Transmit node flags in Ca...
Definition: CSMAPI_types.h:2177
int ym
Y Motion.
Definition: CSMAPI_types.h:2056
int zone
Which zone this NPC is currently in – Do not change this variable.
Definition: CSMAPI_types.h:2209
int tgt_x
Target X.
Definition: CSMAPI_types.h:2068
RECT hit
Hit rect – Reserved for CaveEditor – Do not change unless you know what you're doing.
Definition: CSMAPI_types.h:2156
RECT view
View rect – Reserved for CaveEditor – Do not change unless you know what you're doing.
Definition: CSMAPI_types.h:2160
int old_x
cache – do not use
Definition: CSMAPI_types.h:2197
int code_flag
NPC Flag ID Details which NPC flag to test when first spawning this NPC.
Definition: CSMAPI_types.h:2080
int destroy_voice
Destroy voice – Reserved for CaveEditor – Do not change unless you know what you're doing.
Definition: CSMAPI_types.h:2096
int entity_init_index
The initial index of this NPC.
Definition: CSMAPI_types.h:2256
int life
NPC Health.
Definition: CSMAPI_types.h:2100
int flag
Internal flags.
Definition: CSMAPI_types.h:2040
int y
Y Position.
Definition: CSMAPI_types.h:2048
CAVESTORY_MOD_API GUI_POINT GetDrawPosition(int fx=-1, int fy=-1)
Get this NPC's draw position.
Permit stage object.
Definition: CSMAPI_types.h:1253
int event
The event # to call.
Definition: CSMAPI_types.h:1258
int index
Index in gPermitStage.
Definition: CSMAPI_types.h:1255
Stores information for save files.
Definition: CSMAPI_types.h:2404
int stage
Stage index.
Definition: CSMAPI_types.h:2411
int unused2
Unused.
Definition: CSMAPI_types.h:2495
short max_life
Player max life.
Definition: CSMAPI_types.h:2431
int direct
Player direction.
Definition: CSMAPI_types.h:2427
int music
Music index.
Definition: CSMAPI_types.h:2415
int x
Player X position.
Definition: CSMAPI_types.h:2419
short a
Player A.
Definition: CSMAPI_types.h:2443
bool collectables_shown
Collectables shown.
Definition: CSMAPI_types.h:2515
int collectables
Collectables.
Definition: CSMAPI_types.h:2507
ITEM items[32]
Item table.
Definition: CSMAPI_types.h:2471
char CharName[256]
Preferred character name.
Definition: CSMAPI_types.h:2499
int booster_max
Maximum booster fuel.
Definition: CSMAPI_types.h:2511
PERMIT_STAGE permitstage[8]
Permit stage table.
Definition: CSMAPI_types.h:2475
int select_item
Selected item.
Definition: CSMAPI_types.h:2451
PERMIT_STAGE permitstage2[16]
Extra permit stages.
Definition: CSMAPI_types.h:2519
long long int frame_count
How many frames have been processed and rendered since the start of this playthrough.
Definition: CSMAPI_types.h:2503
char FLAG[4]
FLAG.
Definition: CSMAPI_types.h:2483
int counter
Nikamaru Counter.
Definition: CSMAPI_types.h:2463
int unit
Universe number.
Definition: CSMAPI_types.h:2459
int unused1
Unused.
Definition: CSMAPI_types.h:2491
int select_arms
Select arms.
Definition: CSMAPI_types.h:2447
ARMS arms[8]
Arms table.
Definition: CSMAPI_types.h:2467
int equip
Equip flags.
Definition: CSMAPI_types.h:2455
short life
Player life.
Definition: CSMAPI_types.h:2439
short star
Player stars.
Definition: CSMAPI_types.h:2435
char code[8]
Magic code.
Definition: CSMAPI_types.h:2407
unsigned char flags[1000]
NPC & skip flags.
Definition: CSMAPI_types.h:2487
int y
Player Y position.
Definition: CSMAPI_types.h:2423
signed char permit_mapping[0x80]
Permit mapping.
Definition: CSMAPI_types.h:2479
Stores information from CSM_CastRay().
Definition: CSMAPI_types.h:6805
RAYCAST_QUERY()
Constructor!
Definition: CSMAPI_types.h:6857
GUI_POINT_F mNormal
The normal of the face that we hit.
Definition: CSMAPI_types.h:6816
GUI_POINT m_HitPos
The hit position (subpixel coordinates).
Definition: CSMAPI_types.h:6808
bool hit_entities
Whether to allow hitting entities or not.
Definition: CSMAPI_types.h:6848
bool hit_slopes
Whether to allow hitting slopes or not.
Definition: CSMAPI_types.h:6852
NPCHAR * mHitNPC
The hit NPC.
Definition: CSMAPI_types.h:6824
unsigned char mDirect
This stores which way we pushed the point out of the hit face.
Definition: CSMAPI_types.h:6836
bool mOutOfBounds
Whether the ray went out of bounds or not.
Definition: CSMAPI_types.h:6820
bool mHitEndBlock
Whether the ray hit the end block.
Definition: CSMAPI_types.h:6832
struct RAYCAST_QUERY::@17 mConfig
Options.
bool mHitStartBlock
Whether the ray hit the start block.
Definition: CSMAPI_types.h:6828
unsigned int ent_bits_mask
Bits that the entities we hit MUST have to be a valid hit target.
Definition: CSMAPI_types.h:6844
GUI_POINT tileHitPos
The hit map tile's map coordinates.
Definition: CSMAPI_types.h:6812
Rect structure.
Definition: CSMAPI_types.h:125
int bottom
Bottom position (Y + H)
Definition: CSMAPI_types.h:148
int top
Top position (Y)
Definition: CSMAPI_types.h:136
Definition: CSMAPI_types.h:51
SafeClientInterface.
Definition: CSMAPI_types.h:1775
int * mKeyOld
This client's gameKeyOld variable.
Definition: CSMAPI_types.h:1818
SafeClientInterface()
constructor
Definition: CSMAPI_types.h:1838
int * mKeyTrg
This client's gameKeyTrg variable.
Definition: CSMAPI_types.h:1814
bool * mSpurMax
Whether this client's spur charge is at maximum.
Definition: CSMAPI_types.h:1826
PERMIT_STAGE * mPermitStages
Permitted stages list.
Definition: CSMAPI_types.h:1834
CaveNet::DataStructures::NetClient * mClient
The client we're interfacing with.
Definition: CSMAPI_types.h:1778
SafeClientInterface(CaveNet::DataStructures::NetClient *pClient, unsigned int iSetType=SCI_SetType::SCI_ST_AUTO)
Constructor 2.
Definition: CSMAPI_types.h:1845
int * mGameFlags
This client's game flags.
Definition: CSMAPI_types.h:1830
int mGhostId
The ghost ID of this user.
Definition: CSMAPI_types.h:1786
int * mKey
This client's gameKey variable.
Definition: CSMAPI_types.h:1810
ARMS * mArms
This client's arms table.
Definition: CSMAPI_types.h:1798
bool mIsOurUser
Whether this is our user.
Definition: CSMAPI_types.h:1790
int * mSelectedArms
A pointer to this client's selected arms.
Definition: CSMAPI_types.h:1794
ITEM * mItems
This client's items table.
Definition: CSMAPI_types.h:1802
int * mSpurCharge
This client's spur charge.
Definition: CSMAPI_types.h:1822
bool mClientSide
Whether this interface is client-sided or not.
Definition: CSMAPI_types.h:1782
MYCHAR * mMC
This client's player.
Definition: CSMAPI_types.h:1806
Stores info for an entry.
Definition: CSMAPI_types.h:6583
char * text
The text to display here.
Definition: CSMAPI_types.h:6606
GUI_POINT pnt_text
The text offset for this entry.
Definition: CSMAPI_types.h:6598
int id
This entry's ID.
Definition: CSMAPI_types.h:6602
int index
The index for this entry (only set correctly for entries in the 'shown' linkage.)
Definition: CSMAPI_types.h:6586
GUI_RECT rct_scrolled
The rect after scroll for this entry.
Definition: CSMAPI_types.h:6590
GUI_RECT rct_absolute
The containing rect for this entry.
Definition: CSMAPI_types.h:6594
SEL_LIST_ENTRY * next
The next shown entry.
Definition: CSMAPI_types.h:6610
ShootInfo structure.
Definition: CSMAPI_types.h:1968
int keyTrg
The key-Trg input state.
Definition: CSMAPI_types.h:1983
int arms_code
Which weapon ID was shot.
Definition: CSMAPI_types.h:2003
MYCHAR * ourC
The character tied to this shoot event.
Definition: CSMAPI_types.h:1975
int arms_level
The level at which the weapon was shot at.
Definition: CSMAPI_types.h:2007
CaveNet::DataStructures::NetClient * client
The client tied to this shoot event.
Definition: CSMAPI_types.h:1971
ARMS * arms
The shooter's current weapon list.
Definition: CSMAPI_types.h:1987
int key
The key input state.
Definition: CSMAPI_types.h:1979
int ghostId
The shooter's Ghost ID.
Definition: CSMAPI_types.h:1995
int selectedArm
The shooter's selected weapon index.
Definition: CSMAPI_types.h:1991
int bullet_ids[3]
Ease-of-use: List of bullet IDs defined in CaveEditor for each weapon level.
Definition: CSMAPI_types.h:2011
SafeClientInterface sClient
A safe interface for the client who shot the gun.
Definition: CSMAPI_types.h:2015
bool IsOurClient
Whether this client is our user.
Definition: CSMAPI_types.h:1999
Callstack data for text script.
Definition: CSMAPI_types.h:2698
unsigned short p_read
The p_read value of where we left off at this point in the callstack.
Definition: CSMAPI_types.h:2701
unsigned short event_number
The event number we were originally running.
Definition: CSMAPI_types.h:2705
Text script pointer data.
Definition: CSMAPI_types.h:2528
CaveNet::DataStructures::NetClient * Client
Their client.
Definition: CSMAPI_types.h:2547
CaveNet::DataStructures::NetPlayer * Player
Their player.
Definition: CSMAPI_types.h:2551
int * Key
Their input flags.
Definition: CSMAPI_types.h:2539
int * GameFlags
Their game flags.
Definition: CSMAPI_types.h:2535
MYCHAR * Char
Their character.
Definition: CSMAPI_types.h:2531
int * KeyTrg
Their trg input flags.
Definition: CSMAPI_types.h:2543
Text script state object.
Definition: CSMAPI_types.h:2557
int next_event
Next event.
Definition: CSMAPI_types.h:2611
int current_event
The event that is currently being ran.
Definition: CSMAPI_types.h:2660
int wait_next
Wait Next.
Definition: CSMAPI_types.h:2607
char * data
Script buffer size.
Definition: CSMAPI_types.h:2568
int face
Current face.
Definition: CSMAPI_types.h:2627
int p_write
Current write position in text.
Definition: CSMAPI_types.h:2587
char lock_mode
Lock mode.
Definition: CSMAPI_types.h:2656
int line
Current line to write to.
Definition: CSMAPI_types.h:2595
NPCHAR * source_npc
The NPC that was used to start the event.
Definition: CSMAPI_types.h:2688
int face_x
Face X offset.
Definition: CSMAPI_types.h:2631
int size
Script buffer size.
Definition: CSMAPI_types.h:2564
int focus_wait
Focusing: Camera speed.
Definition: CSMAPI_types.h:2672
int wait
Event wait.
Definition: CSMAPI_types.h:2603
int item_y
Item Y offset.
Definition: CSMAPI_types.h:2639
signed char flags
Flags.
Definition: CSMAPI_types.h:2579
TextScriptSkipEventStatus skip_status
The current event skipping status.
Definition: CSMAPI_types.h:2692
int offsetY
..?
Definition: CSMAPI_types.h:2647
int * old_focus_y
Focusing: Old focus Y ptr.
Definition: CSMAPI_types.h:2680
int wait_npc
Wait NPC.
Definition: CSMAPI_types.h:2615
signed char mode
Mode (ex.
Definition: CSMAPI_types.h:2572
int * old_focus_x
Focusing: Old focus X ptr.
Definition: CSMAPI_types.h:2676
bool transmit
Whether to transmit this to everyone on the server.
Definition: CSMAPI_types.h:2664
int item
Current item.
Definition: CSMAPI_types.h:2635
bool focus_on_plr
Whether to focus on the player who has context control.
Definition: CSMAPI_types.h:2651
unsigned char wait_beam
NOD cursor blink.
Definition: CSMAPI_types.h:2684
int ypos_line[4]
Line y positions.
Definition: CSMAPI_types.h:2599
int focus_npc
Focusing: gNPC Index.
Definition: CSMAPI_types.h:2668
char path[PATH_LENGTH]
Path (reload when exit teleporter menu/inventory)
Definition: CSMAPI_types.h:2560
int wait_npc_act
Wait NPC act.
Definition: CSMAPI_types.h:2619
unsigned int p_read
Current positions (read position in buffer, x position in line)
Definition: CSMAPI_types.h:2583
int p_tur_x
When in instant text display mode, this stores how far along the pen's X offset is.
Definition: CSMAPI_types.h:2591
signed char select
Yes/no selected.
Definition: CSMAPI_types.h:2623
RECT rcText
Text rect.
Definition: CSMAPI_types.h:2643
Dropdown box item struct.
Definition: CSMAPI_types.h:5689
GUI_RECT close_rect
This item's close button rect.
Definition: CSMAPI_types.h:5712
GUI_POINT text_point
The position for this item's text.
Definition: CSMAPI_types.h:5704
GUI_POINT text_size
The size of this item's text.
Definition: CSMAPI_types.h:5708
bool is_closable
Whether this tab has a close button or not.
Definition: CSMAPI_types.h:5716
GUI_RECT item_rect
This item's rect.
Definition: CSMAPI_types.h:5696
GUI_RECT draw_rect
This item's draw rect.
Definition: CSMAPI_types.h:5700
Whimsical star object.
Definition: CSMAPI_types.h:2282
CUSTOM_PLAYER_ANIMATION_INFO anim_info
The animation information for this whimsical star.
Definition: CSMAPI_types.h:2291