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_3_3">■ 1.3.3</a></h3> 98<h4>Bugfixes</h4> 99<ul style="list-style-type:none;"> 100<li><a href="#note_44-B01">Note 44-B01: (Font Converter) Fixed a bug where the the number of output warning lines was not reset when re-converting</a></li> 101<li><a href="#note_44-B02">Note 44-B02: (Library) Added an assignment operator and copy contructor to the nw::ut::WeakPtr class</a></li> 102</ul> 103<h3><a href="#version_1_3_0">■ 1.3.0</a></h3> 104<h4>Added and Changed Features</h4> 105<ul style="list-style-type:none;"> 106<li><a href="#note_41-B01">Note 41-B01: (Library) Added means of dealing with mistaken order of arguments in <CODE>MovePtr</CODE> constructor</a></li> 107<li><a href="#note_41-B02">Note 41-B02: (Library) Added the <CODE>TryConnect</CODE> method to <CODE>Signal</CODE></a></li> 108</ul> 109<h3><a href="#version_1_2_5">■ 1.2.5</a></h3> 110<h4>Bug fixes</h4> 111<ul style="list-style-type:none;"> 112<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> 113</ul> 114<h3><a href="#version_1_2_0">■ 1.2.0</a></h3> 115<h4>Added and Changed Features</h4> 116<ul style="list-style-type:none;"> 117<li><a href="#note_22-B01">Note 22-B01: (Library) Changed the exclusive control of SharedPtr</a></li> 118<li><a href="#note_22-B02">Note 22-B02: (Library) Added a feature for disabling NW_DEPRECATED_FUNCTION</a></li> 119<li><a href="#note_22-B03">Note 22-B03: (Library) Added a high-speed version of push_back to MoveArray</a></li> 120<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> 121</ul> 122<h4>Bug fixes</h4> 123<ul style="list-style-type:none;"> 124<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> 125</ul> 126<h3><a href="#version_1_1_1">■ 1.1.1</a></h3> 127<h4>Bug fixes</h4> 128<ul style="list-style-type:none;"> 129<li><a href="#note_20-B01">Note 20-B01: (Library) Fixed a bug where the PairFont class could not be used</a></li> 130<li><a href="#note_20-B02">Note 20-B02: (Library) Corrected a problem with the character drawing sample program</a></li> 131</ul> 132<h3><a href="#version_1_1_0">■ 1.1.0</a></h3> 133<h4>Bug fixes</h4> 134<ul style="list-style-type:none;"> 135<li><a href="#note_19-B01">Note 19-B01: (Font Converter) Fixed a bug where creation of archive fonts would fail</a></li> 136<li><a href="#note_19-B02">Note 19-B02: (Font Converter) Fixed a bug with loading bcfnt and bcfna files</a></li> 137<li><a href="#note_19-B03">Note 19-B03: (Library) Corrected a problem with the character drawing sample program</a></li> 138<li><a href="#note_19-B04">Note 19-B04: (Library) Fixed a bug where the drawing of characters was being shifted</a></li> 139</ul> 140<h3><a href="#version_1_0_0">■ 1.0.0</a></h3> 141<h4>Added and Changed Features</h4> 142<ul style="list-style-type:none;"> 143<li><a href="#note_17-B01">Note 17-B01: (Font Converter)Deleted "TEG2" notation</a></li> 144<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> 145</ul> 146<h3><a href="#version_0_8_1">■ 0.8.1</a></h3> 147<h4>Bug fixes</h4> 148<ul style="list-style-type:none;"> 149<li><a href="#note_16-B01">Note 16-B01: (Library) Fixed problem with <CODE>nw::ut::MoveArray</CODE></a></li> 150<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> 151<li><a href="#note_16-B03">Note 16-B03: (Library) Fixed problem with <CODE>nw::os::IsDeviceMemory</CODE></a></li> 152</ul> 153<h3><a href="#version_0_8_0">■ 0.8.0</a></h3> 154<h4>Added and Changed Features</h4> 155<ul style="list-style-type:none;"> 156<li><a href="#note_15-B01">Note 15-B01: (Library) Improved <B>Detach </B>of <CODE>nw::ut::Children</CODE></a></li> 157<li><a href="#note_15-B02">Note 15-B02: (Library) (IMPORTANT) Merged <CODE>nw::math</CODE> and <CODE>nn::math</CODE></a></li> 158<li><a href="#note_15-B03">Note 15-B03: (Library) Added SafeDestroy, SafeDestroyer and SafeDestroyAll to the <CODE>nw::ut</CODE> namespace</a></li> 159<li><a href="#note_15-B04">Note 15-B04: (Library) Added class for fast text drawing</a></li> 160<li><a href="#note_15-B05">Note 15-B05: (Library) Changed the character-drawing sample programs </a></li> 161</ul> 162<h3><a href="#version_0_7_1">■ 0.7.1</a></h3> 163<h4>Added and Changed Features</h4> 164<ul style="list-style-type:none;"> 165<li><a href="#note_11-B01">Note 11-B01: (Library) Deleted the implicit cast to u32 from <CODE>nw::ut::FloatColor </CODE></a></li> 166</ul> 167<h3><a href="#version_0_7_0">■ 0.7.0</a></h3> 168<h4>Added and Changed Features</h4> 169<ul style="list-style-type:none;"> 170<li><a href="#note_10-B01">Note 10-B01: (Library) Added version information to <CODE>version.h</CODE></a></li> 171<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> 172<li><a href="#note_10-B03">Note 10-B03: (font Library - Font Converter) Changed the binary file format</a></li> 173<li><a href="#note_10-B04">Note 10-B04: (Font Library) Z-Direction Cursor Position Now Gets Updated</a></li> 174</ul> 175<h4>Bug fixes</h4> 176<ul style="list-style-type:none;"> 177<li><a href="#note_10-B05">Note 10-B05: (Library) Fixed problem with conversion from <CODE>FloatColor</CODE> to <CODE>u32</CODE></a></li> 178<li><a href="#note_10-B06">Note 10-B06: (Library) Fixed problem with <CODE>ResArray::size</CODE> function</a></li> 179</ul> 180<h3><a href="#version_0_6_0">■ 0.6.0</a></h3> 181<h4>Added and Changed Features</h4> 182<ul style="list-style-type:none;"> 183<li><a href="#note_07-B01">Note 07-B01: (Library) Added development-use library</a></li> 184<li><a href="#note_07-B02">Note 07-B02: (Library) Added simple profile functions</a></li> 185</ul> 186<h3><a href="#version_0_5_1">■ 0.5.1</a></h3> 187<h4>Added and Changed Features</h4> 188<ul style="list-style-type:none;"> 189<li><a href="#note_06-B01">Note 06-B01: (Library) Fixed problem of ASSERT being enabled in the Release build</a></li> 190<li><a href="#note_06-B02">Note 06-B02: (Library) Changed the charset of the C++ source code to UTF-8</a></li> 191</ul> 192<h4>Bug fixes</h4> 193<ul style="list-style-type:none;"> 194<li><a href="#note_06-B03">Note 06-B03: (ut Library) Fixed problem with <CODE>MoveArray</CODE></a></li> 195<li><a href="#note_06-B04">Note 06-B04: (Library) Fixed problems with <CODE>NW_FAILSAFE_IF</CODE> operations</a></li> 196</ul> 197<h3><a href="#version_0_5_0">■ 0.5.0</a></h3> 198<h4>Added and Changed Features</h4> 199<ul style="list-style-type:none;"> 200<li><a href="#note_05-B01">Note 05-B01: (font Library) Deleted some functions prepared for use with other libraries</a></li> 201<li><a href="#note_05-B03">Note 05-B03: (math Library) Portion of API made assembler version</a></li> 202<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> 203</ul> 204<h4>Bug fixes</h4> 205<ul style="list-style-type:none;"> 206<li><a href="#note_05-B02">Note 05-B02: (font Library) Fixed text-drawing position</a></li> 207</ul> 208<h3><a href="#version_0_4_1">■ 0.4.1</a></h3> 209<h4>Added and Changed Features</h4> 210<ul style="list-style-type:none;"> 211<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> 212<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> 213</ul> 214<h3><a href="#version_0_4_0">■ 0.4.0</a></h3> 215<h4>Added and Changed Features</h4> 216<ul style="list-style-type:none;"> 217<li><a href="#note_03-B02">Note 03-B02: (Font Converter) Added binary file color formats</a></li> 218</ul> 219<h4>Bug fixes</h4> 220<ul style="list-style-type:none;"> 221<li><a href="#note_03-B01">Note 03-B01: (font Library) Fixed problem of line spacing when drawing one line of text</a></li> 222</ul> 223<h3><a href="#version_0_2_1">■ 0.2.1</a></h3> 224<h4>Added and Changed Features</h4> 225<ul style="list-style-type:none;"> 226<li><a href="#note_01-B01">Note 01-B01: (math Library) Added overloaded function with <CODE>const</CODE> argument passed by reference </a></li> 227<li><a href="#note_01-B02">Note 01-B02: (math Library) Added a <CODE>Set </CODE>method to <CODE>Vector</CODE></a></li> 228<li><a href="#note_01-B03">Note 01-B03: (font Library) Added a separate class for managing text-drawing resources</a></li> 229<li><a href="#note_01-B04">Note 01-B04: (font Library) Prepared an shader file for text drawing</a></li> 230<li><a href="#note_01-B05">Note 01-B05: (font Library) Changed function and type names</a></li> 231<li><a href="#note_01-B06">Note 01-B06: (font Library - Font Converter) Changed the binary file format</a></li> 232</ul> 233 234 235<h2 id="version_1_3_3">Changes in 1.3.3</h2> 236<h3 id="note_44-B01">Note 44-B01: (Font Converter) Fixed a bug where the number of output warning lines is not reset when reconverting a font</h3> 237<p>A bug was fixed where the number of output warning lines was not reset when reconverting a font. Warnings would therefore not be displayed at all if conversion was performed enough times. This bug has been fixed. 238</p> 239<h3 id="note_44-B02">Note 44-B02: (Library) Added an assignment operator and copy contructor to the nw::ut::WeakPtr class</h3> 240<pre>Implementation of a copy constructor and assignment operator for nw::ut::WeakPtr class objects have been added to the nw::ut::WeakPtr class. These were previously unimplemented and use was prohibited as a private function. 241 242</pre> 243<h2 id="version_1_3_0">Changes in 1.3.0</h2> 244<h3 id="note_41-B01">Note 41-B01: (Library) Added means of dealing with mistaken order of arguments in <CODE>MovePtr</CODE> constructor</h3> 245<p>When a constructor had <CODE>void*</CODE> taken as the first argument of <CODE>ut::MoveArray</CODE>, compilation would proceed even if the pointer to <CODE>os::IAllocator*</CODE> was passed to the argument mistakenly. To deal with the problem, an error now occurs at compile time when <CODE>os::IAllocator*</CODE> is passed to the first argument. 246</p> 247<h3 id="note_41-B02">Note 41-B02: (Library) Added the <CODE>TryConnect</CODE> method to <CODE>Signal</CODE></h3> 248<p>Added the <CODE>TryConnect</CODE> method to <CODE>Signal</CODE> to get additional success/fails without an assertion if there is not enough buffer or memory when connecting a slot. 249</p> 250<h2 id="version_1_2_5">Changes in 1.2.5</h2> 251<h3 id="note_27-B01">Note 27-B01: (Library) Fixed <CODE>font</CODE> library problem regarding clearing of texture cache when rendering</h3> 252<p>During rendering by the <CODE>font </CODE>library, the texture cache was not cleared adequately. This bug has been fixed. This bug fix increased the memory used for rendering by eight bytes per each character. 253</p> 254<h2 id="version_1_2_0">■ Changes in 1.2.0</h2> 255<h3 id="note_22-B01">Note 22-B01: (Library) Changed the exclusive control of SharedPtr</h3> 256<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 following: SharedPtr<TObj, nw::os::LockObject>. 257</p> 258<h3 id="note_22-B02">Note 22-B02: (Library) Added a feature for disabling NW_DEPRECATED_FUNCTION</h3> 259<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. 260</p> 261<p>This is equivalent to suppressing warning using #pragma diag_suppress 1361. 262</p> 263<p>#include <nw/config/ignore_deprecated_begin.h> #include <nw/config/ignore_deprecated_end.h> 264</p> 265<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. 266</p> 267<h3 id="note_22-B03">Note 22-B03: (Library) Added a high-speed version of push_back to MoveArray</h3> 268<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. 269</p> 270<p>This is useful when the required amount of memory can be reserved ahead of time and elements can be pushed back all together. 271</p> 272<h3 id="note_22-B04">Note 22-B04: (Library) Corrected a bug that caused a link error with the character drawing function</h3> 273<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. 274</p> 275<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> 276<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. 277</p> 278<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. 279</p> 280<h2 id="version_1_1_1">Changes in 1.1.1</h2> 281<h3 id="note_20-B01">Note 20-B01: (Library) Fixed a bug where the PairFont class could not be used</h3> 282<p>There was a problem with the implementation of the PairFont class that made it unusable. This bug has been fixed. 283</p> 284<h3 id="note_20-B02">Note 20-B02: (Library) Corrected a problem with the character drawing sample program</h3> 285<p>The following problem with the character drawing sample (PackedFont) was fixed. 286</p> 287<ul><li>Revised inappropriate variable names 288</li> 289</ul> 290<h2 id="version_1_1_0">■ Changes in 1.1.0</h2> 291<h3 id="note_19-B01">Note 19-B01: (Font Converter) Fixed a bug where creation of archive fonts would fail</h3> 292<p>There was a bug where creation of archive fonts (bcfna) would fail. This bug has been fixed. 293</p> 294<h3 id="note_19-B02">Note 19-B02: (Font Converter) Fixed a bug with loading bcfnt and bcfna files</h3> 295<p>Font data files (bcfnt, bcfna) in some formats (RGB5A1 and RGBA4) could not be loaded correctly. This bug has been fixed. 296</p> 297<h3 id="note_19-B03">Note 19-B03: (Library) Corrected a problem with the character drawing sample program</h3> 298<p>The following bug was fixed in the character drawing sample (ArchiveFont, PackedFont). 299</p> 300<ul><li>A bug was fixed where the load buffer size was inappropriate when built through sequential loading. 301</li> 302<li>Deleted inappropriate comments. 303</li> 304</ul> 305<h3 id="note_19-B04">Note 19-B04: (Library) Fixed a bug where the drawing of characters was being shifted</h3> 306<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. 307</p> 308<h2 id="version_1_0_0">■ Changes in 1.0.0</h2> 309<h3 id="note_17-B01">Note 17-B01: (Font Converter) Deleted "TEG2" notation</h3> 310<p>Previous versions had some notation related to the TEG2 board. This has been deleted from this version. 311</p> 312<h3 id="note_17-B02">Note 17-B02: (Library) Changed the method of making GL settings not made by the character drawing library</h3> 313<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. 314</p> 315<h2 id="version_0_8_1">Changes in 0.8.1</h2> 316<h3 id="note_16-B01">Note 16-B01: (Library) Fixed problem with <CODE>nw::ut::MoveArray</CODE></h3> 317<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. 318</p> 319<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> 320<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. 321</p> 322<h3 id="note_16-B03">Note 16-B03: (Library) Fixed problem with <CODE>nw::os::IsDeviceMemory</CODE></h3> 323<p>Revised <CODE>nw::os::IsDeviceMemory</CODE> to support the change to variable device memory size in CTR-SDK 0.10.0. 324</p> 325<h2 id="version_0_8_0">Changes in 0.8.0</h2> 326<h3 id="note_15-B01">Note 15-B01: (Library) Improved <B>Detach </B>of <CODE>nw::ut::Children</CODE></h3> 327<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. 328</p> 329<h3 id="note_15-B02">Note 15-B02: (Library) (IMPORTANT) Merged <CODE>nw::math</CODE> and <CODE>nn::math</CODE></h3> 330<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>. 331</p> 332<h3 id="note_15-B03">Note 15-B03: (Library) Added SafeDestroy, SafeDestroyer and SafeDestroyAll to the <CODE>nw::ut</CODE> namespace</h3> 333<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>. 334</p> 335<h3 id="note_15-B04">Note 15-B04: (Library) Added class for fast text drawing</h3> 336<p>Added the <CODE>nw::font::RectDrawer</CODE> class for fast drawing of character strings. 337</p> 338<h3 id="note_15-B05">Note 15-B05: (Library) Changed the character-drawing sample programs</h3> 339<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>. 340</p> 341<h2 id="version_0_7_1">Changes in 0.7.1</h2> 342<h3 id="note_11-B01">Note 11-B01: (Library) Deleted the implicit cast to u32 from <CODE>nw::ut::FloatColor </CODE></h3> 343<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>. 344</p> 345<h2 id="version_0_7_0">Changes in 0.7.0</h2> 346<h3 id="note_10-B01">Note 10-B01: (Library) Added version information to <CODE>version.h</CODE></h3> 347<p>The following two items were added to <CODE>$(NW4C_ROOT)/include/nw/version.h </CODE> 348</p> 349<ul><li> NW_VERSION_RELSTEP 350</li> 351<li> NW_VERSION_REVISION 352</li> 353</ul> 354<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. 355</p> 356<p><CODE>NW_VERSION_REVISION</CODE> is updated every time the file is revised and has no relation to the release. 357</p> 358<h3 id="note_10-B02">Note 10-B02: (Library) Revised the return value of the <CODE>Get</CODE> method of <CODE>MovePtr </CODE></h3> 359<p>The return value of a <CODE>const</CODE> method is now a non-<CODE>const</CODE> pointer. 360</p> 361<h3 id="note_10-B03">Note 10-B03: (font Library - Font Converter) Changed the binary file format</h3> 362<p>Changed the format of font binary files. Not compatible with binary of previous versions. 363</p> 364<h3 id="note_10-B04">Note 10-B04: (font Library) Z-Direction Cursor Position Now Gets Updated</h3> 365<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. 366</p> 367<h3 id="note_10-B05">Note 10-B05: (Library) Fixed problem with conversion from <CODE>FloatColor</CODE> to <CODE>u32</CODE></h3> 368<p>When converting from <CODE>FloatColor</CODE> to <CODE>u32</CODE> the alpha value did not convert correctly. That problem was fixed. 369</p> 370<h3 id="note_10-B06">Note 10-B06: (Library) Fixed problem with <CODE>ResArray::size</CODE> function</h3> 371<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. 372</p> 373<h2 id="version_0_6_0">Changes in 0.6.0</h2> 374<h3 id="note_07-B01">Note 07-B01: (Library) Added development-use library</h3> 375<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. 376</p> 377<h3 id="note_07-B02">Note 07-B02: (Library) Added simple profile functions</h3> 378<p>Simple profile features have been added to the <CODE>dev </CODE>library. 379</p> 380<h2 id="version_0_5_1">Changes in 0.5.1</h2> 381<h3 id="note_06-B01">Note 06-B01: (Library) Fixed problem of ASSERT being enabled in the Release build</h3> 382<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. 383</p> 384<h3 id="note_06-B02">Note 06-B02: (Library) Changed the charset of the C++ source code to UTF-8</h3> 385<p>Changed the C++ source code from ShiftJIS to UTF-8 with BOM. 386</p> 387<h3 id="note_06-B03">Note 06-B03: (ut Library) Fixed problem with <CODE>MoveArray</CODE></h3> 388<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. 389</p> 390<p>In Visual C++, when the element type was primitive a warning would appear in the <CODE>destroy</CODE> method. That problem was fixed 391</p> 392<h3 id="note_06-B04">Note 06-B04: (Library) Fixed problems with <CODE>NW_FAILSAFE_IF</CODE> operations</h3> 393<p>Fixed problems relating to the incorrect operation of billboarding and other operations. 394</p> 395<h2 id="version_0_5_0">Changes in 0.5.0</h2> 396<h3 id="note_05-B01">Note 06-B01: (font Library) Deleted some functions prepared for use with other libraries</h3> 397<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:. 398</p> 399<ul><li>PrintfMutable() 400</li> 401<li>VPrintfMutable() 402</li> 403<li>PrintMutable() 404</li> 405</ul> 406<h3 id="note_05-B02">Note 05-B02: (font Library) Fixed text-drawing position</h3> 407<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. 408</p> 409<ul><li>When HORIZONTAL_ORIGIN_CENTER or VERTICAL_ORIGIN_MIDDLE was set and and the origin was in the center. 410</li> 411<li>When HORIZONTAL_ALIGN_CENTER was set and the text was shown center-aligned. 412</li> 413</ul> 414<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. 415</p> 416<h3 id="note_05-B03">Note 05-B03: (math Library) Portion of API made assembler version</h3> 417<p>In the Development and Release builds for the actual hardware, the assembler version is now used for the following API 418</p> 419<ul><li><CODE>MTX34Mult</CODE> 420</li> 421<li><CODE>MTX34Copy</CODE> 422</li> 423<li><CODE>MTX33Mult</CODE> 424</li> 425<li><CODE>Hermite</CODE> 426</li> 427</ul> 428<h3 id="note_05-B04">Note 05-B04: (ut Library) Moved <CODE>nw::math::ResXXX</CODE> types to <CODE>nw::ut</CODE></h3> 429<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. 430</p> 431<ul><li>ResVec2 432</li> 433<li>ResVec3 434</li> 435<li>ResVec4 436</li> 437<li>ResMtx22 438</li> 439<li>ResMtx23 440</li> 441<li>ResMtx33 442</li> 443<li>ResMtx34 444</li> 445<li>ResMtx44 446</li> 447<li>ResTransform2 448</li> 449<li>ResTransform3 450</li> 451<li>ResQuaternion 452</li> 453</ul> 454<h2 id="version_0_4_1">Changes in 0.4.1</h2> 455<h3 id="note_04-B01">Note 04-B01: (ut Library) Changed the name of the <CODE>ArrayWrapper</CODE> class to <CODE>MoveArray</CODE></h3> 456<h3 id="note_04-B02">Note 04-B02: (font Library) Added a way to remove buffer specified by <CODE>ResFont::SetDrawBuffer</CODE></h3> 457<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>. 458</p> 459<h2 id="version_0_4_0">Changes in 0.4.0</h2> 460<h3 id="note_03-B01">Note 03-B01: (font Library) Fixed problem of line spacing when drawing one line of text</h3> 461<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. 462</p> 463<h3 id="note_03-B02">Note 03-B02: (Font Converter) Added binary file color formats</h3> 464<p>Added the binary file color formats A4 and L4. These formats cannot be used on the TEG2 board. 465</p> 466<h2 id="version_0_2_1">Changes in 0.2.1</h2> 467<h3 id="note_01-B01">Note 01-B01: (math Library) Added overloaded function with <CODE>const</CODE> argument passed by reference</h3> 468<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>. 469</p> 470<h3 id="note_01-B02">Note 01-B02: (math Library) Added a <CODE>Set </CODE>method to <CODE>Vector</CODE></h3> 471<p>Added a <CODE>Set</CODE> method for setting values to Vector2, Vector3 and Vector4. 472</p> 473<h3 id="note_01-B03">Note 01-B03: (font Library) Added a separate class for managing text-drawing resources</h3> 474<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. 475</p> 476<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. 477</p> 478<h3 id="note_01-B04">Note 01-B04: (font Library) Prepared an shader file for text drawing</h3> 479<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. 480</p> 481<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. 482</p> 483<h3 id="note_01-B05">Note 01-B05: (font Library) Changed function and type names</h3> 484<p>The names of the following functions and types have been changed: 485</p> 486<ul><li> enum type FontEncoding -> CharacterCode 487</li> 488<li> Function CharWriter::GetEncoding() -> CharWriter::GetCharacterCode() 489</li> 490</ul> 491<h3 id="note_01-B06">Note 01-B06: (font Library - Font Converter) Changed the binary file format</h3> 492<p>Changed the format of font binary files. Not compatible with binary of previous versions. 493</p> 494 495 496<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> 497 498<hr><p>CONFIDENTIAL</p></body> 499</html> 500