Re !
Pour faire simple je suis en train d'analyser le IdentificationMessage(4), et je me suis d'abord intéresse à la function qui le sérialize car d'après mes analyses (très poussées xp), c'est le premier message que je dois envoyer au serveur !
Donc tout est facilement compréhensible hein ! Sauf, ce bout de code :
Je ne comprend pas pourquoi _loc2_ est réécris à chaque fois !
C'est sûrement une notion sur les flags que je ne connais pas mais bon, c'est vraiment bizarre :[
Et ma deuxième question
En voyant tout ça, je me demande, mais d'où viennent les args ? Je dois piocher tout ça dans un fichier ? Il est où ? Sinon ou je vois "l'index" là où est la logique de connexion ?
Merci !
Pour faire simple je suis en train d'analyser le IdentificationMessage(4), et je me suis d'abord intéresse à la function qui le sérialize car d'après mes analyses (très poussées xp), c'est le premier message que je dois envoyer au serveur !
Code:
public function serializeAs_IdentificationMessage(param1:ICustomDataOutput) : void
{
var _loc2_:uint = 0;
_loc2_ = BooleanByteWrapper.setFlag(_loc2_,0,this.autoconnect);
_loc2_ = BooleanByteWrapper.setFlag(_loc2_,1,this.useCertificate);
_loc2_ = BooleanByteWrapper.setFlag(_loc2_,2,this.useLoginToken);
param1.writeByte(_loc2_);
this.version.serializeAs_VersionExtended(param1);
param1.writeUTF(this.lang);
param1.writeVarInt(this.credentials.length);
var _loc3_:uint = 0;
while(_loc3_ < this.credentials.length)
{
param1.writeByte(this.credentials[_loc3_]);
_loc3_++;
}
param1.writeShort(this.serverId);
if(this.sessionOptionalSalt < -9007199254740990 || this.sessionOptionalSalt > 9007199254740990)
{
throw new Error("Forbidden value (" + this.sessionOptionalSalt + ") on element sessionOptionalSalt.");
}
param1.writeVarLong(this.sessionOptionalSalt);
param1.writeShort(this.failedAttempts.length);
var _loc4_:uint = 0;
while(_loc4_ < this.failedAttempts.length)
{
if(this.failedAttempts[_loc4_] < 0)
{
throw new Error("Forbidden value (" + this.failedAttempts[_loc4_] + ") on element 9 (starting at 1) of failedAttempts.");
}
param1.writeVarShort(this.failedAttempts[_loc4_]);
_loc4_++;
}
}
Donc tout est facilement compréhensible hein ! Sauf, ce bout de code :
Code:
_loc2_ = BooleanByteWrapper.setFlag(_loc2_,0,this.autoconnect);
_loc2_ = BooleanByteWrapper.setFlag(_loc2_,1,this.useCertificate);
_loc2_ = BooleanByteWrapper.setFlag(_loc2_,2,this.useLoginToken);
param1.writeByte(_loc2_);
C'est sûrement une notion sur les flags que je ne connais pas mais bon, c'est vraiment bizarre :[
Et ma deuxième question
En voyant tout ça, je me demande, mais d'où viennent les args ? Je dois piocher tout ça dans un fichier ? Il est où ? Sinon ou je vois "l'index" là où est la logique de connexion ?
Merci !