| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -191,6 +191,8 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushfixed(L, plr->viewz);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"viewheight"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushfixed(L, plr->viewheight);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"skybox"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, &plr->skybox, META_SKYBOX);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"viewrollangle"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushangle(L, plr->viewrollangle);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field, "tilt"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -229,6 +231,8 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, plr->currentwaypoint, META_WAYPOINT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"nextwaypoint"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, plr->nextwaypoint, META_WAYPOINT);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ringshooter"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, plr->ringShooter, META_MOBJ);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"airtime"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->airtime);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"lastairtime"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -239,6 +243,8 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->flashing);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"spinouttimer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->spinouttimer);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"spinouttype"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->spinouttype);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"instashield"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->instashield);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"nullhitlag"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -266,7 +272,7 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"analoginput"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->analoginput);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"transfer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->transfer);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushfixed(L, plr->transfer);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"markedfordeath"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->markedfordeath);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"mfdfinish"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -274,9 +280,9 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"incontrol"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->incontrol);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"progressivethrust"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->progressivethrust);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->progressivethrust);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ringvisualwarning"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->ringvisualwarning);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->ringvisualwarning);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"bailcharge"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->bailcharge);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"baildrop"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -288,7 +294,7 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"stingfx"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->stingfx);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"bumperinflate"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->bumperinflate);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->bumperinflate);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ringboxdelay"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->ringboxdelay);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ringboxaward"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -306,7 +312,7 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"itemflags"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->itemflags);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"outrun"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->outrun);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushfixed(L, plr->outrun);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"drift"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->drift);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"driftcharge"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -333,8 +339,10 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->aizdrifttilt);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"aizdriftturn"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->aizdriftturn);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"underwatertilt"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->underwatertilt);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"offroad"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->offroad);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushfixed(L, plr->offroad);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"tiregrease"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->tiregrease);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"springstars"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -367,6 +375,8 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->handleboost);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"boostangle"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushangle(L, plr->boostangle);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"stonedrag"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushfixed(L, plr->stonedrag);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"draftpower"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->draftpower);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"draftleeway"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -387,6 +397,8 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->tripwireAirLeniency);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"tripwirerebounddelay"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->tripwireReboundDelay);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"shrinklaserdelay"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->shrinkLaserDelay);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"eggmantransferdelay"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->eggmanTransferDelay);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"wavedash"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -406,17 +418,19 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"wavedashpower"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->wavedashpower);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"overdrivepower"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->overdrivepower);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushfixed(L, plr->overdrivepower);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"overdriveready"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->overdriveready);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"overdrivelenient"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->overdrivelenient);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->overdrivelenient);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"trickcharge"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->trickcharge);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"infinitether"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->infinitether);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"finalfailsafe"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->finalfailsafe);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"freeringshootercooldown"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->freeRingShooterCooldown);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"lastsafelap"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->lastsafelap);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"lastsafecheatcheck"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -424,7 +438,7 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ignoreairtimeleniency"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->ignoreAirtimeLeniency);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"bubbledrag"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->bubbledrag);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->bubbledrag);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"topaccel"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->topAccel);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"vortexboost"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -435,14 +449,22 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->pitblame);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"defenselockout"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->defenseLockout);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"instawhipchargelockout"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->instaWhipChargeLockout);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"oldguard"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->oldGuard);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->oldGuard);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"powerupvfxtimer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->powerupVFXTimer);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"preventfailsafe"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->preventfailsafe);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"tripwireunstuck"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->tripwireUnstuck);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"bumpunstuck"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->bumpUnstuck);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"handtimer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->handtimer);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"besthanddirection"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushangle(L, plr->besthanddirection);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"itemroulette"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, &plr->itemRoulette, META_ITEMROULETTE);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"itemtype"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -459,6 +481,8 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->sadtimer);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"rings"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->rings);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"hudrings"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->hudrings);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"pickuprings"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->pickuprings);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ringdelay"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -505,10 +529,14 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->ballhogburst);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ballhogtap"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->ballhogtap);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ballhogreticule"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, plr->ballhogreticule, META_MOBJ);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"hyudorotimer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->hyudorotimer);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"stealingtimer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->stealingtimer);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"hoverhyudoro"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, plr->hoverhyudoro, META_MOBJ);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"sneakertimer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->sneakertimer);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"numsneakers"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -549,6 +577,8 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->confirmVictimDelay);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"glancedir"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->glanceDir);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"breathtimer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->breathTimer);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"trickpanel"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->trickpanel);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"tricktime"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -565,6 +595,12 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->dashRingPullTics);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"dashringpushtics"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->dashRingPushTics);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"pullup"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->pullup);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"finalized"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->finalized);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ebrakefor"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->ebrakefor);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"roundscore"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->roundscore);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"emeralds"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -577,6 +613,8 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->spheredigestion);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"pflags"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->pflags);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"pflags2"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->pflags2);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"panim"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->panim);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"flashcount"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -728,6 +766,14 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->laps);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"latestlap"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->latestlap);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"exp"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->exp);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"gradingfactor"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushfixed(L, plr->gradingfactor);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"gradingpointnum"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->gradingpointnum);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"checkpointid"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->checkpointId);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"team"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->team);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"checkskip"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -753,6 +799,8 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"spectator"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->spectator);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"spectatewait"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->spectatewait);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"bot"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->bot);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"botvars"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -767,12 +815,38 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->griefStrikes);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"griefwarned"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->griefWarned);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"typing_timer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->typing_timer);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"typing_duration"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->typing_duration);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"kickstartaccel"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->kickstartaccel);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"autoring"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushboolean(L, plr->autoring);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"stairjank"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->stairjank);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"topdriftheld"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->topdriftheld);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"topinfirst"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->topinfirst);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"splitscreenindex"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->splitscreenindex);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"stumbleindicator"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, plr->stumbleIndicator, META_MOBJ);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"wavedashindicator"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, plr->wavedashIndicator, META_MOBJ);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"trickindicator"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, plr->trickIndicator, META_MOBJ);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"whip"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, plr->whip, META_MOBJ);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"hand"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, plr->hand, META_MOBJ);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"flickyattacker"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, plr->flickyAttacker, META_MOBJ);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"stoneshoe"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, plr->stoneShoe, META_MOBJ);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"toxomistercloud"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, plr->toxomisterCloud, META_MOBJ);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#ifdef HWRENDER
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"fovadd"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushfixed(L, plr->fovadd);
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -783,6 +857,14 @@ static int player_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushstring(L, GetPrettyRRID(plr->public_key, false));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field, "loop"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, &plr->loop, META_SONICLOOPVARS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field, "powerup"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, &plr->powerup, META_POWERUPVARS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field, "icecube"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						LUA_PushUserdata(L, &plr->icecube, META_ICECUBEVARS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"darkness_start"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->darkness_start);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"darkness_end"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushinteger(L, plr->darkness_end);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_getfield(L, LUA_REGISTRYINDEX, LREG_EXTVARS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						I_Assert(lua_istable(L, -1));
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -832,6 +914,8 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->viewz = luaL_checkfixed(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"viewheight"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->viewheight = luaL_checkfixed(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"skybox"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return NOSET;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"viewrollangle"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->viewrollangle = luaL_checkangle(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"tilt"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -849,8 +933,23 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"drawangle"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->drawangle = luaL_checkangle(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"karthud"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return NOSET;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"pflags"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->pflags = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"pflags2"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						// It's a really bad idea to let Lua modify the voicechat-related flags.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						// If we notice they're modified in any way, don't set anything.
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						UINT32 newflags = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						UINT32 forbiddenFlags = PF2_SELFMUTE|PF2_SELFDEAFEN|PF2_SERVERMUTE|PF2_SERVERDEAFEN|PF2_SERVERTEMPMUTE;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if ((newflags & forbiddenFlags) != (plr->pflags2 & forbiddenFlags))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							return luaL_error(L, "player_t's pflags2 member can't"
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
								"have their voice chat-related flags modified.");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->pflags2 = newflags;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"panim"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->panim = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"flashcount"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -895,6 +994,19 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->distancetofinishprev = luaL_checkfixed(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"lastpickupdistance"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->lastpickupdistance = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"lastpickuptype"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->lastpickuptype = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"currentwaypoint"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->currentwaypoint = *((waypoint_t **)luaL_checkudata(L, 3, META_WAYPOINT));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"nextwaypoint"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->nextwaypoint = *((waypoint_t **)luaL_checkudata(L, 3, META_WAYPOINT));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ringshooter"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						mobj_t *mo = NULL;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if (!lua_isnil(L, 3))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							mo = *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						P_SetTarget(&plr->ringShooter, mo);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"airtime"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->airtime = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"lastairtime"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -905,6 +1017,8 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->flashing = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"spinouttimer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->spinouttimer = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"spinouttype"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->spinouttype = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"instashield"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->instashield = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"nullhitlag"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -937,9 +1051,9 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"incontrol"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->incontrol = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"progressivethrust"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->progressivethrust = luaL_checkboolean(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->progressivethrust = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ringvisualwarning"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->ringvisualwarning = luaL_checkboolean(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->ringvisualwarning = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"bailcharge"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->bailcharge = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"baildrop"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -949,7 +1063,7 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"analoginput"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->analoginput = luaL_checkboolean(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"transfer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->transfer = luaL_checkboolean(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->transfer = luaL_checkfixed(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"markedfordeath"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->markedfordeath = luaL_checkboolean(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"mfdfinish"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -959,7 +1073,7 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"stingfx"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->stingfx = luaL_checkboolean(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"bumperinflate"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->bumperinflate = luaL_checkboolean(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->bumperinflate = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ringboxdelay"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->ringboxdelay = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ringboxaward"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -977,7 +1091,7 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"itemflags"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->itemflags = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"outrun"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->outrun = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->outrun = luaL_checkfixed(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"drift"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->drift = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"driftcharge"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -998,12 +1112,16 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->aciddropdashboost = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"aizdriftstrat"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->aizdriftstrat = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"aizdriftextend"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->aizdriftextend = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"aizdrifttilt"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->aizdrifttilt = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"aizdriftturn"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->aizdriftturn = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"underwatertilt"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->underwatertilt = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"offroad"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->offroad = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->offroad = luaL_checkfixed(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"tiregrease"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->tiregrease = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"springstars"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -1036,6 +1154,8 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->handleboost = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"boostangle"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->boostangle = luaL_checkangle(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"stonedrag"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->stonedrag = luaL_checkfixed(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"draftpower"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->draftpower = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"draftleeway"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -1056,6 +1176,8 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->tripwireAirLeniency = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"tripwirerebounddelay"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->tripwireReboundDelay = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"shrinklaserdelay"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->shrinkLaserDelay = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"eggmantransferdelay"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->eggmanTransferDelay = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"wavedash"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -1075,17 +1197,19 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"wavedashpower"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->wavedashpower = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"overdrivepower"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->overdrivepower = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->overdrivepower = luaL_checkfixed(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"overdriveready"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->overdriveready = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"overdrivelenient"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->overdrivelenient = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->overdrivelenient = luaL_checkboolean(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"trickcharge"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->trickcharge = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"infinitether"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->infinitether = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"finalfailsafe"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->finalfailsafe = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"freeringshootercooldown"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->freeRingShooterCooldown = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"lastsafelap"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->lastsafelap = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"lastsafecheatcheck"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -1093,7 +1217,7 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ignoreairtimeleniency"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->ignoreAirtimeLeniency = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"bubbledrag"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->bubbledrag = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->bubbledrag = luaL_checkboolean(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"topaccel"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->topAccel = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"vortexboost"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -1104,26 +1228,40 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->pitblame = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"defenselockout"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->defenseLockout = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"instawhipchargelockout"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->instaWhipChargeLockout = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"oldguard"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->oldGuard = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->oldGuard = luaL_checkboolean(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"powerupvfxtimer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->powerupVFXTimer = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"preventfailsafe"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->preventfailsafe = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"tripwireunstuck"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->tripwireUnstuck = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"bumpunstuck"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->bumpUnstuck = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"handtimer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->handtimer = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"besthanddirection"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->besthanddirection = luaL_checkangle(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"itemroulette"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return NOSET;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"itemtype"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->itemtype = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"itemamount"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->itemamount = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"backupitemtype"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->backupitemtype = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"backupitemamount"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->backupitemamount = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"throwdir"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->throwdir = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"sadtimer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->sadtimer = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"rings"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->rings = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"hudrings"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->hudrings = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"pickuprings"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->pickuprings = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ringdelay"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -1170,10 +1308,24 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->ballhogburst = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ballhogtap"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->ballhogtap = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ballhogreticule"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						mobj_t *mo = NULL;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if (!lua_isnil(L, 3))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							mo = *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						P_SetTarget(&plr->ballhogreticule, mo);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"hyudorotimer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->hyudorotimer = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"stealingtimer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->stealingtimer = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"hoverhyudoro"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						mobj_t *mo = NULL;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if (!lua_isnil(L, 3))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							mo = *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						P_SetTarget(&plr->hoverhyudoro, mo);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"sneakertimer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->sneakertimer = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"numsneakers"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -1214,6 +1366,8 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->confirmVictimDelay = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"glancedir"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->glanceDir = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"breathtimer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->breathTimer = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"trickpanel"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->trickpanel = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"tricktime"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -1230,6 +1384,12 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->dashRingPullTics = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"dashringpushtics"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->dashRingPushTics = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"pullup"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->pullup = luaL_checkboolean(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"finalized"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->finalized = luaL_checkboolean(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"ebrakefor"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->ebrakefor = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"roundscore"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->roundscore = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"emeralds"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -1380,6 +1540,14 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->laps = (UINT8)luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"latestlap"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->latestlap = (UINT8)luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"exp"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->exp = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"gradingfactor"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->gradingfactor = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"gradingpointnum"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->gradingpointnum = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"checkpointid"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->checkpointId = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"team"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						G_AssignTeam(plr, (UINT8)luaL_checkinteger(L, 3));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"checkskip"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -1413,6 +1581,8 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"spectator"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->spectator = lua_toboolean(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"spectatewait"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->spectatewait = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"bot"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return NOSET;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"botvars"))
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -1427,10 +1597,43 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->griefStrikes = (UINT8)luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"griefwarned"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->griefWarned = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"typing_timer"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->typing_timer = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"typing_duration"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->typing_duration = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"kickstartaccel"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->kickstartaccel = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"autoring"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->autoring = luaL_checkboolean(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"stairjank"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->stairjank = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"topdriftheld"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->topdriftheld = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"topinfirst"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->topinfirst = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"splitscreenindex"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return NOSET;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"stumbleindicator"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						mobj_t *mo = NULL;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if (!lua_isnil(L, 3))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							mo = *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						P_SetTarget(&plr->stumbleIndicator, mo);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"wavedashindicator"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						mobj_t *mo = NULL;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if (!lua_isnil(L, 3))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							mo = *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						P_SetTarget(&plr->wavedashIndicator, mo);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"trickindicator"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						mobj_t *mo = NULL;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if (!lua_isnil(L, 3))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							mo = *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						P_SetTarget(&plr->trickIndicator, mo);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"whip"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						mobj_t *mo = NULL;
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -1438,12 +1641,48 @@ static int player_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							mo = *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						P_SetTarget(&plr->whip, mo);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"hand"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						mobj_t *mo = NULL;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if (!lua_isnil(L, 3))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							mo = *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						P_SetTarget(&plr->hand, mo);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"flickyattacker"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						mobj_t *mo = NULL;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if (!lua_isnil(L, 3))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							mo = *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						P_SetTarget(&plr->flickyAttacker, mo);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"stoneshoe"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						mobj_t *mo = NULL;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if (!lua_isnil(L, 3))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							mo = *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						P_SetTarget(&plr->stoneShoe, mo);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"toxomistercloud"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						mobj_t *mo = NULL;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						if (!lua_isnil(L, 3))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							mo = *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						P_SetTarget(&plr->toxomisterCloud, mo);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#ifdef HWRENDER
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field,"fovadd"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->fovadd = luaL_checkfixed(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#endif
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field, "loop"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return NOSET;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field, "powerup"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return NOSET;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field, "icecube"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return NOSET;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field, "darkness_start"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->darkness_start = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else if (fastcmp(field, "darkness_end"))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						plr->darkness_end = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					else {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_getfield(L, LUA_REGISTRYINDEX, LREG_EXTVARS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						I_Assert(lua_istable(L, -1));
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -1665,6 +1904,11 @@ static int sonicloopvars_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					return 1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				static int sonicloopvars_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					return luaL_error(L, LUA_QL("sonicloopvars_t") " struct cannot be edited by Lua.");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				enum sonicloopcamvars {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					sonicloopcamvars_enter_tic = 0,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					sonicloopcamvars_exit_tic,
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -1731,6 +1975,265 @@ static int sonicloopcamvars_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					return 1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				static int sonicloopcamvars_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					return luaL_error(L, LUA_QL("sonicloopcamvars_t") " struct cannot be edited by Lua.");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#define NOFIELD luaL_error(L, LUA_QL("powerupvars_t") " has no field named " LUA_QS, field)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				enum powerupvars {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					powerupvars_supertimer = 0,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					powerupvars_barriertimer,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					powerupvars_rhythmbadgetimer,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					powerupvars_flickycontroller,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					powerupvars_barrier,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				};
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				static const char *const powerupvars_opt[] = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"supertimer",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"barriertimer",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"rhythmbadgetimer",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"flickycontroller",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"barrier",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					NULL
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				};
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				static int powerupvars_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					powerupvars_t *powerupvars = *((powerupvars_t **)luaL_checkudata(L, 1, META_POWERUPVARS));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					enum powerupvars field = luaL_checkoption(L, 2, NULL, powerupvars_opt);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (!powerupvars)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return LUA_ErrInvalid(L, "powerupvars_t");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					switch (field)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case powerupvars_supertimer:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							lua_pushinteger(L, powerupvars->superTimer);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case powerupvars_barriertimer:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							lua_pushinteger(L, powerupvars->barrierTimer);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case powerupvars_rhythmbadgetimer:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							lua_pushinteger(L, powerupvars->rhythmBadgeTimer);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case powerupvars_flickycontroller:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							LUA_PushUserdata(L, powerupvars->flickyController, META_MOBJ);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case powerupvars_barrier:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							LUA_PushUserdata(L, powerupvars->barrier, META_MOBJ);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						default:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							return NOFIELD;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					return 1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				static int powerupvars_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					powerupvars_t *powerupvars = *((powerupvars_t **)luaL_checkudata(L, 1, META_POWERUPVARS));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					enum powerupvars field = luaL_checkoption(L, 2, powerupvars_opt[0], powerupvars_opt);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (!powerupvars)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return LUA_ErrInvalid(L, "powerupvars_t");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (hud_running)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return luaL_error(L, "Do not alter powerupvars_t in HUD rendering code!");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (hook_cmd_running)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return luaL_error(L, "Do not alter powerupvars_t in CMD building code!");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					mobj_t *mo = NULL;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (!lua_isnil(L, 3) && lua_isuserdata(L, 3))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						mo = *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					switch (field)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case powerupvars_supertimer:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							powerupvars->superTimer = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case powerupvars_barriertimer:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							powerupvars->barrierTimer = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case powerupvars_rhythmbadgetimer:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							powerupvars->rhythmBadgeTimer = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case powerupvars_flickycontroller:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							P_SetTarget(&powerupvars->flickyController, mo);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case powerupvars_barrier:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							P_SetTarget(&powerupvars->barrier, mo);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						default:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							return NOFIELD;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					return 0;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#undef NOFIELD
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#define NOFIELD luaL_error(L, LUA_QL("skybox_t") " has no field named " LUA_QS, field)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				enum icecubevars {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					icecubevars_hitat = 0,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					icecubevars_frozen,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					icecubevars_wiggle,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					icecubevars_frozenat,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					icecubevars_shaketimer,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				};
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				static const char *const icecubevars_opt[] = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"hitat",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"frozen",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"wiggle",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"frozenat",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"shaketimer",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					NULL
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				};
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				static int icecubevars_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					icecubevars_t *icecubevars = *((icecubevars_t **)luaL_checkudata(L, 1, META_ICECUBEVARS));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					enum icecubevars field = luaL_checkoption(L, 2, NULL, icecubevars_opt);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (!icecubevars)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return LUA_ErrInvalid(L, "icecubevars_t");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					switch (field)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case icecubevars_hitat:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							lua_pushinteger(L, icecubevars->hitat);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case icecubevars_frozen:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							lua_pushboolean(L, icecubevars->frozen);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case icecubevars_wiggle:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							lua_pushinteger(L, icecubevars->wiggle);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case icecubevars_frozenat:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							lua_pushinteger(L, icecubevars->frozenat);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case icecubevars_shaketimer:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							lua_pushinteger(L, icecubevars->shaketimer);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						default:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							return NOFIELD;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					return 1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				static int icecubevars_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					icecubevars_t *icecubevars = *((icecubevars_t **)luaL_checkudata(L, 1, META_ICECUBEVARS));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					enum icecubevars field = luaL_checkoption(L, 2, icecubevars_opt[0], icecubevars_opt);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (!icecubevars)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return LUA_ErrInvalid(L, "icecubevars_t");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (hud_running)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return luaL_error(L, "Do not alter icecubevars_t in HUD rendering code!");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (hook_cmd_running)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return luaL_error(L, "Do not alter icecubevars_t in CMD building code!");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					switch (field)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case icecubevars_hitat:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							icecubevars->hitat = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case icecubevars_frozen:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							icecubevars->frozen = luaL_checkboolean(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case icecubevars_wiggle:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							icecubevars->wiggle = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case icecubevars_frozenat:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							icecubevars->frozenat = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case icecubevars_shaketimer:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							icecubevars->shaketimer = luaL_checkinteger(L, 3);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						default:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							return NOFIELD;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					return 0;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#undef NOFIELD
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#define NOFIELD luaL_error(L, LUA_QL("skybox_t") " has no field named " LUA_QS, field)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				enum skybox {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					skybox_viewpoint = 0,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					skybox_centerpoint,
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				};
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				static const char *const skybox_opt[] = {
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"viewpoint",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					"centerpoint",
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					NULL
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				};
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				static int skybox_get(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					skybox_t *skybox = *((skybox_t **)luaL_checkudata(L, 1, META_SKYBOX));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					enum skybox field = luaL_checkoption(L, 2, NULL, skybox_opt);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (!skybox)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return LUA_ErrInvalid(L, "skybox_t");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					switch (field)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case skybox_viewpoint:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							LUA_PushUserdata(L, skybox->viewpoint, META_MOBJ);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case skybox_centerpoint:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							LUA_PushUserdata(L, skybox->centerpoint, META_MOBJ);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						default:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							return NOFIELD;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					return 1;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				static int skybox_set(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					skybox_t *skybox = *((skybox_t **)luaL_checkudata(L, 1, META_SKYBOX));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					enum skybox field = luaL_checkoption(L, 2, skybox_opt[0], skybox_opt);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (!skybox)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return LUA_ErrInvalid(L, "skybox_t");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (hud_running)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return luaL_error(L, "Do not alter skybox_t in HUD rendering code!");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (hook_cmd_running)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						return luaL_error(L, "Do not alter skybox_t in CMD building code!");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					mobj_t *mo = NULL;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					if (!lua_isnil(L, 3) && lua_isuserdata(L, 3))
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						mo = *((mobj_t **)luaL_checkudata(L, 3, META_MOBJ));
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					switch (field)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case skybox_viewpoint:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							P_SetTarget(&skybox->viewpoint, mo);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						case skybox_centerpoint:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							P_SetTarget(&skybox->centerpoint, mo);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							break;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						default:
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
							return NOFIELD;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					return 0;
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				}
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				#undef NOFIELD
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				int LUA_PlayerLib(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				{
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					luaL_newmetatable(L, META_PLAYER);
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				@ -1766,11 +2269,41 @@ int LUA_PlayerLib(lua_State *L)
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					luaL_newmetatable(L, META_SONICLOOPVARS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushcfunction(L, sonicloopvars_get);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_setfield(L, -2, "__index");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushcfunction(L, sonicloopvars_set);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_setfield(L, -2, "__newindex");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					lua_pop(L,1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					luaL_newmetatable(L, META_SONICLOOPCAMVARS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushcfunction(L, sonicloopcamvars_get);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_setfield(L, -2, "__index");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushcfunction(L, sonicloopcamvars_set);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_setfield(L, -2, "__newindex");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					lua_pop(L,1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					luaL_newmetatable(L, META_POWERUPVARS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushcfunction(L, powerupvars_get);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_setfield(L, -2, "__index");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushcfunction(L, powerupvars_set);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_setfield(L, -2, "__newindex");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					lua_pop(L,1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					luaL_newmetatable(L, META_ICECUBEVARS);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushcfunction(L, icecubevars_get);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_setfield(L, -2, "__index");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushcfunction(L, icecubevars_set);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_setfield(L, -2, "__newindex");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					lua_pop(L,1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					luaL_newmetatable(L, META_SKYBOX);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushcfunction(L, skybox_get);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_setfield(L, -2, "__index");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_pushcfunction(L, skybox_set);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
						lua_setfield(L, -2, "__newindex");
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					lua_pop(L,1);
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
				
 | 
			
		
		
	
		
			
				 | 
				 | 
			
			 | 
			 | 
			
					lua_newuserdata(L, 0);
 | 
			
		
		
	
	
		
			
				
					| 
						
					 | 
				
			
			 | 
			 | 
			
				
 
 |