OdysseyDecomp icon indicating copy to clipboard operation
OdysseyDecomp copied to clipboard

Start decompiling `nn::nex`

Open GRAnimated opened this issue 3 months ago β€’ 1 comments

This PR adds in functions currently decompiled in nn::nex, and all NEX headers that were removed from open-ead/nnheaders.

NOTE: open-ead/NintendoSDK-NEX does not currently keep track of which functions are matching/mismatching. Once other decomps (BOTW, Minecraft) link it in, some matches may be different between them so if it should track them, I'm not sure if we should setup a system to define mismatches that only happen in one game vs. another.


This change is Reviewable

GRAnimated avatar Sep 30 '25 20:09 GRAnimated

Report for 1.0 (5dd0ba0 - 53523c8)

πŸ“ˆ Matched code: 9.28% (+0.05%, +6012 bytes)

βœ… 216 new matches
Unit Function Bytes Before After
Util/YoshiUtil nn::nex::StorageUnit::CopyData(nn::nex::StorageUnit const*, nn::nex::StorageUnit*) +224 0.00% 100.00%
Util/YoshiUtil nn::nex::StorageUnit::AppendData(nn::nex::StorageUnit const*, nn::nex::StorageUnit*) +204 0.00% 100.00%
Util/YoshiUtil nn::nex::Log::PrepareOutput(char*, unsigned int, void*) +188 0.00% 100.00%
Util/YoshiUtil nn::nex::SystemError::GetErrorString(unsigned int, char*, unsigned int) +164 0.00% 100.00%
Util/YoshiUtil nn::nex::Variant::operator=(nn::nex::Variant&&) +148 0.00% 100.00%
Util/YoshiUtil nn::nex::SystemError::TraceLast(unsigned long) +128 0.00% 100.00%
Util/YoshiUtil nn::nex::SystemError::Trace(unsigned long) +100 0.00% 100.00%
Util/YoshiUtil nn::nex::Platform::CreateInstance() +96 0.00% 100.00%
Util/YoshiUtil nn::nex::InetAddress::GetAddress(char*, unsigned long) const +96 0.00% 100.00%
Util/YoshiUtil nn::nex::OutputFormat::AppendToString(char*, char const*, unsigned int) +92 0.00% 100.00%
Util/YoshiUtil nn::nex::OutputFormat::PreparePrefix(char*, unsigned int, char const*, ...) +92 0.00% 100.00%
Util/YoshiUtil nn::nex::InterfaceInfo::GetAddress(char*, unsigned int) +88 0.00% 100.00%
Util/YoshiUtil nn::nex::InterfaceInfo::GetBroadcastAddress(char*, unsigned int) +88 0.00% 100.00%
Util/YoshiUtil nn::nex::InterfaceInfo::GetMask(char*, unsigned int) +88 0.00% 100.00%
Util/YoshiUtil nn::nex::OutputFormat::StartPrefixes(char*, unsigned int) +84 0.00% 100.00%
Util/YoshiUtil nn::nex::Platform::HostToNetwork(unsigned long const*, unsigned char*) +84 0.00% 100.00%
Util/YoshiUtil nn::nex::InterfaceInfo::Addr2Str(unsigned int, char*, unsigned int) +84 0.00% 100.00%
Util/YoshiUtil nn::nex::Platform::WarnObsoleteMethod(char const*, char const*) +76 0.00% 100.00%
Util/YoshiUtil nn::nex::SystemError::SignalError(char const*, unsigned int, unsigned int, unsigned int) +72 0.00% 100.00%
Util/YoshiUtil nn::nex::Platform::NetworkToHost(unsigned char const*, unsigned long*) +72 0.00% 100.00%
Util/YoshiUtil nn::nex::SystemError::ClearLast() +72 0.00% 100.00%
Util/YoshiUtil nn::nex::InterfaceInfo::GetName(char*, unsigned int) +72 0.00% 100.00%
Util/YoshiUtil nn::nex::RootObject::operator new(unsigned long) +68 0.00% 100.00%
Util/YoshiUtil nn::nex::MemoryManager::Allocate(unsigned long) +68 0.00% 100.00%
Util/YoshiUtil nn::nex::RootObject::operator new(unsigned long, char const*, unsigned int) +68 0.00% 100.00%
Util/YoshiUtil nn::nex::RootObject::operator new[](unsigned long) +68 0.00% 100.00%
Util/YoshiUtil nn::nex::RootObject::operator new[](unsigned long, char const*, unsigned int) +68 0.00% 100.00%
Util/YoshiUtil nn::nex::InetAddress::GetPortNumber(char*, unsigned int) const +68 0.00% 100.00%
Util/YoshiUtil nn::nex::Log::SetOutputFormat(nn::nex::OutputFormat*) +56 0.00% 100.00%
Util/YoshiUtil nn::nex::Log::SetLogFilter(nn::nex::LogFilter*) +56 0.00% 100.00%

...and 186 more new matches

πŸ“ˆ 62 improvements in unmatched functions
Unit Function Bytes Before After
Util/YoshiUtil nn::nex::Log::OutputImpl(char const*, std::__va_list, void*) +94 0.00% 25.00%
Util/YoshiUtil nn::nex::InterfaceInfo::Trace(unsigned long) +77 0.00% 25.00%
Util/YoshiUtil nn::nex::Log::Log() +69 0.00% 25.00%
Util/YoshiUtil nn::nex::RootObject::operator new(unsigned long, nn::nex::RootObject::TargetPool) +66 0.00% 25.00%
Util/YoshiUtil nn::nex::RootObject::operator new(unsigned long, nn::nex::RootObject::TargetPool, char const*, unsigned int) +66 0.00% 25.00%
Util/YoshiUtil nn::nex::Configuration::~Configuration() +66 0.00% 25.00%
Util/YoshiUtil nn::nex::Platform::GetRealRandomNumber(float) +65 0.00% 25.00%
Util/YoshiUtil nn::nex::String::String(char const*) +63 0.00% 25.00%
Util/YoshiUtil nn::nex::Configuration::~Configuration() +62 0.00% 25.00%
Util/YoshiUtil nn::nex::InetAddress::ToStr(char*) const +61 0.00% 25.00%
Util/YoshiUtil nn::nex::MemoryManager::MemoryManager(char const*) +60 0.00% 25.00%
Util/YoshiUtil nn::nex::Platform::GetRandomNumber(unsigned int) +54 0.00% 25.00%
Util/YoshiUtil nn::nex::SystemError::EraseErrorElements() +51 0.00% 75.00%
Util/YoshiUtil nn::nex::SystemError::EraseErrorElements(unsigned long) +48 0.00% 75.00%
Util/YoshiUtil nn::nex::ConsoleIO::Print(char const*, ...) +47 0.00% 25.00%
Util/YoshiUtil nn::nex::InterfaceInfo::GetFlags(char*, unsigned int) +42 0.00% 25.00%
Util/YoshiUtil nn::nex::SystemError::EraseAllErrorElements() +39 0.00% 75.00%
Util/YoshiUtil nn::nex::Log::Output(char const*, ...) +38 0.00% 25.00%
Util/YoshiUtil nn::nex::Log::OutputString(char const*, ...) +38 0.00% 25.00%
Util/YoshiUtil nn::nex::String::CopyString(char*, unsigned long) const +35 0.00% 25.00%
Util/YoshiUtil nn::nex::UtilitySubsystem::UtilitySubsystem() +34 0.00% 25.00%
Util/YoshiUtil nn::nex::Log::~Log() +33 0.00% 25.00%
Util/YoshiUtil nn::nex::InstantiationContext::InstantiationContext(nn::nex::InstanceControl*, unsigned int) +33 0.00% 25.00%
Util/YoshiUtil nn::nex::ConsoleIO::Banner(char const*) +31 0.00% 25.00%
Util/YoshiUtil nn::nex::InetAddress::IsLocalHost() const +31 0.00% 25.00%
Util/YoshiUtil nn::nex::Platform::SetRandomNumberSeed(unsigned int) +30 0.00% 25.00%
Util/YoshiUtil nn::nex::OutputFormat::OutputFormat() +29 0.00% 25.00%
Util/YoshiUtil nn::nex::Log::~Log() +28 0.00% 25.00%
Util/YoshiUtil nn::nex::InetAddress::InetAddress(char const*, unsigned short) +27 0.00% 25.00%
Util/YoshiUtil nn::nex::InetAddress::InetAddress(unsigned int, unsigned short) +27 0.00% 25.00%

...and 32 more improvements in unmatched functions

decomp-dev[bot] avatar Sep 30 '25 20:09 decomp-dev[bot]