Giter Club home page Giter Club logo

sdlcl's People

Contributors

etam avatar maddthesane avatar mralert avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

sdlcl's Issues

OSX: bitmap issues

There seems to be a few issues with bitmap graphics on Mac OS X.
The testbitmap application bundled with SDL 1.2:
SDL 1.2:
screen shot 2018-03-19 at 2 40 56 pm

SDLCL:
screen shot 2018-03-19 at 2 40 59 pm

The testalpha application bundled with SDL 1.2:
SDL 1.2:
screen shot 2018-03-19 at 2 47 46 pm
SDLCL:
screen shot 2018-03-19 at 2 47 52 pm

Dependencies for compiling and generic library

As I have made a fresh Ubuntu 18.04 installation, I am unsure about dependencies for compiling for 32 bit applications in 64 bit system. Also, is it possible to make a generic library which would work on most of mainstream distros?

Soldier of Fortune needs XSetErrorHandler

This is a strange one, Soldier of Fortune (SDL1.1) complains about a missing symbol related to Xorg:

./sof-bin: symbol lookup error: ./sof-bin: undefined symbol: XSetErrorHandler

[Wayland] Cannot start ut2004

This works fine in Xorg, but under Wayland I cannot start UT2004.

Running ut2004 with sdlcl gives:

Couldn't set video mode: Couldn't find matching GLX visual


History: 

Exiting due to error

SDL_VIDEODRIVER=x11 has no effect.

Setting SDL_VIDEO_X11_VISUALID= does something as it gives a different error:

Couldn't set video mode: Could not create GL context


History: 

Exiting due to error


Finally, SDL_VIDEODRIVER=wayland appears to get the least furthest as it gives the error:

Error loading GL: OpenGL library already loadedOpenGL library already loaded

History: 

Exiting due to error

Unreal Tournement 2004 segfaults

Hi,

UT2004 segfaults with 32 bit and 64 bit SDL Compatibility Library's libSDL-1.2.so.0. I tried to remove -m32 entries or changing it to -m64 in Makefile; results are the same; besides it already segfaults with 32 bit libSDL-1.2.so.0 anyway. The game works with both architecture fine if OS' libSDL-1.2.so.0 is linked to System folder.

Terminal output:

./ut2004-bin
Signal: SIGSEGV [segmentation fault]
Aborting.


Crash information will be saved to your logfile.
Segmentation fault (core dumped)

Logfile:

Log: Log file open, Fri Jan 12 23:37:20 2018
Init: Name subsystem initialized
Init: Version: 3369 (128.29)
Init: Compiled: Dec 16 2005 13:23:47
Init: Command line: 
Init: (This is Linux patch version 3369.2)
Init: Character set: Unicode
Init: Base directory: ~/ut2004/System/
Init: Ini:UT2004.ini   UserIni:User.ini
Init: Build label: UT2004 Build UT2004_Build_[2005-11-23_16.22]
Init: Object subsystem initialized
Log: 
Developer Backtrace:
Log: [ 1]  ./ut2004-bin() [0x874bdd9]
Log: [ 2]  [0xf7fc8dd0]
Log: [ 3]  /usr/lib32/nvidia-390/libGL.so.1(+0xa8052) [0xf70aa052]
Log: Unreal Call Stack: (no backtrace available.)
Exit: Exiting.
Log: FileManager: Reading 0 GByte 0 MByte 0 KByte 247 Bytes from HD took 0.000004 seconds (0.000004 reading, 0.000000 seeking).
Log: FileManager: 0.000000 seconds spent with misc. duties
Uninitialized: Name subsystem shut down
Uninitialized: Allocation checking disabled
Uninitialized: Log file closed, Fri Jan 12 23:37:21 2018

SDL functions:

nm -D ut2004-bin | grep SDL
09216e64 N GLoadedSDLDrv
08dba360 D GSDLDrvPackage
         U SDL_EnableUNICODE
         U SDL_Flip
         U SDL_FreeSurface
         U SDL_GetError
         U SDL_GetMouseState
         U SDL_GetRGB
         U SDL_GetVideoInfo
         U SDL_GetVideoSurface
         U SDL_GL_GetProcAddress
         U SDL_GL_LoadLibrary
         U SDL_GL_SetAttribute
         U SDL_GL_SwapBuffers
         U SDL_Init
         U SDL_JoystickClose
         U SDL_JoystickGetAxis
         U SDL_JoystickGetButton
         U SDL_JoystickName
         U SDL_JoystickNumAxes
         U SDL_JoystickNumBalls
         U SDL_JoystickNumButtons
         U SDL_JoystickNumHats
         U SDL_JoystickOpen
         U SDL_JoystickUpdate
         U SDL_ListModes
         U SDL_LoadBMP_RW
         U SDL_LockSurface
         U SDL_NumJoysticks
         U SDL_PollEvent
         U SDL_Quit
         U SDL_QuitSubSystem
         U SDL_RWFromFile
         U SDL_SetGammaRamp
         U SDL_SetVideoMode
         U SDL_ShowCursor
         U SDL_UnlockSurface
         U SDL_UpperBlit
         U SDL_VideoModeOK
         U SDL_WarpMouse
         U SDL_WM_GrabInput
         U SDL_WM_SetCaption
         U SDL_WM_SetIcon
089544d0 W _Z11CastCheckedI12USDLViewport9UViewportEPT_PT0_
08953a40 T _ZN10USDLClient10TeardownSREv
08953e10 T _ZN10USDLClient11MakeCurrentEP9UViewport
08953c90 T _ZN10USDLClient11NewViewportE5FName
09216e50 N _ZN10USDLClient12JoystickAxesE
09216e58 N _ZN10USDLClient12JoystickHatsE
09216e5c N _ZN10USDLClient13JoystickBallsE
08953b00 T _ZN10USDLClient13NotifyDestroyEPv
08953ed0 T _ZN10USDLClient14GetLastCurrentEv
08953d40 T _ZN10USDLClient14PostEditChangeEv
09216e54 N _ZN10USDLClient15JoystickButtonsE
08952a80 T _ZN10USDLClient17StaticConstructorEv
09216e48 N _ZN10USDLClient18PrivateStaticClassE
08953a80 T _ZN10USDLClient18ShutdownAfterErrorEv
089544c0 W _ZN10USDLClient19InternalConstructorEPv
08953dd0 T _ZN10USDLClient19ShowViewportWindowsEji
08953d90 T _ZN10USDLClient21EnableViewportWindowsEji
08952770 T _ZN10USDLClient31GetPrivateStaticClassUSDLClientEPw
08952870 T _ZN10USDLClient38InitializePrivateStaticClassUSDLClientEv
08953b40 T _ZN10USDLClient4ExecEPKwR13FOutputDevice
089534b0 T _ZN10USDLClient4InitEP7UEngine
08953bb0 T _ZN10USDLClient4TickEv
08953960 T _ZN10USDLClient7DestroyEv
09216e4c N _ZN10USDLClient8JoystickE
08952a20 T _ZN10USDLClientC1Ev
089529c0 T _ZN10USDLClientC2Ev
089541f0 W _ZN10USDLClientD0Ev
08953f70 W _ZN10USDLClientD1Ev
08955f00 T _ZN12USDLViewport10OpenWindowEmiiiii
08956390 T _ZN12USDLViewport10SetTopnessEv
08956350 T _ZN12USDLViewport11CloseWindowEv
089564c0 T _ZN12USDLViewport11SetTitleBarEv
08956a90 T _ZN12USDLViewport11UpdateInputEif
08956440 T _ZN12USDLViewport12IsFullscreenEv
08957e20 T _ZN12USDLViewport12TextToSpeechERK7FStringf
08957e10 T _ZN12USDLViewport12UpdateSpeechEv
08957820 T _ZN12USDLViewport13EndFullscreenEv
08956480 T _ZN12USDLViewport13SetModeCursorEv
08957a70 T _ZN12USDLViewport14ResizeViewportEjiii
08956930 T _ZN12USDLViewport15CauseInputEventEi12EInputActionf
089569a0 T _ZN12USDLViewport15SetMouseCaptureEiii
089574f0 T _ZN12USDLViewport15TryRenderDeviceEPKwiii
08957990 T _ZN12USDLViewport16ToggleFullscreenEv
08956860 T _ZN12USDLViewport17UpdateWindowFrameEv
09216e68 N _ZN12USDLViewport18PrivateStaticClassE
08955470 T _ZN12USDLViewport18ShutdownAfterErrorEv
08957e00 T _ZN12USDLViewport19GetLocalizedKeyNameE9EInputKey
08958b80 W _ZN12USDLViewport19InternalConstructorEPv
08955490 T _ZN12USDLViewport20UpdateMouseGrabStateEv
089545b0 T _ZN12USDLViewport33GetPrivateStaticClassUSDLViewportEPw
089546b0 T _ZN12USDLViewport40InitializePrivateStaticClassUSDLViewportEv
089554e0 T _ZN12USDLViewport4ExecEPKwR13FOutputDevice
08957440 T _ZN12USDLViewport4LockEPhPi
089574a0 T _ZN12USDLViewport6UnlockEv
089553e0 T _ZN12USDLViewport7DestroyEv
089563d0 T _ZN12USDLViewport7RepaintEi
089568f0 T _ZN12USDLViewport9GetWindowEv
08954df0 T _ZN12USDLViewportC1Ev
08954800 T _ZN12USDLViewportC2Ev
08958510 W _ZN12USDLViewportD0Ev
08957ee0 W _ZN12USDLViewportD1Ev
08b23210 T _ZN17UPixoRenderDevice17CreatePixoBuffersEP11SDL_Surfacejj17PIXO_ZBUFFER_TYPEi
089544b0 W _ZThn200_N10USDLClient13NotifyDestroyEPv
08958b70 W _ZThn48_N12USDLViewport4ExecEPKwR13FOutputDevice
08c3e8e0 V _ZTI10USDLClient
08c3f7bc V _ZTI12USDLViewport
08c3e908 V _ZTS10USDLClient
08c3f7c8 V _ZTS12USDLViewport
08c3dc80 V _ZTV10USDLClient
08c3e940 V _ZTV12USDLViewport

Unreal Tournament 2004 demo:
https://community.pcgamingwiki.com/files/file/160-unreal-tournament-2004-linux-demo/

Quake 4 needs SDL_GL_GetAttribute

nm -D quake4.x86 | grep SDL

         U SDL_EnableKeyRepeat
         U SDL_EnableUNICODE
         U SDL_FreeSurface
         U SDL_GetError
         U SDL_GetVideoInfo
         U SDL_GL_GetAttribute
         U SDL_GL_GetProcAddress
         U SDL_GL_LoadLibrary
         U SDL_GL_SetAttribute
         U SDL_GL_SwapBuffers
         U SDL_Init
         U SDL_ListModes
         U SDL_LoadBMP_RW
         U SDL_MapRGB
         U SDL_PollEvent
         U SDL_Quit
         U SDL_RWFromFile
         U SDL_SetColorKey
         U SDL_SetGammaRamp
         U SDL_SetVideoMode
         U SDL_ShowCursor
         U SDL_WarpMouse
         U SDL_WM_GrabInput
         U SDL_WM_SetCaption
         U SDL_WM_SetIcon

1440p

Should it be possible to choose 1440p in games now?

Jamestown requires SDL_GetWMInfo

Trying to run Jamestown and it crashes with:

./Jamestown-x86: symbol lookup error: ./Jamestown-x86: undefined symbol: SDL_GetWMInfo

Output of nm -D ./Jamestown-x86

         U SDL_CreateMutex
         U SDL_CreateThread
         U SDL_DestroyMutex
         U SDL_EnableUNICODE
         U SDL_FreeSurface
         U SDL_GetError
         U SDL_GetTicks
         U SDL_GetVideoInfo
         U SDL_GetVideoSurface
         U SDL_GetWMInfo
         U SDL_GL_SetAttribute
         U SDL_GL_SwapBuffers
         U SDL_Init
         U SDL_InitSubSystem
         U SDL_JoystickClose
         U SDL_JoystickOpen
         U SDL_JoystickOpened
         U SDL_KillThread
         U SDL_ListModes
         U SDL_LoadBMP_RW
         U SDL_mutexP
         U SDL_mutexV
         U SDL_NumJoysticks
         U SDL_PollEvent
         U SDL_PushEvent
         U SDL_Quit
         U SDL_RWFromMem
         U SDL_SetEventFilter
         U SDL_SetVideoMode
         U SDL_ShowCursor
         U SDL_VideoModeOK
         U SDL_WaitThread
         U SDL_WM_GrabInput
         U SDL_WM_SetCaption
         U SDL_WM_SetIcon
         U SDL_WM_ToggleFullScreen
086e0e00 T _ZN23ViewportSdlOpenGlWindow17SdlOglEventFilterEPK9SDL_Event
08644690 W _ZNSt6vectorIP13_SDL_JoystickSaIS1_EE13_M_insert_auxEN9__gnu_cxx17__normal_iteratorIPS1_S3_EERKS1_

OSS interface crashes some games

As I have just found some games do crash due to unmet OSS library dependency when used with SDLCL. Unreal Tournement 2004's inexplicable crash #15 and Quake 4's SMP-accelerated client (quake4smp.x86, libSDL-1.2.id.so.0) crash are directly related with that.

It is usually expected to have no sound or a sound related crash information in case of lack of sound library; that's actually what happens when stock SDL library is use. But it that particular OSS related instance, games crash without information or with unrelated warnings when SDLCL used. Tried games:

Quake 4 and Quake 4 Multiplayer Demo:

Just like Enemy Territory: Quake Wars, it has 2 clients, first one is default client and the other is SMP-accelerated client which uses similar but older SDL patch of ETQW. #14 (comment) Default client (quake4.x86) uses OSS and ALSA without an issue; if OSS or OSS wrapper don't exist in the system when OSS is already selected in config file, there's no sound but also no crash. But accelerated client (quake4smp.x86, libSDL-1.2.id.so.0) crashes even if ALSA is selected in config file. I suspect that somehow accelerated client checks OSS bindings; when it cannot find any, it crashes. But the crash can be prevented by using 32 bit ALSA OSS compatibility library (alsa-oss, aoss).

SMP-accelerated client crash without OSS wrapper:
https://pastebin.com/qkDd5bYT

SMP-accelerated client with OSS wrapper (alsa-oss; aoss):
https://pastebin.com/J9FbwaHn

Quake 4 Multiplayer demo:
https://ftp.gwdg.de/pub/misc/ftp.idsoftware.com/idstuff/quake4/demo/quake4-multiplayer-demo.x86.run

Quake 4 sdl.patch.1.2.10:
https://github.com/liflg/quake.4_1.4.2-multilingual_x86/blob/master/data/data.tar.xz
https://github.com/liflg/quake.4_1.4.2-multilingual_x86/tree/master/data

Unreal Tournement 2004:

This is an OpenAL that uses OSS. Normally, the game either requires either OSS or OSS wrapper to have proper sound; if OSS or OpenAL isn't present, there won't be sound. If the game is launched without OSS wrapper argument while using SDLCL, it will crash.

Unreal Tournament 2004 demo:
https://community.pcgamingwiki.com/files/file/160-unreal-tournament-2004-linux-demo/

Unreal Tournament 2004 without OSS wrapper:
https://pastebin.com/iQmAuC0y
https://pastebin.com/JbxFZQrG

Unreal Tournament 2004 with OSS wrapper (padsp):
https://pastebin.com/bJzLhLKn
https://pastebin.com/geNErRq8

Enemy Territory: Quake Wars:

The game supports both OSS and ALSA. If OSS selected while there is no OSS wrapper present, there won't be a sound but also no crash.

OSS Wrappers:

OSS Proxy Daemon (osspd):
Probably the best OSS emulator currently. It emulates OSS calls on-the-fly without requiring any additional argument. It works fine with Enemy Territory: Quake Wars and Unreal Tournament (1999).
https://sourceforge.net/projects/osspd/
https://github.com/libfuse/osspd
http://manpages.ubuntu.com/manpages/xenial/man8/osspd.8.html

PulseAudio OSS Wrapper (padsp):
As it is a part of PulseAudio, it requires no install. But padsp needs to be used as a pre-argument to function. It works fine with 64 bit binary of Unreal Tournament 2004.
https://linux.die.net/man/1/padsp

ALSA wrapper for OSS applications (alsa-oss; aoss):
A simple wrapper that translates OSS calls into ALSA. 32 bit version works fine with Quake 4.
https://www.unix.com/man-page/all/1/AOSS/

Instruction for ETQW?

Hello,

I am interested in using the library with Enemy Territory: Quake Wars on Ubuntu Mate 17.10. Can I get some compiling and usage instruction, please? Thank you very much!

Kind regards.

Edit: Here is the name list that I adapted from #9:

nm -D etqw.x86 | grep SDL
         U SDL_EnableKeyRepeat
         U SDL_EnableUNICODE
         U SDL_FreeSurface
         U SDL_GetError
         U SDL_GetVideoInfo
         U SDL_GL_GetAttribute
         U SDL_GL_GetProcAddress
         U SDL_GL_LoadLibrary
         U SDL_GL_SetAttribute
         U SDL_GL_SwapBuffers
         U SDL_Init
         U SDL_JoystickClose
         U SDL_JoystickEventState
         U SDL_JoystickName
         U SDL_JoystickOpen
         U SDL_ListModes
         U SDL_LoadBMP_RW
         U SDL_MapRGB
         U SDL_NumJoysticks
         U SDL_PollEvent
         U SDL_Quit
         U SDL_RWFromFile
         U SDL_SetColorKey
         U SDL_SetGammaRamp
         U SDL_SetVideoMode
         U SDL_ShowCursor
         U SDL_WarpMouse
         U SDL_WM_GrabInput
         U SDL_WM_SetCaption
         U SDL_WM_SetIcon
nm -D etqw-rthread.x86 | grep SDL
         U SDL_EnableKeyRepeat
         U SDL_EnableUNICODE
         U SDL_FreeSurface
         U SDL_GetError
         U SDL_GetVideoInfo
         U SDL_GL_DisableContext
         U SDL_GL_EnableContext_Thread
         U SDL_GL_GetAttribute
         U SDL_GL_GetProcAddress
         U SDL_GL_LoadLibrary
         U SDL_GL_SetAttribute
         U SDL_GL_SwapBuffers
         U SDL_Init
         U SDL_JoystickClose
         U SDL_JoystickEventState
         U SDL_JoystickName
         U SDL_JoystickOpen
         U SDL_ListModes
         U SDL_LoadBMP_RW
         U SDL_MapRGB
         U SDL_NumJoysticks
         U SDL_PollEvent
         U SDL_Quit
         U SDL_RWFromFile
         U SDL_SetColorKey
         U SDL_SetGammaRamp
         U SDL_SetVideoMode
         U SDL_ShowCursor
         U SDL_WarpMouse
         U SDL_WM_GrabInput
         U SDL_WM_SetCaption
         U SDL_WM_SetIcon

Enemy Territory: Quake Wars demo:
https://ftp.gwdg.de/pub/misc/ftp.idsoftware.com/idstuff/etqw/ETQW-demo2-client-full.r1.x86.run

Unreal Tournament 2004 resolutions unavailable

Greetings @MrAlert ,

Currently, in both 32bit and 64bit mode, UT2k4's resolutions are unavailable in game's Settings > Display menu. Only available resolution is 800x600.

ekran goruntusu 2018-12-01 01-05-17

The resolution can be changed via editing ~/.ut2004/System/UT2004.ini but game warns about incompatible resolution in the same menu.

ekran goruntusu 2018-10-29 22-43-37

Despite the warning, the game launches and runs fine.

Specs:
Distro: Mint 19 x64 Mate
Kernel: Linux 4.15.0-39
GPU: Nvidia 940M (396.54.09)
CPU: Intel i5-6200U

Neverwinter Nights needs SDL_WaitThread

After building on Ubuntu 16.04 and dropping it into the /lib folder for Neverwinter Nights, libmss then complains about SDL_WaitThread being an undefined symbol.

./nwn
./nwmain: symbol lookup error: ./miles/libmss.so.6: undefined symbol: SDL_WaitThread

Let me know what else you need.

API coverage

Init functions

  • SDL_Init
  • SDL_InitSubSystem
  • SDL_Quit
  • SDL_QuitSubSystem
  • SDL_WasInit

Error handling

  • SDL_ClearError
  • SDL_Error
  • SDL_GetError
  • SDL_SetError

Video subsystem

  • SDL_ConvertSurface
  • SDL_CreateRGBSurface
  • SDL_CreateRGBSurfaceFrom
  • SDL_DisplayFormat
  • SDL_DisplayFormatAlpha
  • SDL_FillRect
  • SDL_Flip
  • SDL_FreeSurface
  • SDL_GetClipRect
  • SDL_GetGammaRamp
  • SDL_GetRGB
  • SDL_GetRGBA
  • SDL_GetVideoInfo
  • SDL_GetVideoSurface
  • SDL_ListModes
  • SDL_LoadBMP_RW
  • SDL_LockSurface
  • SDL_LowerBlit
  • SDL_MapRGB
  • SDL_MapRGBA
  • SDL_SaveBMP_RW
  • SDL_SetAlpha
  • SDL_SetClipRect
  • SDL_SetColorKey
  • SDL_SetColors
  • SDL_SetGamma
  • SDL_SetGammaRamp
  • SDL_SetPalette
  • SDL_SetVideoMode
  • SDL_UnlockSurface
  • SDL_UpdateRect
  • SDL_UpdateRects
  • SDL_UpperBlit
  • SDL_VideoDriverName
  • SDL_VideoInit
  • SDL_VideoModeOK
  • SDL_VideoQuit

YUV overlays

  • SDL_CreateYUVOverlay
  • SDL_DisplayYUVOverlay
  • SDL_FreeYUVOverlay
  • SDL_LockYUVOverlay
  • SDL_UnlockYUVOverlay

OpenGL

  • SDL_GL_GetAttribute
  • SDL_GL_GetProcAddress
  • SDL_GL_LoadLibrary
  • SDL_GL_SetAttribute
  • SDL_GL_SwapBuffers

Mouse cursor

  • SDL_CreateCursor
  • SDL_FreeCursor
  • SDL_GetCursor
  • SDL_SetCursor
  • SDL_ShowCursor
  • SDL_WarpMouse

Window management

  • SDL_GetWMInfo
  • SDL_WM_GetCaption
  • SDL_WM_GrabInput
  • SDL_WM_IconifyWindow
  • SDL_WM_SetCaption
  • SDL_WM_SetIcon
  • SDL_WM_ToggleFullScreen

Audio subsystem

  • SDL_AudioDriverName
  • SDL_AudioInit
  • SDL_AudioQuit
  • SDL_BuildAudioCVT
  • SDL_CloseAudio
  • SDL_ConvertAudio
  • SDL_FreeWAV
  • SDL_GetAudioStatus
  • SDL_LoadWAV_RW
  • SDL_LockAudio
  • SDL_MixAudio
  • SDL_OpenAudio
  • SDL_PauseAudio
  • SDL_UnlockAudio

Events subsystem

  • SDL_EnableKeyRepeat
  • SDL_EnableUNICODE
  • SDL_EventState
  • SDL_GetAppState
  • SDL_GetEventFilter
  • SDL_GetKeyName
  • SDL_GetKeyRepeat
  • SDL_GetKeyState
  • SDL_GetModState
  • SDL_GetMouseState
  • SDL_GetRelativeMouseState
  • SDL_PeepEvents
  • SDL_PollEvent
  • SDL_PumpEvents
  • SDL_PushEvent
  • SDL_SetEventFilter
  • SDL_SetModState
  • SDL_WaitEvent

Joystick subsystem

  • SDL_JoystickClose
  • SDL_JoystickEventState
  • SDL_JoystickGetAxis
  • SDL_JoystickGetBall
  • SDL_JoystickGetButton
  • SDL_JoystickGetHat
  • SDL_JoystickIndex
  • SDL_JoystickName
  • SDL_JoystickNumAxes
  • SDL_JoystickNumBalls
  • SDL_JoystickNumButtons
  • SDL_JoystickNumHats
  • SDL_JoystickOpen
  • SDL_JoystickOpened
  • SDL_JoystickUpdate
  • SDL_NumJoysticks

CD audio subsystem

  • SDL_CDClose
  • SDL_CDEject
  • SDL_CDName
  • SDL_CDNumDrives
  • SDL_CDOpen
  • SDL_CDPause
  • SDL_CDPlay
  • SDL_CDPlayTracks
  • SDL_CDResume
  • SDL_CDStatus
  • SDL_CDStop

Timer subsystem

  • SDL_AddTimer
  • SDL_Delay
  • SDL_GetTicks
  • SDL_RemoveTimer
  • SDL_SetTimer

Multithreading

  • SDL_CondBroadcast
  • SDL_CondSignal
  • SDL_CondWait
  • SDL_CondWaitTimeout
  • SDL_CreateCond
  • SDL_CreateMutex
  • SDL_CreateSemaphore
  • SDL_CreateThread
  • SDL_DestroyCond
  • SDL_DestroyMutex
  • SDL_DestroySemaphore
  • SDL_GetThreadID
  • SDL_KillThread
  • SDL_mutexP
  • SDL_mutexV
  • SDL_SemPost
  • SDL_SemTryWait
  • SDL_SemValue
  • SDL_SemWait
  • SDL_SemWaitTimeout
  • SDL_ThreadID
  • SDL_WaitThread

RWops

  • SDL_AllocRW
  • SDL_FreeRW
  • SDL_ReadBE16
  • SDL_ReadBE32
  • SDL_ReadBE64
  • SDL_ReadLE16
  • SDL_ReadLE32
  • SDL_ReadLE64
  • SDL_RWFromConstMem
  • SDL_RWFromFile
  • SDL_RWFromFP
  • SDL_RWFromMem
  • SDL_WriteBE16
  • SDL_WriteBE32
  • SDL_WriteBE64
  • SDL_WriteLE16
  • SDL_WriteLE32
  • SDL_WriteLE64

CPU info

  • SDL_Has3DNow
  • SDL_Has3DNowExt
  • SDL_HasAltiVec
  • SDL_HasMMX
  • SDL_HasMMXExt
  • SDL_HasRDTSC
  • SDL_HasSSE
  • SDL_HasSSE2

SDL version

  • SDL_Linked_Version

Dynamic library loading

  • SDL_LoadFunction
  • SDL_LoadObject
  • SDL_UnloadObject

Standard library functions

  • SDL_iconv
  • SDL_iconv_string
  • SDL_lltoa
  • SDL_ltoa
  • SDL_revcpy
  • SDL_strlcat
  • SDL_strlcpy
  • SDL_strlwr
  • SDL_strrev
  • SDL_strupr
  • SDL_ulltoa
  • SDL_ultoa

Exposed internal functions

  • SDL_GL_Lock
  • SDL_GL_Unlock
  • SDL_GL_UpdateRects
  • SDL_SoftStretch
  • X11_KeyToUnicode

Custom functions

Enemy Territory: Quake Wars

  • SDL_GL_DisableContext
  • SDL_GL_EnableContext_Thread

Brightness/Gamma, Numpad Keys, German Keys

Hey, thank you for this great project, I've got it compiled and running pretty nice so far with some minor issues.
The game I am using is Enemy Territory Quake Wars (ETQW).

  1. Brightness/Gamma
    I try to run the game without a Window Manager (from .xinitrc) which works with one problem: Brightness and Gamma Settings don't apply. This only happens with sdlcl, using the original sdl library works without any problem. (With a Window Manager brightness/gamma changes work but would be very nice to run it without one)

  2. Numpad Keys
    Is there a reason to disable (most of) them? Would it possible to enable them? I saw inside the source code you commented them out but If I remove the comments it won't compile.

  3. German Keys
    Can you add support for german keys?
    äÄ öÖ üÜ ß

(4. Sensitivy)
I noticed sensitivty changed using this. Do you know the exact multiplier? E.g. 1.5.

Thanks a lot!

Rune segfaults with latest build

I had previously managed to run Rune without any issue, even in fullscreen windowed mode but with the latest build, the game now segfaults:

(gdb) run
Starting program: /media/data/games/rune/System/rune-bin 
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1".

Program received signal SIGSEGV, Segmentation fault.
0xf629ba52 in ?? () from /usr/lib32/nvidia-381/libGLX_nvidia.so.0
(gdb) bt
#0  0xf629ba52 in ?? () from /usr/lib32/nvidia-381/libGLX_nvidia.so.0
#1  0xf6241a04 in ?? () from /usr/lib32/nvidia-381/libGLX_nvidia.so.0
#2  0xf7fe8451 in ?? () from /lib/ld-linux.so.2
#3  0xf7fe85be in ?? () from /lib/ld-linux.so.2
#4  0xf7fec6fa in ?? () from /lib/ld-linux.so.2
#5  0xf7fe8341 in ?? () from /lib/ld-linux.so.2
#6  0xf7febf89 in ?? () from /lib/ld-linux.so.2
#7  0xf7f80bf5 in ?? () from /lib/i386-linux-gnu/libdl.so.2
#8  0xf7fe8341 in ?? () from /lib/ld-linux.so.2
#9  0xf7f812ed in ?? () from /lib/i386-linux-gnu/libdl.so.2
#10 0xf7f80c9e in dlopen () from /lib/i386-linux-gnu/libdl.so.2
#11 0xf63970b5 in __glXLookupVendorByName () from /usr/lib32/nvidia-381/libGLX.so.0
#12 0x00000001 in ?? ()
#13 0x08135668 in ?? ()
Backtrace stopped: previous frame inner to this frame (corrupt stack?)

Seems to be related to the Nvidia driver

m32

why the heck do you hardcode -m32 in the makefile ? i just wasted half an hour debugging this error

In file included from /include/SDL2/SDL_main.h:25:0,
                 from /include/SDL2/SDL.h:32,
                 from SDL2.h:27,
                 from main.c:27:
/include/SDL2/SDL_stdinc.h:265:20: error: size of array 'SDL_dummy_uint64' is negative
        typedef int SDL_dummy_ ## name[(x) * 2 - 1]
                    ^
/include/SDL2/SDL_stdinc.h:274:1: note: in expansion of macro 'SDL_COMPILE_TIME_ASSERT'
 SDL_COMPILE_TIME_ASSERT(uint64, sizeof(Uint64) == 8);
 ^~~~~~~~~~~~~~~~~~~~~~~
/include/SDL2/SDL_stdinc.h:265:20: error: size of array 'SDL_dummy_sint64' is negative
        typedef int SDL_dummy_ ## name[(x) * 2 - 1]
                    ^
/include/SDL2/SDL_stdinc.h:275:1: note: in expansion of macro 'SDL_COMPILE_TIME_ASSERT'
 SDL_COMPILE_TIME_ASSERT(sint64, sizeof(Sint64) == 8);
 ^~~~~~~~~~~~~~~~~~~~~~~
make: *** [main.o] Error 1

Quake 4 fails to start on Wayland if multisampling is enabled

For some reason enabling multisampling would crash the Quake 4 under Wayland. However error doesn't present in Xorg session. Here is startup log:

Quake4  V1.4.2 linux-x86 Jun 15 2007
found interface lo - loopback
found interface wlan0 - 192.168.0.106/255.255.255.0
found interface virbr0 - 192.168.122.1/255.255.255.0
CPU: Intel CPU with MMX & SSE & SSE2 & SSE3
enabled Flush-To-Zero mode
--------- Initializing File System ----------
<skipped>
file system initialized.
---------------------------------------------
------------ Initializing Decls -------------
Loading guides.... 64 loaded
93ms to load 1125k of material
19ms to load 43k of skin
57ms to load 723k of sound
1ms to load 1k of materialType
151ms to load 2889k of lipSync
12ms to load 105k of playback
291ms to load 1690k of effect
---------------------------------------------
-------- Initializing renderSystem ----------
using ARB renderSystem
renderSystem initialized.
---------------------------------------------
Found default language English with VO
.... found additional language 'french' without VO
.... found additional language 'italian' without VO
.... found additional language 'russian' with VO
.... found additional language 'spanish' without VO
696 strings read from strings/english_code.lang
1794 strings read from strings/english_guis.lang
5756 strings read from strings/english_lips.lang
5759 strings read from strings/english_mappack.lang
6235 strings read from strings/english_maps.lang
3 strings read from strings/french_mappack.lang
3 strings read from strings/italian_mappack.lang
661 strings read from strings/russian_code.lang
1734 strings read from strings/russian_guis.lang
5696 strings read from strings/russian_lips.lang
6172 strings read from strings/russian_maps.lang
3 strings read from strings/spanish_mappack.lang
Couldn't open journal files
execing default.cfg
couldn't exec editor.cfg
execing Quake4Config.cfg
execing autoexec.cfg
-------- Initializing Sound System ----------
sound system initialized.
---------------------------------------------
--------------- R_InitOpenGL ----------------
Initializing SDL subsystem
Loading GL driver 'libGL.so.1' through SDL
SDL_ListModes:
1920x1080 SDL_ListModes are currently ignored for resolution filtering. Set r_useSDLModes to 1 if you want it
Initializing SDL subsystem
Loading GL driver 'libGL.so.1' through SDL
SDL_ListModes:
1920x1080 SDL_ListModes are currently ignored for resolution filtering. Set r_useSDLModes to 1 if you want it
Fatal Error: Unable to initialize OpenGL
--------------- BSE Shutdown ----------------
---------------------------------------------
idRenderSystem::Shutdown()
Sys_Error: Unable to initialize OpenGL

Tested on Ubuntu 18.10 x64, Mesa 18.2.2, AMD Radeon HD 7650A and latest sdlcl compiled.

usage instructions?

I'm trying to install this for ut2004-steam on Arch Linux in order to run ut2004 on Wayland.

I've tried the following

LD_PRELOAD=/path/to/built/libSDL-1.2.so.0 ut2004

and manually copying the built libSDL-1.2.so.0 to the ut2004/System directory.

Whenever I run the game, I get the error Couldn't find matching GLX visual regardless of whether SDL_VIDEODRIVER=x11 is set.

Is there something else I need to do to get the game to load this compatibility layer?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.