Forum posts

Posted 2 days ago2021-12-01 19:29:43 UTC
in Half-Life Updated (custom SDK) Post #346093
I stopped using the VS2017 project files last year. I haven't seen anybody use them lately.
On that note: to use the CMake version of Half-Life Updated you currently have to build the INSTALL target to deploy the libraries, which might be a bit cumbersome and annoying.
Not a problem for me, though I imagine it'd be a bit confusing/frustrating to beginners.
Admer456 Admer456If it ain't broken, don't fox it!
Note:
The ? symbol is an inline if.
This line here:
result = condition ? a : b;
...is the same as:
if ( condition )
   result = a;
else
   result = b;
Admer456 Admer456If it ain't broken, don't fox it!
Posted 4 weeks ago2021-11-05 13:40:21 UTC
in One of my first maps Post #346033
You could, and perhaps should, upload this to the TWHL Map Vault:
https://twhl.info/vault/create
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 month ago2021-11-02 13:53:42 UTC
in Programming video tutorials Post #346029
The channel's focus is HL modding and game development with a Quake-style workflow. I don't think running marathons is something I'd know how to make tutorials about... I mean, the longest I've ever run without stopping was, like, 300 metres? Definitely not marathon material.

On a serious note, Marathon is a bit out of my interest zone, so I doubt I'll be making videos about it anytime soon. Same goes for Doom 1/2 etc.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 month ago2021-10-28 19:26:28 UTC
in Programming video tutorials Post #346020
Miraculously, I was able to finish a video this month, despite college.
Finding other entities
Yep, it's about UTIL_FindEntityByTargetname.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 month ago2021-10-27 21:17:28 UTC
in We can change limits of GoldSrc Engine? Post #346015
These limits cannot be changed. You can make maps for Sven Co-op if you want greater BSP limits.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 month ago2021-10-26 18:23:54 UTC
in Setting Player view direction (c++) Post #346010
I'm asking cuz' VectorAdd should work fine with vectors.
#define VectorAdd(a,b,c) \
{ \
   (c)[0]=(a)[0]+(b)[0]; \
   (c)[1]=(a)[1]+(b)[1]; \
   (c)[2]=(a)[2]+(b)[2]; \
}
Since the Vector class has the operator [ ], you can access its XYZ components with [0], [1] and [2] respectively, thus, VectorAdd will work perfectly fine.
Vector myVector = Vector( 20, 40, 50 );
// Alternatively: Vector myVector{ 20, 40, 50 };
VectorAdd( pparams->viewangles, myVector, pparams->viewangles );
The only reason you'd use * and (float*)& might be due to something like this:
void MyFunction( Vector* someParam )
{
   someParam->z += 20.0f;
}
...
Vector myVector{ 0, 0, 0 };
MyFunction( &myVector );
But I'd rather not do that. I'd rather pass the vector by reference instead of passing a pointer to it:
void MyFunction( Vector& someParam )
{
   someParam.z += 20.0f;
}
...
Vector myVector{ 0, 0, 0 };
MyFunction( myVector );
That way, you don't need to use pointer syntax. ^^
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 month ago2021-10-26 16:33:51 UTC
in Setting Player view direction (c++) Post #346008
"unfamiliar with C++"
It's less about knowing the language, more about knowing HL SDK. I think it's an okay solution, given the messy nature of the SDK.
view.cpp itself has a lot of "C-style" code, so I wouldn't even call it C++.

But, semantics and philosophy aside, I'm glad you got the desired effect.

Edit: Though i'm curious why you're doing *ev_permpunchangle and (float*)&ev_permpunchangle. You're not using a pointer to ev_permpunchangle, are you? The code would be cleaner if you did it differently, such as using a reference in the function parameters (Vector&) or something like that.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 month ago2021-10-26 10:01:22 UTC
in Setting Player view direction (c++) Post #346006
I think it's more or less the result of the client fighting the server. Client is like "Hey, I'm looking at this angle", and the server is like "No no, you're looking at THIS angle".

If you really wanna modify the view angles, you're way, waaaaay better off doing it on the clientside (hl_cdll project). What is it specifically that you want to achieve? I'm guessing some kinda custom recoil, but I could be wrong.

Edit: oh right, permanent view adjustments. So it's gonna be like punchangle, except it doesn't fall back to the original angles.
That's gonna be a bit more involved, but it's still doable on the clientside, thanks to something called weapon events. You'll find them in ev_hldm.cpp.

I'd provide some example code, but it's been a while so I don't remember how to force update view angles on the client. :|
Either way, you might also wanna take a look at view.cpp (don't be frightened by the messy code; V_CalcRefdef is the function you might wanna look at)
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 month ago2021-10-26 07:09:12 UTC
in Setting Player view direction (c++) Post #346004
You gotta set m_pPlayer->pev->fixangle to 1 if you wanna force view angles with pev->v_angle.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 month ago2021-10-24 22:21:40 UTC
in Programming video tutorials Post #345996
It's a fox.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 month ago2021-10-24 12:07:12 UTC
in Programming video tutorials Post #345993
A fellow Resolver! <3
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 month ago2021-10-23 19:04:38 UTC
in Programming video tutorials Post #345989
TBH there's hardly any documentation for anything in the SDK, apart from some archives.

In other news, there's a new video in progress and I more or less finished editing it. ;3
User posted image
It's gonna be about string_t and UTIL_FindEntityByTargetname.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 month ago2021-10-20 18:01:09 UTC
in Programming video tutorials Post #345982
Yeah, I suppose I could jam it somewhere in here:
User posted image
Or, maybe better, that could be part of HL SDK Extras. We'll see!
Admer456 Admer456If it ain't broken, don't fox it!
Posted 1 month ago2021-10-16 14:23:49 UTC
in Programming video tutorials Post #345976
Well, I do have plans for a Source series, once the GoldSRC one is more or less finished.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 2 months ago2021-10-01 08:06:16 UTC
in Programming video tutorials Post #345965
Custom keyvalues and save-restore. ^^
Part 2.3
Admer456 Admer456If it ain't broken, don't fox it!
Posted 2 months ago2021-09-22 09:27:33 UTC
in Hello All! Post #345950
Welcome back! It looks like de_bedroom is on TWHL as well. :)
Admer456 Admer456If it ain't broken, don't fox it!
Posted 2 months ago2021-09-21 19:03:27 UTC
in Programming video tutorials Post #345946
At last, entity properties and precaching.
Part 2.2
Admer456 Admer456If it ain't broken, don't fox it!
Posted 2 months ago2021-09-15 17:53:25 UTC
in [help] Rendering a model fullbright Post #345935
You can set the light sample colour and value around line 1240 in StudioModelRenderer.cpp:
lighting.plightvec = dir;
// After StudioDynamicLight is called, lighting is initialised
IEngineStudio.StudioDynamicLight(m_pCurrentEntity, &lighting );

// We can then begin changing it around
lighting.ambientlight = 0;
lighting.shadelight = 0;

// The rest will apply the lighting onto the model
IEngineStudio.StudioEntityLight( &lighting );
I believe you could, maybe, somehow modify lighting to get fullbright...
digs around a little bit
WOO! I was silly all along. You could just set ambientlight to 255 and shadelight to 0.
This scientist is afraid of his own brightnessThis scientist is afraid of his own brightness
So yea, the code just becomes:
lighting.plightvec = dir;
IEngineStudio.StudioDynamicLight(m_pCurrentEntity, &lighting );

// Fullbright
lighting.color = Vector( 1.0f, 1.0f, 1.0f );
lighting.ambientlight = 255;
lighting.shadelight = 0;

IEngineStudio.StudioEntityLight( &lighting );
Now, the only thing left to do is to check whether it's a specific entity or not. I guess you can check if m_pCurrentEntity->index is a certain number or something like that. Or, even better, add a special render FX value for that. :)
Admer456 Admer456If it ain't broken, don't fox it!
Posted 2 months ago2021-09-15 14:52:07 UTC
in [help] Rendering a model fullbright Post #345934
One hacky way would be to render the model black (render it with regular diffuse lighting, with 0 0 0 for the light sample colour, which it'd normally pick up from the ground or ceiling), then render it again with the additive render mode. It's been a while since I looked at the studio model renderer stuff, but I'll try to get a better answer tonight.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 3 months ago2021-09-01 20:03:55 UTC
in Programming video tutorials Post #345910
Aaaaand another one! Mainly about SetThink and stuff :>
Part 2.1.2
Admer456 Admer456If it ain't broken, don't fox it!
Posted 3 months ago2021-08-22 22:28:42 UTC
in Programming video tutorials Post #345891
New video's out! Today's topic: player usage and TakeDamage
Part 2.1.1
Admer456 Admer456If it ain't broken, don't fox it!
Posted 3 months ago2021-08-14 11:55:22 UTC
in Post your screenshots! WIP thread Post #345880
Very nice!
You could alternatively convert that cylinder brush to be a part of the model as well, but, that's just me. :lol:
Admer456 Admer456If it ain't broken, don't fox it!
You should look at the player movement code.
hldll -> Source Files -> pm_shared -> pm_shared.c or .cpp (if you're using halflife-updated, these are converted to C++)

Then, scroll down to the bottom until you find the PM_Move function. PM_Move calls PM_PlayerMove which contains all the pseudo-physics code for player movement, so you can modify all the "formulas" there, so to speak.

I think the functionality you're looking for is in PM_WalkMove, perhaps around this part:
User posted image
Admer456 Admer456If it ain't broken, don't fox it!
Posted 4 months ago2021-08-02 21:12:20 UTC
in Programming video tutorials Post #345832
A bit behind schedule, but, the 'fun' stuff is about to start:
Part 2.1: Think, Touch, Use
Admer456 Admer456If it ain't broken, don't fox it!
"I somehow couldn't find a link to it."
Here be the invite: https://discord.gg/hDSrpCDXhD (and if that's expired: https://discord.gg/8VhuRpNt)
"the spawned func_train didn't do what you think spawned func_trains are supposed to do – to immediately teleport to its first stop target"
Solokiller explained it pretty well. In the HL SDK at least, func_train doesn't do anything special in Spawn:
Move train to the &quot;origin&quot; keyvalueMove train to the "origin" keyvalue
Only after all entities have spawned, Activate() is called, which does the actual first path corner logic:
Move train to the target path_corner, align it to the bounding box centre tho'Move train to the target path_corner, align it to the bounding box centre tho'
This here is what effectively "ignores" origin brushes.

Also, in trigger_createentity, you seem to copy the parent train's rendermode. I'm assuming it's anything but Normal. It'd be a good idea to copy renderamt as well, otherwise it'll default to 0, which means invisible.
"it's already started..."
'w'
I gotta say, that's actually quite compact. But, you didn't answer my question: how did you exactly use trigger_random? What was the expected output? What did it (not) do?
Admer456 Admer456If it ain't broken, don't fox it!
I haven't mapped for SC in a long time, but how are you sure trigger_createentity is creating nothing? In my test map, with basically the same keyvalues as yours (except the rendermode), it created a train at the trigger_createentity's position, but it didn't start moving. Not even triggering made it move. (note: the train had also an origin brush so I could see where it spawned)

I suppose there is a way to make them work, involving a bunch of trigger_changevalue, but depending on what you wanna do, it can evolve into entity spaghetti real quick.

BTW every time you'd shoot at the train, bullethole decals would be duplicated, since all instances are using the same brush model.
User posted image
Not sure how applicable this could be, but I'd personally keep things super simple but slightly more laborious, and have a line of 10 or so trains waiting in a queue in a separate room, to be teleported into action. I think this is something the Sven Co-op Developers Discord could resolve much better.

What about trigger_random?
Admer456 Admer456If it ain't broken, don't fox it!
Alright, so the problem comes from two things:
  • according to the HL SDK code, the train explicitly sets its position as the centre of its bounding box
  • according to VHLT code, origin brushes do not count towards the bounding box
Maybe you could try using the BOUNDINGBOX tool texture instead of the origin brush:
User posted image
User posted image
Just make sure it's large enough to encompass most of the train, otherwise it'll start disappearing when the boundingbox brush goes outside your FOV, like it did for me:
User posted image
Well, in that instance it works fine, but if I look slightly up, it disappears.

Either way, yeah, this is one hacky workaround you could use.

Edit:
BTW you might wanna describe how exactly you're using trigger_random & trigger_createentity, i.e. post their keyvalues :>
Admer456 Admer456If it ain't broken, don't fox it!
Somebody did, in fact, bring up func_trains with origins for their iceberg on the TWHL Discord. I believe the map compilers are to blame, because they're the ones which generate a brush model and give the brush entity an "origin" keyvalue to position it.

I'm gonna look at VHLT's source code to see if it does anything counter-productive with func_train.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 4 months ago2021-07-10 13:10:45 UTC
in SolidBSP [hull 0] Warning Post #345757
Are you sure it's not any game_text entity with too many characters, or a map chapter title with too many characters that crashes the game instead?

Cuz', those are just compiler warnings, means your geometry is a bit more complex than usual, still, I get thousands of these and my maps work perfectly fine. :>
Admer456 Admer456If it ain't broken, don't fox it!
Posted 4 months ago2021-07-07 11:36:33 UTC
in Liblist.gam/ custom game problems Post #345743
If you wanna launch your mod directly, by the way, create a shortcut to hl.exe and edit its parameters to include -game mymodfolder, where mymodfolder is, in fact, your mod folder as it appears in the Half-Life folder.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 4 months ago2021-07-06 21:42:59 UTC
in Liblist.gam/ custom game problems Post #345739
Restart Steam and your mod should appear in the library.
Your .wad folder must go into your mod folder, i.e. next to liblist.gam.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 5 months ago2021-07-03 20:38:52 UTC
in Programming video tutorials Post #345725
As outlined in #0: Introduction, you absolutely must learn C++ basics first. So, start with that first, and then you're surely on the right way.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 5 months ago2021-06-28 13:12:57 UTC
in Programming video tutorials Post #345710
We got not one, but two new videos:
Part 1.1: Additional setup
Part 2: Creating new entities
It's summer, so, I guess I can put out 2 more of them by the time college starts.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 5 months ago2021-06-27 09:40:34 UTC
in Post your screenshots! WIP thread Post #345706
Nice!

I have been experimenting with a fork of Doom 3 BFG Edition, RBDoom3:
User posted image
Mainly because it has indirect lighting and TrenchBroom support:
User posted image
Thinking about making it more suitable for Half-Life-style game development and somehow bringing in J.A.C.K. support. We'll see.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 6 months ago2021-05-19 15:51:50 UTC
in Post Your Photos Post #345639
"Just gotta wait until it's more green"
Colour-corrected:
User posted image
Yea, it's green now:
User posted image
User posted image
My cousins and I went on some other hill but were stopped by some cows and a crazy farmer.
User posted image
Friendly village cat says hi, despite his almost menacing look:
Name's SivacName's Sivac
Admer456 Admer456If it ain't broken, don't fox it!
Posted 7 months ago2021-04-19 17:21:02 UTC
in Post Your Photos Post #345548
@I have a plan

Your image link is wrong.
You pasted https://imgur.com/MiRTCIM instead of the one ending with .png or .jpg or whatever original format it is. Gotta copy the Direct Link if you're using Imgur non-beta.

Otherwise, I've no idea. Imgur seems to be more suited for sharing pictures on itself, instead of embedding into forums and whatnot.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 7 months ago2021-04-18 19:06:42 UTC
in Post Your Photos Post #345542
Yesterday I went into a previously unexplored forest with my cousins. It was quite cloudy, so it's not the kinda weather I wanted, but eh, I took photos anyway cuz' our parents didn't know that we went there at all, and I didn't know if they'd find out. Spoilers, they did not. :walter:
User posted image
User posted image
User posted image
User posted image
User posted image
Heard a fox screaming around here lolHeard a fox screaming around here lol
User posted image
User posted image
User posted image
And, eventually, we managed to reach the town. Cool.
User posted image
Admer456 Admer456If it ain't broken, don't fox it!
Posted 7 months ago2021-04-08 16:45:39 UTC
in Post Your Photos Post #345521
Not only abandoned industrial buildings, but also abandoned construction sites.
I should find some one day. :walter:
Admer456 Admer456If it ain't broken, don't fox it!
Posted 7 months ago2021-04-08 09:36:36 UTC
in Post Your Photos Post #345519
I know the last post was a year ago, but I wanna share this stuff so badly. I started, like, actually going outside and walking'n'stuff. So, naturally, I took a buncha photos along the way. ^^
When I startedWhen I started
User posted image
A dangerous, but exciting shortcut to my hometownA dangerous, but exciting shortcut to my hometown
When my cousins and I took this shortcut, we almost fell down these rocksWhen my cousins and I took this shortcut, we almost fell down these rocks
Good ol' hometown, I remember when I went to elementary school hereGood ol' hometown, I remember when I went to elementary school here
I haven't been to that fort in a whileI haven't been to that fort in a while
Always wanted to take a photo here but I could never stop to do so, cuz' someone was driving meAlways wanted to take a photo here but I could never stop to do so, cuz' someone was driving me
User posted image
And, lastly for today, I took a quick morning walk.
Just gotta wait until it's more greenJust gotta wait until it's more green
Admer456 Admer456If it ain't broken, don't fox it!
Posted 8 months ago2021-03-17 14:18:45 UTC
in env_spark Post #345446
This isn't a system configuration problem @BernullyBites. It's a mapping one. I now suspect this might be a bot.

@Aladad
No, I don't think there's a way to disable the sound for env_spark. Worst you can do is overwrite the spark sound file with a silent sound, but then there won't be sparks sounds at all, anywhere in the game.

If you're making a custom mod, you can modify the entity's code to have a flag that disables its sound.
Admer456 Admer456If it ain't broken, don't fox it!
You need to use FStrEq and have the two as its parameters:
if ( FStrEq( GETPLAYERAUTHID( pl->edict() ), "my_steamid" ) )
Admer456 Admer456If it ain't broken, don't fox it!
Posted 9 months ago2021-02-26 08:49:19 UTC
in light_environment not casting light. Post #345371
No, don't use trigger/sky for backfaces. Use null instead.
But yeah, it doesn't matter in 90% of the cases. It does matter, however, inside the map editor, so you can easily see the rooms in your map, without having to hide the ceilings etc. In J.A.C.K., you can toggle NULL-textured faces.

BTW you should've created a new thread instead of bumping this one.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 10 months ago2021-01-27 10:30:47 UTC
in The mods that never were Post #345287
In 2015 or so, I started working on this little mod I stupidly called "Admer: The Game".
It was originally gonna be the FPS adaptation of my QBasic text adventure of the same name.

The original text game went something like this: the player woke up in a cave with some TNT and a hungry zombie, with absolutely no memories of how they got there. The player was offered 3 options, only one of which would kill the zombie and blow up the cave, sending the player flying upwards, landing into a wheat field.

The original version of the mod, however, started like this, mostly due to my back-then low mapping experience: the player woke up in a cave with TNT. The player could activate the timer, then run and hide from the blast. Once up there, you could see a house, in which there was a pistol and a note. In the forest ahead, there were 2 zombies. Once you passed that area, you'd find a wheat field.
The cave exit holeThe cave exit hole
It went in a totally different direction. So did I. I was no longer gonna be just a mapper. I was expanding to other areas: texturing, sound editing, modelling, music production, and last but probably also the least, in a way, programming.
The most complex thing I'd done were probably the smoke puffs, and an NPCThe most complex thing I'd done were probably the smoke puffs, and an NPC
That was quite a bite to chew. Almost the entire plate. It would've all been fine if I didn't have scope creep. I went from a very simple idea to an idea that just kept growing and growing so that I could never finish it. I couldn't even do 10% of it, with the skills I had back then.

I did not realise that until the summer of 2016, however.
In the summer of 2015, I renamed the mod to "An unknown game", for obvious reasons. My programming "skill" still didn't exist, so the only thing I was able to do was change some constants and copy-paste from tutorials. That presented quite the roadblock.

I could not fix the crash that came with this NPC I copy-pasted from one of the tutorials here:
User posted image
Another roadblock was the huge lack of experience I had in modelling. I wanted to have custom hand models. I tried, two times at least. But I could never make a hand that looked alright. Funnily enough, this month I made low-poly hands in 2 or 3 days. 6 years really does change things.

And, perhaps the most critical obstacle was voice acting. Let alone trying to find a voice actor, my microphone was bad, my voice was bad too.

So, I just worked on that mod less and less, and I moved back to CS 1.6 mapping. It was a lesson that I learned, but understood only years later, but I didn't feel bad about it at all. It was really fun to work on it in that first-to-second year of modding.

The spirit of "An unknown game" carried over to my Far Cry mod project in 2016, then in 2019, I thought about "reviving" the HL mod under a new name, in the latest iteration of the story. That revival was gonna be called Utopia at Stake. However, I don't think I'll start working on that until the 2030s. I'm working on a game now, which I'm planning to publish on Steam when it gets done in 5 or 6 years.

Nowadays, in the context of Half-Life modding, I work on and maintain ADM. I started working on it in 2018, and it's still an active project, even though I don't work on it in winter months.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 10 months ago2021-01-24 19:52:58 UTC
in Programming video tutorials Post #345270
Wew, it's been a good while, but hey, better late than never.
Part 1: Initial setup
Admer456 Admer456If it ain't broken, don't fox it!
Posted 10 months ago2021-01-24 16:00:13 UTC
in What Specs would be good for Half-Life Alyx? Post #345268
The graphics card would be one of the most influential performance factors in VR. With that said, if you can find a good deal for a GTX 1660 Ti, it'd be a good choice. If you can live with a slightly lower resolution and low graphics quality, a 1650 Ti will probably be enough. You may wanna have a good amount of VRAM, at least 4 gigs.

Read a bit about it here and there:
https://steamcommunity.com/app/546560/discussions/0/1861616360699564219/
https://www.pcgamer.com/half-life-alyx-best-gpu-best-headset/

It also depends on:
  • the headset you're using cuz' each headset has a different resolution
  • your target framerate; if you're more sensitive to motion sickness, a higher framerate would be essential for your stomach
As for the rest, I guess it should be fine. Have a decent amount of RAM (16 GB), an alright CPU and a chunky SSD. With that said, I haven't played HL: Alyx myself, and I probably won't be able to (properly) until 2022 or 2023 when I get a VR headset. I got a GTX 1050 Ti with 4 GB VRAM, 16 GB of RAM, and an Intel Core i5 8400. I'm purely guessing it'll go at 30 to 40-ish fps on low settings on a Quest 2.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 10 months ago2021-01-24 15:27:12 UTC
in Half-Life texture sources Post #345265
This is crazy! I've recognised 15 textures so far in there.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 10 months ago2021-01-18 17:51:14 UTC
in light_environment not casting light. Post #345247
Yeah, looking at that screenshot, it seems that only one face is covered with SKY, and the rest are covered with AAATRIGGER
User posted image
This is a major issue.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 10 months ago2021-01-18 17:49:11 UTC
in light_environment not casting light. Post #345245
Oh yeah, two more things.
The sky brush, are all of its sides covered with the SKY texture?
Can you paste the whole compile log here too?

@Urby
The problem ain't solved yet LOL
Admer456 Admer456If it ain't broken, don't fox it!
Posted 10 months ago2021-01-18 09:57:30 UTC
in light_environment not casting light. Post #345241
First, why are you using AAATRIGGER for the backfaces? You should use NULL instead.
Second, give us all your light_environment keyvalues (properties) so we can figure out what might be wrong. In that specific setup, the light_environment would need a yaw of 180 and a pitch of 0.
Admer456 Admer456If it ain't broken, don't fox it!