Forum posts

To my surprise reversed info_overview_point method worked great , thanks
blsha blshaWatching you.
So
I'm using Solokiller's Updated SDK and decided I need an env_sky in my mod because it's nice.
And well, it does work and all... but for some reason only world brushes and func_details are being projected into the sky box. If I place a monster, some other point entity or a brush entity that isn't a func_detail in my skyroom then these things won't be shown in the skybox.
Server code looks like this:

class CEnvSky : public CBaseEntity
{

public:

void Activate(void);
void Think(void);
};
void CEnvSky::Activate(void)
{
pev->effects |= EF_NODRAW;
pev->nextthink = gpGlobals->time + 0.01;
}
void CEnvSky::Think()
{
MESSAGE_BEGIN(MSG_BROADCAST, gmsgSetSky, NULL);
WRITE_BYTE(1); // mode
WRITE_COORD(pev->origin.x); // view position
WRITE_COORD(pev->origin.y);
WRITE_COORD(pev->origin.z);
MESSAGE_END();

ALERT(at_console, "env_sky messaged\n");
}
LINK_ENTITY_TO_CLASS(env_sky, CEnvSky);

Message code and the way it's handled on client is the same as in Spirit, par some minor differences since I'm using Solokiller's
What do I do?
blsha blshaWatching you.
Posted 2 years ago2021-12-05 09:06:17 UTC
in Messing with Half-Life controls Post #346106
Client changes are something I hate and fear, so before I ruin my source code I'd like to know if it's gonna be in vain or not.
I want to do two things:
1) Change the longjump call to double pressing the spacebar a-la Black Mesa.
2) Make pressing the mousewheel call for your weapon's third attack, this one will have only so many uses but nonetheless.

I've never done any controls realted code before. Are these things possible to do? If so, what do I have to do?
blsha blshaWatching you.
Posted 3 years ago2021-07-18 16:03:45 UTC
in Replacing OpFor night vision with HEV flashlight Post #345783
The title says what I'm here for. I'm sure there are OpFor mods that did this, but I couldn't find any info on this topic. Any hints what am I supposed to do to enable OG flashlight? I'm using Solokiller's OpFor Updated repository.
blsha blshaWatching you.
Posted 3 years ago2021-01-06 18:15:20 UTC
in Entity brushes are fullbright Post #345175
Captain P, these tools were developed by Uncle Mike when he was working on Xash and Paranoia 2. He claims that there's no better alternative to them what so ever and that they are best used under Xash but also work fine for GoldSrc and Spirit (true, I tested), he also says that they are nicely optimised.

I personally prefer these for two reasons: I used to work with Xash for a long time so I HAD to use these compilers, also I like them simply because their compilation process window is pretty informative and not as visually busy as other compilers'.
Also you can enable dynamic per-vertex lightning for models using them (but I don't remember the command that allows that and I haven't tested that feature outside Xash)
blsha blshaWatching you.
Posted 3 years ago2021-01-06 15:52:36 UTC
in Entity brushes are fullbright Post #345172
1)No, you can't quote reply on TWHL. Convenience is not an option when you want to be a modder apparently

2)Every single "incarnation" of half-life.fgd I've seen had a func_detail.

3)Did you try to compile with -extra enabled for your qrad/hlrad/p2rad/whatever light compiler you use?

4) You can also try removing the light entity and making the texture emit light instead.
It's done like this:
place an info_texlight on your map,
Go to it's properties and disable "SmartEdit"
Add a new option for it
Enter the texture's name in the top text window
Enter the light colour and it's strength
(<R> <G> <B> <strength>) in the bottom text window
Done
blsha blshaWatching you.
Posted 3 years ago2021-01-06 15:22:00 UTC
in Entity brushes are fullbright Post #345170
Also did you put a light source near (or in) the func_wall or you made a "light texture" on it emit light?
blsha blshaWatching you.
Posted 3 years ago2021-01-06 15:12:52 UTC
in Entity brushes are fullbright Post #345169
Also I recommend you using these compilers:

https://hlfx.ru/forum/attachment.php?s=&postid=180785

They're my favourite and I've never encountered such problems as yours while using them
blsha blshaWatching you.
Posted 3 years ago2021-01-06 15:08:54 UTC
in Entity brushes are fullbright Post #345167
About func_wall. I suggest you making it into func_detail instead. The lighting is calculated dfferently for func_walls while func_detail's lightning is calculated like for regular world brushes, which is more accurate.

About func_water... Haven't Got much to say here honestly. Maybe you could try compiling with -extra option enabled for your RAD?
blsha blshaWatching you.
Posted 3 years ago2021-01-06 15:00:39 UTC
in SoHL: Opposing Force? Post #345166
Well, looks like I don't need this upgrade to Fmod Studio anymore.
Anyway thanks for such a generous offer as doing this work for me!

But I still got errors flying around the map instead of normal particles. Other than that everything is fine
blsha blshaWatching you.
Posted 3 years ago2021-01-06 11:25:40 UTC
in SoHL: Opposing Force? Post #345163
I tested a bit more and now it seems to work nearly fine, but I still need the damn particles and materials!
I PM-ed 23-down about this. He said he knows the original author and I hope he contacts the author, also I hope that mentioned author still has the necessary assets after all these years

Also the game now requires some .wav files too :/
blsha blshaWatching you.
Posted 3 years ago2021-01-06 08:25:47 UTC
in SoHL: Opposing Force? Post #345162
It needs a lot of particle .tga-s and I don't know where to get them:

// Pulled from BattleGrounds
const char SPARK_PARTICLE[MAX_PARTICLE_PATH] = "particles/spark01.tga";
const char WHITE_SMOKE_PARTICLE[MAX_PARTICLE_PATH] = "particles/smoke01.tga";
const char BROWN_SMOKE_PARTICLE[MAX_PARTICLE_PATH] = "particles/smoke01.tga";

// Default explosion
const char spark01[MAX_PARTICLE_PATH] = "particles/spark01.tga";
const char smoke09[MAX_PARTICLE_PATH] = "particles/smoke09.tga";
const char explo_strip[MAX_PARTICLE_PATH] = "particles/explo_strip.tga";
const char exp_tong[MAX_PARTICLE_PATH] = "particles/exp_tong.tga";
const char exp_glow[MAX_PARTICLE_PATH] = "particles/exp_glow.tga";
const char debris_concrete001a[MAX_PARTICLE_PATH] = "particles/debris_concrete001a.tga";

// Blood impact
const char blood_red_animated[MAX_PARTICLE_PATH] = "particles/blood_red_animated.tga";
const char blood_red_drips[MAX_PARTICLE_PATH] = "particles/blood_red_drips.tga";
const char blood_red_impact[MAX_PARTICLE_PATH] = "particles/blood_red_impact.tga";

#endif // PARTICLE_DEFS_H
blsha blshaWatching you.
Posted 3 years ago2021-01-06 07:54:35 UTC
in SoHL: Opposing Force? Post #345161
Okay, so I went to fmod.h and changed the #define FMOD_VERSION 0x00043209 to #define FMOD_VERSION 0x00043216 (because I managed to get the fmodex v4.32.16) and the game doesn't crash anymore.

This thing still has some issues though, but I think I'll manage to fix them...
blsha blshaWatching you.
Posted 3 years ago2021-01-05 17:40:12 UTC
in SoHL: Opposing Force? Post #345155
Oof, now that sounds complicated. So yes, Solokiller, please help if you can and want to.

Also I will look around the internet for Fmodex v4.32.09 (which is the one I need). I think It's possible to find it somewhere on these old cryptic russian torrents or whatever...
blsha blshaWatching you.
Posted 3 years ago2021-01-05 08:38:20 UTC
in SoHL: Opposing Force? Post #345148
Okay

First, Admer, I copied the fmodex.dll from Sven to my mod folder and these errors no longer appear... But now it says that this version of FMOD Ex is not the one that is required. Perhaps, if you still have the source code you could look at the cl_dll\soundengine.cpp yourself and tell me what version is required

Second, 23-down, I'm Interested to look at what you have, please

Third, as someone who came here from HLFX.ru I've never heard a single good word about Solokiller's HLEnhanced. What is this actually and which part of it makes a bunch of 30 years old slavs dislike it so much?
blsha blshaWatching you.
Posted 3 years ago2021-01-04 10:35:26 UTC
in SoHL: Opposing Force? Post #345143
You were partially right, the problem is connected to sound. There're soundengine.cpp and .h in the SDK. The first error popped up because this client.dll requires fmodex.dll and not fmod.dll, I reanmed fmod to fmodex and this error is no longer appearing. Bu there's still "couldn't load functions" error which, I assume, has something to do with this:

void CSoundEngine::GetDllPointers()
{
char szPath[256];

strcpy(szPath, gEngfuncs.pfnGetGameDirectory());
strcat(szPath, "/cl_dlls/fmodex.dll");

m_hFmodDll = LoadLibrary(szPath);
if (!m_hFmodDll)
FatalError("Couldn't load %s!\n", szPath);

(FARPROC&)_FMOD_System_Create = GetProcAddress(m_hFmodDll, "FMOD_System_Create");
(FARPROC&)_FMOD_System_GetVersion = GetProcAddress(m_hFmodDll, "FMOD_System_GetVersion");
(FARPROC&)_FMOD_System_GetNumDrivers = GetProcAddress(m_hFmodDll, "FMOD_System_GetNumDrivers");
(FARPROC&)_FMOD_System_SetOutput = GetProcAddress(m_hFmodDll, "FMOD_System_SetOutput");
(FARPROC&)_FMOD_System_GetDriverCaps = GetProcAddress(m_hFmodDll, "FMOD_System_GetDriverCaps");
(FARPROC&)_FMOD_System_SetSpeakerMode = GetProcAddress(m_hFmodDll, "FMOD_System_SetSpeakerMode");
(FARPROC&)_FMOD_System_SetDSPBufferSize = GetProcAddress(m_hFmodDll, "FMOD_System_SetDSPBufferSize");
(FARPROC&)_FMOD_System_GetDriverInfo = GetProcAddress(m_hFmodDll, "FMOD_System_GetDriverInfo");
(FARPROC&)_FMOD_System_SetSoftwareFormat = GetProcAddress(m_hFmodDll, "FMOD_System_SetSoftwareFormat");
(FARPROC&)_FMOD_System_Init = GetProcAddress(m_hFmodDll, "FMOD_System_Init");
(FARPROC&)_FMOD_System_Set3DSettings = GetProcAddress(m_hFmodDll, "FMOD_System_Set3DSettings");
(FARPROC&)_FMOD_System_Release = GetProcAddress(m_hFmodDll, "FMOD_System_Release");
(FARPROC&)_FMOD_Channel_Stop = GetProcAddress(m_hFmodDll, "FMOD_Channel_Stop");
(FARPROC&)_FMOD_Sound_Release = GetProcAddress(m_hFmodDll, "FMOD_Sound_Release");
(FARPROC&)_FMOD_System_SetReverbAmbientProperties = GetProcAddress(m_hFmodDll, "FMOD_System_SetReverbAmbientProperties");
(FARPROC&)_FMOD_Channel_SetPaused = GetProcAddress(m_hFmodDll, "FMOD_Channel_SetPaused");
(FARPROC&)_FMOD_System_Update = GetProcAddress(m_hFmodDll, "FMOD_System_Update");
(FARPROC&)_FMOD_System_Set3DListenerAttributes = GetProcAddress(m_hFmodDll, "FMOD_System_Set3DListenerAttributes");
(FARPROC&)_FMOD_Channel_IsPlaying = GetProcAddress(m_hFmodDll, "FMOD_Channel_IsPlaying");
(FARPROC&)_FMOD_Channel_GetPaused = GetProcAddress(m_hFmodDll, "FMOD_Channel_GetPaused");
(FARPROC&)_FMOD_Channel_Set3DAttributes = GetProcAddress(m_hFmodDll, "FMOD_Channel_Set3DAttributes");
(FARPROC&)_FMOD_Channel_GetPosition = GetProcAddress(m_hFmodDll, "FMOD_Channel_GetPosition");
(FARPROC&)_FMOD_Channel_SetVolume = GetProcAddress(m_hFmodDll, "FMOD_Channel_SetVolume");
(FARPROC&)_FMOD_Channel_SetFrequency = GetProcAddress(m_hFmodDll, "FMOD_Channel_SetFrequency");
(FARPROC&)_FMOD_Channel_GetFrequency = GetProcAddress(m_hFmodDll, "FMOD_Channel_GetFrequency");
(FARPROC&)_FMOD_System_CreateSound = GetProcAddress(m_hFmodDll, "FMOD_System_CreateSound");
(FARPROC&)_FMOD_System_PlaySound = GetProcAddress(m_hFmodDll, "FMOD_System_PlaySound");
(FARPROC&)_FMOD_Channel_Set3DMinMaxDistance = GetProcAddress(m_hFmodDll, "FMOD_Channel_Set3DMinMaxDistance");
(FARPROC&)_FMOD_System_CreateStream = GetProcAddress(m_hFmodDll, "FMOD_System_CreateStream");
(FARPROC&)_FMOD_Channel_SetDelay = GetProcAddress(m_hFmodDll, "FMOD_Channel_SetDelay");
(FARPROC&)_FMOD_Channel_SetPosition = GetProcAddress(m_hFmodDll, "FMOD_Channel_SetPosition");
(FARPROC&)_FMOD_Sound_GetFormat = GetProcAddress(m_hFmodDll, "FMOD_Sound_GetFormat");

if (!_FMOD_System_Create ||
!_FMOD_System_GetVersion ||
!_FMOD_System_GetNumDrivers ||
!_FMOD_System_SetOutput ||
!_FMOD_System_GetDriverCaps ||
!_FMOD_System_SetSpeakerMode ||
!_FMOD_System_SetDSPBufferSize ||
!_FMOD_System_GetDriverInfo ||
!_FMOD_System_SetSoftwareFormat ||
!_FMOD_System_Init ||
!_FMOD_System_Set3DSettings ||
!_FMOD_System_Release ||
!_FMOD_Channel_Stop ||
!_FMOD_Sound_Release ||
!_FMOD_System_SetReverbAmbientProperties ||
!_FMOD_Channel_SetPaused ||
!_FMOD_System_Update ||
!_FMOD_System_Set3DListenerAttributes ||
!_FMOD_Channel_IsPlaying ||
!_FMOD_Channel_GetPaused ||
!_FMOD_Channel_Set3DAttributes ||
!_FMOD_Channel_GetPosition ||
!_FMOD_Channel_SetVolume ||
!_FMOD_Channel_SetFrequency ||
!_FMOD_Channel_GetFrequency ||
!_FMOD_System_CreateSound ||
!_FMOD_System_PlaySound ||
!_FMOD_Channel_Set3DMinMaxDistance ||
!_FMOD_System_CreateStream ||
!_FMOD_Channel_SetDelay ||
!_FMOD_Channel_SetPosition ||
!_FMOD_Sound_GetFormat)
{
FatalError("Couldn't load functions from %s\n", szPath);
}
}

Unfortunately I don't really understand what's going in that if (!_FMOD_System_Create || part and don't know what causes the error here
blsha blshaWatching you.
Posted 3 years ago2021-01-03 11:44:39 UTC
in SoHL: Opposing Force? Post #345140
Ok, I got the VS 2019 and compiled the .dll myself. Yes, it is broken

Admer, if you feel tired you can leave me. Now when I've got a normal and modern IDE I can just take some code from this and original OpFor SDK and stuff it into my SoHL 1.9 SDK ( vs 2010 couldn't compile any of these properly)

Also this code is indeed weird: some of the commentaries in different .cpp-s still talk about Spirit 1.4, also it appears to have some code taken from different mods... And what in the God's name is monster_diablo?!
blsha blshaWatching you.
Posted 3 years ago2021-01-03 08:40:08 UTC
in SoHL: Opposing Force? Post #345138
But if it was released in public that means someone had it at least somewhat working...
blsha blshaWatching you.
Posted 3 years ago2021-01-02 12:21:16 UTC
in SoHL: Opposing Force? Post #345131
Well, I tried moving client.dll around other mods' folders, I tried following your advice and replace it with fmods from older Spirits and always got the same result no matter what.
The problem is clearly with the client.dll itself, maybe it didn't compile properly?

note that server.dll is perfectly fine
blsha blshaWatching you.
Posted 3 years ago2021-01-02 11:30:54 UTC
in SoHL: Opposing Force? Post #345129
Unfortunately there's something wrong with the client.dll, because every time when I try to load spirit I just get these two errors and game crashes:
User posted image
another link to images because TWHL doesn't show me images the regular way and I'm not shure whether you'll see them or not https://imgur.com/a/APN7sCz

Did you try it on your system? Maybe it's just me being unlucky :\
blsha blshaWatching you.
Posted 3 years ago2021-01-01 16:23:45 UTC
in SoHL: Opposing Force? Post #345126
Thank you in advance. Will try it as soon as I get to my PC and that means not today...
blsha blshaWatching you.
Posted 3 years ago2020-12-30 18:33:05 UTC
in How can i make a custom npc? Post #345120
You can either follow awkook's advice or just download Spirit of Half-life mod which allows to do that and many other mind-blowing things right in Hammer/JACK
blsha blshaWatching you.
Posted 3 years ago2020-12-30 09:53:03 UTC
in SoHL: Opposing Force? Post #345119
Oh god, Thank you! I started to think I'm not gettting any help here and your appearance is just a miracle!
blsha blshaWatching you.
Posted 3 years ago2020-12-29 11:19:27 UTC
in SoHL: Opposing Force? Post #345112
So I've stumbled upon this nice thing:
https://github.com/Hammermaps-DEV/SOHL-V1.9-Opposing-Force-Edition
It contains all of OpFor content "merged" with Spirit 1.9 code. Unfortunately this SDK requires VS 2019 to compile it, and there's no way I can get this Studio on my ancient system ;(.

So, won't it be rude if ask someone here to compile the .dll-s and link them to me? Please?
blsha blshaWatching you.