Comments

Commented 4 months ago2023-11-28 10:15:41 UTC in journal: Goldsrc BSP relational model Comment #105666
What are C structs but database records, and its members but db fields?

But really, reading the BSP specs and how a lot of the struct fields are indices into the next struct really reads like relational model of a db, and with 14 lumps interacting this way I really, really needed a visual aid to understand how it all relates with each other, which strangely for the 27+ years of BSP's existence has not existed in any form. Hence the chart, and this journo entry I made to put it in.
Commented 4 months ago2023-11-28 05:06:53 UTC in wiki page: Tutorial: How to Make HD 1080p Backgrounds for HL1/Goldsrc Games Comment #105664
Half-Life 25th Anniversary Update findings
Post-25th Anniversary Update Half-Life has a separate set of files for HD backgrounds:
  • HD_BackgroundLayout.txt
  • HD_BackgroundLoadingLayout.txt
In all the files the second field of the background tile set to fit instead of scaled, which appears to crop the background as a whole to fit the screen's aspect ratio instead of stretching it. Example line:
resource/background/21_9_1_a_loading.tga    fit    0    0
The above findings may not be finalized on Valve's part and may be subject to change. It's posted here for information purpose only.
Commented 5 months ago2023-11-22 14:26:30 UTC in vault item: Sykhiv_yards_b2 Comment #105650
Oh hey, new areas! Sadly the download link is broken. nvm it works now.

Feedback:
  • Outdoor light_environment should be white on midday, with ambient colour set to sky blue.
  • Grass texture is too rough. Find a softer one.
  • Grass colour doesn't match the tree or the other foliage. It's too green.
  • Grass terrain is super bumpy; I'm pretty sure it affects performance. It doesn't need to be super bumpy or super-divided. The central courtyard in crossfire achieves a non-flat terrain with just 3-4 brushes.
Commented 5 months ago2023-11-21 00:18:31 UTC in wiki page: Tutorial: Setting up a Mod: Part 2 - Splash Screens (Steam) Comment #105646
Half-Life 25th Anniversary changes
Due to Valve reworking the game menu to visually look like the old WON menu screen, the structure of GameMenu.res is changing and in flux until Valve finalizes it.
As usual, switch to the steam_legacy beta to continue using the old specs in the meantime.
Commented 5 months ago2023-11-16 18:41:37 UTC in wiki page: Tutorial: Detailed Textures in Half-Life Comment #105645
BIG CAVEAT: If the base textures are not square, YOU MUST USE near the same ratio for the horizontal and vertical tile factors or the detail textures will look stretched. Unfortunately, applied detailed textures in the wild are more stretched than not.

The current tool set [or utter lack thereof] makes it very very cumbersome to get the correct factors to account for the different dimensions of every texture in every map of your mod, which I think discourages more widespread application of detail textures to maps.

There is also an issue of textures containing a mixture of material types which basically need their own detail textures tailor made.

I'm thinking of developing a program to address these issues but I want it to be able to render the result in 3D. It's a very steep thing to pick up though. (I could fork off of bspguy but I don't want to take over someone else's cooking 😅)
Commented 5 months ago2023-11-16 15:49:56 UTC in vault item: Half-Life: Randomized + source code Comment #105644
If people were to do these kinds of meta-mods, they should be developed to run on metamod[-*] imo. That way there can be a path to extend it to run on top of any mod, not just Half-Life.
Commented 5 months ago2023-11-16 07:10:52 UTC in vault item: Diesel electric generator Comment #105643
I know... but I don't feel like iterating it until it feels right. The panel func_button as is targets an intermediary, currently occupied by `trigger_relay`s so that those who wanted to fine-tune the sequence further can just put a multi_manager or more complex logic in its place.

I would do it if I were to actually put this in an actual mod... But don't count on it! 😅
Commented 5 months ago2023-11-12 10:21:24 UTC in vault item: BspTexRemap v0.3 (pre-release 2) Comment #105635
^ This program is written in Python 3.11. Most Linux distros include Python by default so you can run the python file directly from the source files (though you might have to upgrade to 3.11). You need to know how to [optionally set up virtual environments and] install the required python packages. The requirements file is in the source, and you should be able to set it up in the standard Pythonic way.
  1. Make sure you have Python 3.11 or above
  2. Download the source:
    User posted image
  3. Extract to a folder.
  4. Open your terminal and type these commands:
cd <path to the src folder from the extracted path>
python3 -m venv venv
./venv/Scripts/activate
pip3 install -r requirements_gui.txt
  1. Create a new file run gui.sh (name not important) and type these commands:
cd <path to the src folder from the extracted path>
./venv/Scripts/activate
./BspTexRemap_GUI.py
  1. Now any time you want to run the program, you just run the bash script above.
Commented 5 months ago2023-11-01 08:48:00 UTC in wiki page: game_player_equip Comment #105613
^ idk what you mean. if you think i meant the classname (things JACK lists) then that's incorrect. I mean game_playerspawn is the targetname you assign to this entity, or any other entity of any classname.

the game fires entities of the name game_playerspawn on your behalf every time you spawn in a map. another example is if you have a game_text entity with the name game_playerspawn you'll see the game_text 's text when you spawn.

also, game_* entities in general are added sometime after retail release so this entity, and the game engine firing game_playerspawn would be absent on early WON versions or earlier SDKs.
Commented 7 months ago2023-09-17 15:06:33 UTC in vault item: BspTexRemap v0.3 (pre-release 2) Comment #105566
v0.2 is out. A standalone build of the python port is now available for download.
Commented 7 months ago2023-09-15 19:11:04 UTC in vault item: GoldSrc Map2Prop Comment #105560
A few more ideas:
  • Implement smoothing groups via brush entities
  • Implement mesh tying to bones via brush entities, with the origin brush as the bone position. This would open the door to animating or adding bone controllers with qc.
My end goal is to be able to turn a porta-pottie with its door into a model (you can guess where this is going...)
Commented 7 months ago2023-09-09 07:39:49 UTC in vault item: MyHouse.BSP Comment #105552
Happiness has to be fought for.
Commented 7 months ago2023-09-04 16:41:42 UTC in wiki page: Tutorial: Non-coding workarounds for your mod Comment #105523
Here to clarify what "loading screen" means. It's the moment after the game entered fullscreen and before the main menu shows. It's actually not the time when the maps are loading (I tested) so you're actually only seeing it for a fraction of a second tops. No wonder nobody bothers making a custom one.
Commented 8 months ago2023-08-09 11:45:11 UTC in vault item: BspTexRemap v0.3 (pre-release 2) Comment #105465
Can people currently using this for their projects each send a sample BSP pre-remap? HLDM/Op4 maps only.

I got somebody reaching out with a bug but I can't ask for a test file because he's compiling for DoD and I don't have DoD.

Discord id: youdontmatter.giveup. (don't ask why)
Commented 9 months ago2023-07-22 18:36:50 UTC in vault item: GoldSrc Map2Prop Comment #105435
Haven't tried this yet as I've been out of my mapping streak.

This program is a step forward to make goldsrc propmaking workflow better, for sure. For one, it eliminates the need to use Blender+plugin for the obj to smd conversion.

I really hope you explore the possibility of extracting compiled .bsp models as .objs, which you can feed into the toolchain, as the lightmaps can then be baked into the textures of the props, suitable for larger props e.g. 3d skyboxes.
What this would make possible is a single compile workflow: csg, bsp, vis, rad, bsp2prop.
Again, this tool being at the end means it has rad's lighting information to work with.

I know unrealkaraulov's newbspguy fork has this exact feature, but it's not accessible in the CLI (in fact his fork's CLI is completely broken) and he's been on radio silence as of late.
Crafty can export .bsp as .objs as well but only the whole .bsp. Again, UK's newbspguy comes in a clutch with its ability to export individual brush model as a standalone .bsp, which you feed into Crafty. But again, the problem with these programs are that they have no command line interfaces.
Commented 10 months ago2023-06-19 11:04:19 UTC in vault item: TimeWarp Demo v1.1 Comment #105361
Windows Defender is freaking out with the exe:
User posted image
User posted image
Commented 1 year ago2023-03-21 08:09:59 UTC in vault item: info_hullshape example Comment #105179
Thank you for clearing the ambiguity once and for all. 🙏‍

A small note: If you want the player to fit a tight space of width w, the hull size must be at maximum w-1. If the narrowest passable doorway in the map is 24u wide, the hullshape needs to be 23u wide (both directions ofc).

Another note: The origin height of hull3 (ducking player) should be half of the original 36u hull regardless of the height of your custom hull. I did a little testing and, for whatever reason, you could get the ducking hull stuck under the standing hull, meaning players can't recover from a ducking position, and would stay ducking unless they jump.
Commented 1 year ago2023-03-17 18:40:17 UTC in wiki page: Tutorial: Materials.txt Comment #105175
^ Thank you for linking, that's a pretty cool read.

Also to let you know I released a tool that makes use of the 12-char quirk and renames embedded custom textures to those in materials.txt:
Loading embedded content: Vault Item #6732
Commented 1 year ago2023-03-03 17:39:58 UTC in vault item: BspTexRemap v0.3 (pre-release 2) Comment #105156
I'm gonna be afk for 3 days. Might as well release it now for people to test it.
Commented 1 year ago2023-02-26 17:18:00 UTC in vault item: Toggleable lights on func_[track]train Comment #105135
I originally wanted to demonstrate with a func_tracktrain, but I don't have time to build a complete map with train tracks.

EDIT: Also I want to point out that this is not a working example of the func_[track]trains throwing out light, but instead of light being thrown onto them instead. Prolly should've put a screenshot or 2. That's for later.
Commented 1 year ago2023-02-26 16:41:24 UTC in wiki page: game_player_equip Comment #105134
use name game_playerspawn to automatically trigger this entity at the start of the map.
Commented 1 year ago2022-10-22 12:19:26 UTC in wiki page: Tutorial: Skewing textures in Hammer Comment #104864
What's the formula to do this to trapezoidal faces (e.g. Ames room)?
Commented 1 year ago2022-10-16 20:51:43 UTC in wiki page: Entity Flag: Passable Comment #104852
Request deletion. Entity Flag: Not solid/Passable covers both.
Commented 1 year ago2022-10-16 20:35:24 UTC in wiki page: Entity Attribute: Entity Effects Comment #104850
Do this work on point entities? If not, need to specify that it only works on brushes.
Commented 1 year ago2022-10-16 17:23:53 UTC in wiki page: Tutorial: Setting up a Mod: Addendum Comment #104849
I thought the tutorial series needs an addendum as to what other things you might want to set up for your mod; stuff that isn't related to in-game content. Feel free to add whatever I may have missed.

Also it's past midnight and I have to postpone integrating this to the rest of the tutorial's navigation.
Commented 1 year ago2022-10-16 13:05:16 UTC in wiki page: Tutorial: How to Make HD 1080p Backgrounds for HL1/Goldsrc Games Comment #104847
Here's a way better method, using irfanview.

Exporting background image to tiles using Irfanview

  1. Download and install/extract Irfanview
  2. Open image with Irfanview
  3. Change canvas size to best-fitting multiples of 256 (in this case 2048x1280)
    1. Select Image > Change canvas size
    2. Select Method 2
    3. Type in values 2048 and 1280 for width and height
    4. Select anchor top left
    5. Click OK.
  4. Export image tiles
    1. Select Options > Export image tiles
    2. Type 8 and 5 for columns and rows (remember, cols > rows)
    3. Set destination to your mod's resource/background folder
    4. Set image type as TGA
    5. Click Start
    6. Wait until operation finishes. Find the image tiles in your destination folder.
  5. Crop the right edges
    1. Open Irfanview batch mode (File > Batch conversion/Rename)
    2. Select the image tile named Mx8 (M is the row numbers 1-5) (5 files total)
    3. Press Add, or drag them to the listbox at the bottom of the dialog
    4. At the far left side, select Work As: Batch conversion
    5. Enable Use advanced options
    6. Click Advanced...
    7. UNCHECK every checkbox EXCEPT CROP (top left) and Overwrite (lower right)
    8. Enter these values under CROP:
      • X-pos: 0
      • Y-pos: 0
      • Widh: 128
      • Height: 256
      • Start corner: Left Top
    9. Press OK
    10. Press Start Batch
    11. Wait for batch operation to complete.
      • The log should report itself replacing the files. If not, you have to try again, and double-check the Advanced dialog.
    12. Click Exit batch.
  6. Crop the bottom edges. The process is similar as previous.
    • For step 2, replace with files with 5xN suffix (N is the column numbers 1-8) (8 files total)
    • For step 8, replace the following values:
      • Widh: 256
      • Height: 56
  7. Check your tiles. It should be in these dimensions:
    • 256x256 uncropped (MxN, M=1-4, N=1-7)
    • 128x256 for the right edge (Mx8 suffixed files)
    • 256x56 for the bottom edge (5xN suffixed files)
    • 128x56 for 5x8 suffixed file
    1. If not, you need to repeat from step 4 (mis-cropped) or steps 5/6 (not cropped)
  8. DONE
Commented 1 year ago2022-10-05 10:41:01 UTC in wiki page: Tutorial: (Almost) correct detail textures for upscaling WAD textures Comment #104832
What blending mode would I use for Paint.NET?
Commented 1 year ago2022-10-02 07:14:08 UTC in vault item: dm_diving_pools Comment #104823
It's like being on a real place. Very masterfully done.

Also couldn't help myself from opening the file in bspguy to see how the flip do you trigger all the buttons to get to the secret, and also having a sneak peek at it. It's a whole other level (in both sense!)
Commented 1 year ago2022-10-01 21:33:12 UTC in vault item: TWHL Cubicles Comment #104822
Still had crashings even without those folders.

I resorted to editing the liblist.gam and comparing it to another mod that also uses vanilla dlls and is confirmed to work - USS Darkstar. I replaced gamedll to match darkstar's so it now reads:
gamedll "..\valve\dlls\hl.dll"

the edited liblist.gam:
// gamedir "cubicles"
game "TWHL Cubicles"
startmap "cubicle01"
trainmap "cubicle01"
version "1"
// gamedll "dlls\hl.dll"
gamedll "..\valve\dlls\hl.dll"
// cldll "1"
mpentity "info_player_coop"
url_info "TWHL.co.za"
// hlversion "1110"
type "singleplayer_only"
And now it runs!

edit: rating
Commented 1 year ago2022-09-27 04:54:50 UTC in wiki page: Vlatitude: Monster_generic and Monster_furniture Comment #104803
any way to make monster_furniture solid? I've set the bbox and clipbox of the model but I still have no collision with the model.
do I set the monsterclip flag?
Commented 1 year ago2022-08-14 20:26:28 UTC in vault item: Fallingliquid Comment #104724
Any thought of porting this to gmod? I successfully managed to port it, sorta, but I legally can't publish it to the workshop.
Commented 1 year ago2022-08-12 17:57:05 UTC in vault item: dm_demoncore Comment #104720
Remember to have your screwdriver out! I mean firmly slotted in the gap! Don't pull it out!
Commented 2 years ago2022-02-14 15:26:10 UTC in wiki page: game_score Comment #104119
master should point to a game_team_master entity for teamplay mode
Commented 2 years ago2022-02-14 14:52:55 UTC in news: Competition - Bridge the gap Comment #104118
I'm redoing the whole &quot;gap&quot; for my entry. Is this okay?I'm redoing the whole "gap" for my entry. Is this okay?
Commented 2 years ago2021-08-12 14:31:47 UTC in wiki page: info_texlights Comment #103668
The presence of this entity will not override the lights.rad file - both the values specified in this entity and the lights.rad file will be used by HLRAD.
Yeah, but which one takes precedence? If both contains texlight entry for the same texture, which one will be used?
This comment was made on an article that has been deleted.
Commented 2 years ago2021-08-12 08:56:24 UTC in wiki page: Sentences.txt Comment #103666
By yours truly.

Let this be the definitive guide for sentences.txt, especially for the scant information on the modifiers.
Commented 2 years ago2021-08-11 15:56:42 UTC in wiki page: Tutorial: Changing Levels Comment #103664
why can't you do one-way level change by omission? does it affect some parts of the game?
Commented 2 years ago2021-08-08 14:03:24 UTC in wiki page: Tutorial: Stairs Comment #103652
For the love of everything that is nice, do not use 16u rising and 32u going! Those are Goliath-scale stairs you got there.

12 by 16 would be more human scaled. If you're spooked of 12 not being on grid, have your stairs in groups of four, which measures a neat 48 by 64.
Commented 2 years ago2021-08-02 20:01:39 UTC in wiki page: Tutorial: Dimensions Comment #103647
I must add that the 16HU to 1ft conversion is useful in at least one thing: stairs. If applying the aforementioned conversion to everything else makes people look short, then completely ignoring it and making steps rise 16HU makes them even tinier! 12HU rising and 16HU going sounds about right.
Commented 2 years ago2021-07-31 08:51:43 UTC in wiki page: Tutorial: Permanently locked doors Comment #103638
An alternative is to set the master to a multisource, and to make sure at least one entity (e.g. func_button) in an unreachable area targets the multisource. This way you don't have to name the doors. And you can see/sort/mark the locked doors in the entity report by filtering the master property to the name of the multisource.