Skip to content

Commit 229b3bd

Browse files
committed
add command to clip through floor, fix load pos y when riding laki
1 parent 2995eb2 commit 229b3bd

3 files changed

Lines changed: 17 additions & 1 deletion

File tree

src/commands.c

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,7 @@ struct Command fpCommands[COMMAND_MAX] = {
3030
{"clippy", COMMAND_PRESS_ONCE, 0, commandClippyProc },
3131
{"store ability", COMMAND_PRESS_ONCE, 0, commandStoreAbility },
3232
{"ignore walls", COMMAND_PRESS_ONCE, 0, commandIgnoreWalls },
33+
{"floor clip", COMMAND_PRESS_ONCE, 0, commandFloorClip },
3334
};
3435

3536
void showMenu(void) {
@@ -174,11 +175,12 @@ void commandLoadPosProc(void) {
174175
pm_gPlayerStatus.targetYaw = fp.savedMovementAngle;
175176

176177
if (pm_gPlayerStatus.actionState & ACTION_STATE_RIDE) {
177-
pm_Npc *partner = pm_get_npc_safe(-4);
178+
pm_Npc *partner = pm_get_npc_safe(-4); // NPC_PARTNER
178179
if (partner) {
179180
partner->pos.x = fp.savedPos.x;
180181
partner->pos.y = fp.savedPos.y;
181182
partner->pos.z = fp.savedPos.z;
183+
partner->moveToPos.y = fp.savedPos.y;
182184
partner->yaw = fp.savedMovementAngle;
183185
}
184186
}
@@ -311,3 +313,14 @@ void commandIgnoreWalls(void) {
311313
fpLog("walls disabled");
312314
}
313315
}
316+
317+
void commandFloorClip(void) {
318+
pm_gPlayerStatus.position.y -= 20;
319+
if (pm_gPlayerStatus.actionState & ACTION_STATE_RIDE) {
320+
pm_Npc *partner = pm_get_npc_safe(-4); // NPC_PARTNER
321+
if (partner) {
322+
partner->pos.y -= 20;
323+
partner->moveToPos.y -= 20;
324+
}
325+
}
326+
}

src/commands.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ enum Commands {
2424
COMMAND_CLIPPY,
2525
COMMAND_STORE_ABILITY,
2626
COMMAND_IGNORE_WALLS,
27+
COMMAND_FLOOR_CLIP,
2728
COMMAND_MAX
2829
};
2930

@@ -61,6 +62,7 @@ void commandToggleInpDispProc(void);
6162
void commandClippyProc(void);
6263
void commandStoreAbility(void);
6364
void commandIgnoreWalls(void);
65+
void commandFloorClip(void);
6466

6567
extern struct Command fpCommands[COMMAND_MAX];
6668

src/sys/settings.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,7 @@ void settingsLoadDefault(void) {
8181
d->binds[COMMAND_CLIPPY] = bindMake(0);
8282
d->binds[COMMAND_STORE_ABILITY] = bindMake(0);
8383
d->binds[COMMAND_IGNORE_WALLS] = bindMake(0);
84+
d->binds[COMMAND_FLOOR_CLIP] = bindMake(0);
8485
d->cheatEnemyContact = 0;
8586
d->controlStickRange = 90;
8687
d->controlStick = 2;

0 commit comments

Comments
 (0)