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