90

sinon, <truc à moitié gore> tu utilises *(void **)file une fois que tu as fait fopen, et ça te donne l'adresse du fichier (valable jusqu'à ce que tu fasses fclose()) </>

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

91

on peut lire les données directement sur un fichier archivé?

remarque: pour faire fopen il faut que le fichier soit desarchivé, non?

pollux: pourquoi a moitié gore? a part que je n'y aurrait pas pensé tout seul...
projet en cours XiaoXiaoShow

92

Elynx
: on peut lire les données directement sur un fichier archivé?

Oui.
remarque: pour faire fopen il faut que le fichier soit desarchivé, non?

Non, sauf si tu veux écrire dedans.
pollux: pourquoi a moitié gore? a part que je n'y aurrait pas pensé tout seul...

A moitié gore parce que ça n'est pas censé être portable (mais qu'en pratique sur TI ça marche très bien et ça ne risque pas de changer).

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

93

précision sur la méthode de pollux:

Il FAUT ABSOLUMENT que le fichier soit archivé... sinon foirage garanti


et au passage beau remontage wink
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

94

Euh non, pkoi ? Il suffit de ne faire un fclose() que qd on a fini de servir du fichier...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

95

donc si on ne modifie rien des données c'est ce qui a de plus rapide comme lecture directe?
projet en cours XiaoXiaoShow

96

bah oui... (même si pour lire en principe SymFind()->DerefSym()->HLock() serait plus adapté)

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

97

Pollux
: Euh non, pkoi ? Il suffit de ne faire un fclose() que qd on a fini de servir du fichier...

ba je fais pas confiance au wrapper de tigcc ^^
avatar
Proud to be CAKE©®™


GCC4TI importe qui a problème en Autriche, pour l'UE plus et une encore de correspours nucléaire, ce n'est pas ytre d'instérier. L'état très même contraire, toujours reconstruire un pouvoir une choyer d'aucrée de compris le plus mite de genre, ce n'est pas moins)
Stalin est l'élection de la langie.

98

dans la version actuelle il marche très bien, et ce serait une grosse connerie que de le changer...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

99

Godzil :
et au passage beau remontage wink


que veux-tu dire?
projet en cours XiaoXiaoShow

100

eu et on peut le dl ou??????

101

nulle part, t'es dans la partie projets ici...
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

102

je suis vraiment trop désolé de ne pas pouvoir faire de release, car avec tout les bug ça vaut pas encore la peine
mais ça va venir...wink
projet en cours XiaoXiaoShow

103

Pollux
: (mais qu'en pratique sur TI ça marche très bien et ça ne risque pas de changer).

Si, nous nous réservons le droit de modifier la structure FILE à tout moment!
Et en plus, *(void**)file est une violation des règles d'aliasing et va foirer à coup sûr, il faut utiliser file->fpos si vraiment vous voulez utiliser ce hack (encore une fois, le champ fpos peut disparaître à tout moment sans avertissement préalable).
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é

104

mais qu'en pratique sur TI ça marche très bien et ça ne risque pas de changer

en même temps, c'est surement pas le genre d'habitude qu'il faut donner à un débuttant roll
(et un gars expérimenté évitera d'utiliser ce genre de truc... enfin... j'espère tongue )
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

105

Et en plus son affirmation est fausse, nous ne garantissons absolument rien à ce sujet, et puis le code posté tel quel ne marche déjà pas parce qu'il ne respecte pas les règles d'aliasing.
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é

106

Kevin Kofler
:
Pollux
: (mais qu'en pratique sur TI ça marche très bien et ça ne risque pas de changer).

Si, nous nous réservons le droit de modifier la structure FILE à tout moment!

Sauf que ça ne coûte rien de garder le truc actuel et que ça casserait plein de progs existants que de changer ça...
Et en plus, *(void**)file est une violation des règles d'aliasing et va foirer à coup sûr

C chiant à ce point-là les règles d'aliasing ?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

107

Pollux
:
Kevin Kofler
:
Pollux
: (mais qu'en pratique sur TI ça marche très bien et ça ne risque pas de changer).

Si, nous nous réservons le droit de modifier la structure FILE à tout moment!
Sauf que ça ne coûte rien de garder le truc actuel et que ça casserait plein de progs existants que de changer ça...

Quels programmes? Si un programme utilise ce genre de hacks, j'appelle ça un programme bogué. On utilise soit stdio.h, soit du bas-niveau (vat.h et du jonglage de pointeurs), la combinaison ne convient pas.
Et en plus, *(void**)file est une violation des règles d'aliasing et va foirer à coup sûr
C chiant à ce point-là les règles d'aliasing ?

Oui.
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é

108

Ayant entierement repris mon projet pour la 5eme fois je veux
cette fois verifier avant tout si techniquement Áa peut tenir la route:
j'ai donc commencer par crÈer la partie qui demande le plus de vitesse:
l'affichage.
j'ai deja evoquÈ dans les posts precedents mon probleme pour l'affichage des
personnages et j'utilise aujourd'hui le meilleur moyen que j'ai trouvÈ.
(je peux vous envoyer un screenshot animÈ ou meme l'executable
pour evaluer la vitesse)

Pour chaque affichage j'utilise les fonctions suivantes:
- _keytest (10 fois) TIGCCLIB
- strncpy (8 fois) TIGCCLIB
- ceil (60 fois) TIGCCLIB
- XDisk (2 fois) XLIB
- XPrintf (1 fois) XLIB
- floor (24 fois) TIGCCLIB
- sqrt (24 fois) TIGCCLIB
- pow (48 fois) TIGCCLIB
- XGNSprite (entre 100 et 150 fois) XLIB

Je sais que les fonctions trigonometriques comme le sinus sont trÈs
lentes et je sais que pour y remedier il suffit de faire des tableaux de valeurs.

Est-ce que vous savez si les fonctions citÈes ci-dessus sont lentes et
est ce que Áa vaut alors la peine d'utiliser la methode du sinus pour
accelerer le programme?

sinon je vois pas ce que je peut faire de plus rapide pour le meme resultat en C...
Evidemment on doit pouvoir avoir de meilleur resultat en ASM
mais je n'ai pas le temps de me lancer dans l'Assembleur.
projet en cours XiaoXiaoShow

109

Tu es sûr que tes fonctions sqrt, pow, ceil et floor sont vraiment insidpensables ? Tu ne peux pas trouver un moyen de ne pas les utiliser ?

Sinon, comment se fait-il que dans l'affichage, tu fasses appel à _keytest ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

110

je pense pouvoir pre-calculer pour les fonctions sqrt, pow, ceil et floor comme les tableaux trigo
cela permettrait de les eviter lors de l'affichage.
Tandis que pour les _keytest voici leurs fonctions:
+ : frame suivante
- : frame precedente
MODE : activer l'animation
ESC : desactiver l'animation
CLEAR : afficher ou pas les infos
LN : differents modes d'affichage de la tete
TAN : differents modes d'affichage du corps
( : augmenter 'precision'
) : diminuer 'precision'
COS: zoom avant
SIN :zoom arriere

bref c'est juste pour les tests de debugage:
je les enleverais apres.
ces fonctions sont tres lentes?
projet en cours XiaoXiaoShow

111

112

euh... on risque pas de pouvoir télécharger un truc sur ton compte mail lycostriso
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.

113

Ça ne marche pas sad
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

114

je vais essayer d'avoir un hebergement gratuit sur multimania
projet en cours XiaoXiaoShow

115

et voila! en fait c'etait pas compliqué....

http://membres.lycos.fr/gaelgiraudeau/TI-dev/XIAO5.ZIP

projet en cours XiaoXiaoShow

116

Et le screenshot ? gni
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

117

Je n'ai rien dit, il y en a un dans le zip.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

118

http://membres.lycos.fr/gaelgiraudeau/TI-dev/screenshot.gif

commentaire:
1)

14 positions differentes se succedent pour les 2 personnages.
Donc au total 28 positions, ce qui correspond à 920 octets(sans aucune compression).
(il me semble que c'est peu en comparaison avec le seul jeu du meme genre
sur TI: street fighters,mais c'est à verifier)
chaque position a une precision du mouvement equivalente a un gros
sprite de 256*256.

2)

la vitesse que vous voyez est la meilleur que j'ai pu obtenir
mais je pense qu'on peu faire encore mieux en optimisant ‡ fond.
sprits indique le nombre de sprite 16*16 affichÈs simultanÈments.
Pour une precision de 20, sprits est environ = à 80
pour une precision de 30, sprits est environ = à 50
pour une precision de 10, sprits est environ = à 150
A l'oeil nu la difference de vitesse entre ces 3 cas semble faible;
et il est evident que les personnages sont plus beau avec une precision
de 10;donc le probleme de vitesse ne semble pas venir de l'affichage des sprites
en eux-meme(merci Xlib).
projet en cours XiaoXiaoShow

119

Je viens de retrouver un truc que j'avais fait y'a quelques mois (topic du 07-11-2003 ds 3l33t) : http://perso.club-internet.fr/vertyos/Download/Ti68k/StickTest.zip

stickvw("kungfu") pour lancer
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

120

#elynx est super heureux!!!!#
loveje suis surexité:
j'ai enlever les fonctions lentes:
-pow(a,2) remplacé par a*a
-floor et ceil carrement supprimés car le compilateur tronc de lui-meme si la variable est un entier
-sqrt(a) remplacé par SQRT[a] avec a compris entre 0 et 500 (tableau pré-calculé)

et voici le resultat:
lovelove
http://membres.lycos.fr/gaelgiraudeau/TI-dev/screenshot2.gif
lovelove
TIshot n'a meme pas le temps d'enregistrer toute les frames tellement c'est rapide!!!!
Quel emotion!
Faut me comprendre:
avant la version 5 toutes les autres versions ramait a mort pour afficher convenablement
un seul personnage, alors que la il m'en affiche 2 en bonne qualité et a une vitesse allucinant!!eekeek

Pour que le jeu soit vraiment un jeu il faudra ajouter encore
-la gestion des touches
-les testes de collision
-et autres tests comme le temps restant ou la vie des persos
ce qui va ralentir le programme, me dira-t'on.
Et bien non car tous les testes de colision seront pré-calculés
et pour la gestion des touches je fait confiance au XJoyPad !

j'ai encore du boulot pour que ça soit jouable...mais pour le momment je suis aux anges!!
projet en cours XiaoXiaoShow