diff --git a/src/g_input.c b/src/g_input.c
index 35a0b82cf7cc427935c802d4bf5d5c2d78dff743..4f7296cd5a5a92d4dafe7650719b60b488b3b800 100644
--- a/src/g_input.c
+++ b/src/g_input.c
@@ -48,30 +48,44 @@ INT32 gamecontrolbis[num_gamecontrols][2]; // secondary splitscreen player
 INT32 gamecontroldefault[num_gamecontrolschemes][num_gamecontrols][2]; // default control storage, use 0 (gcs_custom) for memory retention
 
 // lists of GC codes for selective operation
-const INT32 gclist_tutorial[num_gclist_tutorial] = {
+const INT32 gcl_tutorial_check[num_gcl_tutorial_check] = {
+	gc_forward, gc_backward, gc_strafeleft, gc_straferight,
+	gc_turnleft, gc_turnright
+};
+
+const INT32 gcl_tutorial_used[num_gcl_tutorial_used] = {
+	gc_forward, gc_backward, gc_strafeleft, gc_straferight,
+	gc_turnleft, gc_turnright,
+	gc_jump, gc_use
+};
+
+const INT32 gcl_tutorial_full[num_gcl_tutorial_full] = {
 	gc_forward, gc_backward, gc_strafeleft, gc_straferight,
 	gc_lookup, gc_lookdown, gc_turnleft, gc_turnright, gc_centerview,
 	gc_jump, gc_use,
 	gc_fire, gc_firenormal
 };
 
-const INT32 gclist_tutorial_check[num_gclist_tutorial_check] = {
-	gc_forward, gc_backward, gc_strafeleft, gc_straferight,
-	gc_turnleft, gc_turnright
+const INT32 gcl_movement[num_gcl_movement] = {
+	gc_forward, gc_backward, gc_strafeleft, gc_straferight
 };
 
-const INT32 gclist_movement[num_gclist_movement] = {
-	gc_forward, gc_backward, gc_strafeleft, gc_straferight
+const INT32 gcl_camera[num_gcl_camera] = {
+	gc_turnleft, gc_turnright
 };
 
-const INT32 gclist_camera[num_gclist_camera] = {
+const INT32 gcl_movement_camera[num_gcl_movement_camera] = {
+	gc_forward, gc_backward, gc_strafeleft, gc_straferight,
 	gc_turnleft, gc_turnright
-	//gc_lookup, gc_lookdown, gc_turnleft, gc_turnright
 };
 
-const INT32 gclist_jump[num_gclist_jump] = { gc_jump };
+const INT32 gcl_jump[num_gcl_jump] = { gc_jump };
+
+const INT32 gcl_use[num_gcl_use] = { gc_use };
 
-const INT32 gclist_use[num_gclist_use] = { gc_use };
+const INT32 gcl_jump_use[num_gcl_jump_use] = {
+	gc_jump, gc_use
+};
 
 typedef struct
 {
diff --git a/src/g_input.h b/src/g_input.h
index ed347705aa596154ed785b6e7cc4e73c4bd5b42c..4bf67ebd8cb87a4d2f2e06b331075ea97cae9eeb 100644
--- a/src/g_input.h
+++ b/src/g_input.h
@@ -128,19 +128,25 @@ extern INT32 gamecontroldefault[num_gamecontrolschemes][num_gamecontrols][2]; //
 #define PLAYER1INPUTDOWN(gc) (gamekeydown[gamecontrol[gc][0]] || gamekeydown[gamecontrol[gc][1]])
 #define PLAYER2INPUTDOWN(gc) (gamekeydown[gamecontrolbis[gc][0]] || gamekeydown[gamecontrolbis[gc][1]])
 
-#define num_gclist_tutorial 13
-#define num_gclist_tutorial_check 6
-#define num_gclist_movement 4
-#define num_gclist_camera 2
-#define num_gclist_jump 1
-#define num_gclist_use 1
-
-extern const INT32 gclist_tutorial[num_gclist_tutorial];
-extern const INT32 gclist_tutorial_check[num_gclist_tutorial_check];
-extern const INT32 gclist_movement[num_gclist_movement];
-extern const INT32 gclist_camera[num_gclist_camera];
-extern const INT32 gclist_jump[num_gclist_jump];
-extern const INT32 gclist_use[num_gclist_use];
+#define num_gcl_tutorial_check 6
+#define num_gcl_tutorial_used 8
+#define num_gcl_tutorial_full 13
+#define num_gcl_movement 4
+#define num_gcl_camera 2
+#define num_gcl_movement_camera 6
+#define num_gcl_jump 1
+#define num_gcl_use 1
+#define num_gcl_jump_use 2
+
+extern const INT32 gcl_tutorial_check[num_gcl_tutorial_check];
+extern const INT32 gcl_tutorial_used[num_gcl_tutorial_used];
+extern const INT32 gcl_tutorial_full[num_gcl_tutorial_full];
+extern const INT32 gcl_movement[num_gcl_movement];
+extern const INT32 gcl_camera[num_gcl_camera];
+extern const INT32 gcl_movement_camera[num_gcl_movement_camera];
+extern const INT32 gcl_jump[num_gcl_jump];
+extern const INT32 gcl_use[num_gcl_use];
+extern const INT32 gcl_jump_use[num_gcl_jump_use];
 
 // peace to my little coder fingers!
 // check a gamecontrol being active or not