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

481
Off-Topic / Re: Disable Right click on target HWND
« on: January 12, 2015, 06:47:17 AM »
TKG, usually the player just has an easy way of letting you disable it. The following question was asked about a VB.NET SWF player.
http://www.codeproject.com/Questions/839571/How-to-disable-Adobe-Flash-Player-context-menu-in

Basically if the API don't offer you'll have to offer some very ugly hacking, which I could pull off if I was dedicated to but I suggest you just find another API, or is that not feasible?

Quote from: TKG
The problem is I can find the "Window Class Name" of the right click popup menu via GetClass.exe, but how do I use that to get the menus handle to destroy it? It isnt a window, and the only way to get a menu handle is by GetMenu() which uses the parent window's hwnd, which as I said only works with the menubar items at the top of the client.
That's because the menu itself might not be a native context, it could in fact be entirely written in Flash just like Java Popups are really JMenu's or ContextMenu's.

482
Off-Topic / Re: Disable Right click on target HWND
« on: January 11, 2015, 10:18:59 AM »
After running it in ENIGMA I see how it behaves and works. Your source code for this isn't really important at all, what's important is that you mention specifically what flash embedding extension this is because it likely has a way of disabling the popup. The second is that you shouldn't really worry about this, these settings are meant to be there for a reason, just shut down your flash extension and close it on game_end, I don't see what's wrong with that? Otherwise you need to find out if the extension lets you disable the context menu or else find a way to hack around that which may not go well because that context menu is likely built into the flash player.

483
Developing ENIGMA / Re: LateralGM 1.8.6.844
« on: January 11, 2015, 09:05:02 AM »
Another quick update here egofree has used the official vectored versions of the room icons and I have implemented the configuration manager for multiple configs. In addition to the previous room changes by egofree you can now have multiple constants and configurations. GMK will only read and write your first configuration and its associated constants. EGM still does not save constants, and will only save the first configuration like the GMK format. So for now you must use the GMX format to save multiple configurations and constants. You must always have 1 configuration and you get 1 default constants page plus a constants page associated with every configuration just like in GM: Studio.

Here is a screenshot of the new configuration manager. You must use this frame to work with multiple configs and the constants associated with them. The configuration selected on the main toolbar will be the configuration the game builds with, just like GM: Studio. Opening constants using the main toolbar or the tree node will give you the constants that are written for every configuration.


You can update just like always with the python install.py script or manually from the extra packages page, I will build a new portable when the EGM format is fixed, I can't do it myself as school is starting and I am busy studying.
http://enigma-dev.org/docs/Wiki/Install:Extra_Packages

This was the commit where I fixed the icons to use Josh's official exported ones that are not aliased.
https://github.com/IsmAvatar/LateralGM/commit/4276803806c22632efaf48751a6775e8936f7b27

484
Developing ENIGMA / Re: New Portable
« on: January 11, 2015, 08:27:23 AM »
That looks much better and yes we can finally update the Portable ZIP now. Normally though you don't even need Inkscape there is a script to export them en masse as png's with the correct pixel alignment, normally Josh builds a release for this though I don't know why he didn't this time.
https://github.com/enigma-dev/Calico-Icon/releases

485
Off-Topic / Re: An article about Enigma on 'Gaming on linux'
« on: January 11, 2015, 08:26:04 AM »
That's actually really good news, someone else was posting about LateralGM on their blog.
http://gawasy.blogspot.com/

Either way it's still a step forward.

486
Off-Topic / Re: Disable Right click on target HWND
« on: January 09, 2015, 02:23:09 AM »
Is that the same problem in GM or is just doing that in ENIGMA? The first thing you need to do is find out how the context menu is being shown before you can try to disable it. If you didn't add it, it's probably being shown on a WM_CONTEXT or WM_POPUP or mouse event, in which case you want to block those window messages from delegating to the child windows.

487
Off-Topic / Re: why I hate websites owned by tiny people
« on: January 06, 2015, 02:23:46 AM »
Actually nobodies hard drive here matters, except maybe Josh's and mine, the code is all on GitHub. We could all die and it'd still be there, the only thing that can really destroy it is a nuclear fallout. I feel like all of GameMaker has a high bus factor honestly and YYG's too with their giant Delphi code base, GM: Studio is a bunch of open source API's duck-taped to LLVM/Clang and a 16 year old Delphi IDE (Animo was originally released in 1999). Also not just sorlok but also egofree has been extremely resourceful and immensely helpful to the project as well as TheExDeus and many other people.

488
Proposals / Re: JSON in Enigma?
« on: December 31, 2014, 01:35:54 AM »
We actually have a JSON extension to implement the Studio functions which was started by canthelp before he left, but I believe I tested it before and it does not work. I am too busy fixing parser bugs to be able to address this right now I am more concerned with initializer lists at the moment.
https://github.com/enigma-dev/enigma-dev/tree/master/ENIGMAsystem/SHELL/Universal_System/Extensions/Json

489
Proposals / Re: Disabling Automatic Semicolons
« on: December 30, 2014, 10:29:58 AM »
I have tested and the setting seems to be a suitable fix pro tempore. I have sent a new pull request. This is also a nice setting even if the user just wants to compile projects faster because they can skip this phase entirely. Therefore I agree with Harri that this is a smart way of teaching users that by coding properly they can write faster and more efficient software.
https://github.com/enigma-dev/enigma-dev/pull/919

490
Issues Help Desk / Re: Compiling for windows in linux problem
« on: December 30, 2014, 03:06:20 AM »
Like this gra...
Code: [Select]
gdb path/to/game.exe
run
SIGSEGV ENCOUNTERED
bt
(stack trace follows...)
quit
Y

491
Proposals / Re: Disabling Automatic Semicolons
« on: December 30, 2014, 12:58:57 AM »
I am like 99% certain without testing that the MinGW errors should show in LGM's console, I am like, almost certain. Though our syntax checking itself would not catch the error. To reiterate those may not be very user friendly but again this setting would be for advanced users, like Harri, who know C++.

492
Proposals / Disabling Automatic Semicolons
« on: December 30, 2014, 12:55:38 AM »
After I fixed the primitive arrays with Josh's help I wanted to fix initializer lists, they are only broken because of the automatic semicolons, when this is disabled they work. Harri's matrix array initialization is primarily what inspired me.
http://enigma-dev.org/forums/index.php?topic=2397.msg24374#new

This was my attempt here:
https://github.com/enigma-dev/enigma-dev/pull/917

But it ultimately fails because we simply don't have sufficient information to do this yet and a number of games are failing to parse after the changes. A better work around for the time being would be to add an option to disable automatic semicolons all together, this means you would have to always put your ';' terminating semicolons where they belong. But it would stop some things like initializer lists from breaking.

This would make the following possible in ENIGMA if you choose to disable it.
Code: (EDL) [Select]
int arr[2][3][4] = { { {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4} },
                     { {1, 2, 3, 4}, {1, 2, 3, 4}, {1, 2, 3, 4} } };

for (int r = 0; r < 2; r++) {
    for (int c = 0; c < 3; c++) {
        for (int n = 0; n < 4; n++) {
            show_message(string(arr[r][c][n]));
        }
    }
}

I would appreciate feedback on this and whether you guys think a setting for this would be nice. It should be considered an advanced setting as advanced users are more likely to properly terminate statements.

493
Developing ENIGMA / Re: New Portable
« on: December 29, 2014, 10:49:28 AM »
We will get there egofree, so many issues, so little time, we need to fix some more LGM stuff and get the icons vectorized first.

Another quick update here as well, I have fixed the syntax checking output, room/instance creation will no longer silently fail it will show the output and line numbers. Script syntax checking will also properly show line numbers now as well. Update as usual.
https://github.com/enigma-dev/enigma-dev/pull/913

494
Works in Progress / Re: [OGL3] Shader Test
« on: December 29, 2014, 08:47:46 AM »
Yeah I hadn't considered that you may want to draw to the same surface again, so flipping on the CPU is out of the question.

What about doing what ANGLE does then, would that be compatible with GM Studio shaders? If not our only real option is to just use ANGLE. It however would be nice if we all had GL4.5 cards and could just use the proper fix.

495
Programming Help / Re: Matrix Math extension?
« on: December 29, 2014, 08:29:53 AM »
What? That isn't the case at all, all the matrix_functions I prototyped are showing in the function list.

Code: (EDL) [Select]
matrix_build : gs_scalar *matrix_build(gs_scalar x, gs_scalar y, gs_scalar z, gs_scalar xrotation, gs_scalar yrotation, gs_scalar zrotation, gs_scalar xscale, gs_scalar yscale, gs_scalar zscale);
matrix_get : gs_scalar *matrix_get(int type);
matrix_multiply : gs_scalar *matrix_multiply(gs_scalar *matrix1, gs_scalar *matrix2);
matrix_set : void matrix_set(int type, gs_scalar *matrix);

Quote from: TheExDeus
I still need to cast the var array as floats, which I don't know how effective will be. Right now I just assume they are floats and do a memcpy:
That sounds fine to me for now, having it work is better than nothing at all. Josh can weigh in if you like.