Giant texture package - MyLevel - Less load Way

Any kind of tutorial regarding U-Ed and mapping belongs here
Post Reply
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Giant texture package - MyLevel - Less load Way

Post by sektor2111 »

I could see at a moment some mappers using 3 textures from a giant package and creating a lot of useless load with the rest of not needed textures. Maybe is time to learn how to get textures from a big package without having it as a dependent file for download. For me doesn't make sense.
A Sample - me in cause, by using a giant texture file (700 MB) for a few blocks used will cause a painful download if redirects are restrictive and it looks stupid this way.

Q: How I do drop them in MyLevel and having them like an usual stuff ready to be used VIA MyLevel in any map in progress or others ?
A: By using a text editor I'm creating a file type text but even without extension txt - just named "TL" (aka texture load);
File named TL will have the following lines:

Code: Select all

OBJ LOAD FILE=Photorealistic.utx PACKAGE=MyLevel
FLUSH
Photorealistic.utx is the texture which I have used - you might have yours (BigTex_Town.utx, etc.)

Now I start Editor with no map loaded. At bottom I'm writing in that console box exec tl or if you have extension txt command sounds as follows exec tl.txt. Yeah, only text in color (and Pressing Enter at end). After that, I load my Map. Now if I'm browsing textures, in Package MyLevel I have available entire textures collection. Assuming you will use such such file with no corruption, Editor will not crash - HINT: Editor doesn't love rushers double clicking things and doing dumb moves - it will crash.

Q: This thing will not cause a map having 700 MB+ ?
A: NO ! Textures from MyLevel which are not used in map, are lost at closing Editor - content unused in maps previously added in MyLevel is vaporized at once with that stupid error sound when Editor is being closed.

Q: Something else to known ?
A: Yes, as recommended in recent Video Tutorials before saving final Map-File you can input command [Texture Cull] (without brackets) for unloading textures from surfaces not visible by players.

So, final map-file will have a bit of size, but not involving a huge download because it has only textures needed. Trivia, such a Level will work even if some genius will redo that big file causing mismatches (see ChicoWhoRuinedPackages texture chapter from forum which actually has around 4 different versions :loool: ) - your map will not use such file so it will work properly if stuff runs separate out of Dependencies.

Idea for using a macro text file with VIA exec directive is because a BIG file with a lot of textures can be used more times, in many maps, and loading it in MyLevel might be usual for a while easier than writing long commands in console all the time. You can use this way for multiple textures but... you need memory in system (even my rig has 2 GB which are pretty helpful for UT) and texture files to be good.
User avatar
PrinceOfFunky
Godlike
Posts: 1200
Joined: Mon Aug 31, 2015 10:31 pm

Re: Giant texture package - MyLevel - Less load Way

Post by PrinceOfFunky »

Is there a way to load it even if we haven't set MyLevel texture pack yet? Like starting a new blank map and load it making MyLevel popping up on the Texture browser?
EDIT: Ok so I tried making the MyLevel texture pack after doing the procedure you said and it works, fact is I had to create a texture at least, I guess it's not a problem since if I don't use that texture it will be lost after closing the editor.
"Your stuff is known to be buggy and unfinished/not properly tested"
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Giant texture package - MyLevel - Less load Way

Post by sektor2111 »

MyLevel is being created/updated when previous solution is applied. If none use your textures is their problem, for me is a default mapping stuff - Thank You ! By loading ONLY needed things in MyLevel you have a good looking thing (textures are nice) and you will not load 700 MB all time. In a previous thread which I recall but not name of it I could see a map using a few textures from a package having 80 MB causing a long download for an ass. If we are mappers, probably we should mind optimization without loading a crap-ton of useless textures in poor player. Btw I have noticed how to load a BMP file (which format) with more than 256 colors for a good looking ScreenShot... I gotta admit I've started to love stupid Editor - at least it works nice on this rig without SEE2...

And... I'm interested about Brush database news, when I'll get a sudden inspiration I'll need some handy resources.
I used once resources from Internet for (re)making a crappy skybox and it is time consuming - which I don't like.
Higor
Godlike
Posts: 1866
Joined: Sun Mar 04, 2012 6:47 pm

Re: Giant texture package - MyLevel - Less load Way

Post by Higor »

That's honestly bad advice.
UE uses import/export and 'lazy loading' methods that allow loading specific content on demand.
You're better off building a huge UTX file if there's a lot of sources with possible name mismatches and all.
Screenshots, dynamic textures and small modifications are the only good uses for embedding textures in maps.
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Giant texture package - MyLevel - Less load Way

Post by sektor2111 »

Bad or not, I had some experiences with this "Quake" sudden affinity, each texture being DIFFERENT making 2 maps to never run in the same machine. If I want to do such a theme for sure I will not use any external UTX having a generic name like that and neither textures having up to 100+ MB from which I will use 3 textures. It's ridiculous and not productive to download so much content for a few colors.
Map "MonsterBurguer" which I presented as a sample, is done exactly this way with no issues - on this rig machine it works just perfect. Textures used have been taken from a huge package (do I'm I supposed to wait 700 MB of download if some redirect is crapped ?) - I did not want to screw their default colors by exporting re-importing them (unless you will want to give me a hint in exporting a quality BMP texture not a PCX with 256 colors). Else maps which I'll do will come with files, Files and Files... I MyLevel-ed including blank music - some people doesn't have it.

But because I'm curious I would like to know why We cannot draw walls with MyLevel content, why is not recommended as long as I really don't see why not - I have maps on my playground done this way with full MyLevel stuff - they works, are pathed well, game flow is good.
Last edited by sektor2111 on Sat Apr 01, 2017 7:14 pm, edited 1 time in total.
User avatar
Barbie
Godlike
Posts: 2792
Joined: Fri Sep 25, 2015 9:01 pm
Location: moved without proper hashing

Re: Giant texture package - MyLevel - Less load Way

Post by Barbie »

I think you discuss the question "Make a resource (graphic, code, whatever) shareable or embed it" here. Both has advantages and disadvantages:
Shared resources:
:) can be used multiple times
:) less size in total
:) modular design: you don't have to reinvent the wheel but can rely on proven and error free (hopefully) resource
:thudown: increases dependencies count
:thudown: more difficult to manage
:thudown: danger of version mismatches
Embed resources:
:) decreases dependencies count
:) decreases risk of version mismatches
:thudown: increases file size
:thudown: if you don't remember where you have used a specific resource in the past and want to use it, you have to reinvent it

I usually do as follows: If I'm sure that the resource is used in a specific map only, I'll embed it (screenshots for example). Otherwise I create (or use) a package and add a version number to its name, because I can never be sure that I have to release a bug fixed or extended version of this package (where I indeed increase the version number).

In this specific case (FileSize(Resource)=700 MiB) I'd had split and grouped the Textures into several files to get smaller files. But what is "small"? In 1999 a download file size of 7 MB was huge, today its a peanut.
"Multiple exclamation marks," he went on, shaking his head, "are a sure sign of a diseased mind." --Terry Pratchett
User avatar
sektor2111
Godlike
Posts: 6403
Joined: Sun May 09, 2010 6:15 pm
Location: On the roof.

Re: Giant texture package - MyLevel - Less load Way

Post by sektor2111 »

Ask rjmno1 about "peanuts" - actually I would set an old type of Internet, less CPU spendy but No One here has such things to offer except limited wireless which are crappy.
For surfing Internet at 1GB net speed for me doesn't make sense - many web servers are limiting client bandwidth because is pointless to exhaust network for lousy things. Like I said, I'm not interested about downloading hundreds of MB of textures, so I'm coming with solutions against headaches - else usually I know my content used - it's my weakness. I'm using to update some MyLevel Cube with things, so I have stuff there, else I did others ONLY for a specific map, and I have doubt to reuse such stuff because... I'm able to do better versions in time, not to mention that I have a folder with a lot of UC scripts for MyLevel/s - for me "recalling" is not a concern.

Edit: Maths Chapter in stage (you'll love it)
Growing file size (map I assuming :mrgreen: ) because if we speak about a map using stock textures an sounds (fragments) will cause multiple files read/load which might get MORE memory than a map which is loaded only as Map itself and nothing more. Just see UTTechX files. For 4 Walls we load/read a bunch of files - Did someone spoke about HDD problems ? Voila read read read (save a stupid INI 3 times - see SetGameSpeed calls) - blood is going out of your drives - buy another,.. lose some data. I still don't get why I should not use MyLevel and splitting 700 MB in a hundred of files - other guy might do the same - What for ? Resources are already shared doesn't make any sense to have the same texture in 44 files... WHERE is optimization here because now I'm in fog ?

When I've started this thread I sat down thinking a bit - some people want to know this way of doing.
Post Reply