Files
itgmania212121/stepmania/src/PlayerNumber.cpp
T

121 lines
3.2 KiB
C++
Raw Normal View History

#include "global.h"
#include "PlayerNumber.h"
#include "GameState.h"
#include "LuaManager.h"
2006-01-07 04:11:29 +00:00
#include "LocalizedString.h"
2006-01-08 22:59:31 +00:00
#include "LuaFunctions.h"
static const char *PlayerNumberNames[] = {
2005-08-23 21:07:07 +00:00
"P1",
"P2",
};
2006-01-07 08:19:13 +00:00
XToString( PlayerNumber, NUM_PlayerNumber );
2006-01-07 04:11:29 +00:00
XToLocalizedString( PlayerNumber );
2006-09-26 22:12:16 +00:00
LuaFunction( PlayerNumberToString, PlayerNumberToString(Enum::Check<PlayerNumber>(L, 1)) );
LuaXType( PlayerNumber );
2005-08-23 21:07:07 +00:00
static const char *MultiPlayerNames[] = {
2005-08-23 21:07:07 +00:00
"P1",
"P2",
"P3",
"P4",
"P5",
"P6",
"P7",
"P8",
2006-04-21 00:34:36 +00:00
"P9",
"P10",
"P11",
"P12",
"P13",
"P14",
"P15",
"P16",
"P17",
"P18",
"P19",
"P20",
"P21",
"P22",
"P23",
"P24",
"P25",
"P26",
"P27",
"P28",
"P29",
"P30",
"P31",
"P32",
2005-08-23 21:07:07 +00:00
};
XToString( MultiPlayer, NUM_MultiPlayer );
2006-01-07 04:11:29 +00:00
XToLocalizedString( MultiPlayer );
2006-07-12 08:32:10 +00:00
LuaFunction( MultiPlayerToString, MultiPlayerToString((MultiPlayer) IArg(1)) );
2006-01-08 22:59:31 +00:00
LuaFunction( MultiPlayerToLocalizedString, MultiPlayerToLocalizedString((MultiPlayer) IArg(1)) );
2005-08-23 21:07:07 +00:00
PlayerNumber GetNextHumanPlayer( PlayerNumber pn )
{
2006-07-30 22:12:21 +00:00
for( enum_add(pn, 1); pn < NUM_PLAYERS; enum_add(pn, 1) )
if( GAMESTATE->IsHumanPlayer(pn) )
return pn;
return PLAYER_INVALID;
}
PlayerNumber GetNextEnabledPlayer( PlayerNumber pn )
{
2006-07-30 22:12:21 +00:00
for( enum_add(pn, 1); pn < NUM_PLAYERS; enum_add(pn, 1) )
if( GAMESTATE->IsPlayerEnabled(pn) )
return pn;
return PLAYER_INVALID;
}
2004-05-16 23:15:17 +00:00
PlayerNumber GetNextCpuPlayer( PlayerNumber pn )
{
2006-07-30 22:12:21 +00:00
for( enum_add(pn, 1); pn < NUM_PLAYERS; enum_add(pn, 1) )
if( GAMESTATE->IsCpuPlayer(pn) )
return pn;
2004-05-16 23:15:17 +00:00
return PLAYER_INVALID;
}
PlayerNumber GetNextPotentialCpuPlayer( PlayerNumber pn )
2004-05-16 02:51:55 +00:00
{
2006-07-30 22:12:21 +00:00
for( enum_add(pn, 1); pn < NUM_PLAYERS; enum_add(pn, 1) )
if( !GAMESTATE->IsHumanPlayer(pn) )
return pn;
2004-05-16 02:51:55 +00:00
return PLAYER_INVALID;
}
2005-08-23 21:07:07 +00:00
MultiPlayer GetNextEnabledMultiPlayer( MultiPlayer mp )
{
2006-07-30 22:12:21 +00:00
for( enum_add(mp, 1); mp < NUM_MultiPlayer; enum_add(mp, 1) )
if( GAMESTATE->IsMultiPlayerEnabled(mp) )
return mp;
2005-08-23 21:07:07 +00:00
return MultiPlayer_INVALID;
}
2004-05-31 21:55:14 +00:00
/*
* (c) 2001-2004 Chris Danford, Chris Gomez
* All rights reserved.
*
* Permission is hereby granted, free of charge, to any person obtaining a
* copy of this software and associated documentation files (the
* "Software"), to deal in the Software without restriction, including
* without limitation the rights to use, copy, modify, merge, publish,
* distribute, and/or sell copies of the Software, and to permit persons to
* whom the Software is furnished to do so, provided that the above
* copyright notice(s) and this permission notice appear in all copies of
* the Software and that both the above copyright notice(s) and this
* permission notice appear in supporting documentation.
*
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
* OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF
* THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS
* INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT
* OR CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS
* OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
* OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
* PERFORMANCE OF THIS SOFTWARE.
*/