IS RIP
From LFS Manual
Revision as of 17:35, 10 February 2026 by Bokujishin (talk | contribs) (Created page with "== Introduction == The '''R'''eplay '''I'''nformation '''P'''acket is used to fully control the in-game camera, including standard and free view modes. It can also be request...")
Introduction
The Replay Information Packet is used to fully control the in-game camera, including standard and free view modes. It can also be requested by sending a TINY_SCP request.
| 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 |
Packet Details
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.