1. XorTroll

    OP XorTroll Tired of classic HOME menu
    Developer

    Joined:
    Dec 28, 2017
    Messages:
    630
    Country:
    Spain
    Plutonium - an easy-to-use UI framework for Nintendo Switch homebrew

    Plutonium is a high-level, C++ graphical library with the aim of making UIs in a more simple, user-friendly way.

    Here you have some sample screenshots:

    2019032315044900-DB1426D1DFD034027CECDE9C2DD914B8.jpg
    2019032315045400-DB1426D1DFD034027CECDE9C2DD914B8.jpg

    For further information, check the README in the links below:

    GitHub link: https://github.com/XorTroll/Plutonium
    Github release: https://github.com/XorTroll/Plutonium/releases

    Currently version 0.2 is the latest released version.
    Enjoy making homebrew with some nice UIs!
     
    Last edited by XorTroll, Mar 23, 2019
    mstrVLT, LiveMChief, satan89 and 12 others like this.
  2. Manurocker95

    Manurocker95 Game Developer & Pokémon Master
    Member

    Joined:
    May 29, 2016
    Messages:
    1,374
    Country:
    Spain
    I made some stuff for SDL2 rendered games (such as buttons, toggles and stuff) so if I can contribute with anything, just ask ^^
     
    XorTroll likes this.
  3. Miqote

    Miqote GBAtemp Regular
    Member

    Joined:
    May 2, 2018
    Messages:
    258
    Country:
    Macedonia, The Former Yugoslav Republic of
    This is pretty neat, good stuff! I think making a good UI was one of the main reasons holding people back, or at least it was for me.
     
  4. XorTroll

    OP XorTroll Tired of classic HOME menu
    Developer

    Joined:
    Dec 28, 2017
    Messages:
    630
    Country:
    Spain
    Just check out Goldleaf's UI, that beauty is all handled via this library.
    To be honest, I made this library to have a good UI system for Goldleaf and future projects like Brew.js
     
  5. linuxares

    linuxares I'm not a generous god!
    Moderator

    Joined:
    Aug 5, 2007
    Messages:
    7,660
    Country:
    Sweden
    Oh neat! Really useful!
     
  6. Sora Takihawa

    Sora Takihawa Planeptunes Male CPU
    Member

    Joined:
    Oct 11, 2015
    Messages:
    2,898
    Country:
    Germany
    good tool
     
  7. annoo

    annoo Newbie
    Newcomer

    Joined:
    Dec 29, 2018
    Messages:
    3
    Country:
    Germany
    Already played around with it in the last few days. Great to see an official release!
    Great job!
     
  8. XorTroll

    OP XorTroll Tired of classic HOME menu
    Developer

    Joined:
    Dec 28, 2017
    Messages:
    630
    Country:
    Spain
    Plutonium 0.2 has been released! Introducing roundy and crispy rendering now, as you might have seen in Goldleaf!
    Link: https://github.com/XorTroll/Plutonium/releases/tag/0.2

    Changelog:

    • Rendering:
      • The internal application rendering system has slightly changed to improve dialogs' rendering, which has also changed some rendering callbacks for elements.
      • New functions have been added into SDL2-based rendering system, mostly related to round shapes.
    • Dialogs have been redesigned, without the old fullscreen, round shapes. Now the right joystick allows fast moving among options, and all the margins and sizes are automatically computed.

    • Elements:
      • Rounded shapes have been added, now applying to progress bars and dialogs.
      • Some element destructors have been fixed and/or improved.
    • Added a WIP focus system, which is barely untested:
      • It's based in Windows's focus system with UI elements.
      • Only an element has focus, and focus is changed via touch or R-Stick, based on stick directions.
      • As said it's WIP, so might not work as expected. By default elements don't use the focus system.

    — Posts automatically merged - Please don't double post! —

    Also I've updated this thread with some screenshots (how didn't I have any, this is an UI library, jesus)
     
  9. fourminute

    fourminute GBAtemp Regular
    Member

    Joined:
    Jan 15, 2019
    Messages:
    170
    Country:
    United States
    XorTroll back at it again. Good work. You forgot to include the XorTroll Industries copyright tag btw. wink wink.
     
    Last edited by fourminute, Mar 23, 2019
    XorTroll likes this.
  10. Sumandora

    Sumandora Im using Parental Controls. Change my Mind!
    Member

    Joined:
    Nov 13, 2018
    Messages:
    834
    Country:
    Germany
    more examples or a better usage would be very helpful... i tried it and after 5 Days of installing cuz im to silly i dont know how to add a button..... maybe because im learning C++ currently and know 5 % of the complete usages D:
     
  11. Manurocker95

    Manurocker95 Game Developer & Pokémon Master
    Member

    Joined:
    May 29, 2016
    Messages:
    1,374
    Country:
    Spain
    Just need to create a button object in your scene
     
  12. Sumandora

    Sumandora Im using Parental Controls. Change my Mind!
    Member

    Joined:
    Nov 13, 2018
    Messages:
    834
    Country:
    Germany
    i did but always get an error from dkp
     
  13. romain337

    romain337 GBAtemp Regular
    Member

    Joined:
    Jan 7, 2016
    Messages:
    141
    Country:
    France
    Why not use IMGUI ? The opengl3 renderer work as it using the glad loader build option :)
     
  14. Manurocker95

    Manurocker95 Game Developer & Pokémon Master
    Member

    Joined:
    May 29, 2016
    Messages:
    1,374
    Country:
    Spain
    SDL2 is a lot easier (?)
     
  15. romain337

    romain337 GBAtemp Regular
    Member

    Joined:
    Jan 7, 2016
    Messages:
    141
    Country:
    France
    IMGUI as a SDL2 renderer, take a look at the repo:
    https://github.com/ocornut/imgui

    It's a GUI cross platform framework...
     
  16. XorTroll

    OP XorTroll Tired of classic HOME menu
    Developer

    Joined:
    Dec 28, 2017
    Messages:
    630
    Country:
    Spain
    Released 0.2.1 with a few small changes: https://github.com/XorTroll/Plutonium/releases/tag/0.2.1

    Changelog:

    • Elements
      • When moving among Menu items, going upper than the top element will move to the latest element, ang going down on the latest one will start at the top.
    • Examples
      • Added two new examples: GlobalInputs and Dialogs.
     
    hippy dave likes this.
  17. Manurocker95

    Manurocker95 Game Developer & Pokémon Master
    Member

    Joined:
    May 29, 2016
    Messages:
    1,374
    Country:
    Spain
    Buttons on dialog should call function pointers so custom methods could be accessed when pressing them. Nice update btw.
     
  18. ron1ck

    ron1ck Newbie
    Newcomer

    Joined:
    Aug 11, 2019
    Messages:
    1
    Country:
    United States
    Nice tool!, I've been following some of your examples. But I want to show the applet for selecting users
    And I get LibAppletExitReason_Unexpected

    When debugging I noticed all the previews commands before appletHolderJoin return R_SUCCEDED,
    but after doing appletHolderJoin the exit reason of LibAppletExitReason is
    LibAppletExitReason_Unexpected

    I used Dialogs Example as base

    Do you know what I could be doing wrong?

    Regards
     
  19. Acta

    Acta Newbie
    Newcomer

    Joined:
    Nov 15, 2018
    Messages:
    3
    Country:
    Australia
    I'm trying to build the examples, but cannot get it to compile at all. In the examples I get the following errors:
    Code:
    linking Dialogs.elf
    f:/devkitpro/devkita64/bin/../lib/gcc/aarch64-none-elf/9.2.0/../../../../aarch64-none-elf/bin/ld.exe: F:/Users/Acta/Documents/GitHub/Plutonium-0.2.1/Examples/Dialogs/Plutonium/lib\libpu.a(Renderer.o): in function `romfsInit':
    C:/devkitPro/libnx/include/switch/runtime/devices/romfs_dev.h:62: undefined reference to `romfsMount'
    collect2.exe: error: ld returned 1 exit status
    make[1]: *** [/opt/devkitpro/libnx/switch_rules:80: /f/Users/Acta/Documents/GitHub/Plutonium-0.2.1/Examples/Dialogs/Dialogs.elf] Error 1
    make: *** [Makefile:156: Build] Error 2
    
    And I also cannot compile the latest commit of Plutonium, it errors out with the following:
    Code:
    F:/Users/Acta/Documents/GitHub/Plutonium/Plutonium/Source/pu/ui/render/render_Renderer.cpp: In member function 'void pu::ui::render::Renderer::Initialize()':
    F:/Users/Acta/Documents/GitHub/Plutonium/Plutonium/Source/pu/ui/render/render_Renderer.cpp:31:42: error: 'PlServiceType_User' was not declared in this scope; did you mean 'BsdServiceType_User'?
       31 |                 Result rc = plInitialize(PlServiceType_User);
          |                                          ^~~~~~~~~~~~~~~~~~
          |                                          BsdServiceType_User
    make[2]: *** [/opt/devkitpro/devkitA64/base_rules:14: render_Renderer.o] Error 1
    make[1]: *** [Makefile:99: build] Error 2
    make[1]: Leaving directory '/f/Users/Acta/Documents/GitHub/Plutonium/Plutonium'
    make: *** [Makefile:9: all] Error 2
    
    
    Any suggestions?
     
  20. gMendeZm

    gMendeZm Member
    Newcomer

    Joined:
    Jan 21, 2020
    Messages:
    25
    Country:
    Costa Rica
    I love this kind of projects.
     
Draft saved Draft deleted
Loading...

Hide similar threads Similar threads with keywords - Plutonium, framework, Nintendo