pmdsky-debug-py 7.0.9__py3-none-any.whl → 7.0.10__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- RELEASE = "v0.7.0+7f1b208a6c"
1
+ RELEASE = "v0.7.0+1de3df0425"
pmdsky_debug_py/eu.py CHANGED
@@ -53,11 +53,13 @@ class EuArm9Functions:
53
53
  None,
54
54
  "Sets global parameters for the memory allocator.\n\nThis includes"
55
55
  " MEMORY_ALLOCATION_ARENA_GETTERS and some other stuff.\n\nDungeon mode uses"
56
- " the default arena getters. Ground mode uses its own arena getters, which are"
57
- " defined in overlay 11 and set (by calling this function) at the start of"
58
- " GroundMainLoop.\n\nr0: GetAllocArena function pointer (GetAllocArenaDefault"
59
- " is used if null)\nr1: GetFreeArena function pointer (GetFreeArenaDefault is"
60
- " used if null)",
56
+ " the default arena getters. Ground mode uses its own arena getters that return"
57
+ " custom arenas for some flag values, which are defined in overlay 11 and set"
58
+ " (by calling this function) at the start of GroundMainLoop. Note that the"
59
+ " sound memory arena is provided explicitly to MemLocateSet in the sound code,"
60
+ " so doesn't go through this path.\n\nr0: GetAllocArena function pointer"
61
+ " (GetAllocArenaDefault is used if null)\nr1: GetFreeArena function pointer"
62
+ " (GetFreeArenaDefault is used if null)",
61
63
  )
62
64
 
63
65
  GetAllocArenaDefault = Symbol(
@@ -2377,6 +2379,21 @@ class EuArm9Functions:
2377
2379
  " command list'\n\nr0: Command to send",
2378
2380
  )
2379
2381
 
2382
+ InitSoundSystem = Symbol(
2383
+ None,
2384
+ None,
2385
+ None,
2386
+ "Initialize the DSE sound engine?\n\nThis function is called somewhere in the"
2387
+ " hierarchy under TaskProcBoot and appears to allocate a bunch of memory"
2388
+ " (including a dedicated memory arena, see SOUND_MEMORY_ARENA) for sound data,"
2389
+ " and reads a bunch of core sound files.\n\nFile paths referenced:\n-"
2390
+ " SOUND/SYSTEM/se_sys.swd\n- SOUND/SYSTEM/se_sys.sed\n- SOUND/SE/motion.swd\n-"
2391
+ " SOUND/SE/motion.sed\n- SOUND/BGM/bgm.swd (this is the main sample bank, see"
2392
+ " https://projectpokemon.org/home/docs/mystery-dungeon-nds/pok%C3%A9mon-mystery-dungeon-explorers-r78/)\n\nDebug"
2393
+ " strings:\n- entry system se swd %04x\n\n- entry system se sed %04x\n\n- entry"
2394
+ " motion se swd %04x\n\n- entry motion se sed %04x\n",
2395
+ )
2396
+
2380
2397
  ManipBgmPlayback = Symbol(
2381
2398
  [0x18F40],
2382
2399
  [0x2018F40],
@@ -2483,6 +2500,32 @@ class EuArm9Functions:
2483
2500
  " field 0x43 to 0xFF\n\nr0: animation control\nr1: sprite id in WAN_TABLE",
2484
2501
  )
2485
2502
 
2503
+ SetAnimationForAnimationControlInternal = Symbol(
2504
+ [0x1C218],
2505
+ [0x201C218],
2506
+ None,
2507
+ "Set the wan animation (and other related settings) of an"
2508
+ " animation_control\nUsed by SetAnimationForAnimationControl\n\nr0:"
2509
+ " animation_control\nr1: wan_header\nr2: animation group id\nr3: animation"
2510
+ " id\nstack[0]: ?\nstack[1] (0x4): palette pos low (see the field on"
2511
+ " animation_control)\nstack[2] (0x8): ?\nstack[3] (0xC): ?\nstack[4] (0x10):"
2512
+ " palette_bank (directly set to the animation_control field with said name)",
2513
+ )
2514
+
2515
+ SetAnimationForAnimationControl = Symbol(
2516
+ [0x1C368],
2517
+ [0x201C368],
2518
+ None,
2519
+ "Set the animation to play with this animation control, but do not start"
2520
+ " it.\n\n(args same as SetAndPlayAnimationForAnimationControl)\nr0:"
2521
+ " animation_control\nr1: animation key (either an animation or animation group"
2522
+ " depending on the type of sprite and if it does have animation group with this"
2523
+ " animation key as index)\nr2: direction_id (unsure) (the key to the"
2524
+ " wan_animation in itself, only used when animation key represent a"
2525
+ " wan_animation_group)\nr3: ?\nstack[0]: low_palette_pos\nstack[1] (0x4):"
2526
+ " ?\nstack[2] (0x8): ?\nstack[3] (0xC): ?",
2527
+ )
2528
+
2486
2529
  GetWanForAnimationControl = Symbol(
2487
2530
  [0x1C484],
2488
2531
  [0x201C484],
@@ -2492,6 +2535,19 @@ class EuArm9Functions:
2492
2535
  " animation_control\nreturn: wan_header",
2493
2536
  )
2494
2537
 
2538
+ SetAndPlayAnimationForAnimationControl = Symbol(
2539
+ [0x1C4B4],
2540
+ [0x201C4B4],
2541
+ None,
2542
+ "Set the animation to play with the animation control, and start it.\n\nr0:"
2543
+ " animation_control\nr1: animation key (either an animation or animation group"
2544
+ " depending on the type of sprite and if it does have animation group with this"
2545
+ " animation key as index)\nr2: direction_id (unsure) (the key to the"
2546
+ " wan_animation in itself, only used when animation key represent a"
2547
+ " wan_animation_group)\nr3: ?\nstack[0]: low_palette_pos\nstack[1] (0x4):"
2548
+ " ?\nstack[2] (0x8): ?\nstack[3] (0xC): ?",
2549
+ )
2550
+
2495
2551
  SwitchAnimationControlToNextFrame = Symbol(
2496
2552
  [0x1C4F4],
2497
2553
  [0x201C4F4],
@@ -2681,6 +2737,63 @@ class EuArm9Functions:
2681
2737
  " unk_pal\nr2: unk_tex\nr3: unk_tex_param",
2682
2738
  )
2683
2739
 
2740
+ GeomSetTexImageParam = Symbol(
2741
+ [0x1E530],
2742
+ [0x201E530],
2743
+ None,
2744
+ "Send the 'TEXIMAGE_PARAM' geometry engine command, that defines some"
2745
+ " parameters for the texture\nSee"
2746
+ " http://problemkaputt.de/gbatek.htm#ds3dtextureattributes for more information"
2747
+ " on the parameters\n\nr0: texture format\nr1: texture coordinates"
2748
+ " transformation modes\nr2: texture S-Size\nr3: texture T-Size\nstack[0] (0x0):"
2749
+ " repeat in S Direction\nstack[1] (0x4): flip in S direction\nstack[2] (0x8):"
2750
+ " What to make of color 0 (bit 29)\nstack[3] (0xC): Texture VRAM offset (Will"
2751
+ " be divided by 8)",
2752
+ )
2753
+
2754
+ GeomSetVertexCoord16 = Symbol(
2755
+ [0x1E570],
2756
+ [0x201E570],
2757
+ None,
2758
+ "Send the 'VTX_16' geometry engine command, that defines the coordinate of a"
2759
+ " point of a polygon, using 16 bits.\nInputs are clamped over their 16 lower"
2760
+ " bits\n\nr0: x coordinate\nr1: y coordinate\nr2: z coordinate",
2761
+ )
2762
+
2763
+ InitRender3dData = Symbol(
2764
+ [0x1E5A0],
2765
+ [0x201E5A0],
2766
+ None,
2767
+ "Initialize the global 'RENDER_3D' structure.\n\nNo params.",
2768
+ )
2769
+
2770
+ GeomSwapBuffers = Symbol(
2771
+ [0x1E7B8],
2772
+ [0x201E7B8],
2773
+ None,
2774
+ "Call the 'SWAP_BUFFERS' command. This will swap the geometry buffer. The"
2775
+ " parameter of 1 is provided, which enables manual Y-sorting of translucent"
2776
+ " polygons.\n\nNo params.",
2777
+ )
2778
+
2779
+ InitRender3dElement = Symbol(
2780
+ [0x1E7CC],
2781
+ [0x201E7CC],
2782
+ None,
2783
+ "Initialize the render_3d_element structure (without performing any drawing or"
2784
+ " external data access)\n\nr0: render_3d_element",
2785
+ )
2786
+
2787
+ Generate3dCanvasBorder = Symbol(
2788
+ [0x1EA88],
2789
+ [0x201EA88],
2790
+ None,
2791
+ "Draw the border for dialogue box and other menus, using the 3D engine.\nThe"
2792
+ " render_3d_element contains certain value that needs to be set to a correct"
2793
+ " value for it to work.\nThe element is not immediately sent to the geometry"
2794
+ " engine, but is queued up in RENDER_3D\n\nr0: render_3d_element",
2795
+ )
2796
+
2684
2797
  HandleSir0Translation = Symbol(
2685
2798
  [0x1F550],
2686
2799
  [0x201F550],
@@ -4003,7 +4116,8 @@ class EuArm9Functions:
4003
4116
  [0x204FF60],
4004
4117
  None,
4005
4118
  "Increments by 1 the number of dungeons cleared.\n\nImplements"
4006
- " SPECIAL_PROC_0x3A (see ScriptSpecialProcessCall).\n\nNo params.",
4119
+ " SPECIAL_PROC_INCREMENT_DUNGEONS_CLEARED (see ScriptSpecialProcessCall).\n\nNo"
4120
+ " params.",
4007
4121
  )
4008
4122
 
4009
4123
  GetNbDungeonsCleared = Symbol(
@@ -4117,7 +4231,8 @@ class EuArm9Functions:
4117
4231
  [0x2050200],
4118
4232
  None,
4119
4233
  "Increments by 1 the number of big treasure wins.\n\nImplements"
4120
- " SPECIAL_PROC_0x3B (see ScriptSpecialProcessCall).\n\nNo params.",
4234
+ " SPECIAL_PROC_INCREMENT_BIG_TREASURE_WINS (see"
4235
+ " ScriptSpecialProcessCall).\n\nNo params.",
4121
4236
  )
4122
4237
 
4123
4238
  SetNbBigTreasureWins = Symbol(
@@ -5860,11 +5975,33 @@ class EuArm9Functions:
5860
5975
  [0x70A0C], [0x2070A0C], None, "Note: unverified, ported from Irdkwia's notes"
5861
5976
  )
5862
5977
 
5978
+ ParseDseEvents = Symbol(
5979
+ None,
5980
+ None,
5981
+ None,
5982
+ "From https://projectpokemon.org/docs/mystery-dungeon-nds/procyon-studios-digital-sound-elements-r12/",
5983
+ )
5984
+
5985
+ UpdateSequencerTracks = Symbol(
5986
+ None,
5987
+ None,
5988
+ None,
5989
+ "From https://projectpokemon.org/docs/mystery-dungeon-nds/procyon-studios-digital-sound-elements-r12/",
5990
+ )
5991
+
5863
5992
  UpdateChannels = Symbol(
5864
5993
  [0x74824],
5865
5994
  [0x2074824],
5866
5995
  None,
5867
- "Note: unverified, ported from Irdkwia's notes\n\nNo params.",
5996
+ "From https://projectpokemon.org/docs/mystery-dungeon-nds/procyon-studios-digital-sound-elements-r12/"
5997
+ " and Irdkwia's notes.\n\nNo params.",
5998
+ )
5999
+
6000
+ UpdateTrackVolumeEnvelopes = Symbol(
6001
+ None,
6002
+ None,
6003
+ None,
6004
+ "From https://projectpokemon.org/docs/mystery-dungeon-nds/procyon-studios-digital-sound-elements-r12/",
5868
6005
  )
5869
6006
 
5870
6007
  EnableVramBanksInSetDontSave = Symbol(
@@ -7379,6 +7516,14 @@ class EuArm9Data:
7379
7516
  "pointer to the list of wan sprite loaded in RAM\n\nstruct wan_table*",
7380
7517
  )
7381
7518
 
7519
+ RENDER_3D = Symbol(
7520
+ [0xB0540],
7521
+ [0x20B0540],
7522
+ None,
7523
+ "The (seemingly) unique instance render_3d_global in the game\n\ntype: struct"
7524
+ " render_3d_global",
7525
+ )
7526
+
7382
7527
  LANGUAGE_INFO_DATA = Symbol([0xB05A8], [0x20B05A8], None, "[Runtime]")
7383
7528
 
7384
7529
  TBL_TALK_GROUP_STRING_ID_START = Symbol(
@@ -7474,7 +7619,9 @@ class EuArm9Data:
7474
7619
  [0xB14D4],
7475
7620
  [0x20B14D4],
7476
7621
  0x1FC,
7477
- "Irdkwia's notes: named DSEEventFunctionPtrTable with length 0x3C0 (note the"
7622
+ "Table of all DSE events, see"
7623
+ " https://projectpokemon.org/docs/mystery-dungeon-nds/procyon-studios-digital-sound-elements-r12/\n\nIrdkwia's"
7624
+ " notes: named DSEEventFunctionPtrTable with length 0x3C0 (note the"
7478
7625
  " disagreement), 240*0x4.",
7479
7626
  )
7480
7627
 
@@ -7526,6 +7673,24 @@ class EuArm9Section:
7526
7673
 
7527
7674
 
7528
7675
  class EuItcmFunctions:
7676
+ AllocateRender3dElement = Symbol(
7677
+ [0xC78],
7678
+ [0x20B4938],
7679
+ None,
7680
+ "Return a new render_3d_element from RENDER_3D, to be to draw a new element"
7681
+ " using the 3d render engine later in the frame.\n\nreturn: render_3d_element"
7682
+ " or NULL if there is no more available space in the stack",
7683
+ )
7684
+
7685
+ Render3dStack = Symbol(
7686
+ [0xDCC],
7687
+ [0x20B4A8C],
7688
+ None,
7689
+ "Perform rendering of the render_stack of RENDER_3D structure. Does nothing if"
7690
+ " there are no elements, otherwise, sort them based on a value, and render them"
7691
+ " all consecutively.\n\nNo params.",
7692
+ )
7693
+
7529
7694
  GetKeyN2MSwitch = Symbol(
7530
7695
  [0x1434],
7531
7696
  [0x20B50F4],
@@ -7652,6 +7817,14 @@ class EuItcmData:
7652
7817
  " mem_block[256]",
7653
7818
  )
7654
7819
 
7820
+ RENDER_3D_FUNCTIONS = Symbol(
7821
+ [0x120],
7822
+ [0x20B3DE0],
7823
+ None,
7824
+ "Pointers to the 4 functions available from render_3d_element (in"
7825
+ " ITCM)\n\ntype: render_3d_element_concrete[4]",
7826
+ )
7827
+
7655
7828
 
7656
7829
  class EuItcmSection:
7657
7830
  name = "itcm"
@@ -12047,8 +12220,10 @@ class EuOverlay11Functions:
12047
12220
  [0x22E9C9C],
12048
12221
  None,
12049
12222
  "The GetAllocArena function used for ground mode. See SetMemAllocatorParams for"
12050
- " more information.\n\nr0: initial memory arena pointer, or null\nr1: flags"
12051
- " (see MemAlloc)\nreturn: memory arena pointer, or null",
12223
+ " more information.\n\nFor (flags & 0xFF):\n 8, 15, 16:"
12224
+ " GROUND_MEMORY_ARENA_1\n 14: GROUND_MEMORY_ARENA_2\n other: null (default"
12225
+ " arena)\n\nr0: initial memory arena pointer, or null\nr1: flags (see"
12226
+ " MemAlloc)\nreturn: memory arena pointer, or null",
12052
12227
  )
12053
12228
 
12054
12229
  GetFreeArenaGround = Symbol(
@@ -12444,6 +12619,8 @@ class EuOverlay11Data:
12444
12619
  " scene\n\ntype: struct main_ground_data",
12445
12620
  )
12446
12621
 
12622
+ WORLD_MAP_MODE = Symbol([0x48DA4], [0x2325924], 0x4, "The current world map")
12623
+
12447
12624
 
12448
12625
  class EuOverlay11Section:
12449
12626
  name = "overlay11"
@@ -19076,7 +19253,7 @@ class EuOverlay29Functions:
19076
19253
  [0x59854],
19077
19254
  [0x23363D4],
19078
19255
  None,
19079
- "Note: unverified, ported from Irdkwia's notes\n\nr0: call_back_str\nr1: x"
19256
+ "Note: unverified, ported from Irdkwia's notes\n\nr0: render_3d_element\nr1: x"
19080
19257
  " position\nr2: y position\nr3: char_id\nstack[0]: ?\nreturn: ?",
19081
19258
  )
19082
19259
 
@@ -22359,6 +22536,36 @@ class EuRamFunctions:
22359
22536
 
22360
22537
 
22361
22538
  class EuRamData:
22539
+ DEFAULT_MEMORY_ARENA_MEMORY = Symbol(
22540
+ None,
22541
+ None,
22542
+ None,
22543
+ "The memory region for the default memory arena.\n\nThe length is defined by"
22544
+ " DEFAULT_MEMORY_ARENA_SIZE.\n\nOne mode that uses this region for heap"
22545
+ " allocations is dungeon mode.",
22546
+ )
22547
+
22548
+ GROUND_MEMORY_ARENA_2 = Symbol(
22549
+ None,
22550
+ None,
22551
+ None,
22552
+ "This is a memory subarena under DEFAULT_MEMORY_ARENA used for some things in"
22553
+ " ground mode.\n\nIt's used for user_flags 14.\n\nIncluding the allocator"
22554
+ " metadata, this arena occupies 0xB0000 bytes of space.\n\ntype: struct"
22555
+ " mem_arena",
22556
+ )
22557
+
22558
+ GROUND_MEMORY_ARENA_2_BLOCKS = Symbol(
22559
+ None,
22560
+ None,
22561
+ None,
22562
+ "The block array for GROUND_MEMORY_ARENA_2.\n\ntype: struct mem_block[32]",
22563
+ )
22564
+
22565
+ GROUND_MEMORY_ARENA_2_MEMORY = Symbol(
22566
+ None, None, None, "The memory region for GROUND_MEMORY_ARENA_2."
22567
+ )
22568
+
22362
22569
  DUNGEON_COLORMAP_PTR = Symbol(
22363
22570
  [0x1BA634],
22364
22571
  [0x21BA634],
@@ -22388,6 +22595,33 @@ class EuRamData:
22388
22595
  " ARM 9 binary.\n\ntype: struct move_data_table",
22389
22596
  )
22390
22597
 
22598
+ SOUND_MEMORY_ARENA = Symbol(
22599
+ None,
22600
+ None,
22601
+ None,
22602
+ "This is a memory subarena under DEFAULT_MEMORY_ARENA that seems to be used"
22603
+ " exclusively for sound data.\n\nIncluding allocator metadata, this subarena"
22604
+ " occupies 0x3C000 bytes of space within the default arena.\n\nIt's referenced"
22605
+ " by various sound functions like LoadDseFile, PlaySeLoad, and PlayBgm when"
22606
+ " allocating memory.\n\ntype: struct mem_arena",
22607
+ )
22608
+
22609
+ SOUND_MEMORY_ARENA_BLOCKS = Symbol(
22610
+ None,
22611
+ None,
22612
+ None,
22613
+ "The block array for SOUND_MEMORY_ARENA.\n\ntype: struct mem_block[20]",
22614
+ )
22615
+
22616
+ SOUND_MEMORY_ARENA_MEMORY = Symbol(
22617
+ None,
22618
+ None,
22619
+ None,
22620
+ "The memory region for SOUND_MEMORY_ARENA.\n\nThis region appears to be used"
22621
+ " for sound-related heap allocations, like when loading sound files into"
22622
+ " memory.",
22623
+ )
22624
+
22391
22625
  FRAMES_SINCE_LAUNCH = Symbol(
22392
22626
  [0x2A3E8C, 0x2A3EDC],
22393
22627
  [0x22A3E8C, 0x22A3EDC],
@@ -22522,6 +22756,8 @@ class EuRamData:
22522
22756
  [0x2AB6BC], [0x22AB6BC], 0x7C, "animation_control of 'FONT/alter.wan'"
22523
22757
  )
22524
22758
 
22759
+ SOUND_MEMORY_ARENA_PTR = Symbol(None, None, None, "Pointer to SOUND_MEMORY_ARENA.")
22760
+
22525
22761
  DIALOG_BOX_LIST = Symbol(None, None, None, "Array of allocated dialog box structs.")
22526
22762
 
22527
22763
  LAST_NEW_MOVE = Symbol(
@@ -22642,7 +22878,33 @@ class EuRamData:
22642
22878
  " the game is running.",
22643
22879
  )
22644
22880
 
22645
- WORLD_MAP_MODE = Symbol([0x325924], [0x2325924], 0x4, "The current world map")
22881
+ GROUND_MEMORY_ARENA_1_PTR = Symbol(
22882
+ None, None, None, "Pointer to GROUND_MEMORY_ARENA_1."
22883
+ )
22884
+
22885
+ GROUND_MEMORY_ARENA_2_PTR = Symbol(
22886
+ None, None, None, "Pointer to GROUND_MEMORY_ARENA_2."
22887
+ )
22888
+
22889
+ GROUND_MEMORY_ARENA_1 = Symbol(
22890
+ None,
22891
+ None,
22892
+ None,
22893
+ "This is a top-level memory arena used for some things in ground mode.\n\nIt's"
22894
+ " used for user_flags 8, 15, and 16.\n\nIncluding the allocator metadata, this"
22895
+ " arena occupies 0x64000 bytes of space.\n\ntype: struct mem_arena",
22896
+ )
22897
+
22898
+ GROUND_MEMORY_ARENA_1_BLOCKS = Symbol(
22899
+ None,
22900
+ None,
22901
+ None,
22902
+ "The block array for GROUND_MEMORY_ARENA_1.\n\ntype: struct mem_block[52]",
22903
+ )
22904
+
22905
+ GROUND_MEMORY_ARENA_1_MEMORY = Symbol(
22906
+ None, None, None, "The memory region for GROUND_MEMORY_ARENA_1."
22907
+ )
22646
22908
 
22647
22909
  SENTRY_DUTY_STRUCT = Symbol(None, None, None, "")
22648
22910