Difference between revisions of "Splatoon 2"

From Nintendo Switch Brew
Jump to navigation Jump to search
 
(5 intermediate revisions by the same user not shown)
Line 1: Line 1:
 +
=Notes=
 +
Voice chat via SDK PiaChat is supported, but it's only enabled when <code>Cmn::Def::getRomType()</code> returns value 0-2 or 8-9 (latter range was added at some point post-3.1.0) and <code>Lp::Utl::Matching::isLanMode()</code> must return true.
 +
 
=Versions=
 
=Versions=
The below documents changes for USA-region updates. Any referenced codebin symbols are from an old version.
+
The below documents changes for USA-region updates. Any referenced codebin symbols are from 3.1.0.
 +
 
 +
==1.2.0==
 +
ExeFs:
 +
* main: updated
 +
* [[NPDM]]: usual update
 +
* rtld / sdk: updated
 +
 
 +
RomFs: {...}
 +
 
 +
The Program-content [[NCA]] KeyGeneration was updated to the revision for [[3.0.1]] (was [[3.0.0]] previously), the revision in the RightsId was also updated.
 +
 
 +
The NintendoSDK*/NintendoWare* versions were updated from v3.4.0 to v3.4.1.
 +
 
 +
{...}
 +
 
 +
==2.0.0==
 +
ExeFs:
 +
* main: updated
 +
* [[NPDM]]: usual update
 +
 
 +
RomFs: {...}
 +
 
 +
SDK Pia* was updated from v5.3.8 to v5.6.2. NEX* was updated from v4.1.8 to v4.1.9.
 +
 
 +
{...}
 +
 
 +
==2.1.0==
 +
ExeFs:
 +
* main: updated
 +
* [[NPDM]]: usual update
 +
 
 +
RomFs: {...}
 +
 
 +
SDK Pia* was updated from v5.6.2 to v5.6.3.
 +
 
 +
{...}
 +
 
 +
==2.3.0==
 +
ExeFs:
 +
* main: updated
 +
* [[NPDM]]: usual update
 +
 
 +
RomFs: {...}
 +
 
 +
SDK Pia* was updated from v5.6.3 to v5.9.0. NEX* was updated from v4.1.9 to v4.3.1.
 +
 
 +
{...}
 +
 
 +
==2.3.3==
 +
ExeFs:
 +
* main: updated
 +
* [[NPDM]]: usual update
 +
 
 +
RomFs: {...}
 +
 
 +
SDK Pia* was updated from v5.9.0 to v5.9.1.
 +
 
 +
{...}
 +
 
 +
==3.0.0==
 +
ExeFs:
 +
* main: updated
 +
* [[NPDM]]: usual update
 +
 
 +
RomFs: {...}
 +
 
 +
SDK NEX* was updated from v4.3.1 to v4.3.3.
 +
 
 +
{...}
 +
 
 +
==3.2.0==
 +
ExeFs:
 +
* main: updated
 +
* [[NPDM]]: usual update
 +
 
 +
RomFs: {...}
 +
 
 +
Symbols were stripped from the main-codebin - the last version with full codebin symbols was 3.1.0.
 +
 
 +
SDK NEX* was updated from v4.3.3 to v4.3.5.
 +
 
 +
{...}
 +
 
 +
==4.5.0==
 +
ExeFs:
 +
* main: updated
 +
* [[NPDM]]: Usual update, and also: The demo ApplicationId in FsAccessControl for read-only savedata-access was added for 01006BB00D45A000.
 +
 
 +
RomFs: {...}
 +
 
 +
SDK NEX* was updated from v4.3.5 to v4.3.11.
 +
 
 +
{...}
 +
 
 +
==5.2.0==
 +
ExeFs:
 +
* main: updated
 +
* [[NPDM]]: Usual update, and also: the demo ApplicationId in FsAccessControl for read-only savedata-access was changed from 01006BB00D45A000 to 01002120116C4000.
 +
 
 +
RomFs: {...}
 +
 
 +
SDK Pia* was updated from v5.9.1 to [[Switch_System_Flaws#Pia|v5.9.3]].
 +
 
 +
{...}
  
 
==5.5.1==
 
==5.5.1==
Line 12: Line 119:
 
* A bunch of funcs had {clamp to max value} added:
 
* A bunch of funcs had {clamp to max value} added:
 
** This is done with <code>enl::ContentTransporterCommon<enl::SystemInformation>::readyReceiveStream()</code> and <code>enl::ContentTransporterCommon<enl::SystemRequestInfo>::readyReceiveStream()</code>. These funcs call <code>sead::ReadStream::readMemBlock</code>, with the returned value now being clamped to a max value.
 
** This is done with <code>enl::ContentTransporterCommon<enl::SystemInformation>::readyReceiveStream()</code> and <code>enl::ContentTransporterCommon<enl::SystemRequestInfo>::readyReceiveStream()</code>. These funcs call <code>sead::ReadStream::readMemBlock</code>, with the returned value now being clamped to a max value.
** <nowiki>enl::PiaTransportManager::receiveFromLib()</nowiki>: Now clamps the output size returned by <code>nn::pia::transport::UnreliableProtocol::Receive()</code> against the input size which was passed to Receive(), instead of using it directly.
+
** <code>enl::PiaTransportManager::receiveFromLib()</code>: Now clamps the output size returned by <code>nn::pia::transport::UnreliableProtocol::Receive()</code> against the input size which was passed to Receive(), instead of using it directly.
 
** Two sets of two deconstructors now have value clamping: <code><enl::WriteStream::~WriteStream()></code> and <code><enl::RamWriteStream::~RamWriteStream()></code>.
 
** Two sets of two deconstructors now have value clamping: <code><enl::WriteStream::~WriteStream()></code> and <code><enl::RamWriteStream::~RamWriteStream()></code>.
 
* <code>enl::TransportManager::updateReceiveBuffer_()</code>:
 
* <code>enl::TransportManager::updateReceiveBuffer_()</code>:

Latest revision as of 18:55, 18 November 2022

Notes

Voice chat via SDK PiaChat is supported, but it's only enabled when Cmn::Def::getRomType() returns value 0-2 or 8-9 (latter range was added at some point post-3.1.0) and Lp::Utl::Matching::isLanMode() must return true.

Versions

The below documents changes for USA-region updates. Any referenced codebin symbols are from 3.1.0.

1.2.0

ExeFs:

  • main: updated
  • NPDM: usual update
  • rtld / sdk: updated

RomFs: {...}

The Program-content NCA KeyGeneration was updated to the revision for 3.0.1 (was 3.0.0 previously), the revision in the RightsId was also updated.

The NintendoSDK*/NintendoWare* versions were updated from v3.4.0 to v3.4.1.

{...}

2.0.0

ExeFs:

  • main: updated
  • NPDM: usual update

RomFs: {...}

SDK Pia* was updated from v5.3.8 to v5.6.2. NEX* was updated from v4.1.8 to v4.1.9.

{...}

2.1.0

ExeFs:

  • main: updated
  • NPDM: usual update

RomFs: {...}

SDK Pia* was updated from v5.6.2 to v5.6.3.

{...}

2.3.0

ExeFs:

  • main: updated
  • NPDM: usual update

RomFs: {...}

SDK Pia* was updated from v5.6.3 to v5.9.0. NEX* was updated from v4.1.9 to v4.3.1.

{...}

2.3.3

ExeFs:

  • main: updated
  • NPDM: usual update

RomFs: {...}

SDK Pia* was updated from v5.9.0 to v5.9.1.

{...}

3.0.0

ExeFs:

  • main: updated
  • NPDM: usual update

RomFs: {...}

SDK NEX* was updated from v4.3.1 to v4.3.3.

{...}

3.2.0

ExeFs:

  • main: updated
  • NPDM: usual update

RomFs: {...}

Symbols were stripped from the main-codebin - the last version with full codebin symbols was 3.1.0.

SDK NEX* was updated from v4.3.3 to v4.3.5.

{...}

4.5.0

ExeFs:

  • main: updated
  • NPDM: Usual update, and also: The demo ApplicationId in FsAccessControl for read-only savedata-access was added for 01006BB00D45A000.

RomFs: {...}

SDK NEX* was updated from v4.3.5 to v4.3.11.

{...}

5.2.0

ExeFs:

  • main: updated
  • NPDM: Usual update, and also: the demo ApplicationId in FsAccessControl for read-only savedata-access was changed from 01006BB00D45A000 to 01002120116C4000.

RomFs: {...}

SDK Pia* was updated from v5.9.1 to v5.9.3.

{...}

5.5.1

ExeFs:

  • main: updated
  • NPDM: usual update

RomFs: {...}

Codebin changes:

  • A bunch of funcs had {clamp to max value} added:
    • This is done with enl::ContentTransporterCommon<enl::SystemInformation>::readyReceiveStream() and enl::ContentTransporterCommon<enl::SystemRequestInfo>::readyReceiveStream(). These funcs call sead::ReadStream::readMemBlock, with the returned value now being clamped to a max value.
    • enl::PiaTransportManager::receiveFromLib(): Now clamps the output size returned by nn::pia::transport::UnreliableProtocol::Receive() against the input size which was passed to Receive(), instead of using it directly.
    • Two sets of two deconstructors now have value clamping: <enl::WriteStream::~WriteStream()> and <enl::RamWriteStream::~RamWriteStream()>.
  • enl::TransportManager::updateReceiveBuffer_():
    • This now properly returns when the loop fails to find an entry, instead of null-deref.
    • This now checks if(size_from_header>0x442) {return}. Likewise if the ptr loaded from the array-entry is NULL.
  • enl::Buffer::set(): Added a bounds check, returning on fail before the memcpy.

No SDK versions were changed, and the the .nss module string wasn't changed either (which contains a version).