@@ -193,14 +193,20 @@ void saveMarioAndPartnerPositions()
193
193
MarioPartnerPositions.MarioPosition [1 ] = player->playerPosition [1 ]; // Mario Coordinate Y
194
194
MarioPartnerPositions.MarioPosition [2 ] = player->playerPosition [2 ]; // Mario Coordinate Z
195
195
MarioPartnerPositions.MarioPosition [3 ] = player->wPlayerAngleCurrent ;
196
+ MarioPartnerPositions.MarioPosition [4 ] = player->wPlayerAngle ;
197
+ MarioPartnerPositions.MarioPosition [5 ] = player->wPlayerDirectionCurrent ;
198
+ MarioPartnerPositions.MarioPosition [6 ] = player->wPlayerDirection ;
196
199
197
200
uint32_t PartnerPointer = reinterpret_cast <uint32_t >(getPartnerPointer ());
198
- if (PartnerPointer != 0 )
201
+ if (PartnerPointer)
199
202
{
200
203
MarioPartnerPositions.PartnerPosition [0 ] = *reinterpret_cast <float *>(PartnerPointer + 0x58 ); // Partner Coordinate X
201
204
MarioPartnerPositions.PartnerPosition [1 ] = *reinterpret_cast <float *>(PartnerPointer + 0x5C ); // Partner Coordinate Y
202
205
MarioPartnerPositions.PartnerPosition [2 ] = *reinterpret_cast <float *>(PartnerPointer + 0x60 ); // Partner Coordinate Z
203
- MarioPartnerPositions.PartnerPosition [3 ] = *reinterpret_cast <float *>(PartnerPointer + 0x100 );
206
+ MarioPartnerPositions.PartnerPosition [3 ] = *reinterpret_cast <float *>(PartnerPointer + 0xFC ); // Partner Angle Current
207
+ MarioPartnerPositions.PartnerPosition [4 ] = *reinterpret_cast <float *>(PartnerPointer + 0x100 ); // Partner Angle
208
+ MarioPartnerPositions.PartnerPosition [5 ] = *reinterpret_cast <float *>(PartnerPointer + 0x10C ); // Partner Direction Current
209
+ MarioPartnerPositions.PartnerPosition [6 ] = *reinterpret_cast <float *>(PartnerPointer + 0x110 ); // Partner Direction
204
210
}
205
211
}
206
212
@@ -218,18 +224,24 @@ void loadMarioAndPartnerPositions()
218
224
219
225
ttyd::mario::Player *player = ttyd::mario::marioGetPtr ();
220
226
221
- player->playerPosition [0 ] = MarioPartnerPositions.MarioPosition [0 ]; // Mario Coordinate X
222
- player->playerPosition [1 ] = MarioPartnerPositions.MarioPosition [1 ]; // Mario Coordinate Y
223
- player->playerPosition [2 ] = MarioPartnerPositions.MarioPosition [2 ]; // Mario Coordinate Z
224
- player->wPlayerAngleCurrent = MarioPartnerPositions.MarioPosition [3 ];
227
+ player->playerPosition [0 ] = MarioPartnerPositions.MarioPosition [0 ]; // Mario Coordinate X
228
+ player->playerPosition [1 ] = MarioPartnerPositions.MarioPosition [1 ]; // Mario Coordinate Y
229
+ player->playerPosition [2 ] = MarioPartnerPositions.MarioPosition [2 ]; // Mario Coordinate Z
230
+ player->wPlayerAngleCurrent = MarioPartnerPositions.MarioPosition [3 ];
231
+ player->wPlayerAngle = MarioPartnerPositions.MarioPosition [4 ];
232
+ player->wPlayerDirectionCurrent = MarioPartnerPositions.MarioPosition [5 ];
233
+ player->wPlayerDirection = MarioPartnerPositions.MarioPosition [6 ];
225
234
226
235
uint32_t PartnerPointer = reinterpret_cast <uint32_t >(getPartnerPointer ());
227
- if (PartnerPointer != 0 )
236
+ if (PartnerPointer)
228
237
{
229
238
*reinterpret_cast <float *>(PartnerPointer + 0x58 ) = MarioPartnerPositions.PartnerPosition [0 ]; // Partner Coordinate X
230
239
*reinterpret_cast <float *>(PartnerPointer + 0x5C ) = MarioPartnerPositions.PartnerPosition [1 ]; // Partner Coordinate Y
231
240
*reinterpret_cast <float *>(PartnerPointer + 0x60 ) = MarioPartnerPositions.PartnerPosition [2 ]; // Partner Coordinate Z
232
- *reinterpret_cast <float *>(PartnerPointer + 0x100 ) = MarioPartnerPositions.PartnerPosition [3 ];
241
+ *reinterpret_cast <float *>(PartnerPointer + 0xFC ) = MarioPartnerPositions.PartnerPosition [3 ]; // Partner Angle Current
242
+ *reinterpret_cast <float *>(PartnerPointer + 0x100 ) = MarioPartnerPositions.PartnerPosition [4 ]; // Partner Angle
243
+ *reinterpret_cast <float *>(PartnerPointer + 0x10C ) = MarioPartnerPositions.PartnerPosition [5 ]; // Partner Direction Current
244
+ *reinterpret_cast <float *>(PartnerPointer + 0x110 ) = MarioPartnerPositions.PartnerPosition [6 ]; // Partner Direction
233
245
}
234
246
}
235
247
@@ -586,6 +598,8 @@ void bobberyEarly()
586
598
player->playerPosition [1 ] = 59 ;
587
599
player->playerPosition [2 ] = RopePosZ + 10 ;
588
600
player->wPlayerAngleCurrent = 180 ;
601
+ player->wPlayerAngle = 180 ;
602
+ player->wPlayerDirectionCurrent = 180 ;
589
603
player->wPlayerDirection = 180 ;
590
604
}
591
605
0 commit comments