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

871
Programming Help / Re: [Solved] Adding a new function
« on: September 29, 2014, 01:13:13 AM »
Parsing fail, we don't support -> yet I suppose. So yeah variant just needs overloaded with void*.

872
Programming Help / Re: [Solved] Adding a new function
« on: September 29, 2014, 01:05:58 AM »
Make a blank game with window_device()->EndScene(); and tell me if it compiles.

873
Programming Help / Re: [Solved] Adding a new function
« on: September 29, 2014, 01:00:45 AM »
Yeah, variant can not overload void* I am not sure how hard it would be to make it do that, but if we want pointers it needs to anyway. Regular pointers do work though, if u wanted to use that inside a script it might work as in window_device()->SomeD3DFunction();

874
Issues Help Desk / Re: bug report
« on: September 29, 2014, 12:59:42 AM »
I plan to fix it TKG, I seen it already too, I'm in hell right now trying to fix LGM's unsaved changes dialog so that it only shows when there were actually changes.

875
Programming Help / Re: Adding a new function.
« on: September 29, 2014, 12:25:49 AM »
He got it sorlok.

Platforms/General/PFwindow.h
Code: (C++) [Select]
namespace enigma_user {
void* window_device();
}

Bridges/Win32-Direct3D9/graphics_bridge.cpp
Code: (C++) [Select]
namespace enigma_user {
void* window_device() {
  return enigma::d3dmgr->device;
}
}

The reason I never sent this to master was because I didn't know how far we could throw it.

876
Off-Topic / Re: Creating an ENIGMA fork?
« on: September 28, 2014, 11:54:16 PM »
I see it Darkstar2, don't worry about cheeseboy, he can be pretty childish, he stills actually hangs around on IRC bugging me to work on enigger.

877
Off-Topic / Re: OK, I am onboard!
« on: September 28, 2014, 11:50:59 PM »
Congratulations all help is welcome!  (Y)

878
Off-Topic / Re: Creating an ENIGMA fork?
« on: September 28, 2014, 10:31:49 PM »
Darkstar2 that's because you are confusing me with someone else, it was probably me being really negative. I don't specifically recall any particular instance of somebody being upset and leaving.

879
Off-Topic / Re: Creating an ENIGMA fork?
« on: September 28, 2014, 10:12:23 PM »
cheeseboy is fundies

There may have been someone doing that but they were probably never a regular here anyway.

880
Off-Topic / Re: Creating an ENIGMA fork?
« on: September 28, 2014, 09:57:49 PM »
Quote
Many left because of disagreements with the project and others, or could not care less or for other reasons, you can't assume they are dead
Actually, noone has left because of disagreements. IsmAvatar left, but didn't really, because she has work. Polygonz left because he has a girlfriend or w/e and he still stops in. fundies left because he's bored and thinks he knows C++ now. I can't think of any contributor that left because of a disagreement of dispute. A2h left because he had other things to do, he came back a while ago and Josh discussed his new website design. Rusky is back after a year in moron church service.

881
Finished Games / Re: Window Styler, Web Browser, and Embed Program
« on: September 28, 2014, 07:07:36 PM »
Quote from: Darkstar2
YYG is hiring....You are in Scotland right ?
He's actually in Chinatown right now.

And this is what he looks like in Chinatown with no meds.

882
Finished Games / Re: Window Styler, Web Browser, and Embed Program
« on: September 28, 2014, 06:21:02 PM »
Quote from: TKG
Thank you Bob!
No problem but the point is I was trying to show you that you do not have to switch from using BASIC to accomplish it. I just don't know the BASIC counter part off hand but as long as this BASIC language lets you do windows and loops and handles you should not have to switch languages.

883
Finished Games / Re: Window Styler, Web Browser, and Embed Program
« on: September 28, 2014, 06:05:24 PM »
Quote from: TKG
So how do I do that?

Like this...

Code: (C++) [Select]
LRESULT CALLBACK DllChildWndProc (HWND hWndParameter, UINT message,WPARAM wParam, LPARAM lParam)
{
  switch (message) {
    case WM_CREATE:
      return 0;
  }
  return DefWindowProc(hWndParameter, message, wParam, lParam);
}

void somefunctionwhereyouwanttotakecontrolofthechildwindow() {
  SetWindowLong(childWindowhWnd, GWL_WNDPROC, DllChildWndProc);
}

Then you have complete control over all messages for the child control. (Y)

884
Finished Games / Re: Window Styler, Web Browser, and Embed Program
« on: September 28, 2014, 05:23:38 PM »
TKG, ok, do you have the handle to the control? What you would want to do is intercept all of its window messages, but I don't think that can be done without directly controlling it and delegating the messages.

It goes like this, in order to get WM_SIZE or WM_PAINT or other messages from the window, we hand it a process to its class/container which is used to create the window.
https://github.com/enigma-dev/enigma-dev/blob/master/ENIGMAsystem/SHELL/Platforms/Win32/WINDOWSmain.cpp#L224
We then process the messages.
https://github.com/enigma-dev/enigma-dev/blob/master/ENIGMAsystem/SHELL/Platforms/Win32/WINDOWScallback.cpp#L72
And if we want we can optionally pass messages right back to Win32 for Windows to handle the message itself.
https://github.com/enigma-dev/enigma-dev/blob/master/ENIGMAsystem/SHELL/Platforms/Win32/WINDOWScallback.cpp#L247

So what I am wondering if there is a way to take the handle of your control and attach it a message process after it has already been created. These are formally called Window Procedures.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms632593%28v=vs.85%29.aspx

Found it
Use SetWindowLong with GWL_WNDPROC and you can change the window procedure to your own function and intercept all messages from the child control.
http://msdn.microsoft.com/en-us/library/windows/desktop/ms633591%28v=vs.85%29.aspx

885
Finished Games / Re: Window Styler, Web Browser, and Embed Program
« on: September 28, 2014, 04:50:38 PM »
Quote
The losing focus issue is because the browser controll is a seperate window being embedded in there, there's no way to fix that unless I re-write in c++.
Not necessarily, can't you just intercept the messages from the browser control handle?