NSUNI/NSLAR Library a250670
Loading...
Searching...
No Matches
nnl Namespace Reference

Namespaces

namespace  action
 Contains structures and functions for working with game actions.
namespace  adpcm
 Contains functions to encode and decode ADPCM audio buffers.
namespace  animation
 Contains functions and structures for working with in-game skeletal animations.
namespace  asset
 Provides structures and functions to manage containers of interrelated asset parts.
namespace  colbox
 Provides structures and functions for working with collision boxes of entities.
namespace  collection
 Provides structures and functions to manage containers of distinct but related assets.
namespace  collision
 Contains structures and functions for working with static collisions.
namespace  dig
 Provides structures and functions to manage primary game archives.
namespace  dig_entry
 Provides structures and functions to manage entries of a dig archive.
namespace  fog
 Contains functions and structures for working with fog configs used by NSLAR.
namespace  format
 Contains the enumeration of various file formats found in the games and functions to detect them.
namespace  lit
 Contains structures and functions for working with light source configs.
namespace  md5list
 Provides structures and functions to manage .md5 checksum files storing hashes for dig archive entries.
namespace  minimap
 Contains functions and structures for working with minimap configs.
namespace  model
 Contains structures and functions for working with in-game 3D models.
namespace  phd
 Contains a few functions and structures for working with PHD files from PHD/PBD sound banks, a proprietary format developed by Sony Computer Entertainment.
namespace  posd
 Contains functions and structures for working with spawn position configs.
namespace  render
 Contains functions for working with render configs used by NSUNI.
namespace  shadow_collision
 Contains structures and functions for working with shadow "collisions" - geometry onto which fake planar or blob shadows are cast.
namespace  text
 Contains structures and functions for working with in-game text archives.
namespace  texture
 Contains structures and functions for working with in-game textures.
namespace  ui
 Contains structures and functions for working with in-game ui configs.
namespace  vertexde
 Contains functions that facilitate conversion of vertex data.
namespace  visanimation
 Contains functions and structures for working with "sub" animations that control the visibility of mesh groups during the playback of main SRT animations.

Classes

class  BufferRW
 Reader/Writer implementation that writes to an internal growable buffer. More...
class  BufferSpan
 Reader/Writer implementation for mutable memory buffers. More...
class  BufferView
 Reader implementation for read-only memory buffers. More...
class  Exception
 Base exception class for the library specific exceptions. More...
class  FileReader
 Reader implementation for reading from a file. More...
class  FileRW
 Reader/Writer implementation for file io operations. More...
class  IOError
 Exception thrown for I/O like operations. More...
struct  Mat4
 4x4 matrix template with packed storage More...
class  NarrowError
 Exception thrown for narrowing conversion errors. More...
class  ParseError
 Exception thrown for parsing errors. More...
class  PreconditionError
 Exception thrown when a contract precondition is violated. More...
class  RangeError
 Exception thrown for out-of-range errors. More...
class  Reader
 Abstract class for reading data. More...
class  RuntimeError
 Exception thrown for generic runtime errors. More...
class  RWBase
 Base interface for data reading/writing classes. More...
struct  SAnimation
 Represents a skeletal animation. More...
struct  SAsset3D
 Represents a 3D asset composed of various components. More...
struct  SAttachment
 Represents a node attached to a bone. More...
struct  SAudio
 Represents a simple audio asset. More...
struct  SBone
 Represents a bone/joint in a skeletal hierarchy of a 3D model. More...
struct  SBoneChannel
 Represents the animation tracks for a single bone. More...
struct  SKeyFrame
 Represents a single keyframe in an animation. More...
struct  SLight
 Represents a light source in a 3D scene. More...
struct  SMaterial
 Represents a simple material with various properties for 3D rendering. More...
struct  SMesh
 Represents a simple mesh. More...
struct  SModel
 Represents a simple model. More...
struct  SPixel
 Represents a pixel with red, green, blue, and alpha color channels. More...
struct  SPosition
 Represents an empty node with a transform. More...
struct  SSkeleton
 Represents the skeleton of a 3D model. More...
struct  STexture
 Represents a simple texture. More...
struct  STriangle
 Represents a triangle defined by three vertices. More...
struct  SUVAnimation
 Represents a texture coordinate animation. More...
struct  SUVChannel
 A single animation track for UV coordinates. More...
class  SValue
 A class representing JSON-like values (null, bool, numbers, strings, arrays, or objects) More...
struct  SVertex
 Represents a simple vertex with a fixed set of attributes. More...
struct  SVisibilityAnimation
 Represents a visibility animation of mesh groups. More...
struct  Vec2
 2D vector template with packed storage More...
struct  Vec3
 3D vector template with packed storage More...
struct  Vec4
 4D vector template with packed storage More...
class  Writer
 Abstract class for writing data. More...

Typedefs

using u64 = std::uint64_t
 64-bit unsigned integer
using i64 = std::int64_t
 64-bit signed integer
using f32 = float
 32-bit floating point
using u32 = std::uint32_t
 32-bit unsigned integer
using i32 = std::int32_t
 32-bit signed integer
using u16 = std::uint16_t
 16-bit unsigned integer
using i16 = std::int16_t
 16-bit signed integer
using u8 = std::uint8_t
 8-bit unsigned integer
using i8 = std::int8_t
 8-bit signed integer
using Buffer = std::vector<u8>
 A type alias for std::vector<u8> that denotes a raw, contiguous memory region that may be interpreted in multiple ways.
using LogFun = void (*)(std::string_view msg, LogLevel log_level)
 Type definition for a logging function.
using SVisibilityChannel = std::vector<SKeyFrame<bool>>
 A single animation track for visibility of a mesh group.

Enumerations

enum class  LogLevel { LogLevel::kError , LogLevel::kWarn }
 Enum class representing log levels. More...
enum class  SInterpolationMode
 Enumeration of interpolation modes for animations. More...
enum class  SBlendMode : u8 {
  SBlendMode::kOpaque = 0b00000 , SBlendMode::kAlpha = 0b00001 , SBlendMode::kClip = 0b00010 , SBlendMode::kAdd = 0b00100 ,
  SBlendMode::kSub = 0b01000
}
 Enumeration of blending modes for materials. More...
enum class  STextureProjection { STextureProjection::kUV = 0 , STextureProjection::kMatrix = 1 , STextureProjection::kEnvironment = 2 }
 Enumeration of projection modes for textures. More...
enum class  STextureFilter {
  STextureFilter::kNearest = 0 , STextureFilter::kLinear = 1 , STextureFilter::kNearestMipmapNearest = 4 , STextureFilter::kLinearMipmapNearest = 5 ,
  STextureFilter::kNearestMipmapLinear = 6 , STextureFilter::kLinearMipmapLinear = 7
}
 Specifies the filtering methods used for texture sampling. More...

Functions

void SetGlobalLogCB (LogFun callback) noexcept
 Sets the logging callback function.
void SetGlobalPanicCB (PanicFun callback) noexcept
 Sets the global callback for fatal library errors.

Variables

constexpr std::size_t kMaxNumBoneWeight = 8
 Maximum number of bone weights and indices in SVertex.

Detailed Description

Copyrighted according to the LICENSE file. SPDX-License-Identifier: MIT Static vector, a dynamic sized array storage that uses no automatic heap memory allocation.

The interface follows that of std::vector as permitted by design constraints. Reference used is the C++17 draft standard [N4659] and [cppref] http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2017/n4659.pdf https://en.cppreference.com/w/cpp/container/vector