Les membres ayant 30 points peuvent parler sur les canaux annonces, projets et hs du chat.
La shoutbox n'est pas chargée par défaut pour des raisons de performances. Cliquez pour charger.

Forum Casio - Discussions


Index du Forum » Discussions » Comment faire un jeu en C pour Graph 75 et 35+ ?
Farhi En ligne Membre Points: 1375 Défis: 0 Message

Comment faire un jeu en C pour Graph 75 et 35+ ?

Posté le 27/11/2019 15:12

Bonjour à tous,
Récemment j'ai voulu commencé à faire un jeux en C mais le souci c'est que je ne parvient pas à trouver les alternatives de certaines fonction présente en BASIC comme par exemple:
-Pxlon
-F-Line
-Getkey
-Text

Tout ce qui relève à des fonction spécifique de la calculatrice, dont ces fonctions (celles que je viens d’énoncé au dessus) qui me semble indispensable.

Merci d'avance pour votre aide


Précédente 1, 2, 3 ··· 9, 10, 11, 12, 13 Suivante
Farhi En ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 31/05/2023 13:50 | #


Merci ! J'ai réussi finalement depuis, j'ai finalement utilisé fxconv comme Lephenixnoir me l'a conseillé. C'était plus facile à implémenté, mais merci quand même
"La créativité est contagieuse faites la tourner"
Albert Einstein
Farhi En ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 01/06/2023 18:31 | #


Je me suis baladé sur Planet Casio pour savoir comment utiliser FYI et j'ai pas trouvé.
Par conséquent j'aimerai savoir comment overclocker mon jeu ?
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 01/06/2023 18:33 | #


Comment utiliser FYI ? "FYI" veut dire "For Your Information".

Pour l'overclock l'astuce c'est de regarder dans les mini-tutoriels qui sont dans le post principal de gint, dans le tableau des versions. En l'occurrence celui sur l'overclock est https://www.planet-casio.com/Fr/forums/topic13572-65-gint-un-noyau-pour-developper-des-add-ins.html#187840

Note que F5 casse sur certaines fx-CG 50 un peu faibles donc pas ultra recommandé.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi En ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 01/06/2023 18:37 | #


Merci !
Lephenixnoir a écrit :
Comment utiliser FYI ? "FYI" veut dire "For Your Information".

Ha ! Autant pour moi

Lephenixnoir a écrit :
Note que F5 casse sur certaines fx-CG 50 un peu faibles donc pas ultra recommandé.

Quand tu dis "F5" c'est la touche F5 c'est ça ? J'ai pas bien compris ce qui n'est pas recommander, c'est d'overclocker pour les fx-CG 50 ?
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 01/06/2023 18:40 | #


Pardon, le problème c'est que le niveau d'overclock "F5" (nommé ainsi parce qu'il est activé en appuyant sur F5 dans Ptune3) causes des crashs sur quelques fx-CG 50 dont le matériel ne doit pas être en superbe condition. Donc ce qui n'est pas recommandé, c'est d'activer automatiquement l'overclock au niveau F5 sur fx-CG 50 (ie. il vaut mieux laisser l'utilisateur le faire dans Ptune3). Comme les Graph 90+E et fx-CG 50 sont identiques du point de vue des add-ins (et les g3a de l'un installables sur l'autre) je recommande donc que le programme lui-même se limite à F4 même sur Graph 90+E.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi En ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 02/06/2024 13:28 | #


Hello les gens !
J'essaye de faire une librairie en .a pour Particule avec fxsdk mais je galère un peu parce que j'ai jamais fait de librairie pour casio et j'aimerai bien sollicité un peu d'aide
Alors voila mon CMakeLists.txt :
CMakeLists.txt
Cliquer pour enrouler


cmake_minimum_required(VERSION 3.10)
project(Particule)

# Définition des variables
set(CC g++)
set(CPPFLAGS -MMD)
set(CFLAGS -I ${CMAKE_BINARY_DIR}/includes)
set(LDLIBS -lm -L ${CMAKE_BINARY_DIR}/includes)
set(OUTPUT ${CMAKE_BINARY_DIR}/../bin)
set(NAME particule.a)

# Répertoire source
file(GLOB_RECURSE SRCS
    "../Particule/*.cpp"
    "./Particule/*.cpp"
)

# Include directories
include_directories(
    ${OUTPUT}/includes
)

# Configuration des options de compilation et de liaison
add_compile_options(${CPPFLAGS} ${CFLAGS})
link_libraries(${LDFLAGS} ${LDLIBS})

# Générer les fichiers objets
add_library(${NAME} STATIC ${SRCS})

# Custom commands for post-build
add_custom_command(TARGET ${NAME} POST_BUILD
    COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT}/exedir
    COMMENT "Particule.a done !"
)

# Custom target for includes
add_custom_target(includes ALL
    COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT}/includes
    COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/../Particule/includes ${OUTPUT}/includes
    COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_SOURCE_DIR}/Particule/includes ${OUTPUT}/includes
    COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_SOURCE_DIR}/Particule.mk ${OUTPUT}
    COMMENT "Includes copied"
)

# Dépendance de la bibliothèque sur la cible includes
add_dependencies(${NAME} includes)

# Custom target for cleaning
add_custom_target(clean
    COMMAND ${CMAKE_COMMAND} -E remove_directory ${OUTPUT}
    COMMAND ${CMAKE_COMMAND} -E remove ${NAME}
    COMMENT "Cleaned up"
)

# Custom target for rebuild (clean + all)
add_custom_target(rebuild
    DEPENDS clean all
    COMMENT "Rebuild all"
)




Je tape ça :
fxsdk build-cg -c -B build;make -C build

Et j'obtiens ça :
Erreur
Cliquer pour enrouler


-- The C compiler identification is GNU 11.1.0
-- The CXX compiler identification is GNU 11.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/leo/.local/bin/sh-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/leo/.local/bin/sh-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:56 (add_custom_target):
  The target name "clean" is reserved or not valid for certain CMake
  features, such as generator expressions, and may result in undefined
  behavior.


-- Configuring incomplete, errors occurred!
See also "/mnt/c/Users/leo/Desktop/CASIO/Projets/ParticuleEngine/CasioCg/build/CMakeFiles/CMakeOutput.log".
See also "/mnt/c/Users/leo/Desktop/CASIO/Projets/ParticuleEngine/CasioCg/build/CMakeFiles/CMakeError.log".
make: Entering directory '/mnt/c/Users/leo/Desktop/CASIO/Projets/ParticuleEngine/CasioCg/build'
make: *** No targets specified and no makefile found.  Stop.
make: Leaving directory '/mnt/c/Users/leo/Desktop/CASIO/Projets/ParticuleEngine/CasioCg/build'


"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 02/06/2024 13:58 | #


Well, l'erreur "The target name "clean" is reserved" est assez explicite. CMake produit déjà une règle clean, t'as pas besoin de le faire toi-même.

Après y'a des trucs suspects. set(CC g++) à aucun moment ça peut marcher tu vas cross-compiler. CMake trouve ton compilateur tout seul, et dans le cas du fxSDK le fxSDK dit à CMake quel compilateur utiliser. Toi tu t'en occupes pas. Pareil pour -MMD, c'est pas ton problème, CMake gère.

(Note que changer le nom du dossier de build avec le fxSDK c'est pas prévu normalement)

Mis à part tes cibles personnalisées, c'est comme un add-in mais avec add_library(STATIC) et pas de génération de g1a/g3a. Tu peux voir le dépôt Lephenixnoir/Template-gint-library qui montre un exemple. Si tu linkes pas avec gint y'a des trucs nettoyables mais les idées restent les mêmes.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi En ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 02/06/2024 15:41 | #


Merci ! J'ai réussi a le faire fonctionner.
J'ai une autre question : Est-ce je suis obliger de copier les .hpp de Particule dans mon projet qu'il utilise, ou est-ce qu'il n'existerai pas un moyen de faire sans et d'avoir juste le .a ?
"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 02/06/2024 16:23 | #


Techniquement les réponses à ces questions sont non et non. Tu ne peux pas faire avec juste le .a parce que les langages C et C++ ne peuvent interfacer avec des fonctions externes (comme celles qui sont dans des bibliothèques) que si tu donnes leur prototype. Et puis come on y'a tous les types de données tu imagines bien quand sans les définitions des types la lib est inutilisable.

Du reste t'es pas obligé de mettre les headers de Particule dans le projet, pas plus que ceux de gint ne sont dans les dossiers d'add-ins. Il suffit de les installer dans le dossier approprié de la sysroot, lequel t'est—surprise surprise—identifié par le fxSDK sous la forme de la variable FXSDK_INCLUDE.

Voilà comment tu installes les headers dans le bon dossier : https://git.planet-casio.com/Lephenixnoir/Template-gint-library/src/branch/master/CMakeLists.txt#L43-L45

Assure-toi bien que tes headers sont dans un dossier genre ${FXSDK_INCLUDE}/particule à l'installation pour qu'on les inclue avec <particule/truc.h>.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi En ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 07/06/2024 01:23 | # | Fichier joint


Bonjour !
Alors c'est peut-être qu'une impression mais j'ai l'impression que clock_set_speed ne marche pas, est-ce normal ?
J'ai installer Gint, j'ai fait ce code ci dessous, ca compile, ca se lance mais aucune différence de performance/vitesse d'affichage.
J'ai mis en pièce jointe ce mini test (sources, makefile, .g3a que j'ai build)
Est-ce que c'est a cause de C++ que c'est aussi lent ?

#include <gint/display.h>
#include <gint/keyboard.h>
#include <gint/rtc.h>
#include <gint/gint.h>
#include <gint/timer.h>
#include <gint/clock.h>

extern bopti_image_t IMG_ASSET_texture;

int main()
{
    int i = 0;
    while (!keydown(KEY_EXIT))
    {
        dclear(C_BLACK);
        clearevents();
        dimage(i++, 0, &IMG_ASSET_texture);
        dupdate();
        i = i % 100;
        if (keydown(KEY_UP))
            clock_set_speed(CLOCK_SPEED_F4);
        if (keydown(KEY_DOWN))
            clock_set_speed(CLOCK_SPEED_F1);
    }
    
    return 0;
}

"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 10/06/2024 12:04 | #


Après test, l'overclock marche bien comme attendu et C++ n'est pas coupable (y'a aucune raison que C++ soit coupable). Avec une image de 64x64 en 16-bit, la boucle prend 15.2 ms de base environ, passés presque exclusivement dans dclear() (~4 ms) et dupdate() (~11 ms). Ces deux opérations sont effectuées par le DMA et limitées par la vitesse de la RAM et de l'écran respectivement. Ces deux vitesses sont cadencées par Bϕ = 58.07 MHz qui ne change pas entre les modes F1 et F4. D'où une vitesse avec overclock de 14.8 ms environ, i.e. un changement quasiment imperceptible. Bϕ change au mode F5 mais est un peu fort et pose des problèmes à certaines fx-CG 50. On peut peut-être trouver un juste milieu.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Slyvtt Hors ligne Maître du Puzzle Points: 2389 Défis: 17 Message

Citer : Posté le 10/06/2024 13:31 | #


Il y a d'ailleurs une PR dans gint suite au changement dans PTune 0.25 de Sentaro.
Elle vise à descendre le multiplicateur x26 --> x25 dans FRQCR : https://git.planet-casio.com/Lephenixnoir/gint/issues/28
C'est a priori plus safe.
Sur ma fxCG50 faiblarde ça passe bien sans glitch.
There are only 10 types of people in the world: Those who understand binary, and those who don't ...
Farhi En ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 02/10/2024 12:23 | #


Hello les gens !
Récemment j'ai essayé d'installer Azur et j'ai rencontré quelques difficultés.
J'ai essayé de mettre à jour G++, Cmake et tout le tralala et pourtant j'ai cette erreur.
J'ai essayé sur un autre PC, pareil.


Azur$ fxsdk build-cg install

-- The C compiler identification is GNU 14.1.0
-- The CXX compiler identification is GNU 14.1.0
-- The ASM compiler identification is GNU
-- Found assembler: /home/leo/.local/bin/sh-elf-gcc
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /home/leo/.local/bin/sh-elf-gcc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /home/leo/.local/bin/sh-elf-g++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found Gint: TRUE (found suitable version "2.11.0", minimum required is "2.8")
-- Found Gint: TRUE (found suitable version "2.11.0", minimum required is "2.2.1")
-- Found LibProf: /home/leo/.local/share/fxsdk/sysroot/sh3eb-elf/lib/libprof-cg.a (found suitable version "2.4.0", minimum required is "2.4")
-- Configuring done
-- Generating done
-- Build files have been written to: /mnt/c/Users/leo/Desktop/CASIO/Azur/build-cg
Scanning dependencies of target num
[  2%] Building CXX object libnum/CMakeFiles/num.dir/src/num.cpp.obj
[  5%] Building CXX object libnum/CMakeFiles/num.dir/src/str.cpp.obj
[  8%] Building ASM object libnum/CMakeFiles/num.dir/src/sh4aldsp/div_i32_i16_i16.s.obj
[ 10%] Linking CXX static library libnum.a
[ 10%] Built target num
Scanning dependencies of target azur
[ 13%] Building CXX object azur/CMakeFiles/azur.dir/src/log.cpp.obj
[ 16%] Building CXX object azur/CMakeFiles/azur.dir/src/gint/init.cpp.obj
In file included from /mnt/c/Users/leo/Desktop/CASIO/Azur/azur/src/gint/init.cpp:1:
/mnt/c/Users/leo/Desktop/CASIO/Azur/azur/include/azur/azur.h:54:10: error: ‘function’ is not a member of ‘std’
   54 |     std::function<void(void)> const &render, int render_fps,
      |          ^~~~~~~~
/mnt/c/Users/leo/Desktop/CASIO/Azur/azur/include/azur/azur.h:8:1: note: ‘std::function’ is defined in header ‘<functional>’; this is probably fixable by adding ‘#include <functional>’
    7 | #include <functional>
  +++ |+#include <functional>
    8 |
/mnt/c/Users/leo/Desktop/CASIO/Azur/azur/include/azur/azur.h:54:19: error: expected primary-expression before ‘void’
   54 |     std::function<void(void)> const &render, int render_fps,
      |                   ^~~~
/mnt/c/Users/leo/Desktop/CASIO/Azur/azur/include/azur/azur.h:54:46: error: expected primary-expression before ‘int’
   54 |     std::function<void(void)> const &render, int render_fps,
      |                                              ^~~
/mnt/c/Users/leo/Desktop/CASIO/Azur/azur/include/azur/azur.h:55:10: error: ‘function’ is not a member of ‘std’
   55 |     std::function<int(void)> const &update, int update_ups,
      |          ^~~~~~~~
/mnt/c/Users/leo/Desktop/CASIO/Azur/azur/include/azur/azur.h:55:10: note: ‘std::function’ is defined in header ‘<functional>’; this is probably fixable by adding ‘#include <functional>’
/mnt/c/Users/leo/Desktop/CASIO/Azur/azur/include/azur/azur.h:55:19: error: expected primary-expression before ‘int’
   55 |     std::function<int(void)> const &update, int update_ups,
      |                   ^~~
/mnt/c/Users/leo/Desktop/CASIO/Azur/azur/include/azur/azur.h:55:45: error: expected primary-expression before ‘int’
   55 |     std::function<int(void)> const &update, int update_ups,
      |                                             ^~~
/mnt/c/Users/leo/Desktop/CASIO/Azur/azur/include/azur/azur.h:56:5: error: expected primary-expression before ‘int’
   56 |     int flags);
      |     ^~~
/mnt/c/Users/leo/Desktop/CASIO/Azur/azur/include/azur/azur.h:56:14: error: expression list treated as compound expression in initializer [-fpermissive]
   56 |     int flags);
      |              ^
/mnt/c/Users/leo/Desktop/CASIO/Azur/azur/src/gint/init.cpp:48:14: error: ‘int azur_main_loop(void (*)(), int, int (*)(), int, int)’ redeclared as different kind of entity
   48 |     int flags)
      |              ^
/mnt/c/Users/leo/Desktop/CASIO/Azur/azur/include/azur/azur.h:53:5: note: previous declaration ‘int azur_main_loop’
   53 | int azur_main_loop(
      |     ^~~~~~~~~~~~~~
/mnt/c/Users/leo/Desktop/CASIO/Azur/azur/src/gint/init.cpp:34:15: warning: ‘ml_time’ defined but not used [-Wunused-variable]
   34 | static double ml_time = 0.0;
      |               ^~~~~~~
make[2]: *** [azur/CMakeFiles/azur.dir/build.make:90: azur/CMakeFiles/azur.dir/src/gint/init.cpp.obj] Error 1
make[1]: *** [CMakeFiles/Makefile2:925: azur/CMakeFiles/azur.dir/all] Error 2
make: *** [Makefile:146: all] Error 2

"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 02/10/2024 12:29 | #


Essaie d'ajouter -fno-freestanding -fno-builtin dans les options qui vont au compilo SuperH
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi En ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 02/10/2024 12:39 | #


Ho ça a marché ! Super merci beaucoup !
Je vais sûrement poser quelques questions plus tard sur Azur vu que c'est la première fois que je le teste, je m'excuse d'avance.

Note à moi même
Cliquer pour enrouler

Changer ça dans CMakeLists.txt pour que ça marche
#---
# Compile options
#---

add_compile_options(
-Wall -Wextra
$<IF:$<CONFIG:DEBUG>,-O0,-Os>
$<$<CONFIG:DEBUG>:-g>
-fmacro-prefix-map=${CMAKE_CURRENT_SOURCE_DIR}/=
-fno-freestanding
-fno-builtin
)

"La créativité est contagieuse faites la tourner"
Albert Einstein
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 02/10/2024 12:46 | #


Heya, pas de souci. La doc d'Azur n'est pas complète/existante comme celle de gint, donc hésite pas à demander, je suis derrière. Désolé pour l'absence de documents disponibles immédiatement.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Farhi En ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 02/10/2024 12:53 | #


Okay !
Pour le moment, j'ai juste besoin de clarifier quelques trucs.
Concrètement, si j'ai bien compris, Azur est une sorte de surcouche de Gint ?
Ce que je veux dire par là, c'est que, par exemple, le système d'input n'a pas changé, c'est toujours le même que Gint, il y a uniquement le système de rendu qui est impacté.
Autre question, si je suis passé à Azur, c'est parce qu'on m'a dit que c'est plus rapide. Donc, grosso modo, moi qui cherche à afficher des Quads avec une texture, comment je fais pour écrire dans le buffer et aller super vite ?
"La créativité est contagieuse faites la tourner"
Albert Einstein
Fcalva En ligne Membre Points: 600 Défis: 10 Message

Citer : Posté le 02/10/2024 14:08 | #


Azur est un moteur entier, mais concrétement tu voudrais plutôt seulement utiliser azrp (AZur Rendering Pipeline) , le truc qui fait du dessin rapide. Pour ça tu peux regarder du côté du shmup de Sly.
Plus spécifiquement, il y a peu de builtins donc il va falloir que tu fasse ton propre shader, même si tu peux commencer avec deux azrp_triangle pour tester.
Lephe a fait un gros post explicatif sur comment s'y prendre en réponse à potter360, il faudrait que je le retrouve
Edit : ici
Pc master race - Apréciateur de Noctua moyen
Caltos : G35+EII, G90+E (briquée )
Farhi En ligne Membre Points: 1375 Défis: 0 Message

Citer : Posté le 02/10/2024 14:33 | #


Merci ! J'avais déjà lu le post de potter360 avant mais qu'est-ce que c'est compliqué dis donc.
Du coup je suis allé voir le code source de Azuray, je comprend le principe mais le code est inhumain
Et il faut vraiment faire les Shaders en assembleur ?
"La créativité est contagieuse faites la tourner"
Albert Einstein
Fcalva En ligne Membre Points: 600 Défis: 10 Message

Citer : Posté le 02/10/2024 14:34 | #


Tout est écrit dans le post en gros
(Et pour Azuray c'est du C++, c'est normal )
Pc master race - Apréciateur de Noctua moyen
Caltos : G35+EII, G90+E (briquée )
Lephenixnoir En ligne Administrateur Points: 24574 Défis: 170 Message

Citer : Posté le 02/10/2024 16:00 | #


Yup, t'as toutes les infos du coup. Il est pas nécessaire d'écrire les shaders en assembleur, d'ailleurs je conseille de toujours les écrire en C au début pour les debugger aisément. Par contre si tu veux les perfs maximales il faut les écrire en assembleur oui. Mais si t'en fais des intéressants (e.g. triangles avec textures affines ou depth-correct) je pourrai les convertir en échange de les ajouter à la bibliothèque de shaders pré-construits.
Mon graphe (11 Avril): ((Rogue Life || HH2) ; PythonExtra ; serial gint ; Boson X ; passe gint 3 ; ...) || (shoutbox v5 ; v5)
Précédente 1, 2, 3 ··· 9, 10, 11, 12, 13 Suivante

LienAjouter une imageAjouter une vidéoAjouter un lien vers un profilAjouter du codeCiterAjouter un spoiler(texte affichable/masquable par un clic)Ajouter une barre de progressionItaliqueGrasSoulignéAfficher du texte barréCentréJustifiéPlus petitPlus grandPlus de smileys !
Cliquez pour épingler Cliquez pour détacher Cliquez pour fermer
Alignement de l'image: Redimensionnement de l'image (en pixel):
Afficher la liste des membres
:bow: :cool: :good: :love: ^^
:omg: :fusil: :aie: :argh: :mdr:
:boulet2: :thx: :champ: :whistle: :bounce:
valider
 :)  ;)  :D  :p
 :lol:  8)  :(  :@
 0_0  :oops:  :grr:  :E
 :O  :sry:  :mmm:  :waza:
 :'(  :here:  ^^  >:)

Σ π θ ± α β γ δ Δ σ λ
Veuillez donner la réponse en chiffre
Vous devez activer le Javascript dans votre navigateur pour pouvoir valider ce formulaire.

Si vous n'avez pas volontairement désactivé cette fonctionnalité de votre navigateur, il s'agit probablement d'un bug : contactez l'équipe de Planète Casio.

Planète Casio v4.3 © créé par Neuronix et Muelsaco 2004 - 2024 | Il y a 171 connectés | Nous contacter | Qui sommes-nous ? | Licences et remerciements

Planète Casio est un site communautaire non affilié à Casio. Toute reproduction de Planète Casio, même partielle, est interdite.
Les programmes et autres publications présentes sur Planète Casio restent la propriété de leurs auteurs et peuvent être soumis à des licences ou copyrights.
CASIO est une marque déposée par CASIO Computer Co., Ltd