Commit graph

1225 commits

Author SHA1 Message Date
Edoardo Lolletti
034f2a496c implement signature checking for core shared libraries 2026-08-20 16:36:19 +02:00
Edoardo Lolletti
b491f9a233 remove "coreJustLoaded" and simplify LoadCore logic
Same reasoning as "coreloaded", it serves no purpose anymore
2026-08-20 14:02:25 +02:00
Edoardo Lolletti
476a205b3c show the actual core version retrieved from the library 2026-08-20 13:49:31 +02:00
Edoardo Lolletti
14309283a7 remove "coreloaded" global variable
Serves no purpose anymore
2026-08-20 13:37:28 +02:00
Edoardo Lolletti
85e4888622 Add Core::LoadBundled method 2026-08-20 12:19:43 +02:00
Edoardo Lolletti
94a01db16f make free functions taking irr::IrrlichtDevice* take it by raw pointer 2026-08-20 00:22:17 +02:00
Edoardo Lolletti
90631e2aa5 always link statically the core even with ygoprodll target
It'll be used as fallback in case no core is dynamically loaded, thus bringing the ygoprodll target on par with the default one, with only extra features available (loading dynamically)
2026-08-13 00:28:37 +02:00
Edoardo Lolletti
f07528beca Restucture way duel object is handled
Implement a stateful Duel object wrapping the udnerlying core api automatically managing its lifetime and simplifying calling the various OCG_ functions
2026-08-12 23:49:32 +02:00
Edoardo Lolletti
985ee1ef72 rework the way the core dll is handled
add a Core class that actually wraps the shared library with proper RAII management and no longer use global function pointers
2026-08-12 21:43:41 +02:00
Edoardo Lolletti
2630e1f0ef use more enums for deck edit filter combo boxes 2026-08-12 14:17:49 +02:00
Edoardo Lolletti
c42f90d5f4 Add deck sorting by passcode 2026-08-12 12:59:49 +02:00
Edoardo Lolletti
2f4efe3823 fix irrlicht 1.8 compilation 2026-08-05 23:10:43 +02:00
Edoardo Lolletti
6130f7643e Don't enable/disable 2d material during drawing
Was there who knows why, but 2d textures are now properly handled up to spec for gles and fixes bg not rendering on ios
2026-04-19 11:51:50 +02:00
Edoardo Lolletti
9e52d5beb4 Properly handle npot2 textures under gles
Those textures are usable only if the texture is rendered with clamp to edge, add that property to the global 2d material and enable it for the other materials whenever the driver is gles1/2 rather than when there's no npot support
2026-04-19 01:16:03 +02:00
Edoardo Lolletti
bc4bec6aed update copyright years in binary 2026-03-28 19:21:24 +01:00
Edoardo Lolletti
31c4b55aae Fix texture corruption happening when switching skins with custom backgrounds
The background textures were being copied without incrementing their ref counts, leading to memory corruption and possible crashes, avoid this issue by not copying them and explicitly checking for them to be null when drawing
2025-10-26 17:45:45 +01:00
Edoardo Lolletti
f06047f210 Don't use hardcoded replay path 2025-09-26 10:50:20 +02:00
Edoardo Lolletti
7070087088 Don't use hardcoded deck path throughout the program 2025-09-26 10:50:20 +02:00
Edoardo Lolletti
358f2df149 Add menu option to select the audio backend if multiple are compiled in 2025-04-26 16:01:08 +02:00
Edoardo Lolletti
990fa122a6 Don't log full path for core loaded from pwd 2025-04-21 11:25:36 +02:00
Edoardo Lolletti
aa50bce75f Update credits 2025-04-13 14:40:44 +02:00
Edoardo Lolletti
ecf03680d8 Show illegal and prerelease filters with whitelist 2025-04-12 18:57:51 +02:00
Edoardo Lolletti
02b8bcb8c1 Update core to 11.0 2025-04-06 21:40:29 +02:00
gallantron
7821a1d7b2
Add a checkbox to automatically choose RPS (randomly) (#278)
This adds the option in the "Duel" settings menu to randomly choose RPS when starting a duel

---------

Co-authored-by: Edoardo Lolletti <edoardo762@gmail.com>
2025-03-30 20:03:04 +02:00
Edoardo Lolletti
f638489aa6 Use fallthrough attribute 2025-03-11 18:24:46 +01:00
Edoardo Lolletti
2b0427ebb8 Update license year 2025-01-19 17:47:07 +01:00
Julian Hackinger
4bb39699b4
Feature: Card names in deck files (#282)
Add card names into deck files, toggleable via a setting. Card names are put as comment with # above the code line

closes #282 
---------

Co-authored-by: Julian <Julian@DESKTOP-H7KSEM0.local>
2024-12-21 21:41:54 +01:00
Edoardo Lolletti
8e3e8c8341 Handle irrlicht device destruction via shared pointer in DataHandler
Slightly cleaner code and fixes an issue when using sdl mixer audio backend and sdl device in irrlicht, where irrlicht's device was being terminated before the audio backend, thus calling SDL_Quit before the audio backend could do its cleanup
2024-12-03 21:25:07 +01:00
Edoardo Lolletti
7b36b8484a Don't include fmt.h in text_types.h 2024-09-06 14:56:15 +02:00
Edoardo Lolletti
42e897aae6 Put the rest of the fmt formatting options in the epro namespace 2024-09-06 10:42:35 +02:00
Edoardo Lolletti
92d8471e6e Remove nonstd::string_view
Use stl's
2024-09-01 01:52:27 +02:00
Edoardo Lolletti
ed0c5258a4 Load files from repositories immediately if running with "read only" repos 2024-06-22 13:23:34 +02:00
Edoardo Lolletti
158f9da6f9 Don't call delete on nullptr when changing ocgcore
Technically it's defined behaviour as long as the allocator used is the standard's (in which case nothing is done), but better be safe than sorry.
2024-06-22 12:23:06 +02:00
Edoardo Lolletti
b34a5b15de Support "local folders" as "git repos"
Add new repo option "not_git_repo", if present and set to true, the target path will not be treated as a git repo, but rather as a folder to only read things from, in that case, the "url" parameter becomes optional
2024-06-13 11:50:14 +02:00
Edoardo Lolletti
0709e238be Cleanup fmt includes 2024-05-18 12:04:56 +02:00
Edoardo Lolletti
514115c861 Fix elements not refreshed on ui reload 2024-02-16 21:05:06 +01:00
Edoardo Lolletti
c921560edf Use the new driver enum value only where available 2023-12-11 20:16:58 +01:00
Edoardo Lolletti
49f6216625 Add support to use the Direct3D 9on12 driver 2023-12-11 20:05:09 +01:00
Edoardo Lolletti
0ec6d26c92 Update declaration of overridden member functions
Cleaned up the classes inheriting virtual classes by using override where needed and marking most of them as final.
Also update usave of position2d to vector2d
2023-08-21 11:53:59 +02:00
Edoardo Lolletti
4a0066923c Fix wrong default string 2023-08-10 10:34:56 +02:00
Edoardo Lolletti
7650450cbf Load init.lua script from repositories on duel startup
This would allow to easily ser up costants and global functions for custom cards requiring them without having to manually call loadscript on every card needing them
2023-07-30 12:34:51 +02:00
Edoardo Lolletti
c7c27a2619 Check that the servers pointed by discord invites are known
If not, explicitly warn the user
2023-07-29 11:28:53 +02:00
Edoardo Lolletti
46d87149e9 Support loading scripts with an utf8 BOM 2023-07-25 11:42:18 +02:00
Edoardo Lolletti
b15f02a9c6 Disable vsync on mac os
It's too unreliable, "emulate" it by hardcoding to 60 fps if enabled in the config
2023-07-09 20:18:23 +02:00
Edoardo Lolletti
f6ed5f618f Minor update to non power of 2 textures handling 2023-06-11 14:16:28 +02:00
Edoardo Lolletti
28ac1665fe Fix compilation with mingw and address some warnings 2023-06-04 17:56:34 +02:00
Edoardo Lolletti
1108eab5e7 Account for the removal of adl lookup in fmt 10
Fmt 10 completely removed the adl lookup that was being used to handle custom string types, work around by manually "converting" those string beforehand via templates
2023-05-18 22:35:28 +02:00
Edoardo Lolletti
effb9630b7 Missing +1 from 360098c75f 2023-04-25 13:20:42 +02:00
Edoardo Lolletti
360098c75f Fix deck edit searching for warrior monsters if no race filter was selected 2023-04-24 15:16:29 +02:00
Edoardo Lolletti
a8c5f426a9 Allow "discovering" new races if their string is present
Used only for the deck edit dropdown for the monster race selection, this will allow to update the pool by only adding the needed string
2023-04-23 19:59:54 +02:00