00001 #ifndef _ISPACKETS_H_
00002 #define _ISPACKETS_H_
00004
00005
00602
00603 const int INSIM_VERSION = 4;
00604
00605
00606
00607
00642 struct IS_ISI
00643 {
00644 byte Size;
00645 byte Type;
00646 byte ReqI;
00647 byte Zero;
00648
00649 word UDPPort;
00650 word Flags;
00651
00652 byte Sp0;
00653 byte Prefix;
00654 word Interval;
00655
00656 char Admin[16];
00657 char IName[16];
00658 };
00659
00664 #define ISF_RES_0 1
00665 #define ISF_RES_1 2
00666 #define ISF_LOCAL 4
00667 #define ISF_MSO_COLS 8
00668 #define ISF_NLP 16
00669 #define ISF_MCI 32
00670
00678
00680 enum
00681 {
00682 ISP_NONE,
00683 ISP_ISI,
00684 ISP_VER,
00685 ISP_TINY,
00686 ISP_SMALL,
00687 ISP_STA,
00688 ISP_SCH,
00689 ISP_SFP,
00690 ISP_SCC,
00691 ISP_CPP,
00692 ISP_ISM,
00693 ISP_MSO,
00694 ISP_III,
00695 ISP_MST,
00696 ISP_MTC,
00697 ISP_MOD,
00698 ISP_VTN,
00699 ISP_RST,
00700 ISP_NCN,
00701 ISP_CNL,
00702 ISP_CPR,
00703 ISP_NPL,
00704 ISP_PLP,
00705 ISP_PLL,
00706 ISP_LAP,
00707 ISP_SPX,
00708 ISP_PIT,
00709 ISP_PSF,
00710 ISP_PLA,
00711 ISP_CCH,
00712 ISP_PEN,
00713 ISP_TOC,
00714 ISP_FLG,
00715 ISP_PFL,
00716 ISP_FIN,
00717 ISP_RES,
00718 ISP_REO,
00719 ISP_NLP,
00720 ISP_MCI,
00721 ISP_MSX,
00722 ISP_MSL,
00723 ISP_CRS,
00724 ISP_BFN,
00725 ISP_AXI,
00726 ISP_AXO,
00727 ISP_BTN,
00728 ISP_BTC,
00729 ISP_BTT,
00730 ISP_RIP,
00731 ISP_SSH,
00732 };
00740
00742
00743 enum
00744 {
00745 TINY_NONE,
00746 TINY_VER,
00747 TINY_CLOSE,
00748 TINY_PING,
00749 TINY_REPLY,
00750 TINY_VTC,
00751 TINY_SCP,
00752 TINY_SST,
00753 TINY_GTH,
00754 TINY_MPE,
00755 TINY_ISM,
00756 TINY_REN,
00757 TINY_CLR,
00758 TINY_NCN,
00759 TINY_NPL,
00760 TINY_RES,
00761 TINY_NLP,
00762 TINY_MCI,
00763 TINY_REO,
00764 TINY_RST,
00765 TINY_AXI,
00766 TINY_AXC,
00767 TINY_RIP,
00768 };
00776
00777
00779 enum
00780 {
00781 SMALL_NONE,
00782 SMALL_SSP,
00783 SMALL_SSG,
00784 SMALL_VTA,
00785 SMALL_TMS,
00786 SMALL_STP,
00787 SMALL_RTP,
00788 SMALL_NLI,
00789 };
00797 struct IS_TINY
00798 {
00799 byte Size;
00800 byte Type;
00801 byte ReqI;
00802 byte SubT;
00803 };
00804
00809 struct IS_SMALL
00810 {
00811 byte Size;
00812 byte Type;
00813 byte ReqI;
00814 byte SubT;
00815
00816 unsigned UVal;
00817 };
00818
00819
00828 struct IS_VER
00829 {
00830 byte Size;
00831 byte Type;
00832 byte ReqI;
00833 byte Zero;
00834
00835 char Version[8];
00836 char Product[6];
00837 word InSimVer;
00838 };
00839
00840
00841
00849 struct IS_STA
00850 {
00851 byte Size;
00852 byte Type;
00853 byte ReqI;
00854 byte Zero;
00855
00856 float ReplaySpeed;
00857
00858 word Flags;
00859 byte InGameCam;
00860 byte ViewPLID;
00861
00862 byte NumP;
00863 byte NumConns;
00864 byte NumFinished;
00865 byte RaceInProg;
00866
00867 byte QualMins;
00868 byte RaceLaps;
00869 byte Spare2;
00870 byte Spare3;
00871
00872 char Track[6];
00873 byte Weather;
00874 byte Wind;
00875 };
00876
00877
00882
00883 #define ISS_GAME 1
00884 #define ISS_REPLAY 2
00885 #define ISS_PAUSED 4
00886 #define ISS_SHIFTU 8
00887 #define ISS_SHIFTU_HIGH 16
00888 #define ISS_SHIFTU_FOLLOW 32
00889 #define ISS_SHIFTU_NO_OPT 64
00890 #define ISS_SHOW_2D 128
00891 #define ISS_FRONT_END 256
00892 #define ISS_MULTI 512
00893 #define ISS_MPSPEEDUP 1024
00894 #define ISS_WINDOWED 2048
00895 #define ISS_SOUND_MUTE 4096
00896 #define ISS_VIEW_OVERRIDE 8192
00897 #define ISS_VISIBLE 16384
00898
00900
00901
00902 struct IS_SFP
00903 {
00904 byte Size;
00905 byte Type;
00906 byte ReqI;
00907 byte Zero;
00908
00909 word Flag;
00910 byte OffOn;
00911 byte Sp3;
00912 };
00913
00914
00924 struct IS_MOD
00925 {
00926 byte Size;
00927 byte Type;
00928 byte ReqI;
00929 byte Zero;
00930
00931 int Bits16;
00932 int RR;
00933 int Width;
00934 int Height;
00935 };
00936
00937
00938
00939
00941
00942 struct IS_MSO
00943 {
00944 byte Size;
00945 byte Type;
00946 byte ReqI;
00947 byte Zero;
00948
00949 byte UCID;
00950 byte PLID;
00951 byte UserType;
00952 byte TextStart;
00953
00954 char Msg[128];
00955 };
00956
00961
00967 enum
00968 {
00969 MSO_SYSTEM,
00970 MSO_USER,
00971 MSO_PREFIX,
00972 MSO_O,
00973 MSO_NUM
00974 };
00982 struct IS_III
00983 {
00984 byte Size;
00985 byte Type;
00986 byte ReqI;
00987 byte Zero;
00988
00989 byte UCID;
00990 byte PLID;
00991 byte Sp2;
00992 byte Sp3;
00993
00994 char Msg[64];
00995 };
00996
00998 struct IS_MST
00999 {
01000 byte Size;
01001 byte Type;
01002 byte ReqI;
01003 byte Zero;
01004
01005 char Msg[64];
01006 };
01007
01009 struct IS_MSX
01010 {
01011 byte Size;
01012 byte Type;
01013 byte ReqI;
01014 byte Zero;
01015
01016 char Msg[96];
01017 };
01018
01020 struct IS_MSL
01021 {
01022 byte Size;
01023 byte Type;
01024 byte ReqI;
01025 byte Sound;
01026
01027 char Msg[128];
01028 };
01029
01031 struct IS_MTC
01032 {
01033 byte Size;
01034 byte Type;
01035 byte ReqI;
01036 byte Zero;
01037
01038 byte UCID;
01039 byte PLID;
01040 byte Sp2;
01041 byte Sp3;
01042
01043 char Msg[64];
01044 };
01045
01050
01051 enum
01052 {
01053 SND_SILENT,
01054 SND_MESSAGE,
01055 SND_SYSMESSAGE,
01056 SND_INVALIDKEY,
01057 SND_ERROR,
01058 SND_NUM
01059 };
01063
01064 struct IS_SCH
01065 {
01066 byte Size;
01067 byte Type;
01068 byte ReqI;
01069 byte Zero;
01070
01071 byte CharB;
01072 byte Flags;
01073 byte Spare2;
01074 byte Spare3;
01075 };
01076
01077
01079 struct IS_ISM
01080 {
01081 byte Size;
01082 byte Type;
01083 byte ReqI;
01084 byte Zero;
01085
01086 byte Host;
01087 byte Sp1;
01088 byte Sp2;
01089 byte Sp3;
01090
01091 char HName[32];
01092 };
01093
01094
01095
01100
01102 enum
01103 {
01104 VOTE_NONE,
01105 VOTE_END,
01106 VOTE_RESTART,
01107 VOTE_QUALIFY,
01108 VOTE_NUM
01109 };
01112
01113 struct IS_VTN
01114 {
01115 byte Size;
01116 byte Type;
01117 byte ReqI;
01118 byte Zero;
01119
01120 byte UCID;
01121 byte Action;
01122 byte Spare2;
01123 byte Spare3;
01124 };
01125
01126
01128 struct IS_RST
01129 {
01130 byte Size;
01131 byte Type;
01132 byte ReqI;
01133 byte Zero;
01134
01135 byte RaceLaps;
01136 byte QualMins;
01137 byte NumP;
01138 byte Spare;
01139
01140 char Track[6];
01141 byte Weather;
01142 byte Wind;
01143
01144 word Flags;
01145 word NumNodes;
01146 word Finish;
01147 word Split1;
01148 word Split2;
01149 word Split3;
01150 };
01151
01153 struct IS_NCN
01154 {
01155 byte Size;
01156 byte Type;
01157 byte ReqI;
01158 byte UCID;
01159
01160 char UName[24];
01161 char PName[24];
01162
01163 byte Admin;
01164 byte Total;
01165 byte Flags;
01166 byte Sp3;
01167 };
01168
01170 struct IS_CNL
01171 {
01172 byte Size;
01173 byte Type;
01174 byte ReqI;
01175 byte UCID;
01176
01177 byte Reason;
01178 byte Total;
01179 byte Sp2;
01180 byte Sp3;
01181 };
01182
01184 struct IS_CPR
01185 {
01186 byte Size;
01187 byte Type;
01188 byte ReqI;
01189 byte UCID;
01190
01191 char PName[24];
01192 char Plate[8];
01193 };
01194
01203 struct IS_NPL
01204 {
01205 byte Size;
01206 byte Type;
01207 byte ReqI;
01208 byte PLID;
01209
01210 byte UCID;
01211 byte PType;
01212 word Flags;
01213
01214 char PName[24];
01215 char Plate[8];
01216
01217 char CName[4];
01218 char SName[16];
01219 byte Tyres[4];
01220
01221 byte H_Mass;
01222 byte H_TRes;
01223 byte Model;
01224 byte Pass;
01225
01226 int Spare;
01227
01228 byte SetF;
01229 byte NumP;
01230 byte Sp2;
01231 byte Sp3;
01232 };
01233
01239 #define SETF_SYMM_WHEELS 1
01240 #define SETF_TC_ENABLE 2
01241 #define SETF_ABS_ENABLE 4
01242
01248 struct IS_PLP
01249 {
01250 byte Size;
01251 byte Type;
01252 byte ReqI;
01253 byte PLID;
01254 };
01255
01260 struct IS_PLL
01261 {
01262 byte Size;
01263 byte Type;
01264 byte ReqI;
01265 byte PLID;
01266 };
01267
01269 struct IS_CRS
01270 {
01271 byte Size;
01272 byte Type;
01273 byte ReqI;
01274 byte PLID;
01275 };
01276
01278 struct IS_LAP
01279 {
01280 byte Size;
01281 byte Type;
01282 byte ReqI;
01283 byte PLID;
01284
01285 unsigned LTime;
01286 unsigned ETime;
01287
01288 word LapsDone;
01289 word Flags;
01290
01291 byte Sp0;
01292 byte Penalty;
01293 byte NumStops;
01294 byte Sp3;
01295 };
01296
01298 struct IS_SPX
01299 {
01300 byte Size;
01301 byte Type;
01302 byte ReqI;
01303 byte PLID;
01304
01305 unsigned STime;
01306 unsigned ETime;
01307
01308 byte Split;
01309 byte Penalty;
01310 byte NumStops;
01311 byte Sp3;
01312 };
01313
01318 struct IS_PIT
01319 {
01320 byte Size;
01321 byte Type;
01322 byte ReqI;
01323 byte PLID;
01324
01325 word LapsDone;
01326 word Flags;
01327
01328 byte Sp0;
01329 byte Penalty;
01330 byte NumStops;
01331 byte Sp3;
01332
01333 byte Tyres[4];
01334
01335 unsigned Work;
01336 unsigned Spare;
01337 };
01338
01340 struct IS_PSF
01341 {
01342 byte Size;
01343 byte Type;
01344 byte ReqI;
01345 byte PLID;
01346
01347 unsigned STime;
01348 unsigned Spare;
01349 };
01350
01352 struct IS_PLA
01353 {
01354 byte Size;
01355 byte Type;
01356 byte ReqI;
01357 byte PLID;
01358
01359 byte Fact;
01360 byte Sp1;
01361 byte Sp2;
01362 byte Sp3;
01363 };
01364
01373 struct IS_CCH
01374 {
01375 byte Size;
01376 byte Type;
01377 byte ReqI;
01378 byte PLID;
01379
01380 byte Camera;
01381 byte Sp1;
01382 byte Sp2;
01383 byte Sp3;
01384 };
01385
01390 struct IS_PEN
01391 {
01392 byte Size;
01393 byte Type;
01394 byte ReqI;
01395 byte PLID;
01396
01397 byte OldPen;
01398 byte NewPen;
01399 byte Reason;
01400 byte Sp3;
01401 };
01402
01404 struct IS_TOC
01405 {
01406 byte Size;
01407 byte Type;
01408 byte ReqI;
01409 byte PLID;
01410
01411 byte OldUCID;
01412 byte NewUCID;
01413 byte Sp2;
01414 byte Sp3;
01415 };
01416
01421 struct IS_FLG
01422 {
01423 byte Size;
01424 byte Type;
01425 byte ReqI;
01426 byte PLID;
01427
01428 byte OffOn;
01429 byte Flag;
01430 byte CarBehind;
01431 byte Sp3;
01432 };
01433
01438 struct IS_PFL
01439 {
01440 byte Size;
01441 byte Type;
01442 byte ReqI;
01443 byte PLID;
01444
01445 word Flags;
01446 word Spare;
01447 };
01448
01453 struct IS_FIN
01454 {
01455 byte Size;
01456 byte Type;
01457 byte ReqI;
01458 byte PLID;
01459
01460 unsigned TTime;
01461 unsigned BTime;
01462
01463 byte SpA;
01464 byte NumStops;
01465 byte Confirm;
01466 byte SpB;
01467
01468 word LapsDone;
01469 word Flags;
01470 };
01471
01476 struct IS_RES
01477 {
01478 byte Size;
01479 byte Type;
01480 byte ReqI;
01481 byte PLID;
01482
01483 char UName[24];
01484 char PName[24];
01485 char Plate[8];
01486 char CName[4];
01487
01488 unsigned TTime;
01489 unsigned BTime;
01490
01491 byte SpA;
01492 byte NumStops;
01493 byte Confirm;
01494 byte SpB;
01495
01496 word LapsDone;
01497 word Flags;
01498
01499 byte ResultNum;
01500 byte NumRes;
01501 word PSeconds;
01502 };
01503
01504
01509 struct IS_REO
01510 {
01511 byte Size;
01512 byte Type;
01513 byte ReqI;
01514 byte NumP;
01515
01516 byte PLID[32];
01517 };
01518
01519
01524
01526 enum
01527 {
01528 PITLANE_EXIT,
01529 PITLANE_ENTER,
01530 PITLANE_NO_PURPOSE,
01531 PITLANE_DT,
01532 PITLANE_SG,
01533 PITLANE_NUM
01534 };
01542
01544 enum
01545 {
01546 PSE_NOTHING,
01547 PSE_STOP,
01548 PSE_FR_DAM,
01549 PSE_FR_WHL,
01550 PSE_LE_FR_DAM,
01551 PSE_LE_FR_WHL,
01552 PSE_RI_FR_DAM,
01553 PSE_RI_FR_WHL,
01554 PSE_RE_DAM,
01555 PSE_RE_WHL,
01556 PSE_LE_RE_DAM,
01557 PSE_LE_RE_WHL,
01558 PSE_RI_RE_DAM,
01559 PSE_RI_RE_WHL,
01560 PSE_BODY_MINOR,
01561 PSE_BODY_MAJOR,
01562 PSE_SETUP,
01563 PSE_REFUEL,
01564 PSE_NUM
01565 };
01573
01575 enum
01576 {
01577 VIEW_FOLLOW,
01578 VIEW_HELI,
01579 VIEW_CAM,
01580 VIEW_DRIVER,
01581 VIEW_CUSTOM,
01582 VIEW_MAX
01583 };
01584
01585 const int VIEW_ANOTHER = 255;
01586
01593
01595 enum
01596 {
01597 LEAVR_DISCO,
01598 LEAVR_TIMEOUT,
01599 LEAVR_LOSTCONN,
01600 LEAVR_KICKED,
01601 LEAVR_BANNED,
01602 LEAVR_SECURITY,
01603 LEAVR_NUM
01604 };
01611
01613 enum
01614 {
01615 PENALTY_NONE,
01616 PENALTY_DT,
01617 PENALTY_DT_VALID,
01618 PENALTY_SG,
01619 PENALTY_SG_VALID,
01620 PENALTY_30,
01621 PENALTY_45,
01622 PENALTY_NUM
01623 };
01630
01632 enum
01633 {
01634 PENR_UNKNOWN,
01635 PENR_ADMIN,
01636 PENR_WRONG_WAY,
01637 PENR_FALSE_START,
01638 PENR_SPEEDING,
01639 PENR_STOP_SHORT,
01640 PENR_STOP_LATE,
01641 PENR_NUM
01642 };
01649 #define PIF_SWAPSIDE 1
01650 #define PIF_RESERVED_2 2
01651 #define PIF_RESERVED_4 4
01652 #define PIF_AUTOGEARS 8
01653 #define PIF_SHIFTER 16
01654 #define PIF_RESERVED_32 32
01655 #define PIF_HELP_B 64
01656 #define PIF_AXIS_CLUTCH 128
01657 #define PIF_INPITS 256
01658 #define PIF_AUTOCLUTCH 512
01659 #define PIF_MOUSE 1024
01660 #define PIF_KB_NO_HELP 2048
01661 #define PIF_KB_STABILISED 4096
01662 #define PIF_CUSTOM_VIEW 8192
01663
01670
01675 enum
01676 {
01677 TYRE_R1,
01678 TYRE_R2,
01679 TYRE_R3,
01680 TYRE_R4,
01681 TYRE_ROAD_SUPER,
01682 TYRE_ROAD_NORMAL,
01683 TYRE_HYBRID,
01684 TYRE_KNOBBLY,
01685 TYRE_NUM
01686 };
01687
01688 const int NOT_CHANGED = 255;
01696 #define CONF_MENTIONED 1
01697 #define CONF_CONFIRMED 2
01698 #define CONF_PENALTY_DT 4
01699 #define CONF_PENALTY_SG 8
01700 #define CONF_PENALTY_30 16
01701 #define CONF_PENALTY_45 32
01702 #define CONF_DID_NOT_PIT 64
01703
01704 #define CONF_DISQ (CONF_PENALTY_DT | CONF_PENALTY_SG | CONF_DID_NOT_PIT)
01705 #define CONF_TIME (CONF_PENALTY_30 | CONF_PENALTY_45)
01706
01723
01738
01741
01742 struct IS_AXI
01743 {
01744 byte Size;
01745 byte Type;
01746 byte ReqI;
01747 byte Zero;
01748
01749 byte AXStart;
01750 byte NumCP;
01751 word NumO;
01752
01753 char LName[32];
01754 };
01755
01757 struct IS_AXO
01758 {
01759 byte Size;
01760 byte Type;
01761 byte ReqI;
01762 byte PLID;
01763 };
01764
01769 struct NodeLap
01770 {
01771 word Node;
01772 word Lap;
01773 byte PLID;
01774 byte Position;
01775 };
01776
01781 struct IS_NLP
01782 {
01783 byte Size;
01784 byte Type;
01785 byte ReqI;
01786 byte NumP;
01787
01788 NodeLap Info[32];
01789 };
01790
01791
01805 struct CompCar
01806 {
01807 word Node;
01808 word Lap;
01809 byte PLID;
01810 byte Position;
01811 byte Info;
01812 byte Sp3;
01813 int X;
01814 int Y;
01815 int Z;
01816 word Speed;
01817 word Direction;
01818 word Heading;
01819 short AngVel;
01820 };
01821
01826 #define CCI_BLUE 1
01827 #define CCI_YELLOW 2
01828
01829 #define CCI_LAG 32
01830
01831 #define CCI_FIRST 64
01832 #define CCI_LAST 128
01833
01839 struct IS_MCI
01840 {
01841 byte Size;
01842 byte Type;
01843 byte ReqI;
01844 byte NumC;
01845
01846 CompCar Info[8];
01847 };
01848
01849
01850
01857 struct IS_SCC
01858 {
01859 byte Size;
01860 byte Type;
01861 byte ReqI;
01862 byte Zero;
01863
01864 byte ViewPLID;
01865 byte InGameCam;
01866 byte Sp2;
01867 byte Sp3;
01868 };
01869
01870
01871
01872
01901 struct IS_CPP
01902 {
01903 byte Size;
01904 byte Type;
01905 byte ReqI;
01906 byte Zero;
01907
01908 Vec Pos;
01909
01910 word H;
01911 word P;
01912 word R;
01913
01914 byte ViewPLID;
01915 byte InGameCam;
01916
01917 float FOV;
01918
01919 word Time;
01920 word Flags;
01921 };
01922
01923
01924
01925
01932 struct IS_RIP
01933 {
01934 byte Size;
01935 byte Type;
01936 byte ReqI;
01937 byte Error;
01938
01939 byte MPR;
01940 byte Paused;
01941 byte Options;
01942 byte Sp3;
01943
01944 unsigned CTime;
01945 unsigned TTime;
01946
01947 char RName[64];
01948 };
01949
01950
01951
01957
01958 enum
01959 {
01960 RIP_OK,
01961 RIP_ALREADY,
01962 RIP_DEDICATED,
01963 RIP_WRONG_MODE,
01964 RIP_NOT_REPLAY,
01965 RIP_CORRUPTED,
01966 RIP_NOT_FOUND,
01967 RIP_UNLOADABLE,
01968 RIP_DEST_OOB,
01969 RIP_UNKNOWN,
01970 RIP_USER,
01971 RIP_OOS,
01972 };
01979 #define RIPOPT_LOOP 1
01980 #define RIPOPT_SKINS 2
01981
01984
01985 struct IS_SSH
01986 {
01987 byte Size;
01988 byte Type;
01989 byte ReqI;
01990 byte Error;
01991
01992 byte Sp0;
01993 byte Sp1;
01994 byte Sp2;
01995 byte Sp3;
01996
01997 char BMP[32];
01998 };
01999
02000
02005
02006 enum
02007 {
02008 SSH_OK,
02009 SSH_DEDICATED,
02010 SSH_CORRUPTED,
02011 SSH_NO_SAVE,
02012 };
02019 #define IS_X_MIN 0
02020 #define IS_X_MAX 110
02021
02022 #define IS_Y_MIN 30
02023 #define IS_Y_MAX 170
02024
02030 struct IS_BFN
02031 {
02032 byte Size;
02033 byte Type;
02034 byte ReqI;
02035 byte SubT;
02036
02037 byte UCID;
02038 byte ClickID;
02039 byte Inst;
02040 byte Sp3;
02041 };
02042
02047
02048 enum
02049 {
02050 BFN_DEL_BTN,
02051 BFN_CLEAR,
02052 BFN_USER_CLEAR,
02053 BFN_REQUEST,
02054 };
02081 struct IS_BTN
02082 {
02083 byte Size;
02084 byte Type;
02085 byte ReqI;
02086 byte UCID;
02087
02088 byte ClickID;
02089 byte Inst;
02090 byte BStyle;
02091 byte TypeIn;
02092
02093 byte L;
02094 byte T;
02095 byte W;
02096 byte H;
02097
02098 char Text[TEXT_SIZE];
02099 };
02100
02112 #define INST_ALWAYS_ON 128
02113
02122 #define ISB_C1 1
02123 #define ISB_C2 2
02124
02134 #define ISB_C4 4
02135 #define ISB_CLICK 8
02136 #define ISB_LIGHT 16
02137 #define ISB_DARK 32
02138 #define ISB_LEFT 64
02139 #define ISB_RIGHT 128
02140
02147 struct IS_BTC
02148 {
02149 byte Size;
02150 byte Type;
02151 byte ReqI;
02152 byte UCID;
02153
02154 byte ClickID;
02155 byte Inst;
02156 byte CFlags;
02157 byte Sp3;
02158 };
02159
02164 #define ISB_LMB 1
02165 #define ISB_RMB 2
02166 #define ISB_CTRL 4
02167 #define ISB_SHIFT 8
02168
02174 struct IS_BTT
02175 {
02176 byte Size;
02177 byte Type;
02178 byte ReqI;
02179 byte UCID;
02180
02181 byte ClickID;
02182 byte Inst;
02183 byte TypeIn;
02184 byte Sp3;
02185
02186 char Text[96];
02187 };
02188
02199 struct OutSimPack
02200 {
02201 unsigned Time;
02202
02203 Vector AngVel;
02204 float Heading;
02205 float Pitch;
02206 float Roll;
02207 Vector Accel;
02208 Vector Vel;
02209 Vec Pos;
02210
02211 int ID;
02212 };
02213
02215 struct OutGaugePack
02216 {
02217 unsigned Time;
02218
02219 char Car[4];
02220 word Flags;
02221 byte Gear;
02222 byte SpareB;
02223 float Speed;
02224 float RPM;
02225 float Turbo;
02226 float EngTemp;
02227 float Fuel;
02228 float OilPressure;
02229 float OilTemp;
02230 unsigned DashLights;
02231 unsigned ShowLights;
02232 float Throttle;
02233 float Brake;
02234 float Clutch;
02235 char Display1[16];
02236 char Display2[16];
02237
02238 int ID;
02239 };
02240
02241
02246 #define OG_TURBO 8192
02247 #define OG_KM 16384
02248 #define OG_BAR 32768
02249
02255 enum
02256 {
02257 DL_SHIFT,
02258 DL_FULLBEAM,
02259 DL_HANDBRAKE,
02260 DL_PITSPEED,
02261 DL_TC,
02262 DL_SIGNAL_L,
02263 DL_SIGNAL_R,
02264 DL_SIGNAL_ANY,
02265 DL_OILWARN,
02266 DL_BATTERY,
02267 DL_ABS,
02268 DL_SPARE,
02269 DL_NUM
02270 };
02272
02273 #endif