[RMXP] Code source du noyau RGSS

Mod Message lu Posté le 17 Oct 2008 à 16:24 Bulle
Avatar de Mod
Webmaster

Messages : 4954
GCPoints : 2100823
Pour diverses raisons, j'ai eu l'occasion cet après-midi de m'essayer plus en profondeur au RGSS, ce qui m'a donné l'occasion de jeter plus profondément un coup d'oeil à l'architecture de RPG Maker XP, et notamment de son GamePlayer, qui en est déprimant tellement il manque de flexibilité.
J'ai entre autres été recherche le code source Ruby du noyau RGSS qu'est le module "RPG". Accessible depuis le logiciel mais non consultable ou modifiable. Il sera au moins consultable, maintenant.

Voici qui pourra toujours être utile à quelqu'un, je résume donc les quelques informations récupérées :

- RPG Maker XP utilise DirectX8 pour toute la gestion sonore, graphique, et d'entrées. Vu qu'il s'agit d'un rendu 2D, on peut imaginer que le logiciel utilise DirectDraw

- J'ai pu regrouper une certaine partie des fonctions codées en dur, et non en Ruby au sein de RGSS100J.dll :

Spoiler - Cliquez pour afficher
Audio.se_stop
Audio.se_play

Audio.me_fade
Audio.me_stop
Audio.me_play

Audio.bgs_fade
Audio.bgs_stop
Audio.bgs_play

Audio.bgm_fade
Audio.bgm_stop
Audio.bgm_play


Bitmap.draw_text

Bitmap.hue_change

Bitmap.set_pixel
Bitmap.get_pixel

Bitmap.clear
Bitmap.fill_rect

Bitmap.stretch_blt
Bitmap.blt


La liste n'est pas exhaustive, je ne regroupe là que les fonctions clairement déterminées comme codées en dur.

- Et donc le code source du noyau, que j'ai pris le temps de récupérer et de mettre en forme. Le module Cache du module RPG est assez intéressant à comprendre, puisqu'il contient la totalité des ressources graphiques et sonores du GamePlayer.

Voir le code.
Dernière édition le 17 Oct 2008 à 16:29
Daru13 Message lu Posté le 17 Oct 2008 à 17:21 Bulle
Avatar de Daru13
Membre Elite

Messages : 2884
GCPoints : 108090
Les scripts RUBY ( au complet ) sont contenus dans la dll ?

Parce que certaines fonctions sont accessibles et modifiable dans le gestionnaire de script... ^^
Notamment dans les quelques premiers scripts de la liste si je ne me trompe pas =}.
Mod Message lu Posté le 17 Oct 2008 à 20:04 Bulle
Avatar de Mod
Webmaster

Messages : 4954
GCPoints : 2100823
C'est moitié-moitié. Tu as les scripts accessibles depuis l'éditeur qui sont enregistrés dans le fichier Data/scripts.rxdata, et ce qui n'est pas accessible là l'est dans la DLL. Mais les fonctions que je précise sont bien codées en dur, et non modifiables ;).
Siegfried Message lu Posté le 22 Nov 2008 à 13:55 Bulle
Avatar de Siegfried
Membre Confirmé

Messages : 167
GCPoints : 10958
Excellent, mais il manque des trucs de fou comme TileMap...
Enfin bon, personne n'y arrive de toute façon et t'as produit des trucs de dingue.

Pour Game_Player, j'ai de toute façon déjà carrément refait le mien, surtout pour l'update qui devrait être séparé en plusieurs méthodes juste pour le manips de touches directionnelles, etc...

Je recherche un moyen de faire des éditeurs hors-rm, histoire de faire des trucs corrects...
"Le making se fait sur RPGMaker et non sur les forums."
Mes sites et forums :
Image
Roys Message lu Posté le 23 Nov 2008 à 12:50 Bulle
Avatar de Roys
Membre Novice

Messages : 14
GCPoints : 14167
Merci Mod
La plupart de ces class/module sont aussi disponibles dans l'aide de RM à quelques exceptions prêt, pour ma part je serai curieux de voir la prog du module Marshal par exemple
Geex
Edit, Play and Game
Votre Suite de creation rapide de jeux 2D compatible Windows et Xbox
http://www.geexpowered.com

You êtes libre de devenir contributeur, même 1euro peut nous aider
Image


Image
Follow us
Mod Message lu Posté le 05 Déc 2008 à 19:12 Bulle
Avatar de Mod
Webmaster

Messages : 4954
GCPoints : 2100823
Hum, va falloir que j'aille faire un tour dans l'aide de RM, alors, je n'ai jamais pensé à aller y chercher quoi que ce soit.



Citation :

Je recherche un moyen de faire des éditeurs hors-rm, histoire de faire des trucs corrects...



Pour faire de bons éditeurs, je ne saurais que conseiller Java ou un quelconque langage .Net compliant, type C#, VB.Net, C++ managé, etc. Ce sont les langages les plus utilisés pour la création d'applications graphiques. Le C# est d'ailleurs particulièrement simple à utiliser grâce aux aides à la programmation présentes dans Visual Studio (auto-complétion, intellisense et autres).
King Kadelfek Message lu Posté le 13 Déc 2008 à 00:34 Bulle
Explorateur

Messages : 44
GCPoints : 37244
Dis-moi, Mod, est-ce que tu aurais par hasard les classes manquantes du noyau ?

Color, Tone, ainsi que leurs méthodes _dump et _load, pour fonctionner avec Marshal ?

L'idéal serait de pouvoir charger une map hors RM grâce à Marshal, et la sauvegarder de la même façon.
As-tu des infos là-dessus ?

J'ai trouvé le code de Table qui permet ça (testé et fonctionnel) :
http://www.rmxp.org/forums/index.php?topic=49838.msg472866


Mais je recherche toujours les autres classes.
(aussi pour VX, je recherche tout le module RPG)
Dernière édition le 13 Déc 2008 à 00:34
Mod Message lu Posté le 13 Déc 2008 à 11:23 Bulle
Avatar de Mod
Webmaster

Messages : 4954
GCPoints : 2100823
Les classes Color et Tone, je n'ai pas encore cherché à les récupérer, où qu'elles puissent être cachées, il faudrait d'ailleurs que je regarde plus exactement ce qu'elles font à travers les méthodes que tu cites.

Le module RPG pour VX, un bon moyen de le récupérer en partie serait de le recomposer à partir de l'aide du logiciel, à première vue, il doit y avoir à peu près toutes les définitions de classe. J'ai déjà fouillé dans les éléments compilés de VX, et il n'y a apparemment rien qui d'exploitable par rapport au module RPG. Soit le code est crypté (ce dont je ne verrais pas l'intérêt), soit il est compilé (et ce ne sera pas du gâteau pour le récupérer), soit il est sacrément bien caché.
Répondre
GameCorp - Site d'apprentissage et d'entraide à la création de jeux vidéo.
XHTML Valid 1.1 - Page générée en 0.0339 secondes