pokeheartgold icon indicating copy to clipboard operation
pokeheartgold copied to clipboard

Decide consensus on SDK filenames

Open luckytyphlosion opened this issue 1 year ago • 1 comments

I didn't realize this was a contention point, but apparently it is. Don't waste time thinking about this issue, I just wanted to get these thoughts down while they were in my head.

Option 1: Use the SDK names as-is, regardless of inconsistency

  • NitroSDK/card/card_pullOut.c
  • NitroSDK/card/card_rom_teg.c
  • NitroSDK/ctrdg/ctrdg_flash_LE26FV10N1TS-10.c
  • NitroSDK/os/os_protectionRegion.c
  • NitroSDK/rtc/internal.c
  • NitroSDK/spi/mic.c
  • NitroDWC/base/dwc_error.c
  • NitroDWC/ilobby/dwci_lobbyBase.cpp
  • NitroSystem/fnd/heapcommon.c
  • NitroSystem/g2d/g2d_CellTransferManager.c
  • NitroSystem/mcs/ringBuffer.c
  • NitroSystem/snd/sndarc.c
  • NitroSystem/snd/sndarc_loader.c
  • NitroWiFi/soc/soc.c
  • NitroWiFi/soc/socl_listen_accept.c
  • NitroWiFi/stubs/md5/dummy_md5.c
  • NitroWiFi/stubs/soc/soc_stub.c
  • NitroWiFi/stubs/ssl/ssl_stub.c

Option 2: Use the SDK names as-is, except prefix each filename with the "module" folder name if the file does not already have a prefix

  • NitroSDK/card/card_pullOut.c
  • NitroSDK/card/card_rom_teg.c
  • NitroSDK/ctrdg/ctrdg_flash_LE26FV10N1TS-10.c
  • NitroSDK/os/os_protectionRegion.c
  • NitroSDK/rtc/internal.c -> NitroSDK/rtc/rtc_internal.c
  • NitroSDK/spi/mic.c -> NitroSDK/spi/spi_mic.c
  • NitroDWC/base/dwc_error.c
  • NitroDWC/ilobby/dwci_lobbyBase.cpp
  • NitroSystem/fnd/heapcommon.c -> NitroSystem/fnd/fnd_heapcommon.c
  • NitroSystem/g2d/g2d_CellTransferManager.c
  • NitroSystem/mcs/ringBuffer.c -> NitroSystem/mcs/mcs_ringBuffer.c

TODO: what to do with these weird examples

  • NitroSystem/snd/sndarc.c
  • NitroSystem/snd/sndarc_loader.c (prefix with snd, or keep sndarc?)
  • NitroWiFi/soc/soc.c
  • NitroWiFi/soc/socl_listen_accept.c
  • NitroWiFi/stubs/md5/dummy_md5.c
  • NitroWiFi/stubs/soc/soc_stub.c
  • NitroWiFi/stubs/ssl/ssl_stub.c

Option 3: Do our own thing

Currently unknown what possible "our things" we could do.

Option 3A: Replace or add each file prefix with the prefix used in the file functions, capitalization included. Preserve the module descriptor.

This is what @red031000 wants, but there are a few unknowns even from her description of what she wanted.

It is unknown how to handle the case where a prefix ends with i. E.g. NitroSDK/rtc and NitroDWC/base/ use both RTCi? and DWCi? respectively. The i does not imply static; functions with an i suffix in the prefix are still part of the public API. For now, assume don't use i.

Additionally, some modules have some kind of "sub-prefix". E.g. in NitroDWC/ilobby/dwci_lobbyBase.cpp, all functions are prefixed with DWCi_Lobby<rest of function name>, without a space before the <rest of function name>. The same applies to NitroSystem/fnd/heapcommon.c (NNSi?_Fnd) and NitroSystem/g2d/g2d_CellTransferManager.c (NNSi?_G2d). Files which have this "sub-prefix" will be marked as such, and conversions will be given for both the first prefix and sub-prefix.

  • NitroSDK/card/card_pullOut.c -> NitroSDK/card/CARD_pullOut.c
  • NitroSDK/card/card_rom_teg.c -> NitroSDK/card/CARD_rom_teg.c
  • NitroSDK/ctrdg/ctrdg_flash_LE26FV10N1TS-10.c -> NitroSDK/ctrdg/CTRDG_flash_LE26FV10N1TS-10.c
  • NitroSDK/os/os_protectionRegion.c -> NitroSDK/os/OS_protectionRegion.c
  • NitroSDK/rtc/internal.c -> NitroSDK/rtc/RTC_internal.c (uses i)
  • NitroSDK/spi/mic.c:
    • Rule fails: mic.c uses MIC prefix but NitroSDK/spi/pm.c uses PMi? and NitroSDK/spi/tp.c uses TPi?.
  • NitroDWC/base/dwc_error.c -> NitroDWC/base/DWC_error.c (uses i)
  • NitroDWC/ilobby/dwci_lobbyBase.cpp: (full prefix DWCi_Lobby)
    • Rule warning: module ONLY uses DWCi. Possible conversions: NitroDWC/ilobby/DWCi_lobbyBase.cpp, NitroDWC/ilobby/lobby_lobbyBase.cpp.
  • NitroSystem/fnd/heapcommon.c -> NitroSystem/fnd/NNS_heapcommon.c, NitroSystem/fnd/Fnd_heapcommon.c (full prefix NNS_Fnd)
  • NitroSystem/g2d/g2d_CellTransferManager.c -> NitroSystem/g2d/NNS_CellTransferManager.c, NitroSystem/g2d/G2d_CellTransferManager.c (full prefix NNS_G2d)
  • NitroSystem/mcs/ringBuffer.c -> NitroSystem/mcs/NNS_ringBuffer.c, NitroSystem/mcs/Mcs_ringBuffer.c (full prefix NNS_Mcs)
  • NitroSystem/snd/sndarc.c -> NitroSystem/snd/NNS_sndarc.c, NitroSystem/snd/SndArc_sndarc.c (full prefix NNS_SndArc)
  • NitroSystem/snd/sndarc_loader.c -> NitroSystem/snd/NNS_sndarc_loader.c, NitroSystem/snd/SndArc_sndarc_loader.c (full prefix NNS_SndArc, but also it is true that full prefix is NNS_SndArcLoad)
  • NitroWiFi/soc/soc.c -> NitroWiFi/soc/SOC_soc.c
  • NitroWiFi/soc/socl_listen_accept.c -> NitroWiFi/soc/SOCL_listen_accept.c

TODO: what to do with nested directory libraries

  • NitroWiFi/stubs/md5/dummy_md5.c
  • NitroWiFi/stubs/soc/soc_stub.c
  • NitroWiFi/stubs/ssl/ssl_stub.c

luckytyphlosion avatar Aug 22 '23 15:08 luckytyphlosion

This issue has had no activity for 60 days and will be marked stale. If there is no further activity, it will be closed in 30 days.

github-actions[bot] avatar Aug 11 '24 00:08 github-actions[bot]