Posté le 04/09/2012 à 12:44 Membre depuis le 03/06/2011, 520 messages
Ooooooh .. grin Il me parait déjà très bon !

Concernant à ce de supprimer un tile, CalcGS a justement ce problème, bien que je ne me souviens pas exactement quand il arrive, je crois que c'est en collant (insertant) un tile, mais peut-être c'est quand on en supprime. Maintenant j'ai beaucoup de tiles blancs partout pour éviter ça wink
Posté le 04/09/2012 à 16:29 Membre depuis le 15/03/2005, 3470 messages
Version 0.1 : http://www.mirari.fr/8PZ6 grin

xodB

Sûrement beaucoup de bugs et trucs manquant donc j’attends tes remarques smile

Ah et, les tiles n'ont de "mask" que lorsqu'on peut passer derrière, non ?

Autrement quelques notes : je n'ai pu sortir qu'un exécutable windows pour le moment, si quelqu'un met la main sur une version Linux de PureBasic (j'ai compilé avec la 4.60 perso), le code source est dans l'archive. Si y'a des questions concernant des parties de celui-ci, n'hésitez pas !

Pour le moment l'éditeur ne charge qu'une map à la fois mais gère les tiles/masks/brushes de façons globale avec une base de données sqlite v3. Quand on exporte les données, ça génère un "nom_de_la_carte.inc" dans le dossier "map" et "tiles.inc/masks.inc" et "objects.asm" dans le dossier parent.

J'ai essayé de respecter ta mise en forme des données, tu me dis s'il y a des erreurs dans les fichiers générés/la gestion des brushes (d'ailleurs pour les données interaction/collision il faut les taper soit même comme on veut qu'elles apparaissent à la fin (ex pour changer de carte :
.db 1
.db 4,6,1).

Voilà smile
Posté le 04/09/2012 à 19:56 Membre depuis le 03/06/2011, 520 messages
Wow !!! Je l'ai téléchargé et j'ai constaté que tu as même dessiné quelques des tiles ! Merci beaucoup ! Vraiment, merci ! Une chose seulement, les icons ne s'affichent pas (mais je peux m'en servir en cliquant sur le cadre vide). C'est marveilleux ! grin Je vais l'essayer maintenant, à voir si j'arrive à dormir cette nuit !

Et oui, seulement les tuiles derrière lesquels on peut passer ont un mask.

grin

(J'ai des problèmes quand j'essaie de supprimer un brush, mais je ne sais pas si c'est à cause de Wine)
Posté le 04/09/2012 à 20:07 Membre depuis le 15/03/2005, 3470 messages
Euh pour les icônes tu peux me prendre un screenshot ?

Pour les "masks" donc, je fais qu'on ne peut les choisir que si on spécifie d'abord le "tile top" ? (D'ailleurs je ne sais pas si "height" ou "depth" serait plus parlant ?)

J'vais voir pour la suppression des "brushes", c'est peut être pas encore tout à faire au point (d'ailleurs ça ne gère pas encore les problèmes de décalage d'ID)...
Posté le 04/09/2012 à 20:36 Membre depuis le 03/06/2011, 520 messages
Pour le moment c'est bien, parce que c'est comme ça que le moteur de tilemap traite les masks smile

Et voilà un screenshot des icônes:
BfvD
Posté le 04/09/2012 à 21:04 Membre depuis le 15/03/2005, 3470 messages
Bon je met un lien que je pourrais mettre à jour au fur et à mesure :

http://deeph.servhome.org/ftp/PureBasic/map%20editor.zip (v0.2)

- Ajout des raccourcis de tous les outils dans la barre menu
- Ajoute d'une référence à la "brush" sélectionnée dans la barre des status (en bas)
- Meilleure suppression des "brushes"

Pour la prochaine version, outre la correction des bugs il faudra que je fasse en sorte qu'on ne puisse pas spécifier de "mask" sans spécifier le "tile top".

Sinon c'est normal qu'il manque une partie de l'image de la carte sur ton screen ?
Posté le 05/09/2012 à 10:26 Membre depuis le 03/06/2011, 520 messages
Voici quelques choses que j'ai notées:
-je crois qu'on ne peut pas se servir d'un nouveau brush immédiatement, il faut fermer et rouvrir le programme
-pour les tuiles, si une tuile est dans un dossier le dossier n'apparaît pas dans le fichier .inc (tiles\NPC.bmp en lieu de tiles\NPCs\NPC.bmp)
-il paraît que les fichier .ico ne fonctionnent sous Linux, je les ai convertis à des fichiers PNG et tout marche bien (bon, quand j'essaie de compiler sous Linux, les icônes se montrent bien (avec des PNGs) mais je reçois beaucoup d'erreurs et le programme se plante toujours :/)
-si je fermer et rouvrir le programme, ça me permet de continuer à supprimer des brush
-pourrais-tu changer le mot "passable" à "nonpassable"? Je l'avais confundu, tous mes tuiles passables sont marquées comme nonpassables/vice versa :P Et on pourrait aussi avoir des checkboxes ordonnés comme les bits, c'est-à-dire 8 checkboxes ensemble:
口口口口口口口口 peut-etre avec une lettre au-dessus (P=passable, A=animé, etc.) ou une petite boîte de texte que s'affiche quand on pointe dessus avec le mouse (je sais pas ce qu'on peut faire, ni non plus s'il est facile/difficile d'implementer) pour quand j'ajouterai d'autres choses smile
-ceci n'est pas très important, mais je crois que quand les cartes utilisent les valeurs hexas au lieu des décimales il est plus facile de lire parce que tout est aligné.
-est-ce qu'on pourrait permettre de changer le nom des labels (par exemple, pouvoir changer "masks:" à "maskTiles:") ?
-pour "tile top", le programme ne se souvient pas si je l'ai armé ou non:
VOzu
Sinon c'est normal qu'il manque une partie de l'image de la carte sur ton screen ?

Je crois que c'était seulement à cause des brush/sprites, quand je les avais supprimés, les valeurs des brush restantes étaient mauvaises pointant sur les sprites (bmp) qui n'existaient plus, etc. Maintenant tout semble être bien smile

C'est déjà beaucoup mieux que CalcGS, le système des brush est parfait (on ne peut pas passer à travers les choses nonpassables), merci de nouveau je suis complètement marveillé !

Avec une très petite correction (l'ajout de tiletop à un des brush):
X9FV
Il y a une bogue (ou plutôt une limitation de mon code) à la fin wink
Posté le 05/09/2012 à 10:56 Membre depuis le 15/03/2005, 3470 messages
-je crois qu'on ne peut pas se servir d'un nouveau brush immédiatement, il faut fermer et rouvrir le programme

C'est étrange, ça marche parfaitement avec windows... Ça fait comment, le brush est ajouté à la liste mais quand tu cliques dessus ça ne fait rien ?
-pour les tuiles, si une tuile est dans un dossier le dossier n'apparaît pas dans le fichier .inc (tiles\NPC.bmp en lieu de tiles\NPCs\NPC.bmp)

Ça enfaite c'est codé "en dur", mais comment tu fais pour disposer des NPCs à l'aide de l'éditeur ? En tant que tile ? Si ça te gène vraiment je peux modifier ça.
-il paraît que les fichier .ico ne fonctionnent sous Linux, je les ai convertis à des fichiers PNG et tout marche bien (bon, quand j'essaie de compiler sous Linux, les icônes se montrent bien (avec des PNGs) mais je reçois beaucoup d'erreurs et le programme se plante toujours :/)

Erf, je vais faire pareil, mais tu as mis la main sur un compilo PureBasic pour Linux ? C'est quelle version ? C'est des erreurs de compilation ou durant l’exécution (débogage) ?
-si je fermer et rouvrir le programme, ça me permet de continuer à supprimer des brush

Même avec la version 0.2 ?
-si je fermer et rouvrir le programme, ça me permet de continuer à supprimer des brush
-pourrais-tu changer le mot "passable" à "nonpassable"? Je l'avais confundu, tous mes tuiles passables sont marquées comme nonpassables/vice versa :P Et on pourrait aussi avoir des checkboxes ordonnés comme les bits, c'est-à-dire 8 checkboxes ensemble:
口口口口口口口口 peut-etre avec une lettre au-dessus (P=passable, A=animé, etc.) ou une petite boîte de texte que s'affiche quand on pointe dessus avec le mouse (je sais pas ce qu'on peut faire, ni non plus s'il est facile/difficile d'implementer) pour quand j'ajouterai d'autres choses smile

C'est faisable, ok je vais faire comme ça smile
-ceci n'est pas très important, mais je crois que quand les cartes utilisent les valeurs hexas au lieu des décimales il est plus facile de lire parce que tout est aligné.

C'est-à-dire ?
-est-ce qu'on pourrait permettre de changer le nom des labels (par exemple, pouvoir changer "masks:" à "maskTiles:") ?

Ok
-pour "tile top", le programme ne se souvient pas si je l'ai armé ou non.

J'vais voir mais c'est étrange :/
Posté le 05/09/2012 à 12:35 Membre depuis le 03/06/2011, 520 messages
deeph (./97) :
-je crois qu'on ne peut pas se servir d'un nouveau brush immédiatement, il faut fermer et rouvrir le programme

C'est étrange, ça marche parfaitement avec windows... Ça fait comment, le brush est ajouté à la liste mais quand tu cliques dessus ça ne fait rien ?

Oui, quand je cliquais rien ne se passait, mais avec la version .2 pas de problèmes smile
deeph (./97) :
-pour les tuiles, si une tuile est dans un dossier le dossier n'apparaît pas dans le fichier .inc (tiles\NPC.bmp en lieu de tiles\NPCs\NPC.bmp)
Ça enfaite c'est codé "en dur", mais comment tu fais pour disposer des NPCs à l'aide de l'éditeur ? En tant que tile ? Si ça te gène vraiment je peux modifier ça.

Ce n'est pas la peine, je peux simplement mettre tous les .bmps dans un seul dossier smile Et oui, pour le moment je traite les NPCs comme une pancarte/n'importe quel autre objet dans le tilemap.
deeph (./97) :
-il paraît que les fichier .ico ne fonctionnent sous Linux, je les ai convertis à des fichiers PNG et tout marche bien (bon, quand j'essaie de compiler sous Linux, les icônes se montrent bien (avec des PNGs) mais je reçois beaucoup d'erreurs et le programme se plante toujours :/)

Erf, je vais faire pareil, mais tu as mis la main sur un compilo PureBasic pour Linux ? C'est quelle version ? C'est des erreurs de compilation ou durant l’exécution (débogage) ?

Version 4.61. Pendant l'exécution, mais d'abord j'ai dû supprimer quelques lignes (tous les "sndPlaySound_()", il se plaignait de que ça n'était pas un "function, array, list, map or macro".)
Je reçois toujours
"ImageID() error:
Reference to an unexisting brush."

Je l'ai reçu plusieurs fois avec la version .2 aussi, mais je crois que c'est à cause d'avoir changer le database. Quand j'ai recréé le map, plus de problème.
deeph (./97) :
-si je fermer et rouvrir le programme, ça me permet de continuer à supprimer des brush

Même avec la version 0.2 ?

Avec la version c'est beaucoup meilleur, pas de problème en supprimant les brush smile
deeph (./97) :
-pourrais-tu changer le mot "passable" à "nonpassable"? Je l'avais confundu, tous mes tuiles passables sont marquées comme nonpassables/vice versa :P Et on pourrait aussi avoir des checkboxes ordonnés comme les bits, c'est-à-dire 8 checkboxes ensemble:
口口口口口口口口 peut-etre avec une lettre au-dessus (P=passable, A=animé, etc.) ou une petite boîte de texte que s'affiche quand on pointe dessus avec le mouse (je sais pas ce qu'on peut faire, ni non plus s'il est facile/difficile d'implementer) pour quand j'ajouterai d'autres choses smile

C'est faisable, ok je vais faire comme ça smile

Merci smile
deeph (./97) :
-ceci n'est pas très important, mais je crois que quand les cartes utilisent les valeurs hexas au lieu des décimales il est plus facile de lire parce que tout est aligné.

C'est-à-dire ?

Comme ci:
.db 0,11,10,2,100
.db 10,10,2,5,2
vs.
.db $00,$0B,$0A,$02,$64
.db $0A,$0A,$02,$05,$02
(ou même)
.db 000,011,010,002,100
.db 010,010,002,005,002
deeph (./97) :
-est-ce qu'on pourrait permettre de changer le nom des labels (par exemple, pouvoir changer "masks:" à "maskTiles:") ?

Ok

Merci smile
deeph (./97) :
-pour "tile top", le programme ne se souvient pas si je l'ai armé ou non.

J'vais voir mais c'est étrange :/

[/cite]
Les informations montrées sur les brush sont mises à jour, ce n'est que dans la boîte pour éditer l'information d'un brush que ça passe.


Et quelques observations sur la version 2:
1. Je suppose que la nouvelle version ne supporte plus mon vieux database ? Mes cartes ne fonctionne plus. Mais j'ai testé la nouvelle version et la "suppression" des brush fonctionne beaucoup mieux !
2. Serait-il possible de pouvoir supprimer plus d'un brush/tile à la fois ? Et ajouter à UP/DOWN une option pour changer l'id directemment ? Ce que je veux dire c'est, en lieu d'avancer un par un, pouvoir écrire "13" et l'id du brush/tile/mask changera à 13.
3. Donner des noms aux brush ! On pourrait utiliser les noms comme labels ou les ajouter comme un "comment" (.dw brush000 ;nom_de_brush000), et pour les choses comme les portes que j'aurai besoin d'utiliser plusieurs fois, il m'aiderait beaucoup savoir ce que c'est.

Merci beaucoup pour l'outil, même comme il est il m'aiderait beaucoup avec le jeu. Tout est beaucoup plus facile/organisé qu'auparavant. grin

F1yn (version linux)
Posté le 05/09/2012 à 13:00 Membre depuis le 15/03/2005, 3470 messages
Bon je prépare une version 0.3 qui règle pas mal de problèmes, avec la nouvelle mise en page :

gTkn

C'est un peu plus clair mais je ne sais pas si ça te conviens, donc j'attends tes remarques !
"ImageID() error: Reference to an unexisting brush."

Enfaite c'est que lors du chargement de la carte il rencontre un brush qui n'existe plus (les joies du débogage :/). Mais je peux faire en sorte que s'il rencontre un brush qui n'existe plus il le remplace par le premier de la liste smile
Comme ci:
.db 0,11,10,2,100
.db 10,10,2,5,2
vs.
.db $00,$0B,$0A,$02,$64
.db $0A,$0A,$02,$05,$02
(ou même)
.db 000,011,010,002,100 .db 010,010,002,005,002

Ah ok pour l'exportation tu veux dire. C'est comme tu veux, ok pour le l'héxa.
1. Je suppose que la nouvelle version ne supporte plus mon vieux database ? Mes cartes ne fonctionne plus. Mais j'ai testé la nouvelle version et la "suppression" des brush fonctionne beaucoup mieux !

Oui et la version qui vient va encore supprimer la "retrocompatibilité", si tu veux que je la mette à jour pour la version à venir tu n'as qu'a l'uploader, je l'éditerai avec un outil sqlite3-compatible smile
2. Serait-il possible de pouvoir supprimer plus d'un brush/tile à la fois ? Et ajouter à UP/DOWN une option pour changer l'id directemment ? Ce que je veux dire c'est, en lieu d'avancer un par un, pouvoir écrire "13" et l'id du brush/tile/mask changera à 13.

De la manière dont c'est traité actuellement, non, mais quand j'aurai finit de régler tous les autres petits problèmes c'est envisageable.
3. Donner des noms aux brush ! On pourrait utiliser les noms comme labels ou les ajouter comme un "comment" (.dw brush000 ;nom_de_brush000), et pour les choses comme les portes que j'aurai besoin d'utiliser plusieurs fois, il m'aiderait beaucoup savoir ce que c'est.


Ok donc je rajoute un champ pour ça (donc ce sera un peu différent de ce qui est sur mon screen plus haut) smile
Posté le 05/09/2012 à 14:39 Membre depuis le 15/03/2005, 3470 messages
v0.3 smile

http://deeph.servhome.org/ftp/PureBasic/map%20editor.zip

TRPr
- Refonte de la fenêtre pour gérer les brushes
- Ajout de nom aux brushes (ne pas mettre deux fois le même, pour le moment il n'y a pas de vérification)
- Données de la map exportées en hexadécimal
- Toujours pas de possibilité de spécifier les noms des labels des listes de tiles (il faut que je crée une nouvelle fenêtre de paramètres :/), mais j'ai changé "masks" en "maskTiles", "tiles" en "Tiles" et "brushes" en "Brushes" (ne sert à rien, mais je suis pointilleux grin), dit moi si ça te va !
- Lorsqu'une carte est chargée et qu'elle fait référence à un brush inexistant ça ne bug plus
- Correction de pleins de petits bugs mais il y en a surement encore !- Ajout de plus d'icônes
Posté le 05/09/2012 à 15:52Edité par chickendude le 05/09/2012 à 16:22 Membre depuis le 03/06/2011, 520 messages
Je crois que le nouveau menu de brush est très beau et me plaît mieux, merci ! Je vais télécharger à tester smile (peut-être je pourrai même exécuter la version linux maintenant grin)

Et pour le moment, mon code cherche le label "tileData" smile

EDIT: Voici le vieux database qui contient tous les sprites/brushes que j'ai créé jusqu'ici:
http://www.mirari.fr/D3W1
(et si ça t'interesse, les .bmps pour les tiles/maskssmile
http://www.mirari.fr/CHY5

EDIT2: La version linux fonctionne mieux, mais j'ai des problèmes quand j'essaie d'ouvrir un fichier. Et je suppose que c'est peut-être un peu difficile (ou ennuyeux) de faire, mais quand on supprime un sprite, les brush ne change pas d'id, ils retiennent le même sprite id. Donc si j'ai:
0 grass
1 path
2 door
3 house

et mon brush pointe sur #2, door, si je supprime grass ou path, il pointera sur house (qui maintenant aura l'id 2).
Posté le 05/09/2012 à 16:21 Membre depuis le 15/03/2005, 3470 messages
Mise à jour furtive :

http://deeph.servhome.org/ftp/PureBasic/map%20editor.zip

ZJdT

(Inclue ta base de donnée + le nouveau label "tileData")

Ça commence à ressembler à quelque chose, mine de rien smile
Posté le 05/09/2012 à 16:38 Membre depuis le 03/06/2011, 520 messages
Wow ! grin C'est vraiment incroyable !

EDIT:
Voici la version linux (qui se plante toujours, je ne peut pas ouvrir des fichiers), je sais pas pourquoi elle s'affiche comme ça:
QVwh

Mais la version windows sous Wine fonctionne assez bien, alors pas de problème pour le moment smile Les icônes (très jolis wink) s'affichent dans le menu, mais pas dans le toolbar. Et je ne sais pas quand certaines choses se mettent à jour, mais quand je ferme et rouvre le programme, tout est comme normale. L'unique chose c'est que si je change l'id (l'ordre) d'un sprite, les brush ne se mettent pas à jour.
Posté le 05/09/2012 à 16:56 Membre depuis le 15/03/2005, 3470 messages
Pour linux le problème c'est que ta police d'écriture (font) doit être trop grande... Pour bien faire il faudrait modifier les constantes des coordonnées de chaque gadget/fenêtre (dans les fichiers .pbi) mais il faudrait faire des tests à chaque fois etc...
Les icônes (très jolis wink ) s'affichent dans le menu, mais pas dans le toolbar.

Avec la nouvelle version c'est réglé, normalement.
L'unique chose c'est que si je change l'id (l'ordre) d'un sprite, les brush ne se mettent pas à jour.

J'vais travailler sur ça, de même que sur le fait de pouvoir supprimer/déplacer plusieurs brushes à la fois.

edit : http://deeph.servhome.org/ftp/PureBasic/map%20editor.zip

Si tu compiles pour linux ça devrait être plus lisible (j'ai mis une police par défaut : Tahoma en 8pt), et j'ai réglé le problème des tiles qui se mettent pas à jour.

Par contre ça te fait quoi comme erreur lorsque tu ouvres un fichier sous linux ?

N'hésite pas si tu as d'autres remarques ! smile

edit2 : (j'avais pas vu)
EDIT2: La version linux fonctionne mieux, mais j'ai des problèmes quand j'essaie d'ouvrir un fichier. Et je suppose que c'est peut-être un peu difficile (ou ennuyeux) de faire, mais quand on supprime un sprite, les brush ne change pas d'id, ils retiennent le même sprite id. Donc si j'ai:
0 grass
1 path
2 door
3 house
et mon brush pointe sur #2, door, si je supprime grass ou path, il pointera sur house (qui maintenant aura l'id 2).

J'y travaille !
Posté le 05/09/2012 à 22:05 Membre depuis le 03/06/2011, 520 messages
deeph (./104) :
Si tu compiles pour linux ça devrait être plus lisible (j'ai mis une police par défaut : Tahoma en 8pt), et j'ai réglé le problème des tiles qui se mettent pas à jour.

J'ai toujours ce problème, mais peut-être c'est qu'il ne trouve pas la police, qu'il faut la mettre quelque part ?
deeph (./104) :
Par contre ça te fait quoi comme erreur lorsque tu ouvres un fichier sous linux ?

"Violación de segmento (`core' generado)"
C'est-à-dire, un "Segfault". On ne peut pas voit de bmp pour les brush/tiles non plus, je crois que la méthode de lire les chemins d'accès est différente. Oui ! par exemple, dans la version linux il ne montrait jamais les images, mais si je change:
new.pb, ligne 22:
AddGadgetItem(#DefaultTileComboBox, -1, GetDatabaseString(#Database, 1), ImageID(LoadImage(#PB_Any, "[b]tiles[/b]"+GetDatabaseString(#Database, 1))))
à
AddGadgetItem(#DefaultTileComboBox, -1, GetDatabaseString(#Database, 1), ImageID(LoadImage(#PB_Any, "tiles/"+GetDatabaseString(#Database, 1))))
je vois les images dans "Default tile" smile

Bon ! J'ai fini de changer tous les chemins au formate "/" et tout marche parfaitement ! Je peux sauvegarder/charger des cartes (mais peut-être seulement celles créées sous Linux ? La carte que j'avais créée avec la version windows le plante toujours), et tous les icônes (que je ne vois toujours pas dans le toolbar de la version windows) et .bmps se montrent grin

A propos, j'aime beaucoup les deux icônes pour les tiles/masks smile

PD: existe-t-il un truc comme #DEFINE dans l'asm ? Par exemple :
#DEFINE linux

#IFDEF linux
TILE_DIR = "tiles/"
MASK_DIR = "masks/"
MAP_DIR = "map/"
#ELSE
TILE_DIR = "tiles\"
MASK_DIR = "masks\"
MAP_DIR = "map\"
Posté le 05/09/2012 à 22:24 Membre depuis le 15/03/2005, 3470 messages
Oui mais je crois que ça marche quand même pour windows avec "/" pour les dossiers, je vais tester, si c'est ça merci !

Je vais changer tout ça et il faudra que tu re-télécharge à nouveau smile
La carte que j'avais créée avec la version windows le plante toujours

Ça fait comment ? Ça plante sans rien dire de plus ?

Parce que normalement les fichiers .map ne contiennent pas de référence à des fichiers externes, donc le bug ne peut pas venir de là...
J'ai toujours ce problème, mais peut-être c'est qu'il ne trouve pas la police, qu'il faut la mettre quelque part ?

Il faudrait l'installer (ça change d'une distribution de linux à une autre apparemment), je l'ai mise dans l'archive juste au cas où tu ne l'aurais pas déjà (ce qui est le cas apparemment).

edit : Voilà j'ai réglé quelques problèmes (suppression de tiles...) + ça devrait compiler normalement sous linux smile

http://deeph.servhome.org/ftp/PureBasic/map%20editor.zip
Posté le 06/09/2012 à 10:33 Membre depuis le 03/06/2011, 520 messages
J'ai changé quelques choses pour qu'il marche sous linux. Dans la "procedure" close() tous les "FreeGadget" donne une erreur de mémoire (Invalid memory access). Je les ai "commenté" et tout va bien.

J'ai dû aussi soustraire 15 de plus du WindowHeight (sinon je ne vois pas les boutons Up/Down/etc.)
ResizeGadget(#BrushesListIcon, #BrushesListIcon_x, #BrushesListIcon_y, #BrushesListIcon_w, WindowHeight(#Window)-#BrushesListIcon_y-44-24-15)

Et j'ai changé cette partie aussi, si non le texte de "Brush #XXX" se coupe.
init.pb
If CreateStatusBar(#StatusBar, WindowID(#Window))
AddStatusBarField(75) ;<--------------
AddStatusBarField(25)
AddStatusBarField(#PB_Ignore)
EndIf


Avec tout ça je crois qu'il fonctionne comme la version windows. smile

J'ai pensé aussi, je ne sais pas comme tu gères les brush, mais quand l'id d'un brush change les maps ne se mettent pas à jour. Peut-être une fois créé un brush ne devrait pas changer d'id. On pourrait utiliser un autre id pour sa position (l'ordre des brush), qu'on utiliserait pour le fichier .inc. Donc le fichier .map utiliserait "id" (qui ne change jamais) et le fichier .inc "positionId". Je suppose que tu sauras mieux que moi comment le faire, mais c'est juste ce que j'ai pensé wink

Est-il possible de redimensionner la fenêtre/les gadgets (par exemple pour pouvoir plus d'informations sur les brush) ? J'ai cherché dans la documentation mais je me suis perdu :P
Posté le 06/09/2012 à 11:35 Membre depuis le 15/03/2005, 3470 messages
http://deeph.servhome.org/ftp/PureBasic/map%20editor.zip

5rT5

J'ai réglé tous les changements de tailles/coordonnées aussi normalement smile

Pour les ID des brushes normalement c'est bon, et pour le redimensionnement aussi (il fallait rajouter un "splittergadget" entre le "listicongadget" & "scrollareagadget"). Par contre je ne sais pas pourquoi mais lorsque les gadgets s'initialisent il y a un décalage de quelques px en haut mais ça se corrige tout seul lorsqu'on touche à n'importe quoi dans la fenêtre ou qu'on la redimensionne... :/
Posté le 06/09/2012 à 14:27 Membre depuis le 03/06/2011, 520 messages
De mon côté les boutons (UP/DOWN/EDIT/etc.) disparaîtent quand je redimensionne la fenêtre (sous linux) :/
Warnings (avec GTK) à Main.pb 221 et 227

Et je ne sais pas pourquoi, mais je ne vois toujours pas les icônes dans le toolbar (mais dans les menus oui).

Le redimensionnement est parfait, merci grin
Posté le 06/09/2012 à 15:42 Membre depuis le 15/03/2005, 3470 messages
Oulah, tu peux me prendre un screen lorsque ça disparait ? hum

Pour les erreurs, c'est une compilation du dernier upload ? Parce que les lignes 221 et 227 font références aux boutons suppression/édition des brushes...

edit : J'ai corrigé l'erreur de décalage et ça devrait régler la disparition des boutons (c'était dû à la différence de tailles entre les deux gadgets, à cause des boutons haut/bas/edit/etc...)

http://deeph.servhome.org/ftp/PureBasic/map%20editor.zip
Posté le 07/09/2012 à 08:43 Membre depuis le 03/06/2011, 520 messages
Oui, c'est comme ci:
tquB

Maintenant pas d'erreurs lors du redimensionnement, seulement que je ne vois pas les boutons (je crois qu'il sont cachés dessous le status bar). Si je soustrais encore 20 pixels, je les vois.
Posté le 07/09/2012 à 11:29 Membre depuis le 15/03/2005, 3470 messages
Ok je les rajoutes aussi. Enfaite c'est à cause de la police utilisée dans la "status bar" (elle doit être 20px plus grande que Tahoma en 8pt, mais je ne pense pas qu'on puisse la changer...).

J'ai rajouté aussi une option "Goto" pour les brushes, ça va plus vite que de s'acharner à faire haut/bas si on veut vraiment les bouger (ça s'occupe aussi de réattribuer les bonnes ID de la map) smile
Posté le 07/09/2012 à 12:19 Membre depuis le 03/06/2011, 520 messages
Merci smile
Posté le 30/09/2012 à 18:36 Membre depuis le 03/06/2011, 520 messages
Les premières batailles: grin
YfXf

On peut:
-attaquer/tuer des méchants
-être attaqué par les méchants
-perdre (mourir grin)/gagner une bataille

Je ne suis pas complètement sûr que tout fonctionne comme je veux, parce que quand il y a trois méchants on devrait voir trois attaques mais je ne vois que deux (et bien sûr l'attaque du joeuer). Pour attaquer, je mets tous les attaques dans une queue selon la vitesse de chacun des batailleurs (c'est à dire, les plus vites font leurs attaques avant que les plus lents) et puis, quand tout le mond a choisi son attaque, je les lis un par un de la queue. Ah et pour le moment, on ne peut avoir qu'un personnage dans ton party, mais je veux changer ça quand j'aurai un peu plus avancé avec l'histoire. Il n'y a pas encore rien d'aléatoire dans la calculation des dégâts, mais les calculations je peux les facilement changer plus tard smile

J'ai quelques fichiers txt avec tous les textes du jeu pour faciliter la traduction du jeu plus tard, quand j'aurai plus fini.

EDIT: J'ai mis à jour le source, vous pouvez le regarder/télécharger/faire avec lui ce que vous voudrez ici:
http://code.google.com/p/juego-rpg/
Posté le 30/09/2012 à 20:11 Membre depuis le 15/03/2005, 3470 messages
Bravo smile

Tu prévois des attaques spéciales ou de la magie ("habil" & "elemento"), non ? Si oui, tu vas rajouter des animations aux attaques ou pas ? (Bien que ce soit tout à fait acceptable pour un RPG sur calculatrice de n'avoir que l'affichage des dégâts grin).

Par contre j'ai des problèmes quand je teste sous wabbitemu avec une ROM de TI 84+ SE v2.41 (mais pas avec PindurTI et une ROM de 83+) : l'affichage est décalé mais pas comme ça le faisait quand on écrivait trop vite au driver (décalage "en escalier").

5Kqe

Apparemment certains tiles buggent aussi (le panneau à côté de la maison) :/

Sinon tu as retravaillé le moteur d'affichage, non ? Parce que maintenant quand on déplace notre personnage derrière un bâtiment il y a une animation qui "saute" (elle est affiché au dessus du tile alors qu'elle est censée être en dessous), on le voit à la fin du screen avant que ça bug parce que j'appuie sur MODE :/

Je vais tester oncalc et je te dis si c'est pareil.

edit : oncalc avec une ROM v2.53MP le combat marche parfaitement, par contre le tile à côté de la maison bug toujours (il est animé : un coup un tile vide et ensuite le coin gauche d'un chemin) et lorsqu'on marche dessus ça déclenche un menu qui bug avec des options illisibles, mais on peut toujours quitter avec ALPHA. Le menu MODE marche par contre parfaitement.
Posté le 30/09/2012 à 21:24 Membre depuis le 03/06/2011, 520 messages
Merci ! Je ne l'ai jamais testé oncalc (je n'en ai plus). Je ne savais pas s'il fonctionnerait avec les 84/+ parce que je ne fais rien espécial pour ralentir l'affichage, je suppose que ma routine est suffisament lente grin Oui, les cartes ne sont pas encore mises à jour, ce n'est pas une bogue avec le mapper mais avec les data (les masques, etc.) smile J'utilise tilem2 pour émuler, je ne sais pas pourquoi ça bogue sous wabbitemu... [MODE] devrait faire apparaître la fenêtre des stats, et pour quitter les menus quand on veut pas choisir quelque chose, on peut se servir d' [ALPHA]. Le monde et les batailles utilisent deux buffers différents, la même routine d'affichage mais avec paramètres différents.

Maintenant le jeu occupe deux pages, mais c'est seulement pour tester les apps multipage. Il me reste encore plus de 7k dans la première page wink

Et oui, je pense ajouter des animations (plus tard). Pour le moment, je vous travailler avec les stats un peut (exp, des niveaux, etc.), mais l'arrangement des data dans la batailles facilitera les animations. Je crois que je pourrai faire bouger les méchants quand ils vont t'attaquer comme une petite démo.

Il me manque des idées pour des méchants :/
Posté le 30/09/2012 à 21:35 Membre depuis le 15/03/2005, 3470 messages
Une des règles pour terminer un RPG (enfin d'après ce que j'ai lu, je n'en ai jamais finit un à 100% ), c'est de d'abord coder tout ce qui est un peu "ingrat" : combats, menus... Et ensuite on peut débuter à mettre en place le décor, les personnages etc...

Enfin tu t'en doutes sûrement déjà wink

Pour les ennemis, y'a toujours moyen d'en caser des classiques (loups s'il y a des passages en forêt, chauves-souris, serpents...). J'aime beaucoup les sprites de ceux d'EarthBound par exemple (bien qu'elles soient un peu grandes pour un écran de TI) : http://spriters-resource.com/snes/earthbound/enemies.gif
Posté le 01/10/2012 à 00:10 Membre depuis le 03/06/2011, 520 messages
J'ai encore quelques demandes sur l'éditeur grin
1. Je ne sais pas s'il serait possible d'afficher des informations sur les posibles valeurs dans interaction. Par exemple, 0=texte (suivi du label du texte), 1=change map (suivi des coordonnées x,y et le id du map à charger).
2. Peut-on changer l'information du map: nom de map, tuile par défaut, etc. ? Je ne sais pas si j'avais choisi la mauvaise tuile ($22 en lieu de $21) pour "bookshop.map", mais maintenant il faut ouvrir le fichier et changer cette ligne chaque fois que je l'exportes.
3. Les informations que j'ai écrites sur les interactions/collisions n'apparaîtent pas dans les champs d'Interaction/Collision, il faut les récrire chaque fois que je veux changer quelque chose. Et peut-être on pourrait commencer à ajouter les options pour les interactions/collisions (pour le moment, seulement texte/changer de carte) ?

Voici mes sprites/masks, fichiers .map, et le nouveau database, si tu en a besoin grin
http://www.mirari.fr/MMBl

Je crois que même 16x16 est un peu petit. Comment puis-je dessiner un homme assis sur une moto, par exemple, ou sur un cheval ?

Et oui, tu as raison, c'est pour ça que j'ai commencé à bosser sur la rutine de batailles (il y a combien d'RPGs sur ticalc qui ne sont qu'une démo d'un tilemapper). Il reste encore beaucoup à faire, c'est sûrement un gros travail, mais on y arrive peu à peu. Même si je n'arrive pas à finir le jeu (très probable), peut-être quelqu'un d'autre pourra se servir du "moteur" pour faire quelque chose "cool".

A propos, qu'est-ce que tu penses sur l'interface des batailles ? Je ne sais pas si j'aime la fenêtre avec le HP, elle occupe assez d'espace et d'ailleurs je ne sais pas si je devrais afficher le HP des ennemis ou non.

EDIT: Ah et je ne peux pas "magnifier" (x2) la carte dans l'éditeur, quand je fais pour la magnifier, la plupart de la carte disparaît.
mX1v
Posté le 01/10/2012 à 16:23 Membre depuis le 11/04/2007, 1076 messages
Je fais une apparition éclair! :-)
ChickenDude : Il est cool ton projet, l'affichage est assez beau.
Ca me fait penser à The Verdante Forest, je sais pas si vous connaissez...
Posté le 01/10/2012 à 17:52Edité par deeph le 01/10/2012 à 18:47 Membre depuis le 15/03/2005, 3470 messages
http://deeph.servhome.org/ftp/PureBasic/map%20editor.zip
1. Je ne sais pas s'il serait possible d'afficher des informations sur les posibles valeurs dans interaction. Par exemple, 0=texte (suivi du label du texte), 1=change map (suivi des coordonnées x,y et le id du map à charger).

C'est possible mais ça va prendre de la place... Au départ je me suis dit que tu allais forcément avoir plus de deux interactions donc j'ai fait au plus simple (éditeur de texte, que j'ai d'ailleurs agrandit parce que c'était un peu petit...).

À la limite je peux faire en sorte qu'on puisse choisir au moins le type d'interaction (1, 2...), et qu'ensuite on rentre soit même les infos dans l'éditeur de texte (parce que faire un champ pour chaque truc différent : textes, coordonnées, id... ça va prendre vraiment beaucoup de place).
2. Peut-on changer l'information du map: nom de map, tuile par défaut, etc. ? Je ne sais pas si j'avais choisi la mauvaise tuile ($22 en lieu de $21) pour "bookshop.map", mais maintenant il faut ouvrir le fichier et changer cette ligne chaque fois que je l'exportes.


C'est fait (bouton "parameters") smile
3. Les informations que j'ai écrites sur les interactions/collisions n'apparaîtent pas dans les champs d'Interaction/Collision, il faut les récrire chaque fois que je veux changer quelque chose. Et peut-être on pourrait commencer à ajouter les options pour les interactions/collisions (pour le moment, seulement texte/changer de carte) ?

Oups oui c'était pas normal ça, mais c'est réglé (petite erreur de noms de gadgets).

Pour les options comme j'ai dit au dessus c'est relativement simple à faire mais assez long...
Je crois que même 16x16 est un peu petit. Comment puis-je dessiner un homme assis sur une moto, par exemple, ou sur un cheval ?

C'est vrai que tu vas avoir du mal à dessiner ça... Y'a quelques plus gros sprites destiné à RPG Maker par exemple : http://charas-project.net/resources.php?fsearch=moto ou http://charas-project.net/resources.php?fsearch=horse , il y a peut être moyen de les réduire un peu.
Et oui, tu as raison, c'est pour ça que j'ai commencé à bosser sur la rutine de batailles (il y a combien d'RPGs sur ticalc qui ne sont qu'une démo d'un tilemapper). Il reste encore beaucoup à faire, c'est sûrement un gros travail, mais on y arrive peu à peu. Même si je n'arrive pas à finir le jeu (très probable), peut-être quelqu'un d'autre pourra se servir du "moteur" pour faire quelque chose "cool".

Faut pas être pessimiste, ton projet est très bien parti (le plus gros du moteur est déjà fait, non ?), j'espère vraiment que tu vas le terminer grin
A propos, qu'est-ce que tu penses sur l'interface des batailles ? Je ne sais pas si j'aime la fenêtre avec le HP, elle occupe assez d'espace et d'ailleurs je ne sais pas si je devrais afficher le HP des ennemis ou non.

À mon avis les seules stats à afficher sont celles de nos personnages, pas besoin d'avoir celles des ennemis (ça enlève même l'intérêt de devoir bien répartir ses attaques tongue).
Ah et je ne peux pas "magnifier" (x2) la carte dans l'éditeur, quand je fais pour la magnifier, la plupart de la carte disparaît.

Heu... Ça c'est étrange parce que ça marche parfaitement sous windows :

5AN1

Ça te fait pareil avec wine ?