Advertisement
Guest User

Untitled

a guest
Jun 24th, 2017
58
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.29 KB | None | 0 0
  1. Originally Posted by Phantom Wings
  2.  
  3. Hmm... Well I once touched upon landing detection when I made the Stand In Midair/Fall on Ground code but I didn't go too deep into the assembly for that - just a simple ASM override. I'm almost finished another project that I'm currently working on, so after that's done I'll see about looking into it.
  4.  
  5. As for the variables, I know exactly where they're stored.
  6.  
  7. Hopefully you're familiar with the Character Root Address which was the basis for all the Super Codes and such. If not, message me back and I'll elaborate.
  8.  
  9. Anyways, use the P.O. to navigate along the following path:
  10.  
  11. [[80623320 + 4] + 60]
  12.  
  13. That will get you to the Field Accessor of the first character.
  14.  
  15. Next Navigate to:
  16.  
  17. [+70]
  18.  
  19. Which will get you to so Work Manage Module Impl, the module that handles all variables. (incidentally, the 12XXXXXX group of events in PSA directly access this module)
  20.  
  21. Now, I can't check at the moment, so I only remember how to access the Longterm variables but:
  22.  
  23. [[+20] + 0C] Longterm Basics
  24. [[+20] + 14] Longterm Scalars
  25. [[+20] + 1C] Longterm Flags
  26.  
  27. basics are stored as 32-bit Words, Scalars are stored in floating point (as opposed to the base 4000 that PSA runs off of) and flags are based on single bits, so you'll have to use the gecko register OR, AND and XOR commands to modify those.
  28.  
  29.  
  30. I'm not sure if you're still using memory write codes or ASM codes, but in case you need it;
  31.  
  32. 80000000 80623320
  33. 80000001 00000000
  34. 60000006 00000000
  35. 60000003 00000001
  36. 4A001000 00000000
  37. 4A101001 00000000
  38. 36000000 00000032
  39. 58010000 00000004
  40. DE000000 80008180
  41. 58010000 00000060
  42. DE000000 80008180
  43.  
  44.  
  45. 80100001 00000008
  46. 62000000 00000001
  47. E200000F 00000000
  48. 80000001 00000000
  49. 80100000 00000244
  50. 62000000 00000000
  51. E0000000 80008000
  52.  
  53. Anything in the middle section will execute with the P.O. equaling the Field Accessor of all currently active characters. From there, you could simply add something like:
  54.  
  55. 58010000 00000070 < Work Manage Module
  56. 58010000 00000020
  57. 58010000 0000001C < Flags
  58.  
  59. to make the P.O. equal the start of the Longterm Flags section.
  60.  
  61.  
  62.  
  63. Keep in mind that I'm working out of memory here, so I could be mistaken in various places. I'll contact you tomorrow to confirm the addresses and offsets as well as provide you with the Random Access variables.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement