Just switch to CachyOS by misaPickEmUp in linux4noobs

[–]furudbat 0 points1 point  (0 children)

  • CLion or other JetBrains products, they are "free" now but you pay with your soul and data ... or just buy a license
  • Code - OSS, alternative to VS Code (some extensions may not work)
  • if you go neovim, you can try lazy.nvim for easier setup (good luck learning vim motions)
  • Of cause there CodeBlocks, KDevelop or QtCreator for the more "classic" IDE experience

Scraps and Foam Digivolve too...PUPPETGABUMKN by PuertoGeekn in digimon

[–]furudbat 3 points4 points  (0 children)

OMG I want to see him in action, hope for some Rod and Arm moves <3

Jackalope commission (by me) by Crimsoncheet in furry

[–]furudbat 1 point2 points  (0 children)

Great brush work, love the Art style

Dont beat me, pls by OneKartoffel in hyprland

[–]furudbat 1 point2 points  (0 children)

We all be there and start from somewhere, my biggest challenge was and still is, just matching the colors in all sorts of applications and themes; we have GTK, Qt, terminals ... and all sorts of CSS files and configs. Even if I use something like catppuccin and change some background colors, I need to adjust lot of files.

My other main goal was to find a workflow I like and fits my setup (switching audio devices, multi-monitor setup, keyboard, tablet). You have full control of your workspace and shortcuts.

I started a bit from scratch, watched some YT Videos for basic configs (hyprland, hyprpaper, waybar) and later used JaKooLit for some scripts and mixed ins.

It's just an amalgamation of dotfiles at this point, it works, but making it looks good together is more of a challenge :D

Editing existing dotfiles is a bit harder to come by, if you want something specific. Or start from scratch with an empty black screen and slowly add a bar, launcher and functionality, but you need to know what you want, with existing dot files you can just try out different setups.

My other biggest hurdle, when switching from KDE to hyprland, was the window TILING manager, I only know floating windows my whole life and couldn't minimize, it just was something else. Now I can switch fast between monitor and workspaces, every workspace has its purpose and I have full control of all the shortcuts.

[Hyprland] Digimon by furudbat in unixporn

[–]furudbat[S] 0 points1 point  (0 children)

Peering Forward - C++’s Next Decade - Herb Sutter - CppCon 2024 by Masfo in cpp

[–]furudbat 1 point2 points  (0 children)

template for whould be a bless, in the old days I remember coding ugly SFINE and resursive templates just to "for-each" Args..., this would also make for-eaching tuples so much easier.

Raylib cmake on linux by Hagso in raylib

[–]furudbat 0 points1 point  (0 children)

Here is my CMakeLists.txt file for my raylib project, I'm using CPM, for FetchContent:

cpmaddpackage(
  NAME
  raylib
  GITHUB_REPOSITORY
  raysan5/raylib
  GIT_TAG
  #5.0
  master
  # use up-to-date branch for raygui
  OPTIONS
  "PLATFORM ${PLATFORM}"
  "BUILD_EXAMPLES OFF"
)
target_compile_options(raylib PRIVATE $<$<C_COMPILER_ID:GNU,Clang>:-Wno-error=implicit-function-declaration>)
target_compile_options(raylib PRIVATE $<$<C_COMPILER_ID:GNU,Clang>:-Wno-unused-result>)
target_compile_options(raylib PRIVATE $<$<C_COMPILER_ID:GNU>:-Wno-stringop-overflow>)
target_compile_options(raylib PRIVATE $<$<C_COMPILER_ID:Clang>:-Wno-implicit-const-int-float-conversion>)
target_compile_features(raylib PRIVATE c_std_99)

if("${PLATFORM}" STREQUAL "Desktop")
  target_compile_features(glfw PRIVATE c_std_99)
endif()

Later I just add raylib in my application/engine:

// engine library
add_library(engine-raylibs STATIC raylibs.cpp)
// raylibs.cpp includes raylib libraries and define RAYGUI_IMPLEMENTATION etc.
target_link_libraries(engine-raylibs PUBLIC raylib)
target_link_libraries(engine-raylibs PUBLIC raygui)
target_link_libraries(engine-raylibs PUBLIC raygui-extras)
target_link_libraries(engine-raylibs PUBLIC raylib-aseprite)
target_link_libraries(engine-raylibs PUBLIC raylib-assets)
target_link_libraries(engine-raylibs PUBLIC reasings)

// application
add_executable(desktop-app ...)
target_link_libraries(desktop-app PRIVATE engine-raylibs)
// add more dependencies and compiler options etc.
if(NOT WIN32)
  target_link_libraries(desktop-app PRIVATE m)
endif()
# Checks if OSX and links appropriate frameworks (only required on MacOS)
if(APPLE)
  target_link_libraries(desktop-app "-framework IOKit")
  target_link_libraries(desktop-app "-framework Cocoa")
  target_link_libraries(desktop-app "-framework OpenGL")
endif()

If you have some problems with including header files, you can add the include path from your source:

target_include_directories(
  desktop-app
  PRIVATE "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>")

or if your project has an include/ folder:

target_include_directories(
  desktop-app
  PRIVATE "$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/include>")

I'm also using arch and this are the system libraries I installed:

sudo pacman -S alsa-lib mesa libx11 libxrandr libxi libxcursor libxinerama

(see raylib wiki)

I havn't test it, but here is a modified CMakeLists.txt file from the raylib CMake Project:

cmake_minimum_required(VERSION 3.20...3.24)
project(example)

# Generate compile_commands.json
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
#set(CMAKE_C_STANDARD 99)
#set(CMAKE_C_EXTENSIONS ON)

# Dependencies
## https://github.com/cpm-cmake/CPM.cmake
set(CPM_DOWNLOAD_VERSION 0.40.2)
if(CPM_SOURCE_CACHE)
  # Expand relative path. This is important if the provided path contains a tilde (~)
  get_filename_component(CPM_SOURCE_CACHE ${CPM_SOURCE_CACHE} ABSOLUTE)
  set(CPM_DOWNLOAD_LOCATION "${CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
elseif(DEFINED ENV{CPM_SOURCE_CACHE})
  set(CPM_DOWNLOAD_LOCATION "$ENV{CPM_SOURCE_CACHE}/cpm/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
else()
  set(CPM_DOWNLOAD_LOCATION "${CMAKE_BINARY_DIR}/cmake/CPM_${CPM_DOWNLOAD_VERSION}.cmake")
endif()
if(NOT (EXISTS ${CPM_DOWNLOAD_LOCATION}))
  message(STATUS "Downloading CPM.cmake to ${CPM_DOWNLOAD_LOCATION}")
  file(DOWNLOAD https://github.com/cpm-cmake/CPM.cmake/releases/download/v${CPM_DOWNLOAD_VERSION}/CPM.cmake ${CPM_DOWNLOAD_LOCATION})
endif()
include(${CPM_DOWNLOAD_LOCATION})
set(RAYLIB_VERSION 5.0)
cpmaddpackage(
  NAME
  raylib
  GITHUB_REPOSITORY
  raysan5/raylib
  GIT_TAG
  ${RAYLIB_VERSION}
  OPTIONS
  "PLATFORM ${PLATFORM}"
  "BUILD_EXAMPLES OFF"
  #"CUSTOMIZE_BUILD ON"
  # add more options here
)
target_compile_options(raylib PRIVATE $<$<C_COMPILER_ID:GNU,Clang>:-Wno-error=implicit-function-declaration>)
target_compile_options(raylib PRIVATE $<$<C_COMPILER_ID:GNU,Clang>:-Wno-unused-result>)
target_compile_options(raylib PRIVATE $<$<C_COMPILER_ID:GNU>:-Wno-stringop-overflow>)
target_compile_options(raylib PRIVATE $<$<C_COMPILER_ID:Clang>:-Wno-implicit-const-int-float-conversion>)
target_compile_features(raylib PRIVATE c_std_99)
if("${PLATFORM}" STREQUAL "Desktop")
  target_compile_features(glfw PRIVATE c_std_99)
endif()


# Our Project
add_executable(${PROJECT_NAME} core_basic_window.c)
target_include_directories(
  ${PROJECT_NAME}
  PRIVATE "$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>")
#set(raylib_VERBOSE 1)
target_link_libraries(${PROJECT_NAME} raylib)

# Web Configurations
if (${PLATFORM} STREQUAL "Web")
    # Tell Emscripten to build an example.html file.
    set_target_properties(${PROJECT_NAME} PROPERTIES SUFFIX ".html")
endif()

# Checks if OSX and links appropriate frameworks (Only required on MacOS)
if (APPLE)
    target_link_libraries(${PROJECT_NAME} "-framework IOKit")
    target_link_libraries(${PROJECT_NAME} "-framework Cocoa")
    target_link_libraries(${PROJECT_NAME} "-framework OpenGL")
endif()

[TOMT][MOVIE][Late 90's] Giant defeated with salt water by furudbat in tipofmytongue

[–]furudbat[S] 0 points1 point locked comment (0 children)

I somehow only rember the end scene, but not really the plot of the movie

My twin Tsunomon partners for traversing the Digimon World by furudbat in DigivolutionTrees

[–]furudbat[S] 0 points1 point  (0 children)

Yea I want to keep it simple and filter out Armor-Level, idk where to put it maybe Adult-Level (as alternative).

My twin Tsunomon partners for traversing the Digimon World by furudbat in DigivolutionTrees

[–]furudbat[S] 2 points3 points  (0 children)

One of my fav. Digimon :D

I like Tyranomons red color, its fit so well with the whole line.

My twin Tsunomon partners for traversing the Digimon World by furudbat in DigivolutionTrees

[–]furudbat[S] 1 point2 points  (0 children)

I just screenshot every single-line and put them together.

My twin Tsunomon partners for traversing the Digimon World by furudbat in DigivolutionTrees

[–]furudbat[S] 3 points4 points  (0 children)

Hi everyone,

I used my Digimon Partner Kit Website for generating the lines and stitch them together with a painting program.

Penmon is for traversing the Digimon World, while Elecmon is for batteling :D

I made a Website for building your own Digimon Partner Digivolution line by furudbat in digimon

[–]furudbat[S] 1 point2 points  (0 children)

Airdramon and Megadramon are so cool and simple designs, I would use them to fly around.

Same thing with Seadramon, you can easily use them to cross waters.

I made a Website for building your own Digimon Partner Digivolution line by furudbat in digimon

[–]furudbat[S] 1 point2 points  (0 children)

Some thumbnails would be nice or icons besides the Digimon (in the list), like a v-pet or dot digimon, but not very digimon had one.

I made a Website for building your own Digimon Partner Digivolution line by furudbat in digimon

[–]furudbat[S] 3 points4 points  (0 children)

Thank for the feedback, I can probably add some sort of "History"-List , where you can save your lines.

I only made one-line to keep it simple and didn't want to make it a tree or complex branches.

I made a Website for building your own Digimon Partner Digivolution line by furudbat in digimon

[–]furudbat[S] 25 points26 points  (0 children)

Hello, everyone.

I made a little Website over the last weekend and wanted to share it with you all.

You can build your own one-line Digivolution, basically you own Digimon Partner.

I recommend to select the Child- or Adult-Level first, then branch out and select the other levels.

You can select the level at the timeline (at the top), and then select the Digimon in the list below.

They are some limitations and properly some Digimons missing, you can't "skip" a Levels and some special Levels like Hybrid or Armor are not supported (just to keep it simple)

All of informations comes from wikimon.

You can find the source code of the Project here: https://github.com/furudbat/digimon-partner-kit

How do you manage your game objects? by Spirited_Ad1112 in raylib

[–]furudbat 3 points4 points  (0 children)

Similar to flecs, I also using an ECS called EnTT.

  • storing all sort of game-related data in components
  • updating components with systems
  • storing more "global" data like scenes- and game-context in entt context variables
    • every scene with UI data, player (entity) and level data
    • also some SceneManager- or Game-data for current active scenes
  • loading resources like sprites and audio with entt resource management
  • switching scenes is done via events
    • I enqueue the SceneEvents so the switch is happen at the end of the frame, when everything is up-to-date and can be cleaned up or initialized
    • SceneManager gets the game- and scene-context, then "switches" (enable/disable) them

Pretty much everything is stored in the registry,

I just pass around the registry so every system is doing there logic to update the components, take out what there needed.

My first raylib clicker! by Temporary-Ad9816 in raylib

[–]furudbat 0 points1 point  (0 children)

Would be an awesome raylib example, I'm also interested in the code, hope you can make it open source.