Skip to content

atk: Implement atk - #59

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

atk: Implement atk#59
Nitr4m12 wants to merge 346 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

@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
Other changes:

- Also defined other structs present in `atk_StreamSoundLoader.h`
Other changes:
- Defined other classes and structs in `atk_StreamSoundPlayer.h`
Other changes:
- Also defined `SequenceUserProcCallbackParam`
Functions matched:
- `HeapBase::FindListContainHeap`
- `HeapBase::FindContainHeap(const void*)`
- `HeapBase::FindParentHeap`
- `HeapBase::SetFillValue`
- `HeapBase::GetFillValue`
- `HeapBase::GetHeapType`
- `HeapBase::Initialize`
- `HeapBase::LockHeap`
- `HeapBase::UnlockHeap`
- `HeapBase::FillFreeMemory`
- `HeapBase::FillNoUseMemory`
- `HeapBase::FillAllocMemory`
- `HeapBase::GetOptionFlag`
Also rearranged `WaveSoundFile` to better match DWARF
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