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 - TheExDeus

316
Josh, it was not hard-coded before and I personally liked it that way, but sorlok changed it because of some crosscompiling stuff or because of mac/linux which made him change it every time he opened LGM or something. He didn't like it so he removed it. I vote for bringing it back, but making it an LGM option that is saved, so you must do it only once. I think now it is saved in EGM (or if GMK is loaded then it goes back to default) which caused the problems he was having.

317
Issues Help Desk / Re: I'm a noob and I can't build a project
« on: December 24, 2014, 10:00:17 am »
That grayed out options thing usually means that the .dll (compileEGMf.dll) didn't compile or if it did, then it is out of date. I'll try a fresh install from portable zip.

318
Proposals / Re: Selection tool
« on: December 16, 2014, 03:44:20 am »
I think that was basically the idea of the Batch tab for tiles which was never implemented and sat there like a stub. I would like something like that as well, where you can box-select, multi-select (while holding shift or similar) and drag, copy or delete them all at once.

319
Another game you could try get running is Sun and Moon (http://ludumdare.com/compo/ludum-dare-29/?action=preview&uid=3479). I just saw it on Total Biscuit's channel (as it's a steam game now), but it was made for Ludum Dare and has source available. There is some problem with draw_set_font(font) when parsing, but when I comment that line out the game runs. So it only needed one change for compile to work. But nothing but the window shows on screen and music plays. The buttons for toggling music also works, but nothing else. There is some use of uninitialized variables that might be the problem. Maybe I will get it working when I have the time.

320
General ENIGMA / Re: Compile to JavaScript
« on: December 14, 2014, 11:47:30 am »
We also considered using LLVM for this, but the idea died. I guess we didn't want to switch compilers at that point (it would probably involve us switching to Clang). The one Josh talks about was actually an ENIGMA engine made in JS, for which game code was converted from EDL/GML to JS instead of C++. I think compiling to asm.js via Emscripten would create a lot faster code, than writing the whole thing in pure JS. Technically we could try that, but right now the biggest problem is that we don't have GLES support. Emscripten converts GLES to WebGL (which is essentially GLES), so it wouldn't probably convert our GL3 graphics system.

321
General ENIGMA / Re: Animated GIFs
« on: December 14, 2014, 07:53:34 am »
Quote
Regarding animation, GM treats GIFs as sub-images in sprites, so there's no timing information. We could probably hack that in, if desired.
I think what Josh meant is that GIF's support MANY options, like interlacing, uncompressed gifs, blocks and so on, so what of those options do your loader support? I personally don't care about those and if it loads a regular run of the mill gif, then I'm fine with that.

Quote
The current image_load does something like this:
I know that previously we didn't check for errors, even if the image_load_ functions returned them. But now it seems we do. The image_load returns an error when it couldn't load the file. Right now we call image_load_png when image_load_bmp fails, so this won't work if we have many formats as we will have to daisy chain those functions. Maybe a for cycle with all the formats would be better. image_load_png on the other hand returns NULL on fail. Then image_load() actually returns the NULL back even further into places like sprite_add_to_index() were we check for error:
Code: [Select]
     unsigned char *pxdata = image_load(filename, &width, &height, &fullwidth, &fullheight, false);
        if (pxdata == NULL) { printf("ERROR - Failed to append sprite to index!\n"); return; }
Not sure where we crash. Will have to investigate.

322
Issues Help Desk / Re: A weird error with File Handling
« on: December 12, 2014, 07:22:54 pm »
I don't think it segfaults. He says the program freezes, not that it crashes. I think the while loop is just stuck. Another thing he should try is adding an if check after _open:
Code: [Select]
file = file_text_open_read(argument0);
show_message(string(file));
if (file == -1) exit;
while (!file_text_eoln(file))
If it prints -1, it means the file failed to open.

323
Issues Help Desk / Re: A weird error with File Handling
« on: December 12, 2014, 05:21:18 pm »
Hello! I guess ENIGMA facebook page is not looked at for questions, as rarely anyone posts there.

Anyway, it's weird that the first code runs, because the problem is actually there too. It's only possible the first code to run is if the file is empty or only has one line.

The problem is that file_text_read_string() doesn't actually advance the "read head". Basically if you call file_text_read_string() several times, it will return the same thing. So the while(){} loop will never finish and the loop will freeze the game. You need file_text_readln() function to actually go to the next line. For this the GM manual is more detailed that ours (http://docs.yoyogames.com/source/dadiospice/002_reference/file%20handling/files/file_text_read_string.html) So this should not freeze:
Code: [Select]
// get_file_line(filepath, line number)

file = file_text_open_read(argument0);
var num = 0;
while (!file_text_eoln(file))
{
file_text[num] = file_text_read_string(file); // here's the error!! when the script tries to read a line, the game freezes.
        file_text_readln(file);
num++;
}
file_text_close(file);

return file_text[real(argument1)];
Also, this will be very slow. I suggest loading the file once and keeping the array file_text[] to use it later when needed.

324
General ENIGMA / Re: Quick question on fonts
« on: December 12, 2014, 01:31:33 pm »
Quote
BTW as  to MS word it uses all available/usable fonts you have installed on system, it does not restrict.....
I know that. But there are already hundreds of pre-installed fonts, all of which are free to use as you please.

Quote
As to FONT copyright and it's use, you are not allowed to SELL IT, true, but what I was wondering, what if I used a given font in my game, to write score or text and sell my game.....I am not directly selling the font but my game which happens to use a bitmap representation of the font, would I be illegal in the hands of the FONT (c) holder?  I am not embedding or distributing the font itself so it would have no use for the person playing my game and would not even be considered a "FONT" but a bitmap/texture map whatever.
As with anything it depends on the license. If the license says they are free to be used, then you are free to use them. There is no single "font law" or something. There are many font sites which allow you to get them for free and use commercially (like google fonts here: http://www.google.com/fonts) or you can buy a commercial license that allows you to include it in your product as a bitmap here (http://www.losttype.com/ with license http://www.losttype.com/images/samples/License_Commercial_Sample.pdf). You can see that in the last example you can only install the font and use it on 1-5 computers (with the cheapest license), but you can include it in your final product, which would mean converting it into a bitmap and using that way for games. You can probably give the font file with the game itself as well, but only if it doesn't explicitly install it for the users. In this case the safe way would be to use the bitmap version.

325
General ENIGMA / Re: Quick question on fonts
« on: December 09, 2014, 10:18:21 am »
Quote
lol - if that were the case then a lot of microsoft word users are breaking the law.  So by that definition if I use a font in word and print a document I am illegal ? If it were illegal don't you think many companies would be trouble ? All those developer tools with fonts support, illegal too ?
How many fonts in the MS word are under monetary license? The answer is 0, because if there were, then they wouldn't be included in word or windows. For most fonts MS owns the copyright. Also, you mistake copyright with license. Copyright doesn't mean that you can't use it, it means you cannot say "I made it" and even worse, get money from that without consent of the copyright holder. Which basically means that the copyright holder has the main right to decide on who can and cannot use his work. Licenses on the other hand can be all different kinds, like GPL or MPL or BSD or whatever. This means that you can make a font, for which you automatically hold a copyright (under Berne Convention you get a copyright automatically and there isn't a process in which you need to get it), and then you can release that font freely with a license saying that anyone can copy it, modify it, and even sell it. If you don't allow a person to sell it, but they do, then you can get compensation and/or get them to stop, because you still hold the copyright no matter the license.

So normally you can still enforce the license even if the person has converted your vector font to a bitmap one. But that depends on the license.

326
General ENIGMA / Re: Busy busy, like a bee
« on: December 08, 2014, 08:09:07 am »
OpenAL is added inside the .exe 100%, and it's extracted when running the game. The rest should be statically linked though, so you shouldn't need any kind of dll.

327
General ENIGMA / Re: Busy busy, like a bee
« on: December 08, 2014, 06:20:45 am »
Why did you have ffi and pthreads .dll's externally? Did you use threading? OpenAL also didn't have to be external. You maybe didn't build using >Build button either?

I liked the game. Later levels with all the fancy explosions looked like a bullet hell game.

328
General ENIGMA / Re: Code Action Comments
« on: December 08, 2014, 06:02:51 am »
We could do both. Have a /// syntax for compatibility and ease of use, as well as have some kind of @description tag (maybe more pretty) which would override the /// comment. So it would work with doxygen.

329
Quote
I consider it stable but there are a lot of
features I'd like to see implemented but first most a way to add a splash screen
by choosing an image. A lot of Game's and software contain this now days.
We didn't add a loading screen initially just for the the reason that ENIGMA usually loaded so fast, that you wouldn't be able to see it anyway. Of course if the project is more complicated, then the frozen black window can be seen for a split second now, so we might need to add this. There are several ways we can do this. The most basic way includes modifying ENIGMAsystem/Shell/Universal_System/loading.cpp. That is the file that has initialize_everything() in it. The resources are loaded starting at line 75. So we need a way to load the splash screen, and draw it before that line. GL context should be up and running at that point, so we could just add the splash screen as a background resource and draw that background with draw_background(). The window can be resized to match the size of the background and the window buttons and boarders can be temporarily disabled.

Basically all we need is LGM to pass that loading images to use via the plugin. Then we should be able to do this. This is Roberts territory now.

I would actually prefer if a user had some kind of control over the whole thing, like if a user could make a room which he can then assign as a loading screen. Then there he could render lots of stuff while the loading happened in another thread. So he could do all kinds of fancy animations for it.

Also, you can do it manually if you load external files, so you can make a first room "rm_loading" and then just show a splash or something while the resources are loaded.

330
Developing ENIGMA / Re: Switch to C++11?
« on: December 07, 2014, 04:13:50 pm »
I'm also on windows and don't experience any problems. There is no INI. We just need it in windows gcc.ey. There cxxflags: is set to -std=c++11 -I../Additional/i686-w64-mingw32/include . There was a makefile problem recently though, that caused many flags to be ignored. It was fixed here: https://github.com/enigma-dev/enigma-dev/commit/e05915f931cf69115738e1ae68f3eab47eeff8e8
Is there a specific error message?