IS RIP

From LFS Manual
Jump to navigationJump to search

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.

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

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.