manpage: updating the section about nil vs fteqcc-__NULL__

This commit is contained in:
Wolfgang Bumiller 2013-01-10 15:41:36 +01:00
parent 81cc4194dc
commit cf676443cb

View file

@ -448,13 +448,18 @@ anything. No typechecking will be performed on assignments. Assigning
to it is forbidden, using it in any other kind of expression is also to it is forbidden, using it in any other kind of expression is also
not allowed. not allowed.
.sp .sp
Note that this is different from fteqcc's __NULL__ in that gmqcc Note that this is different from fteqcc's __NULL__: In fteqcc,
generates an actual empty global, rather than using the global at __NULL__ maps to the integer written as '0i'. It's can be assigned to
offset 0 because it would overlap with the global RETURN variable when function pointers and integers, but it'll error about invalid
dealing with vectors, which starts at offset 1. Setting a vector to instructions when assigning it to floats without enabling the FTE
__NULL__ in fteqcc causes only the vector's x component to be 0. instruction set. There's also a bug which allows it to be assigned to
However, its y and z components will contain the previous x and y vectors, for which the source will be the global at offset 0, meaning
components of the global OFS_RETURN. the vector's y and z components will contain the OFS_RETURN x and y
components.
.sp
In that gmqcc the nil global is an actual global filled with zeroes,
and can be assigned to anything including fields, vectors or function
pointers, and they end up becoming zeroed.
.TP .TP
.B -fpermissive .B -fpermissive
Various effects, usually to weaken some conditions. Various effects, usually to weaken some conditions.