Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - kindermoumoute

Pages: 1 ... 6 7 [8] 9 10 ... 57
106
[FR] Programmation Axe Parser / Re: [Axe parser] : projet worms
« on: March 10, 2012, 12:48:22 pm »
"L'enregistrement dans l'appvar marchait très bien (bravo hayleia), mais maintenant c'est optimisé pour. "
Optimisé pour... pour quoi ?
En gros maintenant ça édite l'appvar MAPTEMP au lieu d'en créer une à chaque fois, de plus il y a quelques optimisations de réduction du poids se font à l'aide de cette appvar, ainsi que la fonction "annuler action". Donc la sauvegarde de l'appvar est en temps réel.

"il me semble que les fonctions d'affichage sont pas très optimisées."
Celles que j'ai faites ou les fonctions de l'Axe ?
Je pensais aux fonctions, mais finalement ce n'est pas si simple. Donc je préfère laisser comme ça. ;)

EDIT : pour l'instant je suis à 280 octets pour lister les maps. Voici le pastebin (commenté) et un screen + source.

EDIT 2 : à noter qu'il y a quand même une fail dans le screen, c'est qu'à la fin il cherche super loin donc il trouve une valeur plus loin que la VAT. Donc il faut rajouter une 3ème condition... :banghead:

107
"Find world" don't scroll to show the word, and I don't know why it crashed to replace words... it was just displaying "not responding". :/

108
I am very much not up to date with Axe .__.
This list isn't too. :/

109
[FR] Programmation Axe Parser / Re: [Axe parser] : projet worms
« on: March 09, 2012, 06:34:07 pm »
Bon, ça marche plutôt bien, j'ai optimisé quelques trucs et commenté le code comme promis. Un aperçu de ce que ça donne avec le moteur smoothscolling juste derrière.
Les ajouts que j'ai fait :
  • Parcours de la pixelmap sans dépasser les limites de celle-ci.
  • L'enregistrement dans l'appvar marchait très bien (bravo hayleia), mais maintenant c'est optimisé pour. :w00t:
  • Ajout de l'option "annuler dernière action" en appuyant sur le touche "del".
Bug trouvé :
  • Lors du passage sous smoothscrolling pixelmapping il y a un décalage. Il est possible que l'éditeur de map n'édite et ne sauvegarde pas avec une bonne largeur (j'ai déjà repéré la ligne), mais j'ai pas le temps de faire ça ce soir. >B)

edit : bug corrigé, tous marche à perfection. :love:
Pour l'instant ça nous fais 2608 octet éditeur de map et 870 pour le smoothscrolling, il va falloir y aller molo quand même sur cet éditeur.
Par exemple : peut être que le lors du changement de pinceau on a pas besoin de centrer le pinceau dans un carré ?
Je regarderais plus tard, mais il me semble que les fonctions d'affichage sont pas très optimisées. :-X

110
I tested Ctrl+F : "Find word" don't work and "replace word" make me crashed. D:

111
TI Z80 / Re: zStart - an app that runs on ram clears
« on: March 09, 2012, 12:17:11 pm »
Also, will zStart support 5 character labels in the label menu ?
Same request, will this feature added soon ? :s

112
Wait, did it really go faster when you had the bitmap option selected?
Yes, it goes really faster. Actually I can't up to 256*256 with sprite option selected.

If it was light that pixel would be white, and dark would be black. Would that work for what you wanted?
I don't ask anymore, none software do that for the moment.

(I'd imagine it's for that pixel-mapping program you're working on with Hayleia?)
yes, actually we're working on editor on-calc.

I though you could integrate bitmap editor with the same way than Pictures editor, because 256*256 is really big with sprite editor. *.*

113
up ? ::)

114
[FR] Programmation Axe Parser / Re: hp bar?
« on: March 08, 2012, 03:04:36 pm »
2nd+matrix+flèche de droite+A *
Oublié de mentionné qu'il fallait prendre le deuxième menu. :/

115
[FR] Programmation Axe Parser / Re: hp bar?
« on: March 08, 2012, 02:59:21 pm »
La commande Rect se trouve dans 2nd+matrix+A. Il existe depuis un bout de temps (et c'est peu dire) donc si ta version de l'Axe Parser ne l'intègre pas, il faut vraiment s’inquiéter pour mettre à jour ton compilateur. O_o

116
[FR] Programmation Axe Parser / Re: Tutorial Axe
« on: March 08, 2012, 02:53:13 pm »
En tout cas merci de la proposition, je n'y manquerai pas :)
Tu n'as peut-être pas de compte sur le Site du zéro ? ^^'

117
[FR] Programmation Axe Parser / Re: hp bar?
« on: March 08, 2012, 02:51:47 pm »
Avant d'avoir la barre de vie, il te faut mettre le nombre de point de vie dans une variable. Mettons que je peux avoir entre 0 et 60 points de vie, et que je veux faire une barre de vie de 60 pixels en bas :
Code: [Select]
:.D'abord on affiche un joli encadré de la vie
:Rect(1,59,60,1)
:Rect(1,63,60,1)
:Rect(0,60,1,3)
:Rect(61,60,1,3)
:
:.Puis dans le jeu
:60=>V
:Rect(1,60,V,3)
Après j'ai pas testé, mais je pense que ça devrait faire l'effet d'une bare de vie classique. ;)

118
[FR] Programmation Axe Parser / Re: Tutorial Axe
« on: March 08, 2012, 02:07:12 pm »
Salut,
"Learn Axe in 27 days" n'existe pas, en fait c'est "Learn Asm in 27 days". x)
Pour les tutoriels je doit t'avouer que même en anglais il n'y en a pas beaucoup de plus complets que le miens. Après il y a la section Axe tutorial (en anglais) sur le site.

Si tu est vraiment intéressé pour voir la prochaine version du tutoriel, envoie moi un mp sur le site du zéro. ;)

119
[FR] Programmation Axe Parser / Re: [Axe parser] : projet worms
« on: March 08, 2012, 01:35:47 pm »
 :o Excale !
On te vois pas souvent sur omnimaga. :thumbsup:


Bon hayleia, pour récapituler le moteur smoothscrolling pixelmapping de runer, j'ai tout compris et j'ai commenté en français à outrance (quitte à ce que tu comprenne, autant y aller à fond). :hyper:
Donc à part le petit bilan sur les masques (mask en anglais), tu devrais déjà tout comprendre :
Quote from: Axe
.PIXELM Map scrolling test
"|vSAVE"^^oSAVE
L5^^oIMG
Return!If GetCalc(^^oSAVE)
IMG
DiagnosticOff
FnOff
ClrDraw
.Affichage de la map
Bitmap(~80X,~64Y,IMG)
...
Petites explications :
Les coordonnées X et Y sont compris entre ~160 et 0 (les deux)
Car 160+96=256
Y-1 c'est une ligne en dessous, et X-1 une colonne à droite
Autre optimisation
-X sera donc positif (de même pour -Y)
...


.Boucle principale
While 1

DispGraph

If getKey(1)
.Si il n'y a pas le bout de la map en bas
!If Y-1<~160
Y--
.On décale en bas
Vertical -

.Pour afficher la ligne 63 manquante
63:DrawY()
End
End

If getKey(2)
.Si il n'y a pas le bout de la map à gauche
If X
+1X
.On décale à gauche
Horizontal +

.Pour afficher la colonne de gauche (L comme left) manquante
DrawL()
End
End

If getKey(3)
.Si il n'y a pas le bout de la map à droite
!If X-1<~160
X--
.On décale à droite
Horizontal -

.Pour afficher la colonne de droite (R comme right) manquante
DrawR()
End
End

If getKey(4)
.Si il n'y a pas le bout de la map en haut
If Y
+1Y
.On décale en haut
Vertical +

.Pour afficher la ligne 0 manquante
0:DrawY()
End
End

EndIf getKey(15)
Return

.Affiche les lignes
Lbl DrawY
.On copie les 256 pixels d'une ligne de l'appvar dans L1+2
Copy(r1-Y*32+IMG+2,L1+2,32)

...
On efface la ligne à remplacer
parce que la commande vertical +/- ne le fait pas
autant faire une optimisation pour remplir les deux premier octets de L1
correspondant à la taille de la bitmap à afficher
...

Fill(r1*12+L6,12,|E0100{L1}r)

.Et la c'est magique, la ligne s'affiche ;)
Bitmap(X,r1,L1)
Return

.Pour la colonne de droite
Lbl DrawR
.Dans cette octet on est en haut à droite de l'écran (buffer)
11+L6r3
.Ici le masque de l'écran est 00000001, parce que c'est bit tout à droite que l'on veut modifier
|E01r4
95
Goto Draw0

.Pour la colonne de gauche
Lbl DrawL
.Dans cette octet on est en haut à gauche de l'écran (buffer)
L6r3
.Le masque de l'écran est 10000000, parce qu'on veut modifier le bit tout à gauche
|E80r4
and 0
 
 .Affiche les colonnes
Lbl Draw0
...
Rappel : HL-X vaut le nombre de colonnes
Optimisation assez tordue, nombre de colonnes^8 correspond au nombre de bits qui séparent le
dernier octet du bord de l'écran en valeur numérique
Donc quand ça vaut 0, r2 vaut le premier Masks10000000
Donc quand ça vaut 1, r2 vaut le deuxième Masks01000000
Donc quand ça vaut 2, r2 vaut le troisième Masks00100000
Donc quand ça vaut 3, r2 vaut le quatrième Masks00010000
Donc quand ça vaut 4, r2 vaut le cinquième Masks00001000
Donc quand ça vaut 5, r2 vaut le sixième Masks00000100
Donc quand ça vaut 6, r2 vaut le septième Masks00000010
Donc quand ça vaut 7, r2 vaut le huitième Masks00000001
...

Select(-X,{^8+^^oMasks}r2)

.le nombre de colonnes/8 + le nombre de lignes (en octet) + le début de pointeur de la map dans HL
*32/256-(Y*32)+IMG+2

.Pour les 64 lignes
For(64)

...
Le plus chaud :
On masque octet trouvé dans l'appvar pour garder que le bit qu'il nous faut
Quand on soustrais par 1 et qu'on divise par 256 :
si aucun bit ne correspondait au mask, 0-1=65355 puis /256 ça fait 255
Si un bit correspondait au mask alors ça renvoie un nombre en 1 et 128 dans HL
HL-1/256 vaudra toujours 0 dans ce cas là (logique)
En inversé on créé un nouveau mask qui est soit 255 (un bit correspond au mask
soit 0 (aucun bit correspond au mask)
En fait cette manip sert juste à aligner le bit trouvé dans l'appvar, au bon
emplacement sur l'écran, donc là vient r4 le masque de l'écran
Ensuite un or logique permet d'ajouter le bit (ou non) dans le buffer (pointé par r3)
Et après il y a une dròle d'optimisation {r3}+12->r3 car ça fait r3+12->r3 en réalité o_o
...

not({r1} and r2-1/256) and r4 or {r3}{r3}+12r3

.On passe la ligne suivante ^^
r1+32
End
Return


[8040201008040201]^^oMasks


Generated by the BBify'r (http://clrhome.org/resources/bbify/)

Je me suis permis de modifier la taille de la bitmap en 256*256 pixels. La prochaine étape sera de faire 3 modes : 256*256, 512*128, 1024*64. Après cela je m'attaquerais à la sauvegarde dans l'appvar. :banghead:


PS : t'as pas intérêt de pondre un truc comme ça au TI-Concours. :mad:

120
I don't have the same problem, I can set BexIDE as default program to open 8xp, but when I want to start a file it just launched as a new BexIDE program.

Pages: 1 ... 6 7 [8] 9 10 ... 57