NintendoWare for CTR 1.2.23 Release Notes

2011/01/12

Introduction

This package is NintendoWare for CTR 1.2.23.

NintendoWare for CTR is the collective name for the basic tools and libraries used to develop graphics and sounds for CTR game software. Note: NintendoWare for CTR is simply referred to as "NintendoWare" throughout this document.

This document is the release notes for NintendoWare for CTR 1.2.23.

Table of Contents

Package Contents

The NintendoWare package contains the following libraries and tools.

System Requirements

Operating System

For information regarding operations on Windows 7, see the section Confirmed Operations of NintendoWare for CTR Windows 7 (64-bit).

Software Requirements

Installation Procedure

Run the setup.wsf file located in the NintendoWare/CTR folder. This will set the NW4C_ROOT environment variable to the absolute path of the NintendoWare/CTR folder.

Changes in 1.2.23

Added and Changed Features

None.

Bug fixes

Sound development environment

Note 40-S01: (Library) Fixed a bug that would access nn::fs during sleep

There was a bug where nn::fs would be accessed regardless of whether the system was sleeping if sleep was entered while playing a stream sound or loading data into the player heap. This has been fixed by making fs inaccessible by calling the following API functions.

For details, see Chapter 9, Processing During Sleep in the Sound Programmer's Guide.

Changes in 1.2.19

Added and Changed Features

None.

Bug fixes

None.

Changes in 1.2.16

Added and Changed Features

None.

Bug fixes

3D Graphics Development Environment

Note 38-G01: (Demo) Fixed a bug related to multi-textures created by ProjectionShadowDemo and ShadowMapDemo

There was a problem with ProjectionShadoDemo and ShadowMapDemo where the demo would stop if the camera was pointed in a particular direction.

This was due to a problem with multi-texture processing that would cause a problem with the GPU. This problem could occur when the GPU entered a wait state in cases where the processing load associated with each multi-texture was uneven.

To alleviate this problem, adjustments were made to make the processing load of shadow textures even by making filter settings and mipmap settings linear versus the floor texture used by ProjectionShadowDemo and ShadowMapDemo.

Changes in 1.2.15

Added and Changed Features

None.

Bug fixes

Sound development environment

Note 37-S01: (Library) Fixed a bug related to performing operations on independently obtained voices when running a sound thread in the system core

A bug has been fixed where, If a sound thread is run in the system core and operations are perfomed on an instance of nn::snd::Voice class obtained directly, abnormal playback by nn::snd::Voice would occassionally be made using the wrong pitch.

In relation to this, notes given in Section 7.1.2 Synchronous Processing in Chapter 7 Notes on in the Sound Programmer's Guide have been updated.

Changes in 1.2.14

Added and Changed Features

None.

Bug fixes

3D Graphics Development Environment

Sound development environment

Note 36-G01: (Library) Fixed problem in rendering that occurred after switching from a geometry shader to a vertex shader

Previously, there was a bug that caused incorrect rendering in certain circumstances. If you created your own geometry shader and set it for a material, and the color and texture coordinate settings of the next-rendered material (not using this geometry shader) were identical to the settings of the first material, it would not be rendered correctly.

Behavior has been revised so that now, when rendering switches from a geometry shader to a vertex shader, the ShaderProgram::ActivateShaderProgram function correctly re-sets the shader uniforms.

In previous versions of the library it was necessary to work around this bug by setting the hash values of the next-rendered material to 0, but with this fix that workaround is no longer necessary.

Note 36-S01: (Library) Fixed bug that caused freezing during operation of the system core

Fixed a bug that on rare occasions caused execution to stop within a Sound library function when a sound thread was running in the system core.

Changes in 1.2.13

Added and Changed Features

None.

Bug fixes

3D Graphics Development Environment

Note 35-G01: (Library) Fixed problem that prevented configuration of lookup tables for dynamically generated fragment lights

Fixed bug that caused an assertion failure to occur when lookup tables were configured for fragment lights created by DynamicBuilder.

Changes in 1.2.12

Added and Changed Features

None.

Bug fixes

None.

Changes in 1.2.11

Added and Changed Features

None.

Bug fixes

None.

Changes in 1.2.10

Added and Changed Features

None.

Bug fixes

None.

Changes in 1.2.9

Added and Changed Features

None.

Bug fixes

None.

Changes in 1.2.8

Added and Changed Features

None.

Bug fixes

None.

Changes in 1.2.7

Added and Changed Features

None.

Bug fixes

3D Graphics Development Environment

Sound development environment

Note 29-G01: (Library) Fixed problem with irregular replay of quantized animation.

When an animation curve comprised of multiple segments was quantized, gaps would sometimes open up between the segments. When such an animation was played, sometimes access violations and other problems would arise. This was fixed by treating any gap between segments as the starting frame of the next segment.

Note 29-S01: (Library) Fixed problem of infinite loop happening when master volume set.

When any of the following functions were called, there was a possibility of the process falling into an infinite loop. That problem has been corrected.

Note 29-S02: (Library) Fixed the include guard of snd_WaveSound.h.

The include guard of nw/snd/snd_WaveSound.h was wrong, so it was corrected.

Changes in 1.2.6

Added and Changed Features

None.

Bug fixes

CreativeStudio

Note 28-C01: (Binary Output) Fixed problem with export of skeletal animation when curve's RepeatMethod set to None

The was a problem with the export of skeletal animation when the curve's RepeatMethod was set to None. That has been corrected. This problem does not arise when skeletal animations are exported in frame format.

Changes in 1.2.5

Added and Changed Features

None.

Bug fixes

System Library

2D Layout Development Environment

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. In correcting this problem, the memory used for rendering has been increased by 8 bytes per character.

Note 27-L01: (Library) Fixed a problem regarding clearing of texture cache

In the rendering by Drawer, the texture cache was not cleared adequately. This bug has been fixed.

Changes in 1.2.4

Added and Changed Features

None.

Bug fixes

Sound development environment

Note 26-S01: (Library) Fixed a problem with the SoundArchivePlayer::GetSoundPlayer function

For the SoundArchivePlayer::GetSoundPlayer function with the const char*argument, the process stopped on assert no matter what label string was passed. That problem has been corrected.

When the player's label string is passed normally a SoundPlayer instance can be acquired. If the passed label string does not match any player, the process stops on assert.

Changes in 1.2.3

Added and Changed Features

None.

Bug fixes

None.

Changes in 1.2.2

Added and Changed Features

None.

Bug fixes

Sound development environment

Note 24-S01: (Library) Fixed problem with master volume not being applied

The master volume was not applied to sounds that started playing at their true volume. The problem was corrected.

Changes in 1.2.1

Added and Changed Features

Sound development environment

Bug fixes

3D Graphics Development Environment

2D Layout Development Environment

Sound development environment

MayaPlugin

Note 23-G01: (Library) Fixed problem of VertexColorScale being set to 1 by SetAmbient of ResMaterialColor

A bug caused VertexColorScale to be set to 1 when Color was configured by SetAmbient of ResMaterialColor. Revisions were made so VertexColorScale no longer changes.

Note 23-G02: (Library) Fixed compile error with the Signal class GetMemorySizeForFixedSizedSignal function

A compile error would happen when the Signal class GetMemorySizeForFixedSizedSignal function was called. That problem has been fixed.

Note 23-G03: (Library) Deleted ASSERT for checking texture 32MB boundary in FCRAM

An ASSERT was inserted to make sure textures did not straddle a 32MB boundary as a restriction in the old hardware, but that item has now been deleted as an ASSERT condition.

Note 23-G04: (Library) Fixed a bug where the GPU would possibly stall due to failed invalidation of the vertex load array

There was a possibility that the GPU would stall because invalidation of the vertex load array, added in version 1.2.0, did not work correctly. Sometimes vertex data would become corrupted and the GPU would stall, if an attempt was made to render a mesh with a total number of VertexAttributes less than the number of VertexStream objects of the previous mesh after rendering a mesh with a large number of VertexStream objects. This bug has been fixed. A correction was made in version 1.2.0.4, but there were still cases where vertex data corruption could not be completely prevented, so additional measures were taken.

Note 23-G05: (Library) ShaderParameter is now invariably set when ShaderProgram has been changed

When the User Shader was being used, sometimes materials without a configured ShaderParameter would render incorrectly. To correct for this, ShaderParameter is now invariably set when ShaderProgram has been changed.

Note 23-L01: (Library) Fixed problem of Window pane frame being drawn in location of subsequent pane

The frame of the Window pane would be drawn in the location of subsequent panes. That problem has been fixed.

This problem occurred when the Window pane content or the texture used between frames differed, but the texture used by the frame and the subsequent pane were the same.

Note 23-S01: (Library) Fixed problem regarding release of FxDelay memory

Execution would stop on an assert when the FxDelay destructor was called after a call to FxDelay::ReleaseWorkBuffer. That problem has been fixed.

Note 23-S02: (Library) Fixed problem related to playing of stereo waveforms

Execution would stop on an exception when the attempt was made to play a stereo waveform with the lowest channel priority during the playback of up to the maximum number of waveforms. The problem has been fixed.

Note 23-S03: (Library) Fixed a bug related to sound drop-outs when running in the system core

There where sound drop-outs when a sound thread was running in the system core. That problem has been corrected.

Note 23-S04: (Converter) Fixed problem of conversion always failing when .cinl file containing invalid instrument included in text sequence

If an invalid instrument was defined in C++ comment syntax in a .cinl file, any text sequence that included this file would invariably fail to be converted. That problem has been corrected.

Henceforth from this version, definitions of invalid instruments are no longer exported to the .cinl file.

Note 23-S05: (Documentation) Updated the Sound Programmer's Guide

Added mention that when operating in the system core, nn::snd::VOICE_PRIORITY_NODROP must be specified when independently calling the nn::snd::AllocVoicefunction.

The following additions, deletions and changed were made:

Note 23-M01: Fixed problem with incorrect export of visibility animation

Visibility animation did not export correctly when the cmdl file and ctex file and cmata were not exported. That problem has been fixed.

Changes in 1.2.0

Added and Changed Features

Overall Development Environment

System Library

CreativeStudio

3D Graphics Development Environment

2D Layout Development Environment

Sound development environment

Viewer

MayaPlugin

3dsMaxPlugin

SoftimagePlugin

PhotoshopPlugin

Bug fixes

System Library

CreativeStudio

3D Graphics Development Environment

2D Layout Development Environment

Sound development environment

Viewer

MayaPlugin

SoftimagePlugin

PhotoshopPlugin

Note 22-D01: Updated the IntermediateFileFormat documentation

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.

Note 22-C01: (General) Fixed a bug that caused CreativeStudioDaemon to fail to start

Fixed the bug that prevented CreativeStudioDaemon (resident version of CreativeStudio called from Maya exporter) from starting after exiting CreativeStudio with the window maximized and that caused an error message to be displayed when exporting from Maya and made data optimization and merge processing to fail.

Note 22-C02: (General) Fixed the bug that caused file import/export in non-Japanese or English language environments, such as French or German, to fail

For English version, changed so that the English (en_US) version operates properly regardless of the use region settings.

Note 22-C03: (Optimization) Fixed the bug that caused invalid date to be output when optimizing model data with special conditions

Fixed the bug that caused invalid data to be output when optimizing special conditions (data output in RigidSkinning mode from DCC exporter for skinning models) and the model display to be corrupted during preview confirmation.

Note 22-C04: (Merge) Fixed the bug that prevented setting changes for animation targets from being merged correctly

Fixed the problem that prevented setting changes, such as merging models that had the visibility animation format changed, from being applied.

Note 22-C05: (Intermediate File Output) Fixed the bug that prevented animation settings from being performed with newly added textures

Fixed the bug that prevent animation settings from being performed for newly added textures until the file was saved once and then reloaded.

Note 22-C06: (Intermediate File Output) Fixed the bug that caused the preview display to be corrupted when a texture file was loaded during edit of a skeletal model with animation

Fixed the bug that caused the preview display to be corrupted when a texture file was loaded during edit of a skeletal model with animation.

Note 22-C07: (Intermediate File Output) Fixed the bug that caused data with deep layers and zeros set in each node scale value to fail to load

Fixed the bug that caused data with deep layers and zeros set in each node scale value to fail to load.

Note 22-C08: (Intermediate File Output) Fixed the bug related to association of models and scale animations

Fixed the bug that caused associations of animations and models to be wrong when loading several models and skeletal animations at the same time. Also, revised so that associations are made between files of the same name even when animations and models are not loaded at the same time.

Note 22-C09: (Intermediate File Output) Fixed the bug that caused the texture mapper and lookup table set filter settings to be linked when reading or writing selected materials

Fixed the bug that caused the texture mapper and lookup table set filter settings to be linked when reading or writing selected materials.

Note 22-C10: (Binary Output) Fixed the normal vector binary output bug

Fixed the problem that prevented binary output of the necessary normal vector when using cameral cube coordinates or camera sphere coordinates.

Note 22-C11: (Binary Output) Revised the error content for binary output of particle linkage

Revised so that an appropriate error is displayed when attempting to perform binary output of particle linkages.

Note 22-C12: (General) Fixed the bug that prevented Undo/Redo from working properly

Not including the following items, Undo/Redo has been revised to work properly.

Note 22-C13: (Material Properties Panel) Fixed the bug in the validity display of "Reflect" for lookup tables in material properties panel (standard mode)

Fixed the problem that prevented the lookup table "Reflect" from being emphasized when the layer configuration for the fragment tab in the material properties panel (standard mode) is set to 0, 1, 2, or 6.

Note 22-C14: (Material Properties Panel) "Do not display" (cull both faces) is selected for the culling mode settings on the material properties panel

Because culling mode "do not display" (cull both faces) is not supported on the actual hardware runtime, it cannot be selected.

Note 22-C15: (Material Properties Panel) Fixed the HILO texture display bug

Fixed the bug that caused B and A components to be included in the HILO texture display on the material properties panel.

Note 22-C16: (Light Properties Panel) Fixed the problem that allowed the ambient alpha value for vertex lights and the alpha value for hemispherical lighting to be edited

Revised so that values that do not use the ambient alpha value for vertex lights nor the alpha value for hemispherical lighting cannot edit them on the UI.

Note 22-C17: (Particle Set Properties Panel) Fixed the work memory automatic calculation when executing the particle set properties panel bug

Fixed the problem that prevented automatic calculations even when automatic calculations was checked for work memory during execution on the particle set properties panel.

Note 22-C18: (Texture Properties Panel) Fixed the HILO texture display bug

Fixed the bug that caused B and A components to be included in the HILO texture display on the texture properties panel.

Note 22-C19: (Curve Editor) Fixed the linear and step key handle edit bug

Fixed the problem that prevented the handle from being properly edited when the key was changed to linear or step.

Note 22-C20: (Intermediate File Import/Export) Changed so that the compression quality settings for skeletal animation can be individually set in SRT

Changed so that the compression quality settings for skeletal animation can be individually set in SRT. When previous versions of intermediate files are loaded, the saved settings are applied to all SRT.

Note 22-C21: (Intermediate File Import/Export) Revised so that a warning is given when saving a file regarding invalid texture pattern animation

Revised so that a warning is given when saving a file regarding invalid texture pattern animation (animations specifying textures not saved in the texture list(.

Note 22-C22: (Intermediate File Import/Export) Revised so that a warning is given when saving a file regarding invalid lights

Revised so that a warning is given when saving a file with invalid lighting, such as when the lookup table for distance attenuation is not set.

Note 22-C23: (Intermediate File Import/Export) Added an invalid reference path check for textures, lookup tables, etc.

For reference paths, such as textures and lookup tables, definitions that currently use discarded

* (wildcard notation) are checked when saving the file and a warning is issued.

Note 22-C24: (Intermediate File Import/Export) Changed so that file overwrite confirmation can be specified in the "Save selected files and existing files" feature

In the save dialog for the "Save selected files and existing files" feature, confirmation to overwrite when saving can now be specified.

Note 22-C25: (Binary Output) Revised so a warning is displayed during binary output of data that has been set for both-face culling

Revised so a warning is displayed during binary output of data that has been set for both-face culling. Culling both faces is not supported at runtime.

Note 22-C26: (Binary Output) Changed so a warning is displayed when the target for animation binding is not found

Changed so a warning is displayed when the target for animation binding is not found. Can be confirmed with the console panel or standard output with NW4C_CreativeStudioConsole.exe (specify the --verbose option).

Note 22-C27: (Merge) Improved so that an attempt to merge mesh information is made based on node name information when the number of meshes fluctuates

In previous versions, the mesh information was not merged when the number of meshes fluctuated. This was improved so that merge is attempted based on the associated material name, etc.

Note 22-C28: (Optimization) Improved curve compression processing including special condition keys with skeletal animation compression processing

Changed so that storing in FVS format is attempted even if keys with different InSlope and OutSlope values exist. Many cases that fit the above have smaller data sizes than previously. (Change may not occur depending on the curve shape. It will not become larger.)

Previously, if even one such key existed, the FVSS format was used.

Note 22-C29: (Optimization) Added a optimization log to the skeletal animation file

The optimization log is now output into the skeletal animation file (cskla).

Note 22-C30: (Property Panel General) Added a color picker

The color picker is displayed in a pop up display when the color thumbnail is left-clicked.

Note 22-C31: (Property Panel General) Revised the content name notation when several contents are selected

Regarding the content name text box in the upper portion of the Properties panel, the number of selected contents is displayed in parentheses when several contents are selected to clearly indicate that multiple contents are being edited.

Note 22-C32: (Property Panel General) Support for pop-up display of detailed mode/category lists

Support added for pop-up display of detailed mode/category lists.

By removing the pin on the category list, the size of the properties panel display can be kept small, and all categories can be displayed without needing a vertical scroll bar in the pop-up display.

Note 22-C33: (Material Properties Panel) Improved the edit feature of the texture combiner

The following have been implemented as edit features for the texture combiner.

Note 22-C34: (Material Properties Panel) Added setting restrictions for textures used in bump mapping in material properties panel (standard mode)

Set restrictions in conjunction with the number of added textures when setting textures to be used in bump mapping in the material properties panel (standard mode).

Note 22-C35: (Particle Set Properties Panel) Changed the initial values for the particle parameters

Set the initial value for scale (extended) to (1, 1, 1). Set the initial value for initial velocity to 0.25.

Note 22-C36: (Particle Emitter Properties Panel) Added a trace feature to the particle model

Added a feature so that the tracked particle model can be selected in all categories.

Note 22-C37: (Animation Data Properties Panel) Changed so that compression quality cannot be specified when frame format is enabled in skeletal animation

Revised so that compression quality cannot be edit on the UI because it cannot be specified when skeletal animation frame format is enabled.

Note 22-C38: (Animation Data Properties Panel) Changed so that the compression quality in the skeletal animation data properties panel can be individually specified in SRT

Changed so that the compression quality in the skeletal animation data properties panel can be individually set in SRT.

Note 22-C39: (Contents Panel) Added a warning feature for textures that are not referenced

The [!] icon is now displayed on the contents panel when loading a texture that is not referenced.

Note 22-C40: (Console Panel) The console panel warning display is shown in orange

Warning text displayed on the contents panel is not displayed in orange.

Note 22-G01: (Library) Changed the implementation so the library does not allocate memory using size 0

The implementation has been revised in locations where memory was being allocated for size 0 within the library.

Note 22-G02: (Library) Added BranchVisible for preventing rendering below one's own node in the scene tree

BranchVisible was added for preventing rendering below one's own node in the scene tree. When canceling rendering below a particular node in the scene tree, this function can be used to easily cancel rendering.

Note 22-G03: (Library) Added a function for finding the size of memory required for some scene node and animation-related classes

A function for returning the required memory size when creating some scene node and animation-related classes has been added. High-speed instance creation and destruction is possible by allocating the memory size returned by this function and distributing memory to high-speed heaps such as the frame heap. For details, see the documentation on the GetMemorySize and GetDeviceMemorySize function in the Builder class.

Note 22-G04: (Library) Added a function allowing specification of the states that can be cleared by ResetState

A function allowing specification of the states that can be cleared by ResetState has been added.

Note 22-G05: (Library) Added ParticleMaterialActivator for setting materials for particles

ParticleMaterialActivator for making minimal material settings for particles has been added. Materials are automatically selected from RenderContext based on material flags. The processing cost of material settings that are not used by particles, such as lights, can be reduced by using this class. For details, see graphics documentation, and the features for particle and rendering processes.

Note 22-G06: (Library) Fixed a bug where NULL was being set for AnimInterpolator by ReplaceAnimObject

There was a bug where abnormal blend results would result if NULL was set for an animation object by ReplaceAnimObject for AnimInterpolator without ensuring the integrity of weight calculations and blending. This has been fixed. If NULL is set, behavior is now the same as when an animation object without any animation members has been set in that index.

Note 22-G07: (Library) Fixed a bug where billboards that include scaling were not being calculated correctly

A bug has been fixed when billboards include scaling where scaling was being repeatedly applied each time UpdateView was repeated.

Note 22-G08: (Library) Revised the initial Transform when dynamically creating nodes, cameras, lights, or fogs

The initial transform scale when dynamically creating nodes, cameras, lights, or fogs has been changed to 1.0f.

A bug has been fixed when billboards include scaling where scaling was being repeatedly applied each time UpdateView was repeated.

Note 22-G09: (Library) Plans to revise particles in 1.3

Several changes have not been adopted as standard for compatibility between version 1.2 and 1.1. These changes can be introduced by disabling #define NW_GFX_PARTICLE_COMPAT_1_1 in gfx_Config.h.

LIFE, BIRTH, and NEG_TIMELIMIT for streams are handled using ParticleTime. This is the same as f32 if NW_GFX_PARTICLE_COMPAT_1_1 is enabled. Under version 1.3, a fixed point number consisting of sign plus 23-bit integer part plus 8-bit fractional part will be used.

NEG_TIMELIMIT will be abolished. Lifespan will be determined based on calculation using LIFE and BIRTH. To delete a particle, use ParticleCollection::KillParticle rather than using NEG_TIMELIMIT stream operations.

Work memory will no longer be used for emissions from emitters or child emissions. At present, after position information is created in a temporary buffer, it is actually applied to the stream, but is directly written to the stream. Several non-disclosed functions such as ParticleSet::AddParticles have been changed. Do not use these functions in applications because work memory for ParticleContext will not be allocated.

Note 22-G10: (Library) Changed the list of ResParticleInitializer/Updater TargetStreams to a single value

Although a list was being used for ParticleInitializer/Updater TargetStreams, this has been changed to store only a single value because only the topmost value could be obtained.

ResParticleInitializer::GetTargetStreamsCount ResParticleInitializer::GetTargetStreams ResParticleUpdater::GetTargetStreamsCount ResParticleUpdater::GetTargetStreams

have been abolished.  

Instead, use GetTargetStream. This function returns a negative value if the stream does not have a valid value.

Note 22-G11: (Library) Changed velocity-initial velocity "randomize specified direction"

A bug was fixed where the wrong shape would result depending on the direction.

Note 22-G12: (Library) Added API functions for controlling particles

ParticleCollection::KillParticle removes the particle having the specified index.

ParticleCollection::SetLifeParameter sets the PARTICLEUSAGE_LIFE parameter.

Note 22-G13: (Library) Changed memory allocator selection for particles

Specifications have changed. Some memory required for particles was being obtained from device memory, but is now obtained from the main allocator.

Note 22-G14: (Library) Revised blend weight normalization of AnimInterpolator

Blend weight for each pass when using SetWeight has have been normalized under 1.1.0. With this change, normalization is performed only once during the first animation blend performed after execution of SetWeight.

Note 22-G15: (Library) Added a mode where blend weights fo AnimInterpolator are not normalized

A mode has been added for performing blending using the specified blend weights as-is without normalizing them. This allows the normalization process to be eliminated. For details, see AnimInterpolator::SetNormalizationEnabled.

Note 22-G16: (Library) Added a validity check to the Builder class for animation-related classes

An ASSERT is made if Builder class settings are illegal. There is no effect from this under the normal method of use.

Note 22-G17: (Library) Changed specifications so that textures, vertices, and vertex index images are gathered together in a contiguous area in a file and then output

Specifications have changed so that data images directly accessed by the GPU (textures, vertices, and vertex indices) are collected together in a contiguous area of a file and then output. There has been no change to the resource access method. However, the ResGraphicsFile::GetImageBlockData and ResGraphicsFile::GetImageBlockDataSize functions can be used to access image information in one big pile.

Note 22-G18: (Library) Changed specification so bounding information can be added at the vertex index level [Experimental Specification]

It is now possible to add bounding information at the index stream level in intermediate files. With this change, index stream bounding information can also be included in binaries, as long as bounding information for the index stream exists in the intermediate file, by specifying the option --index_stream_bounding during binary conversion. This implementation is currently experimental, and its method of use may change in the future.

Note 22-G19: (Library) Changed specifications so that glBindFramebuffer(NULL) is not executed when NULL has been specified to the RenderContext::SetRenderTarget function

Although glBindFramebuffer(NULL) used to be executed erroneously in the gfx library when NULL was specified to the RenderContext::SetRenderTarget function, specifications have changed so that gl functions are not executed.

Note 22-G20: (Library) Added an ASSER when texture images cross 32MB boundaries

An ASSERT has been added because the GPU will not function normally when texture images cross 32MB boundaries.

Note 22-G21: (Library) Inverted the method of creating fog ZFlip and fog tables

A bug was fixed where the direction of creating ZFlip settings for fogs fog tables were both being created in reverse. Although there is no change in behavior, note that ZFlip must be inverted when directly manipulating a fog table from within an application.

Note 22-G22: (Library) Fixed a bug where all lights would go out when NW_GFX_VERTEX_LIGHT_ENABLED was disabled

A but was fixed where all lights would go out, including fragment lights, when NW_GFX_VERTEX_LIGHT_ENABLED was disabled.

Note 22-G23: (Library) Changed specifications so that DefaultShaderAutoSelector is applied only to DefaultShader

Specifications were changed so that DefaultShaderAutoSelector is applied only to materials that reference the shader named DefaultShader.

Note 22-G24: (Library) Fixed a bug where evaluation values beyond the end of a curve were incorrect under particular conditions when using visibility animations

A bug was fixed where the last key set for a curve was being ignored when finding evaluation values beyond the end of that curve when the last key was set in a fractional frame

Note 22-G25: (Library) Added a feature for disabling the key cache used for render sorting at the mesh level

A bit flag named ResMesh::FLAG_VALID_RENDER_KEY_CACHE was added to mesh flags (GetFlags() method).

If the feature for caching keys for render sorting (see RenderQueue::Reset) has been enabled, the key cache can be re-created when Enqueue is executed by setting ResMesh::FLAG_VALID_RENDER_KEY_CACHE to 0.

A utility (Model::InvalidateRenderKeyCache) for disabling the cache at the model level has also been added.

Note 22-G26: (Library) Optimized vertex attributes for the GPU

Up to this release, fixed values were set as fixed vertex attributes for vertex attributes that do not exist in resources each time Draw was executed. In this release, however, command volume for setting vertices has been optimized by issuing commands that disable vertex streams that must be used after issuing the Draw command. If the RenderContext::ResetState function is executed, and the geometry shader is switched from a valid shader to an invalid shader, all vertex attributes are cleared after Draw is executed.

Note 22-G27: (Library) Added methods to the demo particle class

Features used frequently during particle processing have been added as methods to the new::demo::ParticleEffect and nw::demo::ParticleNode classes. In addition, several particle demos have been changed to use the above classes.

Note 22-G28: (Library) Added an option for changing the blending method if an animation member does not exist when using AnimInterpolator or TransformAnimInterpolator

The option IgnoreNoAnimMember has been added so that animation members to be blended that do not exist in AnimInterpolator or TransformAnimInterpolator are ignored and excluded from weight normalization.

This behavior is the same as that prior to 1.1.0 and the same as that when true is specified for IsOldMethod. Also, note that IgnoreNoAnimMember and IsOldMethod share the same flag.

The IsOldMethodOption will be removed in 1.3.0.

Note 22-G29: (Library) Fixed a bug where the hash values in the ShadingParameter and FragmentLightingTable were wrong

A bug was fixed where certain processes were not being skipped correctly because the hash values in ShadingParameter and FragmentLightingTable were wrong.

Note 22-G30: (Library) Fixed a bug where Reset for model visibility animations was not working

A bug was fixed where Reset for model visibility animations was not working. The IsVisible flag on the resource side was also being overwritten erroneously during animation playback. Under correct operations, only the IsVisible flag on the instance side is changed.

Note 22-G31: (Library) Fixed a problem where the framebuffer was not being correctly released by OnScreenBuffer

A bug was fixed where the framebuffer was not being released after the OnScreenBuffer class would close.

Note 22-G32: (Library) Fixed a bug where original uniform definitions were being added by custom shaders

Beginning from release 1.1.0, there was a bug where the GetLocation function in the ResShaderSymbol class was not returning the right value if a custom shader was created and original uniform definitions has been added. Data including the custom shader was therefore not being displayed normally. This bug has been fixed.

Note 22-G33: (Library) Integrated TextureLocationFlagSetter, IndexStreamLocationFlagSetter, and VertexStreamLocationFlagSetter

TextureLocationFlagSetter, IndexStreamLocationFlagSetter, and VertexStreamLocationFlagSetter (representing a utility class for specifying the memory location of the texture buffer and vertex buffer when using Foreach* functions) have been integrated and collected together in LocationFlagSetter. For compatibility, the original class name remains as a typedef in the LocationFlagSetter class.

Note 22-G34: (Demo) Changed specifications so that the buffer is cleared beginning from the farthest model rather than using glClear

To reduce the process load, the method for clearing the buffer has been changed from using glClear to a method that uses the most distant model. glClear is used as usual in LowLayer demos.

Note 22-G35: (Demo) Added ParticleScaleDemo

This demo can be used to find out the effect of applying scaling to ParticleModel, ParticleEmitter, or Particle objects, respectively.

Note 22-G36: (Demo) Changed the use of the demo particle class and demo contents used in particle demos

ParticleApplicationDemo, ParticleCtrlEmissionDemo, ParticleRecycleDemo, and ParticleChokeDemo have been changed to use the nw::demo::ParticleEffect and nw::demo::ParticleNode classes. Demo contents have also been reviewed and changed.

Note 22-G37: (Demo) Changed the location of data for demos

The location of data used in demos has been changed.

Note 22-G38: (Converter) Fixed a problem with vertex index data alignment

The alignment of vertex index data was not being handled correctly. This bug has been fixed.

Note 22-G39: (Converter) Fixed a bug where binary conversion would fail outside the Japanese and English language environments such as when using French or German

For English version, changed so that the English (en_US) version operates properly regardless of the use region settings.

Note 22-G40: (Viewer) Abolished the simple actual hardware Viewer

The simple actual hardware Viewer has been abolished. From now on, be sure to use the official version of the Viewer released in 1.1.0 as the tool used to preview graphics data on actual hardware.

Note 22-L01: (LayoutEditor) Added a feature for controlling keys during binary file output

A feature has been added to the Export Binary File dialog for setting controls for keys.

Note 22-L02: (LayoutEditor) Added a feature to set the transfer destination when previewing a layout

The settings for transfer destination during preview can now be saved in the layout file.

Note 22-L03: (Binary converter) Added the --omit-nokey-all option

Added the --omit-nokey-all option to the binary converter.

This is effective in keeping the size of the animation data small.

When there is no key in the frame segment specified with the animation segment tag, no animation data is output.

This option is enabled when the -g option is specified.

Note 22-L04: (Simple Viewer) Added features

The following features have been added to the Simple Viewer

(Settings are saved in %NW4C_ROOT%\tools\LayoutViewer\setting.ini.)

In addition, the following changes were made.

Note 22-L05: (Library) Added a macro to disable DMPGL

Defined the NW_LYT_DMPGL_ENABLED macro in lyt_Config.h.

If this definition is ignored, features utilizing DMPGL are removed.

By default, definitions are enabled.

Note 22-L06: (Library) Added a pointer NULL check

When NULL was passed as the second argument for nw::lyt::Initialize(), it stopped with an exception. This was changed to stop with an ASSERT.

Note 22-L07: (Library) Changed the API

When the NW_LYT_DMPGL_ENABLED macro in undefined in lyt_Config.h, the following APIs are deleted from the library.

Note 22-L08: (PC Viewer) Fixed a bug that caused hang ups when a group without any animation was selected

Fixed the bug that caused hang ups when a group without any animation was selected.

Note 22-L09: (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-L10: (Library) Fixed the bug that caused the resource accessor to not record the referenced texture

Fixed the bug that cased resource accessors of the ArcResourceAccessor and MultiArcResourceAccessor class to not record textures attained from archives.

This bug occurred from NW4C-1.1.0.

Because an archive search is generated each time texture is requested, Layout::CreateAnimTransform() and texture pattern animation execution speeds are decreased.

This occurs when Layout::SetLayoutDrawEnable() is set to false. This setting status is the default.

Note 22-L11: (Library) Fixed the bug that caused texture to always be determined to be in a DIRTY status

Because the texture is always determined to be in DIRTY status, texture coordination calculations are not performed for each rendering even for textures without SRT transformations.

Note 22-S01: (General) Added a feature for selecting the interpolation type at the instrument level

The interpolation type can now be selected in instrument lists and percussion lists on SoundMaker. For details, read about interpolation types in the Instrument List or Percussion List section of the Bank Tab part of the Practical Guide of the SoundMaker User's manual.

In previous versions, the interpolation type as set using the nw::snd::SoundSystem::SetSrcType function only affected stream sounds and wave sounds. With the addition of the feature for selecting the interpolation type for instruments, sequence sounds are now also affected.

Note 22-S02: (Library) Added effects used in the effect demo

The demos/snd/effect demo used to only include an implementation of nw::snd::FxReverb, but examples of the following implementations have been added.

Note 22-S03: (Library) Added effects executed in the system core

Features have been added so that when a sound thread is running in the system core associated effects can be processed in the system core by registering nn::snd::FxReverb and nn::snd::FxDelay using the SoundSystem::AppendEffect function.

For details, see the following API entries in the function reference manual.

Note 22-S04: (Library) Added the Sound3DManager::Finalize function

The Sound3DManager::Finalize function for destroying instances of Sound3DManager has been added. For details, see the reference manual entry for this function.

Note 22-S05: (Library) Biquad filter support

Support has been added for biquad filters that can work with SoundHandle and sequence data. For details, see the documents, demos, and samples listed below.

Biquad filters can also be easily configured using SoundPlayer.

Note 22-S06: (Library) Added LPF support

Support has been added for low-pass filters (LPF) that can work with SoundHandle and sequence data. For details, see the documents, demos, and samples listed below.

Biquad filters can also be easily configured using SoundPlayer.

Note 22-S07: (Library) Changed the default value of FxDelay::Param

In past versions, use of the default values for FxDelay::Param resulted only in a one-shot delay. The default values have therefore been changed to values more easily used as-is for delay purposes.

Note 22-S08: (Library) Added API members for synchronization when using nn::snd::Voice APIs

An API for synchronization required when independently getting and using nn::snd::Voice has been added.

For further details, refer to the following function reference manual entries and Chapter 8, Running in the System Core, in the Sound Programmer's Guide.

Note 22-S09: (Library) Tweaked demos to also use nn::snd::Voice

Synchronization processing with sound threads has been added to the following demos that independently obtain and use nn::snd::Voice.

Note 22-S10: (Library) Changed specifications related to instrument playback without waveform assignment

Execution used to stop on an assert if there was an attempt to play a region where no waveform was assigned for an instrument being used as a sequence sound. The assert has been removed and playback no longer stops. (Debug and Development versions only. Release versions already ignored the assert.)

The fact that no sound is produced when an attempt is made to play a note in a region where no waveform is assigned has been added to Chapter 8, Troubleshooting, in the Sound System Manual.

Note 22-S11: (Library) Fixed a bug related to sequence sound playback

A bug was fixed where tempo was slightly off and/or could not be delayed more than a fixed amount when playing sequence sounds whose time base was 480 with a tempo of 78 or less.

Note 22-S12: (Library) Fixed a bug where execution would fall into an infinite loop during stream playback

A bug was fixed where execution would fall into an infinite loop inside the sound library when a sound thread was operating at a particular timing during stream playback.

Note 22-S13: (Library) Fixed a bug with the SoundSystem::GetVoiceCount function

A bug was fixed where execution would occasionally stop on an exception when calling the nw::snd::SoundSystem::GetVoiceCount function.

Note 22-S14: (Library) Fixed a bug where volume was not being calculated correctly

A bug was fixed where volume was not being calculated correctly if pan-related parameters (described later) were left set to default values.

The term "pan-related parameters" refers to the following.

Note 22-S15: (SoundMaker) Fixed a bug with file export

A checkbox was added for Output Labels by Item to the Convert tab of the Project Settings dialog. When this check box is selected, ID headers are divided into files by type for export.

Note 22-S16: (SoundMaker) Added a feature for changing how project names appear on the title bar

Added a check box to Display the full file path in the General tab of the Options dialog. When this check box is selected, the full path is given for the project name in the title bar.

Note 22-S17: (SoundMaker) Fixed a bug related previewing sequence sounds on a PC

When sequence sounds with a time base of 480 and a tempo of 78 or slower were previewed on the PC, the sounds would not play. That problem has been corrected.

This symptom reoccurred from version NW4C-1.1.0.

Note 22-S18: (SoundMaker) Fixed a bug related to displaying the instrument list

An exception occurred when the percussion tab was opened after deleting a key region. That problem has been fixed.

Note 22-S19: (Converter) Fixed a bug related to loop settings for waveform files

Changed the specification so that now, when a waveform file has been set to loop but the same frame has been specified for both the starting and stopping points, it is handled as if the waveform file has been set to not loop.

Note 22-S20: (Converter) Removed invalid instruments from the cinl file

When instruments are disabled, the pertinent instruments are not included in the cinl file (the instrument label file) at conversion time.

This was done so that conversion errors occur in sequences that reference the labels of disabled instruments.

Note 22-S21: (Converter) Fixed bugs with the waveform converter

Noise occurred when extremely short, silent waveforms were played. That problem was fixed.

Note 22-S22: (Converter) Fixed a bug where the instrument compression format was not being applied to conversion results

When the compression format for instruments was changed in SoundMaker, that change was not reflected in the result of the converter. That problem was fixed.

Note 22-S23: (SoundMaker) Fixed a bug related to splitting the Sample Map

If a Sample Map was split in two and then one of the assigned waveform files was deleted, sound would play even when the deleted region was referenced when the note-on command was performed on the sequence sound.

This was due to a converter bug that resulted in waveform allocation remaining behind in the deleted region if the Sample Map had an empty region when it was split in two. The problem has now been corrected.

With this correction, regions with no waveform allocation do not make sounds when note-on is performed.

Note 22-S24: (Converter) Fixed a bug with specifying options to the sound project converter

An error occurred with the sound project converter (NW4C_SoundProjectConverter.exe) when options were written first. That problem has been corrected.

Note 22-S25: (Documentation) Added descriptions of FxReverb and FxDelay parameters

Details descriptions of FxRever class and FxDelay class parameters have been added.

For more details, see the following function reference manual entries.

Note 22-S26: (Documentation) Added to Troubleshooting in the SoundMaker User's Guide

Text was added to the manual's Troubleshooting chapter to explain what to do when characters no longer display in lists while using SoundMaker.

Note 22-S27: (Documentation) Added information to the reference manual entry for the SoundHeap::Dump class

The fact that this function does not work correctly if data from multiple sound archives has been loaded into the sound heap has been added to the function reference manual.

Note 22-S28: (SoundPlayer) Added a feature for selecting the clipping mode

A feature has been added to the nn::snd::SetClippingMode function to select the clipping mode. This can be selected from the OutputMode screen.

Note 22-S29: (SoundPlayer) Deleted the feature for creating SoundPlayer-TS.cia files

The feature for importing cia files was deleted from CTR_SDK-0.14.0 and later versions of DevMenu, so the feature for creating cia files has been deleted from SoundPlayer.

Note 22-S30: (SoundPlayer) Fixed a bug with effect parameter settings

Under SoundPlayer, negative values could be set for the effect parameters listed below. That has been corrected.

Note 22-V01: Fixed a bug where grids were not transparent on translucent models

A bug was fixed where grids did not show through models when previewing translucent models.

Note 22-V02: Fixed a bug where visibility animations could not be played back

A bug was fixed where visibility animations could not be played back.

Note 22-V03: Added support for a command-version font library

Support has been added for a command-version font library, reducing the processing load associated with drawing fonts.

Note 22-V04: Made revisions so that binding uses names when binding animations

Locations in code up to now where binding has been performed in the order included in binary have been revised so that binding is performed to prioritize cases where the name to be bound is included in the animation name.

Note 22-V05: Added support for system load display

Specifications have changed so that the overall system load of the Viewer is displayed in a bar in the lower screen.

Note 22-V06: Changed specifications so that show/hide grid can be switched using a keyboard shortcut

Specifications have changed so that show/hide grid can be switched using the keyboard shortcut for showing/hiding the lower screen.

Note 22-V07: Added support for specifying a frame rate

Support has been added for specifying a frame rate in setup files.

Note 22-V08: Added support for skipping frames

Support has been added for skipping frames in order to skip the rendering process for those frames when dropped processes have occurred.

Note 22-V09: Added an effect mode

The current number of particles and maximum number of particles since playback began are displayed. Supports has also been added for loop playback. The number of loop frames can be changed by keyboard operations.

Note 22-V0: Added a feature for switching animations

A feature for switching among model animation, skeletal animation, and material animation has been added.

Note 22-M01: Added support for intermediate file format version 1.2.0

Support has been added for intermediate file format version 1.2.0.

Note 22-M02: Updated for Maya 2011

Added support for Maya 2011.

Note 22-M03: Deprecated Quantize Quality and added the options Scale Quantize Quality, Rotate Quantize Quality, and Translate Quantize Quality

Quantize Quality, used to specify the animation quality of the Export plug-in, has been abolished, and the options Scale Quantize Quality, Rotate Quantize Quality, and Translate Quantize Quality have been added.

Note 22-M04: Added the options Texture Translate, Texture Rotate, and Texture Scale

The options Texture Translate, Texture Rotate, and Texture Scale have been added for setting allowable differences in texture SRT animations for the Export plug-in.

Note 22-M05: Added the Color option

The Color option was added for setting the allowable difference in color animations for the Export plug-in.

Note 22-M06: Added a plug-in for setting user data

A plug-in for setting user data (NW4C Set User Data) has been added.

Note 22-M07: Fixed a bug where dependency files were not being copied during merging

A bug has been fixed where texture, lookup table set, and shader files that depended on a pre-merged file were not being copied during merging.

Note 22-M08: Fixed a bug where temporary files created for merging were not always deleted

A bug was fixed where temporary files created for merging were not always deleted.

Note 22-M09: Fixed a bug where cskla files were not being optimized

A bug was fixed where cskla files were not being optimized if a cmdl file was not being exported.

Note 22-X01: Fixed the problem that caused names to be improperly output in "NodeName"

Fixed the problem that caused names to be improperly output in "NodeName" of the DccToolSourceNodeMetaData tag.

Note 22-X02: Fixed the problem where names were duplicated in lookup table sets

Fixed the problem were names where duplicated in the material lookup table set and the right lookup table set.

Note 22-X03: Added options to the Export Plug-in

Added "Compress Material." Added "Mesh Visibility Mode." Discarded "Translate Precision," "Rotate Precision," and "Scale Precision. Added "Scale Quantize Quality," "Rotate Quantize Quality," and "Translate Quantize Quality." Added "Use CreativeStudio."

Note 22-X04: Support for output of scene environment data

Scene environment data output was supported. (.cenv file output)

Note 22-X05: Support for the resident version of CreativeStudio

The resident version of CreativeStudio can now be used when optimizing.

Note 22-I01: Added options to the Export Plug-in

Added "Mesh Visibility Mode." Discarded "Translate Precision," "Rotate Precision," and "Scale Precision. Added "Scale Quantize Quality," "Rotate Quantize Quality," and "Translate Quantize Quality." Added "Use CreativeStudio."

Note 22-I02: Changed the Export plug-in's Convert To Model option to Disable SkeletalModel-Simplification option

The Export plug-in's Convert To Model option has been changed to the Disable SkeletalModel-Simplification option.

Note 22-I03: Support for output of scene environment data

Scene environment data output was supported. (.cenv file output)

Note 22-I04: Support for the resident version of CreativeStudio

The resident version of CreativeStudio can now be used when optimizing.

Note 22-I05: Added support for specifying the output format for vertex colors

A feature for switching the output format used for vertex color data has been added.

Note 22-I06: Fixed the problem that caused names to be improperly output in "NodeName"

Fixed the problem that caused names to be improperly output in "NodeName" of the DccToolSourceNodeMetaData tag.

Note 22-I07: Fixed the problem where names were duplicated in lookup table sets

Fixed the problem were names where duplicated in the material lookup table set and the right lookup table set.

Note 22-I08: Fixed a bug where OutputCmdla settings were not being reflected when a c3es file had been loaded

A bug was fixed where OutputCmdla settings were not being reflected when a c3es file had been loaded

Note 22-I09: Fixed a bug where texture pattern animations that use sequential textures were not being exported normally

A bug was fixed where texture pattern animations that use sequential textures were not being exported normally.

Note 22-P01: Added support for Adobe Photoshop CS5 (32bit/64bit)

Support has been added for Adobe Photoshop CS5 (32bit/64bit).

Note 22-P02: Fixed a bug where the display of ALL(ETC1) was being cut off by the mipmap creation plug-in

A bug was fixed where the display of ALL(ETC1) was being cut off by the mipmap creation plug-in.

Known Issues

[System Library] (Library) High-speed text drawing class restrictions

When using the nw::font::RectDrawer class for drawing text at high speed, zero always results without considering the z-direction cursor position of the nw::font::CharWriter or nw::font::TextWriter class.

[CreativeStudio] Redo does not work correctly when creating a sample curve

[CreativeStudio] Parameter settings are not configured for a newly added texture in the material Properties panel (Details mode)

Parameters are not configured for a newly added texture in the Texture management part of the material Properties panel (Details mode) because a texture coordinator is not registered.

[CreativeStudio] Inappropriate values can be set to the Texture combiners in the material Properties panel

Depending on the number of combiner stages, there are certain values that cannot be set to the Texture combiners, but currently these can get set from the UI.

[CreativeStudio] A multi-texture material will display even when the texture coordinators have not been properly set

To apply multiple textures you need to set the correct number of texture coordinators. However, under certain conditions the material will display even if the setting has not been properly configured,

[CreativeStudio] When textures are shared, the repeat and filter settings do not get applied to the texture mappers.

Repeat and filter settings cannot be applied to the separate texture mappers for a shared texture. Separate settings are applied in the development hardware.

[CreativeStudio] Settings remain after Texture combiners have been deleted

For a model with numerous materials, sometimes the settings remain even after Texture combiners have been deleted.

[CreativeStudio] When multiple texture objects are used for the same texture for the same material, the display may look different on the development hardware

Due to the OpenGL specifications, the filtering settings may differ between the development hardware and the NWCS using POD.

[CreativeStudio] The render order of opaque materials differs on actual hardware and CreativeStudio.

Because of the way material comparisons are implemented on CreativeStudio, the display will differ from that on the development hardware.

[CreativeStudio] The system crashes if Undo is performed after a particle set has been deleted

[CreativeStudio] Redo does not work correctly when creating particle sets

[CreativeStudio] Particle drawing order does not work

This is not supported by the development hardware, so the feature has been temporarily disabled.

[CreativeStudio] When the same particle is registered multiple times to Particle link they do not preview correctly

Preview does not work correctly when the same particle is registered two or more times to a single Particle link.

[CreativeStudio] Particle links cannot be saved correctly when using "Save all" or "Merge and save files."

Particle links are not saved correctly (an empty file is saved) when using the same menu as other intermediate files. To save particle links correctly, you must save using File > Save > Particle link.

[CreativeStudio] When there are multiple spotlights, they must all have the same angular attenuation setting

When multiple spotlights exist, the angular attenuation settings for input and scale must be consistent. If the angular attenuation settings differ, the settings for other lights will not be correctly applied and displayed, so attention to this is required.

[CreativeStudio] Spotlight type vertex light displays oddly when the distance to the object being illuminated is zero and the light direction is orthogonal to the surface being illuminated.

When using spotlights, make sure you locate them such that the distance to the object being illuminated is not zero.

[CreativeStudio] Binding of light to animation with different kinds of light sources does not generate an error

When the light source set for fragment light and vertex light does not match that for the animation, they will bind anyway without generating an error. When this happens, animation with an invalid parameter for the light source of the light will be deleted.

[CreativeStudio] When Camera is reset, binding is removed

When Reset is done in the camera Properties panel, the property binding is removed and the values will not be applied until you switch back to the panel.

[CreativeStudio] No error is generated when binding a camera animation with a different mode

When Projection mode is set as the view mode for Camera and the animation is not set to the same mode, binding can nevertheless take place with no generation of an error. When that happens, animation with invalid parameters in the current mode get deleted.

[CreativeStudio] Values get reset in the camera Properties panel when the updater is changed

When updater is changed in the camera Properties panel the values are not saved and get destroyed.

[CreativeStudio] When a non-zero value is set for the camera's wScale the polygon offset does not get applied

When a non-zero value is set for the camera's wScale, the polygon offset feature in the material settings does not work. The setting is applied in the development hardware.

[CreativeStudio] Cannot edit lookup table sets with broken links

In the settings for lookup tables in the Properties panels for materials and fragment lights, you cannot edit lookup table sets correctly if links have been broken.

[CreativeStudio] Changes to names of content objects are not reflected in the display

You can change the name of a content object from a panel, but the name on display in the Camera and the Lookup table set does not change. The change is reflected in internal operations, so the post-change name gets output to the intermediate file.

[CreativeStudio] Sometimes selected status of items in the Contents tree is canceled if three or more levels deep.

There is a problem where selection is canceled if an item in a Contents tree three or more levels deep has been selected and contents are added or transferred to the viewer.

[CreativeStudio] Link settings will reflect other selected content if the link flag is set

If other content for which no link setting is made is selected while the link flag is set, the link setting is sometimes applied to the selected content as well.

[CreativeStudio] Cannot distinguish multiple materials in the Curve Editor panel

When a model with multiple materials is selected in the Contents panel, those materials cannot be distinguished in the Curve Editor panel. This problem does not arise if you select materials in the Contents panel.

[CreativeStudio] Increases/decreases in animation elements are not reflected in the Curve Editor panel.

When the editing of a content object adds or removes animation elements, this is not reflected in the tree view in the Curve Editor panel. You need to re-select the content object or close and reopen the Curve Editor panel.

[CreativeStudio] The Transform.Rotate unit is radians not degrees.

[CreativeStudio] There is a problem with adding a key immediately after undoing an operation that resulted in the creation of animation data

Animation data is automatically created when a key is first added. However, if you attempt to add a key immediately after undoing this operation, it will not be added correctly.

This problem can be resolved by reselecting content or re-opening CurveEditor.

[CreativeStudio] There is a problem with updating the display after performing an undo when editing a curve

If another curve is selected when undoing a curve edit, there is a problem where the display status (bold display or icon) of the curve being undone is not updated.

[CreativeStudio] During animation playback, the values change for elements to which keys are not set

This occurs in procedures like the following:

  1. A key is set for the R element of emission color.
  2. The value of the G element is changed in the material Properties panel
  3. When animation is played, the G element reverts to its value before the change

[CreativeStudio] In the settings in the Merge Wizard dialog to associate target files the Select a merge target turns blank.

When switching between Model and Texture tabs the display of the selection state becomes blank. Although it appears blank, the setting is active because the association setting stores the state of the merge target.

[CreativeStudio] A texture not used warning icon appears if models are merged

Although a "texture not used" warning icon is displayed for all associated textures when models are merged, this can be resolved by reloading the model file.

[CreativeStudio] Names do not become applied between the Contents panel and the Properties panel

When a name that cannot be set is configured in the Properties panel, it does not restore to the before-the-change name. It will restore to the original state if you either specify a value that can be configured, or change the selection state.

[CreativeStudio] After an object with a parent-child relationship is deleted, the parent-child relationship cannot be restored by an undo operation.

If there are objects with a parent-child relationship on the Contents panel, such as models and materials, the parent-child relationship is canceled if either the parent or child is deleted. The relationship cannot restored even with an undo operation.

[CreativeStudio] Frames do not get applied when frames are skipped in the Timeline panel.

Frames do not become applied when Skip forward and Skip backward are done repeatedly.

[CreativeStudio] The color field always points to the lower right if black (0,0,0) is specified using the color picker

[CreativeStudio] The S component resets if black (0,0,0) is specified using the color picker

[3D Graphics Development Environment] PC version runtime is not supported

Operations have not been confirmed under PC version runtime. Only actual hardware runtime is supported.

[3D Graphics Development Environment] Material settings processed by the vertex shader do not work for particles

The following restrictions apply to the material Properties panel.

[3D Graphics Development Environment] An explicit VBO flush is not performed for particles

A VBO flush now results for rendering using a given resource if IsBufferFlushEnabled of ResParticleSet is set to true. However, we recommend that you implement a process where the particle VBO is written out of the cache between calls to UpdateScene and RenderScene because this process has a large impact on performance.

[3D Graphics Development Environment] When changing material parameters, the material hash for changed parts must be cleared to 0

This may be the cause of symptoms such as modified parameters having no effect on rendering occur.

[3D Graphics Development Environment] Polygons are displayed even when "do not display" has been selected for polygon display

We recommend that you use mesh Visibility when hiding meshes.

[3D Graphics Development Environment]

"Non-Uniform Scale" under "Model Options" of the DCC exporter is not supported. If "Non-Uniform Scale" is ON, lighting is not performed correctly for meshes with skinning that are influenced by bones with non-uniform scale.

[3D Graphics Development Environment] Separate sampler settings for each texture stage are enabled at runtime on actual hardware even in the case of the same texture

Because texture sampler settings are made based on a command cache at runtime on actual hardware, separate sampler settings are enabled for each texture stage even for the same texture. Sometimes the results of rendering under CreativeStudio (OpenGL) differ in appearance from those on actual hardware.

[3D Graphics Development Environment] "SIO Read Failed" is always output after reloading the Simple Viewer on actual hardware

When the reloading a scene on the Simple Viewer on actual hardware (by pressing the A Button or selecting "Transfer to viewer" under CreativeStudio), an "SIO Read Failed" message is always output after the debugger displays the load path. There is no problem with operations as loading did not actually fail.

[3D Graphics Development Environment] No error is generated when binding a camera animation with a different mode

When Projection mode is set as the view mode for Camera and the animation is not set to the same mode, binding can nevertheless take place with no generation of an error. Execution does not work normally in this case.

[3D Graphics Development Environment] Transforms are sometimes not correctly blended when using AnimBlender with camera animations

Transforms are sometimes not correctly blended when using AnimBlender with camera animations.

[3D Graphics Development Environment] The display sometimes looks different on actual hardware comparted to CreativeStudio (POD) due to differences in precision

Sometimes the results of the depth test differ due to differences in depth precision. Sometimes the results of the polygon offset differ due to differences in polygon offset precision.

[3D Graphics Development Environment] Lighting breaks for vertices that have a light and perpendicular normal if front face culling has been set

Lighting sometimes breaks for vertices that have a light and perpendicular normal if front face culling has been set

[3D Graphics Development Environment] Distance attenuation cannot be applied to Layer Configuration 7

Distance attenuation cannot be applied to materials that use Layer Config 7. This is a hardware limitation.

[3D Graphics Development Environment] Spotlight type vertex light displays oddly when the distance to the object being illuminated is zero and the light direction is orthogonal to the surface being illuminated

When using spotlights, make sure you locate them such that the distance to the object being illuminated is not zero.

[3D Graphics Development Environment] Binding of light to animation with different kinds of light sources does not generate an error

When the light source set for fragment light and vertex light does not match that for the animation, they will bind anyway without generating an error. Execution does not work normally in this case.

[3D Graphics Development Environment] Sufficient memory is required for ParticleContext MaxEmission.

When wmax has been set as the maximum work memory at runtime for all ParticleSet objects, MaxEmission must be set to the amount of memory given by (wmax + 7)/3 or the particle volume (not divided by 3) newly emitted in a single frame for that particle set, whichever is greater.

ParticleContext work memory will become unnecessary in version 1.3.

[3D Graphics Development Environment] BranchWorldMatrixCalculationEnabled does not function correctly.

BranchWorldMatrixCalculationEnabled does not function properly. Plans call for it to be abolished in the next release.

[3D Graphics Development Environment] Results are undefined when using the input SP value for D0 or D1 for a light other than a spot light

Results are undefined when using the input SP value for D0 or D1 for a light other than a spot light

[3D Graphics Development Environment] A value other than a power of two cannot be specified in the alignment argument of GetMemorySize()

Execution fails on an ASSERT if a value other than a power of two is specified.

[2D Layout Development Environment] (Library) There is a limitation on the local conversion matrix.

If the rotation around the X, Y, and Z axes of the pane are all 0, the global SRT matrix is calculated directly to increase speed. The local SRT matrix is not updated for this reason.

[3D Graphics Development Environment] (SoundMaker) Playback of certain sequence sounds will crash the application

SoundMaker will crash when you try to preview a sequence on the computer that includes a sequence sound with the alloctrack command.

[3D Graphics Development Environment](SoundMaker) There are problems related to displaying search results

An exclamation point is always attached to instruments displayed in the Search Results window.

[3D Graphics Development Environment] (SoundMaker) There are problems when changing player names

Even if you rename a player and resolve broken links, the exclamation mark persists and conversion attempts result in an internal error. To recover from this, reopen the project in which the error occurs.

[3D Graphics Development Environment] (SoundMaker) There are problems related to copying cells

When you select Copy Cell in the Duration column or Front Bypass column, nothing gets copied. The Copy Cell menu in the Play column does not appear grayed-out.

[Sound Development Environment](SoundMaker) There is a bug related to unlinking banks.

A warning icon ("!") is not being displayed in the sequence sound list even if a bank that doesn't exist in the project is specified as a sequence sound.

[Sound Development Environment] (SoundPlayer) There is a bug where operations during HioSoundPlayer stream playback are not accepted.

There is a bug where subsequent operations are not accepted if an attempt is made to play a stream sound using HioSoundPlayer.

[Sound Development Environment] (SoundPlayer) There is a bug where sound cannot be played back.

There is a bug that causes failure to load data and inability to play sounds. It occurs under the condition described in (A) for banks and wave sounds when they are only registered to groups that meet the condition described in (B).

(A) Condition for banks and wave sounds:

(B) Condition for groups:

[Viewer] Animations are sometimes bound differently from CreativeStudio

Sometimes the animation bound differs from CreativeStudio when multiple animations are loaded for the same model. Also, there is currently no support for the binding of multiple animations to a single model, nor support for multiple Light animations.

[Viewer] Binding is not performed correctly when there is more than one animation bind target.

If there is more than one possible animation bind target of the same type (model, camera, or light, etc.) for a given animation, the animation may not be bound correctly and animation preview may not be possible.

[Viewer] Projection textures cannot be previewed properly if the camera number for the scene environment is 0.

Projection must be made using a camera other than camera 0 to preview a projection texture.

[Viewer] If file reload operations are performed in Effect mode, loop frames are also increased

There is some overlap between file reload operations and loop frame increase operations, causing a loop frame increase to also be performed.

[Viewer] When transferring multiple animations from NWCS, the values of one side of the animation are baked.

There is a bug where material animation values are baked during binary output by NWCS, sometimes resulting in behavior where baked values and other material animations are added together.

[Viewer] The display breaks if L4 or A4 format is displayed at the same time as a texture having another format

The display may break and Viewer may freeze if textures having L4 or A4 format are displayed at the same time as textures having another format. This bug can occur because, with Viewer, all textures are placed in the same VRAM location. For details, refer to the hardware documentation.

[MayaPlugin] Even if Always is set for Face Culling for material attributes, it is not reflected.

Always Culling (cull both faces) is not supported at runtime. It is handled as Front Face Culling (display back surface). Always Culling will be deprecated from Nintendo Ware 1.2.0.

[3dsMaxPlugin] Export terminates midway through batch export

Sometimes "system exception" is displayed in the middle of batch export and export terminates.

[3dsMaxPlugin] Bounding boxes are output slightly larger than optimum size.

In 3ds Max 2009 (32bit), the bounding box is sometimes exported in a size larger than the optimal size.

[3dsMaxPlugin] Tangent information is not output.

Tangent information is not exported when anisotropic reflection is used.

[3dsMaxPlugin] Even if Always is set for Face Culling for material attributes, it is not reflected.

Always (cull both faces) is not supported at runtime. It is handled as Front Face (show only back face). Always will be deprecated from Nintendo Ware 1.2.0.

[SoftimagePlugin] Tangent information is not output.

Tangent information is not exported when anisotropic reflection is used.

[SoftimagePlugin] Even if Always is set for Face Culling for material attributes, it is not reflected.

Always (cull both faces) is not supported at runtime. It is handled as Front Face (show only back face). Always will be deprecated from Nintendo Ware 1.2.0.

NintendoWare-related Information

Information about NintendoWare is located in the documents directory of the NintendoWare source tree. Read the following documents first.

Notes

Multithread Operation

The NintendoWare library is not essentially designed to be thread-safe (in other words, it is not intended to support multithreading). Consequently, if you call functions from various NintendoWare libraries from an interrupt handler or from different threads, NintendoWare may not function properly.

Image Data and Music Data in Samples

Copyrights for the image data and music data used in the demo and sample programs included in this package are the property of Nintendo. This data may only be used in the demo and sample programs of this package, and may not be used in any other programs.

Font Licenses

NintendoWare includes a font converter (FontConverter). FontConverter allows you to convert any font installed on a computer into a form usable by the Wii. However, to sell software that uses these fonts, you must have licenses for them. You need to obtain licenses for each game software title. FontConverter and NintendoWare do not include font licenses of any kind.

Use of JavaScript in the Manual

Part of the CreativeStudio manual uses JavaScript to improve readability. However, all information can be viewed even if JavaScript is disabled.

© 2009-2010 Nintendo Co., Ltd.
© 2009-2010 HAL Laboratory, Inc.
  
The contents of this document cannot be duplicated,
copied, reprinted, transferred, distributed or loaned in
whole or in part without the prior approval of Nintendo.

CONFIDENTIAL