![]() | ||
Views: 24,271,261 |
Home
| Forums
| Uploader
| Wiki
| Object databases
| IRC
Rules/FAQ | Memberlist | Calendar | Stats | Online users | Last posts | Search |
03-23-25 05:27 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/125 EXP: 79876 Next: 9744 Since: 04-12-16 Last post: 74 days ago Last view: 5 hours 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.038 seconds. (2048KB of memory used) MySQL - queries: 28, rows: 195/195, time: 0.026 seconds. ![]() © 2005-2008 Acmlm, Xkeeper, blackhole89 et al. |