mirror of
https://github.com/DrBeef/Raze.git
synced 2024-11-16 01:11:28 +00:00
Lunatic: (better) document sector[].visibility, sprite[].clipdist, player[].weapon.
git-svn-id: https://svn.eduke32.com/eduke32@4437 1a8010ca-5511-0410-912e-c29ae57300e0
This commit is contained in:
parent
73b0943e25
commit
9de8ec9ed8
1 changed files with 66 additions and 13 deletions
|
@ -601,10 +601,12 @@ The index of the sector's first wall and the number of walls in the sector,
|
||||||
respectively.
|
respectively.
|
||||||
|
|
||||||
_`u8`_ `visibility`::
|
_`u8`_ `visibility`::
|
||||||
Determines the amount of distance fading. In the range [`0` .. `239`], the
|
Determines the amount of distance fading. The sector `visibility` member is
|
||||||
``darkening'' increases with rising values. The range [`240` .. `255`] should
|
biased: linear visibility is determined from it by adding 16 and taking the
|
||||||
be thought of as [`-16` .. `-1`].
|
result mod 16. This linear visibility's interpretation is that larger values
|
||||||
// TODO: better wording?
|
correspond to a steeper ``darkening'' (or fogging) attenuation with
|
||||||
|
distance. Linear visibility 0 -- corresponding to `sector[].visibility` of 240
|
||||||
|
-- means no attenuation with distance.
|
||||||
|
|
||||||
_`i16`_ `lotag`, `hitag`, `extra`::
|
_`i16`_ `lotag`, `hitag`, `extra`::
|
||||||
General-purpose ``tags'' provided for game programming. They may be used by
|
General-purpose ``tags'' provided for game programming. They may be used by
|
||||||
|
@ -839,15 +841,29 @@ The blending table index of the sprite. See
|
||||||
<<blending_table_interfaces,Blending table interfaces>> for more details.
|
<<blending_table_interfaces,Blending table interfaces>> for more details.
|
||||||
|
|
||||||
_`u8`_ `clipdist`::
|
_`u8`_ `clipdist`::
|
||||||
If this sprite is _view-aligned_, controls the distance at which another moving
|
In the engine, this member is used in the `clipmove()` function: it controls
|
||||||
object is considered to be in collision with this *stationary* sprite. (It does
|
the distance at which another moving object is considered to be in collision
|
||||||
not control the inverse case.) More precisely, it designates half the
|
with this *view-aligned* and *stationary* sprite.footnote:[The `clipmove()`
|
||||||
side-length of the bounding square divided by 4. Thus, a value of `255` keeps
|
function is called for the moving object. The stationary one is a candidate for
|
||||||
moving objects away from this one at a max-norm distance
|
collision out of potentially many.] It does *not* control the inverse case: the
|
||||||
footnote:[The max-norm distance between points _p_~1~=(x~1~, y~1~) and
|
distance at which the moving object is considered in collision with the
|
||||||
_p_~2~=(x~2~, y~2~) is defined as max(abs(x~2~ -- x~1~), abs(y~2~ -- y~1~)).]
|
stationary one is determined by the `walldist` argument to `clipmove()`. +
|
||||||
of at least 1020
|
More precisely, it designates half the side-length of the bounding square
|
||||||
BUILD x/y units.
|
divided by 4. Thus, a value of `255` keeps moving objects away from this one at
|
||||||
|
a max-norm distance footnote:[The max-norm distance between points
|
||||||
|
_p_~1~=(x~1~, y~1~) and _p_~2~=(x~2~, y~2~) is defined as max(abs(x~2~ --
|
||||||
|
x~1~), abs(y~2~ -- y~1~)).] of at least 1020 BUILD x/y units.
|
||||||
|
+
|
||||||
|
In the Duke3D game code, it is also used to determine said `walldist` argument
|
||||||
|
for certain `clipmove()` calls, i.e. to control (1/8^th^ of) the base side
|
||||||
|
length of the moving sprite's clipping cuboid: this is the case for
|
||||||
|
+
|
||||||
|
* user actors declared as `actor.FLAGS.enemy` or `actor.FLAGS.enemystayput` in
|
||||||
|
the Lua `gameactor` call (or which were provided the corresponsing flags for
|
||||||
|
CON's `useractor`) having an `xrepeat` less than or equal to 60, or
|
||||||
|
* non-enemies that are either not projectiles, or projectiles that have a
|
||||||
|
certain projectile bit set (*TODO*; these are not yet documented.)
|
||||||
|
|
||||||
// ^ XXX: clipshapes? Also, clipdist is effective for moving sprites (A_MoveSprite()).
|
// ^ XXX: clipshapes? Also, clipdist is effective for moving sprites (A_MoveSprite()).
|
||||||
|
|
||||||
_`u8`_ `xrepeat`, `yrepeat`::
|
_`u8`_ `xrepeat`, `yrepeat`::
|
||||||
|
@ -1211,6 +1227,43 @@ _`bool`_ `jetpack_on`, {nbsp} `scuba_on`, {nbsp} `heat_on`::
|
||||||
Whether the player currently has the jetpack, scuba gear, or night vision
|
Whether the player currently has the jetpack, scuba gear, or night vision
|
||||||
goggles activated, respectively.
|
goggles activated, respectively.
|
||||||
|
|
||||||
|
:wiki_predef_gamevars: http://wiki.eduke32.com/wiki/Category:Pre-defined_gamevars
|
||||||
|
|
||||||
|
_`weapondata_t`_ +weapon[_weapon_]+::
|
||||||
|
|
||||||
|
A struct containing information about the behavior each of weapon for this
|
||||||
|
player. In CON, these are available under the name
|
||||||
|
{wiki_predef_gamevars}[`WEAPONx_*`] for weapon indices `x` and members `*`.
|
||||||
|
|
||||||
|
[float]
|
||||||
|
==== _`weapondata_t`_ members
|
||||||
|
|
||||||
|
In Lunatic, some members of the _`weapondata_t`_ structure are checked when
|
||||||
|
being assigned to and issue an error on attempting to set them to an invalid
|
||||||
|
value. All these members assume *zero* to mean the neutral/no-op value (instead
|
||||||
|
of --1, as would seem more logical), and consequently, Lunatic only allows
|
||||||
|
values greater or equal zero to be assigned to them.
|
||||||
|
|
||||||
|
// TODO: workslike + flags
|
||||||
|
|
||||||
|
* `clip`
|
||||||
|
* `reload`
|
||||||
|
* `firedelay`
|
||||||
|
* `totaltime`
|
||||||
|
* `holddelay`
|
||||||
|
* `flags`
|
||||||
|
* `shoots` (checked)
|
||||||
|
* `spawntime`
|
||||||
|
* `spawn` (checked)
|
||||||
|
* `shotsperburst`
|
||||||
|
* `initialsound` (checked)
|
||||||
|
* `firesound` (checked)
|
||||||
|
* `sound2time` [gray]#// This is a time number, not a sound number#
|
||||||
|
* `sound2sound` (checked)
|
||||||
|
* `reloadsound1` (checked)
|
||||||
|
* `reloadsound2` (checked)
|
||||||
|
* `selectsound` (checked)
|
||||||
|
* `flashcolor`
|
||||||
|
|
||||||
[[player_methods]]
|
[[player_methods]]
|
||||||
===== `player` methods
|
===== `player` methods
|
||||||
|
|
Loading…
Reference in a new issue