gSPSelectDL
Syntax
#include <ultra64.h> /* gs2dex.h */
gSPSelectDL(Gfx *gdl, Gfx *ldl, u8 sid, u32 flag, u32 mask)
gsSPSelectDL(Gfx *ldl, u8 sid, u32 flag, u32 mask)
Arguments
- gdl is the display list pointer.
- ldl is the pointer to the display list to link.
- sid is the status ID (0, 4, 8 or 12).
- flag is the status flag.
- mask is the status mask.
Explanation
Using a method similar to the texture loading decision process, this macro evaluates the status [status ID] and then calls another display list according to the True/False result. The macro uses the following processes to decide whether or not to call the other display list:
- Checks (Status[sid] & mask) == flag.
- If the result is true, the macro terminates without doing anything.
- If the result is false, it updates Status[sid] so
Status[sid] = (Status[sid] & ~mask) | (flag & mask)
and calls the display list specified by ldl.
The status region is set using gSPSetStatus. Please see Section 25.5.4.7.1, "gSPSetStatus" in the N64 Online Programming Manual.
Like a sub-routine call, this macro returns to the processing of the calling display list after the linked-to display list is completed.
See also
gSPSelectBranchDL
Revision history
2/1/1999 Completely rewritten.
|
Nintendo® Confidential
Warning: all information in this document is confidential and covered by a non-disclosure agreement. You are responsible for keeping this information confidential and protected. Nintendo will vigorously enforce this responsibility.
Copyright © 1998
Nintendo of America Inc. All rights reserved Nintendo and N64 are registered trademarks of Nintendo
Last updated March 1999
|