![]() |
|
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
Ouvrir sur le forum | Recherche | Messages du jour | Marquer les forums comme lus |
Ressources OSLib, extension, modifications... |
Publicité |
![]() |
|
Outils de la discussion | Modes d'affichage |
![]() |
#1 |
Super Modérateur
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 229
|
![]() Présentation : Bonjour tout le monde ![]() Je vous présente le projet sur lequel je bosse depuis quelques temps: une librairie pour PSP. La première pre-release est enfin sortie, et la librairie est plus ou moins complète (il manque encore des trucs comme la lecture mod, vidéo, etc.) ![]() Comme son nom l'indique (OldSchool Library), cette librairie vous permettra de faire de jolis jeux et démos tout en profitant de la puissance de la console. En plus, la librairie est complètement accélérée en hardware, donc finis les ramages après trois sprites qui se courent après! ![]() Il y a de quoi dessiner des lignes, rectangles, dégradés à quatre coins, images étirées, en rotation, en alpha-blend, etc. Il y a également des fonctions de gestion du joypad et stick analogique. La librairie inclut également une section son, qui peut jouer des sons en .wav et .bgm, avec la possibilité de streamer les sons depuis la MemoryStick. La librairie est écrite en C histoire d'être compatible avec tous les projets, mais ça la rend un peu moins pratique. Elle est rapide et ne prend pas le contrôle sur votre application: elle effectue des opérations bien définies, un peu comme les fonctions de base que vous devez de toutes façons écrire pour le moteur de votre jeu. Comment utiliser : Pour l'installation, modifiez le batch pour que la ligne suivante pointe sur l'installation de cygwin: set CYGWINDIR=C:\cygwin Autres informations : Des exemples peuvent être téléchargés ici: http://oslib.palib.info/samples/ Merci d'avance pour vos commentaires. ![]()
__________________
[10.12.2018] PatrickBoy: codez vos jeux avec la puissance d'une borne d'arcade 16 bits! [21.01.2010] Emu Game Boy et GUI pour la coloration de jeux GB Partagez vos meilleures musiques de jeu vidéo! ![]() ![]() ![]() Dernière modification par Brunni ; 01/12/2007 à 15h32. |
![]() |
![]() |
Publicité |
![]() |
#2 |
Membre confirmé
Date d'inscription: 14/12/2005
Messages: 558
|
![]() Genial Brunni, comme d'hab j'allais dire
![]() Dommage que j'ai pas de psp pour m'amuser avec ça. |
![]() |
![]() |
![]() |
#3 |
Administrateur
Date d'inscription: 09/11/2005
Messages: 3 750
|
![]() Génial !
![]() Woaw ![]() Franchement merci Brunni, j'attendais une lib PSP, mais bzouing quoi, Mollusk qui fait une lib DS, Brunni une lib PSP, bordel mais vive PA ![]() Je reconnais bien ton style au niveau du fichier d'aide ![]() J'men vais tester ça, fichues journées de 24H ![]() scusez le manque de vocabulaire de ce post ![]() |
![]() |
![]() |
![]() |
#4 |
Bitchy Little Girl...
Date d'inscription: 29/10/2005
Messages: 3 201
|
![]() Je vais attendre un peu (d'avoir fini ce que j'ai a faire...) avant de passer à la PSP, mais en tout cas c'est déjà un bonheur d'imaginer utiliser cette belle grosse resolution
![]()
__________________
>> On garde :: On améliore :: On kill << |
![]() |
![]() |
![]() |
#5 | |
Super Modérateur
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 229
|
![]() Merci, mais non c'est pas le but que vous abandonniez la GBA & DS
![]() D'ailleurs vous verrez le style de prog est très différent de ces consoles, mais les deux sont sympa ![]() Citation:
![]() Par contre, je fais des fois de petites updates sans forcément prévenir. Je l'ai déjà fait deux fois depuis le post d'ailleurs.
__________________
[10.12.2018] PatrickBoy: codez vos jeux avec la puissance d'une borne d'arcade 16 bits! [21.01.2010] Emu Game Boy et GUI pour la coloration de jeux GB Partagez vos meilleures musiques de jeu vidéo! ![]() ![]() ![]() Dernière modification par Brunni ; 05/03/2006 à 17h27. |
|
![]() |
![]() |
![]() |
#6 |
Membre confirmé
Date d'inscription: 10/11/2005
Messages: 1 037
|
![]() Meme si j'ai pas encore pu tester, faudra que je regarde ca
![]() |
![]() |
![]() |
![]() |
#7 |
Administrateur
Date d'inscription: 09/11/2005
Messages: 3 750
|
![]() Donc Brunni, si j'ai bien compris, si veux afficher des "sprites", j'affiche autant d'images PNG que necessaire ?
Et aussi, vu que tu code sur PSP, je me demandais si tu utilisais PSPOss ? car à ce que j'ai pu en voir, il a l'air assez pratique pour nous : l'usb activé en permanence, des racourcis vers le applis sur le "bureau" et surtout plus de vidéo de lancement (le truc PSP sur fond blanc qui prend 2H sur une 1.5 ![]() Dernière modification par Yodajr ; 22/01/2006 à 17h46. |
![]() |
![]() |
![]() |
#8 |
Super Modérateur
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 229
|
![]() J'ai essayé avec FileAssistant++ et il n'y a pas d'écran PSP mais c'est lent quand même (il faut bien laisser le temps à ton jeu jeu de se charger depuis la MS...), donc en fait tu ne gagnes pas grand chose...
![]() Pour les sprites c'est bien comme ça qu'il faut faire ![]() D'ailleurs une map est une aussi série de petits sprites ![]()
__________________
[10.12.2018] PatrickBoy: codez vos jeux avec la puissance d'une borne d'arcade 16 bits! [21.01.2010] Emu Game Boy et GUI pour la coloration de jeux GB Partagez vos meilleures musiques de jeu vidéo! ![]() ![]() ![]() Dernière modification par Brunni ; 24/01/2006 à 10h53. |
![]() |
![]() |
![]() |
#9 |
Administrateur
Date d'inscription: 09/11/2005
Messages: 3 750
|
![]() Vala comme convenu mes questions
![]() Vala en fait: je ne comprend pas la partie graphique. Ou plus précisement, comment fait tu pour obtenir ce résultat (la map) ? Voila ce que j'ai compris en faisant le parralèle avec mes connaissances en prog GBA/HAM : Déja il ne semble pas y avoir de palettes à charger (tant mieux ou pas, on s'en fou un peu pour l'instant) Puis tu charge le tileset, qui n'est plus un fichier C comme j'ai l'habitude, mais un fichier PNG normal. Et enfin tu crèe la map en utilisant le tileset et le fichier map, qui lui est toujours en C ![]() Bon jusque la ca va, sauf que je ne sait pas comment reproduire ca avec ma propre map ![]() Vala la question : comment toi tu fait ? surtout ce fichier PNG, d'ou sort il ? tu utilise donc un autre éditeur de map que GBA Graphics ? Ou alors j'ai raté une option dans GG ? 2eme thème : les touches. Dans ton exemple, tu appelle oslReadKeys(); au milieu du code, après les tests des boutons et avant le test du joystick... il y a une raison spéciale ou c'est un oubli/hasard ? Vala c'est tout... et installe VS c++, ca vaux vraiment le coup ![]() |
![]() |
![]() |
![]() |
#10 |
Membre confirmé
Date d'inscription: 10/11/2005
Messages: 1 037
|
![]() Je crois qu'il ne faut pas faire de parallèle avec le dev gba/DS
|
![]() |
![]() |
![]() |
#11 |
Administrateur
Date d'inscription: 09/11/2005
Messages: 3 750
|
![]() Vi, mais bon je connais que ça
![]() |
![]() |
![]() |
![]() |
#12 |
Membre confirmé
Date d'inscription: 10/11/2005
Messages: 1 037
|
![]() C'est pour ca qu'il nous a fait cette lib
![]() |
![]() |
![]() |
![]() |
#13 |
Super Modérateur
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 229
|
![]() * Bon déjà tu me l'avais demandé dans le MP, le fait que les ressources soient des fichiers et non du code provient d'une différence fondamentale entre la GBA/DS et la PSP. Il faut savoir que sur PSP, on ne peut pas lire directement sur la Memory Stick; lorsqu'on le fait c'est par blocs et c'est ultra lent, contrairement à la GBA où on a directement accès à toute la cartouche.
On est donc obligé de charger en RAM tout ce qu'on veut utiliser, y compris notre "ROM" (jeu), qui est chargé entièrement par la PSP au démarrage. C'est pourquoi on doit faire en sorte qu'il soit le plus petit possible, parce que toute la place prise par le code réduit en même temps la RAM disponible (déjà pas grande à la base). Si j'inclus mon image ou ma map au code, elle sera rajoutée au jeu, résultat ça va plomber la RAM pour rien, même si on n'aurait pas forcément besoin du tileset "feu" dans un niveau de glace par exemple ![]() Pour ça, on utilise les fichiers, car ils sont sur la MS, mais on les charge en RAM à la demande. C'est plus lent (loading powaa...), mais au moins on peut limiter au max la RAM utilisée. * Pour la map, ce sont des sprites. Actuellement elle est implémentée de façon optimisée donc ça ne sert à rien que je te copie le code parce que tu y comprendras encore moins qu'avant ![]() Mais tu peux prendre directement une map de GBA Graphics, à l'avenir ce sera un fichier à charger. Je peux essayer de te développer une routine simple étape par étape pour voir. Imaginons que tu as trois tiles, une vide (0), une avec de l'eau (1) et une avec un bout de terre (2). Pour simplifier elles sont dans trois images différentes. Ensuite tu as un tableau qui définit où sont les différentes tiles, exemple: Code:
const unsigned short mamap[5][5]= { {0,0,0,0,0}, {0,2,2,2,0}, {1,1,1,1,1}, {1,1,1,1,1}, {1,1,1,1,1} }; Code:
for (y=0;y<5;y++) for (x=0;x<5;x++) { //Pour chaque bloc du tableau, on le dessine à l'écran aux positions * 8 (une tile fait 8x8) if (mamap[y][x] == 0) oslDrawImageXY(x*8, y*8, image0); else if (mamap[y][x] == 1) oslDrawImageXY(x*8, y*8, image1); else if (mamap[y][x] == 2) oslDrawImageXY(x*8, y*8, image2); } oslSetImageTileSize( image, x, y, largeur, hauteur); Pour définir quelle partie de l'image on dessine. Par exemple si on a une image de 128x128 qui contient 16 sprites de 32 par 32, on peut afficher le premier ainsi: Code:
oslSetImageTileSize(image, 0, 0, 32, 32); oslDrawImageXY(0,0, image); Code:
oslSetImageTileSize(image, 96, 0, 32, 32); oslDrawImageXY(0,0, image); * GBA Graphics ne supporte pas la PSP actuellement, par contre je le recoderai peut-être complètement à l'occas, parce qu'il se fait vieux. Pour le moment je convertis le tileset et la map avec GBA Graphics et après je choisis mon tileset et je fais Ctrl+C (copier l'aperçu) et je le mets dans un fichier PNG, mais c'est mauvais parce qu'on perd un peu de qualité. * Pour les touches c'est une erreur, je ne devrais pas les utiliser avant oslReadKeys ![]() Pour les maps, le principe n'a rien à voir avec la GBA, tu ne copie pas une map ou palette quelque part, tu fais appel à une fonction qui dessine ta map. En fait c'est un peu le mode 3 avec encore moins de choses: pas de palette, pas de maps, pas de sprite (contrairement à la GBA), rien du tout, juste un grand écran vide. Après tu commences à dessiner calmement ton écran, en faisant appel aux fonctions de dessin de sprites et autres. Le fait de dessiner successivement des sprites et des maps les uns sur les autres donne le même rendu que sur la GBA: les plans qui sont dessinés en dernier seront en avant puisqu'ils écrasent ceux de derrière. Pour les maps, laisse moi un peu de temps, là c'est un peu foireux parce que je ne peux pas les intégrer à GBA Graphics, mais essaie de comprendre les principes de ce style de "dessin libre" sur l'écran, en dessinant des sprites par exemple. Tu devrais même pouvoir écrire ta propre routine de maps une fois que tu as compris le principe, donc pas besoin de la mienne ![]() N'hésite pas à demander plus de choses si tu es bloqué... ![]()
__________________
[10.12.2018] PatrickBoy: codez vos jeux avec la puissance d'une borne d'arcade 16 bits! [21.01.2010] Emu Game Boy et GUI pour la coloration de jeux GB Partagez vos meilleures musiques de jeu vidéo! ![]() ![]() ![]() Dernière modification par Brunni ; 28/01/2006 à 00h57. |
![]() |
![]() |
![]() |
#14 |
Administrateur
Date d'inscription: 09/11/2005
Messages: 3 750
|
![]() Merci merci, ca s'éclaircit un peu
![]() C'est sur que j'aurais pas réussi à piger ça rien qu'en regardant le code ![]() Prochain objectif : afficher (soyont fous) plusieurs map et simuler un paralax ![]() PS : ne tiens pas compte de la derniere phrase de mon MP ![]() |
![]() |
![]() |
![]() |
#15 |
Membre confirmé
Date d'inscription: 10/11/2005
Messages: 830
|
![]() salut, bravo brunni pour tes travaux, ca permet de voir comment maitriser la bete.
si il existai un emulateur je m'y mettrai bien mais malheureusement ce n'est pas le cas ![]() j'adore le fait d'avoir un ecran vide ou tu fait tout toi meme de A a Z c'est trop cool ![]() brunni en ce qui concerne la 3D tu as testé un peu ou pas ? a titre d'information (bien entendu ![]() edit: #define RGBA16(r,v,b,a) ((((b)>>3)<<11) | (((v)>>2)<<5) | ((r)>>3)) un "a" de trop la non ? Dernière modification par Nesgba ; 28/01/2006 à 09h56. |
![]() |
![]() |
![]() |
#16 |
Membre confirmé
Date d'inscription: 10/11/2005
Messages: 1 037
|
![]() alpha, non ?
|
![]() |
![]() |
![]() |
#17 | |
Membre confirmé
Date d'inscription: 10/11/2005
Messages: 830
|
![]() Citation:
|
|
![]() |
![]() |
![]() |
#18 |
Membre confirmé
Date d'inscription: 10/11/2005
Messages: 1 037
|
![]() peut-etre que dans d'autres macros il sert, donc il est mis pour 'harmoniser' les macros en demandant toujours la meme chose
|
![]() |
![]() |
![]() |
#19 | |
Membre confirmé
Date d'inscription: 10/11/2005
Messages: 830
|
![]() Citation:
![]() |
|
![]() |
![]() |
![]() |
#20 |
Membre confirmé
Date d'inscription: 10/11/2005
Messages: 1 037
|
![]() lol, pas faux
![]() Bon, 1 point pour toi, cette fois-ci c'est toi ou moi qui cherche un topic où se fighter ? ![]() |
![]() |
![]() |
![]() |
#21 | |
Membre confirmé
Date d'inscription: 10/11/2005
Messages: 830
|
![]() Citation:
![]() ![]() |
|
![]() |
![]() |
![]() |
#22 |
Super Modérateur
Date d'inscription: 10/11/2005
Localisation: Un pays avec beaucoup de banques
Messages: 3 229
|
![]() C'est effectivement pour harmoniser, pour que chaque routine ait une version RGB et RGBA (après si c'est inutile on s'en fout)
![]() Donc en 16 le A sert à rien, ça revient au même que RGB, mais en 12 par exemple: #define RGB12(r,v,b) ((((b)>>4)<<8) | (((v)>>4)<<4) | ((r)>>4)) #define RGBA12(r,v,b,a) ((((a)>>4)<<12) | (((b)>>4)<<8) | (((v)>>4)<<4) | ((r)>>4)) Par contre là je vais l'enlever, ça évitera de croire qu'on a un canal alpha en mode 16 bits... Sinon voici un petit tutorial pour ceux qui viennent de la GBA (doc/debut.htm), inclus au nouveau zip: http://membres.lycos.fr/brunni/OSLib.zip (clic droit enregistrer sous) Désolé de le mettre sur lycos mon compte sur infernobox ne marche plus ![]() ![]() |
![]() |
![]() |
![]() |
#23 |
Membre confirmé
Date d'inscription: 10/11/2005
Messages: 1 037
|
![]() Bah je peux t'offrir un hébergement, mais ca sera sur palib.info... donc si ca te dérange pas je t'ouvre un acès ftp dessus
![]() Et vlan le Nes, un point pour Momo... |
![]() |
![]() |
![]() |
#24 |
Membre confirmé
Date d'inscription: 10/11/2005
Messages: 830
|
![]() IWRAM ou pas ? la ram quelle taille ? vitesse de transfert ram->cpu ? quel compillateur ? le code généré est optimisé ? tu aime le chocolat ? plottage par 2 ou 3 possible par le hard ?
![]() |
![]() |
![]() |
![]() |
#25 | |
Administrateur
Date d'inscription: 09/11/2005
Messages: 3 750
|
![]() Citation:
![]() ![]() Et stop le hors sujet, il faut que je me concentre pour mon parallax ![]() |
|
![]() |
![]() |
![]() |
Liens sociaux |
Publicité |
Utilisateurs regardant la discussion actuelle : 1 (0 membre(s) et 1 invité(s)) | |
Outils de la discussion | |
Modes d'affichage | |
|
|