nd Function Reference


ndGenInstance

Function name
ndGenInstance
Syntax
NDD_INSTANCE *ndGenInstance(NDD_INSTANCE *parent, u16 type, u16 prio, int gid);
Explanation
Creates and links an instance structure.
Parameters
NDD_INSTANCE *parent;
Parent instance pointer.
u16 type;
Instance type.
u16 prio;
Priority code. This affects the order of evaluation of display instances.
The specifiable range varies depending on the type.
int gid;
Instance group ID.
Return value
NDD_INSTANCE *;
The created instance pointer.
Note
Creates the instance. The characteristics depend on the type.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndChangePriority

Function name
ndChangePriority
Syntax
u16 ndChangePriority(NDD_INSTANCE *isp, u16 newprio);
Explanation
Changes the priority of one instance.
Parameters
NDD_INSTANCE *isp;
Instance pointer.
u16 newprio;
New priority value.
Return value
u16;
Old priority value.
Note
Links to the most significant specified priority.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndChangeParent

Function name
ndChangeParent
Syntax
NDD_INSTANCE ndChangeParent(NDD_INSTANCE *isp, NDD_INSTANCE *newparent);
Explanation
Changes the parent of the instance.
Parameters
NDD_INSTANCE *isp;
Target's instance pointer.
NDD_INSTANCE *newparent;
New parent instance pointer.
Return value
NDD_INSTANCE *;
Parent instance up until now.
Note
newparent must not be NULL.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndDeleteInstanceGID

Function name
ndDeleteInstanceGID
Syntax
void ndDeleteInstanceGID(NDD_INSTANCE *isp, int type, int gid, int mask);
Explanation
Deletes the instance, matching the parameters specified by type, gid, and mask.

The instance that is deleted is the one that hits [GID] & mask == gid with [TYPE] == type. However, when -1 is specified for type, type is not checked.

All children of isp are evaluated. If a parent is hit upon in the search, all of its children are deleted.

Parameters
NDD_INSTANCE *isp;
int type;
int gid;
int mask;
Note
This function cannot be used inside an instance callback.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndInit

Function name
ndInit
Syntax
void ndInit(void);
Explanation
Initializes the module.
Note
This function must be called before using the overall 'nd' API. The current scene is prepared. Even if the scene is not set, the base for displaying the object is prepared.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndEntryAnimation

Function name
ndEntryAnimation
Syntax
NDD_INSTANCE *ndEntryAnimation(NDD_INSTANCE *parent, int animno, int id, NDD_INSTANCE *tarinst);
Explanation
Creates one timekeeper instance and the number of channels' worth of animation instances from the animation reference table.
Parameters
NDD_INSTANCE *parent;
Parent instance pointer.
int animno;
Animation number.
int id;
Instance ID.
NDD_INSTANCE *tarinst;
Instance pointer attaching the animation.
Return value
NDD_INSTANCE *;

Animation timekeeper instance pointer.
Note
Cannot be used inside an instance callback.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndEntryAnimationRaw

Function name
ndEntryAnimationRaw
Syntax
NDD_INSTANCE *ndEntryAnimationRaw(NDD_INSTANCE *parent, NDR_ANIM *anp, int gid, NDD_INSTANCE *tarinst);
Explanation
Creates one timekeeper instance and the number of channels' worth of animation instances from the animation reference table.
Parameters
NDD_INSTANCE *parent;
Parent instance pointer.
NDR_ANIM *anp;
Pointer to the animation reference table.
int gid;
Instance group ID.
NDD_INSTANCE *tarinst;
Instance pointer attaching the animation.
Return value
NDD_INSTANCE *;

Animation timekeeper instance pointer.
Note
Cannot be used inside an instance callback.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndEntryObject

Function name
ndEntryObject
Syntax
NDD_INSTANCE *ndEntryObject(NDD_INSTANCE *parent, int objno, int shapeno, int animno, int gid, int flag);
Explanation
Creates one instance from the object reference table.
Parameters
NDD_INSTANCE *parent;
Parent instance pointer. If NULL, hangs down from object root.
int objno;
Index of the object reference table.
int shapeno;
Offset of the shape reference table. The object reference table "shape" and the list at the position calaculated by adding the numeric value specified here is registered in the shape held by the object. The shape maintained by the object is registered from the "shape" of the object reference table and the list of positions obtained by adding the numeric values specified by "shape".
int animno;
Offset of the animation reference table. To pass animation simultaneously, pass the animation of the table derived from adding this value to the values of NDR_OBJ.geom_anim.
int gid;
The instance ID base value. "gid" specified by NDR_OBJ is added to this value and the sum is registered in the created object instance structure.
int flag;
Bit-assigned creation flag. Effective when the bit is 1.
bit 0 ... Set together with NDR_OBJ animation link.
bit 1 ... Evaluates by tracing link toward end of the parent-child relationship.
Return value
NDD_INSTANCE *;

Pointer to top parent among the created instances.
Notes
ndEntryObjectRaw is called internally.
Cannot be used inside an instance callback.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndEntryObjectRaw

Function name
ndEntryObjectRaw
Syntax
NDD_INSTANCE *ndEntryObjectRaw(NDD_INSTANCE *parent, NDR_OBJ *rop, int gid);
Explanation
Creates one instance from the object reference table. The link is not followed, and the animation instance is not created.
Parameters
NDD_INSTANCE *parent;
Parent instance pointer. If NULL, hangs down from object root.
NDR_OBJ *rop;
Pointer to the object reference table.
int gid;
Instance ID base value. "gid" specified by NDR_OBJ is added to this value and the sum is registered in the created object instance structure.
Return value
NDD_INSTANCE *;

Created instance pointer.
Note
Cannot be used inside an instance callback.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndAttachAnimation

Function name
ndAttachAnimation
Syntax
void ndAttachAnimation(NDD_INSTANCE *parent, NDD_INSTANCE *isp, int objno, int animno, int gid, int flag)
Explanation
References the animation link in the object reference table and attaches the animation to the existing object instance.
Parameters
NDD_INSTANCE *parent;
Parent instance pointer. If NULL, hangs down from animation root.
NDD_INSTANCE *isp;
Pointer of object instance attaching the animation.
int objno;
Object number on the global resource list.
int animno;
Offset of the animation reference table. To pass animation simultaneously, pass the animation of the table derived from adding this value to the values of NDR_OBJ.geom_anim.
int gid;
The instance ID base value. "gid" specified by NDR_OBJ is added to this value and the sum is registered in the created object instance structure.
int flag;
Bit-assigned creation flag. Effective when the bit is 1.
bit 0 ... Unused.
bit 1 ... Evaluates by tracing link toward end of the parent-child relationship.
Return value
NDD_INSTANCE *;
Pointer to the top parent among the created instances.
Note
The object instance passed by "isp" is handled as an object that was created according to the NDR_OBJ structure list specified by objno.
Cannot be used inside an instance callback.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndEntryDeformVtx

Function name
ndEntryDeformVtx
Syntax
NDD_INSTANCE *ndEntryDeformVtx(NDD_INSTANCE *isp, NDR_DEFORM *dmfp, int ofs, int gid);
Explanation
Passes the vertex deform instance.
Parameters
NDD_INSTANCE *isp;
Parameters
NDR_DEFORM *dmfp;
Pointer to the vertex deform structure.
int ofs;
Offset for when the raw vertex data list is referenced.
int gid;
Instance group ID.
Return value
NDD_INSTANCE *;
Pointer of the created vertex deform instance.
Note
This instance must be a child of the parent deform_root_instp.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndEntryDeformVtxcol

Function name
ndEntryDeformVtxcol
Syntax
NDD_INSTANCE *ndEntryDeformVtxcol(NDD_INSTANCE *isp, NDR_DEFORM *dmfp, int ofs, int gid);
Explanation
Passes the vertex color deform instance.
Parameters
NDD_INSTANCE *isp;
Pointer to the active vertex instance.
NDR_DEFORM *dmfp;
Pointer to the vertex color deform structure.
int ofs;
Offset for when the raw vertex color data list is referenced.
int gid;
Instance group ID.
Return value
NDD_INSTANCE *;
Pointer of the created vertex color deform instance.
Note
This instance must be a child of the parent deform_root_instp. The system function malloc() is used internally to reserve three memory sites. Since the callback at the end is set, the memory reserved by malloc() is released within the callback routine.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndEntryDeformVtxnv

Function name
ndEntryDeformVtxnv
Syntax
NDD_INSTANCE *ndEntryDeformVtxnv(NDD_INSTANCE *isp, NDR_DEFORM *dmfp, int ofs, int gid);
Explanation
Passes the vertex normal deform instance.
Parameters
NDD_INSTANCE *isp;
Pointer to the active vertex instance.
NDR_DEFORM *dmfp;
Pointer to the vertex normal deform structure.
int ofs;
Offset for when the raw vertex normal data list is referenced.
int gid;
Instance group ID.
Return value
NDD_INSTANCE *;
Pointer of the created vertex normal deform instance.
Note
This instance must be a child of the parent deform_root_instp. The system function malloc() is used internally to reserve three memory sites. Since the callback at the end is set, the memory reserved by malloc() is released within the callback routine.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndEntryDeformVtxst 

Function name
ndEntryDeformVtxst
Syntax
NDD_INSTANCE *ndEntryDeformVtxst(NDD_INSTANCE *isp, NDR_DEFORM *dmfp, int ofs, int gid);
Explanation
Makes an entry of the vertex texture coordinate deform instance.
Parameter
NDD_INSTANCE *isp;
Pointer for the active vertex instance
NDR_DEFORM *dmfp;
Pointer for the vertex texture coordinate deform structure
int ofs;
Offset when referring to the raw vertex texture coordinate data list
int gid;
Instance group ID
Retrun value
NDD_INSTANCE *;
Pointer for the created vertex texture coordinate deform instance
Note
This instance is linked to the exclusive parent (deform_root_instp). Three (3) memories are reserved inside using the system function malloc(). Also, a call back for terminating is set, and the memory reserved by malloc() is released inside the call back routine.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndEntryDeformShape 

Function name
ndEntryDeformShape
Syntax
NDD_INSTANCE *ndEntryDeformShape(NDD_INSTANCE *isp, int ofs_rawvtx, int ofs_rawvtxcol, int ofs_rawvtxnv, int ofs_rawvtxst, int gid, int flag);
Explanation
Takes the shape being referenced by the object instance and substitutes it for the modulated vertex information.
Parameters
NDD_INSTANCE *isp;
Pointer to the object instance of the modulation target.
int ofs_rawvtx;
int ofs_rawvtxcol;
int ofs_rawvtxnv;
int ofs_rawvtxst;
Offset for when each data list is referenced.
int gid;
Instance group ID.
int flag;
Bit-assigned creation flag. Effective when the bit is 1.
bit 0 ... Passes the vertex deform.
bit 1 ... Passes the vertex color deform.
bit 2 ... Passes the vertex normal deform.
bit 3 ... Makes an entry of the vertex texture coordinate deform.
Return value
NDD_INSTANCE *;
The created active vertex instance's pointer.
Note
The upper instance of ndEntryDeformVtx(), ndEntryDeformVtxnv(), ndEntryDeformVtxcol(), and ndEntryDeformVtxst() are created. Inside the function, the creation of each deform instance is evaluated while watching the parameter flag. It has two Vtx buffers in order to adjust to the asynchronous construction of Gfx. The system function malloc() is used internally to reserve three memory sites.
Since the callback at the end is set, the memory reserved by malloc() is released within the callback routine.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndAttachDeform 

Function name
ndAttachDeform
Syntax
void ndAttachDeform(NDD_INSTANCE *isp, int rawvtxno, int rawvtxcolno, int rawvtxnvno, int rawvtxstno, int gid, int flag);
Explanation
Passes the deform if it is prepared for the hierarchical object instance.
Parameters
NDD_INSTANCE *isp;
Pointer of the object instance that becomes the target for creation of the active vertex instance.
int rawvtxno;
int rawvtxcolno;
int rawvtxnvno;
int rawvtxstno;
Offset for when each data list is referenced.
int gid;
Instance group ID.
int flag;
Bit-assigned creation flag. Effective when the bit is 1.
bit 0 ... Unused.
bit 1 ... Evaluates by tracing link toward the end of the parent-child relationship.
bit 2 ... Passes the vertex deform.
bit 3 ... Passes the vertex color deform.
bit 4 ... Passes the vertex normal deform.
bit 5 ... Makes an entry of the vertex texture coordinate deform.
Return value
Note

Return to nd Function Reference Index
Return to nd Function Reference Index


ndSetupScene 

Function name
ndSetupScene
Function name
void ndSetupScene(NDD_RESINFO *rip, int gid, int flag);
Explanation
Constructs the scene from the scene reference table.
Parameters
NDD_RESINFO *rip;
Resouce Information
int gid;
Group ID at the time the object instance was registered.
int flag;
Flag for creating the flags that set the creation conditions. The following are effective when each bit is 1:
bit 0 ... Set together with the NDR_OBJ animation link.
bit 1 ... Evaluates by tracing link toward the end of the parent-child relaionship.
bit 2 ... Passes the vertex deform.
bit 3 ... Passes the vertex color deform.
bit 4 ... Passes the vertex normal deform
bit 5 ... Makes an entry of the vertex texture coordinate deform.
Note
Refer to rip->resinfo->scene for the scene data structure used for making settings.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndSetScreen

Function name
ndSetScreen
Syntax
void ndSetScreen(int top, int bottom, int left, int right);
Explanation
Sets the width and height of the screen display area.
Parameters
int top;
int bottom;
int left;
int right;
The display range in units of pixels.
Note

Return to nd Function Reference Index
Return to nd Function Reference Index


ndResInit 

Function name
ndResInit
Syntax
void ndResInit(int olplim, int slplim, int alplim, int rvlplim, int rvclplim, int rvnlplim, int rvslplim);
Explanation
Initializes the resource module.
Parameters
int olplim;
int slplim;
int alplim;
int rvlplim;
int rvclplim;
int rvnlplim;
int rvslplim;
The list management pointer and the maximum number for each data class.
Note The pointer list is reserved by the system function malloc().

Return to nd Function Reference Index
Return to nd Function Reference Index


ndResEntry 

Function name
ndResEntry
Syntax
NDD_RESINFO *ndResEntry(NDR_RESINFO *rrp, int usemask);
Explanation
Adds the specified resource to the global resource list.
Parameters
NDR_RESINFO *rrp;
Pointer to the resource information structure for reference use.
int usemask;
Specifies in bits the data type to be passed from the rrp contents.
Return value
NDR_RESINFO *drp;
Pointer to the resource information structure.
Note

Return to nd Function Reference Index
Return to nd Function Reference Index


ndResRelease 

Function name
ndResRelease
Syntax
void ndResRelease(NDD_RESINFO *drp);
Explanation
Releases the specified resource from the global list.
Parameters
NDD_RESINFO *drp;
Pointer to the resource information structure.
Return value
Note
The argument drp is released.
Only the resource that was just passed can be released.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndDeleteInstance

Function name
ndDeleteInstance
Syntax
void ndDeleteInstance(NDD_INSTANCE *isp);
Explanation
Delete instance and matching the parameters.
Note
The function cannot be used inside an instance callback.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndGetInstanceTRXPointer

Function name
ndGetInstanceTRXPointer
Syntax
TRX *ndGetInstanceTRXPointer(NDD_INSTANCE *isp);
Explanation
Return transform buffer pointer from instance pointer.
Parameter
NDD_INSTANCE *isp;
Instance pointer
Note
Depending on data type, the position of TRX is varied.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndSetupIdentTRX

Function name
ndSetupIdentTRX
Syntax
void ndSetupIdentTRX(TRX *p)
Explanation
Return matrix
Parameter
TRX *p;
Pointer of transform matrix
Note
Assign 9 parameters of 0,0,0, 0,0,0, 1,1,1 and returns matrix corresponding to Parallel translation, rotation, enlargement and reduction.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndProgressAnimTime

Function name
ndProgressAnimTime
Syntax
int ndProgressAnimTime(NDD_INST_ANIMTK *ntkp);
Explanation
Time advance process for timekeeper.
Parameters
NDD_INST_ANIMTK *ntkp
The animation timekeeper instance pointer.
Return value
int;
Execution result. At present, 1 must be returned.
Note
Called by ndEvalInstance

Return to nd Function Reference Index
Return to nd Function Reference Index


ndSetAnimChannel

Function name
ndSetAnimChannel
Syntax
int ndSetAnimChannel(NDD_INST_ANIM *niap);
Explanation
Key frame animation channel process.
Parameters
NDD_INST_ANIM *niap;
Animation instance pointer.
Return value
int;
Execution result.
Note
Called by ndEvalInstance.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndReloadDynamicVertex 

Function name
ndReloadDynamicVertex
Syntax
void ndReloadDynamicVertex(NDD_INST_DYNAMICVTX *nidp);
Explanation
References the modulation tables of the various deform instances and assembles Vtx.
Parameters
NDD_INST_DYNAMICVTX *nidp;
The active vertex instance's internal structure pointer.
Return value
Note
Since it depends in part on the drawing driver, two Vtx tables are prepared for making settings.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndDeformVertex

Function name
ndDeformVertex
Syntax
void ndDeformVertex(NDD_INST_DEFORM_VTX *nidvp);
Explanation
Deforms the vertex.
Parameters
NDD_INST_DEFORM_VTX *nidvp;
The vertex deform instance's internal structure pointer.
Return value
Note

Return to nd Function Reference Index
Return to nd Function Reference Index


ndDeformVertexNv

Function name
ndDeformVertexNv
Syntax
void ndDeformVertexNv(NDD_INST_DEFORM_VTXNV *nidcp);
Explanation
Defroms the vertex normal.
Parameters
NDD_INST_DEFORM_VTXNV *nidcp;
The vertex normal deform instance's internal structure pointer.
Return value
Note

Return to nd Function Reference Index
Return to nd Function Reference Index


ndDeformVertexColor

Function name
ndDeformVertexColor
Syntax
void ndDeformVertexColor(NDD_INST_DEFORM_VTXCOL *nidcp);
Explanation
Deformas the vertex color.
Parameters
NDD_INST_DEFORM_VTXCOL *nidcp;
The vertex color deform instance's internal structure pointer.
Return value
Note

Return to nd Function Reference Index
Return to nd Function Reference Index


ndDeformVertexSt 

Function name
ndDeformVertexSt
Syntax
void ndDeformVertexSt(NDD_INST_DEFORM_VTXST *nidcp);
Explanation
Deforms the vertex normal.
Parameters
NDD_INST_DEFORM_VTXNV *nidcp;
Vertex texture deform instance's internal structure pointer
Return value
Note

Return to nd Function Reference Index
Return to nd Function Reference Index


ndMakeCameraMatrix

Funtion name
ndMakeCameraMatrix
Syntax
void ndMakeCameraMatrix(float mf[4][4])
Explanation
Create Camera matrix(LookAt) from Camera informatin.
Note
It is not the matrix related to Perspective or PROJECTION_VIEW.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndMultiTrx

Function name
ndMultiTrx
Syntax
void ndMultiTrx(float mf[4][4], TRX *trxp, u32 order);
Explanation
Evaluates TRX structure and creates 4x4 matrix.
Parameters
float mf[4][4];
Buffer storing matrix to be created.
TRX *trxp;
Transform data structure of matrix.
u32 order;
Rotation component order.
Note
Created 4x4 Matrix is stored in buffer of instance work, and used for displaying.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndEvalInstanceOne 

Function name
ndEvalInstanceOne
Syntax
int ndEvalInstanceOne(NDD_INSTANCE *isp, float mf[4][4], float cmf[4][4], int forceupd);
Explanation
Frame evaluation for instance specified by isp.
Parameters
NDD_INSTANCE *isp;
Instance pointer.
float mf[4][4];
Model view matrix.
float cmf[4][4];
Model view matrix updated by the instance.
int forceupd;
Flag for forcing matrix creation. FOrced by 1.
Return value
int;
Matrix update flag. When the "forceudp" argument value and its own matrix are updated, 1 returns the "or" value.
Note
mf is used for the basic model view matrix. Even if the matrix is not evaluated, mf is returned to cmf.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndEvalInstance

Function name
ndEvalInstance
Syntax
void ndEvalInstance(NDD_INSTANCE *isp, float mf[4][4], int forceupd);
Explantation
Frame evaluation is performed on every instances under the instance specified by isp.
Parameters
NDD_INSTANCE *isp;
Instance pointer.
float mf[4][4];
Model view matrix.
int forceupd;
Flag for forcing matrix creation. Forced by 1.
Note
mf is used for the basic model view matrix.
Since the callback at the end and 64 bytes buffer is prepared in local, it may create hudge stack.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndClearFB

Function name
ndClearFB
Syntax
Gfx *ndClearFB(Gfx *gp, u16 fill_depth, u16 fill_col);
Explanation
Parameters
Gfx *gp;
Display list pointer
u16 fill_depth;
The value filling the Z buffer.
u16 fill_col;
The value filling the color value.
Return value
Gfx *gp;
Dislay list pointer.
Note

Return to nd Function Reference Index
Return to nd Function Reference Index


ndEvalLight

Function name
ndEvalLight
Syntax
int ndEvalLight(float *tarpos, NDD_LIGHT *lp, RGBAQUAD *color, s8 *nv);
Explanation
Parameters
float *tarpos;
Position of the target that is bathed in light. Three values x,y,z. If NULL, calculate as the origin (0,0,0).
NDD_LIGHT *lp;
Pointer to light structure.
RGBQUAD *color;
Pointer to the RGBAQUAD structure storing the color value.
s8 *nv;
Pointer storing the light vector. Three values x,y,z(3 bytes) in S0.7 format.
Return value
int;
0 is returned when light is null on evaluation.
Note
The NDD_LIGHT structure has the following limitations: * The normal passed by fnv must be normalized. * If NDC_LFLAG_ATTENUATION is set for flag, valid value must be assigned for start and end. * NDC_LFLAG_CUTOFF is valid only when NDC_LFLAG_HAVEPOS. These can be checked by sacrificing the execution speed, but they are ignored since they are game-use managers. When the return value "0" is returned, color and nv are not set.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndReloadLightReg

Function name
ndReloadLightReg
Syntax
Gfx *ndReloadLightReg(Gfx *gp, NDD_LIGHT *lp, u32 newcolor, s8 *newlvec);
Explanation
Parameters
Gfx *gp;
Display list pointer.
NDD_LIGHT *lp;
Pointer to the light structure.
u32 newcolor;
The newly set color value. It must be stored in 0xRRGGBB00 format from the high-order bit. The lower 8 bits are handled internally as 0x00.
s8 *newlvec;
Pointer to the newly set vector. See the S0.7 format values xy,z (3 bytes). NULL is not accepted.
Return value
Gfx *gp;
Display list pointer.
Note
References color, power and stored_nv is the NDD_LIGHT structure, defineds the heap for require parts, and loads the RSP command into the buffer. Since this function has been optimized for internal use, please know it thorughly if the user is to be free to call it at will.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndSetupLightset

Function name
ndSetupLightset
Syntax
Gfx *ndSetupLightset(Gfx *gp, float *tarpos, NDD_LIGHTSET *lightset);
Explanation
Evaluates the initialized lightset passed by "lightset" together with the object that becomes the target, and loads only the part that has changed to the display list.
Parameters
Gfx *gp;
Display list pointer.
float *tarpos;
The position of the target that is bathed in the light. Three value x,y,z. If NULL, calculate as the orgin (0,0,0).
NDD_LIGHTSET *lightset;
Pointer to the lightset structure.
Return value
Gfx *gp;
Display list pointer.
Note
The "tarpos" argument is passed to ndEvalLight() and evaluated. If the result is NULL, it is replaced with the origin ~ and evaluated.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndInitLights

Function name
ndInitLights
Syntax
int ndInitLights( NDD_LIGHTSET *lightset );
Explanation
Resets the RDP's light settings, determines the number of lights, and allocates the light number to each light structure.
Parameter
NDD_LIGHTSET *lightset;
Pointer to the lightset structure.
Return value
int;
Number of effective lights.
Note
References the _ENABLE bit of the flag of each light structure, calculates the required number of lights, and allocates each light number. These are the light numbers that are evaluated by the RSP. However, the user does not have to pay any special attention to them. They are referenced and used when resetting with the API function.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndSetupObjectRegister

Function name
ndSetupObjectRegister
Syntax
Gfx *ndSetupObjectRegister( Gfx *gp, NDD_INST_OBJ *niop );
Explanation
References the object instance structure, and resets the registers specified for resetting.
Parameters
Gfx *gp;
Pointer to the display list buffer.
NDD_INST_OBJ *niop;
Pointer to the object instance structure.
Return
Gfx *;
Gfx buffer pointer after updating.
Note
Called by ndDrawObjectInstance

Return to nd Function Reference Index
Return to nd Function Reference Index


ndDrawShape

Function name
ndDrawShape
Syntax
Gfx *ndDrawShape( Gfx *gp, NDR_SHAPE *shp );
Explanation
Loads the Gfx structure into the drawing buffer in accordance with the contents of the shape structure.
Parameters
Gfx *gp;
Pointer to the display list buffer.
NDR_SHAPE *shp;
Pointer to the shape structure for reference use.
Return value
Gfx *;
Gfx buffer pointer after updating.
Note
Called by ndDrawObjectInstance

Return to nd Function Reference Index
Return to nd Function Reference Index


ndDrawObjectInstance

Function name
ndDrawObjectInstance
Syntax
int ndDrawObjectInstance( NDD_INST_OBJ *niop );
Explanation
Display one object.
Parameters
Gfx *gp;
Pointer to the display list buffer.
NDD_INST_OBJ *niop;
Pointer to the object instance structure.
Return value
Gfx *;
Gfx buffer pointer after updating
Note
Called by ndBuildInstanceGfx

Return to nd Function Reference Index
Return to nd Function Reference Index


ndBuildInstanceGfxAtPrio

Function name
ndBuildInstanceGfxAtPrio
Syntax
Gfx *ndBuildInstanceGfxAtPrio(Gfx *gp, NDD_INSTANCE *isp, u16 start, u16 end);
Explanation
Draws instances of the specific priority after the specified instance pointer.
Parameters
Gfx *gp;
Display list pointer
NDD_INSTANCE *isp;
The instance pointer. if NULL is given, then everything that follows the root of the object is evaluated.
u16 start;
The priority that is to be drawn. Start is included in the priority that is to be drawn.
u16 end;
The priority that is not to be drawn. Please not end will not be drawn.
Return value
Gfx *;
Updated display list pointer.
Note
Please assign larger value(higher priority) to start.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndBuildSceneGfx

Funtion name
ndBuildSceneGfx
Syntax
Gfx *ndBuildSceneGfx(Gfx *gp, float mul[4][4]);
Explanation
Build up display list of scene part from the current scene strucutre.
Parameter
Gfx *gp;
Display list pointer.
float mul[4][4];
Camera matrix
Note
Matrix of camera 'mul' will be multiplied on projection matrix.

Return to nd Function Reference Index
Return to nd Function Reference Index


ndBuildInstanceGfx

Funtion name
ndBuildInstanceGfx
Syntax
Gfx *ndBuildInstanceGfx(Gfx *gp, NDD_INSTANCE *isp);
Explanation
Build up display list of scene part from the current scene structure.
Parameters
Gfx *gp;
Display list pointer
NDD_INSTANCE *isp;
Instance pointer of an object. By assigning NULL, it will evaluate every instance under the route of object.
Return value
Gfx *;
Updated display list pointer.
Note
ndBuildInstanceGfxAtPrio() is called internally by determining every priority.

Return to nd Function Reference Index
Return to nd Function Reference Index

Copyright 1997-1999 NINTENDO Co., Ltd.
1998-1999 MONEGI CORPORATION
All rights reserved.