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.
pmdsky_debug_py/jp.py CHANGED
@@ -53,11 +53,13 @@ class JpArm9Functions:
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(
@@ -2375,6 +2377,21 @@ class JpArm9Functions:
2375
2377
  " command list'\n\nr0: Command to send",
2376
2378
  )
2377
2379
 
2380
+ InitSoundSystem = Symbol(
2381
+ None,
2382
+ None,
2383
+ None,
2384
+ "Initialize the DSE sound engine?\n\nThis function is called somewhere in the"
2385
+ " hierarchy under TaskProcBoot and appears to allocate a bunch of memory"
2386
+ " (including a dedicated memory arena, see SOUND_MEMORY_ARENA) for sound data,"
2387
+ " and reads a bunch of core sound files.\n\nFile paths referenced:\n-"
2388
+ " SOUND/SYSTEM/se_sys.swd\n- SOUND/SYSTEM/se_sys.sed\n- SOUND/SE/motion.swd\n-"
2389
+ " SOUND/SE/motion.sed\n- SOUND/BGM/bgm.swd (this is the main sample bank, see"
2390
+ " https://projectpokemon.org/home/docs/mystery-dungeon-nds/pok%C3%A9mon-mystery-dungeon-explorers-r78/)\n\nDebug"
2391
+ " strings:\n- entry system se swd %04x\n\n- entry system se sed %04x\n\n- entry"
2392
+ " motion se swd %04x\n\n- entry motion se sed %04x\n",
2393
+ )
2394
+
2378
2395
  ManipBgmPlayback = Symbol(
2379
2396
  [0x18EFC],
2380
2397
  [0x2018EFC],
@@ -2481,6 +2498,32 @@ class JpArm9Functions:
2481
2498
  " field 0x43 to 0xFF\n\nr0: animation control\nr1: sprite id in WAN_TABLE",
2482
2499
  )
2483
2500
 
2501
+ SetAnimationForAnimationControlInternal = Symbol(
2502
+ None,
2503
+ None,
2504
+ None,
2505
+ "Set the wan animation (and other related settings) of an"
2506
+ " animation_control\nUsed by SetAnimationForAnimationControl\n\nr0:"
2507
+ " animation_control\nr1: wan_header\nr2: animation group id\nr3: animation"
2508
+ " id\nstack[0]: ?\nstack[1] (0x4): palette pos low (see the field on"
2509
+ " animation_control)\nstack[2] (0x8): ?\nstack[3] (0xC): ?\nstack[4] (0x10):"
2510
+ " palette_bank (directly set to the animation_control field with said name)",
2511
+ )
2512
+
2513
+ SetAnimationForAnimationControl = Symbol(
2514
+ None,
2515
+ None,
2516
+ None,
2517
+ "Set the animation to play with this animation control, but do not start"
2518
+ " it.\n\n(args same as SetAndPlayAnimationForAnimationControl)\nr0:"
2519
+ " animation_control\nr1: animation key (either an animation or animation group"
2520
+ " depending on the type of sprite and if it does have animation group with this"
2521
+ " animation key as index)\nr2: direction_id (unsure) (the key to the"
2522
+ " wan_animation in itself, only used when animation key represent a"
2523
+ " wan_animation_group)\nr3: ?\nstack[0]: low_palette_pos\nstack[1] (0x4):"
2524
+ " ?\nstack[2] (0x8): ?\nstack[3] (0xC): ?",
2525
+ )
2526
+
2484
2527
  GetWanForAnimationControl = Symbol(
2485
2528
  None,
2486
2529
  None,
@@ -2490,6 +2533,19 @@ class JpArm9Functions:
2490
2533
  " animation_control\nreturn: wan_header",
2491
2534
  )
2492
2535
 
2536
+ SetAndPlayAnimationForAnimationControl = Symbol(
2537
+ None,
2538
+ None,
2539
+ None,
2540
+ "Set the animation to play with the animation control, and start it.\n\nr0:"
2541
+ " animation_control\nr1: animation key (either an animation or animation group"
2542
+ " depending on the type of sprite and if it does have animation group with this"
2543
+ " animation key as index)\nr2: direction_id (unsure) (the key to the"
2544
+ " wan_animation in itself, only used when animation key represent a"
2545
+ " wan_animation_group)\nr3: ?\nstack[0]: low_palette_pos\nstack[1] (0x4):"
2546
+ " ?\nstack[2] (0x8): ?\nstack[3] (0xC): ?",
2547
+ )
2548
+
2493
2549
  SwitchAnimationControlToNextFrame = Symbol(
2494
2550
  None,
2495
2551
  None,
@@ -2679,6 +2735,60 @@ class JpArm9Functions:
2679
2735
  " unk_pal\nr2: unk_tex\nr3: unk_tex_param",
2680
2736
  )
2681
2737
 
2738
+ GeomSetTexImageParam = Symbol(
2739
+ None,
2740
+ None,
2741
+ None,
2742
+ "Send the 'TEXIMAGE_PARAM' geometry engine command, that defines some"
2743
+ " parameters for the texture\nSee"
2744
+ " http://problemkaputt.de/gbatek.htm#ds3dtextureattributes for more information"
2745
+ " on the parameters\n\nr0: texture format\nr1: texture coordinates"
2746
+ " transformation modes\nr2: texture S-Size\nr3: texture T-Size\nstack[0] (0x0):"
2747
+ " repeat in S Direction\nstack[1] (0x4): flip in S direction\nstack[2] (0x8):"
2748
+ " What to make of color 0 (bit 29)\nstack[3] (0xC): Texture VRAM offset (Will"
2749
+ " be divided by 8)",
2750
+ )
2751
+
2752
+ GeomSetVertexCoord16 = Symbol(
2753
+ None,
2754
+ None,
2755
+ None,
2756
+ "Send the 'VTX_16' geometry engine command, that defines the coordinate of a"
2757
+ " point of a polygon, using 16 bits.\nInputs are clamped over their 16 lower"
2758
+ " bits\n\nr0: x coordinate\nr1: y coordinate\nr2: z coordinate",
2759
+ )
2760
+
2761
+ InitRender3dData = Symbol(
2762
+ None, None, None, "Initialize the global 'RENDER_3D' structure.\n\nNo params."
2763
+ )
2764
+
2765
+ GeomSwapBuffers = Symbol(
2766
+ None,
2767
+ None,
2768
+ None,
2769
+ "Call the 'SWAP_BUFFERS' command. This will swap the geometry buffer. The"
2770
+ " parameter of 1 is provided, which enables manual Y-sorting of translucent"
2771
+ " polygons.\n\nNo params.",
2772
+ )
2773
+
2774
+ InitRender3dElement = Symbol(
2775
+ None,
2776
+ None,
2777
+ None,
2778
+ "Initialize the render_3d_element structure (without performing any drawing or"
2779
+ " external data access)\n\nr0: render_3d_element",
2780
+ )
2781
+
2782
+ Generate3dCanvasBorder = Symbol(
2783
+ None,
2784
+ None,
2785
+ None,
2786
+ "Draw the border for dialogue box and other menus, using the 3D engine.\nThe"
2787
+ " render_3d_element contains certain value that needs to be set to a correct"
2788
+ " value for it to work.\nThe element is not immediately sent to the geometry"
2789
+ " engine, but is queued up in RENDER_3D\n\nr0: render_3d_element",
2790
+ )
2791
+
2682
2792
  HandleSir0Translation = Symbol(
2683
2793
  [0x1F50C],
2684
2794
  [0x201F50C],
@@ -4001,7 +4111,8 @@ class JpArm9Functions:
4001
4111
  [0x204FF74],
4002
4112
  None,
4003
4113
  "Increments by 1 the number of dungeons cleared.\n\nImplements"
4004
- " SPECIAL_PROC_0x3A (see ScriptSpecialProcessCall).\n\nNo params.",
4114
+ " SPECIAL_PROC_INCREMENT_DUNGEONS_CLEARED (see ScriptSpecialProcessCall).\n\nNo"
4115
+ " params.",
4005
4116
  )
4006
4117
 
4007
4118
  GetNbDungeonsCleared = Symbol(
@@ -4115,7 +4226,8 @@ class JpArm9Functions:
4115
4226
  [0x2050214],
4116
4227
  None,
4117
4228
  "Increments by 1 the number of big treasure wins.\n\nImplements"
4118
- " SPECIAL_PROC_0x3B (see ScriptSpecialProcessCall).\n\nNo params.",
4229
+ " SPECIAL_PROC_INCREMENT_BIG_TREASURE_WINS (see"
4230
+ " ScriptSpecialProcessCall).\n\nNo params.",
4119
4231
  )
4120
4232
 
4121
4233
  SetNbBigTreasureWins = Symbol(
@@ -5858,11 +5970,33 @@ class JpArm9Functions:
5858
5970
  [0x7095C], [0x207095C], None, "Note: unverified, ported from Irdkwia's notes"
5859
5971
  )
5860
5972
 
5973
+ ParseDseEvents = Symbol(
5974
+ None,
5975
+ None,
5976
+ None,
5977
+ "From https://projectpokemon.org/docs/mystery-dungeon-nds/procyon-studios-digital-sound-elements-r12/",
5978
+ )
5979
+
5980
+ UpdateSequencerTracks = Symbol(
5981
+ None,
5982
+ None,
5983
+ None,
5984
+ "From https://projectpokemon.org/docs/mystery-dungeon-nds/procyon-studios-digital-sound-elements-r12/",
5985
+ )
5986
+
5861
5987
  UpdateChannels = Symbol(
5862
5988
  [0x74774],
5863
5989
  [0x2074774],
5864
5990
  None,
5865
- "Note: unverified, ported from Irdkwia's notes\n\nNo params.",
5991
+ "From https://projectpokemon.org/docs/mystery-dungeon-nds/procyon-studios-digital-sound-elements-r12/"
5992
+ " and Irdkwia's notes.\n\nNo params.",
5993
+ )
5994
+
5995
+ UpdateTrackVolumeEnvelopes = Symbol(
5996
+ None,
5997
+ None,
5998
+ None,
5999
+ "From https://projectpokemon.org/docs/mystery-dungeon-nds/procyon-studios-digital-sound-elements-r12/",
5866
6000
  )
5867
6001
 
5868
6002
  EnableVramBanksInSetDontSave = Symbol(
@@ -7364,6 +7498,14 @@ class JpArm9Data:
7364
7498
  "pointer to the list of wan sprite loaded in RAM\n\nstruct wan_table*",
7365
7499
  )
7366
7500
 
7501
+ RENDER_3D = Symbol(
7502
+ None,
7503
+ None,
7504
+ None,
7505
+ "The (seemingly) unique instance render_3d_global in the game\n\ntype: struct"
7506
+ " render_3d_global",
7507
+ )
7508
+
7367
7509
  LANGUAGE_INFO_DATA = Symbol(None, None, None, "[Runtime]")
7368
7510
 
7369
7511
  TBL_TALK_GROUP_STRING_ID_START = Symbol(
@@ -7459,7 +7601,9 @@ class JpArm9Data:
7459
7601
  None,
7460
7602
  None,
7461
7603
  None,
7462
- "Irdkwia's notes: named DSEEventFunctionPtrTable with length 0x3C0 (note the"
7604
+ "Table of all DSE events, see"
7605
+ " https://projectpokemon.org/docs/mystery-dungeon-nds/procyon-studios-digital-sound-elements-r12/\n\nIrdkwia's"
7606
+ " notes: named DSEEventFunctionPtrTable with length 0x3C0 (note the"
7463
7607
  " disagreement), 240*0x4.",
7464
7608
  )
7465
7609
 
@@ -7507,6 +7651,24 @@ class JpArm9Section:
7507
7651
 
7508
7652
 
7509
7653
  class JpItcmFunctions:
7654
+ AllocateRender3dElement = Symbol(
7655
+ None,
7656
+ None,
7657
+ None,
7658
+ "Return a new render_3d_element from RENDER_3D, to be to draw a new element"
7659
+ " using the 3d render engine later in the frame.\n\nreturn: render_3d_element"
7660
+ " or NULL if there is no more available space in the stack",
7661
+ )
7662
+
7663
+ Render3dStack = Symbol(
7664
+ None,
7665
+ None,
7666
+ None,
7667
+ "Perform rendering of the render_stack of RENDER_3D structure. Does nothing if"
7668
+ " there are no elements, otherwise, sort them based on a value, and render them"
7669
+ " all consecutively.\n\nNo params.",
7670
+ )
7671
+
7510
7672
  GetKeyN2MSwitch = Symbol(
7511
7673
  [0x149C],
7512
7674
  [0x20B607C],
@@ -7633,6 +7795,14 @@ class JpItcmData:
7633
7795
  " mem_block[256]",
7634
7796
  )
7635
7797
 
7798
+ RENDER_3D_FUNCTIONS = Symbol(
7799
+ None,
7800
+ None,
7801
+ None,
7802
+ "Pointers to the 4 functions available from render_3d_element (in"
7803
+ " ITCM)\n\ntype: render_3d_element_concrete[4]",
7804
+ )
7805
+
7636
7806
 
7637
7807
  class JpItcmSection:
7638
7808
  name = "itcm"
@@ -11983,8 +12153,10 @@ class JpOverlay11Functions:
11983
12153
  [0x22EA990],
11984
12154
  None,
11985
12155
  "The GetAllocArena function used for ground mode. See SetMemAllocatorParams for"
11986
- " more information.\n\nr0: initial memory arena pointer, or null\nr1: flags"
11987
- " (see MemAlloc)\nreturn: memory arena pointer, or null",
12156
+ " more information.\n\nFor (flags & 0xFF):\n 8, 15, 16:"
12157
+ " GROUND_MEMORY_ARENA_1\n 14: GROUND_MEMORY_ARENA_2\n other: null (default"
12158
+ " arena)\n\nr0: initial memory arena pointer, or null\nr1: flags (see"
12159
+ " MemAlloc)\nreturn: memory arena pointer, or null",
11988
12160
  )
11989
12161
 
11990
12162
  GetFreeArenaGround = Symbol(
@@ -12377,6 +12549,8 @@ class JpOverlay11Data:
12377
12549
  " scene\n\ntype: struct main_ground_data",
12378
12550
  )
12379
12551
 
12552
+ WORLD_MAP_MODE = Symbol(None, None, None, "The current world map")
12553
+
12380
12554
 
12381
12555
  class JpOverlay11Section:
12382
12556
  name = "overlay11"
@@ -18833,7 +19007,7 @@ class JpOverlay29Functions:
18833
19007
  [0x59478],
18834
19008
  [0x2336D58],
18835
19009
  None,
18836
- "Note: unverified, ported from Irdkwia's notes\n\nr0: call_back_str\nr1: x"
19010
+ "Note: unverified, ported from Irdkwia's notes\n\nr0: render_3d_element\nr1: x"
18837
19011
  " position\nr2: y position\nr3: char_id\nstack[0]: ?\nreturn: ?",
18838
19012
  )
18839
19013
 
@@ -21995,6 +22169,36 @@ class JpRamFunctions:
21995
22169
 
21996
22170
 
21997
22171
  class JpRamData:
22172
+ DEFAULT_MEMORY_ARENA_MEMORY = Symbol(
22173
+ None,
22174
+ None,
22175
+ None,
22176
+ "The memory region for the default memory arena.\n\nThe length is defined by"
22177
+ " DEFAULT_MEMORY_ARENA_SIZE.\n\nOne mode that uses this region for heap"
22178
+ " allocations is dungeon mode.",
22179
+ )
22180
+
22181
+ GROUND_MEMORY_ARENA_2 = Symbol(
22182
+ None,
22183
+ None,
22184
+ None,
22185
+ "This is a memory subarena under DEFAULT_MEMORY_ARENA used for some things in"
22186
+ " ground mode.\n\nIt's used for user_flags 14.\n\nIncluding the allocator"
22187
+ " metadata, this arena occupies 0xB0000 bytes of space.\n\ntype: struct"
22188
+ " mem_arena",
22189
+ )
22190
+
22191
+ GROUND_MEMORY_ARENA_2_BLOCKS = Symbol(
22192
+ None,
22193
+ None,
22194
+ None,
22195
+ "The block array for GROUND_MEMORY_ARENA_2.\n\ntype: struct mem_block[32]",
22196
+ )
22197
+
22198
+ GROUND_MEMORY_ARENA_2_MEMORY = Symbol(
22199
+ None, None, None, "The memory region for GROUND_MEMORY_ARENA_2."
22200
+ )
22201
+
21998
22202
  DUNGEON_COLORMAP_PTR = Symbol(
21999
22203
  None,
22000
22204
  None,
@@ -22024,6 +22228,33 @@ class JpRamData:
22024
22228
  " ARM 9 binary.\n\ntype: struct move_data_table",
22025
22229
  )
22026
22230
 
22231
+ SOUND_MEMORY_ARENA = Symbol(
22232
+ None,
22233
+ None,
22234
+ None,
22235
+ "This is a memory subarena under DEFAULT_MEMORY_ARENA that seems to be used"
22236
+ " exclusively for sound data.\n\nIncluding allocator metadata, this subarena"
22237
+ " occupies 0x3C000 bytes of space within the default arena.\n\nIt's referenced"
22238
+ " by various sound functions like LoadDseFile, PlaySeLoad, and PlayBgm when"
22239
+ " allocating memory.\n\ntype: struct mem_arena",
22240
+ )
22241
+
22242
+ SOUND_MEMORY_ARENA_BLOCKS = Symbol(
22243
+ None,
22244
+ None,
22245
+ None,
22246
+ "The block array for SOUND_MEMORY_ARENA.\n\ntype: struct mem_block[20]",
22247
+ )
22248
+
22249
+ SOUND_MEMORY_ARENA_MEMORY = Symbol(
22250
+ None,
22251
+ None,
22252
+ None,
22253
+ "The memory region for SOUND_MEMORY_ARENA.\n\nThis region appears to be used"
22254
+ " for sound-related heap allocations, like when loading sound files into"
22255
+ " memory.",
22256
+ )
22257
+
22027
22258
  FRAMES_SINCE_LAUNCH = Symbol(
22028
22259
  None,
22029
22260
  None,
@@ -22144,6 +22375,8 @@ class JpRamData:
22144
22375
  None, None, None, "animation_control of 'FONT/alter.wan'"
22145
22376
  )
22146
22377
 
22378
+ SOUND_MEMORY_ARENA_PTR = Symbol(None, None, None, "Pointer to SOUND_MEMORY_ARENA.")
22379
+
22147
22380
  DIALOG_BOX_LIST = Symbol(None, None, None, "Array of allocated dialog box structs.")
22148
22381
 
22149
22382
  LAST_NEW_MOVE = Symbol(
@@ -22261,7 +22494,33 @@ class JpRamData:
22261
22494
  " the game is running.",
22262
22495
  )
22263
22496
 
22264
- WORLD_MAP_MODE = Symbol(None, None, None, "The current world map")
22497
+ GROUND_MEMORY_ARENA_1_PTR = Symbol(
22498
+ None, None, None, "Pointer to GROUND_MEMORY_ARENA_1."
22499
+ )
22500
+
22501
+ GROUND_MEMORY_ARENA_2_PTR = Symbol(
22502
+ None, None, None, "Pointer to GROUND_MEMORY_ARENA_2."
22503
+ )
22504
+
22505
+ GROUND_MEMORY_ARENA_1 = Symbol(
22506
+ None,
22507
+ None,
22508
+ None,
22509
+ "This is a top-level memory arena used for some things in ground mode.\n\nIt's"
22510
+ " used for user_flags 8, 15, and 16.\n\nIncluding the allocator metadata, this"
22511
+ " arena occupies 0x64000 bytes of space.\n\ntype: struct mem_arena",
22512
+ )
22513
+
22514
+ GROUND_MEMORY_ARENA_1_BLOCKS = Symbol(
22515
+ None,
22516
+ None,
22517
+ None,
22518
+ "The block array for GROUND_MEMORY_ARENA_1.\n\ntype: struct mem_block[52]",
22519
+ )
22520
+
22521
+ GROUND_MEMORY_ARENA_1_MEMORY = Symbol(
22522
+ None, None, None, "The memory region for GROUND_MEMORY_ARENA_1."
22523
+ )
22265
22524
 
22266
22525
  SENTRY_DUTY_STRUCT = Symbol(None, None, None, "")
22267
22526