Views: 19,994,237 |
Home
| Forums
| Uploader
| Wiki
| Object databases
| IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search |
04-19-24 11:33 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 |
StarPants |
| ||
Red Koopa Normal user Level: 24 Posts: 77/124 EXP: 74729 Next: 3396 Since: 04-12-16 Last post: 1364 days ago Last view: 5 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.014 seconds. (2048KB of memory used) MySQL - queries: 28, rows: 194/194, time: 0.009 seconds. Acmlmboard 2.064 (2018-07-20) © 2005-2008 Acmlm, Xkeeper, blackhole89 et al. |