Code Monkey home page Code Monkey logo

sdlada's People

Contributors

anisimkov avatar cxong avatar damdc91 avatar fabien-chouteau avatar jellix avatar jhamby avatar jquorning avatar leogermond avatar lucretia avatar onox avatar pmderodat avatar simonjwright avatar vovanium 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  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  avatar  avatar  avatar  avatar

Watchers

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

sdlada's Issues

SDL_GL_BindTexture (SDL.Video.SDL_GL_BindTexture) takes floats

In the SDL_GL_BindTexture) section, this function returns two floating point values, why are they floats instead of ints? In the source these can be 0.0, 1.0 or the texture dimensions. In the examples they are multiplied by texture coords.

  • Should the binding reflect this?
  • Move the function to SDL.Video.Textures.GL package to reflect what it operates on or keep where it is?

Possible Newer Version of GNAT not compiling this project.

Originally reported here. My suspicion is that the latest version of ada has a new feature which does not allow this anonymous type usage anymore.

[Ada]          sdl-video-palettes.adb
sdl-video-palettes.adb:146:41: error: expected type "Palette_Constant_Access" defined at sdl-video-palettes.ads:124
sdl-video-palettes.adb:146:41: error: found type access to "Palette'CLASS" defined at line 69
sdl-video-palettes.adb:163:41: error: expected type "Palette_Constant_Access" defined at sdl-video-palettes.ads:124
sdl-video-palettes.adb:163:41: error: found type access to "Palette'CLASS" defined at line 69

Add gamepad rumble support

Binding SDL's SDL_Haptic* functions to support rumble feature of gamepads.

I have a DS4 controller, so I can test it if you don't have any gamepads.

Issues With Compiling This Project

make SDL_PLATFORM=linux SDL_MODE=release
gprbuild -p -gnat2012 -XSDL_MODE=release -XSDL_PLATFORM=linux \
	-Psdlada.gpr
Compile
   [C]            version_ttf.c
/home/christopher/source/sdlada/src/ttf/version_ttf.c:26:10: fatal error: 'SDL_ttf.h' file not found
#include <SDL_ttf.h>
         ^~~~~~~~~~~
1 error generated.
gprbuild: *** compilation phase failed
make: *** [makefile:48: lib/libadasdl.a] Error 4

I have built SDL2 from source. Although I probably plan to use ttf, I'm curious how would I go about getting it, and included so this could be built.

Set_Context_Profile sets wrong profile or crashes

SDL.Video.GL.Set_Context_Profile accepts either Core, Compatibility, or ES, but the resulting context doesn't match. Traced the problem to sdl-video-gl.adb:470:

Result : C.int := SDL_GL_Set_Attribute (Attribute_Context_Profile, C.int (Profile_Values (Profile)));

Profile_Values is the array (1, 2, 4) and is being indexed incorrectly by Profile, an enum that itself has value 1, 2, or 4. I think Profile_Values is safe to remove, it's redundant and doesn't seem to be used anywhere else.

Sort out elaboration

There are no (pre-)elaborate pragmas, I would like as much as possible to be static at compile time.

Allow building as a relocatable library

I have a library project .gpr file that with "sdlada". If sdlada is built as a static library then I get the following error: cannot import static library project "sdlada".

If I change Library_Kind in build/gnat/sdlada.gpr to "relocatable", then the error disappears.

Incorrect Key_Codes constants in sdl-events-keyboards.ads

Hello, it seems that the wrong constants are being generated for the sdl-events-keyboards.ads file.

Reference: https://wiki.libsdl.org/SDLKeycodeLookup, which shows 0x40000000 as the or-ed mask.

I believe line 368 in tools/gen_keyboard.adb should change from:

Internal_To_Key_Code_Mask : constant Key_Codes := 16#2000_0000#

to:

Internal_To_Key_Code_Mask : constant Key_Codes := 16#4000_0000#

I just edited the generated file to give me the correct key codes, which was a good workaround without me having to rebuild SDLAda. Thank you!

Add mixer

I am working on adding SDL2_mixer. Sound freaks wanted for trying it out..

Unable to create a window using Native_Window parameter

Luke,

For my project I need to create a video window inside an existing windows control.
This can be done by specifying the hwnd of this control, and use it in SDL.Video.Windows.Makers.Create.
However I can not create the necessary parameter (Native : in Native_Window) based on my hwnd (i.e. Win32 handle or simply an Integer). For now I added a function in SDL.Video.Windows that uses unchecked_conversion to create a Native_Window variable:

function From_Hwnd (Hwnd : Integer) return Native_Window is
function To_Address is new Ada.Unchecked_Conversion (Source => Integer, Target => System.Address);
begin
return Native_Window (To_Address (Hwnd));
end From_Hwnd;

I have already tested this and it works!

Kind regards,
Rob

Fix controlled objects

Allow user to call Finalize on controlled objects such that they don't cause a segfault on exit due to being finalized twice.

TODO: Fix co-ordinate types

There are a number of types which relate to co-ordinate and placement of objects upon the screen / surface / texture, they should all be related so we don't have to use view conversions all over the place.

Also need to fix the types so they can handle signed values, in SDL2 they use int's so that objects can be "blitted" offscreen, then objects can appear from offscreen somewhere, i.e. a alien coming from the top of the screen to the bottom. This also allows testing for objects which are totally offscreen, i.e. alien goes off the bottom of the screen, remove it from the list of renderable items.

  • There are 2 Size records, SDL.Video.Sizes and SDL.Video.Rectangles.Size. There should be only one!
  • SDL_RenderGetLogicalSize (SDL_RenderGetLogicalSize) can set w and h to zero, this takes the SDL.Video.Rectangles.Size because the SDL.Video.Sizes has Width and Height defined as Positive when they should really be Natural.

Unable to set Colour_Key

This issue is a follow-op on issue #9.

Unfortunately that issue was only partially solved, hence this new issue. Sorry for the confusion.

I found that running a program that calls Set_Colour_Key (SDL_SetColorKey) raises an Exception_Access_Violation exception.
(on my Win10 machine this is a segmentation fault in SDL2.dll:
0x6c7e490d in SDL_LogCritical() from SDL2dll
Version SDL 2.0.7 32bits - SDL2.dll 23-10-2017 996.352 bytes)

Also I added the extra ´Flag' parameter and created a simple pixel value, but to no avail.

BTW, there is an SDL2 example in C++ that does work: http://lazyfoo.net/tutorials/SDL/10_color_keying/index.php

By comparing the resulting surfaces just before SDL_SetColorKey is called, I was trying to find out what was wrong, but I haven't found it yet...

libsdlada.a can't link to sdl2 in linux

Trying to compile a separate project that depends on SDLAda. I have followed the directions in README.md and installed the static library at $HOME/opt. The gpr located at $HOME/opt/share/gpr is accessible and shows in GPS as a dependency. The tests in the SDLAda library build and execute correctly.

When I try to take a test and compile it as part of a separate project, I get many linking errors:

gprbuild -d -P/home/XXXX/Documents/AdaProjects/airbase/airbase.gpr -XSDLADA_BUILD=release
Link
   [link]         sim.adb
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-events-events.o): in function `sdl__events__events__poll':
sdl-events-events.adb:(.text.sdl__events__events__poll+0x5): undefined reference to `SDL_PollEvent'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-events-events.o): in function `sdl__events__events__wait':
sdl-events-events.adb:(.text.sdl__events__events__wait+0x6): undefined reference to `SDL_WaitEvent'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-log.o): in function `sdl__log__put':
sdl-log.adb:(.text.sdl__log__put+0x28): undefined reference to `SDL_Log'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-log.o): in function `sdl__log__put__2':
sdl-log.adb:(.text.sdl__log__put__2+0x36): undefined reference to `SDL_LogMessage'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-log.o): in function `sdl__log__put_critical':
sdl-log.adb:(.text.sdl__log__put_critical+0x30): undefined reference to `SDL_LogCritical'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-log.o): in function `sdl__log__put_debug':
sdl-log.adb:(.text.sdl__log__put_debug+0x30): undefined reference to `SDL_LogDebug'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-log.o): in function `sdl__log__put_error':
sdl-log.adb:(.text.sdl__log__put_error+0x30): undefined reference to `SDL_LogError'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-log.o): in function `sdl__log__put_info':
sdl-log.adb:(.text.sdl__log__put_info+0x30): undefined reference to `SDL_LogInfo'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-log.o): in function `sdl__log__put_verbose':
sdl-log.adb:(.text.sdl__log__put_verbose+0x30): undefined reference to `SDL_LogVerbose'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-log.o): in function `sdl__log__put_warn':
sdl-log.adb:(.text.sdl__log__put_warn+0x30): undefined reference to `SDL_LogWarn'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-log.o): in function `sdl__log__reset_priorities':
sdl-log.adb:(.text.sdl__log__reset_priorities+0x1): undefined reference to `SDL_LogResetPriorities'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-log.o): in function `sdl__log__set':
sdl-log.adb:(.text.sdl__log__set+0x1): undefined reference to `SDL_LogSetAllPriority'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-log.o): in function `sdl__log__set__2':
sdl-log.adb:(.text.sdl__log__set__2+0x1): undefined reference to `SDL_LogSetPriority'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-palettes.o): in function `sdl__video__palettes__create':
sdl-video-palettes.adb:(.text.sdl__video__palettes__create+0x57): undefined reference to `SDL_AllocPalette'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-palettes.o): in function `sdl__video__palettes(float, long double,...)(...)':
sdl-video-palettes.adb:(.text.sdl__video__palettes__free+0x12): undefined reference to `SDL_FreePalette'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-rectangles.o): in function `sdl__video__rectangles__enclose':
sdl-video-rectangles.adb:(.text.sdl__video__rectangles__enclose+0x4b): undefined reference to `SDL_EnclosePoints'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-rectangles.o): in function `sdl__video__rectangles__enclose__2':
sdl-video-rectangles.adb:(.text.sdl__video__rectangles__enclose__2+0x38): undefined reference to `SDL_EnclosePoints'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-rectangles.o): in function `sdl__video__rectangles__has_intersected':
sdl-video-rectangles.adb:(.text.sdl__video__rectangles__has_intersected+0x20): undefined reference to `SDL_HasIntersection'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-rectangles.o): in function `sdl__video__rectangles__intersects':
sdl-video-rectangles.adb:(.text.sdl__video__rectangles__intersects+0x29): undefined reference to `SDL_IntersectRect'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-rectangles.o): in function `sdl__video__rectangles__clip_to':
sdl-video-rectangles.adb:(.text.sdl__video__rectangles__clip_to+0x33): undefined reference to `SDL_IntersectRectAndLine'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-rectangles.o): in function `sdl__video__rectangles__union':
sdl-video-rectangles.adb:(.text.sdl__video__rectangles__union+0x25): undefined reference to `SDL_UnionRect'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__blit__2':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__blit__2+0x56): undefined reference to `SDL_UpperBlit'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: sdl-video-surfaces.adb:(.text.sdl__video__surfaces__blit__2+0x95): undefined reference to `SDL_UpperBlit'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: sdl-video-surfaces.adb:(.text.sdl__video__surfaces__blit__2+0xad): undefined reference to `SDL_UpperBlit'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: sdl-video-surfaces.adb:(.text.sdl__video__surfaces__blit__2+0xca): undefined reference to `SDL_UpperBlit'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__blit_scaled__2':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__blit_scaled__2+0x7e): undefined reference to `SDL_UpperBlitScaled'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: sdl-video-surfaces.adb:(.text.sdl__video__surfaces__blit_scaled__2+0xc5): undefined reference to `SDL_UpperBlitScaled'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: sdl-video-surfaces.adb:(.text.sdl__video__surfaces__blit_scaled__2+0xdb): undefined reference to `SDL_UpperBlitScaled'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: sdl-video-surfaces.adb:(.text.sdl__video__surfaces__blit_scaled__2+0xeb): undefined reference to `SDL_UpperBlitScaled'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__fill__2':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__fill__2+0x21): undefined reference to `SDL_FillRects'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__clip_rectangle':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__clip_rectangle+0x1d): undefined reference to `SDL_GetClipRect'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__set_clip_rectangle':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__set_clip_rectangle+0x16): undefined reference to `SDL_SetClipRect'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__alpha_blend':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__alpha_blend+0xf): undefined reference to `SDL_GetSurfaceAlphaMod'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__set_alpha_blend':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__set_alpha_blend+0xe): undefined reference to `SDL_SetSurfaceAlphaMod'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__blend_mode':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__blend_mode+0xf): undefined reference to `SDL_GetSurfaceAlphaMod'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__set_blend_mode':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__set_blend_mode+0xa): undefined reference to `SDL_SetSurfaceBlendMode'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__colour':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__colour+0x19): undefined reference to `SDL_GetSurfaceColorMod'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__set_colour':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__set_colour+0x1b): undefined reference to `SDL_SetSurfaceColorMod'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__lock':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__lock+0xa): undefined reference to `SDL_LockSurface'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__unlock':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__unlock+0x5): undefined reference to `SDL_UnlockSurface'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__set_rle':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__set_rle+0xe): undefined reference to `SDL_SetSurfaceRLE'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__finalize':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__finalize+0x14): undefined reference to `SDL_FreeSurface'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__surfaceDF__2':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__surfaceDF__2+0x14): undefined reference to `SDL_FreeSurface'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__set_colour_key':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__set_colour_key+0x29): undefined reference to `SDL_SetColorKey'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__blit':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__blit+0x1b): undefined reference to `SDL_UpperBlit'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__blit_scaled':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__blit_scaled+0x1b): undefined reference to `SDL_UpperBlitScaled'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__lower_blit':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__lower_blit+0x32): undefined reference to `SDL_LowerBlit'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__lower_blit_scaled':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__lower_blit_scaled+0x32): undefined reference to `SDL_LowerBlitScaled'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces(float, int, long, long)':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__fill+0x21): undefined reference to `SDL_FillRect'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__colour_key':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__colour_key+0x12): undefined reference to `SDL_GetColorKey'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces___assign__2':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces___assign__2+0x61): undefined reference to `SDL_FreeSurface'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__surfaceSI__2.cold.30':
sdl-video-surfaces.adb:(.text.unlikely.sdl__video__surfaces__surfaceSI__2+0x5c): undefined reference to `SDL_FreeSurface'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__surfaceSI__2':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__surfaceSI__2+0xa1): undefined reference to `SDL_FreeSurface'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__surfaceFD':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__surfaceFD+0x14): undefined reference to `SDL_FreeSurface'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces.o): in function `sdl__video__surfaces__finalize_spec':
sdl-video-surfaces.adb:(.text.sdl__video__surfaces__finalize_spec+0x46): undefined reference to `SDL_FreeSurface'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows-makers.o): in function `sdl__video__windows__makers__create':
sdl-video-windows-makers.adb:(.text.sdl__video__windows__makers__create+0x41): undefined reference to `SDL_CreateWindow'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows-makers.o): in function `sdl__video__windows__makers__create__3':
sdl-video-windows-makers.adb:(.text.sdl__video__windows__makers__create__3+0xc): undefined reference to `SDL_CreateWindowFrom'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__is_grabbed':
sdl-video-windows.adb:(.text.sdl__video__windows__is_grabbed+0x9): undefined reference to `SDL_GetWindowGrab'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__set_grabbed':
sdl-video-windows.adb:(.text.sdl__video__windows__set_grabbed+0x9): undefined reference to `SDL_SetWindowGrab'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__get_id':
sdl-video-windows.adb:(.text.sdl__video__windows__get_id+0x5): undefined reference to `SDL_GetWindowID'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__set_maximum_size':
sdl-video-windows.adb:(.text.sdl__video__windows__set_maximum_size+0xc): undefined reference to `SDL_SetWindowMaximumSize'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__set_minimum_size':
sdl-video-windows.adb:(.text.sdl__video__windows__set_minimum_size+0xc): undefined reference to `SDL_SetWindowMinimumSize'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__pixel_format':
sdl-video-windows.adb:(.text.sdl__video__windows__pixel_format+0x9): undefined reference to `SDL_GetWindowPixelFormat'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__set_position':
sdl-video-windows.adb:(.text.sdl__video__windows__set_position+0xc): undefined reference to `SDL_SetWindowPosition'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__set_size':
sdl-video-windows.adb:(.text.sdl__video__windows__set_size+0xc): undefined reference to `SDL_SetWindowSize'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__hide':
sdl-video-windows.adb:(.text.sdl__video__windows__hide+0x5): undefined reference to `SDL_HideWindow'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__show':
sdl-video-windows.adb:(.text.sdl__video__windows__show+0x5): undefined reference to `SDL_ShowWindow'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__maximise':
sdl-video-windows.adb:(.text.sdl__video__windows__maximise+0x5): undefined reference to `SDL_MaximizeWindow'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__minimise':
sdl-video-windows.adb:(.text.sdl__video__windows__minimise+0x5): undefined reference to `SDL_MinimizeWindow'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__raise_and_focus':
sdl-video-windows.adb:(.text.sdl__video__windows__raise_and_focus+0x5): undefined reference to `SDL_RaiseWindow'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__restore':
sdl-video-windows.adb:(.text.sdl__video__windows__restore+0x5): undefined reference to `SDL_RestoreWindow'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__set_icon':
sdl-video-windows.adb:(.text.sdl__video__windows__set_icon+0x15): undefined reference to `SDL_SetWindowIcon'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__update_surface_rectangles':
sdl-video-windows.adb:(.text.sdl__video__windows__update_surface_rectangles+0x21): undefined reference to `SDL_UpdateWindowSurfaceRects'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__get_brightness':
sdl-video-windows.adb:(.text.sdl__video__windows__get_brightness+0x9): undefined reference to `SDL_GetWindowBrightness'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__set_brightness':
sdl-video-windows.adb:(.text.sdl__video__windows__set_brightness+0x13): undefined reference to `SDL_SetWindowBrightness'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__get_data':
sdl-video-windows.adb:(.text.sdl__video__windows__get_data+0x28): undefined reference to `SDL_GetWindowData'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__set_data':
sdl-video-windows.adb:(.text.sdl__video__windows__set_data+0x2d): undefined reference to `SDL_SetWindowData'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__display_index':
sdl-video-windows.adb:(.text.sdl__video__windows__display_index+0x13): undefined reference to `SDL_GetWindowDisplayIndex'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__get_display_mode':
sdl-video-windows.adb:(.text.sdl__video__windows__get_display_mode+0x13): undefined reference to `SDL_GetWindowDisplayMode'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__set_display_mode':
sdl-video-windows.adb:(.text.sdl__video__windows__set_display_mode+0x13): undefined reference to `SDL_SetWindowDisplayMode'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__get_flags':
sdl-video-windows.adb:(.text.sdl__video__windows__get_flags+0xe): undefined reference to `SDL_GetWindowFlags'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__get_gamma_ramp':
sdl-video-windows.adb:(.text.sdl__video__windows__get_gamma_ramp+0x13): undefined reference to `SDL_GetWindowGammaRamp'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__set_gamma_ramp':
sdl-video-windows.adb:(.text.sdl__video__windows__set_gamma_ramp+0x13): undefined reference to `SDL_SetWindowGammaRamp'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__get_maximum_size':
sdl-video-windows.adb:(.text.sdl__video__windows__get_maximum_size+0x2c): undefined reference to `SDL_GetWindowMaximumSize'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__get_minimum_size':
sdl-video-windows.adb:(.text.sdl__video__windows__get_minimum_size+0x2c): undefined reference to `SDL_GetWindowMinimumSize'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__get_position':
sdl-video-windows.adb:(.text.sdl__video__windows__get_position+0x28): undefined reference to `SDL_GetWindowPosition'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__get_size':
sdl-video-windows.adb:(.text.sdl__video__windows__get_size+0x2c): undefined reference to `SDL_GetWindowSize'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__get_surface':
sdl-video-windows.adb:(.text.sdl__video__windows__get_surface+0x13): undefined reference to `SDL_GetWindowSurface'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__get_title':
sdl-video-windows.adb:(.text.sdl__video__windows__get_title+0x12): undefined reference to `SDL_GetWindowTitle'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__set_title':
sdl-video-windows.adb:(.text.sdl__video__windows__set_title+0x3a): undefined reference to `SDL_SetWindowTitle'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__update_surface':
sdl-video-windows.adb:(.text.sdl__video__windows__update_surface+0x13): undefined reference to `SDL_UpdateWindowSurface'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__update_surface_rectangle':
sdl-video-windows.adb:(.text.sdl__video__windows__update_surface_rectangle+0x24): undefined reference to `SDL_UpdateWindowSurfaceRects'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__set_mode':
sdl-video-windows.adb:(.text.sdl__video__windows__set_mode+0x20): undefined reference to `SDL_SetWindowFullscreen'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__finalize':
sdl-video-windows.adb:(.text.sdl__video__windows__finalize+0x18): undefined reference to `SDL_DestroyWindow'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-windows.o): in function `sdl__video__windows__from_id':
sdl-video-windows.adb:(.text.sdl__video__windows__from_id+0x9d): undefined reference to `SDL_GetWindowFromID'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video.o): in function `sdl__video__is_screen_saver_enabled':
sdl-video.adb:(.text.sdl__video__is_screen_saver_enabled+0x5): undefined reference to `SDL_IsScreenSaverEnabled'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video.o): in function `sdl__video__initialise':
sdl-video.adb:(.text.sdl__video__initialise+0x19): undefined reference to `SDL_VideoInit'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: sdl-video.adb:(.text.sdl__video__initialise+0x3b): undefined reference to `SDL_VideoInit'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video.o): in function `sdl__video__total_drivers':
sdl-video.adb:(.text.sdl__video__total_drivers+0x6): undefined reference to `SDL_GetNumVideoDrivers'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video.o): in function `sdl__video__driver_name':
sdl-video.adb:(.text.sdl__video__driver_name+0x8): undefined reference to `SDL_GetVideoDriver'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video.o): in function `sdl__video__current_driver_name':
sdl-video.adb:(.text.sdl__video__current_driver_name+0x6): undefined reference to `SDL_GetCurrentVideoDriver'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-error.o): in function `sdl__error__set':
sdl-error.adb:(.text.sdl__error__set+0x28): undefined reference to `SDL_SetError'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-error.o): in function `sdl__error__get':
sdl-error.adb:(.text.sdl__error__get+0x5): undefined reference to `SDL_GetError'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-surfaces-makers.o): in function `sdl__video__surfaces__makers__create':
sdl-video-surfaces-makers.adb:(.text.sdl__video__surfaces__makers__create+0x50): undefined reference to `SDL_CreateRGBSurface'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: sim.o: in function `_ada_sim':
sim.adb:(.text+0x34b): undefined reference to `SDL_MapRGB'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: sim.adb:(.text+0x3f3): undefined reference to `SDL_MapRGB'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: sim.adb:(.text+0x474): undefined reference to `SDL_MapRGB'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: sim.adb:(.text+0x5e6): undefined reference to `SDL_MapRGB'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: sim.adb:(.text+0x820): undefined reference to `SDL_Quit'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-pixel_formats.o): in function `sdl__video__pixel_formats__image':
sdl-video-pixel_formats.adb:(.text.sdl__video__pixel_formats__image+0xe): undefined reference to `SDL_GetPixelFormatName'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-pixel_formats.o): in function `sdl__video__pixel_formats__to_colour':
sdl-video-pixel_formats.adb:(.text.sdl__video__pixel_formats__to_colour+0x24): undefined reference to `SDL_GetRGBA'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-pixel_formats.o): in function `sdl__video__pixel_formats__to_pixel__3':
sdl-video-pixel_formats.adb:(.text.sdl__video__pixel_formats__to_pixel__3+0x1a): undefined reference to `SDL_MapRGBA'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl-video-pixel_formats.o): in function `sdl__video__pixel_formats__to_masks':
sdl-video-pixel_formats.adb:(.text.sdl__video__pixel_formats__to_masks+0x2b): undefined reference to `SDL_PixelFormatEnumToMasks'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl.o): in function `sdl__initialise':
sdl.adb:(.text.sdl__initialise+0x5): undefined reference to `SDL_Init'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl.o): in function `sdl__initialise_sub_system':
sdl.adb:(.text.sdl__initialise_sub_system+0x5): undefined reference to `SDL_InitSubSystem'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl.o): in function `sdl__was_initialised':
sdl.adb:(.text.sdl__was_initialised+0x3): undefined reference to `SDL_WasInit'
/usr/GNAT/2019/bin/../libexec/gcc/x86_64-pc-linux-gnu/8.3.1/ld: /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a(sdl.o): in function `sdl__was_initialised__2':
sdl.adb:(.text.sdl__was_initialised__2+0x4): undefined reference to `SDL_WasInit'
collect2: error: ld returned 1 exit status
gprbuild: link of sim.adb failed
gprbuild: failed command was: /usr/GNAT/2019/bin/gcc sim.o b__sim.o /home/XXXX/opt/sdlada/lib/sdlada.release/libsdlada.a -L/home/XXXX/Documents/AdaProjects/airbase/obj/ -L/home/XXXX/Documents/AdaProjects/airbase/obj/ -L/home/XXXX/opt/sdlada/lib/sdlada.release/ -L/usr/GNAT/2019/lib/gcc/x86_64-pc-linux-gnu/8.3.1/adalib/ -static-libgcc /usr/GNAT/2019/lib/gcc/x86_64-pc-linux-gnu/8.3.1/adalib/libgnat.a -ldl -Wl,-rpath-link,/usr/GNAT/2019/lib/gcc/x86_64-pc-linux-gnu/8.3.1//adalib -Wl,-z,origin,
-rpath,$ORIGIN/:$ORIGIN/../../../..//opt/sdlada/lib/sdlada.release:/usr/GNAT/2019/lib/gcc/x86_64-pc-linux-gnu/8.3.1/adalib -o sim
[2021-03-06 17:39:15] process exited with status 4, 100% (12/12), elapsed time: 00.57s
```

Set_Colour_Key not working

Set_Color_Key does not work on macOS with SDL2 version 2.0.10.
It works with Homebrew SDL2 version 2.0.12.
Suggest to introduce optional flag SDL_FRAMEWORK=False/True for frameworks.
I will make patch when approved.

Optimisation

Look into optimising the code.

  • Make SDL pure, should be able to use expression functions and private SDL imports.

TODO: Fix events

This is two issues in one:

  • Need a tagged event hierarchy rather than a copy of the C struct.
    • Root type
    • Keyboard type
    • Joystick type
    • Mouse type
  • Rename SDL.Events.Events and make it a private package, or move the Events type to the private part of SDL.Events.
  • Move SDL.Events.Events.Poll to SDL.Events.Poll and change to use the tagged types.
    • Use Ada's factory for creating tagged types - too much overhead, too slow?
  • Investigate calling SDL.Events.Poll in the library, copying all events to an event queue held in a protected object. This would help with tasking at a higher level. This might also be a bit slower, needs to be checked.

Constraint_Error when reading Event.Window.Event_ID

Reading Event.Window.Event_ID generates a Constraint_Error with the message "invalid data value 15 not in 0..14.

The following two values are missing and need to be appended after Close:

  1. Take_Focus
  2. Hit_Test

See SDL_WindowEventID in SDL_video.h on lines 168 and 169.

SDL driver: X11

sdl v208?

Luke,
I see sdlada currently supports sdl207. Do you have yet a sense of how different 208 is?
I have a c++ code that compiles using 207 headers and 208 libraries that seems to work Ok, given the limited interfaces my code actually uses.
I am planning to try using sdlada soon, but it would be even sooner if I knew you had support for 208 coming soon. Are you planning an update any time soon?
(feel free to close this issue since it's just a question...could not find your email anywhere...)
thx,
Rod [email protected]

Fix Surface and Texture API's

The idea is to mirror the API's for accessing pixel data as they are both images, essentially.

  • Pixel Iterators for Images
  • Pixel Iterators for Textures
  • Line Iterators for Images
  • Line Iterators for Textures

Suggestion: Remove dependence on C

When I have tried to get SDLAda working on Mac most of the trouble is about getting the version info working.
All ado about som library versions that I do not check or care much about anyway.
Therefore I suggest removing dependance on C sources in the main project.
This will imo make it much easier for newcomers to use SDLAda.
Perhaps version info (in needed) could be put into a separate gpr file and postpone version checking until link time.

Errors at make

Hi , i just want to use the library .
I unzip the archive and open a terminal into it .
When i apply the README file , i got the following errors =
How solve the problem ?

dead-code@Machine:/Bureau/sdlada-master$ make SDL_PLATFORM=linux SDL_BUILD=static SDL_MODE=release
gprbuild -p -gnat2012 -XSDL_BUILD=static -XSDL_MODE=release -XSDL_PLATFORM=linux
-Psdlada.gpr -cargs sdl2-config --cflags
sdl_version.gpr:1:09: warning: there are no Ada sources in this project
gcc-4.6 -c -ffunction-sections -fdata-sections -gnat2012 -gnata -gnato -gnatE -gnaty -gnaty-s -gnatyO -gnatyM120 -gnatyO -O2 -I/usr/include/SDL2 -D_REENTRANT -gnat2012 sdl-events-keyboards.adb
sdl-events-keyboards.adb:30:09: aspect identifier expected
sdl-events-keyboards.adb:39:09: aspect identifier expected
sdl-events-keyboards.adb:48:09: aspect identifier expected
sdl-events-keyboards.adb:57:09: aspect identifier expected
sdl-events-keyboards.adb:67:09: aspect identifier expected
sdl-events-keyboards.adb:77:09: aspect identifier expected
gprbuild: *** compilation phase failed
make: *** [sdl_build.gpr] Erreur 4
dead-code@Machine:
/Bureau/sdlada-master$

I use Ubuntu 14.04 LTS in 32 bits.

Unable to get or set Colour_Key

The routines SDL.Video.Surfaces.Colour_Key (calls SDL_GetColorKey)
and SDL.Video.Surfaces.Set_Colour_Key (calls SDL_SetColorKey) both crash with an exception Surface_Error.
I need the Set_Colour_Key in order to make my image (bmp) transparent.

To test these functions, I added some calls to the load_image.adb example (just after Window_Surface := W.Get_Surface) :
declare
Color_Key : SDL.Video.Palettes.Colour;
begin
Color_Key := SDL.Video.Surfaces.Colour_Key (Window_Surface);
end;

I noticed that the Set_Colour_Key procedure was missing a parameter for flags, but fixing this did not help.

Any help is greatly appreciated :-)

SDL2 headers not found on FreeBSD

Hello,

I commented on #73 not realising the ticket was closed, and I am not sure if closed tickets generate notifications....

So here is the original:
I am attempting to build sdlada on FreeBSD and am also getting the issues with the build not finding any SDL header. I too have to patch three files to prepend SDL2 to the include directive.

sdl2-config --cflags returns:

-I/usr/local/include/SDL2 -I/usr/local/include -D_REENTRANT -D_THREAD_SAFE

sdl2-config --libs returns:

-L/usr/local/lib -lSDL2

Tho, I am unsure if I am building the project correctly, there is no Alire on FreeBSD yet, so I am using the Ports system to fetch, extract, and cd to ${SRC}/build/gnat/ and run GNU make there.

sdl2-config is installed and found by GNU make.

Compile of SDL.Video.Palettes fails

Compilation fails with CE 2020:

sdl-video-palettes.adb:146:41: expected type "Palette_Constant_Access" defined at sdl-video-palettes.ads:124
sdl-video-palettes.adb:146:41: found type access to "Palette'CLASS" defined at line 69
sdl-video-palettes.adb:163:41: expected type "Palette_Constant_Access" defined at sdl-video-palettes.ads:124
sdl-video-palettes.adb:163:41: found type access to "Palette'CLASS" defined at line 69

Patch available in days..

hi

#include <SFML/Graphics.hpp>
int main() {
sf::RenderWindow window(sf::VideoMode(800, 600), "Simple 2D Gam

// Tạo hình chữ nhật đại diện cho nhân vật
sf::RectangleShape player(sf::Vector2f(50.0f, 50.0f));
player.setFillColor(sf::Color::Green);

// Đặt vị trí ban đầu của nhân vật
player.setPosition(375.0f, 275.0f);

while (window.isOpen()) {
    sf::Event event;
    while (window.pollEvent(event)) {
        if (event.type == sf::Event::Closed)
            window.close();
    }

    // Xử lý đầu vào - di chuyển nhân vật
    if (sf::Keyboard::isKeyPressed(sf::Keyboard::Left)) {
        player.move(-5.0f, 0.0f);
    }
    if (sf::Keyboard::isKeyPressed(sf::Keyboard::Right)) {
        player.move(5.0f, 0.0f);
    }
    if (sf::Keyboard::isKeyPressed(sf::Keyboard::Up)) {
        player.move(0.0f, -5.0f);
    }
    if (sf::Keyboard::isKeyPressed(sf::Keyboard::Down)) {
        player.move(0.0f, 5.0f);
    }

    window.clear();
    // Vẽ nhân vật lên cửa sổ
    window.draw(player);
    window.display();
}

return 0;

}

Logging functions fail on Windows

SDL.Log.Put ("foo");
SDL.Log.Put_Debug ("bar");

...outputs the following for me on Win 7 64-bit:

INFO: foo
DEBUG:

The "bar" is missing. Gdb reveals the string is not being passed from Ada to C properly in the call to SDL_LogDebug(). I suspect it's related to this caveat on 'C' calling conventions, especially because SDL_Log() takes one argument while SDL_LogDebug() takes two:

In C, varargs allows a function to take a variable number of arguments. There is no direct equivalent in this to Ada. One approach that can be used is to create a C wrapper for each different profile and then interface to this C wrapper. For example, to print an int value using printf, create a C function printfi that takes two arguments, a pointer to a string and an int, and calls printf. Then in the Ada program, use pragma Import to interface to printfi.

It may work on some platforms to directly interface to a varargs function by providing a specific Ada profile for a particular call. However, this does not work on all platforms, since there is no guarantee that the calling sequence for a two argument normal C function is the same as for calling a varargs C function with the same two arguments.

test

/polls Option1 'Option 2' "Option 3"

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.