pmdsky-debug-py 10.0.49__py3-none-any.whl → 10.0.51__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
pmdsky_debug_py/eu.py CHANGED
@@ -5722,12 +5722,21 @@ class EuArm9Functions:
5722
5722
  None,
5723
5723
  )
5724
5724
 
5725
+ SetupAndShowKeyboard = Symbol(
5726
+ [0x36AA8],
5727
+ [0x2036AA8],
5728
+ None,
5729
+ "SetupAndShowKeyboard",
5730
+ "Calls a function that seems to set up info for the keyboard menu before ending with a call to ShowKeyboard.\n\nr0: menu type\nr1: buffer1\nr2: buffer2\nreturn: ?",
5731
+ None,
5732
+ )
5733
+
5725
5734
  ShowKeyboard = Symbol(
5726
5735
  [0x36AE4],
5727
5736
  [0x2036AE4],
5728
5737
  None,
5729
5738
  "ShowKeyboard",
5730
- "Note: unverified, ported from Irdkwia's notes\n\nr0: string ID\nr1: buffer1\nr2: ???\nr3: buffer2\nreturn: ?",
5739
+ "Note: unverified, ported from Irdkwia's notes\n\nr0: menu type\nr1: buffer1\nr2: ???\nr3: buffer2\nreturn: ?",
5731
5740
  None,
5732
5741
  )
5733
5742
 
@@ -7810,6 +7819,15 @@ class EuArm9Functions:
7810
7819
  None,
7811
7820
  )
7812
7821
 
7822
+ SetBaseStatsMovesGroundMonster = Symbol(
7823
+ [0x53278],
7824
+ [0x2053278],
7825
+ None,
7826
+ "SetBaseStatsMovesGroundMonster",
7827
+ "Sets a ground monster to have the base stats and Level 1 moves of its species, along with 1 IQ.\n\nr0: ground monster pointer",
7828
+ None,
7829
+ )
7830
+
7813
7831
  StrcmpMonsterName = Symbol(
7814
7832
  [0x5332C],
7815
7833
  [0x205332C],
@@ -7945,6 +7963,15 @@ class EuArm9Functions:
7945
7963
  None,
7946
7964
  )
7947
7965
 
7966
+ ApplyLevelUpBoostsToGroundMonster = Symbol(
7967
+ [0x54844],
7968
+ [0x2054844],
7969
+ None,
7970
+ "ApplyLevelUpBoostsToGroundMonster",
7971
+ "Applies the level up boosts to stats and moves (until moveset is full) to a target monster.\n\nr0: ground monster pointer\nr1: level\nr2: flag that enables further editing of the monster",
7972
+ None,
7973
+ )
7974
+
7948
7975
  GetMonsterGenderVeneer = Symbol(
7949
7976
  [0x54ADC],
7950
7977
  [0x2054ADC],
@@ -18617,6 +18644,42 @@ class EuOverlay10Section:
18617
18644
 
18618
18645
  class EuOverlay11Functions:
18619
18646
 
18647
+ InitScriptRoutineState = Symbol(
18648
+ [0x5F0],
18649
+ [0x22DD170],
18650
+ None,
18651
+ "InitScriptRoutineState",
18652
+ "Initializes the various fields of script_routine_state, a struct that seems relevant when handling script opcode operations.\n\nr0: script_routine_state pointer",
18653
+ None,
18654
+ )
18655
+
18656
+ InitScriptRoutine = Symbol(
18657
+ [0x6A8],
18658
+ [0x22DD228],
18659
+ None,
18660
+ "InitScriptRoutine",
18661
+ "Initializes the various fields of script_routine.\n\nr0: routine pointer\nr1: ground entity function table pointer\nr2: live entity pointer",
18662
+ None,
18663
+ )
18664
+
18665
+ LockRoutine = Symbol(
18666
+ [0xCAC],
18667
+ [0x22DD82C],
18668
+ None,
18669
+ "LockRoutine",
18670
+ "Sets a routine to be locked via the Lock opcode.\n\nr0: script routine pointer\nr1: lock id\nreturn: Always 1, but this does seem to get checked in RunNextOpcode for some reason",
18671
+ None,
18672
+ )
18673
+
18674
+ UnlockRoutine = Symbol(
18675
+ [0xEAC],
18676
+ [0x22DDA2C],
18677
+ None,
18678
+ "UnlockRoutine",
18679
+ "Attempts to unlock a script routine via the Unlock opcode.\n\nr0: script routine pointer\nr1: lock id\nreturn: True if the script routine was successfully unlocked",
18680
+ None,
18681
+ )
18682
+
18620
18683
  UnlockScriptingLock = Symbol(
18621
18684
  [0xEF0],
18622
18685
  [0x22DDA70],
@@ -18631,7 +18694,7 @@ class EuOverlay11Functions:
18631
18694
  [0x22DDAA4],
18632
18695
  None,
18633
18696
  "FuncThatCallsRunNextOpcode",
18634
- "Called up to 16 times per frame. Exact purpose unknown.\n\nr0: Looks like a pointer to some struct containing data about the current state of scripting engine",
18697
+ "Called up to 16 times per frame. Exact purpose unknown.\n\nr0: script routine pointer",
18635
18698
  None,
18636
18699
  )
18637
18700
 
@@ -18640,7 +18703,16 @@ class EuOverlay11Functions:
18640
18703
  [0x22DE6A4],
18641
18704
  None,
18642
18705
  "RunNextOpcode",
18643
- "Runs the next scripting opcode.\n\nContains a switch statement based on the opcode ([r0+1C]).\n\nr0: Looks like a pointer to some struct containing data about the current state of scripting engine",
18706
+ "Runs the next scripting opcode.\n\nContains a switch statement based on the routine's next opcode to run.\n\nr0: script routine pointer\nreturn: status",
18707
+ None,
18708
+ )
18709
+
18710
+ GetSsbString = Symbol(
18711
+ [0x8008],
18712
+ [0x22E4B88],
18713
+ None,
18714
+ "GetSsbString",
18715
+ "Returns a string from a given SSB runtime struct.\n\nr0: ssb runtime info pointer\nr1: idx",
18644
18716
  None,
18645
18717
  )
18646
18718
 
@@ -18653,6 +18725,15 @@ class EuOverlay11Functions:
18653
18725
  None,
18654
18726
  )
18655
18727
 
18728
+ ScriptCaseProcess = Symbol(
18729
+ [0x81A8],
18730
+ [0x22E4D28],
18731
+ None,
18732
+ "ScriptCaseProcess",
18733
+ "Calculates the next opcode address for a script routine as the result of a switch-statement.\n\nr0: script routine pointer\nr1: case id\nreturn: Next opcode address for the routine to execute",
18734
+ None,
18735
+ )
18736
+
18656
18737
  LoadFileFromRomVeneer = Symbol(
18657
18738
  [0x849C],
18658
18739
  [0x22E501C],
@@ -18962,6 +19043,15 @@ class EuOverlay11Functions:
18962
19043
  None,
18963
19044
  )
18964
19045
 
19046
+ UnlockMainRoutine = Symbol(
19047
+ [0x1B470],
19048
+ [0x22F7FF0],
19049
+ None,
19050
+ "UnlockMainRoutine",
19051
+ "Unlocks the main routine of the current script, as specified in GROUND_STATE_PTRS::main_routine.\n\nr0: lock id\nreturn: True if the script routine was successfully unlocked",
19052
+ None,
19053
+ )
19054
+
18965
19055
  AllocAndInitPartnerFollowDataAndLiveActorList = Symbol(
18966
19056
  [0x1BADC],
18967
19057
  [0x22F865C],
@@ -18976,7 +19066,16 @@ class EuOverlay11Functions:
18976
19066
  [0x22F86B8],
18977
19067
  None,
18978
19068
  "InitPartnerFollowDataAndLiveActorList",
18979
- "Initialize the partner follow data and the live actor list (in GROUND_STATE_PTRS, doesnt perform the allocation of the structures)\n\nNo params.",
19069
+ "Initialize the partner follow data and the live actor list (in GROUND_STATE_PTRS, doesn't perform the allocation of the structures)\n\nNo params.",
19070
+ None,
19071
+ )
19072
+
19073
+ GetLiveActorIdxFromScriptEntityId = Symbol(
19074
+ [0x1BC30],
19075
+ [0x22F87B0],
19076
+ None,
19077
+ "GetLiveActorIdxFromScriptEntityId",
19078
+ "Searches through the live actor list to find the first matching actor who has an ID matching that of a script_entity_id.\n\nr0: script_entity_id\nreturn: index of the live actor, or -1 if the specified actor could not be found",
18980
19079
  None,
18981
19080
  )
18982
19081
 
@@ -18985,7 +19084,43 @@ class EuOverlay11Functions:
18985
19084
  [0x22F8F18],
18986
19085
  None,
18987
19086
  "DeleteLiveActor",
18988
- "Remove the actor from the overworld actor list (in GROUND_STATE_PTRS)\n\nr0: the index of the actor in the live actor list",
19087
+ "Remove the actor from the actor list (in GROUND_STATE_PTRS)\n\nr0: the index of the actor in the live actor list",
19088
+ None,
19089
+ )
19090
+
19091
+ SetAttributeBitfieldLiveActor = Symbol(
19092
+ [0x1C54C],
19093
+ [0x22F90CC],
19094
+ None,
19095
+ "SetAttributeBitfieldLiveActor",
19096
+ "Sets bits of the attribute bitfield of a currently loaded actor.\n\nr0: live actor id\nr1: attribute bitfield",
19097
+ None,
19098
+ )
19099
+
19100
+ ResetAttributeBitfieldLiveActor = Symbol(
19101
+ [0x1C5D8],
19102
+ [0x22F9158],
19103
+ None,
19104
+ "ResetAttributeBitfieldLiveActor",
19105
+ "Clears bits of the attribute bitfield of a currently loaded actor.\n\nr0: live actor id\nr1: attribute bitfield",
19106
+ None,
19107
+ )
19108
+
19109
+ UnlockActorRoutines = Symbol(
19110
+ [0x1CE38],
19111
+ [0x22F99B8],
19112
+ None,
19113
+ "UnlockActorRoutines",
19114
+ "Attempts to unlock all live actor routines of the current script.\n\nr0: lock id\nreturn: True if any script routine was successfully unlocked",
19115
+ None,
19116
+ )
19117
+
19118
+ GetCollidingActorId = Symbol(
19119
+ [0x1CFA0],
19120
+ [0x22F9B20],
19121
+ None,
19122
+ "GetCollidingActorId",
19123
+ "Returns the first colliding actor given a series of vector coordinates.\n\nr0: live actor id (used only to ignore an actor colliding with itself)\nr1: attribute bitfield to test actors against\nr2: pointer to coord_min\nr3: pointer to coord_max\nreturn: The first colliding actor's id, or -1 if no is collision detected",
18989
19124
  None,
18990
19125
  )
18991
19126
 
@@ -18994,7 +19129,187 @@ class EuOverlay11Functions:
18994
19129
  [0x22F9D68],
18995
19130
  None,
18996
19131
  "ChangeActorAnimation",
18997
- "Used by the SetAnimation opcode to change the animation of an actor.\n\nIt's responsible for breaking down the SetAnimation parameter and determining which animation to play and which flags to set.\n\nr0: ?\nr1: SetAnimation parameter",
19132
+ "Used by the SetAnimation opcode to change the animation of an actor.\n\nIt's responsible for breaking down the SetAnimation parameter and determining which animation to play and which flags to set.\n\nr0: live actor\nr1: SetAnimation parameter",
19133
+ None,
19134
+ )
19135
+
19136
+ SetPositionLiveActor = Symbol(
19137
+ [0x1D348],
19138
+ [0x22F9EC8],
19139
+ None,
19140
+ "SetPositionLiveActor",
19141
+ "Sets the position for a currently loaded actor.\n\nr0: live actor\nr1: pointer to a position vector",
19142
+ None,
19143
+ )
19144
+
19145
+ GetIdLiveActor = Symbol(
19146
+ [0x1E824],
19147
+ [0x22FB3A4],
19148
+ None,
19149
+ "GetIdLiveActor",
19150
+ "Returns the ID of a currently loaded actor. This ID can then be used to index GROUND_STATE_PTRS::actors.\n\nr0: live actor\nreturn: id",
19151
+ None,
19152
+ )
19153
+
19154
+ GetCollisionBoxLiveActor = Symbol(
19155
+ [0x1E82C],
19156
+ [0x22FB3AC],
19157
+ None,
19158
+ "GetCollisionBoxLiveActor",
19159
+ "Gets the collision box of a currently loaded actor.\n\nr0: live actor\nr1: [output] collision box buffer",
19160
+ None,
19161
+ )
19162
+
19163
+ SetPositionInitialLiveActor = Symbol(
19164
+ [0x1E840],
19165
+ [0x22FB3C0],
19166
+ None,
19167
+ "SetPositionInitialLiveActor",
19168
+ "Sets a currently loaded actor to return to its initial position.\n\nr0: live actor\nr1: pointer to an position vector; if null, actor will return to its initial position",
19169
+ None,
19170
+ )
19171
+
19172
+ SetMovementRangeLiveActor = Symbol(
19173
+ [0x1E8FC],
19174
+ [0x22FB47C],
19175
+ None,
19176
+ "SetMovementRangeLiveActor",
19177
+ "Sets a currently loaded actor's random movement range.\n\nr0: live actor\nr1: pointer to limit_min_pos\nr2: pointer to limit_max_pos",
19178
+ None,
19179
+ )
19180
+
19181
+ GetCollisionBoxCenterLiveActor = Symbol(
19182
+ [0x1E920],
19183
+ [0x22FB4A0],
19184
+ None,
19185
+ "GetCollisionBoxCenterLiveActor",
19186
+ "Gets the center of a collision box of a currently loaded actor.\n\nThis simply adds the actor's minimum coordinates by half the size of the actor's collision box.\n\nr0: live actor\nr1: [output] collision box center buffer",
19187
+ None,
19188
+ )
19189
+
19190
+ SetPositionLiveActorVeneer = Symbol(
19191
+ [0x1E944],
19192
+ [0x22FB4C4],
19193
+ None,
19194
+ "SetPositionLiveActorVeneer",
19195
+ "Likely a linker-generated veneer for SetPositionLiveActor.\n\nSee https://developer.arm.com/documentation/dui0474/k/image-structure-and-generation/linker-generated-veneers/what-is-a-veneer-\n\nr0: live actor\nr1: pointer to a position vector",
19196
+ None,
19197
+ )
19198
+
19199
+ GetHeightLiveActor = Symbol(
19200
+ [0x1E950],
19201
+ [0x22FB4D0],
19202
+ None,
19203
+ "GetHeightLiveActor",
19204
+ "Gets the two height values of a currently loaded actor.\n\nr0: live actor\nr1: [output] pointer to first height value\nr2: [output] pointer to second height value, which is curiously not referenced by SetHeightLiveActor",
19205
+ None,
19206
+ )
19207
+
19208
+ SetHeightLiveActor = Symbol(
19209
+ [0x1E964],
19210
+ [0x22FB4E4],
19211
+ None,
19212
+ "SetHeightLiveActor",
19213
+ "Sets the height of a currently loaded actor.\n\nr0: live actor\nr1: height",
19214
+ None,
19215
+ )
19216
+
19217
+ GetDirectionLiveActor = Symbol(
19218
+ [0x1E96C],
19219
+ [0x22FB4EC],
19220
+ None,
19221
+ "GetDirectionLiveActor",
19222
+ "Gets the direction of a currently loaded actor.\n\nr0: live actor\nr1: [output] pointer to direction",
19223
+ None,
19224
+ )
19225
+
19226
+ SetDirectionLiveActor = Symbol(
19227
+ [0x1E97C],
19228
+ [0x22FB4FC],
19229
+ None,
19230
+ "SetDirectionLiveActor",
19231
+ "Sets the direction of a currently loaded actor. Does nothing if the direction value passed is -1.\n\nr0: live actor\nr1: direction",
19232
+ None,
19233
+ )
19234
+
19235
+ SetAnimationLiveActor = Symbol(
19236
+ [0x1E9A4],
19237
+ [0x22FB524],
19238
+ None,
19239
+ "SetAnimationLiveActor",
19240
+ "Sets the animation of a currently loaded actor. Leads up to a final ChangeActorAnimation call.\n\nIncludes a check for if live_actor::id is less than 3 and if live_actor::field_0xa is equal to 0x119, which ultimately may perform ((SetAnimation parameter) & 0x1f00 | 0x53).\n\nr0: live actor\nr1: SetAnimation parameter",
19241
+ None,
19242
+ )
19243
+
19244
+ SetEffectLiveActor = Symbol(
19245
+ [0x1E9F0],
19246
+ [0x22FB570],
19247
+ None,
19248
+ "SetEffectLiveActor",
19249
+ "Sets the effect of a currently loaded actor.\n\nr0: live actor\nr1: flag (true if effect id is 0?)\nr2: effect id\nr3: effect position marker",
19250
+ None,
19251
+ )
19252
+
19253
+ GetAnimationStatusLiveActor = Symbol(
19254
+ [0x1EA04],
19255
+ [0x22FB584],
19256
+ None,
19257
+ "GetAnimationStatusLiveActor",
19258
+ "Gets the animation status of a currently loaded actor.\n\nUsed to determine if the animation has finished via script opcodes like WaitAnimation and WaitEndAnimation.\n\nr0: live actor\nreturn: status",
19259
+ None,
19260
+ )
19261
+
19262
+ GetEffectStatusLiveActor = Symbol(
19263
+ [0x1EA24],
19264
+ [0x22FB5A4],
19265
+ None,
19266
+ "GetEffectStatusLiveActor",
19267
+ "Gets the effect status of a currently loaded actor.\n\nUsed to determine if an effect has finished via the script opcode WaitEffect.\n\nr0: live actor\nreturn: status",
19268
+ None,
19269
+ )
19270
+
19271
+ GetAttributeBitfieldLiveActor = Symbol(
19272
+ [0x1EA48],
19273
+ [0x22FB5C8],
19274
+ None,
19275
+ "GetAttributeBitfieldLiveActor",
19276
+ "Gets the attribute bitfield of a currently loaded actor.\n\nr0: live actor\nr1: [output] pointer to attribute bitfield",
19277
+ None,
19278
+ )
19279
+
19280
+ SetAttributeBitfieldLiveActorWrapper = Symbol(
19281
+ [0x1EA54],
19282
+ [0x22FB5D4],
19283
+ None,
19284
+ "SetAttributeBitfieldLiveActorWrapper",
19285
+ "Sets bits of the attribute bitfield of a currently loaded actor.\n\nIs a wrapper around SetAttributeBitfieldLiveActor, meaning this calls SetAttributeBitfieldLiveActor with a first parameter of live_actor::id.\n\nr0: live actor\nr1: attribute bitfield",
19286
+ None,
19287
+ )
19288
+
19289
+ ResetAttributeBitfieldLiveActorWrapper = Symbol(
19290
+ [0x1EA64],
19291
+ [0x22FB5E4],
19292
+ None,
19293
+ "ResetAttributeBitfieldLiveActorWrapper",
19294
+ "Clears bits of the attribute bitfield of a currently loaded actor.\n\nIs a wrapper around ResetAttributeBitfieldLiveActor, meaning this calls ResetAttributeBitfieldLiveActor with a first parameter of live_actor::id.\n\nr0: live actor\nr1: attribute bitfield",
19295
+ None,
19296
+ )
19297
+
19298
+ SetBlinkLiveActor = Symbol(
19299
+ [0x1EA74],
19300
+ [0x22FB5F4],
19301
+ None,
19302
+ "SetBlinkLiveActor",
19303
+ "Sets the actor to blink in and out of sight at certain intervals.\n\nr0: live actor\nr1: frame interval for blinking in\nr2: frame interval for blinking out",
19304
+ None,
19305
+ )
19306
+
19307
+ SetPositionOffsetLiveActor = Symbol(
19308
+ [0x1EA84],
19309
+ [0x22FB604],
19310
+ None,
19311
+ "SetPositionOffsetLiveActor",
19312
+ "Offsets a currently loaded actor's position.\n\nr0: live actor\nr1: pointer to an position offset vector",
18998
19313
  None,
18999
19314
  )
19000
19315
 
@@ -19007,21 +19322,462 @@ class EuOverlay11Functions:
19007
19322
  None,
19008
19323
  )
19009
19324
 
19010
- GetDirectionLiveActor = Symbol(
19325
+ DeleteLiveObject = Symbol(
19326
+ [0x2026C],
19327
+ [0x22FCDEC],
19328
+ None,
19329
+ "DeleteLiveObject",
19330
+ "Remove the object from the object list (in GROUND_STATE_PTRS)\n\nr0: the index of the object in the live object list",
19331
+ None,
19332
+ )
19333
+
19334
+ SetAttributeBitfieldLiveObject = Symbol(
19335
+ [0x20418],
19336
+ [0x22FCF98],
19337
+ None,
19338
+ "SetAttributeBitfieldLiveObject",
19339
+ "Sets bits of the attribute bitfield of a currently loaded object.\n\nr0: live object id\nr1: attribute bitfield",
19340
+ None,
19341
+ )
19342
+
19343
+ ResetAttributeBitfieldLiveObject = Symbol(
19344
+ [0x20458],
19345
+ [0x22FCFD8],
19346
+ None,
19347
+ "ResetAttributeBitfieldLiveObject",
19348
+ "Clears bits of the attribute bitfield of a currently loaded object.\n\nr0: live object id\nr1: attribute bitfield",
19349
+ None,
19350
+ )
19351
+
19352
+ UnlockObjectRoutines = Symbol(
19353
+ [0x20A64],
19354
+ [0x22FD5E4],
19355
+ None,
19356
+ "UnlockObjectRoutines",
19357
+ "Attempts to unlock all live object routines of the current script.\n\nr0: lock id\nreturn: True if any script routine was successfully unlocked",
19358
+ None,
19359
+ )
19360
+
19361
+ GetCollidingObjectId = Symbol(
19362
+ [0x20B38],
19363
+ [0x22FD6B8],
19364
+ None,
19365
+ "GetCollidingObjectId",
19366
+ "Returns the first colliding object given a series of vector coordinates.\n\nr0: attribute bitfield to test objects against\nr1: pointer to coord_min\nr2: pointer to coord_max\nreturn: The first colliding object's id, or -1 if no is collision detected",
19367
+ None,
19368
+ )
19369
+
19370
+ SetPositionLiveObject = Symbol(
19371
+ [0x20D90],
19372
+ [0x22FD910],
19373
+ None,
19374
+ "SetPositionLiveObject",
19375
+ "Sets the position for a currently loaded object.\n\nr0: live object\nr1: pointer to a position vector",
19376
+ None,
19377
+ )
19378
+
19379
+ GetIdLiveObject = Symbol(
19380
+ [0x20E80],
19381
+ [0x22FDA00],
19382
+ None,
19383
+ "GetIdLiveObject",
19384
+ "Returns the ID of a currently loaded object. This ID can then be used to index GROUND_STATE_PTRS::objects.\n\nr0: live object\nreturn: id",
19385
+ None,
19386
+ )
19387
+
19388
+ GetCollisionBoxLiveObject = Symbol(
19389
+ [0x20E88],
19390
+ [0x22FDA08],
19391
+ None,
19392
+ "GetCollisionBoxLiveObject",
19393
+ "Gets the collision box of a currently loaded object.\n\nr0: live object\nr1: [output] collision box buffer",
19394
+ None,
19395
+ )
19396
+
19397
+ SetPositionInitialLiveObject = Symbol(
19398
+ [0x20E9C],
19399
+ [0x22FDA1C],
19400
+ None,
19401
+ "SetPositionInitialLiveObject",
19402
+ "Sets a currently loaded object to return to its initial position.\n\nr0: live object\nr1: pointer to an position vector; if null, object will return to its initial position",
19403
+ None,
19404
+ )
19405
+
19406
+ SetMovementRangeLiveObject = Symbol(
19407
+ [0x20F58],
19408
+ [0x22FDAD8],
19409
+ None,
19410
+ "SetMovementRangeLiveObject",
19411
+ "Sets a currently loaded object's random movement range.\n\nr0: live object\nr1: pointer to limit_min_pos\nr2: pointer to limit_max_pos",
19412
+ None,
19413
+ )
19414
+
19415
+ GetCollisionBoxCenterLiveObject = Symbol(
19416
+ [0x20F7C],
19417
+ [0x22FDAFC],
19418
+ None,
19419
+ "GetCollisionBoxCenterLiveObject",
19420
+ "Gets the center of a collision box of a currently loaded object.\n\nThis simply adds the object's minimum coordinates by half the size of the object's collision box.\n\nr0: live object\nr1: [output] collision box center buffer",
19421
+ None,
19422
+ )
19423
+
19424
+ SetPositionLiveObjectVeneer = Symbol(
19425
+ [0x20FA0],
19426
+ [0x22FDB20],
19427
+ None,
19428
+ "SetPositionLiveObjectVeneer",
19429
+ "Likely a linker-generated veneer for SetPositionLiveObject.\n\nSee https://developer.arm.com/documentation/dui0474/k/image-structure-and-generation/linker-generated-veneers/what-is-a-veneer-\n\nr0: live object\nr1: pointer to a position vector",
19430
+ None,
19431
+ )
19432
+
19433
+ GetHeightLiveObject = Symbol(
19434
+ [0x20FAC],
19435
+ [0x22FDB2C],
19436
+ None,
19437
+ "GetHeightLiveObject",
19438
+ "Gets the two height values of a currently loaded object.\n\nr0: live object\nr1: [output] pointer to first height value\nr2: [output] pointer to second height value, which is curiously not referenced by SetHeightLiveObject",
19439
+ None,
19440
+ )
19441
+
19442
+ SetHeightLiveObject = Symbol(
19443
+ [0x20FC0],
19444
+ [0x22FDB40],
19445
+ None,
19446
+ "SetHeightLiveObject",
19447
+ "Sets the height of a currently loaded object.\n\nr0: live object\nr1: height",
19448
+ None,
19449
+ )
19450
+
19451
+ GetDirectionLiveObject = Symbol(
19011
19452
  [0x20FC8],
19012
19453
  [0x22FDB48],
19013
19454
  None,
19014
- "GetDirectionLiveActor",
19015
- "Put the direction of the actor in the destination\n\nr0: live actor\nr1: destination address (1 byte)",
19455
+ "GetDirectionLiveObject",
19456
+ "Gets the direction of a currently loaded object.\n\nr0: live object\nr1: [output] pointer to direction",
19016
19457
  None,
19017
19458
  )
19018
19459
 
19019
- SetDirectionLiveActor = Symbol(
19460
+ SetDirectionLiveObject = Symbol(
19020
19461
  [0x20FD8],
19021
19462
  [0x22FDB58],
19022
19463
  None,
19023
- "SetDirectionLiveActor",
19024
- "Store the direction in the actor structure\n-1 input is ignored\nUnsure if this change the animation\n\nr0: live actor\nr1: direction",
19464
+ "SetDirectionLiveObject",
19465
+ "Sets the direction of a currently loaded object. Does nothing if the direction value passed is -1.\n\nr0: live object\nr1: direction",
19466
+ None,
19467
+ )
19468
+
19469
+ SetAnimationLiveObject = Symbol(
19470
+ [0x20FE8],
19471
+ [0x22FDB68],
19472
+ None,
19473
+ "SetAnimationLiveObject",
19474
+ "Sets the animation of a currently loaded object.\n\nr0: live object\nr1: SetAnimation parameter",
19475
+ None,
19476
+ )
19477
+
19478
+ SetEffectLiveObject = Symbol(
19479
+ [0x210A8],
19480
+ [0x22FDC28],
19481
+ None,
19482
+ "SetEffectLiveObject",
19483
+ "Sets the effect of a currently loaded object.\n\nr0: live object\nr1: flag (true if effect id is 0?)\nr2: effect id",
19484
+ None,
19485
+ )
19486
+
19487
+ GetAnimationStatusLiveObject = Symbol(
19488
+ [0x210B8],
19489
+ [0x22FDC38],
19490
+ None,
19491
+ "GetAnimationStatusLiveObject",
19492
+ "Gets the animation status of a currently loaded object.\n\nUsed to determine if the animation has finished via script opcodes like WaitAnimation and WaitEndAnimation.\n\nr0: live object\nreturn: status",
19493
+ None,
19494
+ )
19495
+
19496
+ GetEffectStatusLiveObject = Symbol(
19497
+ [0x210D8],
19498
+ [0x22FDC58],
19499
+ None,
19500
+ "GetEffectStatusLiveObject",
19501
+ "Gets the effect status of a currently loaded object.\n\nUsed to determine if an effect has finished via the script opcode WaitEffect.\n\nr0: live object\nreturn: status",
19502
+ None,
19503
+ )
19504
+
19505
+ GetAttributeBitfieldLiveObject = Symbol(
19506
+ [0x210FC],
19507
+ [0x22FDC7C],
19508
+ None,
19509
+ "GetAttributeBitfieldLiveObject",
19510
+ "Gets the attribute bitfield of a currently loaded object.\n\nr0: live object\nr1: [output] pointer to attribute bitfield",
19511
+ None,
19512
+ )
19513
+
19514
+ SetAttributeBitfieldLiveObjectWrapper = Symbol(
19515
+ [0x21108],
19516
+ [0x22FDC88],
19517
+ None,
19518
+ "SetAttributeBitfieldLiveObjectWrapper",
19519
+ "Sets bits of the attribute bitfield of a currently loaded object.\n\nIs a wrapper around SetAttributeBitfieldLiveObject, meaning this calls SetAttributeBitfieldLiveObject with a first parameter of live_object::id.\n\nr0: live object\nr1: attribute bitfield",
19520
+ None,
19521
+ )
19522
+
19523
+ ResetAttributeBitfieldLiveObjectWrapper = Symbol(
19524
+ [0x21118],
19525
+ [0x22FDC98],
19526
+ None,
19527
+ "ResetAttributeBitfieldLiveObjectWrapper",
19528
+ "Clears bits of the attribute bitfield of a currently loaded object.\n\nIs a wrapper around ResetAttributeBitfieldLiveObject, meaning this calls ResetAttributeBitfieldLiveObject with a first parameter of live_object::id.\n\nr0: live object\nr1: attribute bitfield",
19529
+ None,
19530
+ )
19531
+
19532
+ SetBlinkLiveObject = Symbol(
19533
+ [0x21128],
19534
+ [0x22FDCA8],
19535
+ None,
19536
+ "SetBlinkLiveObject",
19537
+ "Sets the object to blink in and out of sight at certain intervals.\n\nr0: live object\nr1: frame interval for blinking in\nr2: frame interval for blinking out",
19538
+ None,
19539
+ )
19540
+
19541
+ SetPositionOffsetLiveObject = Symbol(
19542
+ [0x21138],
19543
+ [0x22FDCB8],
19544
+ None,
19545
+ "SetPositionOffsetLiveObject",
19546
+ "Offsets a currently loaded object's position.\n\nr0: live object\nr1: pointer to an position offset vector",
19547
+ None,
19548
+ )
19549
+
19550
+ DeleteLivePerformer = Symbol(
19551
+ [0x21A0C],
19552
+ [0x22FE58C],
19553
+ None,
19554
+ "DeleteLivePerformer",
19555
+ "Remove the performer from the performer list (in GROUND_STATE_PTRS)\n\nr0: the index of the performer in the live performer list",
19556
+ None,
19557
+ )
19558
+
19559
+ SetAttributeBitfieldLivePerformer = Symbol(
19560
+ [0x21BB8],
19561
+ [0x22FE738],
19562
+ None,
19563
+ "SetAttributeBitfieldLivePerformer",
19564
+ "Sets bits of the attribute bitfield of a currently loaded performer.\n\nr0: live performer id\nr1: attribute bitfield",
19565
+ None,
19566
+ )
19567
+
19568
+ ResetAttributeBitfieldLivePerformer = Symbol(
19569
+ [0x21BF8],
19570
+ [0x22FE778],
19571
+ None,
19572
+ "ResetAttributeBitfieldLivePerformer",
19573
+ "Clears bits of the attribute bitfield of a currently loaded performer.\n\nr0: live performer id\nr1: attribute bitfield",
19574
+ None,
19575
+ )
19576
+
19577
+ UnlockPerformerRoutines = Symbol(
19578
+ [0x22174],
19579
+ [0x22FECF4],
19580
+ None,
19581
+ "UnlockPerformerRoutines",
19582
+ "Attempts to unlock all live performer routines of the current script.\n\nr0: lock id\nreturn: True if any script routine was successfully unlocked",
19583
+ None,
19584
+ )
19585
+
19586
+ SetPositionLivePerformer = Symbol(
19587
+ [0x22224],
19588
+ [0x22FEDA4],
19589
+ None,
19590
+ "SetPositionLivePerformer",
19591
+ "Sets the position for a currently loaded performer.\n\nr0: live performer\nr1: pointer to a position vector",
19592
+ None,
19593
+ )
19594
+
19595
+ GetIdLivePerformer = Symbol(
19596
+ [0x222B0],
19597
+ [0x22FEE30],
19598
+ None,
19599
+ "GetIdLivePerformer",
19600
+ "Returns the ID of a currently loaded performer. This ID can then be used to index GROUND_STATE_PTRS::performers.\n\nr0: live performer\nreturn: id",
19601
+ None,
19602
+ )
19603
+
19604
+ GetCollisionBoxLivePerformer = Symbol(
19605
+ [0x222B8],
19606
+ [0x22FEE38],
19607
+ None,
19608
+ "GetCollisionBoxLivePerformer",
19609
+ "Gets the collision box of a currently loaded performer.\n\nr0: live performer\nr1: [output] collision box buffer",
19610
+ None,
19611
+ )
19612
+
19613
+ SetPositionInitialLivePerformer = Symbol(
19614
+ [0x222CC],
19615
+ [0x22FEE4C],
19616
+ None,
19617
+ "SetPositionInitialLivePerformer",
19618
+ "Sets a currently loaded performer to return to its initial position.\n\nr0: live performer\nr1: pointer to an position vector; if null, performer will return to its initial position",
19619
+ None,
19620
+ )
19621
+
19622
+ SetMovementRangeLivePerformer = Symbol(
19623
+ [0x22388],
19624
+ [0x22FEF08],
19625
+ None,
19626
+ "SetMovementRangeLivePerformer",
19627
+ "Sets a currently loaded performer's random movement range.\n\nr0: live performer\nr1: pointer to limit_min_pos\nr2: pointer to limit_max_pos",
19628
+ None,
19629
+ )
19630
+
19631
+ GetCollisionBoxCenterLivePerformer = Symbol(
19632
+ [0x223AC],
19633
+ [0x22FEF2C],
19634
+ None,
19635
+ "GetCollisionBoxCenterLivePerformer",
19636
+ "Gets the center of a collision box of a currently loaded performer.\n\nThis simply adds the performer's minimum coordinates by half the size of the performer's collision box.\n\nr0: live performer\nr1: [output] collision box center buffer",
19637
+ None,
19638
+ )
19639
+
19640
+ SetPositionLivePerformerVeneer = Symbol(
19641
+ [0x223D0],
19642
+ [0x22FEF50],
19643
+ None,
19644
+ "SetPositionLivePerformerVeneer",
19645
+ "Likely a linker-generated veneer for SetPositionLivePerformer.\n\nSee https://developer.arm.com/documentation/dui0474/k/image-structure-and-generation/linker-generated-veneers/what-is-a-veneer-\n\nr0: live performer\nr1: pointer to a position vector",
19646
+ None,
19647
+ )
19648
+
19649
+ GetHeightLivePerformer = Symbol(
19650
+ [0x223DC],
19651
+ [0x22FEF5C],
19652
+ None,
19653
+ "GetHeightLivePerformer",
19654
+ "Gets the two height values of a currently loaded performer.\n\nr0: live performer\nr1: [output] pointer to first height value\nr2: [output] pointer to second height value, which is curiously not referenced by SetHeightLivePerformer",
19655
+ None,
19656
+ )
19657
+
19658
+ SetHeightLivePerformer = Symbol(
19659
+ [0x223F0],
19660
+ [0x22FEF70],
19661
+ None,
19662
+ "SetHeightLivePerformer",
19663
+ "Sets the height of a currently loaded performer.\n\nr0: live performer\nr1: height",
19664
+ None,
19665
+ )
19666
+
19667
+ GetDirectionLivePerformer = Symbol(
19668
+ [0x223F8],
19669
+ [0x22FEF78],
19670
+ None,
19671
+ "GetDirectionLivePerformer",
19672
+ "Gets the direction of a currently loaded performer.\n\nr0: live performer\nr1: [output] pointer to direction",
19673
+ None,
19674
+ )
19675
+
19676
+ SetDirectionLivePerformer = Symbol(
19677
+ [0x22408],
19678
+ [0x22FEF88],
19679
+ None,
19680
+ "SetDirectionLivePerformer",
19681
+ "Sets the direction of a currently loaded performer. Does nothing if the direction value passed is -1.\n\nr0: live performer\nr1: direction",
19682
+ None,
19683
+ )
19684
+
19685
+ SetAnimationLivePerformer = Symbol(
19686
+ [0x22418],
19687
+ [0x22FEF98],
19688
+ None,
19689
+ "SetAnimationLivePerformer",
19690
+ "Sets the animation of a currently loaded performer.\n\nr0: live performer\nr1: SetAnimation parameter",
19691
+ None,
19692
+ )
19693
+
19694
+ SetEffectLivePerformer = Symbol(
19695
+ [0x224D8],
19696
+ [0x22FF058],
19697
+ None,
19698
+ "SetEffectLivePerformer",
19699
+ "Sets the effect of a currently loaded performer.\n\nr0: live performer\nr1: flag (true if effect id is 0?)\nr2: effect id",
19700
+ None,
19701
+ )
19702
+
19703
+ GetAnimationStatusLivePerformer = Symbol(
19704
+ [0x224E8],
19705
+ [0x22FF068],
19706
+ None,
19707
+ "GetAnimationStatusLivePerformer",
19708
+ "Gets the animation status of a currently loaded performer.\n\nUsed to determine if the animation has finished via script opcodes like WaitAnimation and WaitEndAnimation.\n\nr0: live performer\nreturn: status",
19709
+ None,
19710
+ )
19711
+
19712
+ GetEffectStatusLivePerformer = Symbol(
19713
+ [0x22508],
19714
+ [0x22FF088],
19715
+ None,
19716
+ "GetEffectStatusLivePerformer",
19717
+ "Gets the effect status of a currently loaded performer.\n\nUsed to determine if an effect has finished via the script opcode WaitEffect.\n\nr0: live performer\nreturn: status",
19718
+ None,
19719
+ )
19720
+
19721
+ GetAttributeBitfieldLivePerformer = Symbol(
19722
+ [0x22540],
19723
+ [0x22FF0C0],
19724
+ None,
19725
+ "GetAttributeBitfieldLivePerformer",
19726
+ "Gets the attribute bitfield of a currently loaded performer.\n\nr0: live performer\nr1: [output] pointer to attribute bitfield",
19727
+ None,
19728
+ )
19729
+
19730
+ SetAttributeBitfieldLivePerformerWrapper = Symbol(
19731
+ [0x2254C],
19732
+ [0x22FF0CC],
19733
+ None,
19734
+ "SetAttributeBitfieldLivePerformerWrapper",
19735
+ "Sets bits of the attribute bitfield of a currently loaded performer.\n\nIs a wrapper around SetAttributeBitfieldLivePerformer, meaning this calls SetAttributeBitfieldLivePerformer with a first parameter of live_performer::id.\n\nr0: live performer\nr1: attribute bitfield",
19736
+ None,
19737
+ )
19738
+
19739
+ ResetAttributeBitfieldLivePerformerWrapper = Symbol(
19740
+ [0x2255C],
19741
+ [0x22FF0DC],
19742
+ None,
19743
+ "ResetAttributeBitfieldLivePerformerWrapper",
19744
+ "Clears bits of the attribute bitfield of a currently loaded performer.\n\nIs a wrapper around ResetAttributeBitfieldLivePerformer, meaning this calls ResetAttributeBitfieldLivePerformer with a first parameter of live_performer::id.\n\nr0: live performer\nr1: attribute bitfield",
19745
+ None,
19746
+ )
19747
+
19748
+ SetBlinkLivePerformer = Symbol(
19749
+ [0x2256C],
19750
+ [0x22FF0EC],
19751
+ None,
19752
+ "SetBlinkLivePerformer",
19753
+ "Sets the performer to blink in and out of sight at certain intervals.\n\nr0: live performer\nr1: frame interval for blinking in\nr2: frame interval for blinking out",
19754
+ None,
19755
+ )
19756
+
19757
+ SetPositionOffsetLivePerformer = Symbol(
19758
+ [0x2257C],
19759
+ [0x22FF0FC],
19760
+ None,
19761
+ "SetPositionOffsetLivePerformer",
19762
+ "Offsets a currently loaded performer's position.\n\nr0: live performer\nr1: pointer to an position offset vector",
19763
+ None,
19764
+ )
19765
+
19766
+ DeleteLiveEvent = Symbol(
19767
+ [0x22A88],
19768
+ [0x22FF608],
19769
+ None,
19770
+ "DeleteLiveEvent",
19771
+ "Remove the event from the event list (in GROUND_STATE_PTRS)\n\nr0: the index of the event in the live event list",
19772
+ None,
19773
+ )
19774
+
19775
+ GetCollidingEventId = Symbol(
19776
+ [0x22C18],
19777
+ [0x22FF798],
19778
+ None,
19779
+ "GetCollidingEventId",
19780
+ "Returns the first colliding event given a series of vector coordinates.\n\nr0: attribute bitfield to test events against\nr1: pointer to coord_min\nr2: pointer to coord_max\nreturn: The first colliding event's id, or -1 if no is collision detected",
19025
19781
  None,
19026
19782
  )
19027
19783
 
@@ -19300,6 +20056,15 @@ class EuOverlay11Data:
19300
20056
  "struct level_tilemap_list_entry[81]",
19301
20057
  )
19302
20058
 
20059
+ ACTOR_FUNCTION_TABLE = Symbol(
20060
+ [0x4582C],
20061
+ [0x23223AC],
20062
+ 0x50,
20063
+ "ACTOR_FUNCTION_TABLE",
20064
+ "A function pointer table accessed when performing script opcodes on actors.",
20065
+ "struct ground_entity_function_table",
20066
+ )
20067
+
19303
20068
  SETANIMATION_TABLE = Symbol(
19304
20069
  [0x4587C],
19305
20070
  [0x23223FC],
@@ -19309,6 +20074,24 @@ class EuOverlay11Data:
19309
20074
  "struct animation_data[84]",
19310
20075
  )
19311
20076
 
20077
+ OBJECT_FUNCTION_TABLE = Symbol(
20078
+ [0x45DAC],
20079
+ [0x232292C],
20080
+ 0x50,
20081
+ "OBJECT_FUNCTION_TABLE",
20082
+ "A function pointer table accessed when performing script opcodes on objects.",
20083
+ "struct ground_entity_function_table",
20084
+ )
20085
+
20086
+ PERFORMER_FUNCTION_TABLE = Symbol(
20087
+ [0x460C0],
20088
+ [0x2322C40],
20089
+ 0x50,
20090
+ "PERFORMER_FUNCTION_TABLE",
20091
+ "A function pointer table accessed when performing script opcodes on performers.",
20092
+ "struct ground_entity_function_table",
20093
+ )
20094
+
19312
20095
  TEAM_INFO_BOX_DEFAULT_WINDOW_PARAMS = Symbol(
19313
20096
  [0x4640C],
19314
20097
  [0x2322F8C],
@@ -30256,6 +31039,15 @@ class EuOverlay29Data:
30256
31039
  "struct damage_negating_exclusive_eff_entry[28]",
30257
31040
  )
30258
31041
 
31042
+ TWO_TURN_STATUSES = Symbol(
31043
+ [0x76AEC],
31044
+ [0x235366C],
31045
+ 0xB,
31046
+ "TWO_TURN_STATUSES",
31047
+ "Lists all status IDs that are for two-turn moves. The last entry is null.",
31048
+ "struct status_two_turn_id_8[11]",
31049
+ )
31050
+
30259
31051
  TWO_TURN_MOVES_AND_STATUSES = Symbol(
30260
31052
  [0x76B38],
30261
31053
  [0x23536B8],
@@ -31682,9 +32474,9 @@ class EuRamFunctions:
31682
32474
  class EuRamData:
31683
32475
 
31684
32476
  DEFAULT_MEMORY_ARENA_MEMORY = Symbol(
31685
- None,
31686
- None,
31687
- None,
32477
+ [0xB5500],
32478
+ [0x20B5500],
32479
+ 0x1E6400,
31688
32480
  "DEFAULT_MEMORY_ARENA_MEMORY",
31689
32481
  "The memory region for the default memory arena.\n\nThe length is defined by DEFAULT_MEMORY_ARENA_SIZE.\n\nOne mode that uses this region for heap allocations is dungeon mode.",
31690
32482
  "uint8_t[1991680]",
@@ -31898,14 +32690,32 @@ class EuRamData:
31898
32690
  )
31899
32691
 
31900
32692
  AUDIO_COMMANDS_BUFFER = Symbol(
31901
- [0x2A5599],
31902
- [0x22A5599],
32693
+ [0x2A5590],
32694
+ [0x22A5590],
31903
32695
  0x200,
31904
32696
  "AUDIO_COMMANDS_BUFFER",
31905
32697
  "Buffer used to store audio commands. 16 entries in total. Seems like entries are removed at some point (maybe after the commands are read or after they finish executing).",
31906
32698
  "struct audio_command[16]",
31907
32699
  )
31908
32700
 
32701
+ SOUND_MEMORY_ARENA_PTR = Symbol(
32702
+ None,
32703
+ None,
32704
+ None,
32705
+ "SOUND_MEMORY_ARENA_PTR",
32706
+ "Pointer to SOUND_MEMORY_ARENA.",
32707
+ "struct mem_arena*",
32708
+ )
32709
+
32710
+ WINDOW_LIST = Symbol(
32711
+ [0x2A921C],
32712
+ [0x22A921C],
32713
+ 0x1180,
32714
+ "WINDOW_LIST",
32715
+ "Array of all window structs. Newly created window structs are taken from slots in this array.\n\nNote that this array isn't strictly ordered in any way. A newly created window will occupy the first available slot. If a window in an early slot is destroyed, windows that are still active in later slots won't be shifted back unless destroyed and recreated.\n\ntype: struct window_list",
32716
+ "struct window_list",
32717
+ )
32718
+
31909
32719
  CURSOR_16_SPRITE_ID = Symbol(
31910
32720
  [0x2AB5A4],
31911
32721
  [0x22AB5A4],
@@ -31960,24 +32770,6 @@ class EuRamData:
31960
32770
  "struct animation_control*",
31961
32771
  )
31962
32772
 
31963
- SOUND_MEMORY_ARENA_PTR = Symbol(
31964
- None,
31965
- None,
31966
- None,
31967
- "SOUND_MEMORY_ARENA_PTR",
31968
- "Pointer to SOUND_MEMORY_ARENA.",
31969
- "struct mem_arena*",
31970
- )
31971
-
31972
- WINDOW_LIST = Symbol(
31973
- None,
31974
- None,
31975
- None,
31976
- "WINDOW_LIST",
31977
- "Array of all window structs. Newly created window structs are taken from slots in this array.\n\nNote that this array isn't strictly ordered in any way. A newly created window will occupy the first available slot. If a window in an early slot is destroyed, windows that are still active in later slots won't be shifted back unless destroyed and recreated.\n\ntype: struct window_list",
31978
- "struct window_list",
31979
- )
31980
-
31981
32773
  LAST_NEW_MOVE = Symbol(
31982
32774
  [0x2AB78C],
31983
32775
  [0x22AB78C],
@@ -32015,9 +32807,9 @@ class EuRamData:
32015
32807
  )
32016
32808
 
32017
32809
  KAOMADO_STREAM = Symbol(
32018
- None,
32019
- None,
32020
- None,
32810
+ [0x2ABDF0],
32811
+ [0x22ABDF0],
32812
+ 0x48,
32021
32813
  "KAOMADO_STREAM",
32022
32814
  "The file stream utilized for all Kaomado portrait loads.\n\ntype: struct file_stream",
32023
32815
  "struct file_stream",
@@ -32062,10 +32854,10 @@ class EuRamData:
32062
32854
  TEAM_NAME = Symbol(
32063
32855
  [0x2AC258],
32064
32856
  [0x22AC258],
32065
- 0xC,
32857
+ 0xA,
32066
32858
  "TEAM_NAME",
32067
- "The team name.\n\nA null-terminated string, with a maximum length of 10. Presumably encoded with the ANSI/Shift JIS encoding the game typically uses.\n\nThis is presumably part of a larger struct, together with other nearby data.",
32068
- "char[10]",
32859
+ "The team name.\n\nA null-terminated string, with a maximum length of 10 (or 5 in JP). Presumably encoded with the ANSI/Shift JIS encoding the game typically uses.\n\nThis is presumably part of a larger struct, together with other nearby data.",
32860
+ "",
32069
32861
  )
32070
32862
 
32071
32863
  LEVEL_UP_DATA_MONSTER_ID = Symbol(
@@ -32157,16 +32949,16 @@ class EuRamData:
32157
32949
  LOCK_NOTIFY_ARRAY = Symbol(
32158
32950
  [0x3259F4],
32159
32951
  [0x23259F4],
32160
- 0x14,
32952
+ 0x18,
32161
32953
  "LOCK_NOTIFY_ARRAY",
32162
- "Used to notify scripts waiting for a certain lock to unlock so they can resume their execution.\n\n1 byte per lock. Exact size isn't confirmed, it could potentially be longer.",
32954
+ "Used to notify scripts waiting for a certain lock to unlock so they can resume their execution.\n\n1 byte per lock.",
32163
32955
  "bool[20]",
32164
32956
  )
32165
32957
 
32166
32958
  GROUND_MEMORY_ARENA_1 = Symbol(
32167
- None,
32168
- None,
32169
- None,
32959
+ [0x325B00],
32960
+ [0x2325B00],
32961
+ 0x1C,
32170
32962
  "GROUND_MEMORY_ARENA_1",
32171
32963
  "This is a top-level memory arena used for some things in ground mode.\n\nIt's used for user_flags 8, 15, and 16.\n\nIncluding the allocator metadata, this arena occupies 0x64000 bytes of space.\n\ntype: struct mem_arena",
32172
32964
  "struct mem_arena",
@@ -32221,37 +33013,37 @@ class EuRamData:
32221
33013
  "bool[8]",
32222
33014
  )
32223
33015
 
32224
- AI_THROWN_ITEM_DIRECTIONS = Symbol(
33016
+ AI_THROWN_ITEM_PROBABILITIES = Symbol(
32225
33017
  [0x37D5D8],
32226
33018
  [0x237D5D8],
32227
33019
  0x20,
32228
- "AI_THROWN_ITEM_DIRECTIONS",
32229
- "[Runtime] Used to store the directions output by GetPossibleAiThrownItemDirections.",
33020
+ "AI_THROWN_ITEM_PROBABILITIES",
33021
+ "[Runtime] Used to store the probabilities matching the directions in THROWN_ITEM_DIRECTIONS.",
32230
33022
  "uint32_t[8]",
32231
33023
  )
32232
33024
 
32233
- AI_THROWN_ITEM_PROBABILITIES = Symbol(
33025
+ AI_THROWN_ITEM_DIRECTIONS = Symbol(
32234
33026
  [0x37D5F8],
32235
33027
  [0x237D5F8],
32236
33028
  0x20,
32237
- "AI_THROWN_ITEM_PROBABILITIES",
32238
- "[Runtime] Used to store the probabilities matching the directions in THROWN_ITEM_DIRECTIONS.",
33029
+ "AI_THROWN_ITEM_DIRECTIONS",
33030
+ "[Runtime] Used to store the directions output by GetPossibleAiThrownItemDirections.",
32239
33031
  "uint32_t[8]",
32240
33032
  )
32241
33033
 
32242
33034
  ROLLOUT_ICE_BALL_MISSED = Symbol(
32243
- None,
32244
- None,
32245
- None,
33035
+ [0x37D669],
33036
+ [0x237D669],
33037
+ 0x1,
32246
33038
  "ROLLOUT_ICE_BALL_MISSED",
32247
33039
  "[Runtime] Appears to be set to true whenever a hit from Rollout or Ice Ball fails to deal damage.",
32248
33040
  "bool",
32249
33041
  )
32250
33042
 
32251
33043
  MULTIHIT_FATIGUE_MOVE_USED = Symbol(
32252
- None,
32253
- None,
32254
- None,
33044
+ [0x37D66A],
33045
+ [0x237D66A],
33046
+ 0x1,
32255
33047
  "MULTIHIT_FATIGUE_MOVE_USED",
32256
33048
  "[Runtime] Appears to be set to true whenever a multihit fatigue move deals damage.",
32257
33049
  "bool",
@@ -32260,7 +33052,7 @@ class EuRamData:
32260
33052
  TWINEEDLE_HIT_TRACKER = Symbol(
32261
33053
  [0x37D66B],
32262
33054
  [0x237D66B],
32263
- None,
33055
+ 0x1,
32264
33056
  "TWINEEDLE_HIT_TRACKER",
32265
33057
  "[Runtime] Appears to be set to true whenever Twineedle hits and deals damage. So that even if the second attack misses, it will still try to poison the target.",
32266
33058
  "bool",
@@ -32269,16 +33061,16 @@ class EuRamData:
32269
33061
  RAPID_SPIN_BINDING_REMOVAL = Symbol(
32270
33062
  [0x37D66D],
32271
33063
  [0x237D66D],
32272
- None,
33064
+ 0x1,
32273
33065
  "RAPID_SPIN_BINDING_REMOVAL",
32274
33066
  "[Runtime] Appears to be set to true when using Rapid Spin to later remove any binding effects and Leech Seed.",
32275
33067
  "bool",
32276
33068
  )
32277
33069
 
32278
33070
  ROLLOUT_ICE_BALL_SUCCESSIVE_HITS = Symbol(
32279
- None,
32280
- None,
32281
- None,
33071
+ [0x37D670],
33072
+ [0x237D670],
33073
+ 0x4,
32282
33074
  "ROLLOUT_ICE_BALL_SUCCESSIVE_HITS",
32283
33075
  "[Runtime] Seems to count the number of successive hits by Rollout or Ice Ball.",
32284
33076
  "int",
@@ -32287,7 +33079,7 @@ class EuRamData:
32287
33079
  MULTIHIT_MOVE_SUCCESSIVE_HITS = Symbol(
32288
33080
  [0x37D678],
32289
33081
  [0x237D678],
32290
- None,
33082
+ 0x4,
32291
33083
  "MULTIHIT_MOVE_SUCCESSIVE_HITS",
32292
33084
  "[Runtime] Seems to count the number of successive hits for multihit moves. This is used by Twineedle to check to attempt to apply Poison after the second attack.",
32293
33085
  "int",
@@ -32296,16 +33088,16 @@ class EuRamData:
32296
33088
  TRIPLE_KICK_SUCCESSIVE_HITS = Symbol(
32297
33089
  [0x37D67C],
32298
33090
  [0x237D67C],
32299
- None,
33091
+ 0x4,
32300
33092
  "TRIPLE_KICK_SUCCESSIVE_HITS",
32301
33093
  "[Runtime] Seems to count the number of successive hits by Triple Kick.",
32302
33094
  "int",
32303
33095
  )
32304
33096
 
32305
33097
  METRONOME_NEXT_INDEX = Symbol(
32306
- None,
32307
- None,
32308
- None,
33098
+ [0x37D688],
33099
+ [0x237D688],
33100
+ 0x4,
32309
33101
  "METRONOME_NEXT_INDEX",
32310
33102
  "[Runtime] The index into METRONOME_TABLE for the next usage of Metronome.",
32311
33103
  "int",