Commit Graph

64 Commits

Author SHA1 Message Date
savis
d5624a8cdd Add parallel race/motion loading and thread-safe Pack/Pool managers 2026-01-04 17:27:32 +01:00
rtw1x1
3d8a8f8e3b Merge pull request #65 from savisxss/main
A bit late, but Happy New Year!
2026-01-04 09:29:02 +00:00
savis
6984fef736 Integrate async loading infrastructure
- Initialize FileLoaderThreadPool and TextureCache
- Route file requests through thread pool
- Handle pre-decoded images from worker threads
- Reduce loading delay from 20ms to 1ms
- 512MB texture cache (up from 256MB)
2026-01-03 20:38:02 +01:00
savis
f702b4953d Add support for pre-decoded image loading
- OnLoadFromDecodedData method for async decoded images
- Bypasses redundant decoding when data comes from worker thread
- Integrates with FileLoaderThreadPool pipeline
2026-01-03 20:37:52 +01:00
savis
3f0f3c792d Add SIMD-optimized texture color conversion
- SSE2/SSSE3 RGBA to BGRA conversion (10x faster)
- Processes 4 pixels per iteration
- Automatic fallback for non-x86 platforms
- Applied to both STB and decoded image paths
2026-01-03 20:37:41 +01:00
savis
0958ea6214 Add multi-threaded file loader pool
- 4-16 worker threads based on CPU core count
- Auto-detects and decodes images on worker threads
- SPSC queues: 16K request, 32K completion
- Atomic task counter for fast idle checks
- Smart idle handling with yield and minimal sleep
2026-01-03 20:37:22 +01:00
savis
049eca38a4 Add LRU texture cache
- 512MB default cache size for decoded textures
- Thread-safe LRU eviction policy
- Tracks hit/miss statistics
- Prevents re-decoding frequently used textures
2026-01-03 20:37:08 +01:00
savis
fd1218bd4e Add worker-thread image decoder
- Decodes DDS, PNG, JPG, TGA, BMP formats
- Thread-safe for use in worker threads
- Uses stb_image for common formats
- Custom DDS header parsing
2026-01-03 20:36:37 +01:00
savis
c6aa6b4149 Add decoded image data structure
- Stores decoded pixel data ready for GPU upload
- Supports RGBA8, RGB8, and DDS formats
- Separates CPU decoding from GPU upload phases
2026-01-03 20:35:45 +01:00
savis
7fb832ad6b Add buffer pool for I/O operations
- Reuses vector<uint8_t> buffers to reduce allocations
- Thread-safe with mutex protection
- Max 64 buffers, 64MB buffer size limit
- Tracks allocation statistics and pooled memory
2026-01-03 20:35:06 +01:00
savis
33ac4b69f4 Add lock-free SPSC queue implementation
- Single producer/single consumer bounded queue
- Cache-line aligned atomics to prevent false sharing
- Used for async file loading communication
2026-01-03 20:34:47 +01:00
Mind Rapist
efbdf9155e Minor fixes & corrections 2026-01-02 06:33:57 +02:00
rtw1x1
85763c9f81 fix: Auto-detect LTR / RTL in input 2025-12-31 20:56:02 +00:00
rtw1x1
73958b4f62 fix: Broken cursor and tag logic from BiDi 2025-12-31 20:23:40 +00:00
rtw1x1
e7a113885a fix: Better BiDi logic for formatting 2025-12-30 22:20:04 +00:00
savis
fff15def3c Fix PONG sequence sent as separate packet causing mismatch 2025-12-28 17:17:47 +01:00
rtw1x1
308511bd22 Fix hyperlink tags in Arabic 2025-12-27 07:09:57 +00:00
rtw1x1
a955c50744 Full Unicode patch with RTL Support & BiDi logic.
This commit is well documented, so no need to tell you my life story.

Full Unicode patch with RTL Support & BiDi logic.

Removed the legacy codePage, normalised to UTF8 (65001).

It also comes with:

CTRL + A : select text (highlighted)
CTRL + C : copy
CTRL + V : paste
CTRL + X : cut
CTRL + Y : redo
CTRL + Z : undo
2025-12-26 12:32:43 +00:00
rtw1x1
d37607baa1 Merge pull request #45 from savisxss/opti2 2025-12-26 07:05:06 +00:00
savis
9907febf28 enable async loading, optimize rendering and distance checks 2025-12-26 06:21:13 +01:00
savis
25601d4b28 Enable TCP_NODELAY to reduce network latency 2025-12-26 04:55:23 +01:00
savis
b25de40e07 Add missing intrin.h include for __cpuid 2025-12-25 20:37:02 +01:00
Mind Rapist
ef7c946cfb MR-3: Bunch of fixes 2025-12-25 08:39:58 +02:00
Mind Rapist
b344e5505e MR-2: Macro leftovers removed 2025-12-20 15:55:39 +02:00
Mind Rapist
7b08687023 MRMJ-1: Messenger & Skills fixes 2025-12-14 05:12:39 +02:00
heroesf
133ac6fc41 removed cpostit, unused files, small fix warning 2025-09-25 12:45:14 +02:00
d1str4ught
c0ea439b6d Merge pull request #21 from ThorsDev/features/scissor-rect
Added scissor rect for UI
2025-09-24 03:01:04 +02:00
ThorsDev
c5feaaf2d9 scissor rect 2025-09-22 17:48:21 +02:00
mq1n
255212e906 fix MSAA and backbuffer format handling in device creation 2025-09-22 17:59:54 +03:00
mq1n
51ee5feb78 fixed some crashes 2025-09-22 11:25:58 +03:00
d1str4ught
bdcb68619a guild mark uploading fixed 2025-09-22 02:44:22 +02:00
d1str4ught
5b1d3c6bce new pack system 2025-09-21 05:28:55 +02:00
mq1n
fb7e53b909 migrate to DirectX 9Ex from DirectX 9 2025-09-19 16:12:33 +03:00
mq1n
eaecf67d33 fix cipher desync issue
update the handshake phase to call the new method after activating the cipher, ensuring buffered data (likely from a second login attempt, GC_PHASE) is properly decrypted, and fix a logging format issue.
2025-09-07 20:24:38 +03:00
mq1n
b3aba3d280 enabled detailed packet logs for easier debugging 2025-09-02 19:40:05 +03:00
d1str4ught
85920e442d item_set and item_del packets normalized to server 2025-08-28 22:41:41 +02:00
d1str4ught
f791ab6d8c world editor defines removed 2025-08-28 21:03:15 +02:00
d1str4ught
a418f8616d include paths normalized 2025-08-28 20:50:20 +02:00
d1str4ught
3c8a5750f5 openid removed 2025-08-28 20:13:47 +02:00
d1str4ught
b9783bec79 Merge pull request #6 from mq1n/mem-leak-fix
fix some memory leaks
2025-08-28 18:41:51 +02:00
mq1n
e5bd21ff75 fix some memory leaks 2025-08-27 23:37:19 +03:00
mq1n
e4a321698e fix camera glitch issue 2025-08-27 23:30:28 +03:00
d1str4ught
eedc2a0748 sequence table removed -> deterministic random for sequence generation
to change the seed search for SEQUENCE_SEED
2025-08-27 16:56:22 +02:00
d1str4ught
685cc02fc7 image loading reworked 2025-08-27 16:23:19 +02:00
d1str4ught
67cabc3c89 removed all defines which are defined in the CMakeLists.txt 2025-08-27 12:48:33 +02:00
d1str4ught
f6ac84f91f Merge pull request #1 from mq1n/main
Fix some build problems
2025-08-27 12:39:28 +02:00
d1str4ught
fb7eba799e new mesh deformer using SSE2 instructions 2025-08-26 04:40:28 +02:00
d1str4ught
27c683a36b StateManager save functions reworked to work like a stack 2025-08-26 02:33:21 +02:00
d1str4ught
24b1ca495b pool FreeAll and Destroy fixed
there could have been memory leaks and undefined behaviors if the objects destructors were not called and the object it pooled contained objects that are constructed (like std::string)
2025-08-23 19:48:15 +02:00
mq1n
3090b79139 Fix WIN32_LEAN_AND_MEAN warning spam
Added a check before defining WIN32_LEAN_AND_MEAN to prevent redefinition warnings or errors
2025-08-23 09:29:38 +03:00