[Logiciel] OniDev - Page 9 Hitskin_logo Hitskin.com

Ceci est une prévisualisation d'un thème de Hitskin.com
Installer le thèmeRetourner sur la fiche du thème



AccueilAccueil  FAQFAQ  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  ConnexionConnexion  
-43%
Le deal à ne pas rater :
-100€ Pack rééquipement Philips Hue Play : 3 barres lumineuses ...
129.99 € 229.99 €
Voir le deal

 

 [Logiciel] OniDev

Aller en bas 
+29
SPLN
Térence
Sekigo Le Magnifique
zebdal
master47
Mobi
cbna spam bot
blendman
Mass
louckas
daminetreg
Craki
Linky439
D-z
Termite
Playboy
-Coco-
Qual
l0lmanPH
Oculus
Chlorodatafile
arthuro
Rem_101
marty
M@d_Doc
Morwenn
DeinDall
rasengan
onilink_
33 participants
Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9
AuteurMessage
Caly
Utilisateur confirmé: Rang ****
Caly


Messages : 1285
Localisation : Haute Normandie
Projet Actuel : Capturer, apprivoiser et dresser des Pokémons sauvages pour faire des spectacles de rue et en faire mon métier.

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyDim 21 Avr 2013 - 23:51

Non la syntaxe est vraiment cool, la puissance du C (typage etc) avec la simplicité du GML parfait quoi.
Revenir en haut Aller en bas
alpha
Modérateur
alpha


Messages : 5030
Projet Actuel : Me taper la tête sur le mur.

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyJeu 25 Avr 2013 - 23:03

Ah, ça avance bien a ce que je vois. Vivement que l'on puisse tester gnii
Revenir en haut Aller en bas
http://www.perdu.com/
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyMar 30 Avr 2013 - 18:43

J'ai eu quelques idées pour améliorer l'efficacité de l'interface:

Code:
La console permettra de faciliter la vie du programmeur.
Elle aura un evaluateur d'expressions d'intégré, permettra l'accès aux ressources, etc.


---Specifications des commandes---

--Ressources--

#Afficher les ressources:
ls [options]
 -textures
 -sprites
 -sounds
 -paths
 -fonts
 -scripts
 -objects
 -rooms
 -l            Afficher les informations sur les ressources (voir info)
 -sort        Affiche les ressources par ordre alphabetique

#Afficher les informations sur une ressource
info [ressourceName]
Si ressourceName n'est pas spécifiée, alors la commande afficher les informations sur le projet.
 -s, -size    Afficher la taille de la ressource en octets
 -a, -author  Afficher l'auteur de la ressource
 -t, -time    Afficher la date et l'heure de création
 -e, -edit    Afficher la date et l'heure de la derniere edition
 -i            Informations specifiques au type de ressource


#Ouvrir une ressource
open [ressourceName]
Si ressourceName est déjà ouverte, elle seras mise en avant.
 -all          Ouvre toutes les ressources
 -textures
 -sprites
 ..

#Fermer une ressource
close [ressourceName]
 -all
 -textures
 ..
 -nosave      Ferme la ressource sans la sauvegarder


--Autres--
#Evaluer une expression
eval exp
 -opti        Optimise l'expression si possible
 -prefix      Affiche l'expression sous forme prefixée
 -postfix      Affiche l'expression sous forme postfixée

#Verifier les erreurs
check className[::method]
check scriptName[::function]
 -w            Affiche les warnings

Du coup y auras probablement une petite console dans le footer d'onidev, quand j'aurais la foi de l'intégrer a l'ui :b

(Si vous avez des commandes a me proposer, tentez votre chance :b)
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyMar 30 Avr 2013 - 19:06

C'est complètement HS, mais je viens d'y penser : pour toutes les fonctions de dessin, tu fera des fonctions :
drawRectangle(x,y,width,height)
ou
drawRectangle(x1,y1,x2,y2)
?
Parce qu'en fait le top du top, ce serai qu'on puisse choisir la façon, soit dans les paramètres globaux du soft, soit avec un argument facultatif en plus (avec une constante pour utiliser les dimensions ou les coordonnées) Smile
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyMar 30 Avr 2013 - 19:17

Oh pour ça j'ai juste utilisé des fonctions aux noms différents :b

Genre drawRect(x, y, w, h, fill) et drawRectangle(x1, y1, x2, y2, fill).
Pas besoin de chercher compliqué :b
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyMar 30 Avr 2013 - 19:19

Je vois que tu pense à tout mrgreen2
Sinon (tout aussi HS), t'as une liste de toutes les fonctions dispo ?
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyMar 30 Avr 2013 - 19:20

Ouh la source d'erreurs ^^
Revenir en haut Aller en bas
Mass
*Excellent utilisateur*
Mass


Messages : 3351
Localisation : Dans une canonnière wookie.
Projet Actuel : Monter des trucs et des machins

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyMar 30 Avr 2013 - 19:24

DrawRectSize(x,y,w,h) et DrawRectCoords(x1,y1,x2,y2) ? :p
Revenir en haut Aller en bas
http://madmass.mype.fr/CBNA/
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyMar 30 Avr 2013 - 19:28

Bof jvois mal les gens faire des erreurs pour afficher des rectangles quand même xD
Enfin pour les noms de fonctions c'est pas prioritaire, mais l'idée est la :p

Térence>
Pas encore mais je mettrait prochainement la doc a jour :b


La je me prend un peu la tête avec les particules :b
Fonctions que personne n'utilise, mais ça fait parti des rares trucs que je trouvais vraiment bien foutu sous GM, du coup je me fait plaisir Very Happy
(surtout que j'ai prog un moteur de particule qui marche nickel et exactement comme celui de GM mais en beaucoup plus opti).

Edit:
Pas con Mass :p
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyDim 26 Mai 2013 - 13:57

Je up parce que j'ai eu des idées awesome
Je viens de remarquer à l'instant que lors d'un test avec des && ou des ||, GM vérifie toutes les conditions, même quand c'est pas nécessaire, je m'explique :
Code:
a=true
b=false
if(a==true||b=true){
//do something
}
Ici, a vaut true, donc la condition est forcément vérifié, peu importe la valeur de b, donc on n'a pas besoin de la vérifier. Parce que avec GM, si b n'existe pas, il soulève une erreur, ce qui empêche de faire ca :
Code:
if(instance_exists(heros)&&heros.life<=0){
// do something
}
Si le héros n'existe pas, la condition sera forcément fausse mais GM continue et comme il connait pas heros.life, il *****, ce qui oblige donc à faire ca :
Code:
if(instance_exists(heros)){
    if(heros.life<=0){
      // do something
    }
}
ce qui est plus long à écrire (et là je dois le faire à une vingtaine d'endroit...)...
Dans les autres langages, la vérification est arrêtée si on connait déjà son résultat avant d'avoir fini, ce qui permet en php :
Code:
if(isset($_POST["pseudo"]&&$_POST["pseudo"]!=""){
// do something
}
Et ca marche en java et dans tous les langages évolués à ma connaissance, donc comme j'étais pas sûr que t'y ai pensé, faudrait que t'implémente ca dans l'ODL Smile

Sinon autre proposition, je me suis rendu compte que les fonctions de dessin sont incroyablement pauvre en GML par rapport à java, ce serait vraiment le pied si tu implémentais les arcs de cercle, bézier, l'épaisseur, les calques, les dégradés (pas juste la ***** infame de GM),etc... Smile

edit : Ah oui et aussi, dans les script, un système commentaire suivant une certaine syntaxe pour l'auto-complétition:
Code:
// @info function_name(argument0_name,argument1_name)
// @info argument0_name @ description argument0
Ce qui donnerait par exemple :
Code:
// @info is_hover(x,y,w,h)
// @info x @ position x
// @info y @ position y
// @info w @ largeur
// @info h @ hauteur
Comme ca quand on code, on peut se rappeler l'ordre des arguments et leur utilité Smile
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyDim 26 Mai 2013 - 15:00

Pour l'évaluation des expressions oui bien sur je comptait faire cela, vu que de toute façon ça doit être compatible ensuite avec l'évaluation en C++ (pour le transcodeur).
Ça a d'ailleurs un nom, je crois que ça s'appelle l'évaluation passive.

Pour les fonctions de dessin de même, je pensais récupérer pas mal d'idées des fonctions canvas en Js :b

Pour ce qui est des commentaires, ouai c'est un truc a la doxygen. Pareil je pensais le faire, mais ça c'est loin d'être prioritaire (mais c'est sur la todo list Razz).


En tout cas je finis la fac début juin (me reste un oral a passer), je pourrais reprendre le développement o/
Revenir en haut Aller en bas
D-z
Utilisateur confirmé: Rang *****
D-z


Messages : 1611
Localisation : Montpellier

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyDim 26 Mai 2013 - 15:22

Évaluation paresseuse :p
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyDim 26 Mai 2013 - 15:35

Ah oui voila! Je savais que ça commençais par un p xD
Revenir en haut Aller en bas
Térence
Utilisateur confirmé: Rang *****
Térence


Messages : 2213
Localisation : Oui

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyDim 26 Mai 2013 - 16:11

Pour l'évaluation paresseuse, je savais pas si t'y penserai donc je voulais être sur parce que c'est quand même super pratique Smile
Pour le dessin, tu pourrais aussi essayer d'implémenter les fonctions SVG dans ce cas, ia vraiment moyen de faire des trucs superbes avec, et pour les commentaires, oui bien sûr, c'est vraiment pas prioritaire, mais ca fait partie des détails qui font apprécier un soft Smile
Pareil, si t'arrivais à faire une ****** de complétition auto, plus à la éclipse qu'à la GM, ce serait vraiment superbe (genre importer les packages, renommer les variables en double,etc...) Smile
Ah et aussi, encore dans le détail, pour l'indentation auto, permettre de choisir le type dans les options : comme ca :
Code:
function(){
    // do something
}
ou comme ca :
Code:

function()
{
    // do something
}
Parce qu'à chaque fois que je change de soft, ca m'oblige à changer Razz GM préfère la seconde, alors qu'éclipse ou visual studio sont plus adaptés à la première...
Revenir en haut Aller en bas
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyDim 26 Mai 2013 - 19:10

Alors l'éditeur parsera le code en temps réel. Du coup oui y auras moyen de gérer l'auto complétion et le renommage intelligent sans trop de difficulté.
Je compte faire pas mal de features pratiques a ce niveau, mais pareil ça c'est l'enrobage, faut déjà que je code l'engine en lui même :b
Revenir en haut Aller en bas
Voxy
Utilisateur confirmé: Rang **
Voxy


Messages : 398
Localisation : Belgique

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyDim 26 Mai 2013 - 20:13

J'ai fait un logo à la con en me basant sur le GameMaker que j'avais fait. :p
[Logiciel] OniDev - Page 9 Onidev10
Revenir en haut Aller en bas
https://voxy.space
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyDim 26 Mai 2013 - 20:21

Sympa, mais un peu terne et les ombres rendent le tout flou plutôt que de l'embelir :b

Puis bon j'ai déjà un logo awesome
Revenir en haut Aller en bas
Voxy
Utilisateur confirmé: Rang **
Voxy


Messages : 398
Localisation : Belgique

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyDim 26 Mai 2013 - 20:26

Ce qui fait ***** c'est que les ombres ne s'affichent quasiment pas sur l'espèce d'échiquier de Photoshop, du coup c'est beaucoup plus foncé que prévu. :/

onilink_ a écrit:
Puis bon j'ai déjà un logo awesome

C'est pas vrai d'abord ! crossa
Revenir en haut Aller en bas
https://voxy.space
onilink_
Modérateur
onilink_


Messages : 9183
Localisation : Montpellier
Projet Actuel : Planet Centauri
OniDev

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptyDim 18 Oct 2015 - 19:04

Après un petit moment de grande réflexion.... Razz je me suis remis a bosser sur le langage.
Vu que ces derniers temps j'ai beaucoup touché au C++ j'ai finis par croire que quoi que je fasse, je me retrouverais avec un langage pourris qui n'arriverait même pas a sa cheville...
Du coup si quoi que je fasse je me retrouve avec un sous C++, bah autant faire réellement un sous C++ pensé comme tel, et qui permet ensuite de générer du C++ réellement utile, pas juste du C++ qui sert de passerelle pour compiler un binaire.

Du coup je suis parti sur un C++ like pas mal simplifié, mais qui conserve certaines parties intéressantes de C++11 comme:
-les pointeurs intelligents: ce langage n'aura aucun pointeur nu, ni même pointeur en tant que tel, vous aurez uniquement le choix entre des shared/weak_ptr, des unique_ptr, ou des observer (qui sont comme un pointeur nu, sauf qu'on peut pas les delete, donc c'est un peu le weak_ptr de l'unique_ptr)
Bref niveau utilisation il n'y aura donc pas les *machin ou encore truc->bidule, tout ressemblera a une "reference" C# ou Java dans l'utilisation, mais il faudra gérer la mémoire a la main (même si avec les pointeurs intelligents ça reste extrêmement simple).
-les templates, il seront simplifiés mais permettront d'avoir comme en C++ des classes génériques (et peut être un jour de la TMP compile time)
-les references, const references, méthodes de classes constantes... pour la robustesse et la rigueur du code
-structures et classes, héritage et si tout se passe bien héritage multiple et virtuel
-tableaux dynamiques et statiques, qui seront convertis en std::vector (heap) et std::array (stack)

Bref comme je vais compiler ce langage en C++ je vais surement récupérer un paquet de choses, tant que le parsing ne deviens pas trop complexe (car parser du vrai C++ ça c'est vraiment une horreur).
Par contre a terme je compte aussi faire un interpréteur, donc je vais tout de même me limiter sur les features trop complexes.

Actuellement, j'en suis encore au début mais j'ai pas mal avancé.
Mon compilo gère les fonctions avec paramètres, variables typées, scopes, boucles, et surtout il compile tout ça comme il faut en C++ mais a aussi une analyse sémantique et gestion des erreurs qui commence a plutot bien fonctionner (avec déduction des types, fonctions ou variables qui existent pas, etc...)

Exemple compilable actuellement:
Input:
Code:
func f(int x) int
{
    return x;
}
 
func main()
{
    int i;
    float x = (1 + 2) * 3;
  
    for(i=0; i<10; i+=1)
    {
        x += f(i);
    }
}

Output:
Code:
void f(int x)
{
  return x;
}
 
void main()
{
  int i;
 
  float x = ((1 + 2) * 3);
 
  for(i = 0;(i < 10);i += 1)
  {
    x += f(i);
  }
 
}

Exemple de gestion d'erreur:
Code:
func main() void
{
    int x = 123;
    {
        int y = x;
    }
    int z = y;
}


13:13:error: y was not declared in this scope
    int z = y;
            ^

J'en ai aussi profité pour mettre a jour le premier post.
Revenir en haut Aller en bas
Snoepy
Débutant
Snoepy


Messages : 23
Projet Actuel : ...

[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 EmptySam 2 Jan 2016 - 20:29

J'attend la version finale
Revenir en haut Aller en bas
Contenu sponsorisé





[Logiciel] OniDev - Page 9 Empty
MessageSujet: Re: [Logiciel] OniDev   [Logiciel] OniDev - Page 9 Empty

Revenir en haut Aller en bas
 
[Logiciel] OniDev
Revenir en haut 
Page 9 sur 9Aller à la page : Précédent  1, 2, 3, 4, 5, 6, 7, 8, 9
 Sujets similaires
-
» OniDev Library - Game Engine C++
» Logiciel Jeu 3D
» logiciel
» Bug du Logiciel ?!
» recherche logiciel

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum Le CBNA :: Informations :: Projets-
Sauter vers: