Commit Graph

168 Commits

Author SHA1 Message Date
savis
074a05bb9b Optimize terrain 2026-01-04 19:44:59 +01:00
rtw1x1
b4171084c3 Merge pull request #68 from savisxss/main
Add parallel race/motion loading and thread-safe Pack/Pool managers
2026-01-04 16:30:19 +00:00
savis
d5624a8cdd Add parallel race/motion loading and thread-safe Pack/Pool managers 2026-01-04 17:27:32 +01:00
rtw1x1
9b57cd1414 Merge branch 'main' into fix/client-freeze-on-drag 2026-01-04 11:10:28 +00:00
savis
2550008f6d eliminate freeze when encountering players by preloading race motions 2026-01-04 10:41:48 +01:00
rtw1x1
4c21fe697c Merge pull request #66 from rfdomingues98/feat/add-bravery-cape-effect
Added new effect for Bravery Cape
2026-01-04 09:29:14 +00: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
rtw1x1
3b359393d1 Merge pull request #63 from MindRapist/mr-7
MR-7
2026-01-04 09:28:48 +00:00
Ricardo Domingues
117f1234b5 Added new effect for Bravery Cape 2026-01-03 20:47:56 +00:00
savis
6fcf2c58e2 Parallelize pack file initialization
- Load pack files across multiple threads
- Scales to CPU core count
- Load root.pck first, then parallelize remaining packs
- Track and report failed pack loads
2026-01-03 20:38:21 +01:00
savis
de0b8052fe Batch terrain texture loading
- Pre-request all textures for async loading
- Reduces sequential blocking during terrain load
2026-01-03 20:38:10 +01: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
e55fc4db17 Optimize pack file loading
- Add thread-local ZSTD decompression context reuse
- Integrate BufferPool for temporary buffers
- PackManager auto-uses BufferPool for all GetFile calls
- Thread-safe pack loading with mutex
2026-01-03 20:37:32 +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
savis
5fce64f978 Fix minimap radius calculations and atlas waypoint positioning 2026-01-02 06:56:12 +01:00
savis
2372599578 Fix quest marker alignment on minimap 2026-01-02 06:28:49 +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
846fab02dc fix: CheckMeshIndex bounds check to use actual mesh count 2025-12-31 10:10:11 +00:00
rtw1x1
999a0929a6 Revert "Stop crashing on bad meshes like it's the end of the world"
This reverts commit b201fd6dd6.
2025-12-31 09:58:06 +00:00
rtw1x1
fb4ba5960e Merge pull request #56 from MindRapist/mr-6
PK Mode fix
2025-12-31 09:09:56 +00:00
rtw1x1
b201fd6dd6 Stop crashing on bad meshes like it's the end of the world
Pushing this on behalf of savis
2025-12-31 09:05:58 +00:00
Mind Rapist
54a5dde037 PK Mode fix 2025-12-31 04:14:02 +02:00
rtw1x1
e7a113885a fix: Better BiDi logic for formatting 2025-12-30 22:20:04 +00:00
Ricardo Domingues
e881517775 Merge branch 'main' into fix/client-freeze-on-drag 2025-12-30 17:51:50 +00:00
Ricardo Domingues
96876420d1 Increased horse rotation speed 2025-12-30 17:37:42 +00:00
rtw1x1
18073e7193 Merge pull request #53 from MindRapist/mr-5
MR-5: FlyTarget fixes
2025-12-29 16:47:27 +00:00
Mind Rapist
08228b1ff9 MR-5: FlyTarget fixes 2025-12-29 18:37:39 +02:00
Mind Rapist
55b2d70459 MR-5: FlyTarget fixes 2025-12-29 00:21:32 +02:00
savis
fff15def3c Fix PONG sequence sent as separate packet causing mismatch 2025-12-28 17:17:47 +01:00
rtw1x1
a4112cd128 fix: Better support UTF8 & Arabic 2025-12-27 18:50:42 +00:00
rtw1x1
67bda2c286 Merge pull request #49 from savisxss/Garvage
perf: optimize terrain garbage collector with early exit
2025-12-27 08:14:54 +00:00
Mind Rapist
2422af51a8 Fixed PK mode bugs 2025-12-27 10:12:27 +02:00
savis
977e273764 perf: optimize terrain garbage collector with early exit 2025-12-27 08:31:54 +01:00
rtw1x1
308511bd22 Fix hyperlink tags in Arabic 2025-12-27 07:09:57 +00:00
Ricardo Domingues
2a8d881ef3 Added Amun fix for window freeze on drag 2025-12-26 19:13:40 +00:00
rtw1x1
d3017b0ab0 Macro removal 2025-12-26 16:09:30 +00:00
rtw1x1
5d73d79eb8 Full unicode hotfix Debug mode 2025-12-26 16:02:34 +00:00
rtw1x1
4729dafc12 Full Unicode patch with RTL Support & BiDi logic #3 2025-12-26 14:53:52 +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
rtw1x1
b56f55ce7c Merge pull request #43 from savisxss/socket 2025-12-26 07:04:52 +00:00