fontcvtr_Manualfontcvtrfontcvtr-cic option to g2dcvtrfontcvtrconst to cell-animation function arguments-pcm option of g2dcvtr-afs option of g2dcvtrfontcvtrfontcvtrfontcvtrfontcvtr to output fonts used for vertical writing/holdingg2dcvtrg2dcvtrg2dcvtrg2dcvtr-cza option to g2dcvtrfontcvtr-iu option of fontcvtrcfontcvtrcfontcvtrfontcvtr letter order files-afs option to g2dcvtrGX_DMA_NOT_USE was setg2dcvtrg2dcvtrg2dcvtr-br/, -rtp, and -oua options to g2dcvtrg2dcvtrg2dcvtrg2dcvtrg2dcvtr-ncn option to g2dcvtrg2dcvtrfontcvtrBuildNENRg2dcvtrg2dcvtrg2dcvtrg2dcvtr failedg2dcvtr was not set correctly-o/ and -src options to BuildNENR-ai, -aisrt, and -ait options to g2dcvtrg2dcvtr for data that uses only translation animation-pcm option to g2dcvtr-br option to g2dcvtrg2dcvtrg2dcvtr-bg option to g2dcvtr-lbl option to g2dcvtrg2dcvtr's log messagesg2dcvtrBuildNENRRevised the error messages output from the fontcvtr.exe font converter tool.
fontcvtr_ManualRevised the error message descriptions.
Note: When using NDMA added with the TWL, memory operations cannot be conducted via DMA. Memory operations are instead conducted via the CPU.
NNS_G2dResetOamManagerBuffer
NNS_G2dBGLoadElementsEx
In TWL-System 2.0.0 RC, there was a bug rendering NFTR 1.1 vertically written and vertically held fonts in the correct direction. That has been fixed.
Fixed bug with output of false warnings when the following functions were used.
NNS_G2dCharCanvasMakeCell1D
NNS_G2dCharCanvasMakeCell2DRect
In conjunction with changes to compiler specifications, suppressed warnings when variable-length arrays of g2d_Font_data.h are used.
fontcvtrThe font width and font height can now be described for the BMP files input and output by fontcvtr. If a font width and height are not specified, the size is treated like before as the minimum rectangle in which all characters are superimposed. The font width is not used with the current version of the G2D library.
fontcvtrWhen a vertically written font was output to a BMP file, the baseline position would be skewed if an offset or a margin of greater than 0 was specified. That bug has been fixed.
fontcvtrWhen a vertically written font was output to a NITRO Font, if the linefeed width and the default width information was not specified, the values would be calculated with horizontal and vertical reversed. That bug has been fixed.
Changed the format of the Revision History in the PDF manuals listed below and made comprehensive corrections.
BuildNENR_Manual.pdf
fontcvtr_Manual.pdf
fontcvtrc_Manual.pdf
g2dcvtr_Manual.pdf
NNS_G2DRuntime-BinaryFormat.pdf
Changed the language of the Xerces-C++ license in the PDF manuals listed below.
fontcvtr_Manual.pdf
fontcvtrc_Manual.pdf
The NNS_G2dSetupSoftwareSpriteMaterial function standard material settings when using software sprite functionality has been added.
Specifications have been changed such that the standard camera matrix is set for the position coordinate matrix inside the NNS_G2dSetupSoftwareSpriteCamera function.
-cic option to g2dcvtrAdded the -cic option to check for presence of invalid character numbers.
fontcvtrWhen entering a Windows font, an option has been added to use the character width specified by the font for spaces and use the glyph width for all other characters ("Use glyph width (keep space)").
A bug that caused the NNS_G2dSetCellAnimationCurrentFrame function to malfunction has been fixed.
const to cell-animation function argumentsThe const keyword has been added to arguments (3, 8, and 9) used by the NNS_G2dInitCellAnimationVramTransfered function.
The following misspellings in the g2d_Softsprite.h library header file have been corrected.
Incorrect: NNS_G2D_SPRITEATTR_TEXTUE Correct: NNS_G2D_SPRITEATTR_TEXTURE The previous, incorrect expression remains as a separate name to maintain code compatibility.
The internal buffer that holds the OAM manager's admin area was not updated correctly, and therefore, it was not possible to properly check for illegal manager initialization. This bug has been fixed.
In the previous version, if for example you defined two OAM managers and specified an illegal initialization where the starting number of one of the OAM managers overlapped with the ending OAM number of the other OAM manager's admin area, overlap determination would not occur correctly, and initialization would succeed.
Fixed a bug in the NNS_G2dBGLoadScreenRect function that caused invalid writing of data outside of the transfer-destination region when that region was smaller than the transfer-source region.
-pcm option of g2dcvtr-pcm option has been fixed.
-afs option of g2dcvtr-afs option (for aligning output file size to 4-byte units) was not reflected correctly in file header size information has been fixed..
fontcvtrA bug where header information for output BMP files was not parsed correctly by some editors and viewers has been fixed.
Some static inline function declarations in the header file have been changed from static inline to inline. A reduction in code size can be expected due to this change.
The NNS_G2dGetOamBuffer function to get a pointer to the internal buffer of the OAM manager module has been added.
Behavior has been revised so that clipping results when the area being transferred by the NNS_G2dBGLoadScreenRect function exceeds the range of the transfer source/destination.
Updated for correct display of vertical writing and holding.
PortraitHW, PortraitSW, and DrawVertical, have been added to sample demos.
OBJ1D and MinimumCanvas sample demos. A warning is now issued or a correction carried out when an invalid size results for CharCanvas.
fontcvtrfontcvtrg2dcvtrA bug where illegal termination codes were not returned correctly for data when the number of display frames for all animation frames was zero has been fixed.
g2dcvtrA bug where the last frame was mistakenly displayed when animation frames whose number of display frames was zero was specified at the end of a multicell animation sequence has been fixed.
g2dcvtrSometimes animations were not updated correctly due to the update timing of multicell animations when zero display frames were specified for the last frame of a cell animation sequence inside a multicell animation. This bug has been fixed.
g2dcvtrA means of checking for illegal character numbers of objects in a cell has been implemented so that illegal data now causes conversion to halt.
-cza option to g2dcvtrThe -cza option for checking for animation frames for which zero has been specified as the number of displayed animation frames and treating such cases as illegal data has been added.
fontcvtr to output fonts used for vertical writing/holdingfontcvtrA bug where fonts were not output correctly when 2 was specified for Levels of Gray when using a Windows font for input has been fixed.
-iu option of fontcvtrcA bug where the command line option -iu was actually -iv when using the command line version (CUI version) has been fixed. Although -iu is the correct option, -iv can also be used for compatibility. (However, it is not given in the manual.)
fontcvtrcA bug where the width line color and internal cell color were being processed in the same way has been fixed.
fontcvtrA bug has been fixed where the message window would close when using the GUI even if conversion failed.
fontcvtr letter order filesWhen using a letter order file (ds_ipl.xlor) that outputs an IPL table, a bug has been fixed where characters having the same character code in the European and Japanese code sets would appear. Corresponding locations in the Japanese code set have been replaced with <null/>.
The NNS_G2dRestartCellAnimation function was added to restart animation playback from the beginning of an animation.
The NNS_G2dRestartMCAnimation function was added to restart multicell animation playback from the beginning of an animation.
The NNS_G2dStartMCCellAnimationAll function has been added to put cell animations made up of multicell instances in animation playback start mode.
-afs option to g2dcvtrAdded the -afs option for aligning the file size of output files to 4-byte multiples.
GX_DMA_NOT_USE was setA bug has been fixed where the G2d library would not work correctly when GX_DMA_NOT_USE was set using the GX_SetDefaultDMA function.
A bug has been fixed where screens whose vertical/horizontal dimensions were not a multiple of 32 characters could not be loaded correctly. The arguments of the NNS_G2dBGLoadScreenRect function were also changed in line with this.
g2dcvtrA bug has been fixed where the calculation of area information for cells that include an object for which double affine mode has been set was mistakenly output. Now the same area information as cells that use only standard objects is output.
g2dcvtrA bug has been fixed where transfer information was not calculated corrected by the process used to calculate VRAM transfer information as updated in version 1.2.2.
g2dcvtrThere was a bug where the cell boundary radius was not being calculated correctly. This has been fixed.
The character-data file formats NCCR and NCBR have been extended, and the character location information block has been added.
The NNS_G2dGetUnpackedCharacterPosInfo function has been added to access this data block.
NNS_G2dGetAnimSequenceIndex function has been added.
The following new functions have been added for the animation controller.
NNS_G2dGetAnimCtrlCurrentAnimSequence
NNS_G2dGetAnimCtrlCurrentElemIdxVal
The following new functions have been added for multicell animations.
NNS_G2dTraverseMCCellAnims
NNS_G2dTraverseMCNodes
The following functionality has been added to backgrounds.
A function was added for creating cells that display CharCanvas using the renderer.
Renderer_CharChange sample demo has been added. This demo switches between multiple images for the renderer. It also shows how to use the -br partial character output option.
UserExAttribute sample demo has been added. This demo uses user extended attributes.
MultiCell_UILayout sample demo has been added. This demo does user interface processing for game applications using multicells.
-br/, -rtp, and -oua options to g2dcvtr–br/ option has been added for the conversion process in which a rectangular area of the character file has been specified.
-rtp option has been added to remove transparent pixels from the boundary region when calculating boundary region information.
–oua option has been added to extract comment strings in extended comment fields that are added in NCE file version 1.04 as extended user attribute information. (For more information, see the g2dcvtr manual.)
The rendering of animation sequences that specified a zero display time for the leading animation would fail. This bug has been fixed.
A bug has been fixed where animation updating was not performed properly in cases for data that the multicell node attribute and NNS_G2D_MCANIM_PLAYMODE_CONTINUE were set.
Note: The fix for this bug has slightly increased the processing load to update multicell animations. Specifically, the average execution time of the NNS_G2dTickMCAnimation function has increased by 19 percent (from 57 µseconds to 68 µseconds) in the Renderer_PerfCheck sample. The increase in processing load depends on the data. The characteristics of an increased processing load are as follows.
NNS_G2D_MCANIM_PLAYMODE_CONTINUE has not been set.
A bug has been fixed where an assert fails if the transformation enable flag is not set for the object and the object is registered by the OAM manager with an affine reference number. (Operations were changed to continue processing without setting the affine number.)
When setting a registration function with the extended OAM manager using the NNS_G2dSetOamManExEntryFunctions function, an erroneous assert warning was output when the affine parameters were not used but NNSG2dOamExEntryFunctions.getAffineCapacity and NNSG2dOamExEntryFunctions.funcs.entryNewAffine were set to NULL. This bug has been fixed.
A bug has been fixed where cells were not rendered correctly when using object rendering without using affine transformation after rendering a cell with the renderer using software sprites that use affine transformation.
A bug in NNS_G2dBGSetup and NNS_G2dBGLoadElements has been fixed where the extended palette was loaded into the wrong slot with the sub-screen as the target.
A bug in NNS_G2dBGSetup that resulted in the wrong background mode when reading an affine-extended background into a BG3 that is an affine-extended background has been fixed.
A bug in NNS_G2dTextCanvasDrawTaggedText has been fixed where changes made using a tag process callback to TextCanvas were not reflected in the rendered drawing.
g2dcvtrA bug in specifying a greater transfer size than was needed during VRAM transfer information output has been fixed.
g2dcvtrA bug for a warning message output erroneously in the middle of valid conversion processing has been fixed. The warning displays information about an invalid type conversion that causes truncation when converting variable types within the converter. In previous versions, even valid type conversions displayed this warning. This bug has been fixed.
g2dcvtrA bug in converting screens that were not multiples of 256 in height properly has been fixed.
g2dcvtrA bug where rectangular area information was output one size larger has been fixed.
Functions to manipulate fonts and rendering of text characters and text strings have been added.
Assert statements that treat animation sequences having only animation frames with a display time of zero as invalid sequences have been added.
The object position correction processing that is used when the double affine flag is specified using the NNS_G2dMakeCellToOams function will be performed only when the object's double-size flag is actually changed.
Updated for object rendering when a double affine flag is set for OAM software sprite rendering.
Added the NNS_G2dSetMCAnimationCellAnimFrame function, which sets the playback animation frame for each cell animation in a multicell animation.
The object position correction process used when the double-size affine flag overwrite is specified using the NNS_G2dSetRendererAffineOverwriteMode function is performed only when the object’s double-size flag is actually changed.
The processing method used to render objects that have had their double-size affine flag enabled by NITRO-CHARACTER using 2D graphics engines was changed. In the new version, when objects with an enabled double-size affine flag are entered, based on the assumption that the tool has performed object position correction, object size * 1/2 is added to the object position calculation, and the correction value for double-size affine objects is cancelled before performing the process. (If you want to revert to the previous operation, comment out the ?NNS_G2D_ASSUME_DOUBLEAFFINE_OBJPOS_ADJUSTED definition in g2d_config.h.)
-ncn option to g2dcvtrAdded the –ncn option, which uses NCE file titles for the NCGR (NCBR) output filenames. The –ncn option is used when several 1D mapping format NCE files reference a single NCG file.
g2dcvtrA warning process was added to prevent the output of invalid data. (For animation sequences that do not contain any animation frames, and sequences that contain only animation frames having a display time of zero.)
fontcvtrA font converter (fontcvtr.exe) has been added to create font resources. For instructions on its use, see NitroSystem\docs\G2D\fontcvtr_Manual.pdf.
Cells with objects positioned outside of the range -128 to 127 were rendered incorrectly. This bug has been fixed. Objects in cells can be positioned from -256 to 255. You can revert to previous rendering functionality by defining NNS_G2D_LIMIT_CELL_X_128 in include/fmt/g2d_Cell_data.h and recompiling the library.
The direction of flat surfaces is reversed on square polygons in software sprites. As a result of this change, sprites display correctly even when the culling mode is set to GX_CULL_BACK.
A bug has been fixed where animation sequence rendering would fail when the lead animation frame was specified as having a display time of zero in the cell animation.
BuildNENRFixed bugs in BuildNENR.exe (mainly related to input path parsing).
The rendering order for standard OAMs and affine-converted OAMs has been standardized. In the past, affine-converted OAMs were rendering in the reverse order they were registered in. The same behavior as implemented in the past can be restored by defining NNS_G2D_OAMEX_USE_OLD_REINDEXOAMCHUNKLIST_ and rebuilding the library.
The NNSG2d_SetOamManExDrawOrderType function has been added for changing behavior related to object rendering order used by the extended OAM manager.
A sample using the extended OAM manager in combination with the renderer has been added.
A bug where the NNS_G2dSetMCAnimationSpeed and NNS_G2dResetMCCellAnimationAll functions would not work correctly depending on initialization conditions has been fixed. (The functions would not work correctly when initialized with the multicell instance type specified as NNS_G2D_MCTYPE_DONOT_SHARE_CALLANIM.)
A bug related to affine parameter sharing by the renderer module has been fixed.
A coding error in the ASSERT macro found in the g2d_SRTControl.h file has been fixed.
g2dcvtrA bug has been fixed where invalid converted binary was being output for 1D mapping mode data with object compression turned off.
Added the NNS_G2dCalcAnimSequenceTotalVideoFrames function, which calculates the total video frame length of the animation sequence data.
The NNS_G2dResetMCCellAnimationAll function has been added. Resets the animation frames for the cell animation that composes the multicell entity.
The function for initializing multicell animations has been changed. The sample demo that showed how to use the functions was also revised. Usage has been simplified, and depending on the characteristics of the multicell animation data, improved performance and memory efficiency can be anticipated (this is effective in cases where data references the same cell animation). The older function also remains.
g2dcvtrThe extended comment information in the label definition header file output with the -lbl option of g2dcvtr is now inserted as a C comment.
g2dcvtrDeleted functionality to create output files in C source code format.
Fixed a bug in the calculation method of the UV value used in software sprite rendering when a 1D mapping with a 256-color character was being used.
g2dcvtr failedFixed a bug where file conversion failed for files with related files in the link filename data that use absolute path names.
g2dcvtr was not set correctlyFixed a bug that caused the cell animation playback mode information to be set incorrectly when converting multicell data.
The NNS_G2dGetMCBankNumNodesRequired function was added.
Updated the content of the technical document and moved a section of the overview manual to API reference.
-o/ and -src options to BuildNENRThe following options were added to the BuildNENR.exe converter.
-o/ Output destination folder specification
-src Source file output specification
-ai, -aisrt, and -ait options to g2dcvtrAdded options (-ai, -aisrt, -ait) that specify the method for the output animation element in g2dcvtr.exe.
With the lower-priority OAM (drawn in the background), a bug caused the number of rendering times to be set to a lower number. That has been fixed.
When the NNS_G2dSetSpriteAttrEnable function was executed the second or later times, values were not updated properly. This bug has been fixed.
With functions like NNS_G2dLoadImage*, a bug that did not flash cache content before the DMA transfer has been fixed.
Separated part of the rendering process for the renderer from matrix stack management and parameter management, and made part of the rendering process into a separate renderer core module.
The renderer core module was created by separating from the renderer module only the essential parts necessary for render processing. It was created with the assumption that users want to substantially customize their process or speed up simple processes. The renderer module uses the renderer core module internally.
Six renderer module samples have been added.
The NNS_G2dGetCellAnimationCurrentCell function has been added.
A process has been added in cell (multicell) SRT animation for data using only translational animation. Previously, even when using only translational animation, scale and rotation was also configured for cell (multicell) animation. With this addition, unnecessary affine transformation settings are avoided.
The NNS_G2dDrawSprite*Fast functions that do not save the current matrix of the 3D graphics engine have been added. They work faster because push and pop operations are not performed on the matrix stack.
The NNS_G2dDrawOneOam3DDirect*Fast functions that do not save the current matrix of the 3D graphics engine have been added. They work faster because push and pop operations are not performed on the matrix stack.
Added functions to increase the efficiency of the rendering process by caching UV parameter calculation results (NNS_G2dSetOamSoftEmuSpriteParamCache and NNS_G2dDrawOneOam3DDirectUsingParamCacheFast). The usable parts are limited, but they operate about 50 percent faster than the normal NNS_G2dDrawOneOam3DDirect*Fast functions.
Added a process that writes the memory cache of the transfer source data region back to main memory before data transfer to VRAM with the NNS_G2dLoadPalette and NNS_G2dLoadPaletteEx functions.
Process efficiency has improved. Comparing with the multicell rendering process (see the Renderer_PerfCheck sample demo):
NNS_G2dOptimizeRenderer function has been eliminated.
NNS_G2dBeginRenderingEx function has been added to replace the function above.
NNS_G2dSetTrans function has been added.
Items were added that the renderer can specify in the parameter overwrite process performed for OAM (such as the NNS_G2dSetRendererOverwriteEnable/Disable functions).
g2dcvtr for data that uses only translation animationIn cell SRT animation, animation result types supporting data using only translational animation were added. Updates were also made for that output. With this extension, animation data capacity was reduced, and unnecessary affine transformation settings during execution were avoided.
Fixed bug in the NNS_G2dLoadPaletteExfunction where palette was not loaded correctly.
The DMA channels used by the G2D library are now the same ones used by the GX library.
To improve processing efficiency, changed some of the library functions to inline functions.
Updated for cell information that has rectangle information as cell-region information. Also, preexisting private functions for getting boundary sphere information have made public. (Such as the NNS_G2dGetCellBoundingRect function.)
The NNS_G2dDrawSprite* functions no longer internally emulate wrapping when an offscreen position is specified.
A function was added for loading palettes where only the part of the palette being used is loaded. (NNS_G2dLoadPaletteEx.) To use this functionality, you must use the converter's -pcm option to create compressed palette data.
Programmer-friendly functions for overwriting rendering objects parameters have been added. (Such as NNS_G2dSetRendererOverwriteEnable and NNS_G2dSetRendererOverwrite*.)
Rewriting object affine conversion mode when the renderer renders objects using the 2D graphics engine can now be controlled. (Using the NNS_G2dSetRendererAffineOverwriteMode function, for example.)
The argument type used by callbacks before and after the renderer draws objects has been changed.
-pcm option to g2dcvtrThe —pcm option was added. This option outputs compressed palette data that holds only the used palette numbers as data. Palettes can be partially loaded using the NNS_G2dLoadPaletteEx function to load compressed palette data.
Error messages are now output as standard errors. Also, the user can control the output of the converter's operation messages. With standard values the converter does not output operational messages.
v option is specified, operational messages of the converter are output to the standard output.
The converter's execution result is now returned as a return value. Zero is returned when execution succeeded. A nonzero value is returned when execution failed.
-br option to g2dcvtrThe -br option was added. This option outputs cell data that contains rectangular area information.
Fixed a bug that disabled functions (such as NNS_G2dSetSpriteCurrentPolygonID) used to set polygon IDs used while rendering software sprites.
Fixed a bug in which the loading destination address value was not reflected when using the NNS_G2dLoadPalette function to load 256-color extended palette data for use with the 2D graphics engine.
Fixed a bug in which cell data meeting both of the following conditions were not rendered properly.
g2dcvtrA bug resulted in corrupt export data if object compression was turned off when converting 256-color palettes and 1D mapping characters. This has been fixed.
Added functionality that displays backgrounds semi-automatically, using screen data information.
Changed the way in which double-size affine transformation mode is applied forcibly to an object that is registered using the NNS_G2dEntryOamManagerOamWithAffineIdx function. Only the affine parameter numbers are rewritten. The affine transformation mode is not changed. The same processing must be performed outside the manager. (When using the NNS_G2dMakeCellToOams function and the renderer, you do not need to be concerned with this. In the next release, we plan to release functions that control rewriting operations that are performed in the renderer's affine transformation mode.)
Removed the ability to set the object affine transformation mode (normal or double-size). Along with this change, the NNS_G2dSetOamManExDoubleAffineFlag and NNS_G2dGetOamManExDoubleAffineFlag functions were deleted. The same processing must be performed outside the manager. (When using the NNS_G2dMakeCellToOams function and the renderer, you do not need to be concerned with this.
Implemented processing that supports the switching of the active state of the render surface. This feature allows you to forcibly prohibit rendering on specific surfaces. The NNS_G2dSetRendererSurfaceActiveFlag and NNS_G2dGetRendererSurfaceActiveFlag accessor functions have been added.
g2dcvtrSupport for the conversion of background data has been added to g2dcvtr.
Added functionality to shift Z-values automatically and to render sprites when software sprite rendering is used. (NNS_G2dSetOamManagerSpriteZoffsetStep.)
Added functionality to shift Z-values automatically and to render sprites when software sprite rendering is used. (NNS_G2dSetOamManagerSpriteZoffsetStep.)
Examined the renderer setting status and implemented functionality to optimize the rendering process. (NNS_G2dOptimizeRenderer.)
Flip-rendering functionality has been added to the renderer. (NNS_G2dSetRendererFlipMode.)
Made it possible to register callback functions that are used before and after rendering a cell or an object.
Updated for SRT (scale, rotate, and translate) animation.
Note: Many of the NCE data that was created with previous versions of NITRO-CHARACTER contain animation frames that include an incorrect scale zero value. Such data cannot be rendered properly with the new runtime. Reconvert the data and replace scale zero, or save the data again with the latest version of NITRO-CHARACTER. (This applies to the multicell animations that is described below.)
Updated for SRT (scale, rotate, and translate) animation.
Implemented functionality that replaces scale values with a value of 1 if the scale value is specified as 0 for the SRT animation data.
Fixed a bug that did not reset cell animation playback status when multicells were switched. Now the multicell animations that use the cell animations in stop playback mode can be played back properly.
-bg option to g2dcvtrThe -bg option for outputting character (NCG) data used for backgrounds has been added. When using the –bg option, no NCE (cell definition) file is necessary during conversion.
-lbl option to g2dcvtrAdded –lbl option, which outputs the label name definition header file. The label name definition header file defines label text strings linked to animation sequences as aliases for label numbers.
g2dcvtr's log messagesThe converter log message was changed to output more data.
Fixed a bug that caused the animation frame of frame 0 to be set regardless of the frame number entered with the NNS_G2dSetAnimCtrlCurrentFrame function.
Bugs in the NNS_G2dSetMCAnimationCurrentFrame, NNS_G2dSetCellAnimationCurrentFrame, and NNS_G2dSetCellAnimationCurrentFrameNoReset functions, which use the NNS_G2dSetAnimCtrlCurrentFrame function, have also been fixed.
Fixed a bug that caused parameter parsing to fail with entered filenames that do not include a '\' or '/' in their file path.
Changed function names. Function names in past versions have been aliased and still work. Please use new functions for the projects. The following functions have changed.
--------------------------------------------------------------------------- Animation Old => New NNS_G2dGetCurrentElement NNS_G2dGetAnimCtrlCurrentElement NNS_G2dGetNextElement NNS_G2dGetAnimCtrlNextElement NNS_G2dGetNormalizedTime NNS_G2dGetAnimCtrlNormalizedTime NNS_G2dSetCallBackFunctor NNS_G2dSetAnimCtrlCallBackFunctor NNS_G2dSetCallBackFunctorAtAnimFrame NNS_G2dSetAnimCtrlCallBackFunctorAtAnimFrame NNS_G2dGetAnimSpeed NNS_G2dGetAnimCtrlSpeed NNS_G2dSetAnimSpeed NNS_G2dSetAnimCtrlSpeed NNS_G2dResetAnimationState NNS_G2dResetAnimCtrlState NNS_G2dInitCallBackFunctor NNS_G2dInitAnimCallBackFunctor NNS_G2dBindAnimController NNS_G2dBindAnimCtrl NNS_G2dGetAnimControllerType NNS_G2dGetAnimCtrlType NNS_G2dInitAnimController NNS_G2dInitAnimCtrl NNS_G2dIsAnimControllerActive NNS_G2dIsAnimCtrlActive NNS_G2dStartAnimController NNS_G2dStartAnimCtrl NNS_G2dStopAnimController NNS_G2dStopAnimCtrl NNS_G2dTickAnimController NNS_G2dTickAnimCtrl NNS_G2dInitAnimControllerCallBackFunctor NNS_G2dInitAnimCtrlCallBackFunctor --------------------------------------------------------------------------- Cell Animations Old => New NNS_G2dSetCellAnimSpeed NNS_G2dSetCellAnimationSpeed NNS_G2dGetCellAnimAnimCtrl NNS_G2dGetCellAnimationAnimCtrl NNS_G2dInitializeCellAnimation NNS_G2dInitCellAnimation NNS_G2dInitializeCellAnimationVramTransfered NNS_G2dInitCellAnimationVramTransfered --------------------------------------------------------------------------- Multicell Animations Old => New NNS_G2dInitializeMCAnimation NNS_G2dInitMCAnimation NNS_G2dInitializeMCInstance NNS_G2dInitMCInstance NNS_G2dSetMCAnimSpeed NNS_G2dSetMCAnimationSpeed --------------------------------------------------------------------------- Graphic Image Loading Old => New NNS_G2dInitializeImageProxy NNS_G2dInitImageProxy NNS_G2dInitializeImagePaletteProxy NNS_G2dInitImagePaletteProxy --------------------------------------------------------------------------- Entities Old => New NNS_G2dInitializeEntity NNS_G2dInitEntity NNS_G2dSetCurrentAnimation NNS_G2dSetEntityCurrentAnimation ---------------------------------------------------------------------------- OAM Manager Old => New NNS_G2dInitializeOamManager NNS_G2dInitOamManagerModule NNS_G2dEntryNewOam NNS_G2dEntryOamManagerOam NNS_G2dEntryNewOamWithAffineIdx NNS_G2dEntryOamManagerOamWithAffineIdx NNS_G2dEntryNewOamAffine NNS_G2dEntryOamManagerAffine NNS_G2dEntryOamAffine NNS_G2dSetOamManagerAffine NNS_G2dApplyToHW NNS_G2dApplyOamManagerToHW NNS_G2dApplyToHWSoftEmu NNS_G2dApplyOamManagerToHWSprite NNS_G2dResetBuffer NNS_G2dResetOamManagerBuffer NNS_G2dApplyToHWAndReset NNS_G2dApplyAndResetOamManagerBuffer NNS_G2dGetOamAttrCapacity NNS_G2dGetOamManagerOamCapacity NNS_G2dGetOamAffineCapacity NNS_G2dGetOamManagerAffineCapacity --------------------------------------------------------------------------- Extended OAM Manager Old => New NNS_G2dEntryNewOamEx NNS_G2dEntryOamManExOam NNS_G2dEntryNewOamWithAffineIdxEx NNS_G2dEntryOamManExOamWithAffineIdx NNS_G2dEntryNewAffineParamsEx NNS_G2dEntryOamManExAffine NNS_G2dApplyToBaseModuleEx NNS_G2dApplyOamManExToBaseModule NNS_G2dResetOamInstanceEx NNS_G2dResetOamManExBuffer NNS_G2dGetNewOamInstanceEx NNS_G2dGetOamManExInstance NNS_G2dSetOamEntryFunctionsEx NNS_G2dSetOamManExEntryFunctions ---------------------------------------------------------------------------- Renderer Old => New NNS_G2dAddTargetSurface NNS_G2dAddRendererTargetSurface NNS_G2dSetCurrentImageProxy NNS_G2dSetRendererImageProxy ----------------------------------------------------------------------------- Software Sprites Old => New NNS_G2dSetCurrentPolygonID NNS_G2dSetSpriteCurrentPolygonID NNS_G2dSetDefaultAttr NNS_G2dSetSpriteDefaultAttr NNS_G2dGetDefaultAttr NNS_G2dGetSpriteDefaultAttr
Improved debug string output for the color palette.
NNS_G2dGetNewOamManagerInstance function, a new function that generates the OAM Manager entity.
NNS_G2dGetNewOamManagerInstanceAsFastTransferMode function, which generates the OAM Manager entity and can transfer the internal buffer at high speed using DMA.
Updated for when the OAM Manager entity does not control the affine parameter.
Changed the parameters of the 3D graphics engine camera settings for software sprites. Fixed a bug resulting in disparities in the image output between 2D and 3D rendering.
The name of the converter program has been changed from G2DConv.exe to g2dcvtr.exe. Functionality was also extended. (For more information, see the converter manual.
Fixed a bug where affine parameters outside the control range were incorrectly reset by the NNS_G2dResetBuffer function (internal buffer reset process).
Fixed a bug resulting in incorrect rendering from outside the double affine mode when the software sprite rendering functions are used.
Updated for multicell use.
Changed the version of every file format to 1.0. (Old data cannot be used. Please use the new converter to reconvert.)
A CellVRAM transfer mode manager module has been added. (Used in VRAM transfer animation.)
Rendering using OAM software sprites separated from the OAM Manager. OAM software sprite rendering module added.
Cell animations now support VRAM transfer animation.
NNS_G2dGetNumNodesRequired function to NNS_G2dGetMCNumNodesRequired.
MultiCellDataToMCInstance function to NNS_G2dSetMCDataToMCInstance.
Separated rendering with OAM software sprites into its own module. (The behavior of the NNS_G2dDrawOneOam3DDirect function was changed accordingly. For more information, see the function reference.)
g2dcvtrThe extended OAM manager and extended OAM manager 2 have been combined. Named the extended OAM manager, with functions to use the extended OAM manager 2 format.
NNSG2dCellData.cellType has been renamed NNSG2dCellData.cellAttr.
The function group that outputs run-time library debug data is defined as dummy inline functions in the FINALROM build.
Converted the accessor group functions that were defined in the header to inline functions.
NNS_G2dSetOamManExDoubleAffineFlag.)
NNS_G2dSetOamEntryFunctionsEx function must be executed.
NNS_G2dInitRenderSurface).
Changed the format of the cell definition data NCER file. Data from previous versions cannot be used. (Re-conversion is necessary.)
Fixed a bug that caused improper rendering when registering OAM without using affine parameters.
Fixed a bug that prevented proper rendering when object position was y <= -64 in the cell's local coordinate system.
Added converter support for specifications to allow multiple objects in a single cell to share the character region during 1D mapping.
In the NNS_G2dPrintAnimContents function, the display of debug animation data that was created using SRT (scale, rotate, and translate) animation failed. This bug has been fixed.
NNS_G2D_OAMTYPE_SOFTWAREEMULATION was specified as a manager type and the OAM management region start index was specified as a value other than 0.
NNS_G2D_SPRITEATTR_UV attribute was not used.
NNS_G2dGetUnpackedXXX function group to simplify the description of user code.
NNS_G2dIsBinFileValid function to verify file extensions and versions.
NNS_G2dStartAnimController, NNS_G2dStopAnimController, and so on)
NNS_G2dSetAnimCtrlPlayModeOverridden and so on).
NNS_G2dSetCallBackFunctorAtSpecifiedFrame function as NNS_G2dSetCallBackFunctorAtAnimFrame.
Changed the arguments for the NNS_G2dApplyToHWSoftEmu and NNS_G2dDrawOneOam3DDirect functions.
Changed the arguments of the NNS_G2dGetNewOamInstanceEx2 functions.
Added a convenient function group to simplify the loading of data to an image proxy.
NNS_G2dDrawXXX internal data structure has been hidden.
NNS_G2dPopMtx function.
NNSI_G2D_DEBUG is defined.
Changed the file format and converter. Reconvert previously created files.
BuildNENRProvided the BuildNENR.exe tool to create entity-defined binary files.
CONFIDENTIAL