image2D -> mesh3D

Généralités sur la programmation 3D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

pour m'amuser j'ai fait un désinstallateur de Dreamotion3D

probleme , j'ai voulu utiliser ton installateur pour installer
la lib, mais comme mon désinstallateur a parfaitement fonctionné
Ton installateur n'a pas trouvé "d3dx9d.lib", qui doit lui servir pour
le logo , je présume !! :D

moralité ! quelqu'un qui n'as jamais eu Dreamotion3D d'installé
NE PEUX PAS UTILISER ton installateur, c'est ballot hein ? :lol: :lol:


ps : si comme je le pense tu utilise le moteur3D pour afficher le logo bien joli
faut changer de methode, un installateur ne doit jamais faire appel au ressources du programme qu'il installe !!!

transforme l'animation du logo en Gif animé si tu veut ! ....



voici le code du désinstallateur !


; Désinstallateur du moteur Dreamotion3D
; Codé par Dobro

Declare.s GetPB_DirectoryInstallation()

dir$= GetPB_DirectoryInstallation()
librairie$=dir$+ "PureLibraries\Windows\Libraries\"
dll$= "C:\WINDOWS\system32\"


; efface les Dll du dossier "C:\WINDOWS\system32\"
If DeleteFile (dll$+ "d3dx9_30.dll" )
Else
     MessageRequester ( "erreur" , "pas pu effacer d3dx9_30.dll" , #PB_MessageRequester_Ok )
EndIf
If DeleteFile (dll$+ "d3dx9d_30.dll" )
Else
     MessageRequester ( "erreur" , "pas pu effacer d3dx9d_30.dll" , #PB_MessageRequester_Ok )
EndIf
; efface les librairies du dossier du purebasic
If DeleteFile (librairie$+ "d3d9.lib" )
Else
     MessageRequester ( "erreur" , "pas pu effacer d3d9.lib" , #PB_MessageRequester_Ok )
EndIf
If DeleteFile (librairie$+ "d3dx9.lib" )
Else
     MessageRequester ( "erreur" , "pas pu effacer d3dx9.lib" , #PB_MessageRequester_Ok )
EndIf
If DeleteFile (librairie$+ "d3dx9d.lib" )
Else
     MessageRequester ( "erreur" , "pas pu effacer d3dx9d.lib" , #PB_MessageRequester_Ok )
EndIf
If DeleteFile (librairie$+ "Dreamotion3D.lib" )
Else
     MessageRequester ( "erreur" , "pas pu effacer Dreamotion3D.lib" , #PB_MessageRequester_Ok )
EndIf

MessageRequester ( "OK !" , "Dreamotion3D est désinstallé" , #PB_MessageRequester_Ok )
End




Procedure.s GetPB_DirectoryInstallation()
  Buffer$ = Space (10000) : BufferSize = Len (Buffer$) - 1
   ; Windows NT/XP
   If GetVersion_ () & $FF0000
     If RegOpenKeyEx_ ( #HKEY_CLASSES_ROOT , "Applications\PureBasic.exe\shell\open\command" , 0, #KEY_ALL_ACCESS , @key) = #ERROR_SUCCESS
       If RegQueryValueEx_ (key, "" , 0, @type, @Buffer$, @BufferSize) = #ERROR_SUCCESS
        OutputDirectory$ = GetPathPart ( Mid (Buffer$, 2, Len (Buffer$) - 7))
       EndIf
     EndIf
   Else ; The same for Win9x
     If RegOpenKeyEx_ ( #HKEY_LOCAL_MACHINE , "Software\Classes\PureBasic.exe\shell\open\command" , 0, #KEY_ALL_ACCESS , @key) = #ERROR_SUCCESS
       If RegQueryValueEx_ (key, "" , 0, @type, @Buffer$, @BufferSize) = #ERROR_SUCCESS
        OutputDirectory$ = GetPathPart ( Mid (Buffer$, 2, Len (Buffer$) - 7))
       EndIf
     EndIf
   EndIf
   ProcedureReturn OutputDirectory$
EndProcedure



tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Excelent ton code, il serait peut-etre intéressant de le joindre au pack
pour ceux qui voudrais purger les éléments de DM3D.

Pour le Package d'installation, tu as raison, il ne faut jamais employer
les ressources de ce que l'on installe dans le pgm d'installation, mais
j'avais envie comme l'on dis.
En fait, il s'agit d'une de mees étourderies légendaires, que j'ai corrigé
maintenant, il ne devrais plus y avoir de soucis...

Merci en tous les cas d'avoir mis le doigt dessus :)
Force et sagesse...
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

tmyke a écrit :Excelent ton code, il serait peut-etre intéressant de le joindre au pack
pour ceux qui voudrais purger les éléments de DM3D.
aucun problemes pour ça ! au contraire :D

tous les codes que je postes ici sont libres de droits :D
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

tous les exemples fonctionnent

little map générator ne marche toujours pas
update de pb en version 4.02

erreur en ligne 242...

je sais po...

pat
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Je suis très embété, car je ne vois pas pourquoi cela ne tourne pas. :?

J'ai repris sur une de mes machines de test, avec une vénérable 9700pro
et une install de PB4.02 toutes simple, cela fonctionne normalement.

je comprend pas...

:?
Force et sagesse...
comtois
Messages : 5186
Inscription : mer. 21/janv./2004 17:48
Contact :

Message par comtois »

ça fonctionne bien chez moi.

[EDIT]
Patrick88 tu as enregistré le code dans le même répertoire que les exemples ou dans un répertoire perso ?
Dernière modification par comtois le jeu. 01/févr./2007 19:57, modifié 1 fois.
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

Merci, quelque part cela me ressure, mais je m'interroge toujours pour
toi Patrick88, surtout si tu me dis que les exemples du pack fonctionnent eux
correctement... humm
Force et sagesse...
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

ça marche !! sisi (les exemples + little map generator)

j'avais collé les exemples dans un sous-dossier placé dans "examples" de pb

avec le dossier "sampleDM3D" placé juste dans la racine de pb, ça marche

:?: :?: :?: :?:

je pensais qu'il fallait que l'image soit dans le dossier media
mais non, ça plante à cause de l'image...
"Granit vert.bmp" qui est dans "c:\windows" -> plante ligne 242


pat
tmyke
Messages : 1554
Inscription : lun. 24/juil./2006 6:44
Localisation : vosges (France) 47°54'39.06"N 6°20'06.39"E

Message par tmyke »

En effet, j'ai essayé avec la meme image, et la cela plante aussi.
I doit y avoir un bug quelque part malgré tout, je vais chercher...

[EDIT] J'ai bien trouvé un bug, dans le moteur lui meme sur le fonction
SetVertex(). C'est corrigé. Merci de ta persévérence Patrick88 :wink:
(update module)
Force et sagesse...
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

year ! :D
Avatar de l’utilisateur
Progi1984
Messages : 2659
Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :

Message par Progi1984 »

Pas year (traduction en fr : année) mais yeah !
Patrick88
Messages : 1564
Inscription : mer. 21/janv./2004 18:24

Message par Patrick88 »

hier... nanère
Octavius
Messages : 312
Inscription : jeu. 26/juil./2007 12:10

Message par Octavius »

Bonjour,

ce programme est intéressant mais je n'arrive pas à le faire fonctionner chez moi. J'ai téléchargé récemment Dreamotion3D v4.0.4b, or d'après la date ce code correspond la v4.0.0.

Je n'arrive pas à mettre à jour le code pour qu'il fonctionne, pourriez-vous m'aider ?
Octavius
Messages : 312
Inscription : jeu. 26/juil./2007 12:10

Message par Octavius »

Un peu d'aide s'il vous plaît ?
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Octavius a écrit :Un peu d'aide s'il vous plaît ?
j'avais repondu mais dans le topic reservé a Dreamotion3D :)

revoici le nouveau désinstaleur de Dreamotion 3D




; désinstallateur de Dreamotion3D
; By Dobro


Chemin$ = PathRequester ( "ou est le dossier Purebasic ?? " + Chr (10)+ Chr (13)+ "Entrez dedans !!! " , "c:" )

; efface du dossier compiller
Resultat = DeleteFile (Chemin$+ "Compilers" + "Dreamotion3D.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers" + "d3dx9_30.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers" + "d3dx9d_30.dll" )

; enleve le moteur Physic
Resultat = DeleteFile (Chemin$+ "Compilers" + "NxCharacter.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers" + "NxCooking.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers" + "NxExtensions.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers" + "PhysX.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers" + "PhysXCore.dll" )
Resultat = DeleteFile (Chemin$+ "Compilers" + "PhysXLoader.dll" )

; efface du dossier Windows/System32
Resultat = DeleteFile ( "C:\WINDOWS\system32" + "Dreamotion3D.dll" )
Resultat = DeleteFile ( "C:\WINDOWS\system32" + "d3dx9_30.dll" )
Resultat = DeleteFile ( "C:\WINDOWS\system32" + "d3dx9d_30.dll" )

; au cas ou << : D
Resultat = DeleteFile ( "C:\WINDOWS" + "Dreamotion3D.dll" )
Resultat = DeleteFile ( "C:\WINDOWS" + "d3dx9_30.dll" )
Resultat = DeleteFile ( "C:\WINDOWS" + "d3dx9d_30.dll" )


; efface du dossier lib
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "d3d9.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "d3dx9.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "d3dx9d.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "d3dxof.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "ddraw.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "dinput8.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "dinput.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "Dreamotion3d.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "dinput.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "dsound.lib" )
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "dxguid.lib" )


; retire la lib du moteur Physic
Resultat = DeleteFile (Chemin$+ "PureLibraries\Windows\Libraries" + "PhysX.lib" )

; efface tout le dossier Dreamotion3D
Resultat = DeleteDirectory (Chemin$+ "Dreamotion3D" , "*.*" , #PB_FileSystem_Recursive|#PB_FileSystem_Force )

; efface tout le dossier Physic
Resultat = DeleteDirectory (Chemin$+ "SamplesPhysX" , "*.*" , #PB_FileSystem_Recursive|#PB_FileSystem_Force )

; efface le Help
Resultat = DeleteFile (Chemin$+ "help" + "Dreamotion3D.chm" )

MessageRequester ( "ok !" , "Désinstallation effectuée" , #PB_MessageRequester_Ok )
Répondre