1<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
2<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en-US" lang="en-US">
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<title>NintendoWare System Library- Revision History</title>
7<style type="text/css">
8<!--
9
10H1
11{
12    font-weight         : bold;
13    font-size           : 250%;
14    text-align          : left;
15    color               : #46f;
16    margin              : 0em 0em 0.5em 0em;
17}
18
19H2
20{
21    font-weight         : bold;
22    font-size           : 150%;
23    text-align          : left;
24    margin              : 2em 0em 0.5em 0em;
25    padding-top         : 8pt;
26    border-top-style    : double;
27    border-top-width    : 3px;
28}
29
30H3
31{
32    font-weight         : bold;
33    font-size           : 120%;
34    margin              : 1em 0em 0.5em 0em;
35    padding-top         : 8pt;
36    border-top-style    : solid;
37    border-top-width    : 1px;
38}
39
40H4
41{
42    font-weight         : normal;
43    font-size           : 100%;
44    margin              : 0em 0em 0em 0.5em;
45}
46
47DIV.date
48{
49    font-size           : normal;
50    text-align          : right;
51    margin              : 0pt 0pt 12pt 0pt;
52}
53
54DIV.licence
55{
56    margin: 0em;
57    border-style : solid;
58    border-width : 1px;
59}
60
61P
62{
63    font-size           : normal;
64    margin              : 0em 1em 0.5em 1em;
65    line-height         : 150%;
66}
67
68PRE
69{
70    font-size           : normal;
71    margin              : 0em 0em 1em 2em;
72    line-height         : 120%;
73}
74
75DT
76{
77    margin              : 1em 0em 0em 1em;
78}
79DD
80{
81    margin-left         : 3em;
82}
83UL
84{
85    margin-top         : 0em;
86}
87
88-->
89</style>
90</head>
91<body>
92
93<h1>NintendoWare System Library- Revision History</h1>
94
95<h2>Index</h2>
96
97<h3><a href="#version_1_2_5">■ 1.2.5</a></h3>
98<h4>Bug fixes</h4>
99<ul style="list-style-type:none;">
100<li><a href="#note_27-B01">Note 27-B01:  (Library)  Fixed <CODE>font</CODE> library problem regarding clearing of texture cache when rendering</a></li>
101</ul>
102<h3><a href="#version_1_2_0">■ 1.2.0</a></h3>
103<h4>Added and Changed Features</h4>
104<ul style="list-style-type:none;">
105<li><a href="#note_22-B01">Note 22-B01:  (Library) Changed the exclusive control of SharedPtr</a></li>
106<li><a href="#note_22-B02">Note 22-B02:  (Library) Added a feature for disabling NW_DEPRECATED_FUNCTION</a></li>
107<li><a href="#note_22-B03">Note 22-B03:  (Library) Added a high-speed version of push_back to MoveArray</a></li>
108<li><a href="#note_22-B05">Note 22-B05:  (Library) Added a macro definition for selecting one or more than one slot for signal management</a></li>
109</ul>
110<h4>Bugfixes</h4>
111<ul style="list-style-type:none;">
112<li><a href="#note_22-B04">Note 22-B04:  (Library) Corrected a bug that caused a link error with the character drawing function</a></li>
113</ul>
114<h3><a href="#version_1_1_1">■ 1.1.1</a></h3>
115<h4>Bugfixes</h4>
116<ul style="list-style-type:none;">
117<li><a href="#note_20-B01">Note 20-B01:  (Library) Fixed a bug where the PairFont class could not be used</a></li>
118<li><a href="#note_20-B02">Note 20-B02:  (Library) Corrected a problem with the character drawing sample program</a></li>
119</ul>
120<h3><a href="#version_1_1_0">■ 1.1.0</a></h3>
121<h4>Bugfixes</h4>
122<ul style="list-style-type:none;">
123<li><a href="#note_19-B01">Note 19-B01:  (Font Converter) Fixed a bug where creation of archive fonts would fail</a></li>
124<li><a href="#note_19-B02">Note 19-B02:  (Font Converter) Fixed a bug with loading bcfnt and bcfna files</a></li>
125<li><a href="#note_19-B03">Note 19-B03:  (Library) Corrected a problem with the character drawing sample program</a></li>
126<li><a href="#note_19-B04">Note 19-B04:  (Library) Fixed a bug where the drawing of characters was being shifted</a></li>
127</ul>
128<h3><a href="#version_1_0_0">■ 1.0.0</a></h3>
129<h4>Added and Changed Features</h4>
130<ul style="list-style-type:none;">
131<li><a href="#note_17-B01">Note 17-B01:  (Font Converter)Deleted &quot;TEG2&quot; notation</a></li>
132<li><a href="#note_17-B02">Note 17-B02:  (Library) Changed the method of making GL settings not made by the character drawing library</a></li>
133</ul>
134<h3><a href="#version_0_8_1">■ 0.8.1</a></h3>
135<h4>Bugfixes</h4>
136<ul style="list-style-type:none;">
137<li><a href="#note_16-B01">Note 16-B01:  (Library) Fixed problem with <CODE>nw::ut::MoveArray</CODE></a></li>
138<li><a href="#note_16-B02">Note 16-B02:  (Library) Fixed problem with text color change by <CODE>nw::font::TagProcessor</CODE> when using <CODE>nw::font::RectDrawer</CODE></a></li>
139<li><a href="#note_16-B03">Note 16-B03:  (Library) Fixed problem with <CODE>nw::os::IsDeviceMemory</CODE></a></li>
140</ul>
141<h3><a href="#version_0_8_0">■ 0.8.0</a></h3>
142<h4>Added and Changed Features</h4>
143<ul style="list-style-type:none;">
144<li><a href="#note_15-B01">Note 15-B01:  (Library) Improved <B>Detach </B>of <CODE>nw::ut::Children</CODE></a></li>
145<li><a href="#note_15-B02">Note 15-B02:  (Library) (IMPORTANT)  Merged <CODE>nw::math</CODE> and <CODE>nn::math</CODE></a></li>
146<li><a href="#note_15-B03">Note 15-B03:  (Library) Added SafeDestroy, SafeDestroyer and SafeDestroyAll to the <CODE>nw::ut</CODE> namespace</a></li>
147<li><a href="#note_15-B04">Note 15-B04:  (Library) Added class for fast text drawing</a></li>
148<li><a href="#note_15-B05">Note 15-B05:  (Library) Changed the character-drawing sample programs </a></li>
149</ul>
150<h3><a href="#version_0_7_1">■ 0.7.1</a></h3>
151<h4>Added and Changed Features</h4>
152<ul style="list-style-type:none;">
153<li><a href="#note_11-B01">Note 11-B01:  (Library) Deleted the implicit cast to u32 from <CODE>nw::ut::FloatColor </CODE></a></li>
154</ul>
155<h3><a href="#version_0_7_0">■ 0.7.0</a></h3>
156<h4>Added and Changed Features</h4>
157<ul style="list-style-type:none;">
158<li><a href="#note_10-B01">Note 10-B01:  (Library) Added version information to <CODE>version.h</CODE></a></li>
159<li><a href="#note_10-B02">Note 10-B02:  (Library) Revised the return value of the <CODE>Get</CODE> method of <CODE>MovePtr </CODE></a></li>
160<li><a href="#note_10-B03">Note 10-B03:  (font Library - Font Converter) Changed the binary file format</a></li>
161<li><a href="#note_10-B04">Note 10-B04:  (Font Library) Z-Direction Cursor Position Now Gets Updated</a></li>
162</ul>
163<h4>Bugfixes</h4>
164<ul style="list-style-type:none;">
165<li><a href="#note_10-B05">Note 10-B05:  (Library) Fixed problem with conversion from <CODE>FloatColor</CODE> to <CODE>u32</CODE></a></li>
166<li><a href="#note_10-B06">Note 10-B06:  (Library) Fixed problem with <CODE>ResArray::size</CODE> function</a></li>
167</ul>
168<h3><a href="#version_0_6_0">■ 0.6.0</a></h3>
169<h4>Added and Changed Features</h4>
170<ul style="list-style-type:none;">
171<li><a href="#note_07-B01">Note 07-B01:  (Library) Added development-use library</a></li>
172<li><a href="#note_07-B02">Note 07-B02:  (Library) Added simple profile functions</a></li>
173</ul>
174<h3><a href="#version_0_5_1">■ 0.5.1</a></h3>
175<h4>Added and Changed Features</h4>
176<ul style="list-style-type:none;">
177<li><a href="#note_06-B01">Note 06-B01: (Library) Fixed problem of ASSERT being enabled in the Release build</a></li>
178<li><a href="#note_06-B02">Note 06-B02:  (Library) Changed the charset of the C++ source code to UTF-8</a></li>
179</ul>
180<h4>Bugfixes</h4>
181<ul style="list-style-type:none;">
182<li><a href="#note_06-B03">Note 06-B03: (ut Library) Fixed problem with <CODE>MoveArray</CODE></a></li>
183<li><a href="#note_06-B04">Note 06-B04:  (Library) Fixed problems with <CODE>NW_FAILSAFE_IF</CODE> operations</a></li>
184</ul>
185<h3><a href="#version_0_5_0">■ 0.5.0</a></h3>
186<h4>Added and Changed Features</h4>
187<ul style="list-style-type:none;">
188<li><a href="#note_05-B01">Note 05-B01: (font Library) Deleted some functions prepared for use with other libraries</a></li>
189<li><a href="#note_05-B03">Note 05-B03:  (math Library) Portion of API made assembler version</a></li>
190<li><a href="#note_05-B04">Note 05-B04:  (ut Library) Moved <CODE>nw::math::ResXXX</CODE> types to <CODE>nw::ut</CODE></a></li>
191</ul>
192<h4>Bugfixes</h4>
193<ul style="list-style-type:none;">
194<li><a href="#note_05-B02">Note 05-B02:  (font Library) Fixed text-drawing position</a></li>
195</ul>
196<h3><a href="#version_0_4_1">■ 0.4.1</a></h3>
197<h4>Added and Changed Features</h4>
198<ul style="list-style-type:none;">
199<li><a href="#note_04-B01">Note 04-B01: (ut Library) Changed the name of the <CODE>ArrayWrapper</CODE> class to <CODE>MoveArray</CODE></a></li>
200<li><a href="#note_04-B02">Note 04-B02: (font Library) Added a way to remove buffer specified by <CODE>ResFont::SetDrawBuffer</CODE></a></li>
201</ul>
202<h3><a href="#version_0_4_0">■ 0.4.0</a></h3>
203<h4>Added and Changed Features</h4>
204<ul style="list-style-type:none;">
205<li><a href="#note_03-B02">Note  03-B02:  (Font Converter) Added binary file color formats</a></li>
206</ul>
207<h4>Bugfixes</h4>
208<ul style="list-style-type:none;">
209<li><a href="#note_03-B01">Note  03-B01:  (font Library) Fixed problem of line spacing when drawing one line of text</a></li>
210</ul>
211<h3><a href="#version_0_2_1">■ 0.2.1</a></h3>
212<h4>Added and Changed Features</h4>
213<ul style="list-style-type:none;">
214<li><a href="#note_01-B01">Note 01-B01:  (math Library) Added overloaded function with <CODE>const</CODE> argument passed by reference </a></li>
215<li><a href="#note_01-B02">Note 01-B02:  (math Library) Added a <CODE>Set </CODE>method to <CODE>Vector</CODE></a></li>
216<li><a href="#note_01-B03">Note 01-B03:  (font Library) Added a separate class for managing text-drawing resources</a></li>
217<li><a href="#note_01-B04">Note 01-B04:  (font Library) Prepared an shader file for text drawing</a></li>
218<li><a href="#note_01-B05">Note 01-B05:  (font Library) Changed function and type names</a></li>
219<li><a href="#note_01-B06">Note  01-B06:  (font Library - Font Converter) Changed the binary file format</a></li>
220</ul>
221
222
223<h2 id="version_1_2_5">Changes in 1.2.5</h2>
224<h3 id="note_27-B01">Note 27-B01:  (Library)  Fixed <CODE>font</CODE> library problem regarding clearing of texture cache when rendering</h3>
225<p>During rendering by the <CODE>font </CODE>library, the texture cache was not cleared adequately.  This bug has been fixed. In correcting this problem, the memory used for rendering has been increased by 8 bytes per character.
226</p>
227<h2 id="version_1_2_0">Changes in 1.2.0</h2>
228<h3 id="note_22-B01">Note 22-B01:  (Library) Changed the exclusive control of SharedPtr</h3>
229<p>Up to this version, mutex-based exclusive control was being performed regardless of whether SharedPtr was being used. Specifications have changed so that exclusive control is not performed by default. If exclusive control is required, specify a class for locking in the second argument of the template in a manner such as the folowing: SharedPtr&lt;TObj, nw::os::LockObject&gt;.
230</p>
231<h3 id="note_22-B02">Note 22-B02:  (Library) Added a feature for disabling NW_DEPRECATED_FUNCTION</h3>
232<p>Specifications are currently such that a DEPRECATED warning is issued at compile time regarding the use of APIs scheduled for future deletion. The following header has been prepared for ignoring such warnings.
233</p>
234<p>This is equivalent to suppressing warning using #pragma diag_suppress 1361.
235</p>
236<p>#include &lt;nw/config/ignore_deprecated_begin.h&gt; #include &lt;nw/config/ignore_deprecated_end.h&gt;
237</p>
238<p>In addition, the build option NW_IGNORE_DEPRECATED has also been prepared. Use of this build option is not particularly recommended as it will disable all warnings.
239</p>
240<h3 id="note_22-B03">Note 22-B03:  (Library) Added a high-speed version of push_back to MoveArray</h3>
241<p>The method PushBackFast has been added to MoveArray. This method operates faster than push_back because an assert is used for the range check and the automatic extension feature capacity does not work.
242</p>
243<p>This is useful when the required amount of memory can be reserved ahead of time and elements can be pushed back all together.
244</p>
245<h3 id="note_22-B04">Note 22-B04:  (Library) Corrected a bug that caused a link error with the character drawing function</h3>
246<p>There was a bug that caused a link error when calling the nw::font::RectDrawer::GetVertexBufferData() of the character drawing library. This bug has been fixed.
247</p>
248<h3 id="note_22-B05">Note 22-B05:  (Library) Added a macro definition for selecting one or more than one slot for signal management</h3>
249<p>The macro definition ”NW_SIGNAL_MULTI_SLOT_ENABLED” has been added to ut_Config.h. Signal can be made to manage only one Slot by disabling this definition.
250</p>
251<p>You can expect process optimization by limiting the number of slots managed to one. The library must be rebuilt in order to use this macro definition.
252</p>
253<h2 id="version_1_1_1">Changes in 1.1.1</h2>
254<h3 id="note_20-B01">Note 20-B01:  (Library) Fixed a bug where the PairFont class could not be used</h3>
255<p>There was a problem with the implementation of the PairFont class that made it unusable. This bug has been fixed.
256</p>
257<h3 id="note_20-B02">Note 20-B02:  (Library) Corrected a problem with the character drawing sample program</h3>
258<p>The following problem with the character drawing sample (PackedFont) was fixed.
259</p>
260<ul><li>Revised inappropriate variable names
261</li>
262</ul>
263<h2 id="version_1_1_0">Changes in 1.1.0</h2>
264<h3 id="note_19-B01">Note 19-B01:  (Font Converter) Fixed a bug where creation of archive fonts would fail</h3>
265<p>There was a bug where creation of archive fonts (bcfna) would fail. This bug has been fixed.
266</p>
267<h3 id="note_19-B02">Note 19-B02:  (Font Converter) Fixed a bug with loading bcfnt and bcfna files</h3>
268<p>Font data files (bcfnt, bcfna) in some formats (RGB5A1 and RGBA4) could not be loaded correctly. This bug has been fixed.
269</p>
270<h3 id="note_19-B03">Note 19-B03:  (Library) Corrected a problem with the character drawing sample program</h3>
271<p>The following bug was fixed in the character drawing sample (ArchiveFont, PackedFont).
272</p>
273<ul><li>A bug was fixed where the load buffer size was inappropriate when built through sequential loading.
274</li>
275<li>Deleted inappropriate comments.
276</li>
277</ul>
278<h3 id="note_19-B04">Note 19-B04:  (Library) Fixed a bug where the drawing of characters was being shifted</h3>
279<p>There was a hardware setting that was partially incorrect when drawing characters. Characters would be drawn shifted in position as a result. This bug has been fixed.
280</p>
281<h2 id="version_1_0_0">Changes in 1.0.0</h2>
282<h3 id="note_17-B01">Note 17-B01:  (Font Converter) Deleted &quot;TEG2&quot; notation</h3>
283<p>Previous versions had some notation related to the TEG2 board. This has been deleted from this version.
284</p>
285<h3 id="note_17-B02">Note 17-B02:  (Library) Changed the method of making GL settings not made by the character drawing library</h3>
286<p>In the character drawing sample programs <CODE>ResFont </CODE>and <CODE>ArchiveFont </CODE>, the character drawing library leaves it up to the user to configure the GL settings.  The method for configuring these GL settings has been changed such  that it is now done by issuing 3D commands after GL functions have been called.
287</p>
288<h2 id="version_0_8_1">Changes in 0.8.1</h2>
289<h3 id="note_16-B01">Note 16-B01:  (Library) Fixed problem with <CODE>nw::ut::MoveArray</CODE></h3>
290<p>When destructing, the destructors for the various saved elements were not called. That problem has been fixed. The cause was a memory leak at a certain place in the library.
291</p>
292<h3 id="note_16-B02">Note 16-B02:  (Library) Fixed problem with text color change by <CODE>nw::font::TagProcessor</CODE> when using <CODE>nw::font::RectDrawer</CODE></h3>
293<p>When <CODE>nw::font::RectDrawer</CODE> was being used, the color of the first character would not change when the text color was changed by <CODE>nw::font::TagProcessor</CODE>.  This bug has been fixed.
294</p>
295<h3 id="note_16-B03">Note 16-B03:  (Library) Fixed problem with <CODE>nw::os::IsDeviceMemory</CODE></h3>
296<p>Revised <CODE>nw::os::IsDeviceMemory</CODE> to support the change to variable device memory size in CTR-SDK 0.10.0.
297</p>
298<h2 id="version_0_8_0">Changes in 0.8.0</h2>
299<h3 id="note_15-B01">Note 15-B01:  (Library) Improved <B>Detach </B>of <CODE>nw::ut::Children</CODE></h3>
300<p>When an attempt is made to delete an un-owned object, the function now does nothing and returns <CODE>false</CODE>.  Before this improvement, the behavior would sometimes change when the function was used in problematic ways.
301</p>
302<h3 id="note_15-B02">Note 15-B02:  (Library) (IMPORTANT)  Merged <CODE>nw::math</CODE> and <CODE>nn::math</CODE></h3>
303<p>Deleted <CODE>nn::math</CODE> and the shared classes and functions and added a <CODE>using</CODE>-based alias.  In the past <CODE>nw::math</CODE> class, an unnamed structure was defined in the union and it was possible to access elements like <I>MTX33::_00</I>. But for <CODE>nn::math</CODE> the standard is that this definition is not valid.  By declaring the macro definition <CODE>NN_SWITCH_ENABLE_MEMBER_NAME_SHORTCUT </CODE>before including the header to the <CODE>nn::math</CODE> namespace, you can access via unnamed structures compatible with the previous <CODE>nn::math</CODE>.
304</p>
305<h3 id="note_15-B03">Note 15-B03:  (Library) Added SafeDestroy, SafeDestroyer and SafeDestroyAll to the <CODE>nw::ut</CODE> namespace</h3>
306<p>Moved SafeDestroy, SafeDestroyer, SafeDestroyAll from the <CODE>nw::gfx</CODE> namespace to the <CODE>nw::ut</CODE> namespace. These remain defined as <CODE>using</CODE>-based aliases in <CODE>nw::gfx</CODE>.
307</p>
308<h3 id="note_15-B04">Note 15-B04:  (Library) Added class for fast text drawing</h3>
309<p>Added the <CODE>nw::font::RectDrawer</CODE> class for fast drawing of character strings.
310</p>
311<h3 id="note_15-B05">Note 15-B05:  (Library) Changed the character-drawing sample programs</h3>
312<p>Changed the character-drawing sample programs <CODE>ResFont</CODE> and <CODE>ArchiveFont </CODE>so they can use the class for fast text drawing (<CODE>nw::font::RectDrawer</CODE>). The sample program <CODE>PackedFont</CODE> was not changed because it does not support drawing using <CODE>nw::font::RectDrawer</CODE>.
313</p>
314<h2 id="version_0_7_1">Changes in 0.7.1</h2>
315<h3 id="note_11-B01">Note 11-B01:  (Library) Deleted the implicit cast to u32 from <CODE>nw::ut::FloatColor </CODE></h3>
316<p>The implicit operator for casting to u32 was deleted from <CODE>nw::ut::FloatColor</CODE> because of problems due to different endianness than Color8. In its place, added the function <CODE>FloatColor::ToPicaU32</CODE>.
317</p>
318<h2 id="version_0_7_0">Changes in 0.7.0</h2>
319<h3 id="note_10-B01">Note 10-B01:  (Library) Added version information to <CODE>version.h</CODE></h3>
320<p>The following two items were added to <CODE>$(NW4C_ROOT)/include/nw/version.h </CODE>
321</p>
322<ul><li> NW_VERSION_RELSTEP
323</li>
324<li> NW_VERSION_REVISION
325</li>
326</ul>
327<p><CODE>NW_VERSION_RELSTEP</CODE> corresponds to the 4th digit of the version number and is incremented by 1 for each release, be it the PR version, the RC version or the official version.
328</p>
329<p><CODE>NW_VERSION_REVISION</CODE> is updated every time the file is revised and has no relation to the release.
330</p>
331<h3 id="note_10-B02">Note 10-B02:  (Library) Revised the return value of the <CODE>Get</CODE> method of <CODE>MovePtr </CODE></h3>
332<p>The return value of a <CODE>const</CODE> method is now a non-<CODE>const</CODE> pointer.
333</p>
334<h3 id="note_10-B03">Note 10-B03:  (font Library - Font Converter) Changed the binary file format</h3>
335<p>Changed the format of font binary files. Not compatible with binary of previous versions.
336</p>
337<h3 id="note_10-B04">Note 10-B04:  (font Library) Z-Direction Cursor Position Now Gets Updated</h3>
338<p>During text drawing, even if the cursor position in the Z direction changed the Z value would not be updated unless the <CODE>SetupGX</CODE> function was called.  That was revised in this release, so now the Z value is updated when it is changed during text drawing.
339</p>
340<h3 id="note_10-B05">Note 10-B05:  (Library) Fixed problem with conversion from <CODE>FloatColor</CODE> to <CODE>u32</CODE></h3>
341<p>When converting from <CODE>FloatColor</CODE> to <CODE>u32</CODE> the alpha value did not convert correctly. That problem was fixed.
342</p>
343<h3 id="note_10-B06">Note 10-B06:  (Library) Fixed problem with <CODE>ResArray::size</CODE> function</h3>
344<p>The result of the <CODE>ResArray::size</CODE> function would be the opposite sign of what it should be. That was fixed so now it is signed correctly as positive or negative.
345</p>
346<h2 id="version_0_6_0">Changes in 0.6.0</h2>
347<h3 id="note_07-B01">Note 07-B01:  (Library) Added development-use library</h3>
348<p>Added the development-use library <CODE>nw_dev</CODE>.  This library also operates in <I>Release </I>mode, so when creating the ROM be sure to define <CODE>NW_DEV_DISABLED</CODE> so it is not included in your retail product.
349</p>
350<h3 id="note_07-B02">Note 07-B02:  (Library) Added simple profile functions</h3>
351<p>Simple profile features have been added to the <CODE>dev </CODE>library.
352</p>
353<h2 id="version_0_5_1">Changes in 0.5.1</h2>
354<h3 id="note_06-B01">Note 06-B01: (Library) Fixed problem of ASSERT being enabled in the Release build</h3>
355<p>The ASSERT check was enabled in the Release build version of the library. That has been corrected, so now ASSERT is only enabled in the Debug and Development builds and disabled in the Release build.
356</p>
357<h3 id="note_06-B02">Note 06-B02:  (Library) Changed the charset of the C++ source code to UTF-8</h3>
358<p>Changed the C++ source code from ShiftJIS to UTF-8 with BOM.
359</p>
360<h3 id="note_06-B03">Note 06-B03: (ut Library) Fixed problem with <CODE>MoveArray</CODE></h3>
361<p>An error would occur for memory of the <CODE>MoveArray</CODE>-specified size when a size of 0 was specified for the constructor allocated from the allocator. That problem has been fixed.
362</p>
363<p>In Visual C++, when the element type was primitive a warning would appear in the <CODE>destroy</CODE> method. That problem was fixed
364</p>
365<h3 id="note_06-B04">Note 06-B04:  (Library) Fixed problems with <CODE>NW_FAILSAFE_IF</CODE> operations</h3>
366<p>Fixed problems relating to the incorrect operation of billboarding and other operations.
367</p>
368<h2 id="version_0_5_0">Changes in 0.5.0</h2>
369<h3 id="note_05-B01">Note 06-B01: (font Library) Deleted some functions prepared for use with other libraries</h3>
370<p>Some of the <CODE>(Wide)TextWriter</CODE> class member functions that were used by the previous release of the 2D Layout library can no longer be used in the present release, so they have been deleted. The following functions were deleted:.
371</p>
372<ul><li>PrintfMutable()
373</li>
374<li>VPrintfMutable()
375</li>
376<li>PrintMutable()
377</li>
378</ul>
379<h3 id="note_05-B02">Note 05-B02:  (font Library) Fixed text-drawing position</h3>
380<p>When drawing with the <CODE>(Wide)TextWriter</CODE> class, the position at which drawing began would be off by 0.5 under the conditions listed below..  As a result, even when an integer was specified for the cursor position, pixels would be drawn straddled and the text would look blurry.
381</p>
382<ul><li>When HORIZONTAL_ORIGIN_CENTER or VERTICAL_ORIGIN_MIDDLE was set and and the origin was in the center.
383</li>
384<li>When HORIZONTAL_ALIGN_CENTER was set and the text was shown center-aligned.
385</li>
386</ul>
387<p>To correct for this, when text is being drawn under these conditions the text size is calculated as a multiple of 2 and rounded up. This is done separately for width and height.
388</p>
389<h3 id="note_05-B03">Note 05-B03:  (math Library) Portion of API made assembler version</h3>
390<p>In the Development and Release builds for the actual hardware, the assembler version is now used for the following API
391</p>
392<ul><li><CODE>MTX34Mult</CODE>
393</li>
394<li><CODE>MTX34Copy</CODE>
395</li>
396<li><CODE>MTX33Mult</CODE>
397</li>
398<li>Hermite
399</li>
400</ul>
401<h3 id="note_05-B04">Note 05-B04:  (ut Library) Moved <CODE>nw::math::ResXXX</CODE> types to <CODE>nw::ut</CODE></h3>
402<p>The following types have been moved from <CODE>nw::math</CODE> to <CODE>nw::ut</CODE>.  The <CODE>nw::math</CODE> definitions will remain for a while but in the future they are to be deleted.
403</p>
404<ul><li>ResVec2
405</li>
406<li>ResVec3
407</li>
408<li>ResVec4
409</li>
410<li>ResMtx22
411</li>
412<li>ResMtx23
413</li>
414<li>ResMtx33
415</li>
416<li>ResMtx34
417</li>
418<li>ResMtx44
419</li>
420<li>ResTransform2
421</li>
422<li>ResTransform3
423</li>
424<li>ResQuaternion
425</li>
426</ul>
427<h2 id="version_0_4_1">Changes in 0.4.1</h2>
428<h3 id="note_04-B01">Note 04-B01: (ut Library) Changed the name of the <CODE>ArrayWrapper</CODE> class to <CODE>MoveArray</CODE></h3>
429<h3 id="note_04-B02">Note 04-B02: (font Library) Added a way to remove buffer specified by <CODE>ResFont::SetDrawBuffer</CODE></h3>
430<p>In previous releases, there was no way to remove the reference to the memory that was configured for drawing by <CODE>ResFont::SetDrawBuffer</CODE>.  From this release that can now be done by specifying <CODE>NULL </CODE>for <CODE>ResFont::SetDrawBuffer</CODE>.
431</p>
432<h2 id="version_0_4_0">Changes in 0.4.0</h2>
433<h3 id="note_03-B01">Note 03-B01:  (font Library) Fixed problem of line spacing when drawing one line of text</h3>
434<p>In the conventional <CODE>TextWriter</CODE> class, line-spacing was taken into consideration even when just one line of text was being drawn.  As a result, when text was centered vertically it was not positioned correctly. This bug has been fixed.
435</p>
436<h3 id="note_03-B02">Note 03-B02:  (Font Converter) Added binary file color formats</h3>
437<p>Added the binary file color formats A4 and L4. These formats cannot be used on the TEG2 board.
438</p>
439<h2 id="version_0_2_1">Changes in 0.2.1</h2>
440<h3 id="note_01-B01">Note 01-B01:  (math Library) Added overloaded function with <CODE>const</CODE> argument passed by reference </h3>
441<p>Added an overloaded function with a <CODE>const</CODE> argument passed by reference to the operations for <CODE>Vector</CODE>, <CODE>Matrix </CODE>and <CODE>Quaternion</CODE>.
442</p>
443<h3 id="note_01-B02">Note 01-B02:  (math Library) Added a <CODE>Set </CODE>method to <CODE>Vector</CODE></h3>
444<p>Added a <CODE>Set</CODE> method for setting values to Vector2, Vector3 and Vector4.
445</p>
446<h3 id="note_01-B03">Note 01-B03:  (font Library) Added a separate class for managing text-drawing resources</h3>
447<p>In past versions, the <CODE>CharWriter</CODE> class for text drawing also managed the drawing resources like shaders and texture objects required for text drawing.
448</p>
449<p>In this version, these resources have been made independent as the <CODE>TextWriterResource</CODE> class. Multiple <CODE>CharWriter(TextWriter)</CODE> can share the use of this <CODE>TextWriterResource</CODE> class.
450</p>
451<h3 id="note_01-B04">Note 01-B04:  (font Library) Prepared an shader file for text drawing</h3>
452<p>In past versions, a shader file for text drawing was provided for the sample program but it was not provided as part of the library.
453</p>
454<p>In this version, a shader file in binary format has been prepared as the file <CODE>nwfont_TextWriterShader.shbin</CODE> in the <CODE>shaders</CODE> directory.
455</p>
456<h3 id="note_01-B05">Note 01-B05:  (font Library) Changed function and type names</h3>
457<p>The names of the following functions and types have been changed:
458</p>
459<ul><li> enum type FontEncoding -&gt;  CharacterCode
460</li>
461<li> Function CharWriter::GetEncoding() -&gt; CharWriter::GetCharacterCode()
462</li>
463</ul>
464<h3 id="note_01-B06">Note 01-B06:  (font Library - Font Converter) Changed the binary file format</h3>
465<p>Changed the format of font binary files. Not compatible with binary of previous versions.
466</p>
467
468
469<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br>
470
471<hr><p>CONFIDENTIAL</p></body>
472</html>
473