Sly 1:LM: Difference between revisions

Fixed struct fields table
(Updated info and added navbox)
(Fixed struct fields table)
 
(7 intermediate revisions by the same user not shown)
Line 1:
{{Infobox data structure
| sly1= y
| official= y
| size= 12 bytes
}}
 
'''LM''' ('''l'''i'''m'''it) is a data structure used in {{Sly 1}}. Limits are used to clamp values to ensure they fall within a certain range.
 
==Structure Fields ==
{{Struct top}}
The LM struct is declared as follows:
{{Struct field|0x4|0x4|float|gMin|Lower bound}}
<syntaxhighlight lang="c++">
{{Struct field|0x8|0x4|float|gMax|Upper bound}}
struct LM {
{{Struct field|0xC|0x4|float|u4ag|}}
float gMin;
{{Struct bottom}}
float gMax;
float u4ag;
</syntaxhighlight>
 
==Usage==
The mosthelper commonfunction way<code>GLimitLm</code> theis gameused usesto limitsclamp isa clamping afloat value to fall within a certaingiven rangelimit.. The helper function <code>GLimitLm</code> exists for this purpose; itIt takes a pointer to an <code>LM</code> and float value <code>g</code>, and returns the value of <code>g</code> clamped to fall between <code>gMin</code> and <code>gMax</code> inclusive.
 
There are someSome limits that are so commonly used they are defined as global values in the game’s code. One example is <code>g_lmZeroOne</code> which defines a limit byon the interval <tt>[0,1]</tt>.
 
==Examples==
{{Hatnote|This list is currently incomplete. You can help {{SITENAME}} by adding to it.}}
{{todo|Add more examples}}
 
* When updating the player’s <code>uSuck</code> in the function <code>ChangeSuck</code>, the new suck is clamped to the range allowed by the current [[Sly 1:Difficulty|difficulty]] level]]. For the easy and medium difficulties the limit is [0,1], but for the hard difficulty the limit is [0,0].
 
{{Navbox Sly 1}}
[[Category:Data structures]]
[[Category:Data structures in Sly 1]]