00001 #ifndef _ISPACKETS_H_
00002 #define _ISPACKETS_H_
00003
00004
00717
00718 const int INSIM_VERSION = 5;
00719
00720
00721
00722
00757 struct IS_ISI
00758 {
00759 byte Size;
00760 byte Type;
00761 byte ReqI;
00762 byte Zero;
00763
00764 word UDPPort;
00765 word Flags;
00766
00767 byte Sp0;
00768 byte Prefix;
00769 word Interval;
00770
00771 char Admin[16];
00772 char IName[16];
00773 };
00774
00779 #define ISF_RES_0 1
00780 #define ISF_RES_1 2
00781 #define ISF_LOCAL 4
00782 #define ISF_MSO_COLS 8
00783 #define ISF_NLP 16
00784 #define ISF_MCI 32
00785 #define ISF_CON 64
00786 #define ISF_OBH 128
00787 #define ISF_HLV 256
00788 #define ISF_AXM_LOAD 512
00789 #define ISF_AXM_EDIT 1024
00791
00792
00793
00798
00800 enum
00801 {
00802 ISP_NONE,
00803 ISP_ISI,
00804 ISP_VER,
00805 ISP_TINY,
00806 ISP_SMALL,
00807 ISP_STA,
00808 ISP_SCH,
00809 ISP_SFP,
00810 ISP_SCC,
00811 ISP_CPP,
00812 ISP_ISM,
00813 ISP_MSO,
00814 ISP_III,
00815 ISP_MST,
00816 ISP_MTC,
00817 ISP_MOD,
00818 ISP_VTN,
00819 ISP_RST,
00820 ISP_NCN,
00821 ISP_CNL,
00822 ISP_CPR,
00823 ISP_NPL,
00824 ISP_PLP,
00825 ISP_PLL,
00826 ISP_LAP,
00827 ISP_SPX,
00828 ISP_PIT,
00829 ISP_PSF,
00830 ISP_PLA,
00831 ISP_CCH,
00832 ISP_PEN,
00833 ISP_TOC,
00834 ISP_FLG,
00835 ISP_PFL,
00836 ISP_FIN,
00837 ISP_RES,
00838 ISP_REO,
00839 ISP_NLP,
00840 ISP_MCI,
00841 ISP_MSX,
00842 ISP_MSL,
00843 ISP_CRS,
00844 ISP_BFN,
00845 ISP_AXI,
00846 ISP_AXO,
00847 ISP_BTN,
00848 ISP_BTC,
00849 ISP_BTT,
00850 ISP_RIP,
00851 ISP_SSH,
00852 ISP_CON,
00853 ISP_OBH,
00854 ISP_HLV,
00855 ISP_PLC,
00856 ISP_AXM,
00857 ISP_ACR,
00858 };
00866
00868
00869 enum
00870 {
00871 TINY_NONE,
00872 TINY_VER,
00873 TINY_CLOSE,
00874 TINY_PING,
00875 TINY_REPLY,
00876 TINY_VTC,
00877 TINY_SCP,
00878 TINY_SST,
00879 TINY_GTH,
00880 TINY_MPE,
00881 TINY_ISM,
00882 TINY_REN,
00883 TINY_CLR,
00884 TINY_NCN,
00885 TINY_NPL,
00886 TINY_RES,
00887 TINY_NLP,
00888 TINY_MCI,
00889 TINY_REO,
00890 TINY_RST,
00891 TINY_AXI,
00892 TINY_AXC,
00893 TINY_RIP,
00894 };
00902
00903
00905 enum
00906 {
00907 SMALL_NONE,
00908 SMALL_SSP,
00909 SMALL_SSG,
00910 SMALL_VTA,
00911 SMALL_TMS,
00912 SMALL_STP,
00913 SMALL_RTP,
00914 SMALL_NLI,
00915 };
00923 struct IS_TINY
00924 {
00925 byte Size;
00926 byte Type;
00927 byte ReqI;
00928 byte SubT;
00929 };
00930
00935 struct IS_SMALL
00936 {
00937 byte Size;
00938 byte Type;
00939 byte ReqI;
00940 byte SubT;
00941
00942 unsigned UVal;
00943 };
00944
00945
00954 struct IS_VER
00955 {
00956 byte Size;
00957 byte Type;
00958 byte ReqI;
00959 byte Zero;
00960
00961 char Version[8];
00962 char Product[6];
00963 word InSimVer;
00964 };
00965
00966
00967
00975 struct IS_STA
00976 {
00977 byte Size;
00978 byte Type;
00979 byte ReqI;
00980 byte Zero;
00981
00982 float ReplaySpeed;
00983
00984 word Flags;
00985 byte InGameCam;
00986 byte ViewPLID;
00987
00988 byte NumP;
00989 byte NumConns;
00990 byte NumFinished;
00991 byte RaceInProg;
00992
00993 byte QualMins;
00994 byte RaceLaps;
00995 byte Spare2;
00996 byte Spare3;
00997
00998 char Track[6];
00999 byte Weather;
01000 byte Wind;
01001 };
01002
01003
01008
01009 #define ISS_GAME 1
01010 #define ISS_REPLAY 2
01011 #define ISS_PAUSED 4
01012 #define ISS_SHIFTU 8
01013 #define ISS_16 16
01014 #define ISS_SHIFTU_FOLLOW 32
01015 #define ISS_SHIFTU_NO_OPT 64
01016 #define ISS_SHOW_2D 128
01017 #define ISS_FRONT_END 256
01018 #define ISS_MULTI 512
01019 #define ISS_MPSPEEDUP 1024
01020 #define ISS_WINDOWED 2048
01021 #define ISS_SOUND_MUTE 4096
01022 #define ISS_VIEW_OVERRIDE 8192
01023 #define ISS_VISIBLE 16384
01025
01026
01027
01028 struct IS_SFP
01029 {
01030 byte Size;
01031 byte Type;
01032 byte ReqI;
01033 byte Zero;
01034
01035 word Flag;
01036 byte OffOn;
01037 byte Sp3;
01038 };
01039
01040
01050 struct IS_MOD
01051 {
01052 byte Size;
01053 byte Type;
01054 byte ReqI;
01055 byte Zero;
01056
01057 int Bits16;
01058 int RR;
01059 int Width;
01060 int Height;
01061 };
01062
01063
01064
01065
01067
01068 struct IS_MSO
01069 {
01070 byte Size;
01071 byte Type;
01072 byte ReqI;
01073 byte Zero;
01074
01075 byte UCID;
01076 byte PLID;
01077 byte UserType;
01078 byte TextStart;
01079
01080 char Msg[128];
01081 };
01082
01087
01093 enum
01094 {
01095 MSO_SYSTEM,
01096 MSO_USER,
01097 MSO_PREFIX,
01098 MSO_O,
01099 MSO_NUM
01100 };
01108 struct IS_III
01109 {
01110 byte Size;
01111 byte Type;
01112 byte ReqI;
01113 byte Zero;
01114
01115 byte UCID;
01116 byte PLID;
01117 byte Sp2;
01118 byte Sp3;
01119
01120 char Msg[64];
01121 };
01122
01124 struct IS_ACR
01125 {
01126 byte Size;
01127 byte Type;
01128 byte ReqI;
01129 byte Zero;
01130
01131 byte UCID;
01132 byte Admin;
01133 byte Result;
01134 byte Sp3;
01135
01136 char Text[64];
01137 };
01138
01140 struct IS_MST
01141 {
01142 byte Size;
01143 byte Type;
01144 byte ReqI;
01145 byte Zero;
01146
01147 char Msg[64];
01148 };
01149
01151 struct IS_MSX
01152 {
01153 byte Size;
01154 byte Type;
01155 byte ReqI;
01156 byte Zero;
01157
01158 char Msg[96];
01159 };
01160
01162 struct IS_MSL
01163 {
01164 byte Size;
01165 byte Type;
01166 byte ReqI;
01167 byte Sound;
01168
01169 char Msg[128];
01170 };
01171
01173 struct IS_MTC
01174 {
01175 byte Size;
01176 byte Type;
01177 byte ReqI;
01178 byte Sound;
01179
01180 byte UCID;
01181 byte PLID;
01182 byte Sp2;
01183 byte Sp3;
01184
01185 char Text[TEXT_SIZE];
01186 };
01187
01192
01193 enum
01194 {
01195 SND_SILENT,
01196 SND_MESSAGE,
01197 SND_SYSMESSAGE,
01198 SND_INVALIDKEY,
01199 SND_ERROR,
01200 SND_NUM
01201 };
01205
01206 struct IS_SCH
01207 {
01208 byte Size;
01209 byte Type;
01210 byte ReqI;
01211 byte Zero;
01212
01213 byte CharB;
01214 byte Flags;
01215 byte Spare2;
01216 byte Spare3;
01217 };
01218
01219
01221 struct IS_ISM
01222 {
01223 byte Size;
01224 byte Type;
01225 byte ReqI;
01226 byte Zero;
01227
01228 byte Host;
01229 byte Sp1;
01230 byte Sp2;
01231 byte Sp3;
01232
01233 char HName[32];
01234 };
01235
01236
01237
01242
01244 enum
01245 {
01246 VOTE_NONE,
01247 VOTE_END,
01248 VOTE_RESTART,
01249 VOTE_QUALIFY,
01250 VOTE_NUM
01251 };
01254
01255 struct IS_VTN
01256 {
01257 byte Size;
01258 byte Type;
01259 byte ReqI;
01260 byte Zero;
01261
01262 byte UCID;
01263 byte Action;
01264 byte Spare2;
01265 byte Spare3;
01266 };
01267
01292 struct IS_PLC
01293 {
01294 byte Size;
01295 byte Type;
01296 byte ReqI;
01297 byte Zero;
01298
01299 byte UCID;
01300 byte Sp1;
01301 byte Sp2;
01302 byte Sp3;
01303
01304 unsigned Cars;
01305 };
01306
01307
01308
01322 struct IS_RST
01323 {
01324 byte Size;
01325 byte Type;
01326 byte ReqI;
01327 byte Zero;
01328
01329 byte RaceLaps;
01330 byte QualMins;
01331 byte NumP;
01332 byte Timing;
01333
01334 char Track[6];
01335 byte Weather;
01336 byte Wind;
01337
01338 word Flags;
01339 word NumNodes;
01340 word Finish;
01341 word Split1;
01342 word Split2;
01343 word Split3;
01344 };
01345
01347 struct IS_NCN
01348 {
01349 byte Size;
01350 byte Type;
01351 byte ReqI;
01352 byte UCID;
01353
01354 char UName[24];
01355 char PName[24];
01356
01357 byte Admin;
01358 byte Total;
01359 byte Flags;
01360 byte Sp3;
01361 };
01362
01364 struct IS_CNL
01365 {
01366 byte Size;
01367 byte Type;
01368 byte ReqI;
01369 byte UCID;
01370
01371 byte Reason;
01372 byte Total;
01373 byte Sp2;
01374 byte Sp3;
01375 };
01376
01378 struct IS_CPR
01379 {
01380 byte Size;
01381 byte Type;
01382 byte ReqI;
01383 byte UCID;
01384
01385 char PName[24];
01386 char Plate[8];
01387 };
01388
01397 struct IS_NPL
01398 {
01399 byte Size;
01400 byte Type;
01401 byte ReqI;
01402 byte PLID;
01403
01404 byte UCID;
01405 byte PType;
01406 word Flags;
01407
01408 char PName[24];
01409 char Plate[8];
01410
01411 char CName[4];
01412 char SName[16];
01413 byte Tyres[4];
01414
01415 byte H_Mass;
01416 byte H_TRes;
01417 byte Model;
01418 byte Pass;
01419
01420 int Spare;
01421
01422 byte SetF;
01423 byte NumP;
01424 byte Sp2;
01425 byte Sp3;
01426 };
01427
01433 #define SETF_SYMM_WHEELS 1
01434 #define SETF_TC_ENABLE 2
01435 #define SETF_ABS_ENABLE 4
01436
01442 struct IS_PLP
01443 {
01444 byte Size;
01445 byte Type;
01446 byte ReqI;
01447 byte PLID;
01448 };
01449
01454 struct IS_PLL
01455 {
01456 byte Size;
01457 byte Type;
01458 byte ReqI;
01459 byte PLID;
01460 };
01461
01463 struct IS_CRS
01464 {
01465 byte Size;
01466 byte Type;
01467 byte ReqI;
01468 byte PLID;
01469 };
01470
01472 struct IS_LAP
01473 {
01474 byte Size;
01475 byte Type;
01476 byte ReqI;
01477 byte PLID;
01478
01479 unsigned LTime;
01480 unsigned ETime;
01481
01482 word LapsDone;
01483 word Flags;
01484
01485 byte Sp0;
01486 byte Penalty;
01487 byte NumStops;
01488 byte Sp3;
01489 };
01490
01492 struct IS_SPX
01493 {
01494 byte Size;
01495 byte Type;
01496 byte ReqI;
01497 byte PLID;
01498
01499 unsigned STime;
01500 unsigned ETime;
01501
01502 byte Split;
01503 byte Penalty;
01504 byte NumStops;
01505 byte Sp3;
01506 };
01507
01512 struct IS_PIT
01513 {
01514 byte Size;
01515 byte Type;
01516 byte ReqI;
01517 byte PLID;
01518
01519 word LapsDone;
01520 word Flags;
01521
01522 byte Sp0;
01523 byte Penalty;
01524 byte NumStops;
01525 byte Sp3;
01526
01527 byte Tyres[4];
01528
01529 unsigned Work;
01530 unsigned Spare;
01531 };
01532
01534 struct IS_PSF
01535 {
01536 byte Size;
01537 byte Type;
01538 byte ReqI;
01539 byte PLID;
01540
01541 unsigned STime;
01542 unsigned Spare;
01543 };
01544
01546 struct IS_PLA
01547 {
01548 byte Size;
01549 byte Type;
01550 byte ReqI;
01551 byte PLID;
01552
01553 byte Fact;
01554 byte Sp1;
01555 byte Sp2;
01556 byte Sp3;
01557 };
01558
01567 struct IS_CCH
01568 {
01569 byte Size;
01570 byte Type;
01571 byte ReqI;
01572 byte PLID;
01573
01574 byte Camera;
01575 byte Sp1;
01576 byte Sp2;
01577 byte Sp3;
01578 };
01579
01584 struct IS_PEN
01585 {
01586 byte Size;
01587 byte Type;
01588 byte ReqI;
01589 byte PLID;
01590
01591 byte OldPen;
01592 byte NewPen;
01593 byte Reason;
01594 byte Sp3;
01595 };
01596
01598 struct IS_TOC
01599 {
01600 byte Size;
01601 byte Type;
01602 byte ReqI;
01603 byte PLID;
01604
01605 byte OldUCID;
01606 byte NewUCID;
01607 byte Sp2;
01608 byte Sp3;
01609 };
01610
01615 struct IS_FLG
01616 {
01617 byte Size;
01618 byte Type;
01619 byte ReqI;
01620 byte PLID;
01621
01622 byte OffOn;
01623 byte Flag;
01624 byte CarBehind;
01625 byte Sp3;
01626 };
01627
01632 struct IS_PFL
01633 {
01634 byte Size;
01635 byte Type;
01636 byte ReqI;
01637 byte PLID;
01638
01639 word Flags;
01640 word Spare;
01641 };
01642
01647 struct IS_FIN
01648 {
01649 byte Size;
01650 byte Type;
01651 byte ReqI;
01652 byte PLID;
01653
01654 unsigned TTime;
01655 unsigned BTime;
01656
01657 byte SpA;
01658 byte NumStops;
01659 byte Confirm;
01660 byte SpB;
01661
01662 word LapsDone;
01663 word Flags;
01664 };
01665
01670 struct IS_RES
01671 {
01672 byte Size;
01673 byte Type;
01674 byte ReqI;
01675 byte PLID;
01676
01677 char UName[24];
01678 char PName[24];
01679 char Plate[8];
01680 char CName[4];
01681
01682 unsigned TTime;
01683 unsigned BTime;
01684
01685 byte SpA;
01686 byte NumStops;
01687 byte Confirm;
01688 byte SpB;
01689
01690 word LapsDone;
01691 word Flags;
01692
01693 byte ResultNum;
01694 byte NumRes;
01695 word PSeconds;
01696 };
01697
01698
01703 struct IS_REO
01704 {
01705 byte Size;
01706 byte Type;
01707 byte ReqI;
01708 byte NumP;
01709
01710 byte PLID[32];
01711 };
01712
01713
01718
01720 enum
01721 {
01722 PITLANE_EXIT,
01723 PITLANE_ENTER,
01724 PITLANE_NO_PURPOSE,
01725 PITLANE_DT,
01726 PITLANE_SG,
01727 PITLANE_NUM
01728 };
01736
01738 enum
01739 {
01740 PSE_NOTHING,
01741 PSE_STOP,
01742 PSE_FR_DAM,
01743 PSE_FR_WHL,
01744 PSE_LE_FR_DAM,
01745 PSE_LE_FR_WHL,
01746 PSE_RI_FR_DAM,
01747 PSE_RI_FR_WHL,
01748 PSE_RE_DAM,
01749 PSE_RE_WHL,
01750 PSE_LE_RE_DAM,
01751 PSE_LE_RE_WHL,
01752 PSE_RI_RE_DAM,
01753 PSE_RI_RE_WHL,
01754 PSE_BODY_MINOR,
01755 PSE_BODY_MAJOR,
01756 PSE_SETUP,
01757 PSE_REFUEL,
01758 PSE_NUM
01759 };
01767
01769 enum
01770 {
01771 VIEW_FOLLOW,
01772 VIEW_HELI,
01773 VIEW_CAM,
01774 VIEW_DRIVER,
01775 VIEW_CUSTOM,
01776 VIEW_MAX
01777 };
01778
01779 const int VIEW_ANOTHER = 255;
01780
01787
01789 enum
01790 {
01791 LEAVR_DISCO,
01792 LEAVR_TIMEOUT,
01793 LEAVR_LOSTCONN,
01794 LEAVR_KICKED,
01795 LEAVR_BANNED,
01796 LEAVR_SECURITY,
01797 LEAVR_NUM
01798 };
01805
01807 enum
01808 {
01809 PENALTY_NONE,
01810 PENALTY_DT,
01811 PENALTY_DT_VALID,
01812 PENALTY_SG,
01813 PENALTY_SG_VALID,
01814 PENALTY_30,
01815 PENALTY_45,
01816 PENALTY_NUM
01817 };
01824
01826 enum
01827 {
01828 PENR_UNKNOWN,
01829 PENR_ADMIN,
01830 PENR_WRONG_WAY,
01831 PENR_FALSE_START,
01832 PENR_SPEEDING,
01833 PENR_STOP_SHORT,
01834 PENR_STOP_LATE,
01835 PENR_NUM
01836 };
01843 #define PIF_SWAPSIDE 1
01844 #define PIF_RESERVED_2 2
01845 #define PIF_RESERVED_4 4
01846 #define PIF_AUTOGEARS 8
01847 #define PIF_SHIFTER 16
01848 #define PIF_RESERVED_32 32
01849 #define PIF_HELP_B 64
01850 #define PIF_AXIS_CLUTCH 128
01851 #define PIF_INPITS 256
01852 #define PIF_AUTOCLUTCH 512
01853 #define PIF_MOUSE 1024
01854 #define PIF_KB_NO_HELP 2048
01855 #define PIF_KB_STABILISED 4096
01856 #define PIF_CUSTOM_VIEW 8192
01857
01864
01869 enum
01870 {
01871 TYRE_R1,
01872 TYRE_R2,
01873 TYRE_R3,
01874 TYRE_R4,
01875 TYRE_ROAD_SUPER,
01876 TYRE_ROAD_NORMAL,
01877 TYRE_HYBRID,
01878 TYRE_KNOBBLY,
01879 TYRE_NUM
01880 };
01881
01882 const int NOT_CHANGED = 255;
01890 #define CONF_MENTIONED 1
01891 #define CONF_CONFIRMED 2
01892 #define CONF_PENALTY_DT 4
01893 #define CONF_PENALTY_SG 8
01894 #define CONF_PENALTY_30 16
01895 #define CONF_PENALTY_45 32
01896 #define CONF_DID_NOT_PIT 64
01897
01898 #define CONF_DISQ (CONF_PENALTY_DT | CONF_PENALTY_SG | CONF_DID_NOT_PIT)
01899 #define CONF_TIME (CONF_PENALTY_30 | CONF_PENALTY_45)
01900
01917
01932
01935
01936 struct IS_AXI
01937 {
01938 byte Size;
01939 byte Type;
01940 byte ReqI;
01941 byte Zero;
01942
01943 byte AXStart;
01944 byte NumCP;
01945 word NumO;
01946
01947 char LName[32];
01948 };
01949
01951 struct IS_AXO
01952 {
01953 byte Size;
01954 byte Type;
01955 byte ReqI;
01956 byte PLID;
01957 };
01958
01963 struct NodeLap
01964 {
01965 word Node;
01966 word Lap;
01967 byte PLID;
01968 byte Position;
01969 };
01970
01975 struct IS_NLP
01976 {
01977 byte Size;
01978 byte Type;
01979 byte ReqI;
01980 byte NumP;
01981
01982 NodeLap Info[32];
01983 };
01984
01985
01999 struct CompCar
02000 {
02001 word Node;
02002 word Lap;
02003 byte PLID;
02004 byte Position;
02005 byte Info;
02006 byte Sp3;
02007 int X;
02008 int Y;
02009 int Z;
02010 word Speed;
02011 word Direction;
02012 word Heading;
02013 short AngVel;
02014 };
02015
02020 #define CCI_BLUE 1
02021 #define CCI_YELLOW 2
02022 #define CCI_LAG 32
02023 #define CCI_FIRST 64
02024 #define CCI_LAST 128
02026
02027
02031 struct IS_MCI
02032 {
02033 byte Size;
02034 byte Type;
02035 byte ReqI;
02036 byte NumC;
02037
02038 CompCar Info[8];
02039 };
02040
02042 struct CarContact
02043 {
02044 byte PLID;
02045 byte Info;
02046 byte Sp2;
02047 char Steer;
02048
02049 byte ThrBrk;
02050 byte CluHan;
02051 byte GearSp;
02052 byte Speed;
02053
02054 byte Direction;
02055 byte Heading;
02056 char AccelF;
02057 char AccelR;
02058
02059 short X;
02060 short Y;
02061 };
02062
02064 struct IS_CON
02065 {
02066 byte Size;
02067 byte Type;
02068 byte ReqI;
02069 byte Zero;
02070
02071 word SpClose;
02072 word Time;
02073
02074 CarContact A;
02075 CarContact B;
02076 };
02077
02079 struct CarContOBJ
02080 {
02081 byte Direction;
02082 byte Heading;
02083 byte Speed;
02084 byte Sp3;
02085
02086 short X;
02087 short Y;
02088 };
02089
02091 struct IS_OBH
02092 {
02093 byte Size;
02094 byte Type;
02095 byte ReqI;
02096 byte PLID;
02097
02098 word SpClose;
02099 word Time;
02100
02101 CarContOBJ C;
02102
02103 short X;
02104 short Y;
02105
02106 byte Sp0;
02107 byte Sp1;
02108 byte Index;
02109 byte OBHFlags;
02110 };
02111
02116 #define OBH_LAYOUT 1
02117 #define OBH_CAN_MOVE 2
02118 #define OBH_WAS_MOVING 4
02119 #define OBH_ON_SPOT 8
02121
02122
02124 struct IS_HLV
02125 {
02126 byte Size;
02127 byte Type;
02128 byte ReqI;
02129 byte PLID;
02130
02131 byte HLVC;
02132 byte Sp1;
02133 word Time;
02134
02135 CarContOBJ C;
02136 };
02137
02139 struct ObjectInfo
02140 {
02141 short X;
02142 short Y;
02143 char Zchar;
02144 byte Flags;
02145 byte Index;
02146 byte Heading;
02147 };
02148
02150 struct IS_AXM
02151 {
02152 byte Size;
02153 byte Type;
02154 byte ReqI;
02155 byte NumO;
02156
02157 byte UCID;
02158 byte PMOAction;
02159 byte PMOFlags;
02160 byte Sp3;
02161
02162 ObjectInfo Info[30];
02163 };
02164
02169
02170 enum
02171 {
02172 PMO_LOADING_FILE,
02173 PMO_ADD_OBJECTS,
02174 PMO_DEL_OBJECTS,
02175 PMO_CLEAR_ALL,
02176 PMO_NUM
02177 };
02211
02219 struct IS_SCC
02220 {
02221 byte Size;
02222 byte Type;
02223 byte ReqI;
02224 byte Zero;
02225
02226 byte ViewPLID;
02227 byte InGameCam;
02228 byte Sp2;
02229 byte Sp3;
02230 };
02231
02232
02233
02234
02260 struct IS_CPP
02261 {
02262 byte Size;
02263 byte Type;
02264 byte ReqI;
02265 byte Zero;
02266
02267 Vec Pos;
02268
02269 word H;
02270 word P;
02271 word R;
02272
02273 byte ViewPLID;
02274 byte InGameCam;
02275
02276 float FOV;
02277
02278 word Time;
02279 word Flags;
02280 };
02281
02282
02283
02284
02291 struct IS_RIP
02292 {
02293 byte Size;
02294 byte Type;
02295 byte ReqI;
02296 byte Error;
02297
02298 byte MPR;
02299 byte Paused;
02300 byte Options;
02301 byte Sp3;
02302
02303 unsigned CTime;
02304 unsigned TTime;
02305
02306 char RName[64];
02307 };
02308
02309
02310
02316
02317 enum
02318 {
02319 RIP_OK,
02320 RIP_ALREADY,
02321 RIP_DEDICATED,
02322 RIP_WRONG_MODE,
02323 RIP_NOT_REPLAY,
02324 RIP_CORRUPTED,
02325 RIP_NOT_FOUND,
02326 RIP_UNLOADABLE,
02327 RIP_DEST_OOB,
02328 RIP_UNKNOWN,
02329 RIP_USER,
02330 RIP_OOS,
02331 };
02341 #define RIPOPT_LOOP 1
02342 #define RIPOPT_SKINS 2
02343 #define RIPOPT_FULL_PHYS 4
02345
02346
02348 struct IS_SSH
02349 {
02350 byte Size;
02351 byte Type;
02352 byte ReqI;
02353 byte Error;
02354
02355 byte Sp0;
02356 byte Sp1;
02357 byte Sp2;
02358 byte Sp3;
02359
02360 char BMP[32];
02361 };
02362
02363
02368
02369 enum
02370 {
02371 SSH_OK,
02372 SSH_DEDICATED,
02373 SSH_CORRUPTED,
02374 SSH_NO_SAVE,
02375 };
02382 #define IS_X_MIN 0
02383 #define IS_X_MAX 110
02384
02385 #define IS_Y_MIN 30
02386 #define IS_Y_MAX 170
02387
02393 struct IS_BFN
02394 {
02395 byte Size;
02396 byte Type;
02397 byte ReqI;
02398 byte SubT;
02399
02400 byte UCID;
02401 byte ClickID;
02402 byte Inst;
02403 byte Sp3;
02404 };
02405
02410
02411 enum
02412 {
02413 BFN_DEL_BTN,
02414 BFN_CLEAR,
02415 BFN_USER_CLEAR,
02416 BFN_REQUEST,
02417 };
02441 struct IS_BTN
02442 {
02443 byte Size;
02444 byte Type;
02445 byte ReqI;
02446 byte UCID;
02447
02448 byte ClickID;
02449 byte Inst;
02450 byte BStyle;
02451
02455 byte TypeIn;
02456 byte L;
02457 byte T;
02458 byte W;
02459 byte H;
02460
02461 char Text[TEXT_SIZE];
02462 };
02463
02475 #define INST_ALWAYS_ON 128
02477
02478
02495 #define ISB_C1 1
02496 #define ISB_C2 2
02497 #define ISB_C4 4
02498 #define ISB_CLICK 8
02499 #define ISB_LIGHT 16
02500 #define ISB_DARK 32
02501 #define ISB_LEFT 64
02502 #define ISB_RIGHT 128
02504
02505
02510 struct IS_BTC
02511 {
02512 byte Size;
02513 byte Type;
02514 byte ReqI;
02515 byte UCID;
02516
02517 byte ClickID;
02518 byte Inst;
02519 byte CFlags;
02520 byte Sp3;
02521 };
02522
02527 #define ISB_LMB 1
02528 #define ISB_RMB 2
02529 #define ISB_CTRL 4
02530 #define ISB_SHIFT 8
02532
02533
02537 struct IS_BTT
02538 {
02539 byte Size;
02540 byte Type;
02541 byte ReqI;
02542 byte UCID;
02543
02544 byte ClickID;
02545 byte Inst;
02546 byte TypeIn;
02547 byte Sp3;
02548
02549 char Text[96];
02550 };
02551
02562 struct OutSimPack
02563 {
02564 unsigned Time;
02565
02566 Vector AngVel;
02567 float Heading;
02568 float Pitch;
02569 float Roll;
02570 Vector Accel;
02571 Vector Vel;
02572 Vec Pos;
02573
02574 int ID;
02575 };
02576
02578 struct OutGaugePack
02579 {
02580 unsigned Time;
02581
02582 char Car[4];
02583 word Flags;
02584 byte Gear;
02585 byte PLID;
02586 float Speed;
02587 float RPM;
02588 float Turbo;
02589 float EngTemp;
02590 float Fuel;
02591 float OilPressure;
02592 float OilTemp;
02593 unsigned DashLights;
02594 unsigned ShowLights;
02595 float Throttle;
02596 float Brake;
02597 float Clutch;
02598 char Display1[16];
02599 char Display2[16];
02600
02601 int ID;
02602 };
02603
02604
02609 #define OG_SHIFT 1
02610 #define OG_CTRL 2
02611 #define OG_TURBO 8192
02612 #define OG_KM 16384
02613 #define OG_BAR 32768
02615
02616
02620 enum
02621 {
02622 DL_SHIFT,
02623 DL_FULLBEAM,
02624 DL_HANDBRAKE,
02625 DL_PITSPEED,
02626 DL_TC,
02627 DL_SIGNAL_L,
02628 DL_SIGNAL_R,
02629 DL_SIGNAL_ANY,
02630 DL_OILWARN,
02631 DL_BATTERY,
02632 DL_ABS,
02633 DL_SPARE,
02634 DL_NUM
02635 };
02637
02638 #endif
02639