1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2<html xml:lang="en-US" lang="en-US" xmlns="http://www.w3.org/1999/xhtml">
3  <head>
4    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
5    <meta http-equiv="Content-Style-Type" content="text/css" />
6    <link rel="stylesheet" href="../../../../css/manpage.css" type="text/css" />
7<title>ReplayPackets</title>
8  </head>
9  <body>
10<h1><CODE><a href="../../../../nn/Overview.html">nn</a>::<a href="../../../../nn/gd/Overview.html">gd</a>::<a href="../../../../nn/gd/CTR/Overview.html">CTR</a>::<a href="../../../../nn/gd/CTR/System/Overview.html">System</a>::ReplayPackets</CODE> Member Function</h1>
11<h2>Syntax</h2>
12    <div class="section">
13      <pre class="definition">
14static <a href="../../../../nnResult/Overview.html">nnResult</a> ReplayPackets(
15     RecordedPacketId * packetId,
16     <a href="../../../../nn_types/u32.html">u32</a> * forceDirtyModuleFlag
17);
18</pre>
19    </div>
20<h2>Parameters</h2>
21    <div class="section">
22      <table class="arguments">
23        <thead>
24          <tr>
25            <td width="15" />
26<th>Name</th>
27<td>Description</td>
28          </tr>
29        </thead>
30        <tr>
31<td>in</td>
32<th>packetId</th>
33<td>Specifies the save start ID pointer to be executed.</td>
34        </tr>
35        <tr>
36<td>in</td>
37<th>forceDirtyModuleFlag</th>
38<td>Pointer to the flag that sets reconfigurable status for the specified module after a packet is played back. If <SPAN class="argument">forceDirtyModuleFlag</SPAN> is <CODE>NULL</CODE>, <CODE>gd</CODE> internal status does not change. The module is defined by the enum value of <a href="../../../../nn/gd/CTR/System/Module.html"><CODE>nn::gd::CTR::System::Module</CODE></a>.</td>
39        </tr> </table>
40    </div>
41<h2>Return Values</h2>
42<div class="section">Returns the result of the operation. <br />
43      <table class="arguments">
44        <thead>
45          <tr>
46<th>Value</th>
47<td>Description</td>
48          </tr>
49        </thead>
50        <tr>
51<th><CODE>Result::IsSuccess</CODE></th>
52<td>Process was successful.</td>
53        </tr>
54        <tr>
55<th><CODE>ResultNullParameter</CODE></th>
56<td><CODE>NULL</CODE> was specified in <CODE>packetId</CODE>.</td>
57        </tr>
58        <tr>
59<th><CODE>ResultSystemNoPacketRecorded</CODE></th>
60<td>The specified <CODE>packetId</CODE> data was <CODE>0</CODE>.</td>
61        </tr>
62        <tr>
63<th><CODE>ResultSystemReceiveErrorFromGlGetError</CODE></th>
64<td>An error was generated by the <a href="../../../../nn_gx/nngxImportCmdlist.html"><CODE>nngxImportCmdlist</CODE></a> function.</td>
65        </tr>
66      </table> </div>
67<h2>Description</h2>
68    <div class="section">
69<p>Re-executes the command list object specified by <CODE>packetId</CODE>. <SPAN class="argument">forceDirtyModuleFlag</SPAN> can be specified by OR'ing <a href="../../../../nn/gd/CTR/System/Module.html">System::Module</a> enum members.</p><p>Re-execution of a command may cause a conflict with the internal gd state. In such cases, you can reconfigure the gd internal state using the <SPAN class="argument">forceDirtyModuleFlag</SPAN> flag. (This flag calls the <a href="../../../../nn/gd/CTR/System/ForceDirty.html"><CODE>System::ForceDirty</CODE></a> function.) As a safe method, set <CODE>MODULE_ALL</CODE> in <CODE>forceDirtyModuleFlag</CODE> to put all modules in a reconfigurable state. If you already know which module is competing, you can set the corresponding flag for that module. </p><p>If <CODE>RECORD_COMMAND_LIST_COPY</CODE> is specified as the <CODE>RecordingPacketUsage</CODE> parameter to the <a href="../../../../nn/gd/CTR/System/StartRecordingPackets.html"><CODE>System::StartRecordingPackets</CODE></a> function, command packets are stored in a user buffer and then, when executed by the <CODE>System::ReplayPackets</CODE> function, they are copied to the internal command buffer managed by the GD library. If you want to avoid this copy operation, specify <CODE>RECORD_COMMAND_LIST_NO_COPY</CODE> as the <CODE>RecordingPacketUsage</CODE> parameter to the <a href="../../../../nn/gd/CTR/System/StartRecordingPackets.html"><CODE>System::StartRecordingPackets</CODE></a> function. This allows the internal command buffer managed by the GD library to be reused, but it prevents command packets from being edited directly and from being reused after the command buffer is cleared. If the <a href="../../../../nn/gd/CTR/System/StartRecordingPackets.html">System::StartRecordingPackets</a> function is executed with <CODE>RECORD_3D_COMMAND_BUFFER_FOR_JUMP</CODE> specified in the argument <CODE>RecordingPacketUsage</CODE>, a jump command is added using <CODE>nngxAddSubroutineCommand()</CODE> to jump directly from the saved packet to the 3D command buffer.</p><!-- write here --></div>
70<h2>Revision History</h2>
71    <div class="section">
72      <dl class="history">
73        <dt>2011/02/17</dt>
74<dd>Initial version.<br />
75        </dd>
76      </dl>
77    </div>
78  <hr><p>CONFIDENTIAL</p></body>
79</html>