Skip to content

Commit

Permalink
Add config to allow resolution change at user discretion
Browse files Browse the repository at this point in the history
- Add INIReader for config file
- Fix project settings for detour path
  • Loading branch information
izarooni committed Jun 6, 2021
1 parent 3d47c27 commit 01140fb
Show file tree
Hide file tree
Showing 11 changed files with 535 additions and 29 deletions.
24 changes: 16 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,13 +1,21 @@
# MapleEzorsia


This DLL modifies addresses in a v83 MapleStory client to change the game window and canvas resolution.\
Some in-game component boundaries are also modified to scale with the custom resolution.

This DLL modifies addresses in a v83 MapleStory client to change the game window and canvas resolution.
Some in-game component boundaries are also modified to scale with the custom resolution.
This code can only be compiled on the x86 platform.

---
### Default config.ini
The default `config.ini` file isn't included or generated but is optional.
Simply make a file called `config.ini` in your game folder (where the .dll is) and the program will try to use it.
```
[general]
width=1280
height=720
```

### How to use
In your v83 MapleStory directory,
1. Rename file `nmconew.dll` to `nmconew2.dll`
2. insert [this DLL file](https://github.com/izarooni/MapleEzorsia/releases/latest) in that directory
3. Run your client!
In your v83 MapleStory directory,
1. Rename file `nmconew.dll` to `nmconew2.dll`
2. insert [this DLL file](https://github.com/izarooni/MapleEzorsia/releases/latest) in that directory
3. Run your client!
12 changes: 0 additions & 12 deletions ezorsia.sln
Original file line number Diff line number Diff line change
Expand Up @@ -9,30 +9,18 @@ Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
MinSizeRel|x64 = MinSizeRel|x64
MinSizeRel|x86 = MinSizeRel|x86
Release|x64 = Release|x64
Release|x86 = Release|x86
RelWithDebInfo|x64 = RelWithDebInfo|x64
RelWithDebInfo|x86 = RelWithDebInfo|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{0F213461-B82B-44EB-9585-761A2EDFC945}.Debug|x64.ActiveCfg = Debug|x64
{0F213461-B82B-44EB-9585-761A2EDFC945}.Debug|x64.Build.0 = Debug|x64
{0F213461-B82B-44EB-9585-761A2EDFC945}.Debug|x86.ActiveCfg = Debug|Win32
{0F213461-B82B-44EB-9585-761A2EDFC945}.Debug|x86.Build.0 = Debug|Win32
{0F213461-B82B-44EB-9585-761A2EDFC945}.MinSizeRel|x64.ActiveCfg = Release|x64
{0F213461-B82B-44EB-9585-761A2EDFC945}.MinSizeRel|x64.Build.0 = Release|x64
{0F213461-B82B-44EB-9585-761A2EDFC945}.MinSizeRel|x86.ActiveCfg = Release|Win32
{0F213461-B82B-44EB-9585-761A2EDFC945}.MinSizeRel|x86.Build.0 = Release|Win32
{0F213461-B82B-44EB-9585-761A2EDFC945}.Release|x64.ActiveCfg = Release|x64
{0F213461-B82B-44EB-9585-761A2EDFC945}.Release|x64.Build.0 = Release|x64
{0F213461-B82B-44EB-9585-761A2EDFC945}.Release|x86.ActiveCfg = Release|Win32
{0F213461-B82B-44EB-9585-761A2EDFC945}.Release|x86.Build.0 = Release|Win32
{0F213461-B82B-44EB-9585-761A2EDFC945}.RelWithDebInfo|x64.ActiveCfg = Release|x64
{0F213461-B82B-44EB-9585-761A2EDFC945}.RelWithDebInfo|x64.Build.0 = Release|x64
{0F213461-B82B-44EB-9585-761A2EDFC945}.RelWithDebInfo|x86.ActiveCfg = Release|Win32
{0F213461-B82B-44EB-9585-761A2EDFC945}.RelWithDebInfo|x86.Build.0 = Release|Win32
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
Expand Down
6 changes: 5 additions & 1 deletion ezorsia/Client.cpp
Original file line number Diff line number Diff line change
@@ -1,7 +1,9 @@
#include "stdafx.h"
#include "AddyLocations.h"

const int nStatusBarY = Client::m_nGameHeight - 578;
int Client::m_nGameHeight = 768;
int Client::m_nGameWidth = 1024;
int nStatusBarY = Client::m_nGameHeight - 578;

__declspec(naked) void AdjustStatusBar() {
__asm {
Expand Down Expand Up @@ -68,6 +70,8 @@ void Client::EnableNewIGCipher() {
}

void Client::UpdateResolution() {
nStatusBarY = Client::m_nGameHeight - 578;

Memory::CodeCave(AdjustStatusBar, dwStatusBarVPos, 5);
Memory::CodeCave(AdjustStatusBarBG, dwStatusBarBackgroundVPos, 5);
Memory::CodeCave(AdjustStatusBarInput, dwStatusBarInputVPos, 9);
Expand Down
4 changes: 2 additions & 2 deletions ezorsia/Client.h
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,6 @@ class Client
static void UpdateResolution();
static void UpdateLogin();
static const int m_nIGCipherHash = 0XC65053F2;
static const int m_nGameHeight = 768;
static const int m_nGameWidth = 1024;
static int m_nGameHeight;
static int m_nGameWidth;
};
Loading

0 comments on commit 01140fb

Please sign in to comment.