Dat Cat

Mildly Menacing Medic
I am kind of interested in editing some of Skial's maps. I'm starting with the trade NY map, trying to optimize and make small things better (clip brushes and stuff). The thing is, is that I don't have the textures. In Hammer, everything is white and when compiled, it is all purple and black squares. Please help, if there is any download link or anything please let me know. Thank you :3
 

Pedro the fabulous

Totally Ordinary Human
Contributor
Master Mapper
I am kind of interested in editing some of Skial's maps. I'm starting with the trade NY map, trying to optimize and make small things better (clip brushes and stuff). The thing is, is that I don't have the textures. In Hammer, everything is white and when compiled, it is all purple and black squares. Please help, if there is any download link or anything please let me know. Thank you :3
What are you using to decompile the map?
 

Pedro the fabulous

Totally Ordinary Human
Contributor
Master Mapper
BSPSource
When decompiling the map with BSPSource, there is a tab named "Other". You need to click on it and check the "Extract embedded files" option so that while the map is being decompiled, it also takes the custom content from the .bsp and puts it in a folder next to the .vmf's target location. You can also do it the long way and extract specific content with GCFScape
 

Dat Cat

Mildly Menacing Medic
When decompiling the map with BSPSource, there is a tab named "Other". You need to click on it and check the "Extract embedded files" option so that while the map is being decompiled, it also takes the custom content from the .bsp and puts it in a folder next to the .vmf's target location. You can also do it the long way and extract specific content with GCFScape
Just did that, have new folder with all of the materials and texture, open decompiled map in Hammer, still white ;-;
 

Pedro the fabulous

Totally Ordinary Human
Contributor
Master Mapper
Just did that, have new folder with all of the materials and texture, open decompiled map in Hammer, still white ;-;
You need to move the materials/models/sounds into their respective folders in your team fortress 2\tf\ directory. The custom folder does not work. The folder you received from decompiling should have a folder named materials (and models or sounds if it has that), so drag everything inside the materials folder into the team fortress 2's materials folder. This will make it a mess (even more so if you decompile a lot of maps), but it should work without editing every single .vmt (except for some cases). There's also another way which is just make a .vpk with all the custom content (not sure where this is stored though, and you need to find a program for it) which is the same method tf2 uses to store all it's vanilla content.

The reason the custom folder doesn't work is because hammer doesn't read from that folder.

Sorry if this is somewhat confusing, because it is.
 

Dat Cat

Mildly Menacing Medic
You need to move the materials/models/sounds into their respective folders in your team fortress 2\tf\ directory. The custom folder does not work. The folder you received from decompiling should have a folder named materials (and models or sounds if it has that), so drag everything inside the materials folder into the team fortress 2's materials folder. This will make it a mess (even more so if you decompile a lot of maps), but it should work without editing every single .vmt (except for some cases). There's also another way which is just make a .vpk with all the custom content (not sure where this is stored though, and you need to find a program for it) which is the same method tf2 uses to store all it's vanilla content.

The reason the custom folder doesn't work is because hammer doesn't read from that folder.

Sorry if this is somewhat confusing, because it is.


Thank You! Everything is working now, I am greatly appreciated that you took time out of your day to help me :3
 

Fragancia

Sufficiently Lethal Scout
Contributor
Mapper
You need to move the materials/models/sounds into their respective folders in your team fortress 2\tf\ directory. The custom folder does not work. The folder you received from decompiling should have a folder named materials (and models or sounds if it has that), so drag everything inside the materials folder into the team fortress 2's materials folder. This will make it a mess (even more so if you decompile a lot of maps), but it should work without editing every single .vmt (except for some cases). There's also another way which is just make a .vpk with all the custom content (not sure where this is stored though, and you need to find a program for it) which is the same method tf2 uses to store all it's vanilla content.

The reason the custom folder doesn't work is because hammer doesn't read from that folder.

Sorry if this is somewhat confusing, because it is.

Uhh, what?
The custom folder works and Hammer was updated to work with Steampipe and it's waaaaaaaaaay better for organizing your content than using tf/materials etc...
k1jHiyG.png

fUUoO4X.png
 

Fragancia

Sufficiently Lethal Scout
Contributor
Mapper
Custom never works for me, even after steampipe.
How do you install custom content inside the folder?
Do you follow the proper folder/file structure as you are told in the readme.txt inside the custom folder?

Code:
When the game boots, this folder is automatically scanned for VPK files or
subfolders. Each subfolder or VPK is added as a search path, so the files
inside those VPK's or subfolders will override the default game files.

See gameinfo.txt for more details.

For example, you might have the following file structure:

    tf/custom/my_custom_stuff/   <<< This subfolder will be added as a search path
    tf/custom/my_custom_stuff/models/custom_model.mdl
    tf/custom/my_custom_stuff/materials/custom_material.vmt
    tf/custom/my_custom_stuff/materials/vgui/custom_ui_thing.res
    tf/custom/some_mod.vpk       <<< This VPK will be added as a search path
    tf/custom/another_mod.vpk    <<< This VPK will be added as a search path


Mounting a VPK to the filesystem is more efficient than adding a subfolder,
as each time the engine needs to open a file, it will need to make a call to the
operating system to search the folder. VPKs can therefore be searched by the engine
much more efficiently. Each subfolder is a new search path that must be checked each
time the engine tries to open a file. So, for optimal load times, always use VPK files
and don't make any subfolders in this folder!


Note that the following directory structure is NOT correct:

    tf/custom/models/my_model.mdl

That will add the directory "tf/custom/models" as a search path, in which case the
file my_model.mdl actually exists at the root of the game's virtual filesystem.
Instead, you would use something like:

    tf/custom/my_custom_stuff/models/my_model.mdl
 

Pedro the fabulous

Totally Ordinary Human
Contributor
Master Mapper
How do you install custom content inside the folder?
Do you follow the proper folder/file structure as you are told in the readme.txt inside the custom folder?

Code:
When the game boots, this folder is automatically scanned for VPK files or
subfolders. Each subfolder or VPK is added as a search path, so the files
inside those VPK's or subfolders will override the default game files.

See gameinfo.txt for more details.

For example, you might have the following file structure:

    tf/custom/my_custom_stuff/   <<< This subfolder will be added as a search path
    tf/custom/my_custom_stuff/models/custom_model.mdl
    tf/custom/my_custom_stuff/materials/custom_material.vmt
    tf/custom/my_custom_stuff/materials/vgui/custom_ui_thing.res
    tf/custom/some_mod.vpk       <<< This VPK will be added as a search path
    tf/custom/another_mod.vpk    <<< This VPK will be added as a search path


Mounting a VPK to the filesystem is more efficient than adding a subfolder,
as each time the engine needs to open a file, it will need to make a call to the
operating system to search the folder. VPKs can therefore be searched by the engine
much more efficiently. Each subfolder is a new search path that must be checked each
time the engine tries to open a file. So, for optimal load times, always use VPK files
and don't make any subfolders in this folder!


Note that the following directory structure is NOT correct:

    tf/custom/models/my_model.mdl

That will add the directory "tf/custom/models" as a search path, in which case the
file my_model.mdl actually exists at the root of the game's virtual filesystem.
Instead, you would use something like:

    tf/custom/my_custom_stuff/models/my_model.mdl
Yeah, didn't work when I tried it out several times. It doesn't really matter a lot though.
 

Fragancia

Sufficiently Lethal Scout
Contributor
Mapper
Yeah, didn't work when I tried it out several times. It doesn't really matter a lot though.
What's the situation for your gameinfo.txt like?

Does it look like this?
Code:
"GameInfo"
{
    game    "Team Fortress 2"
    type multiplayer_only
    nomodels 1
    nohimodel 1
    nocrosshair 0
    hidden_maps
    {
        "test_speakers"        1
        "test_hardware"        1
    }
    nodegraph 0
    GameData    "tf.fgd"
    InstancePath "D:/SteamLib/steamapps/common/Team Fortress 2/sourcesdk_content/tf/mapsrc" // Path Hammer looks at for instances, can be changed
    advcrosshair 1
    supportsvr 1


    FileSystem
    {
        SteamAppId                440
       
        //
        // Setup engine search paths.
        //
        // If a search path contains "_english", and the current language is not english, then
        // another search path will be inserted above the english one by replacing "_english" with
        // the appropriate language.
        //
        // To debug how the engine has parsed this file, type "path" at the console.
        //
        // Search paths are relative to the base directory, which is where hl2.exe is found.
        //
        // |gameinfo_path| points at the directory where gameinfo.txt is.
        // |all_source_engine_paths| points at the directory cintaining HL2 shared content.
        //
        SearchPaths
        {

            // First, mount all user customizations.  This will search for VPKs and subfolders
            // and mount them in alphabetical order.  The easiest way to distribute a mod is to
            // pack up the custom content into a VPK.  To "install" a mod, just drop it in this
            // folder.
            //
            // Note that this folder is scanned only when the game is booted.
            game+mod+custom_mod    tf/custom/*

            // We search VPK files before ordinary folders, because most files will be found in
            // VPK and we can avoid making thousands of file system calls to attempt to open files
            // in folders where they don't exist.  (Searching a VPK is much faster than making an operating
            // system call.)
            game_lv                tf/tf2_lv.vpk
            game+mod            tf/tf2_textures.vpk
            game+mod            tf/tf2_sound_vo_english.vpk
            game+mod            tf/tf2_sound_misc.vpk
            game+mod+vgui        tf/tf2_misc.vpk
            game                |all_source_engine_paths|hl2/hl2_textures.vpk
            game                |all_source_engine_paths|hl2/hl2_sound_vo_english.vpk
            game                |all_source_engine_paths|hl2/hl2_sound_misc.vpk
            game+vgui            |all_source_engine_paths|hl2/hl2_misc.vpk
            platform+vgui            |all_source_engine_paths|platform/platform_misc.vpk

            // Now search loose files.  We'll set the directory containing the gameinfo.txt file
            // as the first "mod" search path (after any user customizations).  This is also the one
            // that's used when writing to the "mod" path.
            mod+mod_write+default_write_path        |gameinfo_path|.

            // Add the TF directory as a game search path.  This is also where where writes
            // to the "game" path go.
            game+game_write        tf

            // Where the game's binaries are
            gamebin                tf/bin

            // Last, mount in shared HL2 loose files
            game                |all_source_engine_paths|hl2
            platform            |all_source_engine_paths|platform

            // Random files downloaded from gameservers go into a seperate directory, so
            // that it's easy to keep those files segregated from the official game files
            // or customizations intentially installed by the user.
            //
            // This directory is searched LAST.  If you visit a server and download
            // a custom model, etc, we don't want that file to override the default
            // game file indefinitely (after you have left the server).  Servers CAN have
            // custom content that overrides the default game files, it just needs to be
            // packed up in the .bsp file so that it will be mounted as a map search pack.
            // The map search pack is mounted at the top of the search path list,
            // but only while you are connected that server and on that map.
            game+download    tf/download
        }
    }

    ToolsEnvironment
    {
        "Engine"            "Source"
        "UseVPLATFORM"        "1"
        "PythonVersion"        "2.7"
        "PythonHomeDisable"    "1"
    }
}
 

Pedro the fabulous

Totally Ordinary Human
Contributor
Master Mapper
What's the situation for your gameinfo.txt like?

Does it look like this?
Code:
"GameInfo"
{
    game    "Team Fortress 2"
    type multiplayer_only
    nomodels 1
    nohimodel 1
    nocrosshair 0
    hidden_maps
    {
        "test_speakers"        1
        "test_hardware"        1
    }
    nodegraph 0
    GameData    "tf.fgd"
    InstancePath "D:/SteamLib/steamapps/common/Team Fortress 2/sourcesdk_content/tf/mapsrc" // Path Hammer looks at for instances, can be changed
    advcrosshair 1
    supportsvr 1


    FileSystem
    {
        SteamAppId                440
      
        //
        // Setup engine search paths.
        //
        // If a search path contains "_english", and the current language is not english, then
        // another search path will be inserted above the english one by replacing "_english" with
        // the appropriate language.
        //
        // To debug how the engine has parsed this file, type "path" at the console.
        //
        // Search paths are relative to the base directory, which is where hl2.exe is found.
        //
        // |gameinfo_path| points at the directory where gameinfo.txt is.
        // |all_source_engine_paths| points at the directory cintaining HL2 shared content.
        //
        SearchPaths
        {

            // First, mount all user customizations.  This will search for VPKs and subfolders
            // and mount them in alphabetical order.  The easiest way to distribute a mod is to
            // pack up the custom content into a VPK.  To "install" a mod, just drop it in this
            // folder.
            //
            // Note that this folder is scanned only when the game is booted.
            game+mod+custom_mod    tf/custom/*

            // We search VPK files before ordinary folders, because most files will be found in
            // VPK and we can avoid making thousands of file system calls to attempt to open files
            // in folders where they don't exist.  (Searching a VPK is much faster than making an operating
            // system call.)
            game_lv                tf/tf2_lv.vpk
            game+mod            tf/tf2_textures.vpk
            game+mod            tf/tf2_sound_vo_english.vpk
            game+mod            tf/tf2_sound_misc.vpk
            game+mod+vgui        tf/tf2_misc.vpk
            game                |all_source_engine_paths|hl2/hl2_textures.vpk
            game                |all_source_engine_paths|hl2/hl2_sound_vo_english.vpk
            game                |all_source_engine_paths|hl2/hl2_sound_misc.vpk
            game+vgui            |all_source_engine_paths|hl2/hl2_misc.vpk
            platform+vgui            |all_source_engine_paths|platform/platform_misc.vpk

            // Now search loose files.  We'll set the directory containing the gameinfo.txt file
            // as the first "mod" search path (after any user customizations).  This is also the one
            // that's used when writing to the "mod" path.
            mod+mod_write+default_write_path        |gameinfo_path|.

            // Add the TF directory as a game search path.  This is also where where writes
            // to the "game" path go.
            game+game_write        tf

            // Where the game's binaries are
            gamebin                tf/bin

            // Last, mount in shared HL2 loose files
            game                |all_source_engine_paths|hl2
            platform            |all_source_engine_paths|platform

            // Random files downloaded from gameservers go into a seperate directory, so
            // that it's easy to keep those files segregated from the official game files
            // or customizations intentially installed by the user.
            //
            // This directory is searched LAST.  If you visit a server and download
            // a custom model, etc, we don't want that file to override the default
            // game file indefinitely (after you have left the server).  Servers CAN have
            // custom content that overrides the default game files, it just needs to be
            // packed up in the .bsp file so that it will be mounted as a map search pack.
            // The map search pack is mounted at the top of the search path list,
            // but only while you are connected that server and on that map.
            game+download    tf/download
        }
    }

    ToolsEnvironment
    {
        "Engine"            "Source"
        "UseVPLATFORM"        "1"
        "PythonVersion"        "2.7"
        "PythonHomeDisable"    "1"
    }
}
I tried it out with a test vtf and vmt, and it worked. Maybe I was just being dumb all this time, or it didn't actually work before. Thanks anyway!