rowan wrote:
If you do end up doing anything with the source,
PLEEEEEAAAAASSSSSSSSEE fix the "stuck on game complete screen with no way to exit" whilst you're there.
It was even acknowledged pre-patch, then the patch dropped and it was the same
viewtopic.php?f=41&t=87975
NOTED : .. checked again "what he's talking about" .. found it again .. not sure at this point where/if/why it's not sorted out on the PC ..
Fundamentally it all boils down the "mapping" of the "START BUTTON" .. actually the code I see goes like this ...
Code: Select all
// TODO : ABSOLUTELY CHECK WHAT HAPPENS AT END OF GAME !!!
#ifndef _XBOX_ONE
if (controls.pressedButtons&BUTTON_START)
#else
if (controls.pressedButtons&BUTTON2)
#endif
So "if it's not xbox one", is the START button ... if it's the Xbox One .. then it's the "B" button ..
It even changes on what it prints at the end of the game ..
BUT .. the problem comes "WHAT IS THE START BUTTON ??" ...
And there lies the shit, now VERY LONG STORY MADE SHORT "there are many different levels of mapping" so one thing is "the physical controller", another one is "the virtual one", and another one is "the actual mapping of buttons/etc. as used in the game" .. with the "added bonus" ( or malus ) that there's also - on the PC at least - a thing about "controllers merge" what to do/etc. if > 1 "controllers" are detected/etc. keyboard/mouse/etc. ..
In all this shit someway "BUTTON_START" got "lost" or better to say "incorrectly mapped" into "something that you cannot press no matter what" ..
It gets worse, at the time of that code, which is quite some years old, there was a bit of "mixture of things" so "some bits of code where shared among diffrent games" so there was a bit of "if GAME == this, do this else if GAME == that, do that" and such ..
The idea was "not to have to replicate 10 times the same bug-fixes in 10 different sources that should be nearly the same" ( so why not to use the same source shared between 10 thigns ? Sometime you don't have the smartest ideas .. ) .
Anyway someay "in that case" BUTTON_START got "lost" and to be honest I THINK I should have been more a thing like
Code: Select all
// TODO : ABSOLUTELY CHECK WHAT HAPPENS AT END OF GAME !!!
#ifndef _THIS_IS_PS4
if (controls.pressedButtons&BUTTON_START)
#else
if (controls.pressedButtons&BUTTON2)
#endif
Because "BUTTON2" , B, would have gone well for "everything", probably even for PS4 DO NOT ASK ME WHY has to be "start" instead I WOULD NEVER EVER REMEMBER the reason ...
But yeah .. if/when I'll touch that code again "remind me again about this bug" ... I may have forgotten about it by that time ...
P.S. I am still trying to convince Atari that "we need a VR version of T4K" ..
Also NOTE : there's ABSOLUTELY NOTHING the user can "externally" do to fix that ( apart maybe go with some hex editor, find that bit of code and change that "anded constant"

) because "does not matter what button you push in the controller", there is "a layer" that will NEVER map it to "BUTTON_START, also if "BUTTON_START" would be defined as 0x00 you are totally fucked ( i.e. "don't want ANY start button" ).
Giles the billy goat
"Baa"