wheybags / freeablo

[ARCHIVED] Modern reimplementation of the Diablo 1 game engine
GNU General Public License v3.0
2.16k stars 193 forks source link

configurable controls #32

Open wheybags opened 10 years ago

Ghuntar commented 10 years ago

Do you think gamepad control could be implemented ? I know, some will scream as soon as they would hear that, but I think this could be cool. I already played (and liked) the PS1 version of Diablo (on PSP) and I've heard that the PS3/Xbox version of D3 is good too (I'm a PC player, but I'm open to alternate ways).

wheybags commented 10 years ago

That would be nice eventually yeah, and SDL does support it iirc. However, that would ofc be an extra feature, so other things would take precedence

tilkinsc commented 6 years ago

I think SDL is a bad library for this and for the same reason most emulators default to xinput: LOVELY CONFIGURATION!!! ~Not to mention cross platform.~ I am blind image

Well the License Agreement is:

"The contents included in the Windows SDK are licensed to you, the end user. Your use of the SDK is subject to the terms of an End User License Agreement (EULA) accompanying the SDK and located in the \License subdirectory. You must read and accept the terms of the EULA before you access or use the SDK. If you do not agree to the terms of the EULA, you are not authorized to use the SDK."

However not even dolphin explicitly talks distributes such license.

tilkinsc commented 6 years ago

Wait a minute... I remember reading...

So, I’ve gotten the main renderer ported to OpenGL instead of using SDL2 (still using SDL2 for input, audio, window + OpenGL context creation, so it’s by no means gone).

SDL2 can be deprecated I think now. input can be xinput, audio/video can be vlc #27 , and window + OpenGL context creation can be GLFW3 with GLEW (which GLEW really, really helps cross-platform-ability).

wheybags commented 6 years ago

Input cannot be xinput, it's windows only.

tilkinsc commented 6 years ago

Ahh sorry I must have read wrong on xinput. However, I think dolphin could be a great example of a library to use as well as ppsspp. I don't think SDL is particularly useful especially because how long it takes to build a download and the problems it has. It is only used for the controller after we get vlc up and running.

Lectem commented 6 years ago

I don't think SDL is particularly useful It is only used for the controller after we get vlc up and running. It is used to abstract windows, inputs, sound, image loading and provide an opengl context, all that being crossplatform. So yes, it is useful unless you want to code all that for various platforms or bring yet another set of dependencies in freeablo.

especially because how long it takes to build a download and the problems it has. Changing to another library probably won't change that

Also, SDL2 did support XInput last I checked.

tilkinsc commented 6 years ago

Ahh neat, but I suggested GLFW, which is very cross platform and simpler to implement especially for our cause to 'inputs, abstract windows'. It has inputs too. VLC is of interest because it already does two of the things we need: audio and video. GLEW + GLFW provide an OpenGL context, and it also lets you ensure that the respective machines that runs the game have the supported gl* functions. We already use OpenGL. These dependencies are a just a few kilobytes too. My dll (windows) are 362 and 273 kilobytes for glew and glfw. All includes amount up to 1.3mbytes. These input, sound, image loading, and window get deprecated by this and we are given the sanity of the lack of a huge library not having to be depended on and built.

I really think it is something to consider.