- sprintf( thePort, "%li", port );
- v=NetworkStartClient( theIPAddress, thePort, playerNameStr );
- if(v)
- {
- if(consolechars[0]>0){
- for(k=14;k>=1;k--){
- for(j=0;j<255;j++){
- consoletext[k][j]=consoletext[k-1][j];
- }
- consolechars[k]=consolechars[k-1];
- }
- for(j=0;j<255;j++){
- consoletext[0][j]=' ';
- }
- if(v!=-4994)sprintf (consoletext[0], "Error #%d!!!",v);
- else sprintf (consoletext[0], "Could not open connection");
-
- consolechars[0]=255;
- consoleselected=0;
- }
- }
- else
- {
- donesomething=1;
- PlaySoundEx( consolesuccesssound, samp[consolesuccesssound], NULL, true);
- OPENAL_SetVolume(channels[consolesuccesssound], 256);
- OPENAL_SetPaused(channels[consolesuccesssound], false);
-
- if(consolechars[0]>0){
- for(k=14;k>=1;k--){
- for(j=0;j<255;j++){
- consoletext[k][j]=consoletext[k-1][j];
- }
- consolechars[k]=consolechars[k-1];
- }
- for(j=0;j<255;j++){
- consoletext[0][j]=' ';
- }
- sprintf (consoletext[0], "Connected to %s",theIPAddress);
-
- consolechars[0]=255;
- consoleselected=0;
- }
- }
- }
-
- if(Compare(consoletext[0],"host ",0,4)){
- unsigned char gameNameStr[32], playerNameStr[32];
- char gameName[32];//, playerName[32];
- NMUInt32 port;
- int players;
- int v;
-
- port = 25710;
- players =4;
-
- strcpy(gameName, "Host's game");
- strcpy(playerName, "Host");
- GameC2PStr( gameName, gameNameStr );
- GameC2PStr( playerName, playerNameStr );
-
- v=NetworkStartServer( (NMUInt16)port, players, gameNameStr, playerNameStr );
- if(v)
- {
- if(consolechars[0]>0){
- for(k=14;k>=1;k--){
- for(j=0;j<255;j++){
- consoletext[k][j]=consoletext[k-1][j];
- }
- consolechars[k]=consolechars[k-1];
- }
- for(j=0;j<255;j++){
- consoletext[0][j]=' ';
- }
- sprintf (consoletext[0], "Error #%d!!!",v);
-
- consolechars[0]=255;
- consoleselected=0;
- }
- }
- else
- {
- donesomething=1;
- PlaySoundEx( consolesuccesssound, samp[consolesuccesssound], NULL, true);
- OPENAL_SetVolume(channels[consolesuccesssound], 256);
- OPENAL_SetPaused(channels[consolesuccesssound], false);
-
- if(consolechars[0]>0){
- for(k=14;k>=1;k--){
- for(j=0;j<255;j++){
- consoletext[k][j]=consoletext[k-1][j];
- }
- consolechars[k]=consolechars[k-1];
- }
- for(j=0;j<255;j++){
- consoletext[0][j]=' ';
- }
- sprintf (consoletext[0], "Game hosted");
-
- consolechars[0]=255;
- consoleselected=0;
- }
- }
- }
- */
- if(Compare(consoletext[0],"save ",0,4)){
- mapname[0]=':';
- mapname[1]='D';
- mapname[2]='a';
- mapname[3]='t';
- mapname[4]='a';
- mapname[5]=':';
- mapname[6]='M';
- mapname[7]='a';
- mapname[8]='p';
- mapname[9]='s';
- mapname[10]=':';
- for(j=5;j<consolechars[0];j++){
- mapname[j-5+11]=consoletext[0][j];
- }
- mapname[consolechars[0]-5+11]='\0';
-
- PlaySoundEx( consolesuccesssound, samp[consolesuccesssound], NULL, true);
- OPENAL_SetVolume(channels[consolesuccesssound], 256);
- OPENAL_SetPaused(channels[consolesuccesssound], false);
-
- int mapvers;
- mapvers=12;
-
-
- FILE *tfile;
- tfile=fopen( mapname, "wb" );
- fpackf(tfile, "Bi", mapvers);
- //fpackf(tfile, "Bi", indemo);
- fpackf(tfile, "Bi", maptype);
- fpackf(tfile, "Bi", hostile);
- fpackf(tfile, "Bf Bf", viewdistance, fadestart);
- fpackf(tfile, "Bb Bf Bf Bf", skyboxtexture, skyboxr, skyboxg, skyboxb);
- fpackf(tfile, "Bf Bf Bf", skyboxlightr, skyboxlightg, skyboxlightb);
- fpackf(tfile, "Bf Bf Bf Bf Bf Bi", player[0].coords.x, player[0].coords.y, player[0].coords.z, player[0].rotation, player[0].targetrotation, player[0].num_weapons);
- if(player[0].num_weapons>0&&player[0].num_weapons<5)
- for(j=0;j<player[0].num_weapons;j++){
- fpackf(tfile, "Bi", weapons.type[player[0].weaponids[j]]);
- }
-
- fpackf(tfile, "Bf Bf Bf", player[0].armorhead, player[0].armorhigh, player[0].armorlow);
- fpackf(tfile, "Bf Bf Bf", player[0].protectionhead, player[0].protectionhigh, player[0].protectionlow);
- fpackf(tfile, "Bf Bf Bf", player[0].metalhead, player[0].metalhigh, player[0].metallow);
- fpackf(tfile, "Bf Bf", player[0].power, player[0].speedmult);
-
- fpackf(tfile, "Bi", player[0].numclothes);
-
- fpackf(tfile, "Bi Bi", player[0].whichskin, player[0].creature);
-
- fpackf(tfile, "Bi", numdialogues);
- if(numdialogues)
- for(k=0;k<numdialogues;k++){
- fpackf(tfile, "Bi", numdialogueboxes[k]);
- fpackf(tfile, "Bi", dialoguetype[k]);
- for(l=0;l<10;l++){
- fpackf(tfile, "Bf Bf Bf", participantlocation[k][l].x, participantlocation[k][l].y, participantlocation[k][l].z);
- fpackf(tfile, "Bf", participantrotation[k][l]);
- }
- if(numdialogueboxes)
- for(l=0;l<numdialogueboxes[k];l++){
- fpackf(tfile, "Bi", dialogueboxlocation[k][l]);
- fpackf(tfile, "Bf", dialogueboxcolor[k][l][0]);
- fpackf(tfile, "Bf", dialogueboxcolor[k][l][1]);
- fpackf(tfile, "Bf", dialogueboxcolor[k][l][2]);
- fpackf(tfile, "Bi", dialogueboxsound[k][l]);
-
- templength=strlen(dialoguetext[k][l]);
- fpackf(tfile, "Bi",(templength));
- for(m=0;m<templength;m++){
- fpackf(tfile, "Bb", dialoguetext[k][l][m]);
- if(dialoguetext[k][l][m]=='\0')break;
- }
-
- templength=strlen(dialoguename[k][l]);
- fpackf(tfile, "Bi",templength);
- for(m=0;m<templength;m++){
- fpackf(tfile, "Bb", dialoguename[k][l][m]);
- if(dialoguename[k][l][m]=='\0')break;
- }
-
- fpackf(tfile, "Bf Bf Bf", dialoguecamera[k][l].x, dialoguecamera[k][l].y, dialoguecamera[k][l].z);
- fpackf(tfile, "Bi", participantfocus[k][l]);
- fpackf(tfile, "Bi", participantaction[k][l]);
-
- for(m=0;m<10;m++)
- fpackf(tfile, "Bf Bf Bf", participantfacing[k][l][m].x, participantfacing[k][l][m].y, participantfacing[k][l][m].z);
-
- fpackf(tfile, "Bf Bf",dialoguecamerarotation[k][l],dialoguecamerarotation2[k][l]);
- }
- }
-
- if(player[0].numclothes)
- for(k=0;k<player[0].numclothes;k++){
- templength=strlen(player[0].clothes[k]);
- fpackf(tfile, "Bi", templength);
- for(l=0;l<templength;l++)
- fpackf(tfile, "Bb", player[0].clothes[k][l]);
- fpackf(tfile, "Bf Bf Bf", player[0].clothestintr[k], player[0].clothestintg[k], player[0].clothestintb[k]);
- }
-
- fpackf(tfile, "Bi", environment);
-
- fpackf(tfile, "Bi", objects.numobjects);
-
- if(objects.numobjects)
- for(k=0;k<objects.numobjects;k++){
- fpackf(tfile, "Bi Bf Bf Bf Bf Bf Bf", objects.type[k], objects.rotation[k], objects.rotation2[k], objects.position[k].x, objects.position[k].y, objects.position[k].z, objects.scale[k]);
- }
-
- fpackf(tfile, "Bi", numhotspots);
- if(numhotspots)
- for(i=0;i<numhotspots;i++){
- fpackf(tfile, "Bi Bf Bf Bf Bf", hotspottype[i],hotspotsize[i],hotspot[i].x,hotspot[i].y,hotspot[i].z);
- templength=strlen(hotspottext[i]);
- fpackf(tfile, "Bi",templength);
- for(l=0;l<templength;l++)
- fpackf(tfile, "Bb", hotspottext[i][l]);
- }
-
- fpackf(tfile, "Bi", numplayers);
- if(numplayers>1&&numplayers<maxplayers)
- for(j=1;j<numplayers;j++){
- fpackf(tfile, "Bi Bi Bf Bf Bf Bi Bi Bf Bb Bf", player[j].whichskin, player[j].creature, player[j].coords.x, player[j].coords.y, player[j].coords.z, player[j].num_weapons, player[j].howactive, player[j].scale, player[j].immobile, player[j].rotation);
- if(player[j].num_weapons>0&&player[j].num_weapons<5)
- for(k=0;k<player[j].num_weapons;k++){
- fpackf(tfile, "Bi", weapons.type[player[j].weaponids[k]]);
- }
- if(player[j].numwaypoints<30){
- fpackf(tfile, "Bi", player[j].numwaypoints);
- for(k=0;k<player[j].numwaypoints;k++){
- fpackf(tfile, "Bf", player[j].waypoints[k].x);
- fpackf(tfile, "Bf", player[j].waypoints[k].y);
- fpackf(tfile, "Bf", player[j].waypoints[k].z);
- fpackf(tfile, "Bi", player[j].waypointtype[k]);
- }
- fpackf(tfile, "Bi", player[j].waypoint);
- }
- else{
- player[j].numwaypoints=0;
- player[j].waypoint=0;
- fpackf(tfile, "Bi Bi Bi", player[j].numwaypoints, player[j].waypoint, player[j].waypoint);
- }
-
- fpackf(tfile, "Bf Bf Bf", player[j].armorhead, player[j].armorhigh, player[j].armorlow);
- fpackf(tfile, "Bf Bf Bf", player[j].protectionhead, player[j].protectionhigh, player[j].protectionlow);
- fpackf(tfile, "Bf Bf Bf", player[j].metalhead, player[j].metalhigh, player[j].metallow);
- fpackf(tfile, "Bf Bf", player[j].power, player[j].speedmult);
-
- if(player[j].creature==wolftype){
- headprop=player[j].proportionhead.x/1.1;
- bodyprop=player[j].proportionbody.x/1.1;
- armprop=player[j].proportionarms.x/1.1;
- legprop=player[j].proportionlegs.x/1.1;
- }
-
- if(player[j].creature==rabbittype){
- headprop=player[j].proportionhead.x/1.2;
- bodyprop=player[j].proportionbody.x/1.05;
- armprop=player[j].proportionarms.x/1.00;
- legprop=player[j].proportionlegs.x/1.1;
- }
-
- fpackf(tfile, "Bf Bf Bf Bf", headprop, bodyprop, armprop, legprop);
-
-
-
- fpackf(tfile, "Bi", player[j].numclothes);
- if(player[j].numclothes)
- for(k=0;k<player[j].numclothes;k++){
- int templength;
- templength=strlen(player[j].clothes[k]);
- fpackf(tfile, "Bi", templength);
- for(l=0;l<templength;l++)
- fpackf(tfile, "Bb", player[j].clothes[k][l]);
- fpackf(tfile, "Bf Bf Bf", player[j].clothestintr[k], player[j].clothestintg[k], player[j].clothestintb[k]);
- }
- }
-
- fpackf(tfile, "Bi", numpathpoints);
- if(numpathpoints)
- for(j=0;j<numpathpoints;j++){
- fpackf(tfile, "Bf Bf Bf Bi", pathpoint[j].x, pathpoint[j].y, pathpoint[j].z, numpathpointconnect[j]);
- for(k=0;k<numpathpointconnect[j];k++){
- fpackf(tfile, "Bi", pathpointconnect[j][k]);
- }
- }
-
- fpackf(tfile, "Bf Bf Bf Bf", mapcenter.x, mapcenter.y, mapcenter.z, mapradius);
-
-
- fclose(tfile);
- donesomething=1;
-
- /*
- FILE *tfile;
- tfile=fopen( mapname, "wb" );
- fwrite( &mapvers, 1, sizeof(int), tfile );
- fwrite( &player[0].coords.x, 1, sizeof(float), tfile );
- fwrite( &player[0].coords.y, 1, sizeof(float), tfile );
- fwrite( &player[0].coords.z, 1, sizeof(float), tfile );
- fwrite( &player[0].rotation, 1, sizeof(float), tfile );
- fwrite( &player[0].targetrotation, 1, sizeof(float), tfile );
- fwrite( &player[0].num_weapons, 1, sizeof(int), tfile );
- if(player[0].num_weapons>0&&player[0].num_weapons<5)
- for(j=0;j<player[0].num_weapons;j++){
- fwrite( &weapons.type[player[0].weaponids[j]], 1, sizeof(int), tfile );
- }
-
- fwrite( &player[0].armorhead, 1, sizeof(int), tfile );
- fwrite( &player[0].armorhigh, 1, sizeof(int), tfile );
- fwrite( &player[0].armorlow, 1, sizeof(int), tfile );
- fwrite( &player[0].protectionhead, 1, sizeof(int), tfile );
- fwrite( &player[0].protectionhigh, 1, sizeof(int), tfile );
- fwrite( &player[0].protectionlow, 1, sizeof(int), tfile );
- fwrite( &player[0].metalhead, 1, sizeof(int), tfile );
- fwrite( &player[0].metalhigh, 1, sizeof(int), tfile );
- fwrite( &player[0].metallow, 1, sizeof(int), tfile );
- fwrite( &player[0].power, 1, sizeof(int), tfile );
- fwrite( &player[0].speedmult, 1, sizeof(int), tfile );
-
- fwrite( &player[0].numclothes, 1, sizeof(int), tfile );
- if(player[0].numclothes)
- for(k=0;k<player[0].numclothes;k++){
- int templength;
- templength=strlen(player[0].clothes[k]);
- fwrite( &templength,1,sizeof(int),tfile);
- for(l=0;l<templength;l++)
- fwrite( &player[0].clothes[k][l],1,sizeof(char),tfile);
- fwrite( &player[0].clothestintr[k],1,sizeof(float),tfile);
- fwrite( &player[0].clothestintg[k],1,sizeof(float),tfile);
- fwrite( &player[0].clothestintb[k],1,sizeof(float),tfile);
- }
-
- fwrite( &environment, 1, sizeof(int), tfile );
-
- fwrite( &objects.numobjects, 1, sizeof(int), tfile );
-
- for(k=0;k<objects.numobjects;k++){
- fwrite( &objects.type[k], 1, sizeof(int), tfile );
- fwrite( &objects.rotation[k], 1, sizeof(float), tfile );
- fwrite( &objects.rotation2[k], 1, sizeof(float), tfile );
- fwrite( &objects.position[k].x, 1, sizeof(float), tfile );
- fwrite( &objects.position[k].y, 1, sizeof(float), tfile );
- fwrite( &objects.position[k].z, 1, sizeof(float), tfile );
- fwrite( &objects.scale[k], 1, sizeof(float), tfile );
- }
-
- fwrite( &numplayers, 1, sizeof(int), tfile );
- if(numplayers>1&&numplayers<maxplayers)
- for(j=1;j<numplayers;j++){
- fwrite( &player[j].whichskin, 1, sizeof(int), tfile );
- fwrite( &player[j].creature, 1, sizeof(int), tfile );
- fwrite( &player[j].coords.x, 1, sizeof(float), tfile );
- fwrite( &player[j].coords.y, 1, sizeof(float), tfile );
- fwrite( &player[j].coords.z, 1, sizeof(float), tfile );
- fwrite( &player[j].num_weapons, 1, sizeof(int), tfile );
- if(player[j].num_weapons>0&&player[j].num_weapons<5)
- for(k=0;k<player[j].num_weapons;k++){
- fwrite( &weapons.type[player[j].weaponids[k]], 1, sizeof(int), tfile );
- }
- if(player[j].numwaypoints<30){
- fwrite( &player[j].numwaypoints, 1, sizeof(int), tfile );
- for(k=0;k<player[j].numwaypoints;k++){
- fwrite( &player[j].waypoints[k].x, 1, sizeof(float), tfile );
- fwrite( &player[j].waypoints[k].y, 1, sizeof(float), tfile );
- fwrite( &player[j].waypoints[k].z, 1, sizeof(float), tfile );
- }
- fwrite( &player[j].waypoint, 1, sizeof(int), tfile );
- //fwrite( &player[j].jumppath, 1, sizeof(bool), tfile );
- }
- else{
- player[j].numwaypoints=0;
- player[j].waypoint=0;
- fwrite( &player[j].numwaypoints, 1, sizeof(int), tfile );
- fwrite( &player[j].waypoint, 1, sizeof(int), tfile );
- fwrite( &player[j].waypoint, 1, sizeof(int), tfile );
- }
- fwrite( &player[j].armorhead, 1, sizeof(int), tfile );
- fwrite( &player[j].armorhigh, 1, sizeof(int), tfile );
- fwrite( &player[j].armorlow, 1, sizeof(int), tfile );
- fwrite( &player[j].protectionhead, 1, sizeof(int), tfile );
- fwrite( &player[j].protectionhigh, 1, sizeof(int), tfile );
- fwrite( &player[j].protectionlow, 1, sizeof(int), tfile );
- fwrite( &player[j].metalhead, 1, sizeof(int), tfile );
- fwrite( &player[j].metalhigh, 1, sizeof(int), tfile );
- fwrite( &player[j].metallow, 1, sizeof(int), tfile );
- fwrite( &player[j].power, 1, sizeof(int), tfile );
- fwrite( &player[j].speedmult, 1, sizeof(int), tfile );
-
- fwrite( &player[j].numclothes, 1, sizeof(int), tfile );
- if(player[j].numclothes)
- for(k=0;k<player[j].numclothes;k++){
- int templength;
- templength=strlen(player[j].clothes[k]);
- fwrite( &templength,1,sizeof(int),tfile);
- for(l=0;l<templength;l++)
- fwrite( &player[j].clothes[k][l],1,sizeof(char),tfile);
- fwrite( &player[j].clothestintr[k],1,sizeof(float),tfile);
- fwrite( &player[j].clothestintg[k],1,sizeof(float),tfile);
- fwrite( &player[j].clothestintb[k],1,sizeof(float),tfile);
- }
- }
- fwrite( &numpathpoints, 1, sizeof(int), tfile );
- if(numpathpoints)
- for(j=0;j<numpathpoints;j++){
- fwrite( &pathpoint[j].x, 1, sizeof(float), tfile );
- fwrite( &pathpoint[j].y, 1, sizeof(float), tfile );
- fwrite( &pathpoint[j].z, 1, sizeof(float), tfile );
- fwrite( &numpathpointconnect[j], 1, sizeof(int), tfile );
- for(k=0;k<numpathpointconnect[j];k++){
- fwrite( &pathpointconnect[j][k], 1, sizeof(int), tfile );
- }
- }
-
- fwrite( &mapcenter.x, 1, sizeof(float), tfile );
- fwrite( &mapcenter.y, 1, sizeof(float), tfile );
- fwrite( &mapcenter.z, 1, sizeof(float), tfile );
-
- fwrite( &mapradius, 1, sizeof(float), tfile );
-
- fclose(tfile);
- donesomething=1;*/
- }
- /*
- if(Compare(consoletext[0],"save ",0,4)){
- mapname[0]=':';
- mapname[1]='D';
- mapname[2]='a';
- mapname[3]='t';
- mapname[4]='a';
- mapname[5]=':';
- mapname[6]='M';
- mapname[7]='a';
- mapname[8]='p';
- mapname[9]='s';
- mapname[10]=':';
- for(j=5;j<consolechars[0];j++){
- mapname[j-5+11]=consoletext[0][j];
- }
- mapname[consolechars[0]-5+11]='\0';
-
- PlaySoundEx( consolesuccesssound, samp[consolesuccesssound], NULL, true);
- OPENAL_SetVolume(channels[consolesuccesssound], 256);
- OPENAL_SetPaused(channels[consolesuccesssound], false);
-
- FILE *tfile;
- tfile=fopen( mapname, "wb" );
- fwrite( &player[0].coords, 1, sizeof(XYZ), tfile );
- fwrite( &player[0].rotation, 1, sizeof(float), tfile );
- fwrite( &player[0].targetrotation, 1, sizeof(float), tfile );
- fwrite( &player[0].num_weapons, 1, sizeof(int), tfile );
- if(player[0].num_weapons>0&&player[0].num_weapons<5)
- for(j=0;j<player[0].num_weapons;j++){
- fwrite( &weapons.type[player[0].weaponids[j]], 1, sizeof(int), tfile );
- }
- fwrite( &environment, 1, sizeof(int), tfile );
-
- fwrite( &objects.numobjects, 1, sizeof(int), tfile );
- fwrite( &objects.type, 1, sizeof(int)*objects.numobjects, tfile );
- fwrite( &objects.rotation, 1, sizeof(float)*objects.numobjects, tfile );
- fwrite( &objects.position, 1, sizeof(XYZ)*objects.numobjects, tfile );
- fwrite( &objects.scale, 1, sizeof(float)*objects.numobjects, tfile );
-
- fwrite( &numplayers, 1, sizeof(int), tfile );
- if(numplayers>1&&numplayers<maxplayers)
- for(j=1;j<numplayers;j++){
- fwrite( &player[j].coords, 1, sizeof(XYZ), tfile );
- fwrite( &player[j].num_weapons, 1, sizeof(int), tfile );
- if(player[j].num_weapons>0&&player[j].num_weapons<5)
- for(k=0;k<player[j].num_weapons;k++){
- fwrite( &weapons.type[player[j].weaponids[k]], 1, sizeof(int), tfile );
- }
- if(player[j].numwaypoints<30){
- fwrite( &player[j].numwaypoints, 1, sizeof(int), tfile );
- fwrite( &player[j].waypoints, 1, sizeof(XYZ)*player[j].numwaypoints, tfile );
- fwrite( &player[j].waypoint, 1, sizeof(int), tfile );
- //fwrite( &player[j].jumppath, 1, sizeof(bool), tfile );
- }
- else{
- player[j].numwaypoints=0;
- player[j].waypoint=0;
- fwrite( &player[j].numwaypoints, 1, sizeof(int), tfile );
- fwrite( &player[j].waypoint, 1, sizeof(int), tfile );
- fwrite( &player[j].waypoint, 1, sizeof(int), tfile );
- }
- }
- fwrite( &numpathpoints, 1, sizeof(int), tfile );
- if(numpathpoints)
- for(j=0;j<numpathpoints;j++){
- fwrite( &pathpoint[j], 1, sizeof(XYZ), tfile );
- fwrite( &numpathpointconnect[j], 1, sizeof(int), tfile );
- for(k=0;k<numpathpointconnect[j];k++){
- fwrite( &pathpointconnect[j][k], 1, sizeof(int), tfile );
- }
- }
- fclose(tfile);
- donesomething=1;
- }*/
- if(Compare(consoletext[0],"cellar door ",0,11)||Compare(consoletext[0],"cellardoor ",0,10)){
- LoadTextureSave(":Data:Textures:Furdarko.jpg",&player[0].skeleton.drawmodel.textureptr,1,&player[0].skeleton.skinText[0],&player[0].skeleton.skinsize);
- donesomething=1;
- }
- /*if(Compare(consoletext[0],"Pants ",0,5)){
- AddClothes(":Data:Textures:Pants.png",0,1,&player[i].skeleton.skinText[0],&player[i].skeleton.skinsize);
- player[i].DoMipmaps(5,0,0,player[i].skeleton.skinsize,player[i].skeleton.skinsize);
- donesomething=1;
- }*/
-
- if(Compare(consoletext[0],"tintr ",0,5)||Compare(consoletext[0],"Tintr ",0,5)){
- for(j=6;j<consolechars[0];j++){
- mapname[j-6]=consoletext[0][j];
- }
-
- tintr=atof(mapname);
-
- donesomething=1;
- }
-
- if(Compare(consoletext[0],"speed ",0,5)||Compare(consoletext[0],"Speed ",0,5)){
- for(j=6;j<consolechars[0];j++){
- mapname[j-6]=consoletext[0][j];
- }
-
- player[0].speedmult=atof(mapname);
-
- donesomething=1;
- }
-
- if(Compare(consoletext[0],"strength ",0,8)||Compare(consoletext[0],"Strength ",0,8)){
- for(j=9;j<consolechars[0];j++){
- mapname[j-9]=consoletext[0][j];
- }
-
- player[0].power=atof(mapname);
-
- donesomething=1;
- }
-
- if(Compare(consoletext[0],"viewdistance ",0,12)||Compare(consoletext[0],"Viewdistance ",0,12)){
- for(j=13;j<consolechars[0];j++){
- mapname[j-13]=consoletext[0][j];
- }
-
- viewdistance=atof(mapname)*100;
-
- donesomething=1;
- }
-
- if(Compare(consoletext[0],"fadestart ",0,9)||Compare(consoletext[0],"Fadestart ",0,9)){
- for(j=10;j<consolechars[0];j++){
- mapname[j-10]=consoletext[0][j];
- }
-
- fadestart=atof(mapname);
-
- donesomething=1;
- }
-
- if(Compare(consoletext[0],"power ",0,5)||Compare(consoletext[0],"Power ",0,5)){
- for(j=6;j<consolechars[0];j++){
- mapname[j-6]=consoletext[0][j];
- }
-
- player[0].power=atof(mapname);
-
- donesomething=1;
- }
-
- if(Compare(consoletext[0],"slomo ",0,5)||Compare(consoletext[0],"Slomo ",0,5)){
- for(j=6;j<consolechars[0];j++){
- mapname[j-6]=consoletext[0][j];
- }
-
- slomospeed=atof(mapname);
- slomo=1-slomo;
- slomodelay=1000;
-
- donesomething=1;
- }
-
- if(Compare(consoletext[0],"slofreq ",0,7)||Compare(consoletext[0],"Slofreq ",0,7)){
- for(j=8;j<consolechars[0];j++){
- mapname[j-8]=consoletext[0][j];
- }
-
- slomofreq=atoi(mapname);
-
- donesomething=1;
- }
-
- if(Compare(consoletext[0],"size ",0,4)||Compare(consoletext[0],"Size ",0,4)){
- for(j=5;j<consolechars[0];j++){
- mapname[j-5]=consoletext[0][j];
- }
-
- player[0].scale=atof(mapname)*.2;
-
- donesomething=1;
- }
-
- if(Compare(consoletext[0],"sizenear ",0,8)||Compare(consoletext[0],"Sizenear ",0,8)){
- int closest=-1;
- float closestdist=-1;
- float distance;
- if(numplayers>1)
- for(i=1;i<numplayers;i++){
- distance=findDistancefast(&player[i].coords,&player[0].coords);
- if(closestdist==-1||distance<closestdist){
- closestdist=distance;
- closest=i;
- }
- }
-
- for(j=9;j<consolechars[0];j++){
- mapname[j-9]=consoletext[0][j];
- }
-
- player[closest].scale=atof(mapname)*.2;
-
- donesomething=1;
- }
-
- if(Compare(consoletext[0],"proportionnear ",0,14)||Compare(consoletext[0],"Proportionnear ",0,14)){
- int startpoint;
- int alldone;
-
- int closest=-1;
- float closestdist=-1;
- float distance;
- if(numplayers>1)
- for(i=1;i<numplayers;i++){
- distance=findDistancefast(&player[i].coords,&player[0].coords);
- if(closestdist==-1||distance<closestdist){
- closestdist=distance;
- closest=i;
- }
- }
-
- alldone=0;
- startpoint=15;
- j=startpoint;
- while(consoletext[0][j]!='\0'&&consoletext[0][j]!=' '&&!alldone&&j<255){
- mapname[j-startpoint]=consoletext[0][j];
- j++;
- if(consoletext[0][j]=='\0')alldone=1;
- }
- mapname[j-startpoint]='\0';
-
- headprop=atof(mapname);
-
- j++;
- startpoint=j;
- while(consoletext[0][j]!='\0'&&consoletext[0][j]!=' '&&!alldone&&j<255){
- mapname[j-startpoint]=consoletext[0][j];
- j++;
- if(consoletext[0][j]=='\0')alldone=1;
- }
- mapname[j-startpoint]='\0';
-
- bodyprop=atof(mapname);
-
- j++;
- startpoint=j;
- while(consoletext[0][j]!='\0'&&consoletext[0][j]!=' '&&!alldone&&j<255){
- mapname[j-startpoint]=consoletext[0][j];
- j++;
- if(consoletext[0][j]=='\0')alldone=1;
- }
- mapname[j-startpoint]='\0';
-
- armprop=atof(mapname);
-
- j++;
- startpoint=j;
- while(consoletext[0][j]!='\0'&&consoletext[0][j]!=' '&&!alldone&&j<255){
- mapname[j-startpoint]=consoletext[0][j];
- j++;
- if(consoletext[0][j]=='\0')alldone=1;
- }
- mapname[j-startpoint]='\0';
-
- legprop=atof(mapname);
-
- if(player[closest].creature==wolftype){
- player[closest].proportionhead=1.1*headprop;
- player[closest].proportionbody=1.1*bodyprop;
- player[closest].proportionarms=1.1*armprop;
- player[closest].proportionlegs=1.1*legprop;
- }
-
- if(player[closest].creature==rabbittype){
- player[closest].proportionhead=1.2*headprop;
- player[closest].proportionbody=1.05*bodyprop;
- player[closest].proportionarms=1.00*armprop;
- player[closest].proportionlegs=1.1*legprop;
- player[closest].proportionlegs.y=1.05*legprop;
- }
-
- donesomething=1;
- }
-
-
- if(Compare(consoletext[0],"sizemin ",0,7)||Compare(consoletext[0],"Sizemin ",0,7)){
- for(i=1;i<numplayers;i++){
- if(player[i].scale<0.8*0.2)player[i].scale=0.8*0.2;
- }
-
- donesomething=1;
- }
-
- if(Compare(consoletext[0],"tutorial ",0,8)||Compare(consoletext[0],"Tutorial ",0,8)){
- for(j=9;j<consolechars[0];j++){
- mapname[j-9]=consoletext[0][j];
- }
-
- tutoriallevel=atoi(mapname);