31-12-2008 13:57:47
- endering
- Membres
- Date d'inscription:
- Messages: 35
- IP: 193.248.204.66
- Courriel
Bonjour à tous, voilà je suis pris d'un problème peu banal : lors de la compilation de mon code avast (l'antivirus sur cet ordi) ose insulter mon .exe d'être un troyen "Win32:Tibia-AF [Trj]".
J'ai tout d'abord pensé que c'était du à l'utilisation de fonctions C pour écrire et lire dans un simpe fichier text. Aucun problème lors de la lecture, c'est après avoir ajouter un 'else' pour écrire l'erreur que c'est arrivé mais maintenant même si j'enlève le 'else' j'ai toujours la même alerte.
Voici le code : main.cpp
#include <IRR/irrlicht.h>
#include <stdio.h>
#include <iostream>
#include "dataManagement.h"
#include "game.h"
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;
using namespace std;
#ifndef DEF_ENUM
#define DEF_ENUM
enum Scene
{
INTRO, MENU, JEUX
};
#endif
int main(void)
{
long largeurEcran = 600, hauteurEcran = 480;
int sceneActuelle = INTRO;
bool pleinEcran = false;
E_DRIVER_TYPE driverType = EDT_OPENGL;
CData data;//Lecture et écriture de données dans les fichiers de sauvegarde.
data.loadConfig(&largeurEcran, &hauteurEcran, &pleinEcran, &driverType);//Récupère les paramètres du device.
IrrlichtDevice *device =
createDevice(driverType, dimension2d<s32>(largeurEcran, hauteurEcran), 32,
pleinEcran, true, false, 0);
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
IGUIEnvironment* gui = device->getGUIEnvironment();
CGame game;//Gère l'organisation du jeux.
while(device->run())
{
driver->beginScene(true, true, SColor(0,200,200,200));
game.scene(&sceneActuelle);//Charge la scene actuelle.
smgr->drawAll();
gui->drawAll();
driver->endScene();
}
device->drop();
return 0;
}dataManagement.cpp
#include <stdio.h>
#include "dataManagement.h"
using namespace irr;
using namespace video;
using namespace std;
CData::CData()
{
}
void CData::loadConfig(long *largeurEcran, long *hauteurEcran, bool *pleinEcran, E_DRIVER_TYPE *driverType)
{
long driverLu = 2, ecranLu = 0;
FILE* config = NULL;
config = fopen("config.txt", "r");
if (config != NULL)
{
fseek(config, 20, SEEK_SET);
fscanf(config, "%ld %ld", largeurEcran, hauteurEcran);
fseek(config, 15, SEEK_CUR);
fscanf(config, "%ld", &driverLu);
fseek(config, 15, SEEK_CUR);
fscanf(config, "%ld", &ecranLu);
switch(ecranLu)
{
case 0 : *pleinEcran = false;break;
case 1 : *pleinEcran = true;break;
default : *pleinEcran = false;break;
}
switch(driverLu)
{
case 0 : *driverType = EDT_DIRECT3D9;break;
case 1 : *driverType = EDT_DIRECT3D8;break;
case 2 : *driverType = EDT_OPENGL;break;
case 3 : *driverType = EDT_SOFTWARE;break;
default: *driverType = EDT_OPENGL;
}
fclose(config);
}
else
{
FILE* erreur = NULL;
erreur = fopen("erreur.txt", "w");
fputs("\
erreur : le fichier config est corrompu ou n'existe pas", erreur);
fclose(erreur);
}
}Ce sont les seules fonctions que j'ai codées pour le moment; c'est pas vraiment du C++, c'est pas vraiment à cause d'irrlicht mais comme j'ai posté sur plusieurs forum sans réponses et que je n'ai pas trouvé la cause du problème ...
bref si vous avez une idée ?
" N´essaye pas. Fait le, ou ne le fait pas. Il n´y a pas d´essai." - Yoda
Hors ligne
31-12-2008 14:35:32
- endering
- Membres
- Date d'inscription:
- Messages: 35
- IP: 193.248.204.66
- Courriel
Le code est exactement le même mais l'alerte a disparue sans que je comprenne pourquoi ![]()
" N´essaye pas. Fait le, ou ne le fait pas. Il n´y a pas d´essai." - Yoda
Hors ligne
31-12-2008 14:52:53
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 90.56.198.37
- Courriel
Je vais essayer vite fait avant la fin de journée, et je te tiens au courant... ![]()
Force et sagesse...
Hors ligne
31-12-2008 15:02:43
- endering
- Membres
- Date d'inscription:
- Messages: 35
- IP: 193.248.204.66
- Courriel
le fichier config.txt a côté de l'exe est celui-ci si tu en as besoin :
taille de l'écran : 800 600
driver type : 2
plein écran : 0
de plus les .exe 'infectés' ne font que la moitié de la taille du .exe 'propre', j'ai beau chercher je ne comprend pas ![]()
" N´essaye pas. Fait le, ou ne le fait pas. Il n´y a pas d´essai." - Yoda
Hors ligne
31-12-2008 15:13:28
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 90.56.198.37
- Courriel
Fait un petit zip sinon, car il manque un #if dans ton premier code, ainsi que la 'dataManagement.h'...
Force et sagesse...
Hors ligne
31-12-2008 15:34:58
- endering
- Membres
- Date d'inscription:
- Messages: 35
- IP: 193.248.204.66
- Courriel
Voilà un (très petit !) zip : http://www.portail-irrlicht.fr/_upload/archives/Souls%5c%27s%20Storming.zip
il manque juste la dll d'irrlicht, mais après plusieurs recompilations et en changeant le code je n'ai pas eu a nouveau ce problème.
" N´essaye pas. Fait le, ou ne le fait pas. Il n´y a pas d´essai." - Yoda
Hors ligne
31-12-2008 16:24:03
- tmyke
- Administrateurs

- Date d'inscription:
- Messages: 1025
- IP: 90.56.198.37
- Courriel
Donc, je viens d'essayer avec ton archive, et pas de soucis, pas de cris de Avast..
J'ai Avast 4.8 version familiale si cela peut t'aider... et je compile avec VC++ 2005 Express Edition.
Désolé de ne pouvoir t'aider plus....
Force et sagesse...
Hors ligne
31-12-2008 17:10:35
- endering
- Membres
- Date d'inscription:
- Messages: 35
- IP: 193.248.204.66
- Courriel
Merci quand même, j'ai aussi avast 4.8 familiale, je ne comprend toujours pas ce qui s'est passé mais bon ça à l'air de marcher pour le moment.
" N´essaye pas. Fait le, ou ne le fait pas. Il n´y a pas d´essai." - Yoda
Hors ligne



