Forum posts

Posted 6 months ago2023-11-29 22:46:29 UTC
in Help with custom buttons in goldsrc Post #348115
Trying to make a mod based on TFC. I added a menu item that runs "toggleconsole" and this text apears upon manually opening the console. (The button does nothing). Any ideas why it's doing this?

Unknown command from unsafe location. Ignoring.
I use JACK to do my mapping. Is there anything I need to do to allow it to work with the updated limits, like a new .fgd file? If there is, how can I find and install it?
Posted 6 months ago2023-11-29 14:38:09 UTC
in Better bots than Zbot Post #348113
Bumping it because is an important question for me.
REBELVODKA REBELVODKASemper fidelis
Posted 6 months ago2023-11-29 14:31:46 UTC
in Half-Life Asset Manager Post #348112
There is no Linux version yet, but you can try to build it yourself by using the Continuous Integration configuration as a starting point:
https://github.com/SamVanheer/HalfLifeAssetManager/blob/b6999b647c9439a2e8e2481c9672d9b6442fee2e/.github/workflows/ci-cd.yml#L19-L43

Some of these steps are only for CI, just make sure to clone the repository using recursive clone so vcpkg is also cloned. You'll need to set up CMake to use the toolchain file provided by vcpkg as shown in the CI configuration.

You'll need to install these packages as well:
  • libopenal1
  • qtbase5-dev
Run CMake to set up the Makefiles, then make and make install to install the resulting executable. Note that i haven't set up the install rules for Linux yet, the Windows version includes some third party libraries so it will probably be incorrect.

You can also download Linux artifacts produced by the CI pipeline on Github by going to the Actions tab and then the latest successful run, like this one: https://github.com/SamVanheer/HalfLifeAssetManager/actions/runs/6997951607

CI builds are release builds and are almost identical to release builds made using the above steps.

My goal is to get the Linux version fully operational for version 3 including proper installation rules and a simple guide for compiling, but that's not going to happen for a while.
Understood. I'll use those 2 points as guidelines when I get to the real painful entities that are a bit more involved.
Thanks for the help big fella! :)
I have a plan I have a planDeleted Scenes is the best CS!
Posted 6 months ago2023-11-29 10:58:49 UTC
in Better bots than Zbot Post #348110
I would like know if exist better bots than zbot for Counter Strike 1.6
I ask this because I see zbot sometimes moves with nosense or get stuck in some areas.
Thanks
REBELVODKA REBELVODKASemper fidelis
We don't really have a standard way to do it - it would be best to keep all the games on the same page unless they are significantly different for some reason. So I would say...
  • Same entity with only slightly different game-specific stuff -> add info box with the game-specific info
  • Same entity with very different game-specific stuff -> create new page with the game-specific info (new page called "entity_name (Game Name)")
Basically if the info box has a lot of text in it, put it in a different page. And then optionally on the page for the base entity, you can add an info box with a link to the other page for the CSDS users.
Penguinboy PenguinboyHaha, I died again!
Heyo,

What would be the best way to update pre-existing pages with new information that is specific to only one game?

Should I just add an information panel and add the category to add it into CSDS or is there another, better way similar to inheritance?
I have a plan I have a planDeleted Scenes is the best CS!
Posted 6 months ago2023-11-29 03:15:15 UTC
in Half-Life Asset Manager Post #348107
Can you provide the build instructions for Linux?
Here's the place to discuss, ask questions, or show off your work-in-progress screenshots for the Vanilla HLDM Competition celebrating Half-Life's 25th Anniversary!

The prizes are serious this time, it's my last available copy of Raising the Bar that'll be shipped to the winner. Good luck, I can't wait to see what you come up with!
Posted 6 months ago2023-11-29 01:45:00 UTC
in Issues with copy-pasted entity code Post #348105
Instead of copy-pasting, consider extending the CBarney class and overriding the methods those are different for your CCustom class.
Posted 6 months ago2023-11-28 23:20:44 UTC
in Issues with copy-pasted entity code Post #348104
I'm making a simple monster for my mod which is basically a copy of the Barney entity. I copied barney.cpp from the source code, then renamed everything to the name of my custom monster. I took care to make sure that everything was using the right case (i.e. CBarney vs. BARNEY_AE_DRAW vs. monster_barney), that the file paths were correct, and that the code still made sense. Even though it compiles fine and I can't see what I did wrong, I get the error message Can't init monster_custom in the console. This is the code I used (you can see at this point I've just replaced "barney" with the name of the monster):
https://pastebin.com/gicA49DR (using pastebin because the code was too long)

models/custom.mdl and sound/custom/... are real files and directories and have the expected contents.

EDIT: I am a moron. The solution was to actually compile the DLL and fix all the errors. I forgot I didn't even try to recompile first.
Posted 6 months ago2023-11-28 22:15:30 UTC
in Coding help needed for PMPreCache plugin Post #348103
Previously I announced my simple Metamod plugin which helps to spread player models. I've been using it ever since then and it works, but it has certain aspects that I'm dissatisfied with, and I'm not an experienced plugin author yet to fix them.
  1. On Linux, file names are case-sensitive, and if the user provides the model with a different case, my plugin doesn't find it. Not sure if the engine is prepared to look up files case-insensitively, but it leads to another problem: I use the access() system call to check for the existence of files and it is obviously not a good idea. Once, it completely bypasses the engine, so even if the engine has a solution to look up files case-insensitively, I don't utilize that. Moreover, it makes the code platform-dependent, as it won't compile on Windows. I know there is an engine callback, LoadFileForMe, but I don't want to load the model files at that point, just check for their existence. I also don't know the lifetime of the buffer returned by this function, is the engine smart enough to not load this file again when it is precached the next round, or would I waste memory, how to ask the engine to free it if I need to.
  2. The plugin is supposed to inform players whether the server has their player model. The problem is that the message is sent when the player has not yet fully entered the game, so it's not shown to them. When I was experimenting with this feature, I found like 3 methods to send messages to the player, and the maximum I could achieve is that the message appeared on the console, which is easy to miss. I somehow need to delay the sending of the message, but I don't know how to approach this problem. Somehow I should set up a timer.
  3. Currently I allocate my own buffer for storing strings because I'm afraid ALLOC_STRING() would redundantly allocate the same strings for the same player models over time and I don't know when these strings get freed. So I felt like this is the only way to control the lifetimes of these strings, but I'm curious for better ideas.
I really hope some HLSDK gods are around to help me out with this; thanks in advance! :D
Hey folks,

I'm building a challenge mod as a part of Half-Life's 25th Anniversary.
I have previous experience with C# .Net (school experience, 15 years ago), but I am new to C++, so I might not have all the right reflexes.

In a nutshell. I'm building a mod with different scenarios:
  • Crowbar only (with a few map iterations to remove the impossibility of making it happen - i.e. removing the mines in c2a4c and c2a4e and removing the explosive crates in c2a4g).
  • 9mm only (with iterations at c1a1 to make the doors open without having to break the glass)
  • 1hp mode (with iteration to c1a0d to remove the HEV suit, easy since .rmf is included in SDK)
  • Adding Hardcore skill (4th skill - realistic damage to player/monsters + slow when injured).
  • Realistic mode (counter-strike mechanism for weapons (1 side, 1 main, 1 melee, 1 explosive, with G to drop/change) + hardcore skill)
  • Permadeath mode (no save allowed, exit when dead, default skills + hardcore)
So far, I've programmed the crowbar & 9mm mechanism, and it works (created a new FallThinkProp and FallInitProp entity and removed Materialize() from them to create real pickable and prop unpickable weapons and avoid sound (weapon drop) looping issues.)

But now, it works for the entire game, no matter the skill I select.

If I want to incorporate everything under the same mod, what would be the best practice? How would I achieve that? Should I just create different .dlls and point the right ones depending on the mod selected with the in-game menu?

Open for collaboration as well :)
Posted 6 months ago2023-11-26 21:09:08 UTC
in Half-Life Asset Manager Post #348100

Half-Life Asset Manager V2 Release Candidate 1 released

Half-Life Asset Manager V2 Release Candidate 1 has been released: https://github.com/SamVanheer/HalfLifeAssetManager/releases/tag/HLAM-V2.0.0-RC001

Changes:
  • Added OpenGL debug logging (debug builds only)
  • Removed obsolete sequence group filename correction and saving behavior (no longer used)
  • Replaced stringstream uses with fmtlib
  • Updated vcpkg to latest version, updated dependencies to latest versions:
    • fmtlib: 9.0.0 => 10.1.1
    • spdlog: 1.11.0 => 1.12.0
    • OpenAL-Soft: 1.22.2 => 1.23.1
  • Reworked filesystem absolute path resolution to no longer search relative to the program install location
  • Implemented case-insensitive filesystem lookup to allow files to be loaded even if the filename case differs on Linux
  • Rewrote model loading to make error messages more accurate
  • Added option to mute program when it is in the background
  • Fixed minor issue in Options dialog page remembering behavior
  • Moved Take Screenshot action to Video menu, now usable using F10 shortcut
  • Reworked fullscreen mode to use the main window instead of a separate window
  • Ensured keyboard shortcuts still work in fullscreen mode
  • Escape no longer closes fullscreen mode, F11 now toggles the mode
This adds all features that were planned for V3 aside from the graphics overhaul. The Linux version is working pretty well aside from the graphical issue mentioned in a previous update so once V3's graphics overhaul is complete the Linux version should also work properly.
Posted 6 months ago2023-11-26 20:22:28 UTC
in How do I override engine (*pfn...) funcs? Post #348099
I don't think you understand how this entire messaging system works. The structure in eiface.h defines the server-engine API, which is a set of functions provided by the engine to the server in a struct when the dll is loaded. This means, you can't modify these function calls, otherwise you'll break the entire API and your mod will be non-functional, possibly crash.

Also SVC_TEMPENTITY is a message that is handled inside the engine, so you cannot modify the contents of TE_TEXTMESSAGE to add your font size parameter: the engine will not understand how to process it. It'll still try to read the message contents as if that new WRITE_SHORT wasn't there.

Also I believe Half-Life's text renderer does not allow for custom font sizes. The font size used to display game texts is of fixed size, and cannot be altered. You'd need to add your own text rendering code to allow for custom font sizes, and you'll need your own client-side message function to send this info to the client.dll.
Posted 6 months ago2023-11-26 20:22:10 UTC
in How do I override engine (*pfn...) funcs? Post #348098
Even if you were able to - you probably shouldn't change pfnMessageBegin, that may break a lot of stuff to do with decals, blood, effects, etc
brannanz brannanzBUGBUG
Posted 6 months ago2023-11-26 19:16:35 UTC
in How do I override engine (*pfn...) funcs? Post #348097
I'm trying to modify the game_text entity to allow for custom font sizes. I implemented the custom parameter fontSize, but the next step is getting the HUD message system to display my text. I was able to find this cryptic-looking code which writes a message to be displayed on the HUD, and implemented my custom parameter:
void UTIL_HudMessage( CBaseEntity *pEntity, const hudtextparms_t &textparms, const char *pMessage )
{
    if ( !pEntity || !pEntity->IsNetClient() )
        return;

    MESSAGE_BEGIN( MSG_ONE, SVC_TEMPENTITY, NULL, pEntity->edict() );
        WRITE_BYTE( TE_TEXTMESSAGE );
        WRITE_BYTE( textparms.channel & 0xFF );

        WRITE_SHORT( FixedSigned16( textparms.x, 1<<13 ) );
        WRITE_SHORT( FixedSigned16( textparms.y, 1<<13 ) );
        WRITE_BYTE( textparms.effect );

        WRITE_BYTE( textparms.r1 );
        WRITE_BYTE( textparms.g1 );
        WRITE_BYTE( textparms.b1 );
        WRITE_BYTE( textparms.a1 );

        WRITE_BYTE( textparms.r2 );
        WRITE_BYTE( textparms.g2 );
        WRITE_BYTE( textparms.b2 );
        WRITE_BYTE( textparms.a2 );

        WRITE_SHORT( FixedUnsigned16( textparms.fadeinTime, 1<<8 ) );
        WRITE_SHORT( FixedUnsigned16( textparms.fadeoutTime, 1<<8 ) );
        WRITE_SHORT( FixedUnsigned16( textparms.holdTime, 1<<8 ) );

        WRITE_SHORT( textparms.fontSize ); // my code

        if ( textparms.effect == 2 )
            WRITE_SHORT( FixedUnsigned16( textparms.fxTime, 1<<8 ) );

        if ( strlen( pMessage ) < 512 )
        {
            WRITE_STRING( pMessage );
        }
        else
        {
            char tmp[512];
            strncpy( tmp, pMessage, 511 );
            tmp[511] = 0;
            WRITE_STRING( tmp );
        }
    MESSAGE_END();
}
I was able to trace the MESSAGE_BEGIN() macro to "enginecallback.h", where the macro is defined to call a function in "eiface.h", which is defined as this:
void (*pfnMessageBegin) (int msg_dest, int msg_type, const float *pOrigin, edict_t *ed);

No matter how hard I looked, though, I couldn't seem to find the body of void pfnMessageBegin(int, int, float, edict_t) that the pfnMessageBegin pointer in "eiface.h" was referencing. How do I change this code to use my custom data?
Seems to be working fine for me. Maybe a config file is overriding the setting?
Posted 6 months ago2023-11-26 13:18:19 UTC
in LoadBlob.cpp NULL!=hmoduleT Post #348095
Does this happen with the latest update? It looks like they've disabled asserts so this shouldn't happen anymore.

Regardless, the probable reason for this is the secure client code: https://github.com/ValveSoftware/halflife/issues/1893

Secure clients were once encrypted blobs which is why the error mentions LoadBlob.cpp. If they get rid of the redundant load calls this problem should be solved altogether, but it appears the asserts are already disabled so it shouldn't happen anymore.
Posted 6 months ago2023-11-26 11:34:41 UTC
in My decal spray logo doesn't look good in-game Post #348094
Thank you a lot, worked it!!
REBELVODKA REBELVODKASemper fidelis
I've tried adding -window -condebug to the command line parameters for one of my mods through the Steam UI but the mod still loads full screen. Is this not working at the moment?
Posted 6 months ago2023-11-26 09:00:40 UTC
in LoadBlob.cpp NULL!=hmoduleT Post #348092
I know this is due to the 25th anniversary update but my mod is still failing to launch with this error and I'm not really sure what the cause is. I thought the last patch fixed most mods not launching.

I've tried disabling the Steam API and all the external .dll files I'm loading but no luck. Source code is at https://github.com/tschumann/basis if that helps. The issue is somewhere in client.dll anyway - if I get rid of my client.dll the game reaches the main menu.
Posted 6 months ago2023-11-26 08:55:16 UTC
in 64-bit GoldSource engine? Post #348091
Yes looks like it - the cs_amd64.so looks like it was built with gcc 3.2.2 so very old.
Posted 6 months ago2023-11-26 08:54:29 UTC
in Terror-Strike template? Post #348090
I think the Counter-Strike update before last had some stuff enabled but the last patch fixed it.
Posted 6 months ago2023-11-26 07:41:56 UTC
in Terror-Strike template? Post #348089
L4D2系列游戏的原型吧,关于最近的CS的版本更新。
The prototype of the L4D2 series of games, about the recent version update of CS.
https://www.youtube.com/watch?v=jt_H99KxfYY
Lei Shi Lei ShiFRSēŸ³ē£Š
Posted 6 months ago2023-11-26 02:32:30 UTC
in Terror-Strike template? Post #348088
Well that's not a lot of information to go on at all. I googled "terror-strike half-life" and two of the top three results were this very thread. Is it a mod? A server game mode?
monster_urby monster_urbyGoldsourcerer
Posted 6 months ago2023-11-25 21:01:53 UTC
in Terror-Strike template? Post #348087
Or the map? I canĀ“t find it.
Posted 6 months ago2023-11-25 13:54:11 UTC
in Finding out how a map works Post #348086
I haven't used Crafty in many years, but it's possible it's geometry-only or might need some configuration set up for your game/mod.

Give BspGuy a try (you'll find it in the Viewers section of Tools and Resources) and potentially the Unified SDK decompiler (Decompile Tools section of the same page).

If these two don't work out, try using Ripent. If the entities are there, it'll export them to the entity list.
Posted 6 months ago2023-11-25 13:44:20 UTC
in My decal spray logo doesn't look good in-game Post #348085
The303 has a great guide for this type of sprays, you can find the article here.
It should help you set it up correctly.
Posted 6 months ago2023-11-25 13:41:45 UTC
in Finding out how a map works Post #348084
At the very least, as long as the triggers exists in the BSP you should be able to read their data using Ripent or a viewer like BspGuy, but they should also show up when using a decompiler.
You said you already tried decompiling and using a viewer. Which were they? Did any entities show up or was it just the trigger that didn't show up?
I tried decompiling with bsp2map, and the triggers were just not there at all, and crafty's object viewer to view the bsp, where the textures where white and no models or triggers were showing up.
Posted 6 months ago2023-11-25 13:25:03 UTC
in Finding out how a map works Post #348083
At the very least, as long as the triggers exists in the BSP you should be able to read their data using Ripent or a viewer like BspGuy, but they should also show up when using a decompiler.

You said you already tried decompiling and using a viewer. Which were they? Did any entities show up or was it just the trigger that didn't show up?
Do you remember anything about your setup (what kind of triggers used etc)?
Posted 6 months ago2023-11-25 12:42:23 UTC
in Finding out how a map works Post #348082
Hi!
I would like to check how certain triggers of a map work, but I only have a .bsp of it.
It's an older map I made before, but I lost the editor file of it, and there is a trigger that I want to use in a newer map on it, but I have no idea what it's values and stuff were.
Is there a way to check that?
I tried decompiling it to a .map file, but the triggers don't show up there, neither do they show up in a .bsp viewer
Posted 6 months ago2023-11-25 12:04:46 UTC
in My decal spray logo doesn't look good in-game Post #348081
I'm trying make a spray logo decal, I save it in 8 bits bmp but when I test it in my CS looks like this:
User posted image
|Has that annoying lines under logo and logo itself looks bad]

Time ago I made few of this kind of sprays, but I can't remember what I made correctly for they work
Here how Im working with this logoHere how Im working with this logo
REBELVODKA REBELVODKASemper fidelis
Posted 6 months ago2023-11-25 00:43:22 UTC
in 25th anniversary of half-life Post #348080
I too would like a func_vehicle compo/contest.
Posted 6 months ago2023-11-24 17:45:12 UTC
in cant position monster_hevsuit_dead Post #348079
thank you so much! i didnt even think of that! i appreciate the help man!
noggin noggin"that one dead guy in xen"
Posted 6 months ago2023-11-24 16:19:57 UTC
in 25th anniversary of half-life Post #348078
Perhaps a compo with func_vehicle?
Great idea
Posted 6 months ago2023-11-24 12:18:43 UTC
in cant position monster_hevsuit_dead Post #348077
In the first map of Xen, there is a hidden func_wall brush (with rendermode set to texture) on the island you mentioned as (the position of the first dead hev guy you see in xen).
You can even stand on top of it.
User posted image
As you can see in the image, the origin of the entity is exactly on this func_wall. If you somehow remove the func_wall, the entity will fall into the void.
[-TR-] 3mirG [-TR-] 3mirGThe Turkish Half-Life modder.
Posted 6 months ago2023-11-23 20:53:01 UTC
in cant position monster_hevsuit_dead Post #348076
so, when i place a monster_hevsuit_dead and set it to table ( the position of the first dead hev guy you see in xen) in sequence and the pose it will either:
A float in the air
B go into the floor/wall
does anybody know how to fix this?

ALSO i modified the fgd to give the monster_hevsuit_dead the playermodel and give the animation sequence the table option i would post the screenshot but i dont know how
noggin noggin"that one dead guy in xen"
Posted 6 months ago2023-11-23 17:30:41 UTC
in 25th anniversary of half-life Post #348075
Perhaps a compo with func_vehicle?
This post was made on a thread that has been deleted.
Posted 6 months ago2023-11-21 14:52:10 UTC
in 25th anniversary of half-life Post #348073
Some ideas have been tossed around in Discord, but nothing has been decided currently.
monster_urby monster_urbyGoldsourcerer
Interesting offer, do you have discord?
Posted 6 months ago2023-11-20 20:37:19 UTC
in 25th anniversary of half-life Post #348070
Are we gonna do a mapping competition for the anniversary??
Posted 6 months ago2023-11-20 20:19:41 UTC
in Half Life Playermodel HLDM tutorial Post #348069
While I don't have a proper full page on my site just yet, due to the big 25th update I thought id post some info on the process as we are likely to get this question asked a lot:

INTRO:

  • Before you start, Playermodels have limits compared to NPC models:
  • You cannot add new animations to the existing set or change the order of the sequences
  • You cannot change the FPS of animations, they are locked
  • You cannot have sequences with more frames than the originals or else they will play too fast and will cut-off
  • You cannot change the hitbox set (nice try)
  • You cannot have skin changes (swappable body meshes are only for use in the cl_highmodels command)
Some features you can do:
  • You can customize existing animations however you must make them fit within the same frames as the original and be keyed to match the same FPS as the originals
  • You can add bones to the model as long as its parented off of existing and not inbetween existing bones (breaks hierarchy)
  • You can have procedural mouth animations
  • You can have color remapping
Your model should also at least have a decent amount of optimization, as direct source engine ports/MMD ports are horrible and inefficient for polycount and performance reasons. Please look up optimization guides and retopology if your model is heavy on polycount. You shouldn't be exceeding 9k poly.

The method

1. Download the HalfLife SDK (Steam tools > Half-Life SDK) & HLAM ( https://github.com/SamVanheer/HalfLifeAssetManager )

2. Replace the studiomdl.exe in this folder C:\Program Files (x86)\Steam\steamapps\common\Half-Life SDK\Model Tools with this one http://www.the303.org/backups/sven_studiomdl_2019.rar
(The current HLSDK studiomdl.exe is 2002 era old and is missing support for $texrendermode and other things. This is a modernized compiler that is compatable. To see new features see here: https://the303.org/tutorials/gold_qc.htm#AS

3. Navigate to C:\Program Files (x86)\Steam\steamapps\common\Half-Life SDK\Player Models\DMatch and make a copy of one of these, for example copy "gordon.qc" and rename it. Then navigate into "Highcount" and make a copy of the gordon folder and rename it to your modelname, and do the same for "lowcount"

NOTE: cl_himodels 1/0 is an old command that seems to be kinda hidden now. Basically it uses bodygroup to change from a high poly to a low poly model. by default iirc its set to 0 which uses the lowpoly variant. Its up to you if you want to use this feature but most people don't bother with it. If not then you just remove the "low" line in the bodygroup QC

4. In the QC file open it and fix up the look paths as they were set to valves names and also change the mesh names to what model you are using. This is an example:
$modelname "/player/skelepuncher/skelepuncher.mdl"
$cd "../player/"
$cdtexture "../dmatch/highcount/skelepuncher" //texture look in folder
$cliptotextures

$scale 1.0
$origin 0 0 36

// whole body
$bodygroup body
{
studio "../dmatch/lowcount/skelepuncher/skelepuncher-low" //remove this whole line if not using this feature
studio "../dmatch/highcount/skelepuncher/skelepuncher-high"
}

$include "../player/player_shared.qc"
5. Now open your preferred 3D application and import the mesh in the "high" folder. This will import the mesh and skeleton. Usually for playermodels you just delete the existing mesh and rig your new mesh/make your new mesh. Now since this is dependant on what 3D program you are using and I need to explain a lot, Ill pass this onto this tutorial: https://the303.org/tutorials/gold_mdl.htm
For texturing methods and matching half-life style see here: https://the303.org/tutorials/gold_mdl_tex_links.htm

If you want color changing textures, see this guide: https://the303.org/tutorials/gold_remap.htm
If you want mic-activated jaw flap animation, see this guide: https://the303.org/tutorials/gold_flappyjaws.htm

6. When you are done you export the SMD into the high folder. Optionally you can make a lowerpoly version but not many people use this old LOD feature so you could just put the high being the only line in the bodygroup.

7. Its recommended to use crowbar.exe ( https://steamcommunity.com/groups/CrowbarTool ) as it has several features for the compiling process. Go to "Set up games" tab, and in the "Half-Life" tab, go to the "model viewer" and change its path to HLAM. Switch to the compile tab, choose your QC, make sure the Game configuration says "half-life". Press the compile button by default it makes a subfolder in the current dir. I use this until im happy with the model then I use the "game models" folder option. You will probably have some first time compile errors but heres a comprehensive list: https://the303.org/tutorials/gold_mdl_fix.htm

NOTE: If you are making custom animations for your model you must make a copy of the "player_shared.qc" rename it to something like "yourmodel", update the name of it in your main QC to point to it, then edit the player_shared_yourmodel.qc lines to have the new anims and make the names of those new anim SMD files unique so you don't overwrite the original SMD ones. Example like say idle_custom.smd. Also don't accidentally rename the sequence name to custom. It should look like this for example:
$sequence "idle" "idle_custom" fps 14 loop ACT_IDLE 1

8. To verify the model if It did succeed in compiling, click the button at the bottom to "use in view" and click "open viewer" or just use the "goto" button in the previous window to navigate to the model in its folder and open from there if you have associated mdl files with hlam.

9. Make any changes/recompile after verifying the model for any issues. Check all angles, check animations. If you think its good compile to models folder and launch the game. Useful testing commands to see your model:
start new server, password protect set at least 2 players
sv_cheats 1
thirdperson
cam_idealdist 128
cam_idealyaw 180
cam_idealpitch -30
voice_loopback 1 (if testing jaw-flap animation)

10. When you are sure its ready, then make your playermodel portrait: 164x200 BMP in 8bit indexed mode (but limit to 160 colors if not using color changing) . If doing the advanced color changing you will need to refer to this guide to get a working portrait to match: https://the303.org/tutorials/gold_remap.htm
This post was made on a thread that has been deleted.
This post was made on a thread that has been deleted.
Posted 6 months ago2023-11-19 22:38:30 UTC
in please help Half-Life can't find my map Post #348066
As UrbaNebula says, read the compile log. It will tell you exactly the reasons why it failed.
Keep an eye out (or use text search) for the key word Error, and good to check for Warning as well as it might tell you about issues that didn't prevent compile but might affect the map nonetheless.
Posted 6 months ago2023-11-19 18:14:52 UTC
in Half-Life Updated (custom SDK) Post #348065
Today's update fixes the problems that broke Half-Life Updated and mods derived from it. I'm going to wait until they've released an SDK update before i touch anything since it'll be a while to stabilize everything.

There's a test branch for Opposing Force which means it'll receive an update soon as well. Expect the same for all GoldSource engine games to fix issues with the new engine update. I'd expect the SDK update to come after all games have been updated and fixed so it'll probably be a few weeks.

Until then use the steam_legacy branch to develop, test and play mods.

In case i don't have time to deal with the SDK update, here's the procedure for merging changes into Half-Life Updated:
1. Fork the newest version of the Half-Life 1 SDK
2. Make sure all files use UTF8 encoding (should hopefully be done by Valve already, but check first) and commit any encoding changes
3. add the .clang-format file from Half-Life Updated and format all files (script in the Unified SDK or a Visual Studio extension can do this among other tools). Needed to avoid massive amounts of merge conflicts caused by whitespace and newline changes
4. Commit formatted files
5. Add fork as remote to Half-Life Updated
6. Use git fetch to update remote info
7. Merge the commit that formatted files
8. Resolve merge conflicts; there will likely be many. Some changes are technically out of scope for the project like the game balance changes, i'd exclude those changes or make them conditional based on cvars (the Unified SDK uses configuration files for those changes so it'll need to be updated there instead)
9. Commit merge and push

That should cover it. I'd recommend using a separate copy of the source code to avoid messing up the one people normally use for development. Use a Git GUI like SourceTree, it makes things a lot easier.
Posted 6 months ago2023-11-19 15:35:57 UTC
in please help Half-Life can't find my map Post #348064
Did you read the compile log? It failed to compile because of this error:
Error: Entity 5, Brush 0: SKY brushes not allowed in entity
Error: Brush type not allowed in entity
Find the brush entity that has a SKY texture and correct it.
monster_urby monster_urbyGoldsourcerer