Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gamepad support #10

Open
xdccrlz opened this issue Oct 11, 2022 · 24 comments
Open

gamepad support #10

xdccrlz opened this issue Oct 11, 2022 · 24 comments

Comments

@xdccrlz
Copy link

xdccrlz commented Oct 11, 2022

iOS and tvOS versions have no gamepad support. SDL-only branch have gamepad support both iOS and tvOS, but started in small window 640x480 in the down left corner. Tested with iOS 15.7, tvOS 16 and Xcode 14.0.1.

@xdccrlz
Copy link
Author

xdccrlz commented Oct 12, 2022

A similar situation exists for Xcode 11 and 13, which means that code correction is required to use the project on devices with current iOS and tvOS.

@xdccrlz
Copy link
Author

xdccrlz commented Oct 12, 2022

Using the 'sdl-only' branch shows better compatibility of SDL with different generations of devices and versions of operating systems than using Swift, which has obvious backward compatibility problems. A striking example of correct and accurate work using SDL for iOS and tvOS is the sm64ex-ios project (https://github.com/ckosmic/sm64ex-ios ).

@jake2244338
Copy link

Where is the sdl only branch

@xdccrlz
Copy link
Author

xdccrlz commented Jul 4, 2023

@xdccrlz
Copy link
Author

xdccrlz commented Jul 4, 2023

It would be nice to get through to Tom, but if he is busy, then you need to dig in the direction of extended gamepad support.

@jake2244338
Copy link

Here unfixed original https://github.com/tomkidd/Quake2-iOS/tree/sdl-only
Here fixed fork https://github.com/xdccrlz/Quake2-iOS/tree/sdl-only

Thanks, if you have a Doom 3 fork let me know or at least a way to add controllers to it

@jake2244338
Copy link

I tried to contract him via email, this GitHub post, and YouTube comments but I think he doesn't use this account anymore. How do I add extended game support im new to Xcode so I don't know how to add controller support

@xdccrlz
Copy link
Author

xdccrlz commented Jul 4, 2023

You need to find a table of controls in the source code, and then in the ViewController add or fix the correspondence of buttons, sticks and triggers of the gamepad to these elements. See Apple's docs: https://developer.apple.com/documentation/gamecontroller/gcextendedgamepad

@tomkidd
Copy link
Owner

tomkidd commented Jul 4, 2023

Hey sorry for the lack of response, I've been trapped under a big pile of Real Life stuff and I haven't looked at this project in a while.

My apologizes if you've already told me this via email but what controller are you trying to use?

The code is designed to use MFi controllers but I was limited in testing to just having the one controller to test with and although the gimmick to MFi is uniformity, not all controllers are made the same.

Hopefully I can get this building again soon but the short version is it's supposed to be working already.

@jake2244338
Copy link

Hey sorry for the lack of response, I've been trapped under a big pile of Real Life stuff and I haven't looked at this project in a while.

My apologizes if you've already told me this via email but what controller are you trying to use?

The code is designed to use MFi controllers but I was limited in testing to just having the one controller to test with and although the gimmick to MFi is uniformity, not all controllers are made the same.

Hopefully I can get this building again soon but the short version is it's supposed to be working already.

I'm trying to use an Xbox controller, I don't have any mfi controllers. So is the app only compatible with mfi not Bluetooth

@xdccrlz
Copy link
Author

xdccrlz commented Jul 4, 2023

Sincere greetings!
We are talking about extended gamepad support, which includes Xbox One, X/S series, PS4 Dualshock 4 and 5 DualSense, Nimbus and many gamepads for iOS: GameSir X2, Backbone One and its clones, such as LeadJoy M1B.

@xdccrlz
Copy link
Author

xdccrlz commented Jul 4, 2023

As far as I can tell, the binding of the gamepad via SDL remained in the code, SDL was removed, but there is no call to extended gamepad in the GameViewController.
The second important point is the small number of controls on the on-screen gamepad, which does not allow you to fully control the character.

@xdccrlz
Copy link
Author

xdccrlz commented Jul 4, 2023

Hey sorry for the lack of response, I've been trapped under a big pile of Real Life stuff and I haven't looked at this project in a while.
My apologizes if you've already told me this via email but what controller are you trying to use?
The code is designed to use MFi controllers but I was limited in testing to just having the one controller to test with and although the gimmick to MFi is uniformity, not all controllers are made the same.
Hopefully I can get this building again soon but the short version is it's supposed to be working already.

I'm trying to use an Xbox controller, I don't have any mfi controllers. So is the app only compatible with mfi not Bluetooth

Xbox One/X-S series gamepad is supported MFI (made for iPhone specification)
The connection method is not important, it can be Bluetooth or Lightning, the main thing is that iOS recognizes it as an extended gamepad.

@jake2244338
Copy link

Here unfixed original https://github.com/tomkidd/Quake2-iOS/tree/sdl-only
Here fixed fork https://github.com/xdccrlz/Quake2-iOS/tree/sdl-only

Is the fixed fork it's own original version or does it still need to be added to the original

@jake2244338
Copy link

Hey sorry for the lack of response, I've been trapped under a big pile of Real Life stuff and I haven't looked at this project in a while.

My apologizes if you've already told me this via email but what controller are you trying to use?

The code is designed to use MFi controllers but I was limited in testing to just having the one controller to test with and although the gimmick to MFi is uniformity, not all controllers are made the same.

Hopefully I can get this building again soon but the short version is it's supposed to be working already.

I don't want to to make you do any extra work on this but there is this ipa of quake 1 https://archive.org/details/quake-1-i-os-11 it works with Xbox controllers

@jake2244338
Copy link

Hey sorry for the lack of response, I've been trapped under a big pile of Real Life stuff and I haven't looked at this project in a while.
My apologizes if you've already told me this via email but what controller are you trying to use?
The code is designed to use MFi controllers but I was limited in testing to just having the one controller to test with and although the gimmick to MFi is uniformity, not all controllers are made the same.
Hopefully I can get this building again soon but the short version is it's supposed to be working already.

I'm trying to use an Xbox controller, I don't have any mfi controllers. So is the app only compatible with mfi not Bluetooth

Xbox One/X-S series gamepad is supported MFI (made for iPhone specification) The connection method is not important, it can be Bluetooth or Lightning, the main thing is that iOS recognizes it as an extended gamepad.

There is an ipa of the quake 1 https://archive.org/details/quake-1-i-os-11 it works with Xbox controllers

@xdccrlz
Copy link
Author

xdccrlz commented Jul 4, 2023

There are two ways: make and wait.

@jake2244338
Copy link

There are two ways: make and wait.

I don't know where to go and how

There are two ways: make and wait.

Can you help me, where do I put the fork

@xdccrlz
Copy link
Author

xdccrlz commented Jul 4, 2023

Reg an account on the github, git clone for download and build. Or make own fork and fix and add all things you want. Or you keep in mind something else?

@jake2244338
Copy link

jake2244338 commented Jul 4, 2023 via email

@xdccrlz
Copy link
Author

xdccrlz commented Jul 4, 2023

No need so complicated) Fork is the full copy of original with commits of fixes. Enough just git clone a fork.

@xdccrlz
Copy link
Author

xdccrlz commented Jul 4, 2023

And one more: I was make fork from another fork not directly tom's original!

@jake2244338
Copy link

And one more: I was make fork from another fork not directly tom's original!

I got it but is it supposed to only be played with controller

@xdccrlz
Copy link
Author

xdccrlz commented Jul 4, 2023

Yes. Touch is only used to call menu.
Also, the original version does not allow to be saved. I have it fixed.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants