pmdsky-debug-py 10.0.47__py3-none-any.whl → 10.0.49__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+d5d2460d80"
1
+ RELEASE = "v0.10.0+9149d2c08c"
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],
@@ -3625,6 +3661,15 @@ class EuArm9Functions:
3625
3661
  None,
3626
3662
  )
3627
3663
 
3664
+ CopyAndInterleaveWrapper = Symbol(
3665
+ [0x1C08C],
3666
+ [0x201C08C],
3667
+ None,
3668
+ "CopyAndInterleaveWrapper",
3669
+ "Calls CopyAndInterleave with the passed len divided by 2.\n\nr0: dst\nr1: src\nr2: len (in bytes, will be divided by 2 in the call to CopyAndInterleave)\nr3: val",
3670
+ None,
3671
+ )
3672
+
3628
3673
  InitAnimationControl = Symbol(
3629
3674
  [0x1C0EC],
3630
3675
  [0x201C0EC],
@@ -4215,7 +4260,7 @@ class EuArm9Functions:
4215
4260
  [0x2024D88],
4216
4261
  None,
4217
4262
  "GetRankString",
4218
- "Gets the string corresponding to the player's current explorer rank.\n\nr0: [output] Pointer to the buffer where the string will be written\nr1: First 16 bits contain the rank, next 4 are some sort of bitflags\nreturn: r0 if flags are 0, pointer to some static address otherwise",
4263
+ "Gets the string corresponding to the player's current explorer rank.\n\nr0: [output] Pointer to the buffer where the string will be written (if flags are 0)\nr1: First 16 bits contain the rank, next 4 are some sort of bitflags\nreturn: r0 if flags are 0, pointer to some static address otherwise",
4219
4264
  None,
4220
4265
  )
4221
4266
 
@@ -4417,6 +4462,15 @@ class EuArm9Functions:
4417
4462
  None,
4418
4463
  )
4419
4464
 
4465
+ GetCharWidth = Symbol(
4466
+ [0x26830],
4467
+ [0x2026830],
4468
+ None,
4469
+ "GetCharWidth",
4470
+ "Gets the width of a text char.\n\nr0: char\nreturn: char width",
4471
+ None,
4472
+ )
4473
+
4420
4474
  GetColorCodePaletteOffset = Symbol(
4421
4475
  [0x268A8],
4422
4476
  [0x20268A8],
@@ -4426,6 +4480,15 @@ class EuArm9Functions:
4426
4480
  None,
4427
4481
  )
4428
4482
 
4483
+ DrawChar = Symbol(
4484
+ [0x26A50],
4485
+ [0x2026A50],
4486
+ None,
4487
+ "DrawChar",
4488
+ "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",
4489
+ None,
4490
+ )
4491
+
4429
4492
  GetWindow = Symbol(
4430
4493
  [0x278EC],
4431
4494
  [0x20278EC],
@@ -4971,7 +5034,7 @@ class EuArm9Functions:
4971
5034
  [0x202D4E4],
4972
5035
  None,
4973
5036
  "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",
5037
+ "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
5038
  None,
4976
5039
  )
4977
5040
 
@@ -5002,6 +5065,24 @@ class EuArm9Functions:
5002
5065
  None,
5003
5066
  )
5004
5067
 
5068
+ GetOptionsMenuStates = Symbol(
5069
+ [0x2D8A4],
5070
+ [0x202D8A4],
5071
+ None,
5072
+ "GetOptionsMenuStates",
5073
+ "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",
5074
+ None,
5075
+ )
5076
+
5077
+ GetOptionsMenuResult = Symbol(
5078
+ [0x2D8D8],
5079
+ [0x202D8D8],
5080
+ None,
5081
+ "GetOptionsMenuResult",
5082
+ "Returns whether or not the options menu was confirmed or canceled (e.g., by pressing the B button).\n\nr0: window_id\nreturn: bool",
5083
+ None,
5084
+ )
5085
+
5005
5086
  UpdateOptionsMenu = Symbol(
5006
5087
  [0x2D90C],
5007
5088
  [0x202D90C],
@@ -10958,7 +11039,7 @@ class EuItcmFunctions:
10958
11039
  [0x20B3CC0],
10959
11040
  None,
10960
11041
  "CopyAndInterleave",
10961
- "Copies data from src to dst, placing the last 4 bits of val after every 4 bits copied.\n\nIn total, the number of bytes copied from src will be 2 * len, while the number of bytes pasted will be 4 * len.\n\nr0: [output] dst\nr1: src\nr2: len (in words)\nr3: val",
11042
+ "Copies data from src to dst, placing the last 4 bits of val after every 4 bits copied.\n\nIn total, the number of bytes copied from src will be len, while the number of bytes pasted will be 2 * len.\n\nr0: [output] dst\nr1: src\nr2: len (in bytes)\nr3: val",
10962
11043
  None,
10963
11044
  )
10964
11045
 
@@ -12751,6 +12832,15 @@ class EuLibsFunctions:
12751
12832
  None,
12752
12833
  )
12753
12834
 
12835
+ GetDsFirmwareUserSettings = Symbol(
12836
+ [0xF930],
12837
+ [0x207BDA0],
12838
+ None,
12839
+ "GetDsFirmwareUserSettings",
12840
+ "Gets the user settings of the DS firmware.\n\nSee https://problemkaputt.de/gbatek.htm#dsfirmwareusersettings\n\nr0: user_settings pointer",
12841
+ None,
12842
+ )
12843
+
12754
12844
  CountLeadingZeros = Symbol(
12755
12845
  [0xF9B4],
12756
12846
  [0x207BE24],
@@ -27905,6 +27995,24 @@ class EuOverlay29Functions:
27905
27995
  None,
27906
27996
  )
27907
27997
 
27998
+ LoadWeather3DFiles = Symbol(
27999
+ [0x5C900],
28000
+ [0x2339480],
28001
+ None,
28002
+ "LoadWeather3DFiles",
28003
+ "Loads the 1001.wte, 1005.wte, and 1031.wte files in dungeon.bin, which are used for the 3D effects for the tileset weather as well as the Sandstorm/Fog weather conditions.\n\nNo params.",
28004
+ None,
28005
+ )
28006
+
28007
+ RenderWeather3D = Symbol(
28008
+ [0x5CB14],
28009
+ [0x2339694],
28010
+ None,
28011
+ "RenderWeather3D",
28012
+ "Renders the 3D effects for the tileset weather as well as the Sandstorm/Fog weather conditions.\n\nNo params.",
28013
+ None,
28014
+ )
28015
+
27908
28016
  GetMinimapData = Symbol(
27909
28017
  [0x5D168],
27910
28018
  [0x2339CE8],
@@ -27923,6 +28031,15 @@ class EuOverlay29Functions:
27923
28031
  None,
27924
28032
  )
27925
28033
 
28034
+ FlashLeaderIcon = Symbol(
28035
+ [0x5DA74],
28036
+ [0x233A5F4],
28037
+ None,
28038
+ "FlashLeaderIcon",
28039
+ "Seems to control flashing the leader's icon on the minimap when r0 = 0? Doesn't seem to ever be called when r0 = 1.\n\nr0: ?",
28040
+ None,
28041
+ )
28042
+
27926
28043
  UpdateMinimap = Symbol(
27927
28044
  [0x5DD38],
27928
28045
  [0x233A8B8],
@@ -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,
@@ -3579,6 +3615,15 @@ class EuItcmArm9Functions:
3579
3615
  None,
3580
3616
  )
3581
3617
 
3618
+ CopyAndInterleaveWrapper = Symbol(
3619
+ None,
3620
+ None,
3621
+ None,
3622
+ "CopyAndInterleaveWrapper",
3623
+ "Calls CopyAndInterleave with the passed len divided by 2.\n\nr0: dst\nr1: src\nr2: len (in bytes, will be divided by 2 in the call to CopyAndInterleave)\nr3: val",
3624
+ None,
3625
+ )
3626
+
3582
3627
  InitAnimationControl = Symbol(
3583
3628
  None,
3584
3629
  None,
@@ -4169,7 +4214,7 @@ class EuItcmArm9Functions:
4169
4214
  None,
4170
4215
  None,
4171
4216
  "GetRankString",
4172
- "Gets the string corresponding to the player's current explorer rank.\n\nr0: [output] Pointer to the buffer where the string will be written\nr1: First 16 bits contain the rank, next 4 are some sort of bitflags\nreturn: r0 if flags are 0, pointer to some static address otherwise",
4217
+ "Gets the string corresponding to the player's current explorer rank.\n\nr0: [output] Pointer to the buffer where the string will be written (if flags are 0)\nr1: First 16 bits contain the rank, next 4 are some sort of bitflags\nreturn: r0 if flags are 0, pointer to some static address otherwise",
4173
4218
  None,
4174
4219
  )
4175
4220
 
@@ -4371,6 +4416,15 @@ class EuItcmArm9Functions:
4371
4416
  None,
4372
4417
  )
4373
4418
 
4419
+ GetCharWidth = Symbol(
4420
+ None,
4421
+ None,
4422
+ None,
4423
+ "GetCharWidth",
4424
+ "Gets the width of a text char.\n\nr0: char\nreturn: char width",
4425
+ None,
4426
+ )
4427
+
4374
4428
  GetColorCodePaletteOffset = Symbol(
4375
4429
  None,
4376
4430
  None,
@@ -4380,6 +4434,15 @@ class EuItcmArm9Functions:
4380
4434
  None,
4381
4435
  )
4382
4436
 
4437
+ DrawChar = Symbol(
4438
+ None,
4439
+ None,
4440
+ None,
4441
+ "DrawChar",
4442
+ "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",
4443
+ None,
4444
+ )
4445
+
4383
4446
  GetWindow = Symbol(
4384
4447
  None,
4385
4448
  None,
@@ -4925,7 +4988,7 @@ class EuItcmArm9Functions:
4925
4988
  None,
4926
4989
  None,
4927
4990
  "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",
4991
+ "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
4992
  None,
4930
4993
  )
4931
4994
 
@@ -4956,6 +5019,24 @@ class EuItcmArm9Functions:
4956
5019
  None,
4957
5020
  )
4958
5021
 
5022
+ GetOptionsMenuStates = Symbol(
5023
+ None,
5024
+ None,
5025
+ None,
5026
+ "GetOptionsMenuStates",
5027
+ "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",
5028
+ None,
5029
+ )
5030
+
5031
+ GetOptionsMenuResult = Symbol(
5032
+ None,
5033
+ None,
5034
+ None,
5035
+ "GetOptionsMenuResult",
5036
+ "Returns whether or not the options menu was confirmed or canceled (e.g., by pressing the B button).\n\nr0: window_id\nreturn: bool",
5037
+ None,
5038
+ )
5039
+
4959
5040
  UpdateOptionsMenu = Symbol(
4960
5041
  None,
4961
5042
  None,
@@ -10892,7 +10973,7 @@ class EuItcmItcmFunctions:
10892
10973
  [0x1FF8000],
10893
10974
  None,
10894
10975
  "CopyAndInterleave",
10895
- "Copies data from src to dst, placing the last 4 bits of val after every 4 bits copied.\n\nIn total, the number of bytes copied from src will be 2 * len, while the number of bytes pasted will be 4 * len.\n\nr0: [output] dst\nr1: src\nr2: len (in words)\nr3: val",
10976
+ "Copies data from src to dst, placing the last 4 bits of val after every 4 bits copied.\n\nIn total, the number of bytes copied from src will be len, while the number of bytes pasted will be 2 * len.\n\nr0: [output] dst\nr1: src\nr2: len (in bytes)\nr3: val",
10896
10977
  None,
10897
10978
  )
10898
10979
 
@@ -12510,6 +12591,15 @@ class EuItcmLibsFunctions:
12510
12591
  None,
12511
12592
  )
12512
12593
 
12594
+ GetDsFirmwareUserSettings = Symbol(
12595
+ None,
12596
+ None,
12597
+ None,
12598
+ "GetDsFirmwareUserSettings",
12599
+ "Gets the user settings of the DS firmware.\n\nSee https://problemkaputt.de/gbatek.htm#dsfirmwareusersettings\n\nr0: user_settings pointer",
12600
+ None,
12601
+ )
12602
+
12513
12603
  CountLeadingZeros = Symbol(
12514
12604
  None,
12515
12605
  None,
@@ -27330,6 +27420,24 @@ class EuItcmOverlay29Functions:
27330
27420
  None,
27331
27421
  )
27332
27422
 
27423
+ LoadWeather3DFiles = Symbol(
27424
+ None,
27425
+ None,
27426
+ None,
27427
+ "LoadWeather3DFiles",
27428
+ "Loads the 1001.wte, 1005.wte, and 1031.wte files in dungeon.bin, which are used for the 3D effects for the tileset weather as well as the Sandstorm/Fog weather conditions.\n\nNo params.",
27429
+ None,
27430
+ )
27431
+
27432
+ RenderWeather3D = Symbol(
27433
+ None,
27434
+ None,
27435
+ None,
27436
+ "RenderWeather3D",
27437
+ "Renders the 3D effects for the tileset weather as well as the Sandstorm/Fog weather conditions.\n\nNo params.",
27438
+ None,
27439
+ )
27440
+
27333
27441
  GetMinimapData = Symbol(
27334
27442
  None,
27335
27443
  None,
@@ -27348,6 +27456,15 @@ class EuItcmOverlay29Functions:
27348
27456
  None,
27349
27457
  )
27350
27458
 
27459
+ FlashLeaderIcon = Symbol(
27460
+ None,
27461
+ None,
27462
+ None,
27463
+ "FlashLeaderIcon",
27464
+ "Seems to control flashing the leader's icon on the minimap when r0 = 0? Doesn't seem to ever be called when r0 = 1.\n\nr0: ?",
27465
+ None,
27466
+ )
27467
+
27351
27468
  UpdateMinimap = Symbol(
27352
27469
  None,
27353
27470
  None,
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],
@@ -3625,6 +3661,15 @@ class JpArm9Functions:
3625
3661
  None,
3626
3662
  )
3627
3663
 
3664
+ CopyAndInterleaveWrapper = Symbol(
3665
+ None,
3666
+ None,
3667
+ None,
3668
+ "CopyAndInterleaveWrapper",
3669
+ "Calls CopyAndInterleave with the passed len divided by 2.\n\nr0: dst\nr1: src\nr2: len (in bytes, will be divided by 2 in the call to CopyAndInterleave)\nr3: val",
3670
+ None,
3671
+ )
3672
+
3628
3673
  InitAnimationControl = Symbol(
3629
3674
  [0x1C0A8],
3630
3675
  [0x201C0A8],
@@ -4215,7 +4260,7 @@ class JpArm9Functions:
4215
4260
  [0x2024B44],
4216
4261
  None,
4217
4262
  "GetRankString",
4218
- "Gets the string corresponding to the player's current explorer rank.\n\nr0: [output] Pointer to the buffer where the string will be written\nr1: First 16 bits contain the rank, next 4 are some sort of bitflags\nreturn: r0 if flags are 0, pointer to some static address otherwise",
4263
+ "Gets the string corresponding to the player's current explorer rank.\n\nr0: [output] Pointer to the buffer where the string will be written (if flags are 0)\nr1: First 16 bits contain the rank, next 4 are some sort of bitflags\nreturn: r0 if flags are 0, pointer to some static address otherwise",
4219
4264
  None,
4220
4265
  )
4221
4266
 
@@ -4417,6 +4462,15 @@ class JpArm9Functions:
4417
4462
  None,
4418
4463
  )
4419
4464
 
4465
+ GetCharWidth = Symbol(
4466
+ [0x26624],
4467
+ [0x2026624],
4468
+ None,
4469
+ "GetCharWidth",
4470
+ "Gets the width of a text char.\n\nr0: char\nreturn: char width",
4471
+ None,
4472
+ )
4473
+
4420
4474
  GetColorCodePaletteOffset = Symbol(
4421
4475
  [0x2669C],
4422
4476
  [0x202669C],
@@ -4426,6 +4480,15 @@ class JpArm9Functions:
4426
4480
  None,
4427
4481
  )
4428
4482
 
4483
+ DrawChar = Symbol(
4484
+ [0x26844],
4485
+ [0x2026844],
4486
+ None,
4487
+ "DrawChar",
4488
+ "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",
4489
+ None,
4490
+ )
4491
+
4429
4492
  GetWindow = Symbol(
4430
4493
  [0x27940],
4431
4494
  [0x2027940],
@@ -4971,7 +5034,7 @@ class JpArm9Functions:
4971
5034
  [0x202D548],
4972
5035
  None,
4973
5036
  "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",
5037
+ "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
5038
  None,
4976
5039
  )
4977
5040
 
@@ -5002,6 +5065,24 @@ class JpArm9Functions:
5002
5065
  None,
5003
5066
  )
5004
5067
 
5068
+ GetOptionsMenuStates = Symbol(
5069
+ [0x2D908],
5070
+ [0x202D908],
5071
+ None,
5072
+ "GetOptionsMenuStates",
5073
+ "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",
5074
+ None,
5075
+ )
5076
+
5077
+ GetOptionsMenuResult = Symbol(
5078
+ [0x2D93C],
5079
+ [0x202D93C],
5080
+ None,
5081
+ "GetOptionsMenuResult",
5082
+ "Returns whether or not the options menu was confirmed or canceled (e.g., by pressing the B button).\n\nr0: window_id\nreturn: bool",
5083
+ None,
5084
+ )
5085
+
5005
5086
  UpdateOptionsMenu = Symbol(
5006
5087
  [0x2D970],
5007
5088
  [0x202D970],
@@ -10953,7 +11034,7 @@ class JpItcmFunctions:
10953
11034
  [0x20B4BE0],
10954
11035
  None,
10955
11036
  "CopyAndInterleave",
10956
- "Copies data from src to dst, placing the last 4 bits of val after every 4 bits copied.\n\nIn total, the number of bytes copied from src will be 2 * len, while the number of bytes pasted will be 4 * len.\n\nr0: [output] dst\nr1: src\nr2: len (in words)\nr3: val",
11037
+ "Copies data from src to dst, placing the last 4 bits of val after every 4 bits copied.\n\nIn total, the number of bytes copied from src will be len, while the number of bytes pasted will be 2 * len.\n\nr0: [output] dst\nr1: src\nr2: len (in bytes)\nr3: val",
10957
11038
  None,
10958
11039
  )
10959
11040
 
@@ -12746,6 +12827,15 @@ class JpLibsFunctions:
12746
12827
  None,
12747
12828
  )
12748
12829
 
12830
+ GetDsFirmwareUserSettings = Symbol(
12831
+ [0xF930],
12832
+ [0x207BCF0],
12833
+ None,
12834
+ "GetDsFirmwareUserSettings",
12835
+ "Gets the user settings of the DS firmware.\n\nSee https://problemkaputt.de/gbatek.htm#dsfirmwareusersettings\n\nr0: user_settings pointer",
12836
+ None,
12837
+ )
12838
+
12749
12839
  CountLeadingZeros = Symbol(
12750
12840
  [0xF9B4],
12751
12841
  [0x207BD74],
@@ -27896,6 +27986,24 @@ class JpOverlay29Functions:
27896
27986
  None,
27897
27987
  )
27898
27988
 
27989
+ LoadWeather3DFiles = Symbol(
27990
+ None,
27991
+ None,
27992
+ None,
27993
+ "LoadWeather3DFiles",
27994
+ "Loads the 1001.wte, 1005.wte, and 1031.wte files in dungeon.bin, which are used for the 3D effects for the tileset weather as well as the Sandstorm/Fog weather conditions.\n\nNo params.",
27995
+ None,
27996
+ )
27997
+
27998
+ RenderWeather3D = Symbol(
27999
+ None,
28000
+ None,
28001
+ None,
28002
+ "RenderWeather3D",
28003
+ "Renders the 3D effects for the tileset weather as well as the Sandstorm/Fog weather conditions.\n\nNo params.",
28004
+ None,
28005
+ )
28006
+
27899
28007
  GetMinimapData = Symbol(
27900
28008
  [0x5CBFC],
27901
28009
  [0x233A4DC],
@@ -27914,6 +28022,15 @@ class JpOverlay29Functions:
27914
28022
  None,
27915
28023
  )
27916
28024
 
28025
+ FlashLeaderIcon = Symbol(
28026
+ None,
28027
+ None,
28028
+ None,
28029
+ "FlashLeaderIcon",
28030
+ "Seems to control flashing the leader's icon on the minimap when r0 = 0? Doesn't seem to ever be called when r0 = 1.\n\nr0: ?",
28031
+ None,
28032
+ )
28033
+
27917
28034
  UpdateMinimap = Symbol(
27918
28035
  [0x5D7CC],
27919
28036
  [0x233B0AC],