Welcome, Guest. Please login or register. Did you miss your activation email?

Show Posts

This section allows you to view all posts made by this member. Note that you can only see posts made in areas you currently have access to.


Messages - eXpl0it3r

Pages: [1] 2 3 ... 634
1
SFML projects / Re: Isometric RTS
« on: June 04, 2020, 10:12:11 am »
Really cool project, totally feeling the AoE inspiration in this one :)

Also it's always funny how much Dutch I can understand as a Swiss person. Dutch has so many German/Swiss-German and English words. :D

2
General / Re: linking issue : Undefined Reference to `_Unwind_Resume'
« on: June 03, 2020, 09:28:56 pm »
Yes for the new Code::Blocks version you need to build SFML yourself.

My suggestion is to delete every trace of any SFML library. Then build SFML from source with your current compiler and then use these new libraries to link in your application.
What I've seen often enough, is that people only remove some libraries or forget to change paths to the new location and then still work with the old version, wondering why it's not working.

When you google the error you'll find a lot of posts explaining that it's a compatibility issue between runtime versions. So if you truly build everything with the same compiler and don't somehow mixing in old runtime libraries or other libraries, you should be fine.

3
General / Re: Procedure Entry Point ??
« on: June 03, 2020, 09:23:25 pm »
So you went and grabbed the DLLs that are in your compiler's bin directory and copied them next to your executable and deleted the other DLLs you got from who knows where and it still produced the same errors?

4
General / Re: Procedure Entry Point ??
« on: June 02, 2020, 10:09:12 pm »
Before these errors, i got other errors about missing dlls, so i added them...
(libgcc_s_sjlj-1.dll, and libstdc++-6.dll)
That's when the newer ones appeared.
And where did you get those from?
They need to be the one that come with your compiler otherwise you can get that error.

5
Feature requests / Re: DRM/KMS support
« on: June 02, 2020, 10:46:29 am »
Nice! I think if you or Mickelson want to rebase/cherry-pick the change onto SFML master, this would certainly be considered. :)

6
Graphics / Re: I need help with font.getTexture
« on: May 29, 2020, 01:24:17 pm »
Yes, as the documentation says:

Quote
Retrieve the texture containing the loaded glyphs of a certain size.

The contents of the returned texture changes as more glyphs are requested, thus it is not very relevant. It is mainly used internally by sf::Text.

The texture only contains the glyphs that have so far been loaded.

7
Graphics / Re: FFMpeg and SFML
« on: May 29, 2020, 12:47:28 am »
Hey thanks for reply! I have tried to contact you but forum PM don't works, because on Sent Items there's nothing I sent... :(
I received your PM and I've already replied. ;)

8
Graphics / Re: FFMpeg and SFML
« on: May 28, 2020, 09:21:57 pm »
If anyone stumples up on this topic, here's an updated CMakeLists.txt for sfeMovie. I may try to push it upstream, but since it kind of makes sfeMovie only support SFML 2.5 and higher...

cmake_minimum_required (VERSION 2.8.12)


# set a default build type if none was provided
# this has to be done before the project() instruction!
if(NOT CMAKE_BUILD_TYPE)
    set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose the type of build (Debug or Release)" FORCE)
endif()

project (sfeMovie)

set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin)

set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin)

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_RELEASE ${CMAKE_BINARY_DIR}/bin)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_DEBUG ${CMAKE_BINARY_DIR}/bin)

# Import required CMake files
set (CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/Modules")
include(${CMAKE_SOURCE_DIR}/Shell.cmake)
include(${CMAKE_SOURCE_DIR}/FFmpeg/FFmpeg.cmake)

# Detect the OS
if(${CMAKE_HOST_WIN32})
    set(WINDOWS 1)
elseif(${CMAKE_HOST_APPLE})
    set(MACOSX 1)
elseif(${CMAKE_HOST_UNIX})
    set(LINUX 1)
else()
    message(FATAL_ERROR "Unsupported operating system")
    return()
endif()

if (WINDOWS AND NOT MSVC)
    message(FATAL_ERROR "Only Visual Studio (2013 and later) is supported on Windows")
endif()

# Set some env vars
set (SFEMOVIE_LIB sfeMovie)
set (VERSION_MAJOR 2)
set (VERSION_MINOR 0)

set (SOURCES_DIR "src")
set (PUBLIC_HEADERS "include")
set (PRIVATE_HEADERS "src")
set (OTHER_LIBRARIES "")
set (LINKER_FLAGS "")

if (MSVC)
    if(MSVC_VERSION LESS 1800) # 1700 = VS 2013
        message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
    endif()
else()
    include(CheckCXXCompilerFlag)
    CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)
    CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
    if(COMPILER_SUPPORTS_CXX11)
        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
    elseif(COMPILER_SUPPORTS_CXX0X)
        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
    else()
        message(FATAL_ERROR "The compiler ${CMAKE_CXX_COMPILER} has no C++11 support. Please use a different C++ compiler.")
    endif()
endif()

#################################################################################################################
# ============================================== FFMPEG SETUP ================================================= #
#################################################################################################################

set (SFEMOVIE_BUILD_FFMPEG TRUE CACHE BOOL "TRUE to build sfeMovie with the provided FFmpeg sources, FALSE to build with the system libraries")
add_subdirectory(FFmpeg)

#################################################################################################################
# ============================================== LIBASS SETUP ================================================= #
#################################################################################################################

set (SFEMOVIE_ENABLE_ASS_SUBTITLES FALSE CACHE BOOL "TRUE to build sfeMovie with libass, which enable support of non-bitmap subtitles (ie. srt")
if (SFEMOVIE_ENABLE_ASS_SUBTITLES)
    find_package (ASS REQUIRED)
    add_definitions(-DSFEMOVIE_ENABLE_ASS_SUBTITLES)
endif()

#################################################################################################################
# ================================================ SFML SETUP ================================================= #
#################################################################################################################

# Static sfeMovie lib has no interest on Linux or OS X
if (WINDOWS)
    set (SFEMOVIE_BUILD_STATIC FALSE CACHE BOOL "TRUE to build static version of sfeMovie")
endif()

if (SFEMOVIE_BUILD_STATIC)
    set (SFML_STATIC_LIBRARIES TRUE)
endif()

find_package (SFML 2.5 COMPONENTS graphics audio REQUIRED)
message(STATUS "SFML libraries found")

#################################################################################################################
# ============================================== sfeMovie SETUP =============================================== #
#################################################################################################################

file(GLOB SOURCE_FILES ${SOURCES_DIR}/[a-z,A-Z]*.[c,h]* ${SOURCES_DIR}/DebugTools/[a-z,A-Z]*.[c,h]*)
file(GLOB HEADER_FILES RELATIVE ${PROJECT_SOURCE_DIR} "include/sfeMovie/[a-z,A-Z]*.[h]*")

add_definitions(-D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -DSFE_EXPORTS)
if (APPLE) # ========================================== macOS ========================================== #
    # add an option to let the user specify a custom directory for framework installation
    set(CMAKE_INSTALL_FRAMEWORK_PREFIX "/Library/Frameworks" CACHE STRING "Frameworks installation directory")
endif()

# Set the search directories for compiling and link editing
set(SFEMOVIE_INCLUDE_DIRS "${PUBLIC_HEADERS};${PRIVATE_HEADERS};${FFMPEG_INCLUDE_DIRS}")
if (SFEMOVIE_ENABLE_ASS_SUBTITLES)
    set(SFEMOVIE_INCLUDE_DIRS "${SFEMOVIE_INCLUDE_DIRS};${LIBASS_INCLUDE_DIR}")
endif()

include_directories (${SFEMOVIE_INCLUDE_DIRS})
message (STATUS "Headers directories: ${SFEMOVIE_INCLUDE_DIRS}")

source_group("Public headers" FILES ${HEADER_FILES})
if (SFEMOVIE_BUILD_STATIC)
    add_library(${SFEMOVIE_LIB} STATIC ${SOURCE_FILES} ${HEADER_FILES})
else()
    add_library(${SFEMOVIE_LIB} SHARED ${SOURCE_FILES} ${HEADER_FILES})
endif()

if (NeedsFFmpegCompilation)
    add_dependencies(${SFEMOVIE_LIB} FFmpeg)
endif()

# Define the libraries sfeMovie should link against
if (SFEMOVIE_BUILD_STATIC)
    set_target_properties(${SFEMOVIE_LIB} PROPERTIES
        COMPILE_DEFINITIONS SFEMOVIE_STATIC
        COMPILE_DEFINITIONS SFML_STATIC)
    message(WARNING "You chose to build a static library of sfeMovie, this assumes that you will also statically link your software against SFML."
            "sfeMovie will be built with SFML_STATIC defined.")
else()
    set(SFEMOVIE_LIBRARIES ${FFMPEG_LIBRARIES} ${OTHER_LIBRARIES} sfml-graphics sfml-audio)
    if (SFEMOVIE_ENABLE_ASS_SUBTITLES)
        set(SFEMOVIE_LIBRARIES ${SFEMOVIE_LIBRARIES} ${LIBASS_LIBRARIES})
    endif()
    message(STATUS "Link sfeMovie against: ${LIBASS_LIBRARIES} ${SFML_LIBRARIES} ${FFMPEG_LIBRARIES} ${OTHER_LIBRARIES} ${SFML_DEPENDENCIES}")
    target_link_libraries(${SFEMOVIE_LIB} PRIVATE ${SFEMOVIE_LIBRARIES})
endif()

if (SFEMOVIE_BUILD_FFMPEG)
    if (LINUX)
        add_custom_command(TARGET ${SFEMOVIE_LIB} PRE_LINK
            COMMAND cp -R
                "${CMAKE_BINARY_DIR}/FFmpeg-binaries/lib/*"
                "$<TARGET_FILE_DIR:${SFEMOVIE_LIB}>")
    elseif(MACOSX)
        add_custom_command(TARGET ${SFEMOVIE_LIB} PRE_LINK
            COMMAND mkdir -p "$<TARGET_FILE_DIR:${SFEMOVIE_LIB}>/Libraries")
        add_custom_command(TARGET ${SFEMOVIE_LIB} PRE_LINK
            COMMAND cp -R
                "${CMAKE_BINARY_DIR}/FFmpeg-binaries/lib/*"
                "$<TARGET_FILE_DIR:${SFEMOVIE_LIB}>/Libraries")
    elseif(WINDOWS)
        add_custom_command(TARGET ${SFEMOVIE_LIB} PRE_LINK
            COMMAND ${CMAKE_COMMAND} -E copy_directory
                "${CMAKE_BINARY_DIR}/FFmpeg-binaries/lib"
                "$<TARGET_FILE_DIR:${SFEMOVIE_LIB}>")
        add_custom_command(TARGET ${SFEMOVIE_LIB} PRE_LINK
            COMMAND ${CMAKE_COMMAND} -E copy_directory
                "${CMAKE_BINARY_DIR}/FFmpeg-binaries/bin"
                "$<TARGET_FILE_DIR:${SFEMOVIE_LIB}>")
    endif()
endif()

include (${CMAKE_SOURCE_DIR}/cmake/Properties.cmake)
include (${CMAKE_SOURCE_DIR}/cmake/Install.cmake)

# Unit tests
set (SFEMOVIE_BUILD_UNIT_TESTS FALSE CACHE BOOL "TRUE to build the unit test system, requires Boost")
if (SFEMOVIE_BUILD_UNIT_TESTS)
    add_subdirectory(tests)
endif()

# Examples building
add_subdirectory(examples)

# add an option for building the documentation
set(SFEMOVIE_BUILD_DOC FALSE CACHE BOOL "Set to true to build the documentation, requires Doxygen")
if(SFEMOVIE_BUILD_DOC)
    add_subdirectory(doxygen)
endif()

# Define packaging
include(${CMAKE_SOURCE_DIR}/cmake/Packaging.cmake)

Other than that, using msys2 and VS 2019 I could build sfeMovie just fine with the given instructions.

9
General / Re: SFML Wont work at Code::blocks Ubuntu 16.04
« on: May 27, 2020, 07:58:39 pm »
The download is clearly in the Windows section, these libraries won't work on Ubuntu. :D

It's probably best to either get SFML from the OS built-in package manager or build SFML from source.

10
I kept it on the board, because it would probably otherwise be lost in the abyss.
I think it makes sense to implement this feature, it doesn't have to be for SFML 2.6, but if someone picks it up and makes a mergable PR before we get scancodes done, I'd be more than happy to merge it.

11
Cygwin isn't really supported by SFML, as it pretends to be Linux based, but still build for Windows...
If you can get it working properly, we could accept a pull request.

12
General / Re: GPU info
« on: May 27, 2020, 01:28:16 am »
SFML doesn't provide such a feature. There exist various tools that can give you that information.

13
General discussions / Re: Concerned and Eager
« on: May 27, 2020, 01:12:31 am »
The Roadmap for SFML 2.6 and SFML 3 has been relatively unchanged for quite a while, yet I see very little movement from the community, then again as mentioned in the linked thread, people seems to be really eager for a more modern C++ code base, as such people may just be waiting until SFML 3 finally kicks off.
We had cleaned up the SFML 2.6 project on GitHub quite a bit in the past and just today, I basically removed anything that would require additional work or discussion and updated the Roadmap.



As for the longer discussion...

I'm highly biased so my comments may not reflect reality ;D

There are multiple levels to all of this and it's hard for me to bring it to the point, but I give it a try.

In the SFML 1.x and early 2.x periods we had Laurent as the driving force behind SFML, pushing a lot of topics forward on his own and seeing them through from idea to final implementation.
Over the past years we tried to turn the project into a more community-driven mode, but the big success is still unaccounted for. Here are a few observations of mine:

SFML has a high quality standard

We try to get the code (and commits) as good as possible before merging them. This leads to Pull Requests not being accepted (but also not rejected) that don't meet that "quality". The advantage is that once a feature is merged, it has been tested, is stable and usually doesn't require regression fixes.

Personally, I don't think we should make compromises here, as it would only reduce the quality and push the required work further back.

SFML is cross platform

A lot of people underestimate the amount of work required to implement a "simple" feature. You have to pick an API design for SFML, then you need to make sure that it works for Windows, Linux and macOS and then you need to implement for all these platforms and after all that, there's still Android and iOS.

I could see some room for providing feature implementation for just one platform, but this has the danger of diverging the feature sets and making the library less "cross-platform".

Technical Discussions

It's tedious and requires time, but it's essential to have technical discussions. Very often people feel offended or walk away when they get confronted with questions.
It's not enough that you like a feature or that you already coded said feature. In order to keep the API simple and maintainable, we need to consider the broader use-cases for a feature. Once you know the 'why', the question moves to the 'how', which usually offer multiple designs that need to be weighed one against the other.

I'm the first to admit that we had a lot of discussions that ran a bit out of hand in the past, but let's try and leave the past in the past. I think it's essential to have discussions on topics, at the same time, if someone provides a complete implementation of a feature and provides some good arguments why this is a valid use-case, it's rare that it will be outright declined.

Active Discussions

binary1248 has created various pull requests with potential changes and made them public so everyone can take a look, provide feedback and scrutinize the design decisions taken. But the activity on these PRs are very low. If we want to move forward, we do need active conversations - those are often the more valuable contributions!

Nobody owes anything to SFML, but you also need to understand how it personally frustrates me, when there's a draft pull request with only two comments on it and on the other side, people pretend that SFML is dead and lacks some features. If you want a feature, you need to get active and help get the feature finished. ;)

Champions

In an ideal world the SFML Team would pick up existing pieces and completely new features and start pushing them forward until they reach the finish line. But being more community-driven this responsibility would now be with everyone. Unfortunately, we still get a lot of contributions that are well intended, but get stuck after the first or second review or discussion point. I understand that the excitement goes away after the first few hours or days, but it's crucial that features are not just thrown over the fence and left for others to finalize, but that the author (or some other contributor) champions the topic. That means: rebase whenever there are merge conflicts, implement review comments, ping reviewers, keep the discussion on open questions active, etc.

SFML is relying on the community, as such the will to do something is not enough. I also want to spend more of my free time on SFML, but often end up doing other things. Pick a topic, start a discussion and champion it from start to finish, that's how SFML is moved forward.

tl;dr
  • Join and/or start discussions on topics that you're interested in
  • Champion already existing topics and push those over the finish line
  • Right now: SFML only progresses if the community works on it, so let's get to work! :)

14
SFML development / Re: SFML Roadmap
« on: May 26, 2020, 11:50:33 pm »
I updated the initial post with more recent information and further reduced the scope of SFML 2.6.

Additionally, I have been slowly making progress on the Scancode topic so we can close the last, big remaining feature for SFML 2.6.

15
General / Re: UI click detection
« on: May 26, 2020, 12:53:38 pm »
I thought it was more common to go a "bottom-up" approach. That you detect the clicks on whatever elements are shown to the user and then each UI element can be configured to consume or propagate the event to their parent. Then again most UI frameworks I've used only allow parent-child relations when the parent fully surrounds the child, so the child being outside of the parent rectangle could never happen...

Pages: [1] 2 3 ... 634
anything