# G3*_StoreMtx

## C Specification

      #include <nitro/gx/g3imm.h>
      #include <nitro/gx/g3b.h>
      #include <nitro/gx/g3c.h>

      void G3_StoreMtx(u32 num);

      // Below are APIs for creating the display list (command list)
      void G3B_StoreMtx(GXDLInfo* info, u32 num);
      void G3C_StoreMtx(GXDLInfo* info, u32 num);
      void G3BS_StoreMtx(GXDLInfo* info, u32 num);
      void G3CS_StoreMtx(GXDLInfo* info, u32 num);

## Arguments

info | Command List Information
num | Matrix stack index (0-30, the projection matrix is always 0)

## Return Values

None.

## Description

This stores the current matrix in the specified position in the stack. num is that position, and values that are unsigned integers (integer portion of 5 bits) from 0-30 can be set up. When the matrix mode is set to Projection, there is only one level in the stack, so `num` is reset to 0 regardless of the value. The coordinate stack pointer moved by either the `PushMatrix` or `PopMatrix` command is not changed by this command. Because the position coordinate matrix stack and the directional vector matrix are connected, operations are performed on both stacks when the Matrix mode is set to either Position or Position-Vector simultaneous set mode.

## See Also

`G3*_MtxMode, G3*_Identity, G3*_LoadMtx43, G3*_LoadMtx44, G3*_MultMtx43, G3*_MultMtx44, G3*_MultMtx33, G3*_PushMtx, G3*_PopMtx, G3*_RestoreMtx, G3*_Scale, G3*_Translate`

## Revision History

01/19/2004 Initial version