Page 2 of 3
Re: League of Legends Map - NVR decompiling/recompiling
Posted: Thu Feb 27, 2014 9:48 am
by ChrisX930
But will it be possible to decrypt the newer Files like the older files ?
I really want to create my own map.
Older maps like "Old twisted Treeline" and "Summoner's Rift (Winter & Autumn) already work again for me in "Co-op vs AI" and "Custom" mode.
(For example, a Screenshot)
Re: League of Legends Map - NVR decompiling/recompiling
Posted: Fri Feb 28, 2014 12:17 pm
by Wobble
[out]
Re: League of Legends Map - NVR decompiling/recompiling
Posted: Fri Feb 28, 2014 4:03 pm
by ChrisX930
Now, I uploaded the whole Folder of one of the maps.
The package includes:
- scripts (I already decompiled luaobj to readable lua),
- sco and scb files (Models, I think. sco is readable as text with notepad++/wordpad/editor)
- dat files (can be opened with any text editor. It's readable as text).
- dds files (textures and images)
- inibin - files (don't know how to open them | file size ~1kb)
now I try to find out how League of Legends read the maps, but it could be really hard.
DOWNLOAD MAP-FOLDER
Re: League of Legends Map - NVR decompiling/recompiling
Posted: Sun Mar 02, 2014 3:44 pm
by Pupix
ChrisX930 wrote:Now, I uploaded the whole Folder of one of the maps.
The package includes:
- scripts (I already decompiled luaobj to readable lua),
- sco and scb files (Models, I think. sco is readable as text with notepad++/wordpad/editor)
- dat files (can be opened with any text editor. It's readable as text).
- dds files (textures and images)
- inibin - files (don't know how to open them | file size ~1kb)
now I try to find out how League of Legends read the maps, but it could be really hard.
DOWNLOAD MAP-FOLDER
What did you use to decompile the luaobj files?
I keep getting "DECOMPILER ERROR: Unhandled construct in list (SETLIST)" when trying to decompile the files with luadec51.
Btw scb are just sco converted in binary, and yes, they are in game models.
Re: League of Legends Map - NVR decompiling/recompiling
Posted: Sun Mar 02, 2014 3:50 pm
by ChrisX930
I used luadec v2.1 r80 by viruscamp^^
Re: League of Legends Map - NVR decompiling/recompiling
Posted: Sun Mar 02, 2014 4:08 pm
by Pupix
ChrisX930 wrote:I used luadec v2.1 r80 by viruscamp^^
I am still getting the same error. I should have mentioned that I get this error when I try to decompile character related .luaobj files not the ones from the LEVELS folders.
May I also ask how did you manage to add the other maps into your LoLClient.exe( the launcher ) ? Did you edit the .dat files?
Re: League of Legends Map - NVR decompiling/recompiling
Posted: Sun Mar 02, 2014 4:19 pm
by ChrisX930
Pupix wrote:ChrisX930 wrote:I used luadec v2.1 r80 by viruscamp^^
I am still getting the same error. I should have mentioned that I get this error when I try to decompile character related .luaobj files not the ones from the LEVELS folders.
May I also ask how did you manage to add the other maps into your LoLClient.exe( the launcher ) ? Did you edit the .dat files?
I had to edit more then only one file^^
I don't really want to describe how you can add other maps to the game, because I think I'm the only one atm who can do this / who know how it works.
The Character-related luaobj files? I'll check it out

EDIT: Same decompiler Error with character related scripts
Re: League of Legends Map - NVR decompiling/recompiling
Posted: Sun Mar 02, 2014 4:30 pm
by Pupix
ChrisX930 wrote:Pupix wrote:ChrisX930 wrote:I used luadec v2.1 r80 by viruscamp^^
I am still getting the same error. I should have mentioned that I get this error when I try to decompile character related .luaobj files not the ones from the LEVELS folders.
May I also ask how did you manage to add the other maps into your LoLClient.exe( the launcher ) ? Did you edit the .dat files?
I had to edit more then only one file^^
I don't really want to describe how you can add other maps to the game, because I think I'm the only one atm who can do this / who know how it works.
The Character-related luaobj files? I'll check it out

EDIT: Same decompiler Error with character related scripts
You are not the only one who can do that for sure. You could google AstralFoxy, she enabled players to pick the same champion more than once, hence the "One for All" mode Riot made available after they noticed that almost everybody had modified their in game files to do able to do that.
She only needed to edit ClientLibGame.dat to allow this.
Re: League of Legends Map - NVR decompiling/recompiling
Posted: Sun Mar 02, 2014 4:33 pm
by ChrisX930
Pupix wrote:
You are not the only one who can do that for sure. You could google AstralFoxy, she enabled players to be pick the same champion more than once, hence the "One for All" mode Riot made available after they noticed that almost everybody had modified their in game files to do able to do that.
She only needed to edit ClientLibGame.dat to allow this.
I know this, but Riot already fixed this.
But I added a new menu (ChrisX930's Mods) with all available modes. And I can re-enable all maps and possibly, add new maps (if I could create my own)
Re: League of Legends Map - NVR decompiling/recompiling
Posted: Mon Mar 03, 2014 9:52 am
by MrMoonKr
It is very interesting subject that LOL can be made mod.
I was hard-coded like below to check vertex type.
Code: Select all
m_MeshArray.clear() ;
for ( int i=0 ; i < m_Header.mVertexArrayCount ; ++i )
{
if ( flagArray[i] == false )
{
continue;
}
NVRVertexArray tempMesh ;
buffer.Read( &tempMesh.mDataSize, sizeof( tempMesh.mDataSize ) ) ;
uint32 currPos = buffer.GetPosition() ;
int8 vertType44 = *( buffer.GetData() + currPos + 43 ) ; // just hack
int8 vertType40 = *( buffer.GetData() + currPos + 39 ) ; // just hack
uint32 bookMark = currPos + tempMesh.mDataSize ;
if ( vertType44 == -1 ) // if vertex size is 44 , always -1 ( 0xFF )
{
uint32 vertCount = tempMesh.mDataSize / sizeof( NVRVertex44 ) ;
tempMesh.mVertices.resize( vertCount ) ;
for ( int j=0 ; j < vertCount ; ++j )
{
NVRVertex44 tempVert ;
buffer.Read( &tempVert, sizeof( tempVert ) ) ;
tempMesh.mVertices[j].mPosition = tempVert.mPosition ;
tempMesh.mVertices[j].mNormal = tempVert.mNormal ;
tempMesh.mVertices[j].mUV = tempVert.mUV ;
//tempMesh.mVertices[j].mTangent = tempVert.mTangent ;
}
}
else if ( vertType40 == -1 ) // if vertex size is 40 , always -1 ( 0xFF )
{
uint32 vertCount = tempMesh.mDataSize / sizeof( NVRVertex40 ) ;
tempMesh.mVertices.resize( vertCount ) ;
for ( int j=0 ; j < vertCount ; ++j )
{
NVRVertex40 tempVert ;
buffer.Read( &tempVert, sizeof( tempVert ) ) ;
tempMesh.mVertices[j].mPosition = tempVert.mPosition ;
tempMesh.mVertices[j].mNormal = tempVert.mNormal ;
tempMesh.mVertices[j].mUV = tempVert.mUV ;
//tempMesh.mVertices[j].mTangent = tempVert.mTangent ;
}
}
else
{
uint32 vertCount = tempMesh.mDataSize / sizeof( NVRVertex36 ) ;
tempMesh.mVertices.resize( vertCount ) ;
buffer.Read( &tempMesh.mVertices[0],
sizeof( NVRVertex36 ) * vertCount ) ;
}
m_MeshArray.push_back( tempMesh ) ;
buffer.SetPosition( bookMark ) ;
}
Re: League of Legends Map - NVR decompiling/recompiling
Posted: Mon Mar 03, 2014 10:56 pm
by Wobble
[out]
Re: League of Legends Map - NVR decompiling/recompiling
Posted: Tue Mar 04, 2014 6:59 am
by MrMoonKr
I have seen 4 vertex formats, although, there could be 5 or more.
44, 40, 36, 24, and 12 bytes.
I had found just 4 vertex types, too.
That 0xFF byte could simply be the alpha value of a color stored as a 32-bit value (RGBA).
Which means, your check is prone to error, and will fail sometimes.
I think they are 4 byte-packed tangent, and binormal ...
NVRSubmesh1 uses 44, 40, 36 vertex, and
NVRSubmesh2 uses 12 vertex.
http://code.google.com/p/gamefileformat ... lateNVR.bt
and I had got this picture.
Re: League of Legends Map - NVR decompiling/recompiling
Posted: Thu Mar 20, 2014 9:34 pm
by ChrisX930
Any updates to this?
Anyone knows if it possible to Edit this files?
Re: League of Legends Map - NVR decompiling/recompiling
Posted: Tue Jul 15, 2014 2:22 am
by Uli
My Documentation on it, I haven't read any of the posts so sorry if anything is incorrect etc:
http://pastebin.com/pvxd6ABi
Re: League of Legends Map - NVR decompiling/recompiling
Posted: Wed Jul 16, 2014 12:14 am
by Wobble
[out]