Difference between revisions of "IS MCI"
From LFS Manual
Jump to navigationJump to searchBokujishin (talk | contribs) (Created page with "== Introduction == The '''M'''ulti '''C'''ar '''I'''nfo is sent by LFS as a reply to a TINY_MCI request, or at regular intervals if requested in [...") |
|||
| (6 intermediate revisions by the same user not shown) | |||
| Line 1: | Line 1: | ||
| − | == | + | {{Infobox InSim packet |
| + | | description = Car info for multiple cars (more detailed than [[IS_NLP]]) | ||
| + | | sizetext = 4 + {{var|NumC}} * 28 | ||
| + | | type_key = ISP_MCI | ||
| + | | type_value = 38 | ||
| + | | direction = in | ||
| + | | prev = [[IS_NLP]] | ||
| + | | next = [[IS_MSX]] | ||
| + | | last_updated = 0.7A | ||
| + | }} | ||
The '''M'''ulti '''C'''ar '''I'''nfo is sent by LFS as a reply to a [[InSim_enumerations#TINY|TINY_MCI]] request, or at regular intervals if requested in [[IS_ISI]]. | The '''M'''ulti '''C'''ar '''I'''nfo is sent by LFS as a reply to a [[InSim_enumerations#TINY|TINY_MCI]] request, or at regular intervals if requested in [[IS_ISI]]. | ||
| + | |||
| + | == Packet details == | ||
{| class="wikitable" | {| class="wikitable" | ||
| Line 8: | Line 19: | ||
! Type !! Name !! Description | ! Type !! Name !! Description | ||
|- | |- | ||
| − | | byte || Size || 4 + NumC * 28 | + | | byte || Size || 4 + {{var|NumC}} * 28 |
|- | |- | ||
| byte || Type || ISP_MCI | | byte || Type || ISP_MCI | ||
| Line 16: | Line 27: | ||
| byte || NumC || number of valid CompCar structs in this packet | | byte || NumC || number of valid CompCar structs in this packet | ||
|- | |- | ||
| − | | CompCar || Info[MCI_MAX_CARS] || car info for each player, 1 to MCI_MAX_CARS (NumC) | + | | CompCar || Info[{{var|MCI_MAX_CARS}}] || car info for each player, 1 to {{var|MCI_MAX_CARS}} (NumC) |
|} | |} | ||
| − | |||
| − | |||
=== Size === | === Size === | ||
| − | The size of the packet varies from 4 to 452 bytes, depending on [[#NumC|NumC]]. The maximum size is governed by MCI_MAX_CARS: | + | The size of the packet varies from 4 to 452 bytes, depending on [[#NumC|NumC]]. The maximum size is governed by {{var|MCI_MAX_CARS}}: |
<pre>const int MCI_MAX_CARS = 16;</pre> | <pre>const int MCI_MAX_CARS = 16;</pre> | ||
| Line 46: | Line 55: | ||
Since the maximum number of cars per packet is currently 16, you can receive up to 3 IS_MCI packets for each request or after each interval. If you need to process data for all cars, you should check the [[InSim_structs#CompCar|CompCar]] Info flags for CCI_FIRST and CCI_LAST, to make sure you include every car. | Since the maximum number of cars per packet is currently 16, you can receive up to 3 IS_MCI packets for each request or after each interval. If you need to process data for all cars, you should check the [[InSim_structs#CompCar|CompCar]] Info flags for CCI_FIRST and CCI_LAST, to make sure you include every car. | ||
| + | |||
| + | == Changelog == | ||
| + | |||
| + | * {{LFS version|0.5S}}: Packets support 2000 laps. | ||
| + | * {{LFS version|0.5V}}: Packets are available in [[:Category:Open area tracks|arenas]]. | ||
| + | * {{LFS version|0.5X10}}: Minimum time interval between packets reduced to 50 ms. | ||
| + | * {{LFS version|0.5Z}}: Packets are sent at regular game update intervals. A CCI_LAG bit is available in the CompCar structure. | ||
| + | * {{LFS version|0.6B}}: Minimum time interval between packets reduced from 50 ms to 40 ms. | ||
| + | * {{LFS version|0.7A}}: Minimum time interval between packets reduced from 40 ms to 10 ms. Maximum cars increased from 8 to 16 - see {{var|MCI_MAX_CARS}}. | ||
| + | * {{LFS version|0.7F}}: Packets are no longer sent after clicking the replay slider. | ||
| + | |||
| + | == See also == | ||
| + | |||
| + | * [[IS_NLP]] | ||
| + | |||
| + | {{InSim packets}} | ||
[[Category:InSim packets]] | [[Category:InSim packets]] | ||
Latest revision as of 15:22, 14 February 2026
| IS_MCI | |
|---|---|
| Car info for multiple cars (more detailed than IS_NLP) | |
| Overview | |
| Size | 4 + NumC * 28 |
| Type | ISP_MCI (38) |
| Usage | info |
| Last updated | 0.7A |
| Previous packet IS_NLP |
Next packet IS_MSX |
The Multi Car Info is sent by LFS as a reply to a TINY_MCI request, or at regular intervals if requested in IS_ISI.
Packet details
| Type | Name | Description |
|---|---|---|
| byte | Size | 4 + NumC * 28 |
| byte | Type | ISP_MCI |
| byte | ReqI | 0 unless this is a reply to an TINY_MCI request |
| byte | NumC | number of valid CompCar structs in this packet |
| CompCar | Info[MCI_MAX_CARS] | car info for each player, 1 to MCI_MAX_CARS (NumC) |
Size
The size of the packet varies from 4 to 452 bytes, depending on NumC. The maximum size is governed by MCI_MAX_CARS:
const int MCI_MAX_CARS = 16;
Type
The packet type from the ISP_ enumeration, always ISP_MCI.
ReqI
ReqI is equal to zero, unless the packet is a reply to a TINY_MCI request.
NumC
The number of cars in the packet.
Info
A list of CompCar structs, one for each car.
Notes
Since the maximum number of cars per packet is currently 16, you can receive up to 3 IS_MCI packets for each request or after each interval. If you need to process data for all cars, you should check the CompCar Info flags for CCI_FIRST and CCI_LAST, to make sure you include every car.
Changelog
- 0.5S: Packets support 2000 laps.
- 0.5V: Packets are available in arenas.
- 0.5X10: Minimum time interval between packets reduced to 50 ms.
- 0.5Z: Packets are sent at regular game update intervals. A CCI_LAG bit is available in the CompCar structure.
- 0.6B: Minimum time interval between packets reduced from 50 ms to 40 ms.
- 0.7A: Minimum time interval between packets reduced from 40 ms to 10 ms. Maximum cars increased from 8 to 16 - see MCI_MAX_CARS.
- 0.7F: Packets are no longer sent after clicking the replay slider.
See also
| Initialisation | IS_ISI | ||
|---|---|---|---|
| Version Information | IS_VER | ||
| General Purpose | IS_TINY · IS_SMALL · IS_TTC | ||
| State Reporting and Requests | IS_STA · IS_SFP · IS_ISM | ||
| Text Messages and Key Presses | IS_SCH · IS_MSO · IS_III · IS_MST · IS_MTC · IS_MSX · IS_MSL | ||
| Voting | IS_VTN | ||
| Race Tracking | IS_RST · IS_REO | ||
| Autocross | IS_AXI · IS_AXO · IS_UCO · IS_OCO · IS_AXM | ||
| Connection Tracking | IS_NCN · IS_CNL · IS_CPR · IS_ACR · IS_NCI · IS_SLC · IS_CIM | ||
| Car Tracking | IS_NPL · IS_PLP · IS_PLL · IS_LAP · IS_SPX · IS_PIT · IS_PSF · IS_PLA · IS_PEN · IS_TOC · IS_FLG · IS_PFL · IS_FIN · IS_RES · IS_NLP · IS_MCI · IS_CRS · IS_CON · IS_OBH · IS_HLV · IS_CSC | ||
| Camera Control | IS_SCC · IS_CPP | ||
| Replay Control | IS_RIP | ||
| Screenshots | IS_SSH | ||
| InSim Buttons | IS_BFN · IS_BTN · IS_BTC · IS_BTT | ||
| AI Control | IS_AIC · IS_AII | ||
| Other packets | IS_MOD · IS_CCH · IS_PLC · IS_HCP · IS_JRR · IS_MAL · IS_PLH · IS_IPB | ||