Skip to content

feat: version 14#1173

Closed
murilo09 wants to merge 21 commits intomainfrom
dudantas/version-1405
Closed

feat: version 14#1173
murilo09 wants to merge 21 commits intomainfrom
dudantas/version-1405

Conversation

@murilo09
Copy link
Copy Markdown
Contributor

@murilo09 murilo09 commented May 26, 2025

Description

Support to version 14+

  • Missing UI/Module from 14.12 charms window

Type of change

  • Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist

  • My code follows the style guidelines of this project
  • I have performed a self-review of my own code
  • I checked the PR checks reports
  • I have commented my code, particularly in hard-to-understand areas
  • I have made corresponding changes to the documentation
  • My changes generate no new warnings
  • I have added tests that prove my fix is effective or that my feature works

Co-Authored-By: Eduardo Dantas eduardo.dantas@hotmail.com.br


--[[

Servers_init = {
Copy link
Copy Markdown
Contributor

@kokekanon kokekanon May 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This table Servers_init must be deactivated before being merged into the main repo

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This table Servers_init must be deactivated before being merged into the main repo

Yes, we will revert when everything is ok, this makes it easier to test.

#include "inputmessage.h"
#include "outputmessage.h"
#include "framework/core/graphicalapplication.h"
#include "client/game.h"
Copy link
Copy Markdown
Contributor

@kokekanon kokekanon May 26, 2025

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think
This implementation could be achieved without including #include "client/game.h".

A new enum GameFeature should be created in const.h, and also defined in gamelib/const.lua. To activate it, it must be enabled in game_feature and then activated in gamelib/protocollogin.lua

example:
m_xteaEncryptionEnabled , m_checksumEnabled , m_sequencedPackets change the boolean from lua
https://github.com/mehah/otclient/blob/085a7876ba8164cb8eb08385812b12ceeec007aa/modules/gamelib/protocollogin.lua#L135-L148

in order to be able to login in protocol 11.00 in canary 14.xx

@kokekanon
Copy link
Copy Markdown
Contributor

kokekanon commented May 26, 2025

if anyone has fmt error

1> vc17\vcpkg_installed\x64-windows-static\include\fmt\base.h(458,28): error C2338: static_assert failed: 'Unicode support requires compiling with /utf-8'
1>(compiling source file 'otclient/x64/OpenGL/unity_QAHRA73EM9MJH98D.cpp')

add https://github.com/mehah/otclient/blob/main/vc17/otclient.vcxproj#L261-L262

 <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>

in vc17otclient.vcxproj


me test:

test note
8.6
13.40
14.05 canary main repo
14.12 canary pr + otcr pr # 1171
15.00 public server + otcr pr # 1172

dudantas added 5 commits May 27, 2025 14:34
…version

This commit removes the hardcoded MAX_HEADER_SIZE constant from OutputMessage
and replaces it with a dynamically initialized m_maxHeaderSize based on the
client version (7 for >= 1405, otherwise 8), similar to InputMessage.

All references to MAX_HEADER_SIZE have been removed, and buffer positions
(m_writePos, m_headerPos) are now initialized based on m_maxHeaderSize.

This ensures consistency and future-proofing for different protocol versions
that require varying header sizes.
@dudantas
Copy link
Copy Markdown
Member

dudantas commented Jun 8, 2025

if anyone has fmt error

1> vc17\vcpkg_installed\x64-windows-static\include\fmt\base.h(458,28): error C2338: static_assert failed: 'Unicode support requires compiling with /utf-8'
1>(compiling source file 'otclient/x64/OpenGL/unity_QAHRA73EM9MJH98D.cpp')

add https://github.com/mehah/otclient/blob/main/vc17/otclient.vcxproj#L261-L262

 <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>

in vc17otclient.vcxproj

me test:

test note
8.6 ❌
13.40 ❌
14.05 canary main repo ✅
14.12 canary pr ✅ + otcr pr # 1171
15.00 public server ✅ + otcr pr # 1172

13.14 was already broken before, from what I saw, I'll try to fix it

About the build solution, I always use cmake, even in visual studio, so I hadn't noticed that it broke the solution, I have an open pr to add a workflow in gha to build windows with solution, thus avoiding future problems like this. Thanks

@dudantas dudantas marked this pull request as ready for review June 10, 2025 17:58
Copy link
Copy Markdown
Contributor

@javiertringol javiertringol left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

What's missing for this to be approved? It's been 37 days since Canary approved 14.05
and 2 weeks since 14.12

What's missing? How can the community help?

@sonarqubecloud
Copy link
Copy Markdown

@kokekanon kokekanon linked an issue Jun 24, 2025 that may be closed by this pull request
5 tasks
@KerlesPech KerlesPech mentioned this pull request Jul 4, 2025
5 tasks
Copy link
Copy Markdown
Contributor

@vllsystems vllsystems left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm using this since 13/06 and no crashs, no kicks, no breaks.

Sounds good to me.

@HopeItBuilds

This comment has been minimized.

Copy link
Copy Markdown

@bateunatrave bateunatrave left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

tested for a long time without problems.

@dudantas
Copy link
Copy Markdown
Member

What's missing for this to be approved? It's been 37 days since Canary approved 14.05 and 2 weeks since 14.12

What's missing? How can the community help?

The 14.12 charms window (which has been completely changed) needs to be tested and fixed.

From the comments here, it's clear that it wasn't properly tested. If it had been tested, you would have seen that the charms window doesn't work. If anyone has UI/module knowledge, they can do this so we can merge it.

@javiertringol
Copy link
Copy Markdown
Contributor

I'm happy just being able to login.

Also, many times we have to use the cipsoft client — like with the Wheel or Forge — and then go back to the OTC client. I guess it'll be the same with Charms.

@kokekanon
Copy link
Copy Markdown
Contributor

kokekanon commented Jul 28, 2025

I've had it done for a while in PR #1171. I made sure not to break backward compatibility.

i create two UI (.otui)

image

< 1340
image
> 14.10

image

At that time, I was just missing information on where to get the charm data from version 14.00, since it's not retrieved from the proto or server.
I'll try to finish it today.

@FelipePaluco
Copy link
Copy Markdown

FelipePaluco commented Jul 28, 2025

@kokekanon if you want, here is a example of the latest image from Cipsoft.

And yes, those informations like description do not come from proto or server (they're hardcoded on client-side, like the magical archive is). If you need more support regarding the image extraction, tell me. I can help you.

image

@kokekanon
Copy link
Copy Markdown
Contributor

kokekanon commented Jul 28, 2025

@kokekanon if you want, here is a example of the latest image from Cipsoft.

i don't use canary, quick test works

image

I have to check if I broke something in 13.40
image


I don't like modifying PRs that aren't mine, especially if I don't have the author's permission.

I'll reopen my PR, take the 14.00 header fix, and merge it with the features and packets I already have there.
That way, it's more likely to get approved quickly for compatibility with the main Canary repo (14.12)

@FelipePaluco
Copy link
Copy Markdown

FelipePaluco commented Jul 28, 2025

@kokekanon looks great! If you want, commit in the same branch. Then we can adjust anything if necessary.

@lmiguelm24
Copy link
Copy Markdown

Si alguien tiene fmt error

1> vc17\vcpkg_installed\x64-windows-static\include\fmt\base.h(458,28): error C2338: static_assert failed: 'Unicode support requires compiling with /utf-8'
1>(compiling source file 'otclient/x64/OpenGL/unity_QAHRA73EM9MJH98D.cpp')

agregue https://github.com/mehah/otclient/blob/main/vc17/otclient.vcxproj#L261-L262

 <AdditionalOptions>/utf-8 %(AdditionalOptions)</AdditionalOptions>

en vc17otclient.vcxproj

mi prueba:

prueba nota
8.6 ❌
13.40 ❌
Repositorio principal de Canary 14.05 ✅
14.12 pr canario ✅ + otro pr # 1171
15.00 servidor público ✅ + otro pr # 1172

With these exchange rates does it work out at 15.00?

@luanluciano93
Copy link
Copy Markdown
Contributor

this PR is being closed for PR merge #1171 1171

@mehah mehah deleted the dudantas/version-1405 branch November 24, 2025 00:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Compatibility with 14.xx