Dobrý den,
zoufale se snažím přepsat následující "céčkový" kód do PHP, ale stále dělám něco špatně. Poradíte, kde dělám chybu?
uint uiFlags = 0;
stream.Read ( uiFlags );
bool bHasPlayerCount = ( uiFlags & 0x0004 ) != 0;
bool bHasMaxPlayerCount = ( uiFlags & 0x0008 ) != 0;
bool bHasGameName = ( uiFlags & 0x0010 ) != 0;
bool bHasName = ( uiFlags & 0x0020 ) != 0;
bool bHasGameMode = ( uiFlags & 0x0040 ) != 0;
bool bHasMap = ( uiFlags & 0x0080 ) != 0;
bool bHasVersion = ( uiFlags & 0x0100 ) != 0;
bool bHasPassworded = ( uiFlags & 0x0200 ) != 0;
bool bHasSerials = ( uiFlags & 0x0400 ) != 0;
bool bHasPlayers = ( uiFlags & 0x0800 ) != 0;
bool bHasRespondingFlag = ( uiFlags & 0x1000 ) != 0;
bool bHasRestrictionFlags = ( uiFlags & 0x2000 ) != 0;
bool bHasSearchIgnoreSections = ( uiFlags & 0x4000 ) != 0;
Můj nefunkční přepis:
$dat = fopen($file,'rb');
$flags = unpack('L', fread( $dat, 4 ));
$hasPlayerCount = ( $flags & 0x0004 ) != 0;
$hasMaxPlayerCount = ( $flags & 0x0008 ) != 0;
$hasGameName = ( $flags & 0x0010 ) != 0;
$hasName = ( $flags & 0x0020 ) != 0;
$hasGameMode = ( $flags & 0x0040 ) != 0;
$hasMap = ( $flags & 0x0080 ) != 0;
$hasVersion = ( $flags & 0x0100 ) != 0;
$hasPassworded = ( $flags & 0x0200 ) != 0;
$hasSerials = ( $flags & 0x0400 ) != 0;
$hasPlayers = ( $flags & 0x0800 ) != 0;
$hasRespondingFlag = ( $flags & 0x1000 ) != 0;
$hasRestrictionFlags = ( $flags & 0x2000 ) != 0;
$hasSearchIgnoreSections= ( $flags & 0x4000 ) != 0;
Děkuji za odpověď, už si vážně nevím rady