NintendoWare System Library- Revision History

Index

■ 1.3.3

Bugfixes

■ 1.3.0

Added and Changed Features

■ 1.2.5

Bug fixes

■ 1.2.0

Added and Changed Features

Bug fixes

■ 1.1.1

Bug fixes

■ 1.1.0

Bug fixes

■ 1.0.0

Added and Changed Features

■ 0.8.1

Bug fixes

■ 0.8.0

Added and Changed Features

■ 0.7.1

Added and Changed Features

■ 0.7.0

Added and Changed Features

Bug fixes

■ 0.6.0

Added and Changed Features

■ 0.5.1

Added and Changed Features

Bug fixes

■ 0.5.0

Added and Changed Features

Bug fixes

■ 0.4.1

Added and Changed Features

■ 0.4.0

Added and Changed Features

Bug fixes

■ 0.2.1

Added and Changed Features

Changes in 1.3.3

Note 44-B01: (Font Converter) Fixed a bug where the number of output warning lines is not reset when reconverting a font

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.

Note 44-B02: (Library) Added an assignment operator and copy contructor to the nw::ut::WeakPtr class

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.

Changes in 1.3.0

Note 41-B01: (Library) Added means of dealing with mistaken order of arguments in MovePtr constructor

When a constructor had void* taken as the first argument of ut::MoveArray, compilation would proceed even if the pointer to os::IAllocator* was passed to the argument mistakenly. To deal with the problem, an error now occurs at compile time when os::IAllocator* is passed to the first argument.

Note 41-B02: (Library) Added the TryConnect method to Signal

Added the TryConnect method to Signal to get additional success/fails without an assertion if there is not enough buffer or memory when connecting a slot.

Changes in 1.2.5

Note 27-B01: (Library) Fixed font library problem regarding clearing of texture cache when rendering

During rendering by the font 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.

■ Changes in 1.2.0

Note 22-B01: (Library) Changed the exclusive control of SharedPtr

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>.

Note 22-B02: (Library) Added a feature for disabling NW_DEPRECATED_FUNCTION

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.

This is equivalent to suppressing warning using #pragma diag_suppress 1361.

#include <nw/config/ignore_deprecated_begin.h> #include <nw/config/ignore_deprecated_end.h>

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.

Note 22-B03: (Library) Added a high-speed version of push_back to MoveArray

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.

This is useful when the required amount of memory can be reserved ahead of time and elements can be pushed back all together.

Note 22-B04: (Library) Corrected a bug that caused a link error with the character drawing function

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.

Note 22-B05: (Library) Added a macro definition for selecting one or more than one slot for signal management

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.

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.

Changes in 1.1.1

Note 20-B01: (Library) Fixed a bug where the PairFont class could not be used

There was a problem with the implementation of the PairFont class that made it unusable. This bug has been fixed.

Note 20-B02: (Library) Corrected a problem with the character drawing sample program

The following problem with the character drawing sample (PackedFont) was fixed.

■ Changes in 1.1.0

Note 19-B01: (Font Converter) Fixed a bug where creation of archive fonts would fail

There was a bug where creation of archive fonts (bcfna) would fail. This bug has been fixed.

Note 19-B02: (Font Converter) Fixed a bug with loading bcfnt and bcfna files

Font data files (bcfnt, bcfna) in some formats (RGB5A1 and RGBA4) could not be loaded correctly. This bug has been fixed.

Note 19-B03: (Library) Corrected a problem with the character drawing sample program

The following bug was fixed in the character drawing sample (ArchiveFont, PackedFont).

Note 19-B04: (Library) Fixed a bug where the drawing of characters was being shifted

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.

■ Changes in 1.0.0

Note 17-B01: (Font Converter) Deleted "TEG2" notation

Previous versions had some notation related to the TEG2 board. This has been deleted from this version.

Note 17-B02: (Library) Changed the method of making GL settings not made by the character drawing library

In the character drawing sample programs ResFont and ArchiveFont , 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.

Changes in 0.8.1

Note 16-B01: (Library) Fixed problem with nw::ut::MoveArray

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.

Note 16-B02: (Library) Fixed problem with text color change by nw::font::TagProcessor when using nw::font::RectDrawer

When nw::font::RectDrawer was being used, the color of the first character would not change when the text color was changed by nw::font::TagProcessor. This bug has been fixed.

Note 16-B03: (Library) Fixed problem with nw::os::IsDeviceMemory

Revised nw::os::IsDeviceMemory to support the change to variable device memory size in CTR-SDK 0.10.0.

Changes in 0.8.0

Note 15-B01: (Library) Improved Detach of nw::ut::Children

When an attempt is made to delete an un-owned object, the function now does nothing and returns false. Before this improvement, the behavior would sometimes change when the function was used in problematic ways.

Note 15-B02: (Library) (IMPORTANT) Merged nw::math and nn::math

Deleted nn::math and the shared classes and functions and added a using-based alias. In the past nw::math class, an unnamed structure was defined in the union and it was possible to access elements like MTX33::_00. But for nn::math the standard is that this definition is not valid. By declaring the macro definition NN_SWITCH_ENABLE_MEMBER_NAME_SHORTCUT before including the header to the nn::math namespace, you can access via unnamed structures compatible with the previous nn::math.

Note 15-B03: (Library) Added SafeDestroy, SafeDestroyer and SafeDestroyAll to the nw::ut namespace

Moved SafeDestroy, SafeDestroyer, SafeDestroyAll from the nw::gfx namespace to the nw::ut namespace. These remain defined as using-based aliases in nw::gfx.

Note 15-B04: (Library) Added class for fast text drawing

Added the nw::font::RectDrawer class for fast drawing of character strings.

Note 15-B05: (Library) Changed the character-drawing sample programs

Changed the character-drawing sample programs ResFont and ArchiveFont so they can use the class for fast text drawing (nw::font::RectDrawer). The sample program PackedFont was not changed because it does not support drawing using nw::font::RectDrawer.

Changes in 0.7.1

Note 11-B01: (Library) Deleted the implicit cast to u32 from nw::ut::FloatColor

The implicit operator for casting to u32 was deleted from nw::ut::FloatColor because of problems due to different endianness than Color8. In its place, added the function FloatColor::ToPicaU32.

Changes in 0.7.0

Note 10-B01: (Library) Added version information to version.h

The following two items were added to $(NW4C_ROOT)/include/nw/version.h

NW_VERSION_RELSTEP 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.

NW_VERSION_REVISION is updated every time the file is revised and has no relation to the release.

Note 10-B02: (Library) Revised the return value of the Get method of MovePtr

The return value of a const method is now a non-const pointer.

Note 10-B03: (font Library - Font Converter) Changed the binary file format

Changed the format of font binary files. Not compatible with binary of previous versions.

Note 10-B04: (font Library) Z-Direction Cursor Position Now Gets Updated

During text drawing, even if the cursor position in the Z direction changed the Z value would not be updated unless the SetupGX function was called. That was revised in this release, so now the Z value is updated when it is changed during text drawing.

Note 10-B05: (Library) Fixed problem with conversion from FloatColor to u32

When converting from FloatColor to u32 the alpha value did not convert correctly. That problem was fixed.

Note 10-B06: (Library) Fixed problem with ResArray::size function

The result of the ResArray::size function would be the opposite sign of what it should be. That was fixed so now it is signed correctly as positive or negative.

Changes in 0.6.0

Note 07-B01: (Library) Added development-use library

Added the development-use library nw_dev. This library also operates in Release mode, so when creating the ROM be sure to define NW_DEV_DISABLED so it is not included in your retail product.

Note 07-B02: (Library) Added simple profile functions

Simple profile features have been added to the dev library.

Changes in 0.5.1

Note 06-B01: (Library) Fixed problem of ASSERT being enabled in the Release build

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.

Note 06-B02: (Library) Changed the charset of the C++ source code to UTF-8

Changed the C++ source code from ShiftJIS to UTF-8 with BOM.

Note 06-B03: (ut Library) Fixed problem with MoveArray

An error would occur for memory of the MoveArray-specified size when a size of 0 was specified for the constructor allocated from the allocator. That problem has been fixed.

In Visual C++, when the element type was primitive a warning would appear in the destroy method. That problem was fixed

Note 06-B04: (Library) Fixed problems with NW_FAILSAFE_IF operations

Fixed problems relating to the incorrect operation of billboarding and other operations.

Changes in 0.5.0

Note 06-B01: (font Library) Deleted some functions prepared for use with other libraries

Some of the (Wide)TextWriter 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:.

Note 05-B02: (font Library) Fixed text-drawing position

When drawing with the (Wide)TextWriter 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.

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.

Note 05-B03: (math Library) Portion of API made assembler version

In the Development and Release builds for the actual hardware, the assembler version is now used for the following API

Note 05-B04: (ut Library) Moved nw::math::ResXXX types to nw::ut

The following types have been moved from nw::math to nw::ut. The nw::math definitions will remain for a while but in the future they are to be deleted.

Changes in 0.4.1

Note 04-B01: (ut Library) Changed the name of the ArrayWrapper class to MoveArray

Note 04-B02: (font Library) Added a way to remove buffer specified by ResFont::SetDrawBuffer

In previous releases, there was no way to remove the reference to the memory that was configured for drawing by ResFont::SetDrawBuffer. From this release that can now be done by specifying NULL for ResFont::SetDrawBuffer.

Changes in 0.4.0

Note 03-B01: (font Library) Fixed problem of line spacing when drawing one line of text

In the conventional TextWriter 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.

Note 03-B02: (Font Converter) Added binary file color formats

Added the binary file color formats A4 and L4. These formats cannot be used on the TEG2 board.

Changes in 0.2.1

Note 01-B01: (math Library) Added overloaded function with const argument passed by reference

Added an overloaded function with a const argument passed by reference to the operations for Vector, Matrix and Quaternion.

Note 01-B02: (math Library) Added a Set method to Vector

Added a Set method for setting values to Vector2, Vector3 and Vector4.

Note 01-B03: (font Library) Added a separate class for managing text-drawing resources

In past versions, the CharWriter class for text drawing also managed the drawing resources like shaders and texture objects required for text drawing.

In this version, these resources have been made independent as the TextWriterResource class. Multiple CharWriter(TextWriter) can share the use of this TextWriterResource class.

Note 01-B04: (font Library) Prepared an shader file for text drawing

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.

In this version, a shader file in binary format has been prepared as the file nwfont_TextWriterShader.shbin in the shaders directory.

Note 01-B05: (font Library) Changed function and type names

The names of the following functions and types have been changed:

Note 01-B06: (font Library - Font Converter) Changed the binary file format

Changed the format of font binary files. Not compatible with binary of previous versions.














































CONFIDENTIAL