CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

J´aide les personne en C/C++

libjcc
libjcc
Niveau 4
16 octobre 2004 à 17:10:56

A quoi sert cette ligne ? ?
memset(buffer,0,255);

gollumkawder
gollumkawder
Niveau 10
16 octobre 2004 à 18:43:22

Franco01, si tu peux poster ton code içi, peut etre qu´on verrait mieux de quoi il retourne, en tout cas je suis aussi prêt a t´aider

libjcc :d) je te conseille de consulter la MSDN Library :d) http://www.msdn.microsoft.com

pdX-

fanofgame
fanofgame
Niveau 6
17 octobre 2004 à 11:43:50

j´ai un probleme avec un switch a chaque case qe je fai il me met une erreur du type :
error C2143: syntax error : missing ´:´ before ´{´
error C2051: case expression not constant

qqn peut il m´aider???
voici une parti de mon code source :
switch ( bourse)
{
case
(bourse==(0||1||11||12||23||33||34||44||45||55||56
||66||67||77||78||88||89||99))
{
++bourse;
cout<<"L´ordinateur a ajouté 1 francs à la bourse"<<endl;
break;
}
je sais ce n´ai po bo mai je nai po la place pour bien l´incrementer ! !!
merci de votr aide

fanofgame
fanofgame
Niveau 6
17 octobre 2004 à 11:45:38

oups en essayan de le rendre un peu pre lisible sur le forum jai remplacer une { par un ( juste apre le case dsl

JeanYvesYves
JeanYvesYves
Niveau 10
19 octobre 2004 à 14:57:38

en effet j ai fait le code sur winsock rapidos
la gestion des librairies n etant pas la meme sous dev que sous visual il faut bien faire comme tu as mis libjcc.

je modifierai ca dans qq temps pour le moment j ai pas trop le temps :)

fanofgame >
essaie de regarder mon tuto sur switch, il me semble que j y ai mis un exemple

pouky10
pouky10
Niveau 6
23 octobre 2004 à 19:08:42

Moi je commence à utiliser SDL_ttf(pour répondre à ma question pas obliger de connaitre sdl_ttf) car je fais un jeu, puis je veux prendre sdl_ttf pour lire mon score,un int, mais la fonction que j´utilise doit prendre un char, donc pouvez-vous me dire comment lire un int avec un char.

Ptival
Ptival
Niveau 10
23 octobre 2004 à 19:22:25

Je t´ai répondu dans ton topic, mais pq à chaque fois bcp de monde fait un topic+un post dans ce topic...-____-

_[CONKER]_
_[CONKER]_
Niveau 10
23 octobre 2004 à 20:23:43

Car les gens veulent des réponses rapidement . .

kokoala
kokoala
Niveau 7
25 octobre 2004 à 19:25:14

topic perdu en 3° page donc :up: :)

fanofgame > ( si tu as toujours pas trouvé) il manque les 2points après ton case

case ( bourse==...) :
. ..
break;

JeanYvesYves
JeanYvesYves
Niveau 10
26 octobre 2004 à 10:41:28

pour sdl_ttf je ne l ai pas sous la main pour le moment.

mais si ta fonction prend un char c est surement parce qu elle veut un code ASCII

a mon avis il doit y avoir une fonction qui prend un char* non ?
( au pire tu appelles plusieurs fois celle qui prend un char)

ton score est un int, pour le tranformer en chaine utilise par exemple sprintf :

char c[20];
sprintf(c,"%d",score); / / score est un int
/ / ici tu as ton score en tant que char* dans c

franco01
franco01
Niveau 7
26 octobre 2004 à 12:29:50

A gollumkawder pour son message du 16 octobre :Franco01, si tu peux poster ton code içi, peut etre qu´on verrait mieux de quoi il retourne, en tout cas je suis aussi prêt a t´aider .

Ok je vous montre tout ca ( enfin pas tout car sinon ce serait trop long :-) ) Merci en tout cas à ceux qui essayeront :-)

/ /////////////////////////////
La fonction pour charger le bitmap
/ /////////////////////////////

int load_image(char *File)
{

unsigned char *Data;
FILE *fichier;
unsigned char Header[0x36];
GLuint DataPos,DataSize;
GLint Components;
GLsizei Width,Height;
GLenum Format,Type;

unsigned char t;
int x;

int deb=-2;//For debug

//Lit le fichier et son header
fichier = fopen(File,"rb");
if ( !fichier) {
printf("##Erreur## Fichier %s non trouve\n", File);
return -1;
}

if ( feof(fichier)) printf("end of file\n"); / /For debug

if ( fread(Header,1,0x36,fichier)!=0x36) {
printf("##Error## Not enough byte to read 0x36 header\n");
EXIT;
}

if ( Header[0]!=´B´ || Header[1]!=´M´) {
printf("##Error## header do not start with ´BM´\n");
EXIT;
}
if ( CTOI(Header[0x1E])!=0) {
printf("##Error## header byte 0x1E is ! = 0\n");
EXIT;
}
if ( CTOI(Header[0x1C])!=24) {
printf("##Error## header byte 0x1C is ! = 24\n");
EXIT;
}

/ /-- Récupère les infos du fichier
DataPos = CTOI(Header[0x0A]);
DataSize = CTOI(Header[0x22]);
/ /-- Récupère les infos de l´image
Width = CTOI(Header[0x12]);
Height = CTOI(Header[0x16]);
Type = GL_UNSIGNED_BYTE;
Format = GL_RGB;
Components = 3;

//!!!!
if ( DataSize==0)
DataSize=Width*Height*Components;
if ( DataPos==0)
DataPos=0x36;

printf("Texture is %d x %d x %d\n", Width, Height, Components);

/ /-- Charge l´image
fseek(fichier,DataPos,0);
Data = ( unsigned char*) malloc(DataSize);
if ( !Data)
EXIT;

if ( fread(Data,1,DataSize,fichier)!=DataSize)
{
free(Data);
fclose(fichier);
printf("##ERROR## Image size not cohenrent\n");
return -1;
}

fclose(fichier);

//Inverse R et B
for ( x=0;x<Width*Height;x++)
{
t=Data[x*3];
Data[x*3]=Data[x*3+2];
Data[x*3+2]=t;
}

/ /-- Envoie la texture à OpenGL
//glPixelStorei(GL_UNPACK_ALIGNMENT,1);
//glBindTexture(GL_TEXTURE_2D, tex_name[current_tex_name]);
glGenTextures(1,&);
glBindTexture(GL_TEXTURE_2D, tex);

glTexImage2D
(
GL_TEXTURE_2D, //target
0, //mipmap level
Components, //nb couleurs
Width, //largeur
Height, //hauteur
0, //largeur du bord
Format, //type des couleurs
Type, //codage de chaque composante
Data //Image
);
/ /For debuf
GLenum testError;
testError = glGetError ( );

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_REPEAT);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_REPEAT);

printf("Image ´%s´ loaded\n", File);

current_tex_name++;
return tex_name[current_tex_name-1];

}

/ //////////////////////////////////
LA FONCTION POUR TOUT INITIALIER(c´est ici que je charge le bitmap)
/ //////////////////////////////////

void gmed_initall()
{
int i;

char Texture[256] = " H:\\AllBricks1.bmp";
id_tex_tile = load_image(Texture);

etc...
CODES D INITIALISATION
etc...
}

/ ///////////////////////////////
LA FONCTION POUR AFFICHER LE CARRE TEXTURE
/ //////////////////////////////
void Draw(void)
{
int x=200,y=100,w=255,h=255;
int i,j;
glViewport ( 0, 0, glutwindow_w, glutwindow_h);
glMatrixMode ( GL_PROJECTION);
glLoadIdentity ( );
glOrtho(0, glutwindow_w, glutwindow_h, 0, -1, 1);

glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);

glEnable(GL_TEXTURE_2D);

glColor3f(1.0, 1.0, 1.0);
glBindTexture(GL_TEXTURE_2D, tex);
glBegin(GL_QUADS); / / Square

glTexCoord2f(0, 0); / / V must be inverted, do not know why
glVertex2f(x,y);
glTexCoord2f(0,1);
glVertex2f(x+w,y);
glTexCoord2f(1,1);
glVertex2f(x+w,y+h);
glTexCoord2f(1,0);
glVertex2f(x,y+h);

glEnd();

glDisable(GL_TEXTURE_2D);

glutSwapBuffers();
glutPostRedisplay();
}

/ /////////////////////////
DERNIERE FONCTION : LE MAIN
/ /////////////////////////

void gmed_edit_room ( Fl_Widget *, long)
{
Fl_Widget* obj;
int i;

gmed_initall();

glutwindow_w = ( 1+GMED_MAIN_WIDTH+1+1+GMED_TILE_WIDTH+1)*BS;
glutwindow_h = ( GMED_MAIN_HEIGH)*BS;

/ / -- Create FLTK window:
Fl_Window window(glutwindow_w+20, glutwindow_h+150);

gmed_create_buttons();

glGetIntegerv(GL_VIEWPORT, viewport);
window.show();

window.begin();
glutInitWindowSize(glutwindow_w, glutwindow_h);
glutInitWindowPosition(10,90); / / place it inside parent window
glutInitDisplayMode(GLUT_DOUBLE | GLUT_RGBA | GLUT_DEPTH ) ;
glutInitDisplayMode(GLUT_SINGLE);
glutCreateWindow("Game Map Edit");
window.end();

/ /gmed_load_all();

/ / -- Define Callbacks functions
glutMouseFunc(ClicMouse);
glutMotionFunc(MoveMouse); / / Callback when mouse moves and a button is pressed
glutPassiveMotionFunc(MoveMouse); / / Callback when mouse move

glutDisplayFunc(Draw);
/ /glutKeyboardFunc(gmed_keyboard);
/ /glutSpecialFunc(gmed_special_keyboard);

glutMainLoop();

}

Voila tout pour le code, je vous explique les symptomes maintenant:
Le programme m´affiche un carré blanc sans texture.
Dans la fonction load_image ( ...) lors du test glGetError , j´obtiens testError=1282.
Ensuite dans la fonction gmed_initall(..) j´ai id_tex_tile à 0, ce qui est correct.
Par contre j´ai pas de reshape dans les callback ( mais je crois pas que c´est du à ca puisque l´erreur se fait avant, lors du chargement du bitmap avec glGetError à 1282
Voila ceux qui peuvenet m´aider sont le bienvenue

JeanYvesYves
JeanYvesYves
Niveau 10
27 octobre 2004 à 10:29:09

texture blanche = glTexImage2d qui q foire

si mes souvenirs sont bons, code 1282 = GL_INVALID_VALUE ou GL_INVALID_ENUM je ne sais plus

si c est le premier, c est peut etre parce que tu fais ton

glEnable(GL_TEXTURE_2D);

juste avant d afficher la texture alors qu il faut le faire aussi lors de l init !
si tu crees une texture, il faut que la gestion soit activee !
donc met ton
glEnable(GL_TEXTURE_2D);

juste avant ta ligne :
/ /-- Envoie la texture à OpenGL

et regarde si ca marche...
et sinon dis moi si ca renvoie le meme code...

0[0]7
0[0]7
Niveau 6
28 octobre 2004 à 01:27:31

J´utilise un Bloodshed 4.9.9.0
Dans projet, Options du projet, onglet paramère, je link :
- lopengl32
- lglut32
- lglu32

Petit code simple :

  1. include " gl/glut.h"

int WindowName;

int main( int argc, char *argv[ ], char *envp[ ] )
{
glutInit(&, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(640,480);
WindowName = glutCreateWindow("Ma première fenêtre OpenGL ! ");
glutFullScreen();

return 0;

}

J´ai inclu dans le dossier du programme glut32.dll

Erreur :

Fichier : C/...Makefile.win
Erreur : [Build Error] [Projet2.exe] Error 1

Mci d´avance :(

dnob700
dnob700
Niveau 10
28 octobre 2004 à 01:31:52

après un coup d´oeil rapide glut.h n´existe pas, c´est pas plutot glu.h ou gl.h qu´il faut inclure ?

0[0]7
0[0]7
Niveau 6
28 octobre 2004 à 16:35:39

Chez moi, si :)

Sinon, personne sait pourquoi ça met ça ? :S

( En attendant, je peux pas coder :( )

franco01
franco01
Niveau 7
28 octobre 2004 à 18:29:14

A JYY :
J´ai mis glEnable(GL_TEXTURE_2D); juste avant la ligne :
/ / -- Envoie la texture à OpenGL

Mais ca me renvoi toujours la même erreur :-(

0[0]7
0[0]7
Niveau 6
29 octobre 2004 à 23:20:17

Hmmm, :up:

( c´est pas dans mes habitudes de faire ça, mais ça m´embête vraiment là :( )

pouky10
pouky10
Niveau 6
29 octobre 2004 à 23:32:31

moi,j´utilise dev c++ et depuis quelque jours quand je compile j´ai le log d´erreur :
[Warning} Clock skey detected.You build may be incomplet.

Qu,es-ce que ca veut dire?

jejej
jejej
Niveau 9
30 octobre 2004 à 12:52:02

Juste un petit mot pour te remercier , JeanYvesYves , d´avoir repondu a mon mail .

_[CONKER]_
_[CONKER]_
Niveau 10
31 octobre 2004 à 02:30:55

" pouky10 Posté le 29 octobre 2004 à 23:32:31
moi,j´utilise dev c++ et depuis quelque jours quand je compile j´ai le log d´erreur :
[Warning} Clock skey detected.You build may be incomplet.

Qu,es-ce que ca veut dire?
"

> Je viens d´avoir ce problème après quelques changements minimes ( de simples int ! ) alors que tout allait bien avant.. Après une recherche sur google, il semblerait que ça ne soit rien de très grave.. :

" That"s a known problem, but we can"t find out the cause.
Just ignore it or hit the Compile button again, it"s nothing serious."

Sous forums
  • Aide à l'achat Mac
  • Création de Jeux
  • Linux
  • Création de sites web
  • Programmation
  • Internet
  • Steam Deck
  • Macintosh
  • Hardware