Skip to content

atk: Implement atk - #59

Draft
Nitr4m12 wants to merge 199 commits into
open-ead:masterfrom
Nitr4m12:atk
Draft

atk: Implement atk#59
Nitr4m12 wants to merge 199 commits into
open-ead:masterfrom
Nitr4m12:atk

Conversation

@Nitr4m12

@Nitr4m12 Nitr4m12 commented Mar 3, 2026

Copy link
Copy Markdown

This is a collection of all headers, types, typedef, etc. I could find based on DWARF info. Filenames, member names and enums are taken straight from the DWARF, file structure comes from information derived from strings, class names and function names are a combination of DWARF and crossreferencing symbols of other executables, and most function parameter names come from the DWARF, with a few being guesswork based on surrounding names. Changes to util_IntrusiveList.h were made while I was working on this, so I included those changes as well as my own for some classes that needed it (namely nn::atk::detail::fnd::HeapBase needing util::IntrusiveListBaseNodeTraits). Aside from that, I also added files for nn::audio as nn::atk uses them in various places, as well as nn/os/os_MessageQueue.h purely for the definition of nn::os::MessageQueue.

I'd like to point out that I was working with a DWARF for version 5.3.0, and while I tried to account for changes between versions, there may still be some that I missed. I'm confident though that no major changes to structs at least happened to atk between 4.x.x and 5.3.0, but some structs are changed or missing for versions below that.


This change is Reviewable

Filenames are based on DWARF info from the `.nss` inside Bloons TD5's romFS
Only defined member variables and virtual functions, not general functions
`detail::SoundArchiveFileReader` required definitions from other files, which were added as needed
Some methods have been left as comments because of undeclared classes needed for them
An extra header for `nn::audio` was added as it was used in `atk_Adpcm.h`
@Nitr4m12
Nitr4m12 marked this pull request as draft August 7, 2026 18:15
@Nitr4m12

Nitr4m12 commented Aug 7, 2026

Copy link
Copy Markdown
Author

Changed to draft as I intend to do more work on nn::atk besides just defining headers. I'll mark this for review when I feel it's ready.

@Nitr4m12 Nitr4m12 changed the title nn/atk: Define most headers atk: Implement atk Aug 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant