Difference between revisions of "IS SMALL"

From LFS Manual
Jump to navigationJump to search
 
m
 
(2 intermediate revisions by one other user not shown)
Line 2: Line 2:
  
 
The IS_SMALL packet is a general purpose packet comprised of 8 bytes. The packet is designed to prevent repeating a common structure which would be the same for many packets. Unlike the [[IS_TINY]] the IS_SMALL also contains the UVal, a 4 byte unsigned integer.
 
The IS_SMALL packet is a general purpose packet comprised of 8 bytes. The packet is designed to prevent repeating a common structure which would be the same for many packets. Unlike the [[IS_TINY]] the IS_SMALL also contains the UVal, a 4 byte unsigned integer.
 +
 +
<big><pre>struct IS_SMALL // General purpose 8 byte packet
 +
{
 +
byte Size; // always 8
 +
byte Type; // always ISP_SMALL
 +
byte ReqI; // 0 unless it is an info request or a reply to an info request
 +
byte SubT; // subtype, from SMALL_ enumeration (e.g. SMALL_SSP)
 +
 +
unsigned UVal; // value (e.g. for SMALL_SSP this would be the OutSim packet rate)
 +
};</pre></big>
  
 
== Packet Detail ==
 
== Packet Detail ==
Line 11: Line 21:
 
=== Type ===
 
=== Type ===
  
The packet type from the ISP_ enumeration, always 4.
+
The packet type from the ISP_ enumeration, always ISP_SMALL.
  
 
=== ReqI ===
 
=== ReqI ===
Line 31: Line 41:
  
 
A general purpose 4 byte unsigned integer, the meaning of which varies depending on the SubT.
 
A general purpose 4 byte unsigned integer, the meaning of which varies depending on the SubT.
 +
 +
[[Category:InSim packets]]

Latest revision as of 00:56, 2 December 2023

Introduction

The IS_SMALL packet is a general purpose packet comprised of 8 bytes. The packet is designed to prevent repeating a common structure which would be the same for many packets. Unlike the IS_TINY the IS_SMALL also contains the UVal, a 4 byte unsigned integer.

struct IS_SMALL // General purpose 8 byte packet
{
	byte Size;		// always 8
	byte Type;		// always ISP_SMALL
	byte ReqI;		// 0 unless it is an info request or a reply to an info request
	byte SubT;		// subtype, from SMALL_ enumeration (e.g. SMALL_SSP)

	unsigned UVal;	// value (e.g. for SMALL_SSP this would be the OutSim packet rate)
};

Packet Detail

Size

The size of the packet, always 8 bytes.

Type

The packet type from the ISP_ enumeration, always ISP_SMALL.

ReqI

The ReqI must always be set to non-zero when sending a request to LFS for information, and in turn the replying packet will contain the same value set in its ReqI.

SubT

  • SMALL_NONE: Not used
  • SMALL_SSP: Request to start sending OutSim packets at the specified interval
  • SMALL_SSG: Request to start sending OutGauge packets at the specified interval
  • SMALL_VTA: Send to set the current vote action, from the VOTE_ enumeration
  • SMALL_TMS: Send in single-player mode to stop time, 1 means to stop and 0 to carry on. This freezes the game but is not the same as pausing, as the game must be unfrozen before any further actions can be undertaken
  • SMALL_STP: Send when frozen to update the game time by the specified hundredths
  • SMALL_RTP: Sent in response to a IS_TINY with a SubT of TINY_GTH. Contains the time in hundredths
  • SMALL_NLI: Send to set the IS_NLP node lap interval

UVal

A general purpose 4 byte unsigned integer, the meaning of which varies depending on the SubT.