| Commit message (Collapse) | Author | Age | Files | Lines | |
|---|---|---|---|---|---|
| * | net.h: Add missing extern "C"HEADmaster | Xavier Del Campo Romero | 2022-09-23 | 1 | -0/+9 |
| | | |||||
| * | input.c: do not fail on input_render | Xavier Del Campo Romero | 2022-09-23 | 1 | -2/+2 |
| | | | | | | Implementation is still incomplete, and should not crash the application. | ||||
| * | join_menu.c: Update serial/IPv4 GUI menus | Xavier Del Campo Romero | 2022-09-23 | 1 | -24/+119 |
| | | |||||
| * | ps1/net.c: return 0 on net_init | Xavier Del Campo Romero | 2022-09-23 | 1 | -1/+1 |
| | | | | | | Even if the implementation is not finished yet, this will avoid the program from crashing on startup. | ||||
| * | net: Implement net_available | Xavier Del Campo Romero | 2022-09-23 | 3 | -1/+13 |
| | | |||||
| * | net: Implement net_serial_devices | Xavier Del Campo Romero | 2022-09-23 | 4 | -0/+40 |
| | | | | | | This function provides a platform-specific list of serial devices that can be accessed. | ||||
| * | keyboard: Add KEYBOARD_KEY_SLASH | Xavier Del Campo Romero | 2022-09-23 | 3 | -2/+6 |
| | | |||||
| * | label.c: Set empty text by default | Xavier Del Campo Romero | 2022-09-23 | 1 | -1/+3 |
| | | | | | | This will avoid crashing the application on rendering due to uninitialized labels. | ||||
| * | gui.c: Remove unneeded condition | Xavier Del Campo Romero | 2022-09-23 | 1 | -3/+1 |
| | | | | | | Even if neither hcentered or vcentered are used, GUI element position must be determined by that of its parents. | ||||
| * | gui.c: Fix minor const-correctness issues | Xavier Del Campo Romero | 2022-09-23 | 1 | -2/+2 |
| | | |||||
| * | gui: Allow elements to be hidden | Xavier Del Campo Romero | 2022-09-23 | 3 | -18/+32 |
| | | | | | | | When a GUI element is hidden, no rendering or updating is done to it or its children. This can be useful to define a complex GUI tree structure that changes under specific conditions, without redefining it. | ||||
| * | gfx: Provide functions for fullscreen handling | Xavier Del Campo Romero | 2022-09-23 | 3 | -0/+22 |
| | | |||||
| * | Implement checkbox GUI element | Xavier Del Campo Romero | 2022-09-23 | 4 | -0/+116 |
| | | |||||
| * | net: Group events into struct | Xavier Del Campo Romero | 2022-09-21 | 3 | -16/+21 |
| | | |||||
| * | gui: fix wrong logic on update/render/deinit | Xavier Del Campo Romero | 2022-09-21 | 1 | -11/+15 |
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The older implementation caused some elements to be update/rendered/deinitialized more than once per call. For example, considering the following tree of GUI elements: A B C D E The older implementation would update/render/deinitialize C and E more than once, as shown below: Update A Update B Update C Update D Update E Update C This was because a GUI element was acting on its siblings, but the siblings would also act on theirs, causing the extra calls. OTOH, as an additional improvement, no nested call is now required for siblings. | ||||
| * | menu: Implement join_menu | Xavier Del Campo Romero | 2022-09-20 | 9 | -5/+342 |
| | | |||||
| * | Implement GUI line edit | Xavier Del Campo Romero | 2022-09-20 | 4 | -0/+271 |
| | | |||||
| * | gui: Implement gui_deinit | Xavier Del Campo Romero | 2022-09-20 | 2 | -0/+14 |
| | | |||||
| * | Implement net component | Xavier Del Campo Romero | 2022-09-20 | 10 | -0/+555 |
| | | |||||
| * | Remap calls to pad/mouse/keyboard to input | Xavier Del Campo Romero | 2022-09-20 | 22 | -94/+195 |
| | | |||||
| * | Implement input component | Xavier Del Campo Romero | 2022-09-20 | 4 | -0/+237 |
| | | | | | | | | | | | | | | | | | It is required to redirect keyboard input (both physical or not) when a GUI line edit is focused. This means other components cannot be activated on key presses. Therefore, this new component is meant as a higher-level abstraction compared to the `keyboard`/`pad`/`mouse` components, which: - Implements the same APIs provided by `keyboard`, `mouse` and `pad`. - Returns the same results as the APIs above if no GUI element is focused, no input otherwise. Note: replacing calls to `keyboard`/`pad`/`mouse` with `input` will be implemented in a future commit. | ||||
| * | keyboard: Add new public functions | Xavier Del Campo Romero | 2022-09-20 | 2 | -0/+83 |
| | | | | | These will be used by future commits. | ||||
| * | Minor code style fixes | Xavier Del Campo Romero | 2022-09-20 | 2 | -3/+1 |
| | | |||||
| * | sdl-1.2: Remap missing keyboard keys | Xavier Del Campo Romero | 2022-09-20 | 1 | -2/+49 |
| | | |||||
| * | keyboard_key.h: add more keys | Xavier Del Campo Romero | 2022-09-20 | 1 | -1/+5 |
| | | |||||
| * | sdl-1.2: Remap SDLK_ESCAPE to KEYBOARD_KEY_ESC | Xavier Del Campo Romero | 2022-09-16 | 1 | -1/+1 |
| | | |||||
| * | mouse.c: Reduce threshold | Xavier Del Campo Romero | 2022-09-16 | 1 | -2/+2 |
| | | |||||
| * | Split CMakeLists.txt for src | Xavier Del Campo Romero | 2022-09-16 | 1 | -0/+47 |
| | | |||||
| * | Use find_package for SDL libraries | Xavier Del Campo Romero | 2022-07-23 | 17 | -20/+21 |
| | | | | | | | | | | | CMake already distributes FindSDL*.cmake files for SDL and SDL_mixer, which support custom prefixes via environment variables, removing the need for ad-hoc logic in Win9x builds. Also, according to FindSDL.cmake, #include <SDL.h> is the preferred way for portability reasons, instead of #include <SDL/SDL.h>, which is the option that has been used so far. | ||||
| * | ps1: Use exported target PSXSDK::PSXSDK | Xavier Del Campo Romero | 2022-07-23 | 6 | -2/+6 |
| | | |||||
| * | system/CMakeLists.txt: group common private dependencies into var | Xavier Del Campo Romero | 2022-07-23 | 1 | -1/+2 |
| | | |||||
| * | SDL-1.2: Implement X mirroring for quads | Xavier Del Campo Romero | 2022-07-15 | 3 | -20/+48 |
| | | |||||
| * | Import SDL_gfx | Xavier Del Campo Romero | 2022-07-15 | 1 | -1/+1 |
| | | |||||
| * | gui: Update elements in reverse order | Xavier Del Campo Romero | 2022-07-15 | 1 | -2/+2 |
| | | | | | | This allows to calculate dimensions for containers with children containers in it. | ||||
| * | Deprecate memset(3) in favour of C99 compound literals | Xavier Del Campo Romero | 2022-07-15 | 2 | -7/+3 |
| | | |||||
| * | Allow children of gui_container be resized anytime | Xavier Del Campo Romero | 2022-07-10 | 4 | -10/+32 |
| | | | | | | | | | | | | | | | So far, their position inside the container was determined when initializing the interface. However, if a child were resized afterwards, the container would not adjust its elements accordingly. Moreover, the implementation for gui_container relied on hacking the children's X/Y coordinates, which could only be done once. Now, two additional members have been added to gui_common so that specific X/Y offset can be determined by the parent, additionally to the traditional rules followed by gui_coords. Despite the extra memory footprint, it now allows containers to set specific X/Y offsets for their children on every game cycle. | ||||
| * | Implement join/host and game cfg menus | Xavier Del Campo Romero | 2022-07-07 | 6 | -72/+341 |
| | | |||||
| * | Implement system_can_exit | Xavier Del Campo Romero | 2022-07-07 | 3 | -0/+13 |
| | | |||||
| * | Allow multiple button types | Xavier Del Campo Romero | 2022-07-07 | 6 | -117/+218 |
| | | |||||
| * | button.c: fix wrong function call | Xavier Del Campo Romero | 2022-07-07 | 1 | -1/+1 |
| | | |||||
| * | rounded_rect.h: fix typo | Xavier Del Campo Romero | 2022-07-07 | 1 | -1/+1 |
| | | |||||
| * | font.c: set null dimensions on null str | Xavier Del Campo Romero | 2022-07-02 | 1 | -0/+11 |
| | | |||||
| * | human_player_gui.c: use gui_container for top gui_bar | Xavier Del Campo Romero | 2022-07-02 | 1 | -9/+16 |
| | | |||||
| * | gui/container: support spacing between GUI elements | Xavier Del Campo Romero | 2022-07-02 | 2 | -1/+7 |
| | | |||||
| * | gui/bar: support arbitrary x/y and width | Xavier Del Campo Romero | 2022-07-02 | 2 | -20/+46 |
| | | |||||
| * | gui: reuse callback data | Xavier Del Campo Romero | 2022-07-02 | 8 | -26/+60 |
| | | | | | | | There is no need to allocate memory for these callbacks for each single GUI element. Instead, a single, statically-allocated instance can be shared among all GUI elements of a given type. | ||||
| * | menu: implement main menu using new GUI improvements | Xavier Del Campo Romero | 2022-07-02 | 1 | -8/+19 |
| | | |||||
| * | gui: implement container | Xavier Del Campo Romero | 2022-07-02 | 3 | -0/+91 |
| | | | | | | Containers, somewhat inspired by GtkBox, allow to packed other GUI elements into a single row or column. | ||||
| * | button.c: h/v-center child label by default | Xavier Del Campo Romero | 2022-07-02 | 1 | -0/+2 |
| | | |||||
| * | gui.c: fix wrong logic on gui_coords | Xavier Del Campo Romero | 2022-07-02 | 1 | -1/+3 |
| | | | | | | | | The older logic would iterate for all parents, where each parent would again iterate for all of its parents, until no more parents found. This is however not needed, since only inspecting the closest parent will already cause the (recursive) algorithm to iterate for all parents. | ||||
