IS RIP

From LFS Manual
Revision as of 11:28, 14 February 2026 by Flame CZE (talk | contribs)
(diff) ←Older revision | Current revision (diff) | Newer revision→ (diff)
Jump to navigationJump to search
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

IS_RIP packet properties
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