1

Bon ben je vais être obligé de faire une nouvelle version de Mario car je dois corriger:
-La "parabole" des sauts de ce pauvre perso
-Une petite correction quant aux plate-formes inclinées (on passe parfois à travers sad )
-Indiquer dans la doc qu'on peut désactiver l'arrière-plan avec F1
-Faire qu'on puisse tuer les ennemis en se balançant sur eux mad
-Préciser dans la doc qu'on peut se balancer dans le vide et sauter ensuite
-Fournir si je les retrouve les six niveaux "démo" pour les débutants
Veuillez indiquer ici les autres bugs trouvés car je n'ai pas envie de faire quinze versions (ce serait assez gênant). Merci!
Si vous ne voyez pas de quoi je parle: topics/25816-le-super-mariole-sort-enfin
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

2

Pas la peine de créer un nouveau topic roll

3

Effectivement... Mais bon si je fais un post dans l'autre topic il va se voir un moment mais il sera vite recouvert par les suivants et carrément oublié si l'on change de page...
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

4

Brunni
: -Préciser dans la doc qu'on peut se balancer dans le vide et sauter ensuite

"Préciser dans la doc"? C'est carrément du non-sens, cette "fonctionnalité"... sad As-tu déjà vu quelqu'un lancer un saut au plein milieu de l'air?
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é

5

Ca ressemble au double saut des nouveaux jeux de plateforme roll

6

Peut-être, mais je n'ai jamais vu un Mario (autre que celui de Brunni) où on peut faire ça, et puis ce n'est pas réaliste du point de vue physique non plus. roll
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é

7

Tout à fait, je ne dis pas que c'est crédible pour un Mario .... mais ce n'est pas parceque c'est contraire aux lois physiques que ça ne peut pas être implémenté tongue la preuve étant les derniers jeux de plateforme.
De plus, il faut reconnaitre que le double saut est vraiment sympa, ca donne une autre dimension pour les plateforme.

8

nEUrOO :
Tout à fait, je ne dis pas que c'est crédible pour un Mario .... mais ce n'est pas parceque c'est contraire aux lois physiques que ça ne peut pas être implémenté tongue la preuve étant les derniers jeux de plateforme. De plus, il faut reconnaitre que le double saut est vraiment sympa, ca donne une autre dimension pour les plateforme.
Ah ben enfin quelqu'un qui me comprend! boing Cependant je ne vois pas de quels jeux tu veux parler mais ce n'est pas grave.
Peut-être, mais je n'ai jamais vu un Mario (autre que celui de Brunni) où on peut faire ça, et puis ce n'est pas réaliste du point de vue physique non plus.
Bon ben c'est décidé: je ne ferai plus jamais de jeu de marque (ou déjà existant)! Et puis mon prochain jeu qui devrait s'appeler Knight Kid (ouais en anglais c'est la honte!).
Sinon, je t'avise que Sonic il n'a pas non-plus beaucoup de sens au niveau physique (matière qui m'est inconnue) et pourtant on s'habitue bien et ca en devient même logique. Désolé mais dans mon entourage tout le monde a trouvé ça une bonne idée. Cependant pour l'histoire des ennemis, les avis sont assez mitigés. Et puis moi je ne suis pas vraiment POUR le réalisme des jeux. Le but d'un jeu selon moi est bien de s'évader, autant au niveau graphique, qu'au niveau du scénario. Et bien entendu la possibilité de faire des choses normalement impossibles. C'est ça qui est bien dans un jeu!
Mais à part ça y'a pas d'autre bug?
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

9

Brunni: nan, je ne te comprends pas, je suis contre ca pour un mario ... pas pour un jeu de plateforme moins traditionnel ...

10

nEUrOO
: Brunni: nan, je ne te comprends pas, je suis contre ca pour un mario ... pas pour un jeu de plateforme moins traditionnel ...

Je vois ce que tu veux dire. Mais ce ne sera pas le cas dans mon prochain jeu. Mais bon là j'en suis à me demander s'il n'est pas un petit peu trop difficile... Et puis là ça devient difficile d'y voir parfois. Ici on peut utiliser le mode de gris:
-> Arrière-plan en gris clair
-> Sprites en gris foncé
-> Avant-plan en noir
Ainsi l'affichage est nettement plus clair et on ne risque pas de tout confondre. Cependant le moteur graphique est toujours en noir/blanc. La seule chose que je fais est qu'en cas de n/b, je fais pointer le deuxième écran sur le premier. Ainsi tout apparaîtra sans problème (j'aurais pu aussi faire un ET logique du premier écran sur le deuxième je crois)
D'ailleurs je profite pour demander à Kevin (ou à n'importe qui qui connait bien le C) s'il y a une fonction ANSI pour faire un memcpy en AND ou en XOR, etc. Si non, je serais curieux de savoir comment on peut implémenter ça en ASM...
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

11

Non, il n'y a pas de memcpy qui réalise un and ou un xor.

0,Boucle
en asm :Boucle:
 and.b (a0)+,(a1)+
 dbf d

12

En C:
void memand(char *p, char *q, size_t size)
{
  size_t i;
  for (i=size;i;i--)
    *(p++)&=*(q++);
}

void memxor(char *p, char *q, size_t size)
{
  size_t i;
  for (i=size;i;i--)
    *(p++)^=*(q++);
}


[EDIT: Il faut commencer à size, pas size-1.]
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é

13

Merci Kevin.
Mais ces routines programmées ainsi seraient aussi rapides qu'en asm? Apparemment ce ne sera jamais aussi rapide que memset qui y va avec des long lorsque c'est possible non?
La routine de jackie chan a aussi l'air pas mal... Mais bon y'a pas de prototype et apparemment tu te sers à nouveau de registres pour les arguments smile
Hm... Je dirais pour le prototype de jackiechan:
short memand(void *src asm("a0"), void *dest asm("a1"), short longueur asm("d0"));
La valeur renvoyée serait la longueur? Bon je n'ai pas testé ainsi et je ne préfère pas roll
Pour finir, voilà ce que je faisais pour ne copier que la partie intéressante (160x100) de mon buffer pour une TI-92+:
inline void CopieEcran(char *dest, char *src) {
register char *ptr1, *ptr2;
register short a,b;
ptr1=dest;
ptr2=src;
for (a=0;a<=99;a++) {
for (b=0;b<20;b++) {
*ptr1=*ptr2;
ptr1++;
ptr2++;
}
ptr1+=10;
ptr2+=10;
}
}
Oui je sais ça doit être horrible sad!
Sinon je vais te faire plaisir (enfin à 50cheeky Kevin car je vais quand-même corriger le fait qu'on ne peut battre un ennemi en lui sautant dessus par contre il est HORS DE QUESTION de supprimer le "double saut"! (je sais pas pourquoi il l'appelle comme ça mais bon)
C'est une fonctionnalité qui rajoute un peu de liberté dans le déplacement et c'est agréable, d'autant que la jouabilité de mon Mario à la base n'est pas terrible. De plus, cela simplifie largement le jeu, particulièrement dans la mine (2-3), le temple (3-2), etc.
Je suis ouvert s'il faut corriger des bugs mais pas s'il faut supprimer des fonctionnalités [qui plus est intéressante (mais un peu space) selon mon entourage]. Tu ne vas pas rechigner devant un tout petit peu d'originalité non? Les jeux vidéo sont déjà si monotones actuellement...
Mais attend de voir Knight Kid pour rouspéter grin
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

14

Ma routine renvoie -1.
Et elle n'est absolument pas optimisée, je te déconseille de l'utiliser.
Mais tu connais l'ASM ou pas ?
Comment as-tu pu coder un jeu entier si tu n'es pas capable de faire un simple memcpy confus

15

Ben comme tu as pu voir dans le post précédant (CopieEcran), je me débrouille un tout petit peu mais c'est pas optimisé.
Sinon je connais un tout petit peu l'asm, mais je ne serais par exemple pas capable de faire grand chose d'intelligent. Par exemple, j'aimerais faire une routine qui puisse faire une rotation (peut-être rol ou roxl, je ne sais pas) sur un certain élément du tableau:
exemple en c avec shift:
tab[idx]>>=1;
comment on ferait ça en asm déjà avec un shift... Je ne connais pas d'opérateur C pour la rotation.
asm("lsr.w #1,tab[idx]") peut-être?
Enfin. Je voudrais faire une rotation entière d'un sprite...
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

16

Ça veut dire quoi une rotation entière ? Tu voudrais faire du flipping, c'est ça ?

17

Non! Pas un retournement! (flip) Une rotation. Ce serait pour mon logo. Je voudrais donner l'impression que la sphère tournerait verticalement ET horizontalement. Pour cela je fais roter le sprite de manière à ce que la boule tourne horizontalement avec...
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

18

roter ?
tourner.

Bah oui, alors il faut que tu utilises l'instruction ror ou rol.
Essai de trouver le jeu d'instruction du 68k, ça te sera utile si tu veux coder en ASM

19

Mais est-ce que
asm("ror.w #1,tab[idx]");
pourrait fonctionner pour faire tourner d'un bit vers la droite tab[idx] où tab est déclaré en c:
unsigned short tab[32], idx;
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

20

Plutôt : asm("ror.w (%0)" : : "a" (tab+idx)); à mon avis.

21

jackiechan :
Ma routine renvoie -1. Et elle n'est absolument pas optimisée, je te déconseille de l'utiliser.

Bah, si, elle est parfaitement optimisée. Je veux voir comment tu fais pour coder ça en moins de 6 octets...

PS: Je viens de corriger un truc dans les miennes (cf. édition).
jackiechan :
Plutôt : asm("ror.w (%0)" : : "a" (tab+idx)); à mon avis.

Plutôt : asm("ror.w (%0)" : "+a" (tab+idx)); à mon avis. smile On n'écrit pas dans une opérande déclarée en input seul!
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é

22

Kevin Kofler
:
jackiechan :
Ma routine renvoie -1. Et elle n'est absolument pas optimisée, je te déconseille de l'utiliser.
Bah, si, elle est parfaitement optimisée. Je veux voir comment tu fais pour coder ça en moins de 6 octets...
Pardon, j'aurais du préciser : elle n'est pas optimisée en vitesse.
La moindre des choses pour agmenter la rapidité sans prendre trop de place en plus serait de copier des long. Mais il faudrait être sûr que les adresses utilisées soient paires.
Sinon, on peut dérouler (pour optimiser en vitesse, toujours).
jackiechan :
Plutôt : asm("ror.w (%0)" : : "a" (tab+idx)); à mon avis.

Plutôt : asm("ror.w (%0)" : "+a" (tab+idx)); à mon avis. smile On n'écrit pas dans une opérande déclarée en input seul!
Je prends note.

23

Et d'ailleurs, il n'y a pas de raison de se limiter à l'adressage à travers un registre d'adresses. asm("ror.w %0" : "+m" (tab[idx])); devrait marcher sans problèmes et donner du code meilleur.
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é

24

Mais je ne comprends pas pourquoi les deux :? Et le a (et pourquoi il faut fermer les guillemets)
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

25

> Mais je ne comprends pas pourquoi les deux :? Et le a (et pourquoi il faut fermer les guillemets)
Ca doit être marqué dans la doc de TIGCC (GNU C Extensions - inline ASM with C operands)...
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

26

C'est la syntaxe de l'assembleur inline. Cf. http://tigcc.ticalc.org/doc/gnuexts.html#SEC94.
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é

27

Merci à vous!
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741

28

J'ai beaucoup de peine à comprendre. Désolé!
avatar
Highway Runners, mon jeu de racing à la Outrun qu'il est sorti le 14 décembre 2016 ! N'hésitez pas à me soutenir :)

https://itunes.apple.com/us/app/highway-runners/id964932741