ispackets.h

Go to the documentation of this file.
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 
 All Data Structures Files Variables Enumerator Defines