• This is a reminder of 3 IMPORTANT RULES:

    1- External self-promotion websites or apps are NOT allowed here, like Discord/Twitter/Patreon/etc.

    2- Do NOT post in other languages. English-only.

    3- Crack/Warez/Piracy talk is NOT allowed.

    Breaking any of the above rules will result in your messages being deleted and you will be banned upon repetition.

    Please, stop by this thread SoccerGaming Forum Rules And Guidelines and make sure you read and understand our policies.

    Thank you!

FIFA World Lua Decryption

Dramacydal

Club Supporter
So Title says it all.Its first chunkzip but afterwards its says this first
<--LuaQ
I have started to add some stuff rev mod from fifa 13 works partially.Adboard,kits(use 1 mip-map uncompressed version),numbers assigned in db,3000 faces added.Changed ingame fonts updated kit previews.Boots dont work from FIFA 14 or Pitches.Oh well I hope somebody here could help out.Thanks Guys.Her the files original and Unpacked

http://www31.zippyshare.com/v/1138472/file.html
 

dissectionalone

Senior Squad
As far as I'm aware of and unless this is something that changed when they made the beta available worldwide and updated the game, The files were encrypted in the same way as the ones in Fifa 14... At least jenkey's file explorer opens them the same way and aside from that and the container sizes, the rx3 files have the Fifa 12/13 format and are useful for updating Fifa 12 and 13 with new faces and so on, but editing fifa world would be like modding only the Ultimate Team mode in fifa 13/14, which is pretty much what fifa world is. Not much point in doing it I guess
 

Dramacydal

Club Supporter
dissectionalone;3714537 said:
As far as I'm aware of and unless this is something that changed when they made the beta available worldwide and updated the game, The files were encrypted in the same way as the ones in Fifa 14... At least jenkey's file explorer opens them the same way and aside from that and the container sizes, the rx3 files have the Fifa 12/13 format and are useful for updating Fifa 12 and 13 with new faces and so on, but editing fifa world would be like modding only the Ultimate Team mode in fifa 13/14, which is pretty much what fifa world is. Not much point in doing it I guess

Im not asking to open up rx3 files.I can open them up.This is about the Lua files which at first have the same encryption as Fifa 14 but after that have another encryption.Also adding new kits,faces,boots,tattos etc is not pointless.Sure I cant have new leagues but thats not important since as you mentioned this is Ultimate Team.
 

dissectionalone

Senior Squad
Dramacydal;3714544 said:
Im not asking to open up rx3 files.I can open them up.This is about the Lua files which at first have the same encryption as Fifa 14 but after that have another encryption.Also adding new kits,faces,boots,tattos etc is not pointless.Sure I cant have new leagues but thats not important since as you mentioned this is Ultimate Team.

I get what your saying, mate. I just used the rx3 files as an example. The only time I looked into the majority of non graphic files from Fifa World, they looked pretty much like the regular Fifa 12 ones... Perhaps the updated ones have the same encryption as the ones found in Fifa Online 3. Have you tried opening those with a hex editor?
 

tokke001

Senior Squad
Dramacydal;3714544 said:
Im not asking to open up rx3 files.I can open them up.This is about the Lua files which at first have the same encryption as Fifa 14 but after that have another encryption.Also adding new kits,faces,boots,tattos etc is not pointless.Sure I cant have new leagues but thats not important since as you mentioned this is Ultimate Team.

dissectionalone;3714554 said:
I get what your saying, mate. I just used the rx3 files as an example. The only time I looked into the majority of non graphic files from Fifa World, they looked pretty much like the regular Fifa 12 ones... Perhaps the updated ones have the same encryption as the ones found in Fifa Online 3. Have you tried opening those with a hex editor?

I v been exporting files from fifa online 3 in the past (wich were protected) with a hex-editor

I ll see what I can do...
 

tokke001

Senior Squad
Dramacydal;3714865 said:
Thank you

as u mentioned,
at the first line of the lua files there s written "LuaQ"

it s a precompiled script or something

found this about luaQ :
http://www.roblox.com/Forum/ShowPost.aspx?PostID=61335747

http://stackoverflow.com/questions/15961156/lua-code-deobfuscation


think it s difficult to decompile,
there may be some program somewhere but not sure...

here u find some programs (under "Assembler / Disassembler / Bytecodes") for decompiling
http://lua-users.org/wiki/LuaTools
 

Fidel Gameplay

Senior Squad
Hello,
you can download all NG_LUA_FILES_RAW_DATA (FIFA World online 3) here in my online cloud:
http://1drv.ms/1ubBZDQ
These are not your files uploaded in your first post, but I've extracted all files in raw format data.
In fact, you have to rename all files with related lua name.
You can open lua files with notepad++ and take a look.
For example the file 0000001c.lua is the stadium.lua.
You can probably edit the bh with an hex editor in order to remove the reference and make the exe read from folder.
There are many interesting things, checking files the game structure seems to be an
Hybrid game (old fifa 14 gen merged with new fifa ng game), probably we will find these files in fifa 15.
I hope that scousers take a look at these files, can probably anticipate the work for rev mod 15.

I'm also able to open the database in raw format data (not included in the pack):
00000023.xml
00000024.dat (the db in raw format).
Probably I use the db to look at new player traits for add to new gp evo db (on players tables I see three columns of trait).

This is a preview of stadium.lua:
very interesting the new pitch fx in HD (is why you see a better grass in FWO3)
[gr:CreateMaterial(stadium, lod, part, "hdr_pitch.fx")]

Code:
 function StadiumUpdate(idx)
	local as = gSportsRNA
	local stadium = as:GetTable("wvStadium", idx)

    db.stadium[idx].lightType = as:GetInt(stadium, "stadLightType")
	db.stadium[idx].stadiumID = as:GetInt(stadium, "stadID")
	db.stadium[idx].prefix = as:GetString(stadium, "stadNamePrefix")
	-- db.stadium[idx].asset = db.stadium[idx].prefix .."_".. db.stadium[idx].stadiumID .."_".. db.stadium[idx].lightType.."_container_0"
	
	
	db.stadium[idx].pitchColor = as:GetInt(stadium, "stadLightType")
	db.stadium[idx].mowPattern = as:GetInt(stadium, "pitchMowPattern")
	db.stadium[idx].wearPattern = as:GetInt(stadium, "pitchWearPattern")
	
	db.stadium[idx].adboardID = as:GetInt(stadium, "adboardID" )
	db.stadium[idx].adboardGroup = as:GetInt(stadium, "adboardGroup" )
	
	db.stadium[idx].homeTeamID = as:GetInt(stadium, "homeTeamID" )
	db.stadium[idx].homeTeamTypeID = as:GetInt(stadium, "homeTeamTypeID" )
	db.stadium[idx].awayTeamID = as:GetInt(stadium, "awayTeamID" )
	db.stadium[idx].awayTeamTypeID = as:GetInt(stadium, "awayTeamTypeID" )
	
	db.stadium[idx].homePrimaryColour = as:GetInt(stadium, "homePrimaryColour")
	db.stadium[idx].homeSecondaryColour = as:GetInt(stadium, "homeSecondaryColour")
end

function StadiumAssetBind(stadium)
	local gr = gRenderables
	local lod = 0
	local priority = 1	-- Load all the stadium assets at a higher priority than the rest, so we can get it loaded early
	local banneridx = 0
	local maxbanners = 11

	-- Get all assets we require in...
	gr:AddCallback(stadium, lod, "StadiumUpdate(?)")
	gr:AddAsset(stadium, lod, "shader", "data/fifarna/shader.big")

	gr:AddAsset(stadium, lod, "stadium",                "data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	
	-- Assets we need to intercept
	gr:AddAsset(stadium, lod, "pitchambient",					"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "pitchnolineambient",				"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "jumbotronambient",				"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "adboardambient",					"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "adboardscrollingambient",		"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "adboarddigitalambient",			"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
    gr:AddAsset(stadium, lod, "adboarddigitalglow",				"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
    gr:AddAsset(stadium, lod, "adboarddigitalglowambient",		"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
    gr:AddAsset(stadium, lod, "adboardsingledigitalambient",	"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
    gr:AddAsset(stadium, lod, "adboardsingledigitalglow",		"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "adboardsingledigitalglowambient","data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "crestambient",					"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "homeprimaryambient",				"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "homesecondaryambient",			"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "bannerhomeambient",				"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "bannerawayambient",				"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "pitchadambient",					"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "diffuseshadow",					"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "diffuseshadowambient",			"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)

    	local bannermat
	for banneridx=0, maxbanners-1 do 
		bannermat = string.format( "banner%sambient", banneridx )
		gr:AddAsset(stadium, lod, bannermat,					"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	end
	
	
	-- Additional assets to load
	gr:AddAsset(stadium, lod, "mow", "data/sceneassets/pitch/pitchmowpattern_${db.stadium[?].mowPattern}_textures.rx3", priority)
	gr:AddAsset(stadium, lod, "cmn", "data/sceneassets/pitch/pitch_common_textures.rx3", priority)
	gr:AddAsset(stadium, lod, "cov", "data/sceneassets/pitch/pitchcovmap_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_textures.rx3", priority)
	gr:AddAsset(stadium, lod, "col", "data/sceneassets/pitch/pitchcolor_${db.stadium[?].pitchColor}_textures.rx3", priority)
	gr:AddAsset(stadium, lod, "globaltex", "data/sceneassets/globaltex/globaltex_0.rx3", priority)
	gr:AddAsset(stadium, lod, "wear", "data/sceneassets/pitch/pitchwearpattern_${db.stadium[?].wearPattern}_textures.rx3", priority)
	--TODO direct it into host city texture
	gr:AddAsset(stadium, lod, "adboardsingletex", "data/sceneassets/adboard/adboard_${db.stadium[?].adboardID}_${db.stadium[?].adboardGroup}.rx3", priority)
	gr:AddAsset(stadium, lod, "homekittex", "data/sceneassets/kit/kit_${db.stadium[?].homeTeamID}_${db.stadium[?].homeTeamTypeID}_0.rx3", priority)
	gr:AddAsset(stadium, lod, "homebannertex", "data/sceneassets/banner/banner_${db.stadium[?].homeTeamID}.rx3;data/sceneassets/banner/banner_0.rx3", priority)
	gr:AddAsset(stadium, lod, "awaybannertex", "data/sceneassets/banner/banner_${db.stadium[?].awayTeamID}.rx3;data/sceneassets/banner/banner_0.rx3", priority)
	gr:AddAsset(stadium, lod, "pitchadtex", "data/sceneassets/pitchad/pitchad_${db.stadium[?].adboardID}.rx3", priority)

	-- Now generate custom materials (these should be named after the shader they are to replace)
	-- Pitch 
	local part = "pitchambient"
	gr:CreateMaterial(stadium, lod, part, "hdr_pitch.fx")
	gr:SetTexture(stadium, lod, part, "textures", "noiseTexture", "globaltex", "multiFreq_noise")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "col", "grass_color")
	-- ambient should magically be populated by the original state block of the stadium
	gr:SetTexture(stadium, lod, part, "textures", "normalMap", "mow", "grass_normal")
	gr:SetTexture(stadium, lod, part, "textures", "alphamask", "wear", "grass_wear")
	gr:SetTexture(stadium, lod, part, "textures", "pitchLinesMap", "cmn", "grass_pitchlines")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "PitchFlatShadow", "flatshadows")
	
	part = "pitchnolineambient"
	gr:CreateMaterial(stadium, lod, part, "hdr_pitchnoline.fx")
	gr:SetTexture(stadium, lod, part, "textures", "noiseTexture", "globaltex", "multiFreq_noise")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "col", "grass_color")
	-- ambient should magically be populated by the original state block of the stadium
	-- gr:SetTexture(stadium, lod, part, "textures", "normalMap", "mow", "grass_normal")
	-- gr:SetTexture(stadium, lod, part, "textures", "alphamask", "wear", "grass_wear")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "PitchFlatShadow", "flatshadows")

	-- Render to texture jumbotron
	part = "jumbotronambient"
	-- gr:CreateMaterialFromAttribulator(stadium, lod, part, "jumbotronambient", "${AttribMaterial('jumbotronambient')}")
	gr:CreateMaterial(stadium, lod, part, "jumbotron.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "jumbotronMap", "FrameGrab0")
	gr:SetTexture(stadium, lod, part, "textures", "LEDTexture", "globaltex", "LED_cm")
	
	-- Stadium Adboards
	-- All of them redirected into runtime texture managed by adboard renderable
	-- The exception is adboardsingledigitalambient and adboardsingledigitalglowambient which
	-- show a completely different not switching texture all the time
	part = "adboardambient"
	gr:CreateMaterial(stadium, lod, part, "adboardambient.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "diffuseTexture", "adboard${?}")
	
	part = "adboardscrollingambient"
	gr:CreateMaterial(stadium, lod, part, "adboardscrollingambient.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "diffuseTexture", "adboard${?}")

	part = "adboarddigitalambient"
	gr:CreateMaterial(stadium, lod, part, "adboarddigitalambient.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "diffuseTexture", "adboard${?}")
	gr:SetTexture(stadium, lod, part, "textures", "incandescenceMap", "globaltex", "digitalgrid_cm")	

	part = "adboarddigitalglow"
	gr:CreateMaterial(stadium, lod, part, "adboarddigitalglowambient.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "diffuseTexture", "adboard${?}")

	part = "adboarddigitalglowambient"
	gr:CreateMaterial(stadium, lod, part, "adboarddigitalglowambient.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "diffuseTexture", "adboard${?}")

	part = "adboardsingledigitalambient"
	gr:CreateMaterial(stadium, lod, part, "adboarddigitalambient.fx")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "adboardsingletex", "adboard")
	gr:SetTexture(stadium, lod, part, "textures", "incandescenceMap", "globaltex", "digitalgrid_cm")	

	part = "adboardsingledigitalglow"
	gr:CreateMaterial(stadium, lod, part, "adboarddigitalglowambient.fx")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "adboardsingletex", "adboard")

	part = "adboardsingledigitalglowambient"
	gr:CreateMaterial(stadium, lod, part, "adboarddigitalglowambient.fx")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "adboardsingletex", "adboard")

	-- The home team crest in the stadium
	part = "crestambient"
	-- gr:CreateMaterialFromAttribulator(stadium, lod, part, "crestambient", "${AttribMaterial('crestambient')}")
	gr:CreateMaterial(stadium, lod, part, "env_Diff.fx")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "homekittex", "crest_")
	
	-- Stadium Banners
	part = "bannerhomeambient"
	gr:CreateMaterial(stadium, lod, part, "env_Diff.fx")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "homebannertex", "banner_")
	
	part = "bannerawayambient"
	gr:CreateMaterial(stadium, lod, part, "env_Diff.fx")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "awaybannertex", "banner_")

    ------------------------------------------------------------------------------------------------------
	-- Stadium Banners with dynamic distribution
	local texname
	for banneridx=0, maxbanners-1 do 
		part = string.format( "banner%sambient", banneridx )
		texname = string.format( "banner%s", banneridx )
		gr:CreateMaterial(stadium, lod, part, "env_Diff.fx")
		gr:SetTextureFromRuntime(stadium, lod, part, "textures", "diffuseTexture", texname)
	end
    ------------------------------------------------------------------------------------------------------

	-- Team colours
	part = "homeprimaryambient"
	gr:CreateMaterial(stadium, lod, part, "env_DiffColour.fx")
	gr:SetConstantARGB(stadium, lod, part, "global", "envColour", "${db.stadium[?].homePrimaryColour}")
	
	part = "homesecondaryambient"
	gr:CreateMaterial(stadium, lod, part, "env_DiffColour.fx")
	gr:SetConstantARGB(stadium, lod, part, "global", "envColour", "${db.stadium[?].homeSecondaryColour}")
	
	-- Pitch adboards (fake 3d)
	part = "pitchadambient"
	gr:CreateMaterial(stadium, lod, part, "env_Diff.fx")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "pitchadtex", "pitchad")
	
	
	-- Flatshadow enabled geometry
	part = "diffuseshadowambient"
	gr:CreateMaterial(stadium, lod, part, "env_Diff_flatshadow.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "PitchFlatShadow", "flatshadows")
	
	-- Flatshadow enabled geometry
	part = "diffuseshadow"
	gr:CreateMaterial(stadium, lod, part, "env_Diff_flatshadow.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "PitchFlatShadow", "flatshadows")
	
	
end

One of the new ng stadium here, only the pic:


Bye and good luck!
 

Dramacydal

Club Supporter
Fidel Gameplay;3715752 said:
Hello,
you can download all NG_LUA_FILES_RAW_DATA (FIFA World online 3) here in my online cloud:
http://1drv.ms/1ubBZDQ
These are not your files uploaded in your first post, but I've extracted all files in raw format data.
In fact, you have to rename all files with related lua name.
You can open lua files with notepad++ and take a look.
For example the file 0000001c.lua is the stadium.lua.
You can probably edit the bh with an hex editor in order to remove the reference and make the exe read from folder.
There are many interesting things, checking files the game structure seems to be an
Hybrid game (old fifa 14 gen merged with new fifa ng game), probably we will find these files in fifa 15.
I hope that scousers take a look at these files, can probably anticipate the work for rev mod 15.

I'm also able to open the database in raw format data (not included in the pack):
00000023.xml
00000024.dat (the db in raw format).
Probably I use the db to look at new player traits for add to new gp evo db (on players tables I see three columns of trait).

This is a preview of stadium.lua:
very interesting the new pitch fx in HD (is why you see a better grass in FWO3)
[gr:CreateMaterial(stadium, lod, part, "hdr_pitch.fx")]

Code:
 function StadiumUpdate(idx)
	local as = gSportsRNA
	local stadium = as:GetTable("wvStadium", idx)

    db.stadium[idx].lightType = as:GetInt(stadium, "stadLightType")
	db.stadium[idx].stadiumID = as:GetInt(stadium, "stadID")
	db.stadium[idx].prefix = as:GetString(stadium, "stadNamePrefix")
	-- db.stadium[idx].asset = db.stadium[idx].prefix .."_".. db.stadium[idx].stadiumID .."_".. db.stadium[idx].lightType.."_container_0"
	
	
	db.stadium[idx].pitchColor = as:GetInt(stadium, "stadLightType")
	db.stadium[idx].mowPattern = as:GetInt(stadium, "pitchMowPattern")
	db.stadium[idx].wearPattern = as:GetInt(stadium, "pitchWearPattern")
	
	db.stadium[idx].adboardID = as:GetInt(stadium, "adboardID" )
	db.stadium[idx].adboardGroup = as:GetInt(stadium, "adboardGroup" )
	
	db.stadium[idx].homeTeamID = as:GetInt(stadium, "homeTeamID" )
	db.stadium[idx].homeTeamTypeID = as:GetInt(stadium, "homeTeamTypeID" )
	db.stadium[idx].awayTeamID = as:GetInt(stadium, "awayTeamID" )
	db.stadium[idx].awayTeamTypeID = as:GetInt(stadium, "awayTeamTypeID" )
	
	db.stadium[idx].homePrimaryColour = as:GetInt(stadium, "homePrimaryColour")
	db.stadium[idx].homeSecondaryColour = as:GetInt(stadium, "homeSecondaryColour")
end

function StadiumAssetBind(stadium)
	local gr = gRenderables
	local lod = 0
	local priority = 1	-- Load all the stadium assets at a higher priority than the rest, so we can get it loaded early
	local banneridx = 0
	local maxbanners = 11

	-- Get all assets we require in...
	gr:AddCallback(stadium, lod, "StadiumUpdate(?)")
	gr:AddAsset(stadium, lod, "shader", "data/fifarna/shader.big")

	gr:AddAsset(stadium, lod, "stadium",                "data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	
	-- Assets we need to intercept
	gr:AddAsset(stadium, lod, "pitchambient",					"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "pitchnolineambient",				"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "jumbotronambient",				"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "adboardambient",					"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "adboardscrollingambient",		"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "adboarddigitalambient",			"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
    gr:AddAsset(stadium, lod, "adboarddigitalglow",				"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
    gr:AddAsset(stadium, lod, "adboarddigitalglowambient",		"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
    gr:AddAsset(stadium, lod, "adboardsingledigitalambient",	"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
    gr:AddAsset(stadium, lod, "adboardsingledigitalglow",		"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "adboardsingledigitalglowambient","data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "crestambient",					"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "homeprimaryambient",				"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "homesecondaryambient",			"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "bannerhomeambient",				"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "bannerawayambient",				"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "pitchadambient",					"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "diffuseshadow",					"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	gr:AddAsset(stadium, lod, "diffuseshadowambient",			"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)

    	local bannermat
	for banneridx=0, maxbanners-1 do 
		bannermat = string.format( "banner%sambient", banneridx )
		gr:AddAsset(stadium, lod, bannermat,					"data/sceneassets/stadium/${db.stadium[?].prefix}_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_container_0.rx3", priority)
	end
	
	
	-- Additional assets to load
	gr:AddAsset(stadium, lod, "mow", "data/sceneassets/pitch/pitchmowpattern_${db.stadium[?].mowPattern}_textures.rx3", priority)
	gr:AddAsset(stadium, lod, "cmn", "data/sceneassets/pitch/pitch_common_textures.rx3", priority)
	gr:AddAsset(stadium, lod, "cov", "data/sceneassets/pitch/pitchcovmap_${db.stadium[?].stadiumID}_${db.stadium[?].lightType}_textures.rx3", priority)
	gr:AddAsset(stadium, lod, "col", "data/sceneassets/pitch/pitchcolor_${db.stadium[?].pitchColor}_textures.rx3", priority)
	gr:AddAsset(stadium, lod, "globaltex", "data/sceneassets/globaltex/globaltex_0.rx3", priority)
	gr:AddAsset(stadium, lod, "wear", "data/sceneassets/pitch/pitchwearpattern_${db.stadium[?].wearPattern}_textures.rx3", priority)
	--TODO direct it into host city texture
	gr:AddAsset(stadium, lod, "adboardsingletex", "data/sceneassets/adboard/adboard_${db.stadium[?].adboardID}_${db.stadium[?].adboardGroup}.rx3", priority)
	gr:AddAsset(stadium, lod, "homekittex", "data/sceneassets/kit/kit_${db.stadium[?].homeTeamID}_${db.stadium[?].homeTeamTypeID}_0.rx3", priority)
	gr:AddAsset(stadium, lod, "homebannertex", "data/sceneassets/banner/banner_${db.stadium[?].homeTeamID}.rx3;data/sceneassets/banner/banner_0.rx3", priority)
	gr:AddAsset(stadium, lod, "awaybannertex", "data/sceneassets/banner/banner_${db.stadium[?].awayTeamID}.rx3;data/sceneassets/banner/banner_0.rx3", priority)
	gr:AddAsset(stadium, lod, "pitchadtex", "data/sceneassets/pitchad/pitchad_${db.stadium[?].adboardID}.rx3", priority)

	-- Now generate custom materials (these should be named after the shader they are to replace)
	-- Pitch 
	local part = "pitchambient"
	gr:CreateMaterial(stadium, lod, part, "hdr_pitch.fx")
	gr:SetTexture(stadium, lod, part, "textures", "noiseTexture", "globaltex", "multiFreq_noise")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "col", "grass_color")
	-- ambient should magically be populated by the original state block of the stadium
	gr:SetTexture(stadium, lod, part, "textures", "normalMap", "mow", "grass_normal")
	gr:SetTexture(stadium, lod, part, "textures", "alphamask", "wear", "grass_wear")
	gr:SetTexture(stadium, lod, part, "textures", "pitchLinesMap", "cmn", "grass_pitchlines")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "PitchFlatShadow", "flatshadows")
	
	part = "pitchnolineambient"
	gr:CreateMaterial(stadium, lod, part, "hdr_pitchnoline.fx")
	gr:SetTexture(stadium, lod, part, "textures", "noiseTexture", "globaltex", "multiFreq_noise")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "col", "grass_color")
	-- ambient should magically be populated by the original state block of the stadium
	-- gr:SetTexture(stadium, lod, part, "textures", "normalMap", "mow", "grass_normal")
	-- gr:SetTexture(stadium, lod, part, "textures", "alphamask", "wear", "grass_wear")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "PitchFlatShadow", "flatshadows")

	-- Render to texture jumbotron
	part = "jumbotronambient"
	-- gr:CreateMaterialFromAttribulator(stadium, lod, part, "jumbotronambient", "${AttribMaterial('jumbotronambient')}")
	gr:CreateMaterial(stadium, lod, part, "jumbotron.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "jumbotronMap", "FrameGrab0")
	gr:SetTexture(stadium, lod, part, "textures", "LEDTexture", "globaltex", "LED_cm")
	
	-- Stadium Adboards
	-- All of them redirected into runtime texture managed by adboard renderable
	-- The exception is adboardsingledigitalambient and adboardsingledigitalglowambient which
	-- show a completely different not switching texture all the time
	part = "adboardambient"
	gr:CreateMaterial(stadium, lod, part, "adboardambient.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "diffuseTexture", "adboard${?}")
	
	part = "adboardscrollingambient"
	gr:CreateMaterial(stadium, lod, part, "adboardscrollingambient.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "diffuseTexture", "adboard${?}")

	part = "adboarddigitalambient"
	gr:CreateMaterial(stadium, lod, part, "adboarddigitalambient.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "diffuseTexture", "adboard${?}")
	gr:SetTexture(stadium, lod, part, "textures", "incandescenceMap", "globaltex", "digitalgrid_cm")	

	part = "adboarddigitalglow"
	gr:CreateMaterial(stadium, lod, part, "adboarddigitalglowambient.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "diffuseTexture", "adboard${?}")

	part = "adboarddigitalglowambient"
	gr:CreateMaterial(stadium, lod, part, "adboarddigitalglowambient.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "diffuseTexture", "adboard${?}")

	part = "adboardsingledigitalambient"
	gr:CreateMaterial(stadium, lod, part, "adboarddigitalambient.fx")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "adboardsingletex", "adboard")
	gr:SetTexture(stadium, lod, part, "textures", "incandescenceMap", "globaltex", "digitalgrid_cm")	

	part = "adboardsingledigitalglow"
	gr:CreateMaterial(stadium, lod, part, "adboarddigitalglowambient.fx")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "adboardsingletex", "adboard")

	part = "adboardsingledigitalglowambient"
	gr:CreateMaterial(stadium, lod, part, "adboarddigitalglowambient.fx")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "adboardsingletex", "adboard")

	-- The home team crest in the stadium
	part = "crestambient"
	-- gr:CreateMaterialFromAttribulator(stadium, lod, part, "crestambient", "${AttribMaterial('crestambient')}")
	gr:CreateMaterial(stadium, lod, part, "env_Diff.fx")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "homekittex", "crest_")
	
	-- Stadium Banners
	part = "bannerhomeambient"
	gr:CreateMaterial(stadium, lod, part, "env_Diff.fx")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "homebannertex", "banner_")
	
	part = "bannerawayambient"
	gr:CreateMaterial(stadium, lod, part, "env_Diff.fx")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "awaybannertex", "banner_")

    ------------------------------------------------------------------------------------------------------
	-- Stadium Banners with dynamic distribution
	local texname
	for banneridx=0, maxbanners-1 do 
		part = string.format( "banner%sambient", banneridx )
		texname = string.format( "banner%s", banneridx )
		gr:CreateMaterial(stadium, lod, part, "env_Diff.fx")
		gr:SetTextureFromRuntime(stadium, lod, part, "textures", "diffuseTexture", texname)
	end
    ------------------------------------------------------------------------------------------------------

	-- Team colours
	part = "homeprimaryambient"
	gr:CreateMaterial(stadium, lod, part, "env_DiffColour.fx")
	gr:SetConstantARGB(stadium, lod, part, "global", "envColour", "${db.stadium[?].homePrimaryColour}")
	
	part = "homesecondaryambient"
	gr:CreateMaterial(stadium, lod, part, "env_DiffColour.fx")
	gr:SetConstantARGB(stadium, lod, part, "global", "envColour", "${db.stadium[?].homeSecondaryColour}")
	
	-- Pitch adboards (fake 3d)
	part = "pitchadambient"
	gr:CreateMaterial(stadium, lod, part, "env_Diff.fx")
	gr:SetTexture(stadium, lod, part, "textures", "diffuseTexture", "pitchadtex", "pitchad")
	
	
	-- Flatshadow enabled geometry
	part = "diffuseshadowambient"
	gr:CreateMaterial(stadium, lod, part, "env_Diff_flatshadow.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "PitchFlatShadow", "flatshadows")
	
	-- Flatshadow enabled geometry
	part = "diffuseshadow"
	gr:CreateMaterial(stadium, lod, part, "env_Diff_flatshadow.fx")
	gr:SetTextureFromRuntime(stadium, lod, part, "textures", "PitchFlatShadow", "flatshadows")
	
	
end

One of the new ng stadium here, only the pic:


Bye and good luck!

Nice to see some of the big guns helping.But FIFA online 3 is not the same as FIFA World.FIFA World does read from folder,I dont really need bh.There is no data1.big etc. The FIFA World even reads from png so its like Jenkeys File Loader.Kit previews,Heads,Logos even scoreboards Menu and so on is all in png and game just loads it as is.Only restriction is FIFA 14 faces do not work.Even with boots so far i had Problem.Texture dont show up.Im useing FIFA 13 Rev mod Version 1.3 Player lua.Tattos dont work,Kit numbers dont get auto assigned or fonts.But faces work for players who previously had generic faces.Perhaps you could try to decomplie my uploaded lua files better.I have sent them to Scouser. But my friend couldnt say if its 100% correct or 50%.But thank you asnyway for help folks
 

krisaju95

Manager
Administrator
Moderator
Super Moderator
I managed to import faces without rev mod. I just replaced the existing files with new ones (not for generic faces)
 

Dramacydal

Club Supporter
krisaju95;3716418 said:
I managed to import faces without rev mod. I just replaced the existing files with new ones (not for generic faces)

Well i got generic faces and tattos working now.Will try to add more
 

krisaju95

Manager
Administrator
Moderator
Super Moderator
Cool. I wish this came earlier. Just finished div 1 in fut yesterday :P
 

Dramacydal

Club Supporter
krisaju95;3716788 said:
Cool. I wish this came earlier. Just finished div 1 in fut yesterday :P

And that menas what??The game continues into next year and unlike FIFA 15 you keep everything.This is the reason Im staying in this game
 

krisaju95

Manager
Administrator
Moderator
Super Moderator
Dramacydal;3717363 said:
And that menas what??The game continues into next year and unlike FIFA 15 you keep everything.This is the reason Im staying in this game
Really? That's perfect. I didn't know that. Fifa world servers are a lot better than the regular fut servers, at least that's what I think. And it would be great to go on into next year with my team. But then, does it mean I start off from div 1 itself? And how are the stats going to be updated? Especially for the tots, totw etc. cards
 

Dramacydal

Club Supporter
krisaju95;3717426 said:
Really? That's perfect. I didn't know that. Fifa world servers are a lot better than the regular fut servers, at least that's what I think. And it would be great to go on into next year with my team. But then, does it mean I start off from div 1 itself? And how are the stats going to be updated? Especially for the tots, totw etc. cards

First here a link from an EA mod:
http://answers.ea.com/t5/General/Reset-after-Beta/m-p/2894570/highlight/true#M3637

At the end he shows twitter post from EA Developer regarding the question.Next all existing cards will stay as they are.New ones are already being released.Diego Costa at Chelsea,Rodriguez with Real Madrid Badge on it.Yeah Graphics is not as pretty as Fifa 14 or 15.But with my kits and your guys old FIFA 13 faces it looks alot better.
 

YRM007

Youth Team
Soo... what's the way to replace generic faces ? do FIFA 14 faces work ? to replace an existing face you just overwrite the files in sceneassets like FIFA 14 right ? thanks
 

Fashiongamer

Club Supporter
Sorry, I don't know, but I know a way to get cheaper fifa 14 coins than before. Just use the coupon code (fifa1314jyy6%code) to enjoy 6% more coins for your game at HERE.
 

dissectionalone

Senior Squad
Probably if they decide to make this game something to stay and take the next step, they'll most likely use the FO3 formula and port the faces and other graphic files. They just need to convert their rx3L back to the older rx3b used in 12/13. Piece of cake with the resources they have.
 

henser

Club Supporter
YRM007;3717475 said:
Soo... what's the way to replace generic faces ? do FIFA 14 faces work ? to replace an existing face you just overwrite the files in sceneassets like FIFA 14 right ? thanks


Hi there YRM007 i am playing Fifa World since Dec last year and started to mod this game in march yeah i could mod or change adboards, Balls, Kits and faces

for example if aubameyang has a generic face and you put a fifa 13 face or it will work fine you just need to enter the db in player and put the headclasscode from 0 to 1


here's the result





you can see that is a modded face, i need to be able to convert from fifa 14 faces to fifa 13 faces to be able to put more faces if you need help just tell me and we can work together
 

rique

Senior Squad
henser;3765131 said:
Hi there YRM007 i am playing Fifa World since Dec last year and started to mod this game in march yeah i could mod or change adboards, Balls, Kits and faces

for example if aubameyang has a generic face and you put a fifa 13 face or it will work fine you just need to enter the db in player and put the headclasscode from 0 to 1


here's the result





you can see that is a modded face, i need to be able to convert from fifa 14 faces to fifa 13 faces to be able to put more faces if you need help just tell me and we can work together

You can get all of the updated faces that appear in both FIFA 15 and FO3 from the EA Sports FIFAWORLD video game. They work perfectly for FIFA 13 and FIFA 12. I plan to do a FIFA 13 update to FIFA 15 standards in the next few weeks. Therefore, a conversion of the database will also be done.
 


Top