Half-Life 2 Modding Guide for the Original Xbox
Jump to navigation
Jump to search

Note: THIS WILL REQUIRE A SOFTMODDED/HARDMODDED ORIGINAL XBOX
Half-Life 2 Modding Guide for the Original Xbox 
This page is for the Original Xbox Version of Half-Life 2 (Xbox).
File Structure
- Retail disc layout
D:\
- default.xbe - (Bootstrapper for HL2 - validates and installs zip files to cache directory.)
- hl2_xbox.xbe - (The main game. Combination of all HL2 .dlls into 1 xbe)
- GameMedia
- zip0_xbox.xz_ - (Extracts zip0_xbox.xzp to selected cache directory.)
- zip0_xbox_(language).xz_ - (Extracts zip0_xbox_(language).xzp to selected cache directory.)
- Maps
- All the standard HL2 SP BSP files. - (Extracts loaded and cached maps to selected cache directory.)
- Sound
- Music
- The HL2 music in Xbox ADPCM WAV format.
- Stingers
- More sounds in Xbox ADPCM WAV format, from source sounds.gcf
- Music
- LoaderMedia
- demo_Attract.xmv - (Gameplay demo video.)
- install.txt - (Dictates what copies over to selected partition partition.)
- loader.xpr - (Xbox Packed Resource a structure and file-format used by the Microsoft XDK.)
- title_load.xmv - (Half-Life 2 intro video.)
- valve_leader.xmv - (Valve intro video.)
- Save layout
E:\TDATA\45410091\
- hl2
- hl2x
- cfg
- continue.cfg - (holds game continue status in binary.)
- xboxuser.cfg - (Xbox version of config.cfg. Holds an checksum so it cannot be modified without modification to xz_ files or to HL2 xbe.)
- maps
- SAVE
- _transition - (Save file at transition point.)
- autosave - (Save file at autosave.)
- <map name>.hl# - (Game Saves.)
- cfg
- hl2x
- Cache layout
Z:\ (usually), Y:\ or X:\
- HL2
- Each file that is copied also has a blank zero-byte 'mrk' file along side it. An example of this is: 'intro.bsp.mrk' or 'version_235.txt.mrk'
- HL2x
- This folder accepts loose files that are in Xbox format, see below for file types and how to create/modify them.
- It accepts: 'materials', 'sound' and more.
- maps
- Loaded and cached maps - (Extracted from D:\GameMedia\ partition.)
- SAVE
- zip0_xbox.xzp - (Uncompressed from zip0_xbox.xz_ in D:\GameMedia\ partition.)
- zip0_xbox_english.xzp - (Uncompressed from zip0_xbox_english.xz_ in D:\GameMedia\ partition.)
- HL2x
- LoaderMedia
- title_load.xmv - (Extracted from D:\LoaderMedia\ partition.)
- version_235.txt - (Rename of install.txt from D:\LoaderMedia\ partition.)
File Types
- Executable Format
- .xbe - (Xbox Executable)
- Archive Format
- .xz_ - (compressed archive (JCALG1 compression). See xzptool.)
- .xzp - (uncompressed archive similar to a VPK.)
- Texture Format
- .xtf - (Xbox Texture File is the Xbox Equivalent to the VTF. Includes Preload Image as holdover till the full resolution image is loaded from cache.)
- Physics Format
- .phx - (Xbox Physics File is the Xbox Equivalent to the PHY. Removing Text section for data values)
- Video Format
- .xmv - (Xbox Media Video is the Xbox version of the .wmv / Windows Media Video.)
- Audio Format
- .wav - (Despite being the same extension as its Windows counterpart, the wavs in the disk are the Xbox version of the .wav file. See (XWV-py)[github.com/smb123w64gb/XWV-py/tree/main].)
- Save Game Format
- .hl# - (Unique Game Save format that is used instead of SAV E.g. .hl1, .hl2, .hl3 Ect.)
- Script Format
- .xcd - (Xbox Choreography Data is the Xbox version of a VCD file.)
Compiling Maps
Installation
- The unofficial Source SDK 2005 tools provide a drop in replacement of VBSP, VVIS, VRAD for Source SDK 2006.
- Located in the directory <Install Location>/steamapps/common/SourceSDK/bin/ep1/bin/
Compilation
- VBSP
- Requires the -xbox flag.
- VVIS
- No extra flags are required.
- VRAD
- Requires -xbox and -exportLightmaps. If it fails to pack the lightmaps follow by changing the Luxel Size. See Lighting optimization.
Custom cubemaps
- If your map uses cubemaps, you will also need to convert them to XTFs otherwise they will not load and will default to missing textures (purple and black), as the Xbox version does not use PC VTFs. See this guide: https://docs.google.com/document/d/1Zw3uZYdpCWaGxMtJ3-IRgayM9HIWiHyTJN0N16T3j30/edit?usp=sharing.
Installing and loading in
- You can then install the map by putting it in
<cache_directory>\HL2\HL2x\maps. However you will also need to create a blank file named after the map (including the extension) with the file extension being 'mrk'. You can also load it by putting it in D:\GameMedia\maps. However, since HL2X caches maps, you will need to delete the old map alongside the 'mrk' inside your cache. After this is done, you can use an hub map calledintro.bspwith an Changelevel via point_servercommand to your map, or you can also rename your custom map tointro.bsp(which comes with a few issues).
- If all goes well, you should have your first custom map! Congratulations!
Necessary Programs
- FTP (File Transfer Protocol) Software
- FileZilla - (FileZilla is a free cross-platform FTP application.)
- File Editing Software
- Notepad++ - (Notepad++ is a text editor. It is useful for editing plain text formats such as VMT, TXT, CFG etc.)
- VPKEdit - (VPKEdit is an exporting and viewing tool for the .xzp archives. It can also be used as an replacement for pakrat, meaning you can pack maps with custom cubemaps.)
- xzptool - (xzptool can write XZPs to and from XZ_ files. This means you can mount fully custom zips, as long as you specify the new file in the D:\LoaderMedia\install.txt file.)
- Texturing Software
- Paint.net - (Paint.net is a free raster graphics editor program.)
- GIMP - (GIMP is a free and open-source raster graphics editor used for image retouching and editing.)
- Noesis - (Noesis is a multitool program that just about anything from viewing .xtf textures to mocap "Motion capture" animations.)
- MareTF - (MareTF can read, write, modify and create XTF files with little to no limitations. It is lightweight and is updated regularly.)
- Modeling Software
- Blender - (Blender is a free and open-source 3D computer graphics software toolset used for creating visual effects, 3D printed models, motion graphics, and computer games.)
- Source SDK - (Legacy Source SDK still includes "-xbox" for compiling models. Does not create correct v47 MDL)
- Mapping Software
- Valve Hammer Editor - (Valve Hammer Editor is the official mapping tool for the GoldSrc and Source.)
- Hammer++ Editor - (Hammer++ is the improved version of the original Hammer Editor, you can use this to map for the Original Xbox, however it does sometimes corrupt logic.)
- Source SDK '2005' - (In progress fork of Source 2006 aiming to restore XBOX tools. VBSP, VRAD and more are currently available (here)[1]. Do note that it cannot create custom models as of yet.)
- Audio Software
- XWV-py - (XWV-py by smb123w64gb on GitHub can create XBOX format wav files with and without VDAT data.)