IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Codes sources à télécharger Pascal Discussion :

Défi Pascal 2014 "screensaver" - Projet de EpiTouille : SSFirework [Sources]


Sujet :

Codes sources à télécharger Pascal

  1. #1
    Membre éprouvé
    Avatar de EpiTouille
    Homme Profil pro
    Étudiant
    Inscrit en
    Mai 2009
    Messages
    372
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Mai 2009
    Messages : 372
    Points : 917
    Points
    917
    Par défaut Défi Pascal 2014 "screensaver" - Projet de EpiTouille : SSFirework
    Bonjour,

    Je vous propose un nouvel élément à utiliser : Défi Pascal 2014 "screensaver" - Projet de EpiTouille : SSFirework.

    Défi Pascal 2014 - SSFirework



    Description

    SSFirework est un économiseur d'écran créé par Epitouille dans le cadre du défi pascal 2015. L'économiseur reproduit l'effet de feux d'artifices (firework) en utilisant un moteur de particules très léger.

    Il utilise OpenGL et SDL pour le contexte et gère lui-même les évènements ce qui le rend autonome et multi-plateforme.

    Le projet comporte 2 unités ainsi que le fichier source principal :
    • UWindow.pas : unité permettant de gérer la fenêtre et ses interactions ;
    • UFirework.pas : unité contenant la classe Firework et permettant de gérer un feu d'artifice ;
    • main.pas : fichier source principal qui appelle la logique du jeu.

    Contenu du zip

    Le zip contient les fichiers sources, les DLL de la SDL et d'OpenGL ainsi qu'un binaire compilé depuis Windows 7.

    Compilation

    Le programme ne requiert aucune unité et aucune bibliothèque statique que celles fournies par défaut par FreePascal. La compilation est alors très simple.
    fpc main.pas -ofirework.exe
    suffit à générer un exécutable, car freepascal va compiler les dépendances lui-même.

    Remarque

    J'ai remarqué que FreePascal sous Linux était un poil différent : si on recompile main.pas alors que une unité a été changée, il ne va pas automatiquement recompiler l'unité et linker avec le .o de l'ancienne version.

    Donc sous Linux, penser à recompiler les unités si modifiées :
    fpc UWindow.pas && fpc UFirework.pas && fpc main.pas -ofirework.exe

    Exécution et installation

    Pour tester le screensaver il suffit de lancer l'exécutable.

    Sous Windows

    Version(s) testée(s) : 7 (64b) ATI / 8.1(64b) ATI
    Renommer l'exécutable en .scr ou directement
    fpc main.pas -ofirework.scr
    Vous pouvez le tester avec clic droit sur le .scr > tester.

    L'écran de veille ne fonctionne pas avec le gestionnaire d'écran de veille de Windows car il faut implémenter certaines fonctions de l'API Win32.
    Mon but était de faire quelque chose le plus portable possible.

    Sous Linux

    Version(s) testée(s) : archlinux testing 64bits carte ATI
    Gestionnaire de screensaver : xscreensaver
    Copier l'exécutable (ou lien symbolique) dans /usr/lib/xscreensaver et dans /usr/bin/screensaver.
    Attention aux permissions.
    Créer un fichier /usr/share/xscreensaver/config/firework.xml contenant la description du fond d'écran. (doc xscreensaver)

    Documentation

    Le code est documenté avec la norme utilisée par Doxygene.

    Avenir

    En parallèle, j'ai commencé à créer mon propre screensaver manager car j'ai vu que chaque gestionnaire demandait d'implémenter une norme différente ce qui rend le développement d'un économiseur d'écran multi-plateforme irréalisable.

    Remerciements

    Je remercie l'équipe Pascal pour son investissement et qui m'a permis de remettre les doigts dans du pascal ce que je n'avais pas fait depuis plus de 2 ans et avant, ça remonte au lycée

    Bonne chance à tous les concurrents.

    Epitouille

    Qu'en pensez-vous ?

  2. #2
    Rédacteur/Modérateur

    Avatar de Roland Chastain
    Homme Profil pro
    Enseignant
    Inscrit en
    Décembre 2011
    Messages
    4 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Moselle (Lorraine)

    Informations professionnelles :
    Activité : Enseignant

    Informations forums :
    Inscription : Décembre 2011
    Messages : 4 070
    Points : 15 457
    Points
    15 457
    Billets dans le blog
    9
    Par défaut
    Magnifique présentation, messire Epitouille. Je m'en vais de ce pas télécharger vos sources.
    Mon site personnel consacré à MSEide+MSEgui : msegui.net

Discussions similaires

  1. Réponses: 42
    Dernier message: 05/05/2015, 22h19
  2. Défi Pascal 2014 "screensaver" - Projet de Roland Chastain
    Par Roland Chastain dans le forum Codes sources à télécharger
    Réponses: 0
    Dernier message: 01/05/2015, 20h11
  3. Défi Pascal 2014 "screensaver" - Projet de joreveur : Galaxie
    Par joreveur dans le forum Téléchargez
    Réponses: 0
    Dernier message: 01/05/2015, 19h54

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo