Commit Graph

199 Commits

Author SHA1 Message Date
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
rtw1x1
6d0fe59d50 Merge pull request #64 from savisxss/main 2026-01-02 14:25:06 +00: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
9f6348ad8c Merge pull request #61 from rtw1x1/main
fix: BiDi logic & broken cursor & auto-detect LTR/RTL input
2025-12-31 21:08:00 +00: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
acc83c9aab Merge pull request #60 from rtw1x1/main
fix: CheckMeshIndex bounds check to use actual mesh count
2025-12-31 10:12:44 +00:00
rtw1x1
541519d702 Merge branch 'main' of https://github.com/rtw1x1/m2dev-client-src 2025-12-31 10:10:28 +00:00
rtw1x1
846fab02dc fix: CheckMeshIndex bounds check to use actual mesh count 2025-12-31 10:10:11 +00:00
rtw1x1
b364d4a39a Merge pull request #59 from rtw1x1/main
Revert "Stop crashing on bad meshes like it's the end of the world"
2025-12-31 09:58:30 +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
7c835fb461 Merge pull request #58 from rtw1x1/main
fix: BiDi and bad meshes crash
2025-12-31 09:07:44 +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
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
rtw1x1
d82f72ed41 Merge pull request #52 from savisxss/main 2025-12-29 06:09:16 +00: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
387d7bf72d Merge pull request #51 from rtw1x1/main
fix: Better support UTF8 & Arabic
2025-12-27 18:54:17 +00: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
rtw1x1
abefd13f68 Merge pull request #50 from MindRapist/mr-4
Fixed PK mode bugs
2025-12-27 08:14:41 +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
5179261a47 Merge pull request #48 from rtw1x1/main
Full unicode support ft. RTL & BiDi
2025-12-27 07:14:55 +00:00
rtw1x1
308511bd22 Fix hyperlink tags in Arabic 2025-12-27 07:09:57 +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