µLua DS - Forum officiel | Official forum Index du Forum

µLua DS - Forum officiel | Official forum
Le bon endroit pour en savoir plus sur MicroLua et pour parler de vos projets ! | The right place to learn more about MicroLua and talk about your projects !

 FAQFAQ   RechercherRechercher   MembresMembres   GroupesGroupes   S’enregistrerS’enregistrer   ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 

MicroLua 4.7.1

 
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Annonces
Sujet précédent :: Sujet suivant  
Auteur Message
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Dim 17 Nov 2013 - 22:40    Sujet du message: MicroLua 4.7.1 Répondre en citant

MICROLUA 4.7.1






Voici donc aujourd'hui la toute dernière mouture de MicroLua : la version 4.7.1 !

Que dire à son sujet ? Mmh et bien, sa raison d'être est de corriger principalement le Wifi un peu bancal (maintenant c'est propre et joli à utiliser) et le temps de démarrage bien trop long. On peut aussi noter deux-trois corrections en fond sur la fameuse fonction System.listDirectory() et l'apparition de System.EFS pour vous dire s'il y a un EFS dans l'exécutable.

Mise à jour assez importante somme toute, et notamment parce qu'elle bouleverse un peu la façon d'utiliser la Wifi (merci Thomas99 Smile ). Je vous invite donc à regarder la page de doc Module Wifi. Pour résumer, les sockets sont maintenant des objets avec lesquels vous pouvez interagir avec les deux-points ":" et leurs méthodes. La distinction est aussi faite entre les sockets UDP et TCP qui se comportent différemment.


I. Téléchargements

Détenteurs de 3DS : veuillez lire attentivement les instructions d'installation ci-dessous !




II. Instructions d'installation

Il n'y a rien de plus simple qu'installer MicroLua sur votre linker !

La première chose est évidemment de télécharger le package, puis de l'extraire quelque part sur votre ordinateur. Ceci fait, copiez simplement le dossier nommé lua à la racine de votre linker (c'est-à-dire directement dans le "dossier qui contient tous les autres"), ainsi que l'exécutable MicroLua 4.7.1.nds. L'exécutable peut être placé n'importe où sur votre linker.

Vous n'avez plus qu'à tester en allumant votre console et en lançant MicroLua ! Si tout va bien, vous verrez apparaître le shell de MicroLua (un homebrew d'accueil en quelque sorte) comme ceci :


Si vous possédez une 3DS, vous serez victimes d'un bug qui empêche la date et l'heure de se mettre à jour durant l'exécution de MicroLua. Afin de le résoudre (ou plutôt de le contourner), voici ce qu'il vous faut faire :
  • dans le dossier lua se trouve un fichier nommé myboot_example.lua; renommez-le simplement myboot.lua
  • maintenant, ouvrez-le, puis supprimez tout entre les lignes 32 et 49 (incluses)
  • enregistrez

Autrement dit, le contenu du fichier doit désormais être :
Code:
--[[

DEFAULT MYBOOT
==============
       
       
Based on Christophe "Grahack" Gragnic's idea in October 2009
Written by Reylak
http://microlua.xooit.fr
http://sourceforge.net/p/microlua/

   
--------------------------------------------------------------

   Here is the default example of "myboot.lua".
   Please note that it is *NOT* loaded by
   "boot.lua". If you want to, rename it as
   "myboot.lua".

]]


--[[ If you are running MicroLua on a 3DS, you are victim of a libnds's bug that prevent
    time of being updated. If this is the case, activate "myboot.lua" as explained above
    so the following lines are used; they replace Lua's built-in functions by corrected
    versions. More information can be found on https://sourceforge.net/p/microlua/wiki/3DSTimeWorkaround/
    You will probably have to comment the other ones for they are not useful and may
    lead to unexpected behaviours. ]]
os.time = os.time3DS
os.date = os.date3DS

-- And finally, if you wish to come back to the "normal" bootstrap (which is the best thing to do).
return "continue"

Maintenant vous pouvez relancer MicroLua, et vérifier que l'heure affichée dans le shell se met bien à jour correctement.

Explications : le fichier myboot.lua permet d'affecter le comportement de votre version de MicroLua sur plusieurs points, et notamment en remplaçant des fonctions. C'est ce qui est fait ici, où les fonctions de base du langage Lua os.time() et os.date() sont remplacées par les fonctions apportées par MicroLua os.time3DS() et os.date3DS(). Il est ensuite demandé d'enlever les lignes suivantes qui ne sont en fait que des exemples d'utilisation de ce fichier (la dernière ligne de celui-ci est cependant très importante) ; vous pourriez aussi vous contenter de les commenter en ajoutant deux tirets "-".


III. Changements depuis la dernière version


  1. Nouvelles fonctionnalités
    • Ajout de la variable System.EFS qui indique s'il y a un système de fichiers embarqué (EFS) (un booléen)

  2. Améliorations
    • Mise à jour des exemples et des licences
    • Corrige une fuite de mémoire dans System.listDirectory() ainsi que dans les fonctions de récupération du nom et du message du joueur
    • Améliore le tir à bulles utilisé dans System.listDirectory()
    • Le module de Wifi utilise désormais une syntaxe orientée objet avec des méthodes appelées sur des objets Socket via des deux-points ":"
    • Les sockets TCP doivent maintenant être connectés à leur serveur après leur création
    • Il est possible de définir un serveur par défaut pour les sockets UDP

  3. Corrections de bug
    • Corrige le temps de démarrage excessivement long, qui était dû à MicroLua essayant d'initialiser l'EFS même s'il n'y en avait pas, ce qui résultait en d'interminables scans de la carte mémoire
    • Les dossiers dans l'EFS ont maintenant une taille mémoire de 0, comme dans le FAT
    • Corrige le problème des sockets UDP qui ne pouvaient être envoyés

  4. Changements pour les développeurs de MicroLua
    • Le Makefile définit une macro EFS durant la compilation, qui indique au code C s'il y a un EFS ou non ; elle est utilisée pour fournir la variable System.EFS
    • Les fichiers .o ont été ajoutés au .gitignore




IV. Readme please!

Comme de coutume, voici le fichier README (en anglais) tel que vous pourrez le trouver dans le package :
Reylak a écrit:
MICROLUA 4.7.1
==============


> By the MicroLua's forum members, from the original project by Risike
> README file by Reylak


******************************************************************
I-..... Package content
II-.... Installation
III-... User guide
IV-.... Developer guide
V-..... Features
VI-.... Links
VII-... Credits and other background informations
******************************************************************


I- Package content
------------------

This package contains the following files and directories:

* 'doc': you can find in this folder all the documentation as it can be found on the SourceForge (link below) of the project. This is an offline version of the Wiki as it was when this package was released; the text setup is done with MarkDown (thus the '.md'), a simple lightweight markup language that is easily readable by a human
* 'lua': this folder is the essential part of uLua with its binary
* 'libs': this directory contains some essential files of uLua; you usually have nothing to do with these ones
* 'scripts': you will place here the uLua scripts you want to play (as it is the default folder uLua will look for the scripts, but you may use any other directory of your wish)
* 'examples': here are some useful examples showing you the more important features of MicroLua
* 'MicroLua.nds': here is the binary file for uLua
* 'README': the file you're now reading. You have all my gratitude for reading it! Wink
* 'CHANGELOG': this file presents you the most recent improvements made on uLua
* 'COPYING': just a copyright notice from the GNU GPL v3 for MicroLua


II- Installation
----------------

It is quite easy: just _copy the 'lua' folder_ to the **'root'** (and this is really important, you have to put the 'lua' folder to the 'root', i.e. the '/' folder, the one which contains all the others); and then, _copy the binary file 'microlua.nds'_ wherever you wish on your card.

For more detailed instructions, please look at this page: <https://sourceforge.net/p/microlua/wiki/Installation/>

If you have troubles while launching uLua, like "Unable to load libs.lua", check that the 'lua' folder is at the right place, that is to say in the 'root' (and that the 'libs.lua' file is in '/lua/libs/').


III- User guide
---------------

When you find a good uLua script (they are actually all good... Wink ), you will have probably either a single file (little script) or a directory. Just _copy what you get into the 'scripts' folder_.

Then, boot your Nintendo DS, launch MicroLua. You can see on the bottom screen a file list: this is the content of your 'scripts' folder. You can freely naviguate through your card using the D-pad Up and Down; use Right to open a folder, and eventually you can use the A button to launch a script. Note that if you use A on a folder which contains a file named 'index.lua', this file will be launched.

And that's all, so enjoy yourself with the greatest uLua scripts! ;)

For a complete manual of MicroLua, look at the page <https://sourceforge.net/p/microlua/wiki/Home/>.


IV- Developer guide
-------------------

If you intend to make your own uLua scripts, here are some tips. These advices are available on our Wiki, more up-to-date and complete (<https://sourceforge.net/p/microlua/wiki/Home/>).

### Utilitaries ###

Some **utilitaries** (Windows only) are available for download on the SourceForge; they include:

* A Lua compiler, which precompiles your scripts for faster execution. However, this is not often useful, and other people will not be able to look at the code
* A font converter, to use your own fonts in your scripts
* A map converter, from GBA graphics to NDS
* A soundbank maker, to make your scripts more vivid with some sound

### Testing code on the computer ###

It's so boring to put your script on your uSD card, then in your linker, then boot your DS, then launch MicroLua, then FINALLY test your program and see that it doesn't work because you forgot this little tiny bracket. So you may want to **test your scripts on your computer** (it would be so convenient!). And guess what... It's possible! You can use MicroLua Simulator (MLS), a really good homebrew made by Ced\_le\_pingouin. Or you can also test with DeSmuME, a NDS emulator which can make MicroLua run.

### Packaging your scripts ###

I hope you will make great projects, so you will distribute a folder containing your project files. The default uLua shell provides a useful feature: **it will launch the file named 'index.lua' if you open the folder with the A button**. This way you can make your project look better by "hiding" the several files in the directory: the user will only have to press A instead of searching the correct file among the twenty others.

### Good habits are good ###

Last but no least: please, **do NOT compile your scripts**. It is often useless (as a speed gain), and open source projects are far better (imagine that one day you loose your files). I know there are some bad people outside, who may stole your work, but as long as you publish your projects on the uLua forum, there will be no leeching.

A safe alternative may be to use the **Embedded File System (EFS)** that provides MicroLua through the EFSLib, which allows you to produce a NDS binary including all your files. I encourage you to read this page then: <https://sourceforge.net/p/microlua/wiki/EFS/>.


V- Features
-----------

Here are the main features of MicroLua:

* _Fast drawing_: as MicroLua is based on Brunni's library, the uLibrary, MicroLua provides fast 2D drawing using the 3D GPU. But that also means there will probably not be any 3D drawing with MicroLua. If you are not happy with that, just delete this package and go to see PALib. This also includes alpha transparency, and PNG/GIF transparency (as MicroLua can load PNG, JPEG and GIF image formats)
* _Even faster drawing_: MicroLua also features Canvas, an object-oriented drawing system with high performances while allowing you to dynamically change drawing attributes after their creation
* _Full Sprites and Maps systems_: with automated animations, and dynamic maps (you can change the map constitution through your program)
* _Wifi_: Microlua provides full access to the Wifi connection of the Nintendo DS
* _Nifi_: MicroLua allows you to make your console communicate with other ones Ad-hoc
* _Sound system_: based on the Mixmod library, uLua can play MOD and WAV sounds based on a soundbank system
* _Fat access_: full access to the content of your card; uLua also implements a built-in library to manage INI config files
* _Embedded File System (EFS)_: you can make a special MicroLua version to embed your scripts inside the Lua interpreter
* _Rumble and motion_: if you have the required hardware, you can use uLua to make your NDS shake and detect its movements


VI- Links
---------

* <http://www.microlua.xooit.fr>: the main MicroLua's site (actually this is a forum). The active community will help you progress and share your scripts Wink Probably THE place you should check everyday
* <https://sourceforge.net/projects/microlua/>: MicroLua's project hosting on SourceForge. If you want to have the true latest MicroLua release, go check it! There is also a good Wiki with tons of informations
* <http://www.lua.org>: the official Lua website. You can find here all the informations relative to the language; this will probably be useful to you if you intend to make some homebrews with uLua unless you already know by heart the language


VII- Credits and other background informations
----------------------------------------------

All the thanks will first go to **Risike**, the true owner of the project, the Creator, our God (let's stop here), as the project originally comes from him. He released the first version of MicroLua in 2008, and maintained it until 2009 (v3.0). At this point, he stated that he didn't want to continue this project and released it open source.
But we, **the community**, took care of it, and continued the work. MicroLua sources are of course available.

People who must be thanked are _Papymouge_, at least for his great job on Wifi, Nifi, its shell... actually for too many things; _Ced-le-pingouin_, for working on the compilation process and for his great **MLS**, _Thomas99_ for its job about improving our Wifi system, _Grahack_ which have so many good (or not) ideas on how to drive uLua, _Ghuntar_, _thomh@ck_, _thermo_\__nono_, _geeker_ and myself _Reylak_, for this soooo beautiful README file Wink And last but not least, _all the community_ for creating such magnificent homebrews and supporting us!

One last thing about uLua: some people confuse MicroLua with Lua. _Lua is a language_, basically used on computers either as a stand-alone or as a plugin engine. uLua is meant to be **an adaptation of Lua for the Nintendo DS**. So please, MicroLua is NOT a language; LUA is the language; we have a detailed explanation here: <https://sourceforge.net/p/microlua/wiki/Lua/>. That's all, folks.

I now just have to thank also you for downloading the sources and maybe improving MicroLua! I hope this way you will enjoy much more MicroLua!



> Reylak

_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
Publicité






MessagePosté le: Dim 17 Nov 2013 - 22:40    Sujet du message: Publicité

PublicitéSupprimer les publicités ?
Revenir en haut
geeker


Hors ligne

Inscrit le: 23 Déc 2012
Messages: 363

MessagePosté le: Mar 19 Nov 2013 - 17:28    Sujet du message: MicroLua 4.7.1 Répondre en citant

Bravo Thomas99 pour le wifi (que je n'utilise pas encore ... pas encore :p) et merci aux autres pour le reste des améliorations . La variable Système.EFS va bien alléger mon shell et d'autres codes (genre un truc qui dump l'efs dans un dossier sur la sd ). En bref c'est cool d'avoir un truc stable qui plante pas et qui mets pas 3h à se lancer ...
_________________
Beta-testeur de l'extrème
Tox: FFBDC8B34DC3CDE51F8F1CB0A628147DE740ACD1D44682EB5492A681F6541E32E8D8BB6052B3
CtrµLua: ctrulua.github.io
Des p'tits true, des p'tits true, toujours des p'tits true ...


Revenir en haut
Visiter le site web du posteur
Thomas99


Hors ligne

Inscrit le: 12 Avr 2012
Messages: 141
Localisation: Le forum.

MessagePosté le: Mar 19 Nov 2013 - 19:24    Sujet du message: MicroLua 4.7.1 Répondre en citant

De rien... mais... j'ai bossé tant que ça ? :p
De grands bravo à Reylak qui, on l'espère, est venu à bout des bugs du système de fichiers (System.listDirectory() notamment :p).

Bref maintenant que je m'y suis mis, moi j'ai bien envie de continuer à programmer µLua... J'ai plein d'idées pour améliorer le Wifi... (et aussi des trucs tout nouveaux, mais j’attends de les développer un peu avant d'en parler...)
Longue vie µLua !
_________________
Publié : ctrµLua, Candran
A publier : TCPDebugger, FastShell
A finir : µPortal, LLUL, µStore, serveur wifis, microlua.js, d'autres trucs
Mon site \o/


Revenir en haut
Visiter le site web du posteur
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Mar 19 Nov 2013 - 22:04    Sujet du message: MicroLua 4.7.1 Répondre en citant

geeker a écrit:
En bref c'est cool d'avoir un truc stable qui plante pas et qui mets pas 3h à se lancer ...

On sait jamais, on sait jamais...
_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
geeker


Hors ligne

Inscrit le: 23 Déc 2012
Messages: 363

MessagePosté le: Mer 20 Nov 2013 - 11:49    Sujet du message: MicroLua 4.7.1 Répondre en citant

Effectivement, y'a un bug: le première erreur  n'est pas prise en compte, l'écran de crash n'apparait pas ... j'ai pas encore vérifié les codes de libs.lua alors je peux pas dire d'où ça vient pour l'instant .

EDIT: d'après mes logs, ça viens de libs.lua, qui était lancé par myboot.lua, et donc qui plantait lorsque il y avait une erreur; ensuite, le myboot retournait une erreur et boot.lua relançait libs.lua . Ce qui est bizarre, c'est que ça ne me le faisait pas avant ...
_________________
Beta-testeur de l'extrème
Tox: FFBDC8B34DC3CDE51F8F1CB0A628147DE740ACD1D44682EB5492A681F6541E32E8D8BB6052B3
CtrµLua: ctrulua.github.io
Des p'tits true, des p'tits true, toujours des p'tits true ...


Revenir en haut
Visiter le site web du posteur
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Mer 27 Nov 2013 - 21:53    Sujet du message: MicroLua 4.7.1 Répondre en citant

Concrètement c'est quoi le problème ? Quand un script produit une exception, elle n'est rattrapée par rien ?

D'ailleurs le bootstrap ne fonctionne pas comme ça : microlua.nds lance boot.lua, qui lance myboot.lua, qui revient à boot.lua, qui lance libs.lua (qui lance shell.lua).
_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
geeker


Hors ligne

Inscrit le: 23 Déc 2012
Messages: 363

MessagePosté le: Jeu 28 Nov 2013 - 17:44    Sujet du message: MicroLua 4.7.1 Répondre en citant

Le problème c'est que je suis un boulet, j'avais codé un truc (sur myboot.lua et libs.lua) pour lancer µLua sur différents dossiers (fat:/lua/ ou fat:/lual/ en fonction de la versions) et du coup il lançait "fat:/lual/libs/libs.lua/" de base, sauf que j'ai pas viré cette installation alors que j'ai mis ma principale à jour ... Donc j'ai écrasé les modifs de l'installation principale, donc ben ça marchait plus ... *sort le plus vite possible*
_________________
Beta-testeur de l'extrème
Tox: FFBDC8B34DC3CDE51F8F1CB0A628147DE740ACD1D44682EB5492A681F6541E32E8D8BB6052B3
CtrµLua: ctrulua.github.io
Des p'tits true, des p'tits true, toujours des p'tits true ...


Revenir en haut
Visiter le site web du posteur
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Jeu 28 Nov 2013 - 23:34    Sujet du message: MicroLua 4.7.1 Répondre en citant

C'est bien pour ça que je me suis pas inquiété outre mesure, je commence à te connaître geeker :p


ALORS ALORS ALORS on a une release sans bug ? <3
_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
Negi


Hors ligne

Inscrit le: 16 Avr 2013
Messages: 103
Localisation: Somewhere around Pluto

MessagePosté le: Ven 29 Nov 2013 - 20:15    Sujet du message: MicroLua 4.7.1 Répondre en citant

Ouais (enfin pas eu trop le temps de tester, mon fix de DS m'a lâché.) :3 Mais le gros bouton vert de SF télécharge toujours la 4.7 :3
_________________
Projet Actif : mkdz

φ

µStore
LLUL
Civi
HS-SRPG
Beaucoup d'autres...Trop T_T



Revenir en haut
Visiter le site web du posteur GTalk/Jabber
Reylak
Administrateur

Hors ligne

Inscrit le: 24 Nov 2008
Messages: 2 838
Localisation: Toulouse

MessagePosté le: Sam 30 Nov 2013 - 20:31    Sujet du message: MicroLua 4.7.1 Répondre en citant

Oui ! Voilà c'est ça que j'avais oublié de faire :p
_________________


Plein d'infos sur le SourceForge !


Revenir en haut
Visiter le site web du posteur MSN Skype
Contenu Sponsorisé






MessagePosté le: Aujourd’hui à 09:23    Sujet du message: MicroLua 4.7.1

Revenir en haut
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    µLua DS - Forum officiel | Official forum Index du Forum -> Section française -> Annonces Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1

 
Sauter vers:  

Index | Creer un forum | Forum gratuit d’entraide | Annuaire des forums gratuits | Signaler une violation | Conditions générales d'utilisation
Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com