Skip to content

Commit

Permalink
Making it identical to what I have
Browse files Browse the repository at this point in the history
So it should work on the newest league version
  • Loading branch information
Ben committed Jul 17, 2014
1 parent f022c2d commit 8cef985
Show file tree
Hide file tree
Showing 34 changed files with 1,236 additions and 209 deletions.
136 changes: 136 additions & 0 deletions CONNECT TO LAN.bat
@@ -0,0 +1,136 @@
@echo off
setlocal enabledelayedexpansion
echo -----------------------
echo IntWars Solo Launcher
echo -----------------------
set RADS_PATH=
echo ===================
echo Finding other LoL directory path..
echo ===================
FOR /f "usebackq skip=2 tokens=3,4,5,6,7,8,9" %%i in (`%systemroot%\system32\REG.EXE QUERY "HKCU\SOFTWARE\RIOT GAMES\RADS" /v "LOCALROOTFOLDER"`) DO (
SET RADS_PATH=%%i %%j %%k %%l %%m %%n %%o
goto runApp
)
cls
echo ===================
echo Finding other LoL directory path..
echo ===================
FOR /f "usebackq skip=2 tokens=3,4,5,6,7,8,9" %%i in (`%systemroot%\system32\REG.EXE QUERY "HKCU\SOFTWARE\Classes\VirtualStore\MACHINE\SOFTWARE\Wow6432Node\RIOT GAMES\RADS" /v "LOCALROOTFOLDER"`) DO (
SET RADS_PATH=%%i %%j %%k %%l %%m %%n %%o
goto runApp
)
cls
echo ===================
echo Finding other LoL directory path..
echo ===================
FOR /f "usebackq skip=2 tokens=3,4,5,6,7,8,9" %%i in (`%systemroot%\system32\REG.EXE QUERY "HKCU\SOFTWARE\Classes\VirtualStore\MACHINE\SOFTWARE\RIOT GAMES\RADS" /v "LOCALROOTFOLDER"`) DO (
SET RADS_PATH=%%i %%j %%k %%l %%m %%n %%o
goto runApp
)
cls
echo ===================
echo Finding other LoL directory path..
echo ===================
FOR /f "usebackq skip=2 tokens=3,4,5,6,7,8,9" %%i in (`%systemroot%\system32\REG.EXE QUERY "HKLM\Software\Wow6432Node\Riot Games\RADS" /v "LOCALROOTFOLDER"`) DO (
SET RADS_PATH=%%i %%j %%k %%l %%m %%n %%o
goto runApp
)
cls
echo ===================
echo Finding other LoL directory path..
echo ===================
FOR /f "usebackq skip=2 tokens=3,4,5,6,7,8,9" %%i in (`%systemroot%\system32\REG.EXE QUERY "HKLM\Software\Wow6432Node\Riot Games\RADS" /v "LOCALROOTFOLDER"`) DO (
SET RADS_PATH=%%i %%j %%k %%l %%m %%n %%o
goto runApp
)
cls
echo ===================
echo Finding other LoL directory path..
echo ===================
FOR /f "usebackq skip=2 tokens=3,4,5,6,7,8,9" %%i in (`%systemroot%\system32\REG.EXE QUERY "HKCU\SOFTWARE\RIOT GAMES\RADS" /v "LOCALROOTFOLDER"`) DO (
SET RADS_PATH=%%i %%j %%k %%l %%m %%n %%o
goto runApp
)
cls
echo ===================
echo Finding other LoL directory path..
echo ===================
FOR /f "usebackq skip=2 tokens=3,4,5,6,7,8,9" %%i in (`%systemroot%\system32\REG.EXE QUERY "HKLM\SOFTWARE\RIOT GAMES\RADS" /v "LOCALROOTFOLDER"`) DO (
SET RADS_PATH=%%i %%j %%k %%l %%m %%n %%o
goto runApp
)
cls
echo ===================
echo Finding other LoL directory path..
echo ===================
for /f "Tokens=3,4,5,6,7,8,9,10,11,12,13,14,15" %%a in ('%systemroot%\system32\REG.EXE Query HKLM\Software /V /F "LocalRootFolder" /S /E ^| %systemroot%\system32\find.exe "RADS"') do (
set RADS_PATH=%%a %%b %%c %%d %%e %%f %%g %%h %%i %%j %%k %%l %%m
goto runApp
)
cls
echo ===================
echo Finding another LoL directory path..
echo ===================
for /f "Tokens=3,4,5,6,7,8,9,10,11,12,13,14,15" %%a in ('%systemroot%\system32\REG.EXE Query HKLM\Software /s ^| %systemroot%\system32\find.exe "LocalRootFolder" ^| %systemroot%\system32\find.exe "RADS"') do (
set RADS_PATH=%%a %%b %%c %%d %%e %%f %%g %%h %%i %%j %%k %%l %%m
goto runApp
)
cls
echo ===================
echo Finding another LoL directory path..
echo ===================
for /f "Tokens=3,4,5,6,7,8,9,10,11,12,13,14,15" %%a in ('%systemroot%\system32\REG.EXE Query HKCU\Software /V /F "LocalRootFolder" /S /E ^| %systemroot%\system32\find.exe "RADS"') do (
set RADS_PATH=%%a %%b %%c %%d %%e %%f %%g %%h %%i %%j %%k %%l %%m
goto runApp
)
cls
echo ===================
echo Finding another LoL directory path again..
echo ===================
for /f "Tokens=3,4,5,6,7,8,9,10,11,12,13,14,15" %%a in ('%systemroot%\system32\REG.EXE Query HKCU\Software /s ^| %systemroot%\system32\find.exe "LocalRootFolder" ^| %systemroot%\system32\find.exe "RADS"') do (
set RADS_PATH=%%a %%b %%c %%d %%e %%f %%g %%h %%i %%j %%k %%l %%m
goto runApp
)
cls
goto cannotFind
:runApp
set RADS_PATH=%RADS_PATH:/=\%
@cd /d "%RADS_PATH%\solutions\lol_game_client_sln\releases"

set init=0
set v0=0&set v1=0&set v2=0&set v3=0
for /f "delims=" %%F in ('dir * /b ^| findstr ^[0-9]*\.[0-9]*\.[0-9]*\.[0-9]*$') do (
for /F "tokens=1,2,3,4 delims=." %%i in ("%%F") do (
if !init! equ 0 ( set init=1&set flag=1 ) else (
set flag=0

if %%i gtr !v0! ( set flag=1 ) else (
if %%j gtr !v1! ( set flag=1 ) else (
if %%k gtr !v2! ( set flag=1 ) else (
if %%l gtr !v3! ( set flag=1 )
)
)
)
)

if !flag! gtr 0 (
set v0=%%i&set v1=%%j&set v2=%%k&set v3=%%l
)
)
)

if !init! equ 0 goto cannotFind
set lolver=!v0!.!v1!.!v2!.!v3!

@cd /d "!RADS_PATH!\solutions\lol_game_client_sln\releases\!lolver!\deploy"
if exist "League of Legends.exe" (
@start "" "League of Legends.exe" "8394" "LoLLauncher.exe" "" "127.0.0.1 5119 17BLOhi6KZsTtldTsizvHg== 47917791"
goto exit
)
:cannotFind
echo ===================
echo Cannot find LoL path automatically :(
echo ===================
@pause
goto exit
:exit
Empty file added bin/VC120_Debug/error.txt
Empty file.
Empty file added bin/VC120_Debug/output.txt
Empty file.
131 changes: 68 additions & 63 deletions common.h
Expand Up @@ -20,73 +20,78 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.

enum GameCmd : uint8
{
PKT_S2C_MoveAns = 0x60,
PKT_S2C_MoveAns = 0x61,
};

//Currently attuned to Live 4.5.0.264

enum PacketCmd : uint8
{ //Channel //Type
PKT_KeyCheck = 0x00, //0 //UPDATED

PKT_S2C_EndSpawn = 0x11, //? //UPDATED
PKT_C2S_QueryStatusReq = 0x14, //1 //UPDATED
PKT_S2C_SkillUp = 0x15, //3 //UPDATED
PKT_C2S_Ping_Load_Info = 0x16, //1 //UPDATED

PKT_S2C_ViewAns = 0x2B, //3 //UPDATED
PKT_C2S_ViewReq = 0x2D, //1 //UPDATED

PKT_C2S_SkillUp = 0x38, //1 //UPDATED
PKT_S2C_AttentionPing = 0x3F, //3 //UPDATED

PKT_S2C_Emotion = 0x41, //3 UPDATED
PKT_C2S_Emotion = 0x47, //1 UPDATED
PKT_S2C_HeroSpawn = 0x4B, //3 UPDATED
PKT_S2C_Announce = 0x4C, //3

PKT_S2C_GameTimer = 0xC0,
PKT_S2C_GameTimerUpdate = 0xC1,

PKT_C2S_StartGame = 0x51, //1 //UPDATED
PKT_S2C_SynchVersion = 0x53, //3 //UPDATED
PKT_C2S_ScoreBord = 0x55, //1 //UPDATED
PKT_C2S_AttentionPing = 0x56, //1 //UPDATED
PKT_S2C_StartGame = 0x5B, //? //UPDATED

PKT_S2C_StartSpawn = 0x61, //? //UPDATED
//PKT_C2S_OpenShop = 0x63, //1 - DEPRECATED
PKT_C2S_ClientReady = 0x64, //6 //UPDATED ?
PKT_S2C_LoadHero = 0x65, //6 //UPDATED
PKT_S2C_LoadName = 0x66, //6 //UPDATED
PKT_S2C_LoadScreenInfo = 0x67, //6 //UPDATED
PKT_ChatBoxMessage = 0x68, //5 //UPDATED
PKT_S2C_BuyItemAns = 0x6E, //3 //UPDATED

PKT_C2S_MoveReq = 0x71, //1 //UPDATED
PKT_C2S_MoveConfirm = 0x76, //1 //UPDATED

PKT_C2S_LockCamera = 0x80, //1 //UPDATED
PKT_C2S_BuyItemReq = 0x81, //1 //UPDATED
PKT_S2C_QueryStatusAns = 0x87, //? //UPDATED
PKT_C2S_Exit = 0x8E, //1 //UPDATED

PKT_World_SendGameNumber = 0x91, //3 //UPDATED
PKT_S2C_Ping_Load_Info = 0x94, //4 //UPDATED
PKT_S2C_TurretSpawn = 0x9C, //3 UPDATED

PKT_C2S_Surrender = 0xA3, //1 //UPDATED
//PKT_C2S_GameNumberReq = 0xA6, //1 //DEPRECATED
PKT_C2S_StatsConfirm = 0xA7, //1 UPDATED
PKT_C2S_Click = 0xAE, //1 //UPDATED

PKT_C2S_SynchVersion = 0xBC, //1 //UPDATED
PKT_C2S_CharLoaded = 0xBD, //1 //UPDATED

PKT_S2C_CharStats = 0xC3, //4 //UPDATED
PKT_S2C_FogUpdate2 = 0x23, //3 //UPDATED?
PKT_S2C_LevelPropSpawn = 0xCF, //3 UPDATED

PKT_Batch = 0xFF, //3
{ //Channel //Type
PKT_KeyCheck = 0x00, //0 //UPDATED
PKT_C2S_ClientConnect_NamedPipe = 0x01,

PKT_S2C_EndSpawn = 0x11, //? //UPDATED
PKT_C2S_QueryStatusReq = 0x14, //1 //UPDATED
PKT_S2C_SkillUp = 0x16, //3 //UPDATED
PKT_C2S_Ping_Load_Info = 0x16, //1 //UPDATED

PKT_S2C_ViewAns = 0x2C, //3 //UPDATED
PKT_C2S_ViewReq = 0x2E, //1 //UPDATED

PKT_C2S_SkillUp = 0x39, //1 //UPDATED
PKT_S2C_AttentionPing = 0x3F, //3 //UPDATED

PKT_S2C_Emotion = 0x42, //3 UPDATED
PKT_C2S_Emotion = 0x48, //1 UPDATED
PKT_S2C_HeroSpawn = 0x4C, //3 UPDATED
PKT_S2C_Announce = 0x4D, //3

PKT_S2C_GameTimer = 0xC0,
PKT_S2C_GameTimerUpdate = 0xC1,

PKT_C2S_StartGame = 0x52, //1 //UPDATED
PKT_S2C_SynchVersion = 0x54, //3 //UPDATED
PKT_C2S_ScoreBord = 0x56, //1 //UPDATED
PKT_C2S_AttentionPing = 0x57, //1 //UPDATED
PKT_S2C_StartGame = 0x5C, //? //UPDATED

PKT_S2C_StartSpawn = 0x62, //? //UPDATED
//PKT_C2S_OpenShop = 0x63, //1 - DEPRECATED
PKT_C2S_ClientReady = 0x64, //6 //UPDATED ?
PKT_S2C_LoadHero = 0x65, //6 //UPDATED
PKT_S2C_LoadName = 0x66, //6 //UPDATED
PKT_S2C_LoadScreenInfo = 0x67, //6 //UPDATED
PKT_ChatBoxMessage = 0x68, //5 //UPDATED
PKT_S2C_BuyItemAns = 0x6F, //3 //UPDATED

PKT_C2S_MoveReq = 0x72, //1 //UPDATED
PKT_C2S_MoveConfirm = 0x77, //1 //UPDATED

PKT_C2S_LockCamera = 0x81, //1 //UPDATED
PKT_C2S_BuyItemReq = 0x82, //1 //UPDATED
PKT_S2C_QueryStatusAns = 0x88, //? //UPDATED
PKT_C2S_Exit = 0x8F, //1 //UPDATED

PKT_World_SendGameNumber = 0x92, //3 //UPDATED
PKT_S2C_Ping_Load_Info = 0x95, //4 //UPDATED
PKT_S2C_UpdateModel = 0x97,
PKT_S2C_TurretSpawn = 0x9D, //3 UPDATED

PKT_C2S_Surrender = 0xA4, //1 //UPDATED
//PKT_C2S_GameNumberReq = 0xA6, //1 //DEPRECATED
PKT_C2S_StatsConfirm = 0xA8, //1 UPDATED
PKT_S2C_HeroSpawnUnk3 = 0xAE,
PKT_C2S_Click = 0xAF, //1 //UPDATED

PKT_S2C_HeroSpawnUnk2 = 0xBA,
PKT_C2S_SynchVersion = 0xBD, //1 //UPDATED
PKT_C2S_CharLoaded = 0xBE, //1 //UPDATED

PKT_S2C_CharStats = 0xC4, //4 //UPDATED
PKT_S2C_FogUpdate2 = 0x23, //3 //UPDATED?
PKT_S2C_LevelPropSpawn = 0xD0, //3 UPDATED

PKT_Batch = 0xFF, //3
};

enum MoveType : uint8
Expand Down
75 changes: 75 additions & 0 deletions gamed/Client.cpp
@@ -0,0 +1,75 @@
/*
IntWars playground server for League of Legends protocol testing
Copyright (C) 2012 Intline9 <Intline9@gmail.com>
This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>.
*/
#include "stdafx.h"
#include "Client.h"

ClientInfo::ClientInfo()
{
keyChecked = false;
name = type = NULL;
ticks = 0;
skinNo = 0;
}

ClientInfo::~ClientInfo()
{
if(name != NULL)
delete[] name;
if(type != NULL)
delete[] type;
}

void ClientInfo::setName(char *name)
{
if(this->name != NULL)
delete[] this->name;

nameLen = strlen(name);
this->name = new int8[nameLen+1];
memcpy(this->name, name, nameLen+1);
}

void ClientInfo::setType(char *type)
{
if(this->type != NULL)
delete[] this->type;

typeLen = strlen(type);
this->type = new int8[typeLen+1];
memcpy(this->type, type, typeLen+1);
}

uint32 ClientInfo::getTicks()
{
ticks++;
return ticks;
}

LoadScreenPlayer* ClientInfo::GetLoadScreenPlayerName()
{
LoadScreenPlayer* p = LoadScreenPlayer::create(PKT_S2C_LoadName, name, nameLen);
p->userId = userId;
return p;
}
LoadScreenPlayer* ClientInfo::GetLoadScreenPlayerHero()
{
LoadScreenPlayer* p = LoadScreenPlayer::create(PKT_S2C_LoadHero, type, typeLen);
p->userId = userId;
p->skinId = skinNo;
return p;
}

0 comments on commit 8cef985

Please sign in to comment.