pmdsky-debug-py 10.0.46__py3-none-any.whl → 10.0.48__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.10.0+d562c4b8ff"
1
+ RELEASE = "v0.10.0+4ad2cab8ca"
pmdsky_debug_py/eu.py CHANGED
@@ -855,6 +855,15 @@ class EuArm9Functions:
855
855
  None,
856
856
  )
857
857
 
858
+ GetDsFirmwareUserSettingsVeneer = Symbol(
859
+ [0x4F74],
860
+ [0x2004F74],
861
+ None,
862
+ "GetDsFirmwareUserSettingsVeneer",
863
+ "Likely a linker-generated veneer for GetDsFirmwareUserSettings.\n\nSee https://developer.arm.com/documentation/dui0474/k/image-structure-and-generation/linker-generated-veneers/what-is-a-veneer-\n\nr0: user_settings pointer",
864
+ None,
865
+ )
866
+
858
867
  Rgb8ToRgb5 = Symbol(
859
868
  [0x4FCC],
860
869
  [0x2004FCC],
@@ -918,6 +927,33 @@ class EuArm9Functions:
918
927
  None,
919
928
  )
920
929
 
930
+ DebugPrintSystemClock = Symbol(
931
+ [0x6EF8],
932
+ [0x2006EF8],
933
+ None,
934
+ "DebugPrintSystemClock",
935
+ "This function prints the debug message 'Now date & time' followed by the current date and time of the DS system clock. Called on boot.\n\nNo params.",
936
+ None,
937
+ )
938
+
939
+ GetSystemClock = Symbol(
940
+ [0x6F68],
941
+ [0x2006F68],
942
+ None,
943
+ "GetSystemClock",
944
+ "Gets information surrounding the DS system clock, such as the current month, day, etc.\n\nr0: system_clock pointer",
945
+ None,
946
+ )
947
+
948
+ SprintfSystemClock = Symbol(
949
+ [0x6FB8],
950
+ [0x2006FB8],
951
+ None,
952
+ "SprintfSystemClock",
953
+ "Calls sprintf to format a string using the fields of the DS system clock as 'year/month/day hour:minute:second'. Used in DebugPrintSystemClock.\n\nr0: system_clock pointer\nr1: str",
954
+ None,
955
+ )
956
+
921
957
  DataTransferInit = Symbol(
922
958
  [0x8168],
923
959
  [0x2008168],
@@ -4417,6 +4453,15 @@ class EuArm9Functions:
4417
4453
  None,
4418
4454
  )
4419
4455
 
4456
+ GetCharWidth = Symbol(
4457
+ [0x26830],
4458
+ [0x2026830],
4459
+ None,
4460
+ "GetCharWidth",
4461
+ "Gets the width of a text char.\n\nr0: char\nreturn: char width",
4462
+ None,
4463
+ )
4464
+
4420
4465
  GetColorCodePaletteOffset = Symbol(
4421
4466
  [0x268A8],
4422
4467
  [0x20268A8],
@@ -4426,6 +4471,15 @@ class EuArm9Functions:
4426
4471
  None,
4427
4472
  )
4428
4473
 
4474
+ DrawChar = Symbol(
4475
+ [0x26A50],
4476
+ [0x2026A50],
4477
+ None,
4478
+ "DrawChar",
4479
+ "Draws a single char within a window. This function is also responsible for drawing the shadows of a char.\n\nr0: window_id\nr1: x offset within window\nr2: y offset within window\nr3: char\nstack[0]: color offset\nreturn: char width",
4480
+ None,
4481
+ )
4482
+
4429
4483
  GetWindow = Symbol(
4430
4484
  [0x278EC],
4431
4485
  [0x20278EC],
@@ -4971,7 +5025,7 @@ class EuArm9Functions:
4971
5025
  [0x202D4E4],
4972
5026
  None,
4973
5027
  "CreateOptionsMenu",
4974
- "Creates a window containing a menu controlling game options. Also see struct options_menu.\n\nThis is used for the options and window options menus, among other things.\n\nIf window_params is NULL, OPTIONS_MENU_DEFAULT_WINDOW_PARAMS will be used. Otherwise, it will be copied onto the window, ignoring the update and contents fields. If window_params::width and/or window_params::height are 0, they will be computed based on the contained text.\n\nIf window_extra_info is non-NULL, it will be copied onto the window. Note that window_extra_info can only be NULL if there are no window_flags set that require extra info.\n\nr0: window_params\nr1: window_flags\nr2: window_extra_info pointer\nr3: options_menu_id_item struct array, terminated with an item with msg_id 0\nstack[0]: number of items\nstack[1]: ?\nreturn: window_id",
5028
+ "Creates a window containing a menu controlling game options. Also see struct options_menu.\n\nThis is used for the options and window options menus, among other things.\n\nIf window_params is NULL, OPTIONS_MENU_DEFAULT_WINDOW_PARAMS will be used. Otherwise, it will be copied onto the window, ignoring the update and contents fields. If window_params::width and/or window_params::height are 0, they will be computed based on the contained text.\n\nIf window_extra_info is non-NULL, it will be copied onto the window. Note that window_extra_info can only be NULL if there are no window_flags set that require extra info.\n\nr0: window_params\nr1: window_flags\nr2: window_extra_info pointer\nr3: options_menu_id_item struct array, terminated with an item with msg_id 0\nstack[0]: number of items\nstack[1]: option_states pointer\nreturn: window_id",
4975
5029
  None,
4976
5030
  )
4977
5031
 
@@ -5002,6 +5056,24 @@ class EuArm9Functions:
5002
5056
  None,
5003
5057
  )
5004
5058
 
5059
+ GetOptionsMenuStates = Symbol(
5060
+ [0x2D8A4],
5061
+ [0x202D8A4],
5062
+ None,
5063
+ "GetOptionsMenuStates",
5064
+ "Gets all the option menu states; used to determine what options the user has selected in a menu. Each option state corresponds a options_menu_id_item.\n\nr0: window_id\nr1: option_states pointer",
5065
+ None,
5066
+ )
5067
+
5068
+ GetOptionsMenuResult = Symbol(
5069
+ [0x2D8D8],
5070
+ [0x202D8D8],
5071
+ None,
5072
+ "GetOptionsMenuResult",
5073
+ "Returns whether or not the options menu was confirmed or canceled (e.g., by pressing the B button).\n\nr0: window_id\nreturn: bool",
5074
+ None,
5075
+ )
5076
+
5005
5077
  UpdateOptionsMenu = Symbol(
5006
5078
  [0x2D90C],
5007
5079
  [0x202D90C],
@@ -12751,6 +12823,15 @@ class EuLibsFunctions:
12751
12823
  None,
12752
12824
  )
12753
12825
 
12826
+ GetDsFirmwareUserSettings = Symbol(
12827
+ [0xF930],
12828
+ [0x207BDA0],
12829
+ None,
12830
+ "GetDsFirmwareUserSettings",
12831
+ "Gets the user settings of the DS firmware.\n\nSee https://problemkaputt.de/gbatek.htm#dsfirmwareusersettings\n\nr0: user_settings pointer",
12832
+ None,
12833
+ )
12834
+
12754
12835
  CountLeadingZeros = Symbol(
12755
12836
  [0xF9B4],
12756
12837
  [0x207BE24],
@@ -22679,7 +22760,7 @@ class EuOverlay29Functions:
22679
22760
  [0x22E1F68],
22680
22761
  None,
22681
22762
  "GetTileAtEntity",
22682
- "Returns a pointer to the tile where an entity is located.\n\nr0: pointer to entity\nreturns: pointer to tile",
22763
+ "Returns a pointer to the tile where an entity is located.\n\nr0: pointer to entity\nreturn: pointer to tile",
22683
22764
  None,
22684
22765
  )
22685
22766
 
@@ -24661,7 +24742,7 @@ class EuOverlay29Functions:
24661
24742
  [0x2300988],
24662
24743
  None,
24663
24744
  "GetNumberOfAttacks",
24664
- "Returns the number of attacks that a monster can do in one turn (1 or 2).\n\nChecks for the abilities Swift Swim, Chlorophyll, Unburden, and for exclusive items.\n\nr0: pointer to entity\nreturns: int",
24745
+ "Returns the number of attacks that a monster can do in one turn (1 or 2).\n\nChecks for the abilities Swift Swim, Chlorophyll, Unburden, and for exclusive items.\n\nr0: pointer to entity\nreturn: int",
24665
24746
  None,
24666
24747
  )
24667
24748
 
@@ -25192,7 +25273,7 @@ class EuOverlay29Functions:
25192
25273
  [0x2305A0C],
25193
25274
  None,
25194
25275
  "DisplayActions",
25195
- "Graphically displays any pending actions that have happened but haven't been shown on screen yet. All actions are displayed at the same time. For example, this delayed display system is used to display multiple monsters moving at once even though they take turns sequentially.\n\nr0: Pointer to an entity. Can be null.\nreturns: Seems to be true if there were any pending actions to display.",
25276
+ "Graphically displays any pending actions that have happened but haven't been shown on screen yet. All actions are displayed at the same time. For example, this delayed display system is used to display multiple monsters moving at once even though they take turns sequentially.\n\nr0: Pointer to an entity. Can be null.\nreturn: Seems to be true if there were any pending actions to display.",
25196
25277
  None,
25197
25278
  )
25198
25279
 
@@ -27199,7 +27280,7 @@ class EuOverlay29Functions:
27199
27280
  [0x23246B0],
27200
27281
  None,
27201
27282
  "MoveHitCheck",
27202
- "Determines if a move used hits or misses the target. It gets called twice per target, once with r3 = false and a second time with r3 = true.\n\nr0: Attacker\nr1: Defender\nr2: Pointer to move data\nr3: False if the move's first accuracy (accuracy1) should be used, true if its second accuracy (accuracy2) should be used instead.\nstack[0]: If true, always hit if the attacker and defender are the same. Otherwise, moves can miss no matter what the attacker and defender are.\nreturns: True if the move hits, false if it misses.",
27283
+ "Determines if a move used hits or misses the target. It gets called twice per target, once with r3 = false and a second time with r3 = true.\n\nr0: Attacker\nr1: Defender\nr2: Pointer to move data\nr3: False if the move's first accuracy (accuracy1) should be used, true if its second accuracy (accuracy2) should be used instead.\nstack[0]: If true, always hit if the attacker and defender are the same. Otherwise, moves can miss no matter what the attacker and defender are.\nreturn: True if the move hits, false if it misses.",
27203
27284
  None,
27204
27285
  )
27205
27286
 
@@ -27253,7 +27334,7 @@ class EuOverlay29Functions:
27253
27334
  [0x232539C],
27254
27335
  None,
27255
27336
  "DungeonRandOutcomeUserTargetInteraction",
27256
- "Like DungeonRandOutcome, but specifically for user-target interactions.\n\nThis modifies the underlying random process depending on factors like Serene Grace, and whether or not either entity has fainted.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturns: True if the random check passed, false otherwise.",
27337
+ "Like DungeonRandOutcome, but specifically for user-target interactions.\n\nThis modifies the underlying random process depending on factors like Serene Grace, and whether or not either entity has fainted.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturn: True if the random check passed, false otherwise.",
27257
27338
  None,
27258
27339
  )
27259
27340
 
@@ -27262,7 +27343,7 @@ class EuOverlay29Functions:
27262
27343
  [0x2325488],
27263
27344
  None,
27264
27345
  "DungeonRandOutcomeUserAction",
27265
- "Like DungeonRandOutcome, but specifically for user actions.\n\nThis modifies the underlying random process to factor in Serene Grace (and checks whether the user is a valid entity).\n\nr0: entity pointer\nr1: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturns: True if the random check passed, false otherwise.",
27346
+ "Like DungeonRandOutcome, but specifically for user actions.\n\nThis modifies the underlying random process to factor in Serene Grace (and checks whether the user is a valid entity).\n\nr0: entity pointer\nr1: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturn: True if the random check passed, false otherwise.",
27266
27347
  None,
27267
27348
  )
27268
27349
 
@@ -843,6 +843,15 @@ class EuItcmArm9Functions:
843
843
  None,
844
844
  )
845
845
 
846
+ GetDsFirmwareUserSettingsVeneer = Symbol(
847
+ None,
848
+ None,
849
+ None,
850
+ "GetDsFirmwareUserSettingsVeneer",
851
+ "Likely a linker-generated veneer for GetDsFirmwareUserSettings.\n\nSee https://developer.arm.com/documentation/dui0474/k/image-structure-and-generation/linker-generated-veneers/what-is-a-veneer-\n\nr0: user_settings pointer",
852
+ None,
853
+ )
854
+
846
855
  Rgb8ToRgb5 = Symbol(
847
856
  None,
848
857
  None,
@@ -906,6 +915,33 @@ class EuItcmArm9Functions:
906
915
  None,
907
916
  )
908
917
 
918
+ DebugPrintSystemClock = Symbol(
919
+ None,
920
+ None,
921
+ None,
922
+ "DebugPrintSystemClock",
923
+ "This function prints the debug message 'Now date & time' followed by the current date and time of the DS system clock. Called on boot.\n\nNo params.",
924
+ None,
925
+ )
926
+
927
+ GetSystemClock = Symbol(
928
+ None,
929
+ None,
930
+ None,
931
+ "GetSystemClock",
932
+ "Gets information surrounding the DS system clock, such as the current month, day, etc.\n\nr0: system_clock pointer",
933
+ None,
934
+ )
935
+
936
+ SprintfSystemClock = Symbol(
937
+ None,
938
+ None,
939
+ None,
940
+ "SprintfSystemClock",
941
+ "Calls sprintf to format a string using the fields of the DS system clock as 'year/month/day hour:minute:second'. Used in DebugPrintSystemClock.\n\nr0: system_clock pointer\nr1: str",
942
+ None,
943
+ )
944
+
909
945
  DataTransferInit = Symbol(
910
946
  None,
911
947
  None,
@@ -4371,6 +4407,15 @@ class EuItcmArm9Functions:
4371
4407
  None,
4372
4408
  )
4373
4409
 
4410
+ GetCharWidth = Symbol(
4411
+ None,
4412
+ None,
4413
+ None,
4414
+ "GetCharWidth",
4415
+ "Gets the width of a text char.\n\nr0: char\nreturn: char width",
4416
+ None,
4417
+ )
4418
+
4374
4419
  GetColorCodePaletteOffset = Symbol(
4375
4420
  None,
4376
4421
  None,
@@ -4380,6 +4425,15 @@ class EuItcmArm9Functions:
4380
4425
  None,
4381
4426
  )
4382
4427
 
4428
+ DrawChar = Symbol(
4429
+ None,
4430
+ None,
4431
+ None,
4432
+ "DrawChar",
4433
+ "Draws a single char within a window. This function is also responsible for drawing the shadows of a char.\n\nr0: window_id\nr1: x offset within window\nr2: y offset within window\nr3: char\nstack[0]: color offset\nreturn: char width",
4434
+ None,
4435
+ )
4436
+
4383
4437
  GetWindow = Symbol(
4384
4438
  None,
4385
4439
  None,
@@ -4925,7 +4979,7 @@ class EuItcmArm9Functions:
4925
4979
  None,
4926
4980
  None,
4927
4981
  "CreateOptionsMenu",
4928
- "Creates a window containing a menu controlling game options. Also see struct options_menu.\n\nThis is used for the options and window options menus, among other things.\n\nIf window_params is NULL, OPTIONS_MENU_DEFAULT_WINDOW_PARAMS will be used. Otherwise, it will be copied onto the window, ignoring the update and contents fields. If window_params::width and/or window_params::height are 0, they will be computed based on the contained text.\n\nIf window_extra_info is non-NULL, it will be copied onto the window. Note that window_extra_info can only be NULL if there are no window_flags set that require extra info.\n\nr0: window_params\nr1: window_flags\nr2: window_extra_info pointer\nr3: options_menu_id_item struct array, terminated with an item with msg_id 0\nstack[0]: number of items\nstack[1]: ?\nreturn: window_id",
4982
+ "Creates a window containing a menu controlling game options. Also see struct options_menu.\n\nThis is used for the options and window options menus, among other things.\n\nIf window_params is NULL, OPTIONS_MENU_DEFAULT_WINDOW_PARAMS will be used. Otherwise, it will be copied onto the window, ignoring the update and contents fields. If window_params::width and/or window_params::height are 0, they will be computed based on the contained text.\n\nIf window_extra_info is non-NULL, it will be copied onto the window. Note that window_extra_info can only be NULL if there are no window_flags set that require extra info.\n\nr0: window_params\nr1: window_flags\nr2: window_extra_info pointer\nr3: options_menu_id_item struct array, terminated with an item with msg_id 0\nstack[0]: number of items\nstack[1]: option_states pointer\nreturn: window_id",
4929
4983
  None,
4930
4984
  )
4931
4985
 
@@ -4956,6 +5010,24 @@ class EuItcmArm9Functions:
4956
5010
  None,
4957
5011
  )
4958
5012
 
5013
+ GetOptionsMenuStates = Symbol(
5014
+ None,
5015
+ None,
5016
+ None,
5017
+ "GetOptionsMenuStates",
5018
+ "Gets all the option menu states; used to determine what options the user has selected in a menu. Each option state corresponds a options_menu_id_item.\n\nr0: window_id\nr1: option_states pointer",
5019
+ None,
5020
+ )
5021
+
5022
+ GetOptionsMenuResult = Symbol(
5023
+ None,
5024
+ None,
5025
+ None,
5026
+ "GetOptionsMenuResult",
5027
+ "Returns whether or not the options menu was confirmed or canceled (e.g., by pressing the B button).\n\nr0: window_id\nreturn: bool",
5028
+ None,
5029
+ )
5030
+
4959
5031
  UpdateOptionsMenu = Symbol(
4960
5032
  None,
4961
5033
  None,
@@ -12510,6 +12582,15 @@ class EuItcmLibsFunctions:
12510
12582
  None,
12511
12583
  )
12512
12584
 
12585
+ GetDsFirmwareUserSettings = Symbol(
12586
+ None,
12587
+ None,
12588
+ None,
12589
+ "GetDsFirmwareUserSettings",
12590
+ "Gets the user settings of the DS firmware.\n\nSee https://problemkaputt.de/gbatek.htm#dsfirmwareusersettings\n\nr0: user_settings pointer",
12591
+ None,
12592
+ )
12593
+
12513
12594
  CountLeadingZeros = Symbol(
12514
12595
  None,
12515
12596
  None,
@@ -22178,7 +22259,7 @@ class EuItcmOverlay29Functions:
22178
22259
  None,
22179
22260
  None,
22180
22261
  "GetTileAtEntity",
22181
- "Returns a pointer to the tile where an entity is located.\n\nr0: pointer to entity\nreturns: pointer to tile",
22262
+ "Returns a pointer to the tile where an entity is located.\n\nr0: pointer to entity\nreturn: pointer to tile",
22182
22263
  None,
22183
22264
  )
22184
22265
 
@@ -24086,7 +24167,7 @@ class EuItcmOverlay29Functions:
24086
24167
  None,
24087
24168
  None,
24088
24169
  "GetNumberOfAttacks",
24089
- "Returns the number of attacks that a monster can do in one turn (1 or 2).\n\nChecks for the abilities Swift Swim, Chlorophyll, Unburden, and for exclusive items.\n\nr0: pointer to entity\nreturns: int",
24170
+ "Returns the number of attacks that a monster can do in one turn (1 or 2).\n\nChecks for the abilities Swift Swim, Chlorophyll, Unburden, and for exclusive items.\n\nr0: pointer to entity\nreturn: int",
24090
24171
  None,
24091
24172
  )
24092
24173
 
@@ -24617,7 +24698,7 @@ class EuItcmOverlay29Functions:
24617
24698
  None,
24618
24699
  None,
24619
24700
  "DisplayActions",
24620
- "Graphically displays any pending actions that have happened but haven't been shown on screen yet. All actions are displayed at the same time. For example, this delayed display system is used to display multiple monsters moving at once even though they take turns sequentially.\n\nr0: Pointer to an entity. Can be null.\nreturns: Seems to be true if there were any pending actions to display.",
24701
+ "Graphically displays any pending actions that have happened but haven't been shown on screen yet. All actions are displayed at the same time. For example, this delayed display system is used to display multiple monsters moving at once even though they take turns sequentially.\n\nr0: Pointer to an entity. Can be null.\nreturn: Seems to be true if there were any pending actions to display.",
24621
24702
  None,
24622
24703
  )
24623
24704
 
@@ -26624,7 +26705,7 @@ class EuItcmOverlay29Functions:
26624
26705
  None,
26625
26706
  None,
26626
26707
  "MoveHitCheck",
26627
- "Determines if a move used hits or misses the target. It gets called twice per target, once with r3 = false and a second time with r3 = true.\n\nr0: Attacker\nr1: Defender\nr2: Pointer to move data\nr3: False if the move's first accuracy (accuracy1) should be used, true if its second accuracy (accuracy2) should be used instead.\nstack[0]: If true, always hit if the attacker and defender are the same. Otherwise, moves can miss no matter what the attacker and defender are.\nreturns: True if the move hits, false if it misses.",
26708
+ "Determines if a move used hits or misses the target. It gets called twice per target, once with r3 = false and a second time with r3 = true.\n\nr0: Attacker\nr1: Defender\nr2: Pointer to move data\nr3: False if the move's first accuracy (accuracy1) should be used, true if its second accuracy (accuracy2) should be used instead.\nstack[0]: If true, always hit if the attacker and defender are the same. Otherwise, moves can miss no matter what the attacker and defender are.\nreturn: True if the move hits, false if it misses.",
26628
26709
  None,
26629
26710
  )
26630
26711
 
@@ -26678,7 +26759,7 @@ class EuItcmOverlay29Functions:
26678
26759
  None,
26679
26760
  None,
26680
26761
  "DungeonRandOutcomeUserTargetInteraction",
26681
- "Like DungeonRandOutcome, but specifically for user-target interactions.\n\nThis modifies the underlying random process depending on factors like Serene Grace, and whether or not either entity has fainted.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturns: True if the random check passed, false otherwise.",
26762
+ "Like DungeonRandOutcome, but specifically for user-target interactions.\n\nThis modifies the underlying random process depending on factors like Serene Grace, and whether or not either entity has fainted.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturn: True if the random check passed, false otherwise.",
26682
26763
  None,
26683
26764
  )
26684
26765
 
@@ -26687,7 +26768,7 @@ class EuItcmOverlay29Functions:
26687
26768
  None,
26688
26769
  None,
26689
26770
  "DungeonRandOutcomeUserAction",
26690
- "Like DungeonRandOutcome, but specifically for user actions.\n\nThis modifies the underlying random process to factor in Serene Grace (and checks whether the user is a valid entity).\n\nr0: entity pointer\nr1: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturns: True if the random check passed, false otherwise.",
26771
+ "Like DungeonRandOutcome, but specifically for user actions.\n\nThis modifies the underlying random process to factor in Serene Grace (and checks whether the user is a valid entity).\n\nr0: entity pointer\nr1: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturn: True if the random check passed, false otherwise.",
26691
26772
  None,
26692
26773
  )
26693
26774
 
pmdsky_debug_py/jp.py CHANGED
@@ -855,6 +855,15 @@ class JpArm9Functions:
855
855
  None,
856
856
  )
857
857
 
858
+ GetDsFirmwareUserSettingsVeneer = Symbol(
859
+ [0x4F74],
860
+ [0x2004F74],
861
+ None,
862
+ "GetDsFirmwareUserSettingsVeneer",
863
+ "Likely a linker-generated veneer for GetDsFirmwareUserSettings.\n\nSee https://developer.arm.com/documentation/dui0474/k/image-structure-and-generation/linker-generated-veneers/what-is-a-veneer-\n\nr0: user_settings pointer",
864
+ None,
865
+ )
866
+
858
867
  Rgb8ToRgb5 = Symbol(
859
868
  [0x4FCC],
860
869
  [0x2004FCC],
@@ -918,6 +927,33 @@ class JpArm9Functions:
918
927
  None,
919
928
  )
920
929
 
930
+ DebugPrintSystemClock = Symbol(
931
+ [0x6EF8],
932
+ [0x2006EF8],
933
+ None,
934
+ "DebugPrintSystemClock",
935
+ "This function prints the debug message 'Now date & time' followed by the current date and time of the DS system clock. Called on boot.\n\nNo params.",
936
+ None,
937
+ )
938
+
939
+ GetSystemClock = Symbol(
940
+ [0x6F68],
941
+ [0x2006F68],
942
+ None,
943
+ "GetSystemClock",
944
+ "Gets information surrounding the DS system clock, such as the current month, day, etc.\n\nr0: system_clock pointer",
945
+ None,
946
+ )
947
+
948
+ SprintfSystemClock = Symbol(
949
+ [0x6FB8],
950
+ [0x2006FB8],
951
+ None,
952
+ "SprintfSystemClock",
953
+ "Calls sprintf to format a string using the fields of the DS system clock as 'year/month/day hour:minute:second'. Used in DebugPrintSystemClock.\n\nr0: system_clock pointer\nr1: str",
954
+ None,
955
+ )
956
+
921
957
  DataTransferInit = Symbol(
922
958
  [0x8168],
923
959
  [0x2008168],
@@ -4417,6 +4453,15 @@ class JpArm9Functions:
4417
4453
  None,
4418
4454
  )
4419
4455
 
4456
+ GetCharWidth = Symbol(
4457
+ [0x26624],
4458
+ [0x2026624],
4459
+ None,
4460
+ "GetCharWidth",
4461
+ "Gets the width of a text char.\n\nr0: char\nreturn: char width",
4462
+ None,
4463
+ )
4464
+
4420
4465
  GetColorCodePaletteOffset = Symbol(
4421
4466
  [0x2669C],
4422
4467
  [0x202669C],
@@ -4426,6 +4471,15 @@ class JpArm9Functions:
4426
4471
  None,
4427
4472
  )
4428
4473
 
4474
+ DrawChar = Symbol(
4475
+ [0x26844],
4476
+ [0x2026844],
4477
+ None,
4478
+ "DrawChar",
4479
+ "Draws a single char within a window. This function is also responsible for drawing the shadows of a char.\n\nr0: window_id\nr1: x offset within window\nr2: y offset within window\nr3: char\nstack[0]: color offset\nreturn: char width",
4480
+ None,
4481
+ )
4482
+
4429
4483
  GetWindow = Symbol(
4430
4484
  [0x27940],
4431
4485
  [0x2027940],
@@ -4971,7 +5025,7 @@ class JpArm9Functions:
4971
5025
  [0x202D548],
4972
5026
  None,
4973
5027
  "CreateOptionsMenu",
4974
- "Creates a window containing a menu controlling game options. Also see struct options_menu.\n\nThis is used for the options and window options menus, among other things.\n\nIf window_params is NULL, OPTIONS_MENU_DEFAULT_WINDOW_PARAMS will be used. Otherwise, it will be copied onto the window, ignoring the update and contents fields. If window_params::width and/or window_params::height are 0, they will be computed based on the contained text.\n\nIf window_extra_info is non-NULL, it will be copied onto the window. Note that window_extra_info can only be NULL if there are no window_flags set that require extra info.\n\nr0: window_params\nr1: window_flags\nr2: window_extra_info pointer\nr3: options_menu_id_item struct array, terminated with an item with msg_id 0\nstack[0]: number of items\nstack[1]: ?\nreturn: window_id",
5028
+ "Creates a window containing a menu controlling game options. Also see struct options_menu.\n\nThis is used for the options and window options menus, among other things.\n\nIf window_params is NULL, OPTIONS_MENU_DEFAULT_WINDOW_PARAMS will be used. Otherwise, it will be copied onto the window, ignoring the update and contents fields. If window_params::width and/or window_params::height are 0, they will be computed based on the contained text.\n\nIf window_extra_info is non-NULL, it will be copied onto the window. Note that window_extra_info can only be NULL if there are no window_flags set that require extra info.\n\nr0: window_params\nr1: window_flags\nr2: window_extra_info pointer\nr3: options_menu_id_item struct array, terminated with an item with msg_id 0\nstack[0]: number of items\nstack[1]: option_states pointer\nreturn: window_id",
4975
5029
  None,
4976
5030
  )
4977
5031
 
@@ -5002,6 +5056,24 @@ class JpArm9Functions:
5002
5056
  None,
5003
5057
  )
5004
5058
 
5059
+ GetOptionsMenuStates = Symbol(
5060
+ [0x2D908],
5061
+ [0x202D908],
5062
+ None,
5063
+ "GetOptionsMenuStates",
5064
+ "Gets all the option menu states; used to determine what options the user has selected in a menu. Each option state corresponds a options_menu_id_item.\n\nr0: window_id\nr1: option_states pointer",
5065
+ None,
5066
+ )
5067
+
5068
+ GetOptionsMenuResult = Symbol(
5069
+ [0x2D93C],
5070
+ [0x202D93C],
5071
+ None,
5072
+ "GetOptionsMenuResult",
5073
+ "Returns whether or not the options menu was confirmed or canceled (e.g., by pressing the B button).\n\nr0: window_id\nreturn: bool",
5074
+ None,
5075
+ )
5076
+
5005
5077
  UpdateOptionsMenu = Symbol(
5006
5078
  [0x2D970],
5007
5079
  [0x202D970],
@@ -12746,6 +12818,15 @@ class JpLibsFunctions:
12746
12818
  None,
12747
12819
  )
12748
12820
 
12821
+ GetDsFirmwareUserSettings = Symbol(
12822
+ [0xF930],
12823
+ [0x207BCF0],
12824
+ None,
12825
+ "GetDsFirmwareUserSettings",
12826
+ "Gets the user settings of the DS firmware.\n\nSee https://problemkaputt.de/gbatek.htm#dsfirmwareusersettings\n\nr0: user_settings pointer",
12827
+ None,
12828
+ )
12829
+
12749
12830
  CountLeadingZeros = Symbol(
12750
12831
  [0xF9B4],
12751
12832
  [0x207BD74],
@@ -22670,7 +22751,7 @@ class JpOverlay29Functions:
22670
22751
  [0x22E2CB8],
22671
22752
  None,
22672
22753
  "GetTileAtEntity",
22673
- "Returns a pointer to the tile where an entity is located.\n\nr0: pointer to entity\nreturns: pointer to tile",
22754
+ "Returns a pointer to the tile where an entity is located.\n\nr0: pointer to entity\nreturn: pointer to tile",
22674
22755
  None,
22675
22756
  )
22676
22757
 
@@ -24652,7 +24733,7 @@ class JpOverlay29Functions:
24652
24733
  [0x230138C],
24653
24734
  None,
24654
24735
  "GetNumberOfAttacks",
24655
- "Returns the number of attacks that a monster can do in one turn (1 or 2).\n\nChecks for the abilities Swift Swim, Chlorophyll, Unburden, and for exclusive items.\n\nr0: pointer to entity\nreturns: int",
24736
+ "Returns the number of attacks that a monster can do in one turn (1 or 2).\n\nChecks for the abilities Swift Swim, Chlorophyll, Unburden, and for exclusive items.\n\nr0: pointer to entity\nreturn: int",
24656
24737
  None,
24657
24738
  )
24658
24739
 
@@ -25183,7 +25264,7 @@ class JpOverlay29Functions:
25183
25264
  [0x2306530],
25184
25265
  None,
25185
25266
  "DisplayActions",
25186
- "Graphically displays any pending actions that have happened but haven't been shown on screen yet. All actions are displayed at the same time. For example, this delayed display system is used to display multiple monsters moving at once even though they take turns sequentially.\n\nr0: Pointer to an entity. Can be null.\nreturns: Seems to be true if there were any pending actions to display.",
25267
+ "Graphically displays any pending actions that have happened but haven't been shown on screen yet. All actions are displayed at the same time. For example, this delayed display system is used to display multiple monsters moving at once even though they take turns sequentially.\n\nr0: Pointer to an entity. Can be null.\nreturn: Seems to be true if there were any pending actions to display.",
25187
25268
  None,
25188
25269
  )
25189
25270
 
@@ -27190,7 +27271,7 @@ class JpOverlay29Functions:
27190
27271
  [0x23250E8],
27191
27272
  None,
27192
27273
  "MoveHitCheck",
27193
- "Determines if a move used hits or misses the target. It gets called twice per target, once with r3 = false and a second time with r3 = true.\n\nr0: Attacker\nr1: Defender\nr2: Pointer to move data\nr3: False if the move's first accuracy (accuracy1) should be used, true if its second accuracy (accuracy2) should be used instead.\nstack[0]: If true, always hit if the attacker and defender are the same. Otherwise, moves can miss no matter what the attacker and defender are.\nreturns: True if the move hits, false if it misses.",
27274
+ "Determines if a move used hits or misses the target. It gets called twice per target, once with r3 = false and a second time with r3 = true.\n\nr0: Attacker\nr1: Defender\nr2: Pointer to move data\nr3: False if the move's first accuracy (accuracy1) should be used, true if its second accuracy (accuracy2) should be used instead.\nstack[0]: If true, always hit if the attacker and defender are the same. Otherwise, moves can miss no matter what the attacker and defender are.\nreturn: True if the move hits, false if it misses.",
27194
27275
  None,
27195
27276
  )
27196
27277
 
@@ -27244,7 +27325,7 @@ class JpOverlay29Functions:
27244
27325
  [0x2325DC4],
27245
27326
  None,
27246
27327
  "DungeonRandOutcomeUserTargetInteraction",
27247
- "Like DungeonRandOutcome, but specifically for user-target interactions.\n\nThis modifies the underlying random process depending on factors like Serene Grace, and whether or not either entity has fainted.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturns: True if the random check passed, false otherwise.",
27328
+ "Like DungeonRandOutcome, but specifically for user-target interactions.\n\nThis modifies the underlying random process depending on factors like Serene Grace, and whether or not either entity has fainted.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturn: True if the random check passed, false otherwise.",
27248
27329
  None,
27249
27330
  )
27250
27331
 
@@ -27253,7 +27334,7 @@ class JpOverlay29Functions:
27253
27334
  [0x2325EAC],
27254
27335
  None,
27255
27336
  "DungeonRandOutcomeUserAction",
27256
- "Like DungeonRandOutcome, but specifically for user actions.\n\nThis modifies the underlying random process to factor in Serene Grace (and checks whether the user is a valid entity).\n\nr0: entity pointer\nr1: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturns: True if the random check passed, false otherwise.",
27337
+ "Like DungeonRandOutcome, but specifically for user actions.\n\nThis modifies the underlying random process to factor in Serene Grace (and checks whether the user is a valid entity).\n\nr0: entity pointer\nr1: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturn: True if the random check passed, false otherwise.",
27257
27338
  None,
27258
27339
  )
27259
27340
 
@@ -843,6 +843,15 @@ class JpItcmArm9Functions:
843
843
  None,
844
844
  )
845
845
 
846
+ GetDsFirmwareUserSettingsVeneer = Symbol(
847
+ None,
848
+ None,
849
+ None,
850
+ "GetDsFirmwareUserSettingsVeneer",
851
+ "Likely a linker-generated veneer for GetDsFirmwareUserSettings.\n\nSee https://developer.arm.com/documentation/dui0474/k/image-structure-and-generation/linker-generated-veneers/what-is-a-veneer-\n\nr0: user_settings pointer",
852
+ None,
853
+ )
854
+
846
855
  Rgb8ToRgb5 = Symbol(
847
856
  None,
848
857
  None,
@@ -906,6 +915,33 @@ class JpItcmArm9Functions:
906
915
  None,
907
916
  )
908
917
 
918
+ DebugPrintSystemClock = Symbol(
919
+ None,
920
+ None,
921
+ None,
922
+ "DebugPrintSystemClock",
923
+ "This function prints the debug message 'Now date & time' followed by the current date and time of the DS system clock. Called on boot.\n\nNo params.",
924
+ None,
925
+ )
926
+
927
+ GetSystemClock = Symbol(
928
+ None,
929
+ None,
930
+ None,
931
+ "GetSystemClock",
932
+ "Gets information surrounding the DS system clock, such as the current month, day, etc.\n\nr0: system_clock pointer",
933
+ None,
934
+ )
935
+
936
+ SprintfSystemClock = Symbol(
937
+ None,
938
+ None,
939
+ None,
940
+ "SprintfSystemClock",
941
+ "Calls sprintf to format a string using the fields of the DS system clock as 'year/month/day hour:minute:second'. Used in DebugPrintSystemClock.\n\nr0: system_clock pointer\nr1: str",
942
+ None,
943
+ )
944
+
909
945
  DataTransferInit = Symbol(
910
946
  None,
911
947
  None,
@@ -4371,6 +4407,15 @@ class JpItcmArm9Functions:
4371
4407
  None,
4372
4408
  )
4373
4409
 
4410
+ GetCharWidth = Symbol(
4411
+ None,
4412
+ None,
4413
+ None,
4414
+ "GetCharWidth",
4415
+ "Gets the width of a text char.\n\nr0: char\nreturn: char width",
4416
+ None,
4417
+ )
4418
+
4374
4419
  GetColorCodePaletteOffset = Symbol(
4375
4420
  None,
4376
4421
  None,
@@ -4380,6 +4425,15 @@ class JpItcmArm9Functions:
4380
4425
  None,
4381
4426
  )
4382
4427
 
4428
+ DrawChar = Symbol(
4429
+ None,
4430
+ None,
4431
+ None,
4432
+ "DrawChar",
4433
+ "Draws a single char within a window. This function is also responsible for drawing the shadows of a char.\n\nr0: window_id\nr1: x offset within window\nr2: y offset within window\nr3: char\nstack[0]: color offset\nreturn: char width",
4434
+ None,
4435
+ )
4436
+
4383
4437
  GetWindow = Symbol(
4384
4438
  None,
4385
4439
  None,
@@ -4925,7 +4979,7 @@ class JpItcmArm9Functions:
4925
4979
  None,
4926
4980
  None,
4927
4981
  "CreateOptionsMenu",
4928
- "Creates a window containing a menu controlling game options. Also see struct options_menu.\n\nThis is used for the options and window options menus, among other things.\n\nIf window_params is NULL, OPTIONS_MENU_DEFAULT_WINDOW_PARAMS will be used. Otherwise, it will be copied onto the window, ignoring the update and contents fields. If window_params::width and/or window_params::height are 0, they will be computed based on the contained text.\n\nIf window_extra_info is non-NULL, it will be copied onto the window. Note that window_extra_info can only be NULL if there are no window_flags set that require extra info.\n\nr0: window_params\nr1: window_flags\nr2: window_extra_info pointer\nr3: options_menu_id_item struct array, terminated with an item with msg_id 0\nstack[0]: number of items\nstack[1]: ?\nreturn: window_id",
4982
+ "Creates a window containing a menu controlling game options. Also see struct options_menu.\n\nThis is used for the options and window options menus, among other things.\n\nIf window_params is NULL, OPTIONS_MENU_DEFAULT_WINDOW_PARAMS will be used. Otherwise, it will be copied onto the window, ignoring the update and contents fields. If window_params::width and/or window_params::height are 0, they will be computed based on the contained text.\n\nIf window_extra_info is non-NULL, it will be copied onto the window. Note that window_extra_info can only be NULL if there are no window_flags set that require extra info.\n\nr0: window_params\nr1: window_flags\nr2: window_extra_info pointer\nr3: options_menu_id_item struct array, terminated with an item with msg_id 0\nstack[0]: number of items\nstack[1]: option_states pointer\nreturn: window_id",
4929
4983
  None,
4930
4984
  )
4931
4985
 
@@ -4956,6 +5010,24 @@ class JpItcmArm9Functions:
4956
5010
  None,
4957
5011
  )
4958
5012
 
5013
+ GetOptionsMenuStates = Symbol(
5014
+ None,
5015
+ None,
5016
+ None,
5017
+ "GetOptionsMenuStates",
5018
+ "Gets all the option menu states; used to determine what options the user has selected in a menu. Each option state corresponds a options_menu_id_item.\n\nr0: window_id\nr1: option_states pointer",
5019
+ None,
5020
+ )
5021
+
5022
+ GetOptionsMenuResult = Symbol(
5023
+ None,
5024
+ None,
5025
+ None,
5026
+ "GetOptionsMenuResult",
5027
+ "Returns whether or not the options menu was confirmed or canceled (e.g., by pressing the B button).\n\nr0: window_id\nreturn: bool",
5028
+ None,
5029
+ )
5030
+
4959
5031
  UpdateOptionsMenu = Symbol(
4960
5032
  None,
4961
5033
  None,
@@ -12510,6 +12582,15 @@ class JpItcmLibsFunctions:
12510
12582
  None,
12511
12583
  )
12512
12584
 
12585
+ GetDsFirmwareUserSettings = Symbol(
12586
+ None,
12587
+ None,
12588
+ None,
12589
+ "GetDsFirmwareUserSettings",
12590
+ "Gets the user settings of the DS firmware.\n\nSee https://problemkaputt.de/gbatek.htm#dsfirmwareusersettings\n\nr0: user_settings pointer",
12591
+ None,
12592
+ )
12593
+
12513
12594
  CountLeadingZeros = Symbol(
12514
12595
  None,
12515
12596
  None,
@@ -22178,7 +22259,7 @@ class JpItcmOverlay29Functions:
22178
22259
  None,
22179
22260
  None,
22180
22261
  "GetTileAtEntity",
22181
- "Returns a pointer to the tile where an entity is located.\n\nr0: pointer to entity\nreturns: pointer to tile",
22262
+ "Returns a pointer to the tile where an entity is located.\n\nr0: pointer to entity\nreturn: pointer to tile",
22182
22263
  None,
22183
22264
  )
22184
22265
 
@@ -24086,7 +24167,7 @@ class JpItcmOverlay29Functions:
24086
24167
  None,
24087
24168
  None,
24088
24169
  "GetNumberOfAttacks",
24089
- "Returns the number of attacks that a monster can do in one turn (1 or 2).\n\nChecks for the abilities Swift Swim, Chlorophyll, Unburden, and for exclusive items.\n\nr0: pointer to entity\nreturns: int",
24170
+ "Returns the number of attacks that a monster can do in one turn (1 or 2).\n\nChecks for the abilities Swift Swim, Chlorophyll, Unburden, and for exclusive items.\n\nr0: pointer to entity\nreturn: int",
24090
24171
  None,
24091
24172
  )
24092
24173
 
@@ -24617,7 +24698,7 @@ class JpItcmOverlay29Functions:
24617
24698
  None,
24618
24699
  None,
24619
24700
  "DisplayActions",
24620
- "Graphically displays any pending actions that have happened but haven't been shown on screen yet. All actions are displayed at the same time. For example, this delayed display system is used to display multiple monsters moving at once even though they take turns sequentially.\n\nr0: Pointer to an entity. Can be null.\nreturns: Seems to be true if there were any pending actions to display.",
24701
+ "Graphically displays any pending actions that have happened but haven't been shown on screen yet. All actions are displayed at the same time. For example, this delayed display system is used to display multiple monsters moving at once even though they take turns sequentially.\n\nr0: Pointer to an entity. Can be null.\nreturn: Seems to be true if there were any pending actions to display.",
24621
24702
  None,
24622
24703
  )
24623
24704
 
@@ -26624,7 +26705,7 @@ class JpItcmOverlay29Functions:
26624
26705
  None,
26625
26706
  None,
26626
26707
  "MoveHitCheck",
26627
- "Determines if a move used hits or misses the target. It gets called twice per target, once with r3 = false and a second time with r3 = true.\n\nr0: Attacker\nr1: Defender\nr2: Pointer to move data\nr3: False if the move's first accuracy (accuracy1) should be used, true if its second accuracy (accuracy2) should be used instead.\nstack[0]: If true, always hit if the attacker and defender are the same. Otherwise, moves can miss no matter what the attacker and defender are.\nreturns: True if the move hits, false if it misses.",
26708
+ "Determines if a move used hits or misses the target. It gets called twice per target, once with r3 = false and a second time with r3 = true.\n\nr0: Attacker\nr1: Defender\nr2: Pointer to move data\nr3: False if the move's first accuracy (accuracy1) should be used, true if its second accuracy (accuracy2) should be used instead.\nstack[0]: If true, always hit if the attacker and defender are the same. Otherwise, moves can miss no matter what the attacker and defender are.\nreturn: True if the move hits, false if it misses.",
26628
26709
  None,
26629
26710
  )
26630
26711
 
@@ -26678,7 +26759,7 @@ class JpItcmOverlay29Functions:
26678
26759
  None,
26679
26760
  None,
26680
26761
  "DungeonRandOutcomeUserTargetInteraction",
26681
- "Like DungeonRandOutcome, but specifically for user-target interactions.\n\nThis modifies the underlying random process depending on factors like Serene Grace, and whether or not either entity has fainted.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturns: True if the random check passed, false otherwise.",
26762
+ "Like DungeonRandOutcome, but specifically for user-target interactions.\n\nThis modifies the underlying random process depending on factors like Serene Grace, and whether or not either entity has fainted.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturn: True if the random check passed, false otherwise.",
26682
26763
  None,
26683
26764
  )
26684
26765
 
@@ -26687,7 +26768,7 @@ class JpItcmOverlay29Functions:
26687
26768
  None,
26688
26769
  None,
26689
26770
  "DungeonRandOutcomeUserAction",
26690
- "Like DungeonRandOutcome, but specifically for user actions.\n\nThis modifies the underlying random process to factor in Serene Grace (and checks whether the user is a valid entity).\n\nr0: entity pointer\nr1: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturns: True if the random check passed, false otherwise.",
26771
+ "Like DungeonRandOutcome, but specifically for user actions.\n\nThis modifies the underlying random process to factor in Serene Grace (and checks whether the user is a valid entity).\n\nr0: entity pointer\nr1: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturn: True if the random check passed, false otherwise.",
26691
26772
  None,
26692
26773
  )
26693
26774
 
pmdsky_debug_py/na.py CHANGED
@@ -855,6 +855,15 @@ class NaArm9Functions:
855
855
  None,
856
856
  )
857
857
 
858
+ GetDsFirmwareUserSettingsVeneer = Symbol(
859
+ [0x4F74],
860
+ [0x2004F74],
861
+ None,
862
+ "GetDsFirmwareUserSettingsVeneer",
863
+ "Likely a linker-generated veneer for GetDsFirmwareUserSettings.\n\nSee https://developer.arm.com/documentation/dui0474/k/image-structure-and-generation/linker-generated-veneers/what-is-a-veneer-\n\nr0: user_settings pointer",
864
+ None,
865
+ )
866
+
858
867
  Rgb8ToRgb5 = Symbol(
859
868
  [0x4FCC],
860
869
  [0x2004FCC],
@@ -918,6 +927,33 @@ class NaArm9Functions:
918
927
  None,
919
928
  )
920
929
 
930
+ DebugPrintSystemClock = Symbol(
931
+ [0x6EF8],
932
+ [0x2006EF8],
933
+ None,
934
+ "DebugPrintSystemClock",
935
+ "This function prints the debug message 'Now date & time' followed by the current date and time of the DS system clock. Called on boot.\n\nNo params.",
936
+ None,
937
+ )
938
+
939
+ GetSystemClock = Symbol(
940
+ [0x6F68],
941
+ [0x2006F68],
942
+ None,
943
+ "GetSystemClock",
944
+ "Gets information surrounding the DS system clock, such as the current month, day, etc.\n\nr0: system_clock pointer",
945
+ None,
946
+ )
947
+
948
+ SprintfSystemClock = Symbol(
949
+ [0x6FB8],
950
+ [0x2006FB8],
951
+ None,
952
+ "SprintfSystemClock",
953
+ "Calls sprintf to format a string using the fields of the DS system clock as 'year/month/day hour:minute:second'. Used in DebugPrintSystemClock.\n\nr0: system_clock pointer\nr1: str",
954
+ None,
955
+ )
956
+
921
957
  DataTransferInit = Symbol(
922
958
  [0x8168],
923
959
  [0x2008168],
@@ -4417,6 +4453,15 @@ class NaArm9Functions:
4417
4453
  None,
4418
4454
  )
4419
4455
 
4456
+ GetCharWidth = Symbol(
4457
+ [0x2654C],
4458
+ [0x202654C],
4459
+ None,
4460
+ "GetCharWidth",
4461
+ "Gets the width of a text char.\n\nr0: char\nreturn: char width",
4462
+ None,
4463
+ )
4464
+
4420
4465
  GetColorCodePaletteOffset = Symbol(
4421
4466
  [0x265C4],
4422
4467
  [0x20265C4],
@@ -4426,6 +4471,15 @@ class NaArm9Functions:
4426
4471
  None,
4427
4472
  )
4428
4473
 
4474
+ DrawChar = Symbol(
4475
+ [0x2676C],
4476
+ [0x202676C],
4477
+ None,
4478
+ "DrawChar",
4479
+ "Draws a single char within a window. This function is also responsible for drawing the shadows of a char.\n\nr0: window_id\nr1: x offset within window\nr2: y offset within window\nr3: char\nstack[0]: color offset\nreturn: char width",
4480
+ None,
4481
+ )
4482
+
4429
4483
  GetWindow = Symbol(
4430
4484
  [0x275F8],
4431
4485
  [0x20275F8],
@@ -4971,7 +5025,7 @@ class NaArm9Functions:
4971
5025
  [0x202D1F0],
4972
5026
  None,
4973
5027
  "CreateOptionsMenu",
4974
- "Creates a window containing a menu controlling game options. Also see struct options_menu.\n\nThis is used for the options and window options menus, among other things.\n\nIf window_params is NULL, OPTIONS_MENU_DEFAULT_WINDOW_PARAMS will be used. Otherwise, it will be copied onto the window, ignoring the update and contents fields. If window_params::width and/or window_params::height are 0, they will be computed based on the contained text.\n\nIf window_extra_info is non-NULL, it will be copied onto the window. Note that window_extra_info can only be NULL if there are no window_flags set that require extra info.\n\nr0: window_params\nr1: window_flags\nr2: window_extra_info pointer\nr3: options_menu_id_item struct array, terminated with an item with msg_id 0\nstack[0]: number of items\nstack[1]: ?\nreturn: window_id",
5028
+ "Creates a window containing a menu controlling game options. Also see struct options_menu.\n\nThis is used for the options and window options menus, among other things.\n\nIf window_params is NULL, OPTIONS_MENU_DEFAULT_WINDOW_PARAMS will be used. Otherwise, it will be copied onto the window, ignoring the update and contents fields. If window_params::width and/or window_params::height are 0, they will be computed based on the contained text.\n\nIf window_extra_info is non-NULL, it will be copied onto the window. Note that window_extra_info can only be NULL if there are no window_flags set that require extra info.\n\nr0: window_params\nr1: window_flags\nr2: window_extra_info pointer\nr3: options_menu_id_item struct array, terminated with an item with msg_id 0\nstack[0]: number of items\nstack[1]: option_states pointer\nreturn: window_id",
4975
5029
  None,
4976
5030
  )
4977
5031
 
@@ -5002,6 +5056,24 @@ class NaArm9Functions:
5002
5056
  None,
5003
5057
  )
5004
5058
 
5059
+ GetOptionsMenuStates = Symbol(
5060
+ [0x2D5B0],
5061
+ [0x202D5B0],
5062
+ None,
5063
+ "GetOptionsMenuStates",
5064
+ "Gets all the option menu states; used to determine what options the user has selected in a menu. Each option state corresponds a options_menu_id_item.\n\nr0: window_id\nr1: option_states pointer",
5065
+ None,
5066
+ )
5067
+
5068
+ GetOptionsMenuResult = Symbol(
5069
+ [0x2D5E4],
5070
+ [0x202D5E4],
5071
+ None,
5072
+ "GetOptionsMenuResult",
5073
+ "Returns whether or not the options menu was confirmed or canceled (e.g., by pressing the B button).\n\nr0: window_id\nreturn: bool",
5074
+ None,
5075
+ )
5076
+
5005
5077
  UpdateOptionsMenu = Symbol(
5006
5078
  [0x2D618],
5007
5079
  [0x202D618],
@@ -12751,6 +12823,15 @@ class NaLibsFunctions:
12751
12823
  None,
12752
12824
  )
12753
12825
 
12826
+ GetDsFirmwareUserSettings = Symbol(
12827
+ [0xF930],
12828
+ [0x207BA08],
12829
+ None,
12830
+ "GetDsFirmwareUserSettings",
12831
+ "Gets the user settings of the DS firmware.\n\nSee https://problemkaputt.de/gbatek.htm#dsfirmwareusersettings\n\nr0: user_settings pointer",
12832
+ None,
12833
+ )
12834
+
12754
12835
  CountLeadingZeros = Symbol(
12755
12836
  [0xF9B4],
12756
12837
  [0x207BA8C],
@@ -22677,7 +22758,7 @@ class NaOverlay29Functions:
22677
22758
  [0x22E1628],
22678
22759
  None,
22679
22760
  "GetTileAtEntity",
22680
- "Returns a pointer to the tile where an entity is located.\n\nr0: pointer to entity\nreturns: pointer to tile",
22761
+ "Returns a pointer to the tile where an entity is located.\n\nr0: pointer to entity\nreturn: pointer to tile",
22681
22762
  None,
22682
22763
  )
22683
22764
 
@@ -24659,7 +24740,7 @@ class NaOverlay29Functions:
24659
24740
  [0x22FFF5C],
24660
24741
  None,
24661
24742
  "GetNumberOfAttacks",
24662
- "Returns the number of attacks that a monster can do in one turn (1 or 2).\n\nChecks for the abilities Swift Swim, Chlorophyll, Unburden, and for exclusive items.\n\nr0: pointer to entity\nreturns: int",
24743
+ "Returns the number of attacks that a monster can do in one turn (1 or 2).\n\nChecks for the abilities Swift Swim, Chlorophyll, Unburden, and for exclusive items.\n\nr0: pointer to entity\nreturn: int",
24663
24744
  None,
24664
24745
  )
24665
24746
 
@@ -25190,7 +25271,7 @@ class NaOverlay29Functions:
25190
25271
  [0x2304FE0],
25191
25272
  None,
25192
25273
  "DisplayActions",
25193
- "Graphically displays any pending actions that have happened but haven't been shown on screen yet. All actions are displayed at the same time. For example, this delayed display system is used to display multiple monsters moving at once even though they take turns sequentially.\n\nr0: Pointer to an entity. Can be null.\nreturns: Seems to be true if there were any pending actions to display.",
25274
+ "Graphically displays any pending actions that have happened but haven't been shown on screen yet. All actions are displayed at the same time. For example, this delayed display system is used to display multiple monsters moving at once even though they take turns sequentially.\n\nr0: Pointer to an entity. Can be null.\nreturn: Seems to be true if there were any pending actions to display.",
25194
25275
  None,
25195
25276
  )
25196
25277
 
@@ -27197,7 +27278,7 @@ class NaOverlay29Functions:
27197
27278
  [0x2323C48],
27198
27279
  None,
27199
27280
  "MoveHitCheck",
27200
- "Determines if a move used hits or misses the target. It gets called twice per target, once with r3 = false and a second time with r3 = true.\n\nr0: Attacker\nr1: Defender\nr2: Pointer to move data\nr3: False if the move's first accuracy (accuracy1) should be used, true if its second accuracy (accuracy2) should be used instead.\nstack[0]: If true, always hit if the attacker and defender are the same. Otherwise, moves can miss no matter what the attacker and defender are.\nreturns: True if the move hits, false if it misses.",
27281
+ "Determines if a move used hits or misses the target. It gets called twice per target, once with r3 = false and a second time with r3 = true.\n\nr0: Attacker\nr1: Defender\nr2: Pointer to move data\nr3: False if the move's first accuracy (accuracy1) should be used, true if its second accuracy (accuracy2) should be used instead.\nstack[0]: If true, always hit if the attacker and defender are the same. Otherwise, moves can miss no matter what the attacker and defender are.\nreturn: True if the move hits, false if it misses.",
27201
27282
  None,
27202
27283
  )
27203
27284
 
@@ -27251,7 +27332,7 @@ class NaOverlay29Functions:
27251
27332
  [0x2324934],
27252
27333
  None,
27253
27334
  "DungeonRandOutcomeUserTargetInteraction",
27254
- "Like DungeonRandOutcome, but specifically for user-target interactions.\n\nThis modifies the underlying random process depending on factors like Serene Grace, and whether or not either entity has fainted.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturns: True if the random check passed, false otherwise.",
27335
+ "Like DungeonRandOutcome, but specifically for user-target interactions.\n\nThis modifies the underlying random process depending on factors like Serene Grace, and whether or not either entity has fainted.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturn: True if the random check passed, false otherwise.",
27255
27336
  None,
27256
27337
  )
27257
27338
 
@@ -27260,7 +27341,7 @@ class NaOverlay29Functions:
27260
27341
  [0x2324A20],
27261
27342
  None,
27262
27343
  "DungeonRandOutcomeUserAction",
27263
- "Like DungeonRandOutcome, but specifically for user actions.\n\nThis modifies the underlying random process to factor in Serene Grace (and checks whether the user is a valid entity).\n\nr0: entity pointer\nr1: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturns: True if the random check passed, false otherwise.",
27344
+ "Like DungeonRandOutcome, but specifically for user actions.\n\nThis modifies the underlying random process to factor in Serene Grace (and checks whether the user is a valid entity).\n\nr0: entity pointer\nr1: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturn: True if the random check passed, false otherwise.",
27264
27345
  None,
27265
27346
  )
27266
27347
 
@@ -843,6 +843,15 @@ class NaItcmArm9Functions:
843
843
  None,
844
844
  )
845
845
 
846
+ GetDsFirmwareUserSettingsVeneer = Symbol(
847
+ None,
848
+ None,
849
+ None,
850
+ "GetDsFirmwareUserSettingsVeneer",
851
+ "Likely a linker-generated veneer for GetDsFirmwareUserSettings.\n\nSee https://developer.arm.com/documentation/dui0474/k/image-structure-and-generation/linker-generated-veneers/what-is-a-veneer-\n\nr0: user_settings pointer",
852
+ None,
853
+ )
854
+
846
855
  Rgb8ToRgb5 = Symbol(
847
856
  None,
848
857
  None,
@@ -906,6 +915,33 @@ class NaItcmArm9Functions:
906
915
  None,
907
916
  )
908
917
 
918
+ DebugPrintSystemClock = Symbol(
919
+ None,
920
+ None,
921
+ None,
922
+ "DebugPrintSystemClock",
923
+ "This function prints the debug message 'Now date & time' followed by the current date and time of the DS system clock. Called on boot.\n\nNo params.",
924
+ None,
925
+ )
926
+
927
+ GetSystemClock = Symbol(
928
+ None,
929
+ None,
930
+ None,
931
+ "GetSystemClock",
932
+ "Gets information surrounding the DS system clock, such as the current month, day, etc.\n\nr0: system_clock pointer",
933
+ None,
934
+ )
935
+
936
+ SprintfSystemClock = Symbol(
937
+ None,
938
+ None,
939
+ None,
940
+ "SprintfSystemClock",
941
+ "Calls sprintf to format a string using the fields of the DS system clock as 'year/month/day hour:minute:second'. Used in DebugPrintSystemClock.\n\nr0: system_clock pointer\nr1: str",
942
+ None,
943
+ )
944
+
909
945
  DataTransferInit = Symbol(
910
946
  None,
911
947
  None,
@@ -4371,6 +4407,15 @@ class NaItcmArm9Functions:
4371
4407
  None,
4372
4408
  )
4373
4409
 
4410
+ GetCharWidth = Symbol(
4411
+ None,
4412
+ None,
4413
+ None,
4414
+ "GetCharWidth",
4415
+ "Gets the width of a text char.\n\nr0: char\nreturn: char width",
4416
+ None,
4417
+ )
4418
+
4374
4419
  GetColorCodePaletteOffset = Symbol(
4375
4420
  None,
4376
4421
  None,
@@ -4380,6 +4425,15 @@ class NaItcmArm9Functions:
4380
4425
  None,
4381
4426
  )
4382
4427
 
4428
+ DrawChar = Symbol(
4429
+ None,
4430
+ None,
4431
+ None,
4432
+ "DrawChar",
4433
+ "Draws a single char within a window. This function is also responsible for drawing the shadows of a char.\n\nr0: window_id\nr1: x offset within window\nr2: y offset within window\nr3: char\nstack[0]: color offset\nreturn: char width",
4434
+ None,
4435
+ )
4436
+
4383
4437
  GetWindow = Symbol(
4384
4438
  None,
4385
4439
  None,
@@ -4925,7 +4979,7 @@ class NaItcmArm9Functions:
4925
4979
  None,
4926
4980
  None,
4927
4981
  "CreateOptionsMenu",
4928
- "Creates a window containing a menu controlling game options. Also see struct options_menu.\n\nThis is used for the options and window options menus, among other things.\n\nIf window_params is NULL, OPTIONS_MENU_DEFAULT_WINDOW_PARAMS will be used. Otherwise, it will be copied onto the window, ignoring the update and contents fields. If window_params::width and/or window_params::height are 0, they will be computed based on the contained text.\n\nIf window_extra_info is non-NULL, it will be copied onto the window. Note that window_extra_info can only be NULL if there are no window_flags set that require extra info.\n\nr0: window_params\nr1: window_flags\nr2: window_extra_info pointer\nr3: options_menu_id_item struct array, terminated with an item with msg_id 0\nstack[0]: number of items\nstack[1]: ?\nreturn: window_id",
4982
+ "Creates a window containing a menu controlling game options. Also see struct options_menu.\n\nThis is used for the options and window options menus, among other things.\n\nIf window_params is NULL, OPTIONS_MENU_DEFAULT_WINDOW_PARAMS will be used. Otherwise, it will be copied onto the window, ignoring the update and contents fields. If window_params::width and/or window_params::height are 0, they will be computed based on the contained text.\n\nIf window_extra_info is non-NULL, it will be copied onto the window. Note that window_extra_info can only be NULL if there are no window_flags set that require extra info.\n\nr0: window_params\nr1: window_flags\nr2: window_extra_info pointer\nr3: options_menu_id_item struct array, terminated with an item with msg_id 0\nstack[0]: number of items\nstack[1]: option_states pointer\nreturn: window_id",
4929
4983
  None,
4930
4984
  )
4931
4985
 
@@ -4956,6 +5010,24 @@ class NaItcmArm9Functions:
4956
5010
  None,
4957
5011
  )
4958
5012
 
5013
+ GetOptionsMenuStates = Symbol(
5014
+ None,
5015
+ None,
5016
+ None,
5017
+ "GetOptionsMenuStates",
5018
+ "Gets all the option menu states; used to determine what options the user has selected in a menu. Each option state corresponds a options_menu_id_item.\n\nr0: window_id\nr1: option_states pointer",
5019
+ None,
5020
+ )
5021
+
5022
+ GetOptionsMenuResult = Symbol(
5023
+ None,
5024
+ None,
5025
+ None,
5026
+ "GetOptionsMenuResult",
5027
+ "Returns whether or not the options menu was confirmed or canceled (e.g., by pressing the B button).\n\nr0: window_id\nreturn: bool",
5028
+ None,
5029
+ )
5030
+
4959
5031
  UpdateOptionsMenu = Symbol(
4960
5032
  None,
4961
5033
  None,
@@ -12510,6 +12582,15 @@ class NaItcmLibsFunctions:
12510
12582
  None,
12511
12583
  )
12512
12584
 
12585
+ GetDsFirmwareUserSettings = Symbol(
12586
+ None,
12587
+ None,
12588
+ None,
12589
+ "GetDsFirmwareUserSettings",
12590
+ "Gets the user settings of the DS firmware.\n\nSee https://problemkaputt.de/gbatek.htm#dsfirmwareusersettings\n\nr0: user_settings pointer",
12591
+ None,
12592
+ )
12593
+
12513
12594
  CountLeadingZeros = Symbol(
12514
12595
  None,
12515
12596
  None,
@@ -22178,7 +22259,7 @@ class NaItcmOverlay29Functions:
22178
22259
  None,
22179
22260
  None,
22180
22261
  "GetTileAtEntity",
22181
- "Returns a pointer to the tile where an entity is located.\n\nr0: pointer to entity\nreturns: pointer to tile",
22262
+ "Returns a pointer to the tile where an entity is located.\n\nr0: pointer to entity\nreturn: pointer to tile",
22182
22263
  None,
22183
22264
  )
22184
22265
 
@@ -24086,7 +24167,7 @@ class NaItcmOverlay29Functions:
24086
24167
  None,
24087
24168
  None,
24088
24169
  "GetNumberOfAttacks",
24089
- "Returns the number of attacks that a monster can do in one turn (1 or 2).\n\nChecks for the abilities Swift Swim, Chlorophyll, Unburden, and for exclusive items.\n\nr0: pointer to entity\nreturns: int",
24170
+ "Returns the number of attacks that a monster can do in one turn (1 or 2).\n\nChecks for the abilities Swift Swim, Chlorophyll, Unburden, and for exclusive items.\n\nr0: pointer to entity\nreturn: int",
24090
24171
  None,
24091
24172
  )
24092
24173
 
@@ -24617,7 +24698,7 @@ class NaItcmOverlay29Functions:
24617
24698
  None,
24618
24699
  None,
24619
24700
  "DisplayActions",
24620
- "Graphically displays any pending actions that have happened but haven't been shown on screen yet. All actions are displayed at the same time. For example, this delayed display system is used to display multiple monsters moving at once even though they take turns sequentially.\n\nr0: Pointer to an entity. Can be null.\nreturns: Seems to be true if there were any pending actions to display.",
24701
+ "Graphically displays any pending actions that have happened but haven't been shown on screen yet. All actions are displayed at the same time. For example, this delayed display system is used to display multiple monsters moving at once even though they take turns sequentially.\n\nr0: Pointer to an entity. Can be null.\nreturn: Seems to be true if there were any pending actions to display.",
24621
24702
  None,
24622
24703
  )
24623
24704
 
@@ -26624,7 +26705,7 @@ class NaItcmOverlay29Functions:
26624
26705
  None,
26625
26706
  None,
26626
26707
  "MoveHitCheck",
26627
- "Determines if a move used hits or misses the target. It gets called twice per target, once with r3 = false and a second time with r3 = true.\n\nr0: Attacker\nr1: Defender\nr2: Pointer to move data\nr3: False if the move's first accuracy (accuracy1) should be used, true if its second accuracy (accuracy2) should be used instead.\nstack[0]: If true, always hit if the attacker and defender are the same. Otherwise, moves can miss no matter what the attacker and defender are.\nreturns: True if the move hits, false if it misses.",
26708
+ "Determines if a move used hits or misses the target. It gets called twice per target, once with r3 = false and a second time with r3 = true.\n\nr0: Attacker\nr1: Defender\nr2: Pointer to move data\nr3: False if the move's first accuracy (accuracy1) should be used, true if its second accuracy (accuracy2) should be used instead.\nstack[0]: If true, always hit if the attacker and defender are the same. Otherwise, moves can miss no matter what the attacker and defender are.\nreturn: True if the move hits, false if it misses.",
26628
26709
  None,
26629
26710
  )
26630
26711
 
@@ -26678,7 +26759,7 @@ class NaItcmOverlay29Functions:
26678
26759
  None,
26679
26760
  None,
26680
26761
  "DungeonRandOutcomeUserTargetInteraction",
26681
- "Like DungeonRandOutcome, but specifically for user-target interactions.\n\nThis modifies the underlying random process depending on factors like Serene Grace, and whether or not either entity has fainted.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturns: True if the random check passed, false otherwise.",
26762
+ "Like DungeonRandOutcome, but specifically for user-target interactions.\n\nThis modifies the underlying random process depending on factors like Serene Grace, and whether or not either entity has fainted.\n\nr0: user entity pointer\nr1: target entity pointer\nr2: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturn: True if the random check passed, false otherwise.",
26682
26763
  None,
26683
26764
  )
26684
26765
 
@@ -26687,7 +26768,7 @@ class NaItcmOverlay29Functions:
26687
26768
  None,
26688
26769
  None,
26689
26770
  "DungeonRandOutcomeUserAction",
26690
- "Like DungeonRandOutcome, but specifically for user actions.\n\nThis modifies the underlying random process to factor in Serene Grace (and checks whether the user is a valid entity).\n\nr0: entity pointer\nr1: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturns: True if the random check passed, false otherwise.",
26771
+ "Like DungeonRandOutcome, but specifically for user actions.\n\nThis modifies the underlying random process to factor in Serene Grace (and checks whether the user is a valid entity).\n\nr0: entity pointer\nr1: base success percentage (100*p). 0 is treated specially and guarantees success.\nreturn: True if the random check passed, false otherwise.",
26691
26772
  None,
26692
26773
  )
26693
26774
 
@@ -537,6 +537,11 @@ class Arm9FunctionsProtocol(Protocol):
537
537
  None,
538
538
  ]
539
539
 
540
+ GetDsFirmwareUserSettingsVeneer: Symbol[
541
+ Optional[list[int]],
542
+ None,
543
+ ]
544
+
540
545
  Rgb8ToRgb5: Symbol[
541
546
  Optional[list[int]],
542
547
  None,
@@ -572,6 +577,21 @@ class Arm9FunctionsProtocol(Protocol):
572
577
  None,
573
578
  ]
574
579
 
580
+ DebugPrintSystemClock: Symbol[
581
+ Optional[list[int]],
582
+ None,
583
+ ]
584
+
585
+ GetSystemClock: Symbol[
586
+ Optional[list[int]],
587
+ None,
588
+ ]
589
+
590
+ SprintfSystemClock: Symbol[
591
+ Optional[list[int]],
592
+ None,
593
+ ]
594
+
575
595
  DataTransferInit: Symbol[
576
596
  Optional[list[int]],
577
597
  None,
@@ -2497,11 +2517,21 @@ class Arm9FunctionsProtocol(Protocol):
2497
2517
  None,
2498
2518
  ]
2499
2519
 
2520
+ GetCharWidth: Symbol[
2521
+ Optional[list[int]],
2522
+ None,
2523
+ ]
2524
+
2500
2525
  GetColorCodePaletteOffset: Symbol[
2501
2526
  Optional[list[int]],
2502
2527
  None,
2503
2528
  ]
2504
2529
 
2530
+ DrawChar: Symbol[
2531
+ Optional[list[int]],
2532
+ None,
2533
+ ]
2534
+
2505
2535
  GetWindow: Symbol[
2506
2536
  Optional[list[int]],
2507
2537
  None,
@@ -2822,6 +2852,16 @@ class Arm9FunctionsProtocol(Protocol):
2822
2852
  None,
2823
2853
  ]
2824
2854
 
2855
+ GetOptionsMenuStates: Symbol[
2856
+ Optional[list[int]],
2857
+ None,
2858
+ ]
2859
+
2860
+ GetOptionsMenuResult: Symbol[
2861
+ Optional[list[int]],
2862
+ None,
2863
+ ]
2864
+
2825
2865
  UpdateOptionsMenu: Symbol[
2826
2866
  Optional[list[int]],
2827
2867
  None,
@@ -8098,6 +8138,11 @@ class LibsFunctionsProtocol(Protocol):
8098
8138
  None,
8099
8139
  ]
8100
8140
 
8141
+ GetDsFirmwareUserSettings: Symbol[
8142
+ Optional[list[int]],
8143
+ None,
8144
+ ]
8145
+
8101
8146
  CountLeadingZeros: Symbol[
8102
8147
  Optional[list[int]],
8103
8148
  None,
@@ -1,18 +1,18 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pmdsky-debug-py
3
- Version: 10.0.46
3
+ Version: 10.0.48
4
4
  Summary: pmdsky-debug symbols for Python.
5
5
  Author-email: Marco 'Capypara' Köpcke <hello@capypara.de>
6
6
  License: MIT
7
7
  Project-URL: repository, https://github.com/SkyTemple/pmdsky-debug-py
8
8
  Classifier: Development Status :: 4 - Beta
9
9
  Classifier: License :: OSI Approved :: MIT License
10
- Classifier: Programming Language :: Python :: 3.9
11
10
  Classifier: Programming Language :: Python :: 3.10
12
11
  Classifier: Programming Language :: Python :: 3.11
13
12
  Classifier: Programming Language :: Python :: 3.12
13
+ Classifier: Programming Language :: Python :: 3.13
14
14
  Classifier: Programming Language :: Python
15
- Requires-Python: >=3.9
15
+ Requires-Python: >=3.10
16
16
  Description-Content-Type: text/x-rst
17
17
 
18
18
  pmdsky-debug-py
@@ -0,0 +1,14 @@
1
+ pmdsky_debug_py/__init__.py,sha256=xvXjdxEqeoQaaS6ssZYVI9jARzv5M4q6FNwA3Z6fOw4,1831
2
+ pmdsky_debug_py/_release.py,sha256=Z3wigXibl1zInVvUH5WInbMQ8xmwiMghbhUurmrRgOU,31
3
+ pmdsky_debug_py/eu.py,sha256=LugklOhOlYSVj1B8gEEXMUmkAYMYeENwKU5V98YNZHE,1123222
4
+ pmdsky_debug_py/eu_itcm.py,sha256=14kMVN76b0QKcTZZ6ACG2h2dkT1DxI0KPMKgZF75Ny0,1072766
5
+ pmdsky_debug_py/jp.py,sha256=Mq1ElrJwR8i4wTLWiHwbW8fcS0bgqi6PbNuIC1pAf0I,1119633
6
+ pmdsky_debug_py/jp_itcm.py,sha256=ZdSAdxwCL1aKeuFwF72dT8uS9W-9Rg8dQyEm-IYs1Dc,1072756
7
+ pmdsky_debug_py/na.py,sha256=i9aCcVx6i1a9xwZMG4MYbIOpIRUoBvO0iEdGof6NArI,1124166
8
+ pmdsky_debug_py/na_itcm.py,sha256=Wm4Im-mNWSzYRINYNxloDjCjbgaql9HKJHYaJseV_wM,1072766
9
+ pmdsky_debug_py/protocol.py,sha256=DFC88Tgk12tK77TgfKtkOmAxsta5jKgDiYegW2V4hqg,330323
10
+ pmdsky_debug_py/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
+ pmdsky_debug_py-10.0.48.dist-info/METADATA,sha256=d5nSHNdXSZInErEVv5ypBVcWsEevgmL76jZ41ExJ_ys,1376
12
+ pmdsky_debug_py-10.0.48.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
13
+ pmdsky_debug_py-10.0.48.dist-info/top_level.txt,sha256=cqvpcJbud2s8IyBAc1MfCySwniko_6qO5LWSSxNIoXI,16
14
+ pmdsky_debug_py-10.0.48.dist-info/RECORD,,
@@ -1,14 +0,0 @@
1
- pmdsky_debug_py/__init__.py,sha256=xvXjdxEqeoQaaS6ssZYVI9jARzv5M4q6FNwA3Z6fOw4,1831
2
- pmdsky_debug_py/_release.py,sha256=oz0M5jann6aatrveo9uh7DVgorPBL3nh1vXW7L6KZM4,31
3
- pmdsky_debug_py/eu.py,sha256=k4qKcikrjhhDtjXaijHz3w-6MSwphwsL0DZPzx-xZYk,1120429
4
- pmdsky_debug_py/eu_itcm.py,sha256=1FTK7w0QYfHxEvQbLeL0tZMQkloGDWEWlm_FTtwHNO8,1070076
5
- pmdsky_debug_py/jp.py,sha256=8W2RnV0W6UuCjahYBfnA-jAzHK-OTgm_yzik3yhM1SE,1116840
6
- pmdsky_debug_py/jp_itcm.py,sha256=nRXpdXZE4k2gY4p-sUNqpkZ2wHXls3cLWUiAqGdcPlg,1070066
7
- pmdsky_debug_py/na.py,sha256=0D_Fk6mknbMHV4W2ldKrTnjHYZQ_0mhoqQBOVKKy86U,1121373
8
- pmdsky_debug_py/na_itcm.py,sha256=6O5IHYMFAVo0tC7X4qJxzv3WKdHsQGa5e5O9_RSkme0,1070076
9
- pmdsky_debug_py/protocol.py,sha256=UGuZd9vsuEL8FKU8yxvhVDAlBDejHmek8oBTIRKQtCU,329578
10
- pmdsky_debug_py/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
11
- pmdsky_debug_py-10.0.46.dist-info/METADATA,sha256=VEdlfUBR8VrHf6s2LAEPiu-hxjn3Ki-Ic-IJNAFMYN8,1374
12
- pmdsky_debug_py-10.0.46.dist-info/WHEEL,sha256=PZUExdf71Ui_so67QXpySuHtCi3-J3wvF4ORK6k_S8U,91
13
- pmdsky_debug_py-10.0.46.dist-info/top_level.txt,sha256=cqvpcJbud2s8IyBAc1MfCySwniko_6qO5LWSSxNIoXI,16
14
- pmdsky_debug_py-10.0.46.dist-info/RECORD,,