Problèmes de débutant avec HuC

Le coin des demomakers et des programmeurs en herbe.

Modérateurs : SirG, Redfield1, shubibiman, Laucops

Avatar de l’utilisateur
Ithus
Please Insert Disc!
Messages : 15
Inscription : mer. 12 août 2015 21:27

Problèmes de débutant avec HuC

Message par Ithus »

Salut, j'ouvre ce topic car je souhaiterais exposer mes problèmes de débutant avec Huc. :oops:

J'ai suivi les tutoriels de F.L puis, enthousiaste, je suis allé un peu plus loin en essayant de comprendre la documentation et en testant des trucs au pif.

Pour m'exercer aux diverses fonctions de Huc, j'ai fait un petit niveau de jeu de plateforme. Au moment où j'ai voulu faire un deuxième niveau, je me suis rendu compte que la façon dont je stockais mes niveaux et ma méthode de collision de tiles/sprites n'étaient pas viables dans un "vrai" jeu.

En gros, ma méthode c'est:
Je stocke une map de tiles dans un tableau de "const char".
Je charge la map via deux boucles for et la fonction put_tile.
Ensuite, pour tester les collisions, j'utilise la position des sprites et mon tableau de "const char".

Ca fonctionne, mais Huc ne permet pas de stocker beaucoup de tableaux de "const char" (lorsque je les multiplie, ça affiche "too much constant data (> 8KB)" au moment de la compilation) donc en procédant ainsi, je suis vite coincé.

Alors, j'ai fait une map via le logiciel Mappy, je suis parvenu à l'afficher, la faire scroll, j'ai pu constater que le problème des 8KB ne se posait plus... Mais malgré moult essais, impossible de faire un test de collision avec les tiles affichées. :bombercry:

Alors deux questions me viennent:
Comment récupérer la valeur des tiles affichées à l'écran ?
Est-il possible de dépasser la seule bank 3 pour stocker des tableaux de "const char" ?

Il est possible que je sois totalement à côté de la plaque dans ma façon de concevoir les choses.
Quoi qu'il en soit, ça serait chouette si quelqu'un pouvait éclairer ma lanterne. :bomberdream:
Avatar de l’utilisateur
pnauts
NECromancer
Messages : 4996
Inscription : ven. 03 mai 2013 14:05
Localisation : pas loin de Nîmes.

Re: Problèmes de débutant avec Huc

Message par pnauts »

Touko ou Mooz sont demandés au rayon informatique, merci. :bomberhi:
Image
Avatar de l’utilisateur
MooZ
Administrateur
Messages : 2090
Inscription : jeu. 16 déc. 2004 14:25
Contact :

Re: Problèmes de débutant avec Huc

Message par MooZ »

Hum... Ca fait longtemps que je n'ai pas utilisé HuC, mais je crois que si tu as fait

Code : Tout sélectionner

#incbin(lvl0_map, blabla)
tu peux directement utiliser lvl0_map comme un tableau.
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: Problèmes de débutant avec Huc

Message par touko »

Il faut inclure ta map sous forme de fichier .bin comme mooz l'a montré,et ensuite utiliser un pointeur sur ce fichier pour accéder facilement à toutes les données(qui du coup ont une limite qui passe à 64ko) sans se préoccuper des banks, huc le fait pour toi .
Mettre une map en constant c'est bien pour faire un petit test, mais inutilisable dans un jeu car tu va vite exploser la banque allouée aux constantes .
Je répondrai plus en détail demain,et j'ai pas pratiqué huc depuis un bail :wink:
Avatar de l’utilisateur
Ithus
Please Insert Disc!
Messages : 15
Inscription : mer. 12 août 2015 21:27

Re: Problèmes de débutant avec Huc

Message par Ithus »

Merci de vos réponses, elles m'ont redonné espoir. :bomberdream:
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: Problèmes de débutant avec Huc

Message par touko »

Bon après lecture plus approfondie de ton post, pour le moment tu n'as pas besoin de pointeurs et il suffit juste d'inclure la tilemap de tes niveau comme un fichier .bin .
Tu crées tes niveaux comment ??
Avatar de l’utilisateur
Ithus
Please Insert Disc!
Messages : 15
Inscription : mer. 12 août 2015 21:27

Re: Problèmes de débutant avec Huc

Message par Ithus »

A l'origine, je me servais de Tiled mais pour sortir les maps sous forme de tableau simple.
A présent, j'utilise MappyWin32 qui sort des fichiers .fmp que je peux inclure via #incbin.
MooZ a écrit : tu peux directement utiliser lvl0_map comme un tableau.
Touko a écrit :pour le moment tu n'as pas besoin de pointeurs
C'est aussi simple que ça, finalement ? :bombershock:
Dans ce cas, lvl0_map serait un tableau unidimensionnel ?
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: Problèmes de débutant avec Huc

Message par touko »

C'est aussi simple que ça, finalement ? :bombershock:
Dans ce cas, lvl0_map serait un tableau unidimensionnel ?
Bah oui !!! :P et vu que tu utilises mappy ,pas de soucis, c'est pris en compte par huc .

Par contre je sais pas si tu peux directement utiliser un label (lvl0_map) comme un tableau avec huc(pour le scrolling ou les tests de collisions), je m'en souviens plus .
Avatar de l’utilisateur
MooZ
Administrateur
Messages : 2090
Inscription : jeu. 16 déc. 2004 14:25
Contact :

Re: Problèmes de débutant avec Huc

Message par MooZ »

Dans tous les cas il aura acces aux données bruts. Je viens de regarder rapidos le code de la function de chargement des map ( https://github.com/uli/huc/blob/6188b5e ... y.asm#L255 ) et lvl0_map[x+y*lvl0_map_width] te donnera l'indice du tile.
Avatar de l’utilisateur
Ithus
Please Insert Disc!
Messages : 15
Inscription : mer. 12 août 2015 21:27

Re: Problèmes de débutant avec Huc

Message par Ithus »

Ça a l'air de marcher ! Merci beaucoup à tous les deux ! :bombercry:

Je pensais que la première tile (celle qui est transparente) avait pour valeur 0 alors qu'en fait, elle vaut 255. :bomberfacepalm:
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: Problèmes de débutant avec Huc

Message par touko »

Ca c'est mappy qui fait cette merde, pas huc :P
Sinon tu devrais utiliser la dernière version de huc, pour avoir toutes les améliorations/correction de bugs .
http://pcengine.proboards.com/thread/21 ... urce-links
Avatar de l’utilisateur
Ithus
Please Insert Disc!
Messages : 15
Inscription : mer. 12 août 2015 21:27

Re: Problèmes de débutant avec Huc

Message par Ithus »

Du coup, je viens de comprendre pourquoi map_get_tile me retournait des 255... qui me faisaient penser que ça marchait pas. Quand je pense au temps que j'y ai passé sans m'en apercevoir, j'ai honte. :bomberperv:
Merci pour le lien et merci encore pour l'aide !
Avatar de l’utilisateur
touko
NECromancer
Messages : 2297
Inscription : lun. 31 mars 2008 14:32

Re: Problèmes de débutant avec Huc

Message par touko »

Nan t'inquiètes on est tous passé par là, y'a aucune honte à débuter et faire des erreurs, et t'en fais pas ça continuera :mrgreen:
Avatar de l’utilisateur
Ithus
Please Insert Disc!
Messages : 15
Inscription : mer. 12 août 2015 21:27

Re: Problèmes de débutant avec Huc

Message par Ithus »

Merci, c'est encourageant. :D

Je suis en train de "m'amuser" avec les windows et j'aimerais poser quelques questions afin de confirmer mes tests.
C'est impossible de faire une window qui ne prend pas toute la largeur de l'écran ?
Tous les éléments visuels sont sur le virtual screen, et une window est simplement l'affichage d'un bout du virtual screen ?
Avatar de l’utilisateur
MooZ
Administrateur
Messages : 2090
Inscription : jeu. 16 déc. 2004 14:25
Contact :

Re: Problèmes de débutant avec Huc

Message par MooZ »

Ca devrait plutôt s'appeler "split-screen" ou un truc du genre. En gros ça dit quelles coordonnées de scroll utiliser pour quelle raster.
Donc la réponse est oui.
Répondre