Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - edsquare

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 »
151
Programming Help / Re: Where do I find ENIGMA's API?
« on: August 02, 2014, 01:07:01 AM »
The reason nobody takes the Java conversion seriously is because you simply can't expect a converter to just take Java code and spit out perfectly optimized C++ they are after all two completely different languages and a lot of the subtleties do make a difference. This is why for us seasoned developers it's easier to just rewrite it correctly from scratch ourselves than to piss around correcting all the issues with generated code. Not to mention if you write it yourself you can take baby steps along the way testing and getting individual features working, instead of just converting a giant 20,000 line project (which is what LGM is) and then trying to figure out how to get all the generated code working. Generators are more work than you are bargaining for is basically what I am saying.

Baby steps yes I know what you're talking about, still I hate QT with all my heart, and sadly only one halbacked attempt was made to use other toolkit (wxWidgets) which sadly the only half decent visual editor it has is wxGlade... If only they had completed BoaConstructor.

Don't forget, RadialGM I rewrote the GUI components of all of LateralGM's editors in two days. It's not that much work, ENIGMA is just a very large project, and it can't really make progress with so few developers.

YOU rewrote the gui components of all of LGM in two days, but... You already knew C++ and some Java I dare say, and you did it without a visual gui editor which tells me you really know QT, which usually changes C++ and leaves you with a not standard code.

If wxDev-C++ were as easy to use as wxGlade I might be tempted to use your C++ code plus some input from You, Harry, Darkstar2 and anybody else that would len some time to solve my doubts.

Any way and just out of curiosity... What is the todo list off RadialGM?

152
Programming Help / Re: Where do I find ENIGMA's API?
« on: August 02, 2014, 12:50:53 AM »
Quote
Quote
By the way how can I know in C++ when something is a funtion or a procedure?, you see I also have a C++ to Pascal converter

Difference between function and procedure is very simply.

int addition (int a, int b)
(that's a function - it returns a value)

void decrypt (&bufferFile)
(executes code that will work directly
on bufferFile, nothing gets returned, note
that bufferFile is passed by reference).

Procedures are statements that get executed.  So I can for example code a procedure that will directly decrypt or encrypt a file buffer which was passed by reference, in this case nothing is returned back.  I just ran a procedure.  A function would return something back and usually has stuff that gets evaluated.

You could also run a procedure that executes tasks and passes back whether it was successful or not.  But using VOID, you are not returning any value.  Of course someone will correct me if i'm wrong.

In my upcoming projects I will be using both functions and procedures, :D

Lol  :D of course I know what a function does and what a procedure does, what I meant was if there was some clue that saved me from reading all that piece of code, like in pascal you put the word procedure or function according the case. And don't give me the variables as a clue, because a procedure can have variables only it doesn't return a value, it just uses the variables to do whatever it was written to do.

Guess not eh? well to read thousands of lines of code  ::) :-\

153
Programming Help / Re: Where do I find ENIGMA's API?
« on: August 01, 2014, 11:44:11 PM »
Quote
By your JAVA comment I reckon you are not a fan of JAVA or know JAVA programming ?

Neither do I, but there is apparently an amazing tool that can convert Java to C++ and C++ to JAVA, someone here used it and gave amazing results.  I'd love to get to write an entire IDE to C++ or port it to C++ along with dynamic resource handling and what I talked about above.  One can only dream.

But I thought you knew JAVA !?!?

I'd love to try your converter when LGM works again in my pc.

Me a JAVA fan? No by the stars no and a million times no!  :D

Seriously, I don't know Java, if I wanted to use an interpreted language I would go for Python, tryed reading java code once or twice, and although people say its verbose because its easy to read I much preffer les verbose languages, C++ I'm studying right now so I can't really undertake such an enterprise on said language, Python; dabled on it, it's easy to learn and much more stable than Java (I think), that tool I jave it, as a mather of fact I can convert to and from java to C++, C#, VB, and between those too. so I might take that code and try to use it but... no converter does a full and perfect conversion, there's always some manual labour left, and I don't trust myself with C++, now if we were talking about C#... But someone said they hate C#, or was it .NET languages? If it was the former well there's monodevelop+mono+gtk#  ;D

What I'll likely do is try and finish the Python IDE (GameEditor?) it also needs another name. The other one I'm making (Code name Chimera) in Lazarus-FPC is giving me some problems managing true trasnparency on linux-GTK so I'm redoing part of it and it's not as simple as replacin the controls... Different controls different functions, different calls and so on.  :) Maybe Ill end up doing the python one and rebranding it as Quimera  ;)

If the tool you're talkin is not TSS Java to C++ converter, then I would love to know the name, if only to see if it works better than the one I have.

By the way how can I know in C++ when something is a funtion or a procedure?, you see I also have a C++ to Pascal converter but as already mentioned it doesn't convert everything nor is it perfect, and every time it gets to a piece of code marked as void it leaves the word there so a little help would be apreciated.

154
General ENIGMA / Re: ENIGMA prototype bindings for SDL
« on: August 01, 2014, 08:47:06 PM »
YES! Go for it! Well if you have the time and energy of course.  :D

155
Programming Help / Re: Where do I find ENIGMA's API?
« on: August 01, 2014, 06:54:53 PM »
Quote
When you make a program for windows you may need to know several APIs: The API of the software you are using, Windows API, Database API, etc.
so that you can use those applications inside yours, make calls, send files, create, modify, save, delete databases, etc. ; so Enigma's API is not necesary (although it kind of is) for using LGM+ENIGMA but... If you want to call ENIGMA from another IDE and use it then you need to know ENIGMA's API.
I know what an API is, but there is no such thing as ENIGMA's API in the usual sense. LGM talks to the .dll via a plugin. I guess you could call the way they talk an API. You should look at compiler source code (\CompilerSource) and the Java plugin source (which is somewhere in Git).
No need to look into \ENIGMAsystem, it's the game engine which has nothing to do with the IDE. The .dll (\CompilerSource) is also technically not connected to the IDE. LGM sends data via the plugin and the .dll sees this data. Then it parsers, writes everything to IDE_EDIT files (which is the generated content) and then calls a makefile so C++ would compile it.

So basically you should look into the Java plugin code and then replicate that, so you know how to send data to the .dll.

Others might help you more on this than I. I have done basically 0 changes for the \CompilerSource in the years I have been here. I have only modified the .exe a little. I work on the game engine.

Well that certainly makes it easier and not  ;D Java? Brrrr! But what can one do? Thanks Harri, this makes it more likely for me to do something for you all (Other than virtual BJobs!  :D ).

156
Programming Help / Re: Where do I find ENIGMA's API?
« on: August 01, 2014, 06:42:35 PM »
Haha, don't be hard on yourself he nor I really give a shit, I just like to point out when people misunderstand something, I don't know why I have a phobia of myself or someone else misunderstanding something or anything.

Anyway ed, it requires a tad bit of knowledge of everything. I am not really sure what you mean by draw room, so I presume you mean draw all the instances in the room and clear the background color, and that is handled by screen_redraw which is in Graphics_Systems/OpenGL1/GLscreen.cpp

That function clears the background, the background color, sets the viewport and the default project and runs through every objects draw event. However, for more simpler things such as our variant data type where you can simply include Universal_System/var4.h in your C++ project.

Lets see if I can explain myself a little better, I want to know how does LGM call to ENIGMA's functions, like to make the room on the ide and how can I search for that in LGM or RadialGM to see if I can understand it and be of some use around here.

Basically what files should I study and what clues tell me if it's a call to enigma or not.

157
Programming Help / Re: Where do I find ENIGMA's API?
« on: August 01, 2014, 05:48:49 PM »
edsquare, Harri def. knows what an API is he just didn't know what you meant in context. Using ENIGMA in C++ is pretty easy, just copy and paste ENIGMASystem/SHELL and have your C++ program run make on it and use namespace enigma_user for all GML functions.

I know He beats me hands down in programming knowledge, it's just one of those days you know?  :-\

Harri my most sincere apologies if I offended you.  :(

Thanks Robert! a couple more questions: Only gml functions? or any function? So if I want to draw a room the function is in enigmasystem/shell? I just call it draw_room?  ???


158
Programming Help / Re: Where do I find ENIGMA's API?
« on: August 01, 2014, 04:38:42 PM »
What do you mean with API? API usually means using one thing inside another. ENIGMA isn't meant to be used outside ENIGMA.

API : Application Programming Inteface ; In computer programming, an application programming interface (API) specifies how some software components should interact with each other.

When you make a program for windows you may need to know several APIs: The API of the software you are using, Windows API, Database API, etc.
so that you can use those applications inside yours, make calls, send files, create, modify, save, delete databases, etc. ; so Enigma's API is not necesary (although it kind of is) for using LGM+ENIGMA but... If you want to call ENIGMA from another IDE and use it then you need to know ENIGMA's API.

What I want to know is how to make enigma work with another IDE, I managed to start the Python one, but I have the same problem as when I start LGM from a desktop shortcut (no way to compile, debug or run a game), also it lacks some buttons that LGM has, since it's made with Python, and since QT changes Python code a lot less than C++ code, I thought I could study it and see if I can finish it at least to the state of LGM (minus bugs and instability I hope). But in order to truly understand the code I need some API reference.


Anyway, here are some places to get started.
http://enigma-dev.org/docs/Wiki/Module_hierarchy
http://enigma-dev.org/docs/Wiki/ENIGMA:Developing
http://enigma-dev.org/docs/Wiki/Graphics_Systems/
http://enigma-dev.org/docs/Wiki/Compilers/

You really just have to use the search functionality of the Wiki, this stuff is all over the place, I haven't really had time to organize it.

Thanks man!

159
Programming Help / Where do I find ENIGMA's API?
« on: August 01, 2014, 10:28:11 AM »
What I mean is this: Is there some place to look and read all the API? Where?

If there isn't, then what files of the source should I look in?

160
Proposals / Re: Close file without closing LGM/ENIGMA
« on: August 01, 2014, 09:38:58 AM »
If a second project opens in LateralGM without closing the first, that's a bug. A bad bug. If you hit save, you WILL save the contents of both games to the newly opened project if that really happened. And you will have duplicate IDs, and your game will be very hard to salvage.

The new button is the only way we have of "closing" a project, because it does not support loading two projects. Are you able to get it to load one project over another? Could you screencap it and/or file a bug?

It didn't happen always, only some times, dont remeber exactly what I did before it did happen, tried to replicate a minute ago and I can open a project and LGM closes the previous. If it happens again I'll make sure to get a screenshot.

161
As long as he has installed ENIGMA somewhere in his home folder, he does not need sudo. Windows is the only platform on which ENIGMA needs elevated privileges to function.

It's sounding like multiple games are working fine for you. What problem are you having right now, and how can someone reproduce it?
[/quote

Some of the examples do work, or at least worked yesterday. Today, after deleting compileEGMf.so and compiling it again, the ide still crashes when I try to run TED's test, if I try to create an empty game LGM puts the create, normal step and draw events for the object I'm adding to the room (only one object) and when (after saving it) I try to run it this is the error I get (It's not the same I was getting until today):

Code: [Select]
/home/eduardo/.enigma/Preprocessor_Environment_Editable/IDE_EDIT_objectfunctionality.h: In function ‘void enigma::constructor(enigma::object_basic*)’:
/home/eduardo/.enigma/Preprocessor_Environment_Editable/IDE_EDIT_objectfunctionality.h:56:15: error: ‘struct enigma::object_locals’ has no member named ‘timeline_index’
     instance->timeline_index = -1;
               ^
/home/eduardo/.enigma/Preprocessor_Environment_Editable/IDE_EDIT_objectfunctionality.h:57:15: error: ‘struct enigma::object_locals’ has no member named ‘timeline_running’
     instance->timeline_running = false;
               ^
/home/eduardo/.enigma/Preprocessor_Environment_Editable/IDE_EDIT_objectfunctionality.h:58:15: error: ‘struct enigma::object_locals’ has no member named ‘timeline_speed’
     instance->timeline_speed = 1;
               ^
/home/eduardo/.enigma/Preprocessor_Environment_Editable/IDE_EDIT_objectfunctionality.h:59:15: error: ‘struct enigma::object_locals’ has no member named ‘timeline_position’
     instance->timeline_position = 0;
               ^
/home/eduardo/.enigma/Preprocessor_Environment_Editable/IDE_EDIT_objectfunctionality.h:60:15: error: ‘struct enigma::object_locals’ has no member named ‘timeline_loop’
     instance->timeline_loop = false;
               ^
make[1]: *** [/home/eduardo/.enigma/.eobjs/Linux/Linux/Run/SHELLmain.o] Error 1
make[1]: se sale del directorio «/home/eduardo/enigma/ENIGMAsystem/SHELL»
make: *** [Game] Error 2

If you are on a linux32 box with a recent install (about 2 weeks) of the linuxmint17 distro and follow what I did and don't get the error I dont know what could you do in order to reproduce it.

EDIT 1 : Okey, tried to run mario isometric and I get the same error.

162
Proposals / Re: Close file without closing LGM/ENIGMA
« on: August 01, 2014, 04:31:06 AM »
Quote
More like what lazarus does where I can close a project without closing the ide, this because before I could open another project on enigma and it would close the one already open, but now sometimes I end up with two projects open on the project inspector one on top of the other.
That is a bug probably, as LGM doesn't have the option to have more than one project open. It seems you have a lot of bugs with LGM no one else can replicate for now. :D People with Linux should test. But you can just press "New Project" and it will reset everything.

I have bugs you say? I thought they were features!  :D

163
Quote
I manually downloaded and still the bug persists.
Here are two more suggestions:
1) Do you recompile the .so? Like go to enigma-dev and delete compileEGMf.so, and then type make (on windows it's mingw32-make). When you update .jar's and download new code via pull, the compiler/parser .dll is usually not automatically updated. If you delete it, then it's possible it will be built the next time you run LGM. But I personally do it via terminal.
2) If 1) doesn't work, then try this LGM and plugin: https://www.dropbox.com/s/qe19dvwa7v4kbxz/workingLGM.rar
This is LGM+plugin I use and it works. I haven't updated it to the newest version egofree has made, so maybe he has created some kind of bugs.

Quote
No such directory or file, is it supossed to be on enigma-dev? should enigma generate it always? How do I make enigma generate it?
It should be created automatically and always (although I think there was an option in settings.ini to toggle, but by default it should on). The fact that it doesn't write the log files seems to be some kind of privilege problem? Do you use sudo to launch LGM?

Thanks for the tips, will do so in a few hours when I get up.  :D  (Y)

I haven't touched the settings, and no I do'nt use sudo to launch lgm, why, should I?

164
Quote from: edsquare
I'm using the installer script to update, it in turn uses install.py so yes I'm updated on all fronts.
Actually, no you are not, I have not updated the packages repository because I can't get the md5 hash right now, download the latest from the Extra Packages page manually because I believe they updated it.
http://enigma-dev.org/docs/Wiki/Install:Extra_Packages

Edit: Scratch that they did not apparently. So this is an existing regression probably in the latest version as well.

Also your error logs you keep uploading are useless, those are just pointer stacks, upload enigma-dev/output_log.txt

I manually downloaded and still the bug persists.

No such directory or file, is it supossed to be on enigma-dev? should enigma generate it always? How do I make enigma generate it?

165
Proposals / Re: Close file without closing LGM/ENIGMA
« on: July 31, 2014, 10:29:37 PM »
Robert he means adding the ability to have multiple projects loaded simultaneously in the same IDE window/treeview instance, similar to CodeBlocks/VisualStudio how you can manage solutions and workspaces kinda deal and whatnot.

Kinda, but not:

More like what lazarus does where I can close a project without closing the ide, this because before I could open another project on enigma and it would close the one already open, but now sometimes I end up with two projects open on the project inspector one on top of the other.

Pages: « 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 »