4770

Forcément, tu programme en Cgrin
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

4771

Et tu devrais prendre PreOS, l'est pas mal sont anti-crash (surtout si tu veux beta-tester des prog).
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

4772

nan j'aime pas son truc d'out of date
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4773

Pkoi ?
de toute façons, t'appuis sue ESC, et t'as pus de message, c pas plus dur que UniOS ?
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

4774

je ne vois pas pkoi je quitterais unios qui marche très bien...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4775

Paceque PreOS marche mieux et que y a pas d'anti-crashtongue

(tiens, je viens de m'aperçevoir qu'il faut que je dl un plug-in pour afficher les pubgrin)
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

4776

bon ça peut durer longtemps, je garde de toute façon unios.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4777

Moi aussigrin
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

4778

roll

bon j'ajoute koi à vertel ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4779

Faire en sorte que toutes tes fonctions puisse utiliser une liste comme argumentsgrin

(UniOS je le garde que pour jouer aux jeux de FlashZgrin)
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

4780

Faire en sorte que toutes tes fonctions puisse utiliser une liste comme arguments

Tu tiens vraiment à ce que vertel fasse 20Ko ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4781

chuis sur que c'est pas plus comliqué :
je crois que la structure interne des liste est comparable a celle de l'estack
donc, tu pourrais facilement modifier ton algo pour qu'il marche dans les listes
avatar

4782

oui je sais lire une liste, y'a pas de problème, mais il faudrait rendre TOUTES les fonctions compatibles avec ça, or la je vois pas comment faire.
j'y réflechirais mais ça me parrait impossible.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4783

haha, l'est mal foutu ton code grin
avatar

4784

MacIntoc a écrit :
Une lib dynamique _nostub ?????
Mais t encors plus foncdé que moirotfl

C'est techniquement possible (cf. FAT Engine et cf. les dernières bêtas de TIGCC). Mais ziplib n'en est pas une.
MacIntoc a écrit :
genlib est pas _nostub non plusgrin

En effet, GenLib est en mode kernel. Mais il y a une librairie d'importation statique en _nostub qui sait reloger le format kernel et qui fait guise d'interface _nostub à GenLib.
La seul lib dynamique _nostub qui existe c FAT-Engine, et c pas vraiment un lib.

Si, c'est une librairie. Ça serait quoi sinon?
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

4785

Aze > Vertel gère à part les chaines et les nombres. Or pour entrer une liste il faut entrer son nom sous forme de chaine, alors que pour entrer un nombre bah ça reste un nombre.
C'est donc malheureusement impossible.

Mac > Dans le cul grin
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4786

mac> non, tu passe la chaine en tant qu'expression
{a,b,c}->arg
vertel(arg)

ou meme vertel({a,b,c})

il ne doit pas y avoir de gros pb si tu procede ainsi
avatar

4787

mais non ! du moment que la variable est d'un type différent (NUM et LIST en l'occurence), ça pose des problèmes car il faut multiplier les tests par 2 pour savoir si on a affaire à une liste ou un num.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4788

ben ca fait un test de plus (str, num, et list)
et quand tu tombe sur une liste, tu lis tout ce qu'il y a dedans (2 tests, num et str) , avant de passer a l'arg suivant (et je suis sur que ton algo actuel peut le faire sans bcp de modif)
puis quand la liste est finie, tu dois refaire 3 tests...
avatar

4789

Kevin Kofler a écrit :
C'est techniquement possible (cf. FAT Engine et cf. les dernières bêtas de TIGCC). Mais ziplib n'en est pas une.[/cite
g pas dit que c t impossible, g dit que ça existait pas sauf pour FAT-Engine (je ne savais pas pour TI-GCC vus que je programme pas en C, et que g vus aucun topic sur ça).

En effet, GenLib est en mode kernel. Mais il y a une librairie d'importation statique en _nostub qui sait reloger le format kernel et qui fait guise d'interface _nostub à GenLib.

Je le savais pas non pus, vus que aucun prog C ne l'exploite. Bon, pour là, c vrai que j'aurais pus me renseigner un peu plusgrin

Si, c'est une librairie. Ça serait quoi sinon?[/cite]

Ben... c un moteur RayCasting, c pas vraiment une lib que tu exploite dans ton prog, mais plutot un prog ou tu lui envois des données qu'il execute, nan ?
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

4790

Tu n'as pas compris tout à fait le fonctionnement de FAT Engine. Le moteur s'occupe juste de l'affichage, et c'est le programme principal qui gère le mouvement etc. (mais il y a du code exemple donné pour ça) et qui lance la fonction FAT_Render pour rafraîchir l'affichage. FAT Engine exporte aussi quelques autres fonctions utiles pour faire certains calculs de mouvement, et des fonctions pour la gestion de sprites, de portes, ... Bref, c'est une librairie dynamique à part entière.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

4791

ben moi j'ai rien compris sur ce coup là

4792

Regarde la source des demos livrées avec FAT Engine pour voir comment ça fonctionne.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

4793

Voilà par exemple le _main de la démo 1:
void _main(void) {
    unsigned short  key    = 0;
    unsigned char*  bg_img = NULL;
    short           i,j;
    unsigned short* dest;
    TEXCONFIG       textures[2];
    unsigned short  (*GetPossibleKeys)(void);   // will hold key function of calctype
    LCD_BUFFER      lcd;
    short           oldfont = FontGetSys(); // used to restore previously set font

    LCD_save(lcd);

    FATCONFIG fc = {
        MAP_WIDTH,
        MAP_HEIGHT,
        map,
        textures,
        0,         // number of sprites
        NULL,      // the sprite array
        96,   // start pos_x
        96,   // start pos_y
        0,    // orientation
        NULL, // destination plane0
        NULL, // destination plane1
        NULL, // background image
        0     // frame counter
    };

    //-------------------------------------------------------------------------
    // allocate space for a background image and fill the lower part of the
    // light plane with 0xff to simulate a floor ...
    //-------------------------------------------------------------------------
    if (!(bg_img = (unsigned char*)malloc(1152*2))) {
        ST_helpMsg("ERROR: out of mem")
        return;
    }
    memset(bg_img,0x00,1152*2);

    dest = (unsigned short*)bg_img;
    for (i=0;i<6;i++) {
        for (j=0;j<48;j++) *dest++ = 0x0000;
        for (j=0;j<48;j++) *dest++ = 0xffff;
    }

    fc.background = (unsigned short*)bg_img;

    InstallDummyHandlerForINTs();

    //-------------------------------------------------------------------------
    // initialize grayscales, clear both planes and set the destination plane
    // addresses for the FAT-Engine
    //-------------------------------------------------------------------------
    if (!GrayMode(GRAY_ON)) {
        free(bg_img);
        RestoreHandlerForINTs();
        ST_helpMsg("ERROR: out of mem")
        return;
    }

    memset(GetPlane(0),0,LCD_SIZE);
    memset(GetPlane(1),0,LCD_SIZE);

    fc.dest_plane0 = GetPlane(0);
    fc.dest_plane1 = GetPlane(1);

    if (TI89) {
        display_offsetx = 0;
        display_offsety = 0;
        GetPossibleKeys = GetPossibleKeys89;
    }
    else {
        // TI92p or V200
        display_offsetx  = 40;
        display_offsety  = 14;
        fc.dest_plane0  += (14*30+4)/2;
        fc.dest_plane1  += (14*30+4)/2;
        GetPossibleKeys = GetPossibleKeys92p;
    }

    //-------------------------------------------------------------------------
    // initialize the FAT-Engine and output a simple title text
    //-------------------------------------------------------------------------
    if (FAT_LoadEngine() != FAT_LOADOKAY) {
        GrayMode(GRAY_OFF);
        free(bg_img);
        RestoreHandlerForINTs();
        LCD_restore(lcd);
        ST_helpMsg("ERROR: cannot load engine")
        return;
    }
    FontSetSys(F_4x6);
    OutputTitle();

    //-------------------------------------------------------------------------
    // fill TEXCONFIG structures
    //-------------------------------------------------------------------------
    ConvertGRAYToTEXCONFIG(houses,textures);
    ConvertGRAYToTEXCONFIG(houses+512,&textures[1]);

    //-------------------------------------------------------------------------
    // the main rendering loop ...
    //-------------------------------------------------------------------------
    do {
        FAT_Render(&fc);   // render image

        frame_drawn(&fc);  // handles frame counter drawing

        if ((key = GetPossibleKeys())) {
           if (key & KEYFLAGS_ESC)   break;
           if (key & KEYFLAGS_UP)    PlayerMove(&fc,1);
           if (key & KEYFLAGS_DOWN)  PlayerMove(&fc,0);
           if (key & KEYFLAGS_RIGHT) PlayerTurn(&fc,1);
           if (key & KEYFLAGS_LEFT)  PlayerTurn(&fc,0);
        }
    }
    while(1);

    //-------------------------------------------------------------------------
    // some clean stuff ...
    //-------------------------------------------------------------------------
    FontSetSys(oldfont);
    WaitTillAllKeysReleased();
    GrayMode(GRAY_OFF);
    free(bg_img);
    LCD_restore(lcd);
    ST_helpMsg(FAT_GetPoweredByString());

    FAT_UnloadEngine();
    RestoreHandlerForINTs();
    OSqclear(kbd_queue());
}
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

4794

A d'accord, effectivement, j'avais pas compris sont font fonctionnement. Mais comment ça se fait qu'il est aussi rapide ?
le code d'appelle doit être extrèmement optimiser et celuis du FAT-Engine encors plus, puisque c simplement du Cconfus
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

4795

Pour le code d'appel, c'est simple: FAT_LoadEngine récupère les adresses de toutes les fonctions et met des pointeurs vers les fonctions dans une structure. Le reste du code appelle les fonctions à travers ces pointeurs.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

4796

Donc pour le déplacement, il faut indiquer au début de combien doit se mofier la position dans la map pour 1 appel de déplacement à la lib ?
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

4797

Aze > C vraiment très compliqué pour faire ce que tu dis... Je pense pas que ça soit possible.
Je ne sais même pas comment on lit une liste placée en argument.
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4798

Pourtant certaines fonctions le gèreconfus
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

4799

oué mais parceque je l'ai fait exprès
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

4800

ben suffit de le faire xprés pour toutes les fonctionsgni
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.