1.4 issues with macCarbInput.cc
by Rubes · in Torque Game Engine · 11/24/2005 (10:30 pm) · 19 replies
Just downloaded the 1.4 SDK and have it up and running. Went ahead and made my previous engine modifications as well and everything seems to be working fine, except for one thing.
When I try to use the MessageHud, I notice that the keyboard is not deactivated anymore. So, when you try typing a chat message, the keyboard still responds with in-game commands, like jumping when hitting the space bar.
The console reports that it is "Unable to find function deactivateKeyboard". A quick check shows it's still in macCarbInput.cc, same as it was in 1.3, and I'm working with a new 1.4 build from Xcode 2.1 which didn't report any build errors. And there were no script compilation errors either.
A quick check with the console shows that most functions defined in macCarbInput.cc cannot be found, except for enableMouse() and disableMouse().
Any idea what might be causing this change?
When I try to use the MessageHud, I notice that the keyboard is not deactivated anymore. So, when you try typing a chat message, the keyboard still responds with in-game commands, like jumping when hitting the space bar.
The console reports that it is "Unable to find function deactivateKeyboard". A quick check shows it's still in macCarbInput.cc, same as it was in 1.3, and I'm working with a new 1.4 build from Xcode 2.1 which didn't report any build errors. And there were no script compilation errors either.
A quick check with the console shows that most functions defined in macCarbInput.cc cannot be found, except for enableMouse() and disableMouse().
Any idea what might be causing this change?
#2
I've modified engine a lot already (moved my engine changes from 1.3 to 1.4) and it's still works fine... btw, I have a lot of scripts that works with functions from macCarbInput.cc ...
11/24/2005 (10:51 pm)
I don't have this bug... (running TGE vs. VC7.1 and TBE) ...I've modified engine a lot already (moved my engine changes from 1.3 to 1.4) and it's still works fine... btw, I have a lot of scripts that works with functions from macCarbInput.cc ...
#3
Not sure what's causing this change...
11/24/2005 (10:54 pm)
Actually, it looks like deactivateKeyboard wasn't being found in 1.3 either, according to the console (or most other functions).Not sure what's causing this change...
#4
It slipped past me until a few hrs before we released 1.4.
A fix is in the works.
The fix involves completely rewriting most of the window & input parts of the mac platform, because they are made of spaghetti. Or ramen. Not sure which exactly.
The culprit is actually down in macCarbWindow.cc . Any place where you see Game->postEvent() is involved. Most specifically, DoTextInputCarbonEventHandling() is the culprit. This needs to be reworked.
11/26/2005 (2:10 pm)
This bug was introduced when the input system was altered to allow unicode input.It slipped past me until a few hrs before we released 1.4.
A fix is in the works.
The fix involves completely rewriting most of the window & input parts of the mac platform, because they are made of spaghetti. Or ramen. Not sure which exactly.
The culprit is actually down in macCarbWindow.cc . Any place where you see Game->postEvent() is involved. Most specifically, DoTextInputCarbonEventHandling() is the culprit. This needs to be reworked.
#5
A quick, temporary fix:
in/client/scripts/messageHug.cs, in the method MessageHud::open, add the line
moveMap.pop();
and in the method MessageHud::close, add the line
moveMap.push();
This basically will disable/enable the keyMap while the MessageHud is open. Not sure what problems that might introduce, but it seems to work for now.
11/26/2005 (4:25 pm)
Thanks, Paul. Actually, I traced things to macCarbWindow.cc, and thought that it's the likely source of the problem.A quick, temporary fix:
in
moveMap.pop();
and in the method MessageHud::close, add the line
moveMap.push();
This basically will disable/enable the keyMap while the MessageHud is open. Not sure what problems that might introduce, but it seems to work for now.
#6
12/02/2005 (4:41 pm)
Got this fixed. There will be a point update coming along fairly soon...
#7
Edit: There was one other thing I've noticed: when bringing up the MessageHud to enter a chat message (with the "u" key), it no longer clears the "u" when the Hud comes up. So the MessageHud appears on the screen with a "u" already in it. This didn't happen with 1.3. Will this fix handle that as well?
12/02/2005 (4:42 pm)
Awesome. Thanks for addressing it so quickly.Edit: There was one other thing I've noticed: when bringing up the MessageHud to enter a chat message (with the "u" key), it no longer clears the "u" when the Hud comes up. So the MessageHud appears on the screen with a "u" already in it. This didn't happen with 1.3. Will this fix handle that as well?
#8
12/05/2005 (12:20 pm)
Yes it will.
#9
12/05/2005 (12:47 pm)
Great, thanks for letting us know!
#10
03/02/2006 (2:34 pm)
Just wondering about the status of this Mac update. Has it been posted yet? Thanks.
#11
I am hoping it also has some fixes in it.
03/04/2006 (12:52 pm)
Was wondering the same thing, and noticed in Paul Scotts .Plan that there is a new version out today that builds 'Universal Binaries'.I am hoping it also has some fixes in it.
#12
04/17/2006 (6:36 pm)
Any chance we can get our grubby paws on this fix?
#13
04/21/2006 (7:36 am)
I'm also interested in this fix. Any news?
#14
If you like, I can push a few things up to the CVS server pretty soon, but the Mac platform has undergone some significant changes since y'all last saw it, so it may be a bit of a surprise.
/Paul
04/25/2006 (11:50 am)
We're working on pushing the next point release, 1.4.2 out the door. This will have the fixes.If you like, I can push a few things up to the CVS server pretty soon, but the Mac platform has undergone some significant changes since y'all last saw it, so it may be a bit of a surprise.
/Paul
#15
I had a lot of headaches debugging this parts for the Mac release of Venture Africa...
04/25/2006 (12:50 pm)
Paul, did you entirely rewrite macCarbWindow in this next version? Did you also rewrite the (full)screen initialization?I had a lot of headaches debugging this parts for the Mac release of Venture Africa...
#16
By the way, any insight as to why the Mac build uses two variables to track screen resolution -- one for full screen and one for windowed display ($Pref::Video::resolution and $Pref::Video::windowedRes) -- while Windows only relies on one ($Pref::Video::resolution)?
04/25/2006 (1:19 pm)
Thanks, Paul. I can certainly wait, I just didn't know if it would be a simple fix you might consider posting here.By the way, any insight as to why the Mac build uses two variables to track screen resolution -- one for full screen and one for windowed display ($Pref::Video::resolution and $Pref::Video::windowedRes) -- while Windows only relies on one ($Pref::Video::resolution)?
#17
I have also rewritten the fullscreen initialization, cleaned up & multithreaded event handling, and moved main(), alerts, and input out of macCarbWindow.
05/01/2006 (8:54 pm)
@Mattieu Well, according to the blame log, I've rewritten about 85% of macCarbWindow.I have also rewritten the fullscreen initialization, cleaned up & multithreaded event handling, and moved main(), alerts, and input out of macCarbWindow.
#18
I can't wait to see all of this changes.
Next step: HID support ;o)
05/02/2006 (12:52 am)
Wow! You're my hero!I can't wait to see all of this changes.
Next step: HID support ;o)
#19
06/08/2006 (7:42 pm)
AMEN to HID support! Gamepad Companion isn't cutting it.....
Torque Owner Gustavo Munoz