See site in english Voir le site en francais
Website skin:
home  download  forum  link  contact

Welcome, Guest. Please login or register.
Did you miss your activation email?

Login with username, password and session length

Author Topic: [C++] CTD en dézoomant... [résolu]  (Read 2643 times)

0 Members and 1 Guest are viewing this topic.

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
06 January 2008, 15:53:06
Piti problème :
Je viens de m'apercevoir que lorsque je dézoome sur mon hélico, j'ai un CTD arrivé à un certaine distance (soucis
localisé dans clbkPostStep).

Au départ, je jouais avec les matérials, visiblement, ça plaisait pas à orbiter arrivé à une vingtaine de kms de distance
de la target. J'ai donc mis quelques conditions pour corriger cela, niquel ca marche.

Sauf que maintenant, j'ai à nouveau un CTD mais quand j'arrive à quelques centaines de kms de distance de ma
target.
Problème toujours localisé dans clbkPostStep mais au tout début de la méthode. En gros, la première ligne fait
planter orbiter, quelque soit ce que je tape.
J'ai mis des oapiWriteLog ("test 1" en première ligne et "test 2" à la fin par exemple), et je me suis amusé à
dézoomer jusqu'à ce que ça plante : et bien dans mon fichier de log, j'ai bien mes test 1 et test 2 jusqu'à ce que ça
plante. Et en dernière ligne "test 2" ce qui implique que soit je ne repasse pas dans ma méthode (ce qui
m'étonnerait), soit mon oapiWriteLog génère le CTD (ce qui m'échappe ;)).

Quelqu'un a une idée, là je sèche ! ;) Bon, si je m'était contenté du vol atmosphérique, ça ne m'aurait pas dérangé,
aucun intérêt à dézoomer. Mais vu que c'est lié à genesis, si je dézoome pour avoir un visu de la sonde, bah ça peut
arriver que ça plante.

Merci d'avance si vous avez une alternative ;) J'utilise toujours clbkPostStep, peut être ai je tort ....



Message modifié ( 06-01-2008 23:36 )


Offline DanSteph

  • Administrator
  • Legend
  • *****
  • Posts: 15410
  • Karma: 266
  • Hein, quoi !?
    • FsPassengers
Reply #1 - 06 January 2008, 18:39:58
Une piste: quand tu dezoom le model ainsi que les textures sont detruites.
Si ton code y accede directement, CTD.

Il faut y acceder par handle pris de clbkVisualCreated
et abolument remettre le handle a zero dans clbkVisualDestroyed
et surtout faire des check de ce handle avant tout accès.

if(Handle!=NULL)
{
   Bosse avec seulement si le handle est valide
}

Hope this aide ?

Dan


Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #2 - 06 January 2008, 18:46:42
Je comprends mieux. Je vais regarder ça ;) Merci !!



Message modifié ( 06-01-2008 19:00 )


Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #3 - 06 January 2008, 21:53:19
Impec, ça marche ;) Faudra que je modifie mes avions du coup. Mais c'est clair, je ferais attention à l'avenir.
Dans mon cas, j'utilisais un meshgroup (qui comme tu l'as dit Dan, n'existe plus lorsqu'on dézoome assez fort).
Du coup après correction, plus de CTD ;)


« Last Edit: 06 January 2008, 23:36:17 by brainstorm »

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #4 - 06 January 2008, 22:09:49
Du coup, j'vous embête encore un peu :)
Ca m'amène à une autre question :
Je veux faire apparaître mon hélico pas très loin de la sonde lorsque celle-ci arrive à une altitude donnée. Sur le
principe je sais faire. Sauf qu'au départ, mon hélico est forcément localisé à l'endroit désigné dans le scénario, et donc
du coup, peut être très loin du lieu de la rentrée atmo de la sonde.
Bref, du coup, je ne peux pas récupérer le handle de la sonde, vu que celui-ci n'existe plus. Existe t'il une alternative ?


« Last Edit: 06 January 2008, 23:36:17 by brainstorm »

Offline BrianJ

  • Full Member
  • ***
  • Posts: 168
  • Karma: 3
Reply #5 - 06 January 2008, 22:34:38
Brainstorm, vous avez email :-)

Quote
brainstorm a écrit:
Je veux faire apparaître mon hélico pas très loin de la sonde lorsque celle-ci arrive à une altitude donnée. Sur le
principe je sais faire. Sauf qu'au départ, mon hélico est forcément localisé à l'endroit désigné dans le scénario, et donc
du coup, peut être très loin du lieu de la rentrée atmo de la sonde.
Bref, du coup, je ne peux pas récupérer le handle de la sonde, vu que celui-ci n'existe plus. Existe t'il une alternative?

En bref, je ne pense pas que c'est nécessaire.

A+
Brian


« Last Edit: 06 January 2008, 23:36:17 by BrianJ »

Offline brainstorm

  • Legend
  • ******
  • Posts: 2694
  • Karma: 0
Reply #6 - 06 January 2008, 23:36:16
Quote
BrianJ a écrit:
Brainstorm, vous avez email :-)

Quote
brainstorm a écrit:
Je veux faire apparaître mon hélico pas très loin de la sonde lorsque celle-ci arrive à une altitude donnée. Sur le
principe je sais faire. Sauf qu'au départ, mon hélico est forcément localisé à l'endroit désigné dans le scénario, et donc
du coup, peut être très loin du lieu de la rentrée atmo de la sonde.
Bref, du coup, je ne peux pas récupérer le handle de la sonde, vu que celui-ci n'existe plus. Existe t'il une alternative?

En bref, je ne pense pas que c'est nécessaire.

A+
Brian


Oui, j'ai reçu. Effectivement, ta solution est meilleure (la 2) donc plus de problème finalement ;) A la limite, peut être
reposerai je la question plus tard pour un autre projet qui sait ;)


« Last Edit: 06 January 2008, 23:36:17 by brainstorm »