| ||
| Views: 34,502,544 |
Home
| Forums
| Uploader
| Wiki
| Object databases
| IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search |
05-11-26 09:17 AM |
| Guest: | ||
| 0 users reading ASM Hack Example: Bouncy Grass | 1 bot |
| Main - General SM64DS hacking - ASM Hack Example: Bouncy Grass | Hide post layouts | New reply |
| pants64 |
| ||
![]() Red Koopa Normal user Level: 25
Posts: 77/128 EXP: 87859 Next: 1761 Since: 04-12-16 Last post: 405 days ago Last view: 10 days ago |
I got asked if I could make a custom CLPS behavior. So, here it is.
Doing this was relatively simple thanks to mibts' header files. Here's the code: #include "SM64DS_2.h"
void hook_0200da0c() // This address found by dy is called every frame just before rendering { if (PLAYER_ARR[0]->wmClsn.sphere.floorResult.clps.BehaviorID() == 0x1E && !PLAYER_ARR[0]->isInAir) { PLAYER_ARR[0]->speed.y = 0x40000_f; } } It basically checks if the triangle in which the player is standing on has behavior type of 0x1E (30 in decimal) and sets player's y speed to 64 fxu/frame. To make your own CLPS behavior, just change the code inside that if-block. Edit: Oh I forgot the xdelta |
| Main - General SM64DS hacking - ASM Hack Example: Bouncy Grass | Hide post layouts | New reply |
|
Page rendered in 0.024 seconds. (2048KB of memory used) MySQL - queries: 28, rows: 196/196, time: 0.018 seconds.
Acmlmboard 2.064 (2018-07-20)© 2005-2008 Acmlm, Xkeeper, blackhole89 et al. |