IS RIP
| IS_RIP | |
|---|---|
| Load and/or set replay position, or get replay information | |
| Overview | |
| Size | 80 |
| Type | ISP_RIP (48) |
| Usage | both ways |
| Previous packet IS_BTT |
Next packet IS_SSH |
The Replay Information Packet is used for controlling replays. You can load a replay or set the position in a replay. LFS will reply with another IS_RIP packet when the request is completed.
Packet details
| Type | Name | Description |
|---|---|---|
| byte | Size | 80 |
| byte | Type | ISP_RIP |
| byte | ReqI | request: non-zero / reply: same value returned |
| byte | Error | 0 or 1 = OK / other values are listed below |
| byte | MPR | 0 = SPR / 1 = MPR |
| byte | Paused | request: pause on arrival / reply: paused state |
| byte | Options | various options - see below |
| byte | Sp3 | |
| unsigned | CTime | (ms) request: destination / reply: position |
| unsigned | TTime | (ms) request: zero / reply: replay length |
| char | RName[64] | zero or replay name - last byte must be zero |
Size
The size of the packet is always 80 bytes.
Type
The packet type from the ISP_ enumeration, always ISP_RIP.
ReqI
ReqI must be non-zero when sending the packet, LFS replies with the same value.
Error
0 when sending the packet, an error code from the RIP_ enumeration when sent by LFS:
- RIP_OK: OK, completed instruction
- RIP_ALREADY: OK, already at the destination
- RIP_DEDICATED: can't run a replay - dedicated host
- RIP_WRONG_MODE: can't start a replay - not in a suitable mode
- RIP_NOT_REPLAY: RName is zero but no replay is currently loaded
- RIP_CORRUPTED: corrupted (e.g. RName does not end with zero byte)
- RIP_NOT_FOUND: the replay file was not found
- RIP_UNLOADABLE: obsolete/future/corrupted
- RIP_DEST_OOB: destination is beyond replay length
- RIP_UNKNOWN: unknown error found starting replay
- RIP_USER: replay search was terminated by user
- RIP_OOS: can't reach destination - SPR is out of sync
MPR
0 if the replay is an SPR, 1 if it is an MPR.
Paused
In a request, make the replay pause on arrival. In a reply, reports the paused state.
Options
RIPOPT_ flags:
#define RIPOPT_LOOP 1 // replay will loop if this bit is set #define RIPOPT_SKINS 2 // set this bit to download missing skins #define RIPOPT_FULL_PHYS 4 // use full physics when searching an MPR
CTime
The current time (in a reply) or the destination time (in a request), in ms.
TTime
The replay length (in a reply), or 0 (in a request), in ms.
RName
The replay name, or 0.
In a request, replay RName will be loaded. If zero then the current replay is used. In a reply, RName is the name of the current replay, or zero if no replay is loaded.
| 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 | ||