21b45f5855
WIP: Add CLipRects to UI7 Layouts - Added Scissor Support to Font Rendering
tobid72026-01-28 07:11:56 +01:00
090656b30c
Fix close sym input logic
tobid72026-01-27 08:06:52 +01:00
e8072a064c
WIP Backend System Redesign Step 1 - Created 1 Context for Backend Management and Sharing - Made every class that used a static Backend require the Context or specific Backend - Bring Back 3ds support
tobid72026-01-26 20:46:27 +01:00
892f8ce0c4
Update License Header Text
tobid72026-01-25 21:12:16 +01:00
fb46f4d36a
Let's just use 1 PD_API header
tobid72026-01-25 20:57:14 +01:00
337c016824
Unfiy all sub projects back into 1 libpalladium
tobid72026-01-25 20:44:52 +01:00
d2806b2061
Add Nee Backend Structure Use TexAddress instead of Texture::Ref in Cmds Add a .clang-format??
tobid72026-01-25 00:04:40 +01:00
da79db223f
Add MacOS support as well as OpenGL 3.3 support
tobid72026-01-24 23:08:03 +01:00
b2c7c1fdbf
UI7 Add Containers to Layout - Hotfix in CommandPool - Add UI7 ItemRowHeight (Universal Item Size/Height) - Add Containers to Layout - Add ColorEdit to Menu - Switch Back to COlorEdit in UI7::StyleEditor - Add DrawList Layer Sorting to UI7 (Not working as expected) - STart Work at ColorEdit container
tobid72026-01-24 11:58:41 +01:00
4a73e8c8da
UI7 hotfix - Fix Image has No Size - Fix DragData PathRect Positioning
tobid72026-01-24 09:27:21 +01:00
b8c25d6901
Add a Drag Slider to UI7
tobid72026-01-23 15:45:25 +01:00
931e02aefb
Move CmdPool code to a source file
tobid72026-01-22 19:25:01 +01:00
0db4953125
Reimplement list sorting and Fix UI7 Layers
tobid72026-01-22 16:34:46 +01:00
2b7d25cf06
Update - Added DestroyTex to 3ds backend - Added Size() -> ivec2 to PD::Image - Added CmdPool Copy as well as DrawList Copy (Static rendering) - Added == ooperator for Rect - Added UI7 Frame Rounding - Fix UI7 Image usage withour size or uv - Added New way to use BeginMenu
tobid72026-01-18 19:25:50 +01:00
0ef6d34435
Refactor the Command / DrawList System Use Command Pool instead of always allocating. This gives us e big performance diffrence on the 3ds Fixed IDS of ui7 for now
tobid72026-01-16 12:13:48 +01:00
eb5d5f9974
backend updates pd-3ds: Add support for RGB565 textures pd-desktop: Add support for A8 textures Add glfw callback chain to not break other libs using the same callback
tobid72026-01-05 14:37:57 +01:00
c618c616fe
Fix UI7 Crash by safe deleting the elements
tobid72025-12-24 15:05:05 +01:00
ac281dc7a9
Update - Add data getter to DrawList - Add NoOOS (Out Of screen Rendering) flag to text renderer (requires a textbox) - UI7 Label Wrapping (optinal and beta)
tobid72025-12-23 19:20:31 +01:00
0cb5de882f
Fixes and function additions - Fixed Text pos at NoCollapse flag - Fix Button Input Api (HandleScrolling after layout Update) - Add getter for IO and Current Menu - Add AdObject func wrappers to Menu
tobid72025-12-20 19:25:20 +01:00
b3d621a847
Add LayerOptimisation / QoL change
tobid72025-12-19 21:08:32 +01:00
4ad00cd2be
pd-3ds: Add sysfont loader - add support for Alpha only textures in rendering
tobid72025-12-19 21:07:57 +01:00
803fa5cdb5
Remove custom standard lib Why?? cause it was russian roulette with pointer access stuff etc
tobid72025-12-17 10:02:05 +01:00
66d3825481
bknd-3ds: implement libpicasso to load shader
tobid72025-12-17 09:25:36 +01:00
6c38aa6f21
Adding and fixing stuff - Fix HexChar2Int - Remove some devisions in tween engine - Add PathAdd function for x, y seperated instead of fvec2 - Readd text wrapping (rd7-palladium maybe)
tobid72025-12-15 22:16:19 +01:00
f19c947fc3
Road to 0.6.0 - readd the c++ linear allocator for 3ds - start switching from PD::Vec to std::vector - Add Color::Hex as constexpr for compiletime color converts - Add FNV Hasing functions - Make UI7 ids be able to be generated at compile time - Added a Throw Function (for whatever) - Added HexCHar2Int (replaces the lookup table) - Made u128 fully constexpr
tobid72025-12-10 19:02:54 +01:00
3823f08bab
Update Font System - Add support for splitting glyphs over multiple textures - Fix some casts in wrong places (like casting a float to float?) - Add a break if stb truetype fails - Fix a typo in FontRenderer Shaddow part (used .x twice) - Use L' ' for the wstring chars
tobid72025-08-28 21:06:19 +02:00
decae031ae
Small Fix - Make target compile definitions private (cause its only for them
tobid72025-08-23 20:02:33 +02:00
da87c0f7c2
# Hotfix - 3ds backend -probably i forgot to apply the changes of moving Gfx backends to the PD namespace to the 3ds backend :/
tobid72025-08-15 22:14:33 +02:00
310b44caf5
# Changes -> 0.5.1 - 3ds - Remove Gfx values that are present in Backend Tamplate - Move to default Palladium Namespace - Set the Input Flags - Desktop - Move to PD Namespace - Comment out old keyboard stuff - HidDriver needs a rewrite but is functional enough - Core - Add u128 class (only used in input driver so far - Drivers (Core) - Move Gfx to PD namespace - Move Vertex/Index Pos and Projection Mtx to Gfx template - Add Keyboard support with u128 to Hid - Add a Update func if no hiddriver is specified (to prevent crashes when requestign inputs) - Image - Add RGBA -> BGRA support (used in windows bitmaps iirc) - Lithium - Add Vertex/Index counters to drawlist - Add a LoadTTF from Mem func and let the loadfile func use PD::IO::LoadFile2Mem (looks cleaner) - Add LoadDefaultFont (which loads one of the integrated fonts if the PD_LI_INCLUDE_FONTS flag was passed on palaldium build) !!! Note that there are no fonts integrated yet due to i dont know how to handle licensing... - UI7 - Add MouseLeft support to Input handler - Use xy coords of the Viewport to create Menus inside it - Get num of Vertices/Indices out of FinalDrawList - Add some Palladium Info to metrics Menu - Readd Compiler string - pdfm - New tool that creates fonts.cpp/fonts.hpp
tobid72025-08-14 20:37:55 +02:00
87910b57de
# Changes 3ds Backend: - switch to shaderProgramUse Desktop Backend - Add Pre Alpha Text Input and Keyboard Support - Move Shader Attrib Setup into a function and callit every time we need a set up vbo - Move to Mat4 api Core: - Add fquat support - Add LoadFile2Str - Move Mat4 Lib from Project n73 to Palladium - Add full supprot for vec cross types - Add Normalize, Distance and Dot to all - Add Cross to vec3 Drivers: - Add a SetViewPort func to GFX - Add Keyboard keys and Flasg to Hid Image: - Add Vertical Flipping - Add Horizontal flipping UI7: - Fix Critical Bug in IO Viewport handler - Fix library list (error on MinGW for some reason) Lazyvec: - Split into multiple source files - Generate new functions (see core updates)
tobid72025-07-23 23:21:34 +02:00
31a0c3656f
# Changes - Remove () from vec formatter -Add Merge function to DrawList to Move Data into the Current DrawList - Fix stupid bug in Rect.hpp which caused some problems in line rendering - Remove some unused UI7 Flags - io: Allocate FinalDrawList and add GetViewPort func - Readd TreeNodes to Menu - Add ABout/Style and Metrics Menu to Context - Add some Variables for cliprects in ui7 container.hpp - Add InputHandler functionality to DynObj - Fix Menu Layout Render Order - Add Better Menu Sorting to Context # ppam - Use stringview instead of hardcoded const char* # Todos - Work on the Lithium 3D System - Fix UI7 Menu Order to Pop new Menus into the front instead of the background - Add Scrolling support to menu (or integrate it into layout maybe)
tobid72025-07-01 21:43:35 +02:00
271defffca
# Fix Color Code - Fix extreme stupid bug in color.hpp (returing m_r for all...) - Fix Collor::Hex with int cast to make sure to have valid hex output (u8 gets interpreted as char)
tobid72025-06-01 18:07:14 +02:00
ea76a304d4
Add GLFW as submodule in Repo
tobid72025-05-08 20:46:01 +02:00
f75f7067ff
# Fixes - Fix LinearAlloc bug not using *sizeof(T) - Add WaitForRead to net backend - Add a Get func to Tween - Skip \r in Text Rendering - Add Citro3D Max Texsize check
tobid72025-05-02 15:09:21 +02:00
13c2869ba8
Initial Cross Platform Work
tobid72025-04-24 16:39:24 +02:00
dbffb7f316
# 0.3.2 Implement Path render API into drawlist Add some new drawing functions (need to make Rectangle -> RectFilled Add Menu Border ReSetup the Menu Input and Rendering API to fix flickering when moving
tobid72025-03-21 16:23:17 +01:00
6738fda55c
# 0.3.1-1 - Add Deltatime usage for Overscroll as well as a config value for ids multiplier - Add Function to Layout to remove all ID Objects - Add step and precision to DragData as well as setting min and max to their type limits - Use the Address for now for the id of the DragData (cause with tree nodes opened backwars all DragData will share the same data reference) - Add a fix to MaxPosition in Layout to be actually the max Position on X axis
tobid72025-03-16 20:03:08 +01:00
35272687f6
# Changes 0.3.1 - Add Layout API and let Menu use it - Add DragData (for float, double, int, etc) - Add IO Delta calculation to not require a users delta value - Add Config Var for SLider drag min size - Remove Hid::Ref input of Containers as IO DragApi is used - Containers that accept input will require an ID to function
tobid72025-03-14 15:14:45 +01:00
ba77dc9b42
# 0.3.0 - Fix minor issues - Add Custom UV Support to Drawlist and Menu Image - Add DoubleClick to IO Input API - Add Flashbang Theme (Not completly done) - Fix Menu glitch when scrolling was possible when not allowed
tobid72025-03-12 21:09:45 +01:00
b94dfc0c53
# 0.2.9-1 HotFix - Fix Bug where Input is locked for ever when removing a Menu by Changing its name / Not Process it anymore
tobid72025-03-09 20:40:02 +01:00
edf5f387ae
# Changes 0.2.9 - Litium Chenge Static Object to set instead of add layer - Add UI7 Color Selector (Not done) - Add NoClose flag as well as a is_shown address to set to close menus completly - Add u32 input for nameless ui7 ids - Add Debug Vertex/Index counters to DrawLists and IO - Add an Anywhere Released bool to Input API to decide if object should always react or only if curser is inside its box - Add Focused Menu System to Drag API to make sure to not care about the menu input process order - Let Menus only have 1 Drawlist instead of 3 Put Close, Resize, Move, Collapse and Scroll into their own handlers - Add a DeadHeader color to make a visual diffrence between Menus and Focused Menu - Add a GetRef to Theme for Color edit - Fix DrawList Line not rendering if going out of screen - Clear All CLipRects after process DrawList - Fix SeparatorText glitch - Fix Typos - Add IO Input Support to Containers
tobid72025-03-09 20:00:47 +01:00
09b1937a8d
# Changes 0.2.8 - Fix Flickering problem in StaticText api - Fix Lagacy and Container HandleScrolling InBox checks - Add IO Flags define for future - Implement Single Object Dragging API by IO Context - Add TreeNodes - Use ioMenuPadding and ItemSpace - Add StyleEditorMenu - Rework ContainerApi to take functions from IO and add an Update function template for Updating internal values if required - Use new DragApi for MenuCollabse, MenuDragging, MenuResize, SliderDragging and TreeNodes Open/Close - Add Helper Defines for Metrics Menu [INTERNAL] - Add TimeTrace as Tree to Metrics as well as other new Data - Add GetRawObject to StaticText for custom rendering like ui7 - Add DrawlistRegestry to correctly render Menus in their own layer ranges
tobid72025-03-08 13:52:11 +01:00
e282d0ec7e
# 0.2.7-2 - Start dev on UI7 IO - Add NoRezize flag and rezising - Fix Bug in DebugLabels - Use view Area for Menu Pos and Size - Only set Viewarea once in BeginMenu
tobid72025-03-07 14:05:43 +01:00
85e12c45c0
# 0.2.7-1 **HOTFIX** - Fix nullptr->value access issue in UI7::Context - Add UI7MenuFlags_NoMove to disable window movement - Fix testapp to support the new DebugLabels standard
tobid72025-03-06 20:22:13 +01:00
e45598f9f6
# Changes 0.2.7 - Add UI7 32Bit Version Num - Fix ClipRect Bug with Separators - Fix Triangle/Rect Render order Bug (UI7 - Bug of Lithium) - Add Position to Menus and Movement by dragging the Title bar - Add Menu Collabse (+ Flag to disable) - Add About and Metrics Menus to Context
tobid72025-03-06 18:14:39 +01:00
5375d0f3a9
# 0.2.6-2 - Add Scissor (CLIP RECT) to lithium commands and UI7 Drawlist API - Enable ClipRect to UI7::Menu (probably create a enable/disable flag)
tobid72025-03-05 20:18:00 +01:00
229d54f088
# 0.2.6-1 - Fix TTF FOnt loader to support any size between 8 and 64 - Fix UI7 Image Custom SIze support - Add new Syste mfor Image buffer modification to image lib
tobid72025-03-05 12:06:40 +01:00
c9e14ad08f
# 0.2.5 Add DrawLine to DrawList Fix Text Separator Alignment
tobid72025-03-04 10:22:28 +01:00
e6495d70b1
# Changes 0.2.4-2 - Document the rest of th elibs - remove sound.hpp header
tobid72025-03-03 10:55:24 +01:00
7d3f619169
# Changes 0.2.4-1 - Add GIT_BRANCH (for development and stable) - Write Documentation of - pd-core (exept of vec.hpp) - pd-app - pd-drivers - pd-lib3ds - pd-image - pd-image - pd-ui7
tobid72025-03-02 21:11:58 +01:00
af3d3e0b5b
# split pd-maths into pd-core and pd-image (0.2.3)
tobid72025-02-28 21:14:20 +01:00
debedf59c6
# Stage 2.2 - Move Timer to core - Use Timer for app_time - Fix Deltatime Bug in App - Add HwInfo to lib3ds (stolen from hbloader 2 pd-rewrite port) - Add GetSystemLanguage to lib3ds - Add Net Header for pd-net (still need to find a way to make this working) - Add base Decoder and Player Headers for pd-sound - Add Mp3 Decoder (useless and untested yet) - Add GetDataDirectory to App - Add InitFLag to App for HwInfo - Actually write the Timer class - Rework the UI7 Theme API to use SmartCtor - UI7::Menu::JoinAlign: Use a loop to determinate max width for centering a group - Add some Doctumentation around UI7::Menu
tobid72025-02-28 19:49:24 +01:00
f9a1d8aefb
# Stage 2.1 - Split palladium into diffrent libraries - Fix a Logical bug in App class - Add New Flag to Init App Data Directory - Add Cmake Option for build tests - Bump Version in cmake file - Make Hid a Driver - Start moving 3ds specific stuff into pd-lib3ds - Split Lithium into more files
tobid72025-02-22 00:23:48 +01:00
cbdb15e0de
# Stage 2 - reAdd Text Shorting - make SpriteSheet part of SmartCtor - Add Some Gaussian Blur func (not functional for now) - Add Image Indexing functions and Reverse32 for (RGBA -> ABGR) - Add Transparency flag to Keyboard and Fix its Render Prder - Add UI7 Alignment API - Incldes PushAlignment (One way Alignment, JoinAlign, etc) - Make Setter for Scroll Offset public - Make Getter for ScrollMod Public - Add a Check if Menu is duing an animated scroll - Add FindMenu to Context for Modifications after Context::EndMenu - Fix Major Issue in Lithium InBox Function - Fix TextAlignRight and Add PerLine Text Shorting - Fix Screen being unused in Performance Overlay - Add Beta Slider Dragging - Dont Handle Inputs for Objects when scrolling - Add a MainArea to Not Handle Inputs outside of it - Simplefied some logic
tobid72025-02-17 22:20:30 +01:00
ca26189f52
# Stage 1.9 - Add AppInit Flags and AppFlags to COntrol some Individual Stuff (Not using default can run into a crash report if things get used that are disabled) - Create a Test Settings Menu - Make Some Menu functions Public - Add ScrollTo Animation - Make ContainerApi fully public - Remove an else statement (now need to find a way to not set the pos twice) -
tobid72025-02-09 21:40:31 +01:00
fc8291555e
# Stage 1.8.2 - Use Font in Static text for rerendering if the font changed ### TODO: Detect reloading the current font - Updated License notice in all Files
tobid72025-02-04 21:44:27 +01:00
f7d262b7b0
# Stage 1.8.1 - Add Removable to containers (Only used for ID Objs) - Add Counts for specific Object types to have for example multiple buttons with same name - Readd Background as accidently deleted it
tobid72025-02-03 16:15:37 +01:00
f87c103d8d
# Stage 1.8 - Renderer now vould use more screen Objects - Register default Top and Bottom Screens (for Overlays and UI7) - Make ToHex an Inline header func - Add GetCompilerVersion - Add Library Compile And Version Info to common - Remove z of vertex object and shader in position - Add Container base and SubContainers to UI7 - Add abillity to Join Multiple Objects in Same Line and Center them - Fix LayerOrder Bug for updating texts in DrawList
tobid72025-02-02 20:32:07 +01:00
055588ce8b
# Stage 1.7.1 - Add Min and Max to timetrace - Add TestBench
tobid72025-01-30 15:06:27 +01:00
2914f2c8e5
# Stage 1.7 - Added File to Memory and FastHashMomory - Add Protection that only one app can exist - Add a Trace exist Variable as GetTraceRef automatically creates a trace - Outsource the LI::Rect to its own header - Add a CurrentScreen func - Use Rect for uv (to manually set all corners) - Rect still supports to use vec4 for uv - Add tex3ds Spritesheet support - Add T3X Loader to Texture (if single tex) - Integrate an autounload into Texture as in case of spritesheet the Tex needs to be unloaded manually - Safe some performance in texture loading by combining the Loops (best thing ive ever found) - Use the Momory Hash to only render one error icon into the TTF Texture - Also Try loading the whole 16-Bit range - Use GPU_A8 format for TTF rendering to save 24Bits per pixel and use the same Rendermode as System Font - Simplify Quad Command by using modern vec api - Integrate Text aligning - Fix FPS displayed twice in Performance overlay - UI7 DrawList now has its own AST system - TODO: do the same layering for the objects as Text uses - Map Drawcommands with a bool that declares either bottom or top screen was active - Add first basic Manu functions - Fix Typos in Theme - Add a basic UI7 Context Handler
tobid72025-01-29 03:14:29 +01:00
d55f485b8d
# Rewrite Stage 1.6 - Add static Text (Auto Static Text) - Add a Text Flag that Renders Text if it is Out of Screen - Shorter Keyboard animations and Fix Vertical Movement - Make Keyboard keys transparent - Make | to / in Performance Overlay as the symbol lokks biggy on System Font - Add Ast and Tms to Performance OVL
tobid72025-01-22 09:22:03 +01:00
b4a4b6a426
# Rewrite Stage 1.5 - Added Overlays (Performance / Keyboaed) - Keyboard has Gamepad Movement WIP (kinda) - Work on UI7 Started - Added Input Manager - Added Message Boxes (Animated) - Added Signle Header Tween func for animated stuff (Keyboard Messages, etc) - Add FastHash (Maybe useful later) - Using const & for vec in lithium - Add ability to copy a command by a Ref - Make Lists in Commands OpenAccess for Modification (StaticObject) - Add Static Object (System to PreRender Suff that never changes) but can still be recolored or moved - Add Layer and Font change functions - Make Renderer Tools (RotateCorner, CreateRect, CreateLine, InBox, OptiCommandList) static (OpenAccess) - Add ReIndexing to PushCommand - Add Ability to Init vec3 and vec4 with vec2 and add .xy and .zw to vec4 - Fully Animated Keyboard that currently has problem of Top Down GamePad movement - Add Func to Get GamePad Icon Codepoints for TextRenderer - Made deltatime a float - Using filesystem::path().wstring for convertation (works) - Add a New InBox to Renderer that only checks if a point is inside a boundingbox - Disable Font loading on Renderer Init due to 3ds Freezes when using SystemFont - Make SystemFont lineheight 10% larger than it is to be nearly the same size as the ttf fonts - Fix Some SpaceOffsets between TTF and SystemFont Rendering - Cleanup the Update Rendermode Func - Use LayerRenderSystem by default now as it now runs faster even with ttf fonts
tobid72025-01-19 20:16:43 +01:00
d815bb5674
# Rewrite Stage 1 - Switch to CMake build system - delete everything for a new structure - Add SmartCtor class and saperate New func - New Faster and Open Lithium Command API - Rewritten Text Renderer to ghet rid of all that janky code - New TimeTrace System and use of NanoTime using GetTimeNano - Overall going to a more Object oriented way - Updated vec api to support vec2 input on vec3 ## Todo - Support vec2 and vec3 in vec4 as inputs - Continue UI7 - Fix SystemFont on 3ds freezing the system - Fix TTF Font UV Mapping ## Warning Creating Apps for the 3ds is not possible yet as the 3ds is Freezing and this is only stage 1 of ? Emulator works perfect
tobid72025-01-09 20:22:49 +01:00
0fede0441f
Changes: - Add FCS to UI7 and Lithium - Schould fix Visual glitches with rects - Lithium one should be disabled as textrendering looks glitched
tobid72024-10-03 10:59:33 +02:00
eac36bcc6e
# Changes - Remove Scene Logic and only use Update as func - Begin with UI7 Horizontal scrollin gimpl and add Alignment funcs (not functional yet) - Generate a Lookup Table for Languages for faster access
tobid72024-09-27 16:24:07 +02:00
224daffaf7
Changes: - Start Restructuring Project - Add Makefile for Testbuilds - Optimize Lithium as much as possible - Remove Render2 to get wasted time - Optimize UI7 for LRS
tobid72024-08-30 14:54:49 +02:00
a58dc20562
Adapted from Changelog: - swr -> Rubidium - LIFont (TTF Font Renderer) - Implement shbin as c++ array - Larger Mesaage Box - Add Texture Loader - Update Image/Error and other sytems to Lithium - Optimize Render2 for Lithium
tobid72024-08-02 13:50:36 +02:00