Forum posts

Posted 2 months ago2024-02-17 13:04:53 UTC
in Help Wanted Post #348579
just put your questions in the forum here
Archie ArchieGoodbye Moonmen
Posted 2 months ago2024-02-16 12:50:55 UTC
in Help Wanted Post #348578
I got your DM.

So you're having trouble with level changes where the player spawns at map origin in the second level.
In that case you should check that
  • There is an info_landmark in both levels and named the same (without any special symbols or non-latin letters)
  • Both levels have a trigger_changelevel pointing to the corresponding map of the level change (i.e. the first level pointing to the second, and the second pointing to the first). It must do this even for one-way level transitions (in this case the second level's trigger_changelevel can be placed outside the playable area to keep the player from going back).
If you haven't already, check out Tutorial: Changing Levels guide as it's very helpful for learning about level transitions.
Posted 2 months ago2024-02-16 10:29:25 UTC
in Help Wanted Post #348577
There are plenty of people here that can help, depending on the problem/issue.

Start by telling us what problems you've been having, one at a time.
Tell us what you wanted to do, what you expected to happen, what you've tried, and what actually happened instead.
Posted 2 months ago2024-02-16 10:10:43 UTC
in Help Wanted Post #348576
Can someone help me in making a mod? There's some problems or issues that I could not solve.
Posted 2 months ago2024-02-15 01:18:45 UTC
in Half-Life Featureful SDK Post #348575
Hey! i really love your work, this level of easy customization its awesome, i downloaded this recent version (yesterday's) and i found a bug, the grande of the mp5/m4 grenade launcher doesn't do any damage (player itself and/or monsters) and for some reason the sprite its really big, like x3-x4 scale of a normal grenade.

EDIT: And i don't know if its just me, but in the sample mod, no matter what i try like executing the skill.cfg, or skillopfor.cfg, or whatever, all monsters health and parameters are 0 in every map. In the console it shows all the overriden values:

"sk_agrunt_health1" is "0"
"sk_agrunt_health2" is "0"
"sk_agrunt_health3" is "0"
"sk_agrunt_dmg_punch1" is "0"
"sk_agrunt_dmg_punch2" is "0"
"sk_agrunt_dmg_punch3" is "0"
"sk_apache_health1" is "0"
"sk_apache_health2" is "0"

etc.
Posted 2 months ago2024-02-13 18:36:29 UTC
in Half-Life Featureful SDK Post #348574
New release https://github.com/FreeSlave/halflife-featureful/releases/tag/featureful-2024-02-13

Changelog

Half-Life Anniversary changes

Some Half-Life Anniversary changes were merged from https://github.com/FWGS/hlsdk-portable. Thanks @nekonomicon
  • Improved handgrenade throw physics.
  • Improved spawn spot randomization in multiplayer.
  • Fix gauss sound on level transition.
  • Added HL anniversary fix for pushable acceleration
  • func_vehicle implementation
  • Fixed snark throwing when player is on the edge.
  • Applied new satchel controls.
More changes related to HL anniversary will be merged in the next version.

Cvar changes

  • New client cvar cl_satchelcontrol to control the preferred control scheme. 0 is for legacy, 1 is for anniversary.
  • Changed how pushablemode cvar works. Now 0 means anniversary mode (default), -1 means legacy mode and 1 means XashXT mode. The special value 2 (which meant the SoHL mode) has been removed.

Configurable features

  • gargantua_larger_size - when enabled, make Gargantua's size equal to one from Opposing Force. This fixes the problem with some projectiles (e.g. shockroach and hornetgun ones) not properly hitting the monster.

Other changes and fixes

  • Shock trooper and voltigores now have a 'hate' relationship to the player instead of just 'dislike'.
  • Picking up items by +use (when the pickup_policy value is not 0) is no longer allowed through the walls.
  • Fixed a bug when colorable crosshair didn't restore properly after using a func_tank.
Posted 2 months ago2024-02-12 23:13:35 UTC
in Static props don't show up (EP2) Post #348573
I remember running into this a few times before, years ago, but I just ran into it again, recently and today, and it's been driving me nuts.

There's a bunch of props which are supposedly suitable for prop_static (as in, the model browser lists them as such), that apparently aren't. When I place them in the world as prop_static, they straight up don't appear in the game. Neither the compile log nor the in-game console show any errors, they prop simply doesn't show up.

Affected models are, among others:
  • models/props_wasteland/controlroom_filecabinet002a.mdl
  • models/props_c17/lockers001a.mdl
  • models/props_junk/trashdumpster01a.mdl
  • models/props_wasteland/kitchen_shelf001a.mdl
So far, all models I've seen this happen with are models that are listed as physics and static props in the model browser, and they're all official Valve models shipped with and used in the games.

For each of them, I have to use prop_physics with all the flags that make it as static as possible, or prop_dynamic_override, both of which are computationally less efficient than prop_static and just irritating workarounds. Furthermore, the only thing I've found about this on the web is this Reddit post, which does suggest a solution, but a complicated one (using a different compiler from a different game), and which I'm not sure is even applicable, considering EP2 already runs the Source 2013 branch of the engine.

If anyone has an easier workaround, or can tell me why this is happening in the first place, I'd be very grateful.
Posted 2 months ago2024-02-12 13:12:40 UTC
in Forum dead? Post #348572
Well said.
Posted 2 months ago2024-02-12 10:43:17 UTC
in Forum dead? Post #348571
monster_urby said:
TWHL is one of the oldest Half-Life modding communities and in recent times it certainly has been quieter around the main site and forums. The site itself is not as active as it once was, but remains a useful resource with the wiki, map vault and competition dashboard.
For me it's kind of amazing that TWHL still exists. It's one of the first communities that I've joined online, less than 6 months after having an internet connection (2006/2007) with 32 kb/s speed. It brings back a bit of nostalgia after those phpbb/vbulletin forums. There are still many communities left communicating through these forum types, but a lot of them died. In my country, there were big communities around hardware/software/gaming magazine forums. In the early 2010's most of the physical mediums died, and the communities slowly started to fade away. I'm guessing this is what happened in other countries too.
Then the forums slowly started being replaced with chat platforms, one of the most popular being Discord. Although highly practical in some sense, I believe it's just another symptom of the dopamine-hit-style environment the internet is today. Discussions fade into a black hole, unlike these forums where you can search, structure and have some statistics. Discord is a forum, irc and teamspeak/ventrilo server all in one. All-in-ones don't ever do one thing well.

People also grow up and there's very little time to devote to niche online communities if you have multiple interests.

Then the social media garbage started and really took off in the 2010's, sucking people's time. Nobody is immune from these trends, I myself joined Facebook because high school friends pushed me to do it. Then Instagram because a college girlfriend told me to. Now I reluctantly joined Threads because some people I know post there. I never joined TikTok and I hope I never will.
In the past decade phones have practically enslaved us. It is now impossible not to check your phone several times per day. People mindlessly scroll through stories, reels and other forms of short form media shit. I do it too, and I've done it against my better judgment until I had enough humility to recognize that I am addicted to my phone, not unlike others. What slowly got me into the addiction were a few tough mental months where social validation from online forms provided me the feel-good emotions I needed to push through the days. When I work, the only solution for focusing is to close the internet connection on my phone and put it away from my field of view.

I've been also following AI trends for a few years. The hot shit right now are LLMs and diffusion models (a.k.a chatgpt/llama/mistral, stable diffusion/ midjourney/dalle a.k.a generative ai models). The internet is slowly becoming now a cesspool of generated robot regurgitated data deluge and fake art. Where once the internet was a source of good information and radical sincerity, filled with mostly tech or trade-inclined people, it's now... I don't even know how to describe it anymore. My feeling about it is how Mark Hanna in Wolf of Wallstreet describes the stock market:
Fugayzi, fugazi. It's a whazy. It's a woozie. It's fairy dust. It doesn't exist. It's never landed. It is no matter. It's not on the elemental chart. It's not fucking real.
Whoever is able to still ignore all of this and focus on their or these little community gardens, they can consider themselves trully blessed.

Technology robs us more time than the government and other necessary human chores ever will.

So considering all of this - it's a damn miracle people still come to TWHL to discuss and create stuff around an engine that's 25 years old.
Striker StrikerI forgot to check the oil pressure
Posted 2 months ago2024-02-11 16:23:34 UTC
in Transition Doors Post #348570
trigger_changelevel's 'Change Target' attribute can be used to trigger an entity on the next map.
20 years of Half-Life mapping, and still learning something new
Archie ArchieGoodbye Moonmen
Posted 2 months ago2024-02-11 13:40:11 UTC
in Transition Doors Post #348569
Contrary to what it suggests, trigger_changelevel's 'Change Target' attribute can be used to trigger an entity on the next map.

Edit: Here is an example map with Archie's suggestion of using func_wall_toggle.
Posted 2 months ago2024-02-10 01:38:04 UTC
in Draw numbers in HUD Post #348568
Hey, just wanted to say that i find my solution months ago.
What i wanted is to show the amount of grenades without select them, so here's my code writed in SendAmmoUpdate in player.cpp :
void CBasePlayer::SendAmmoUpdate(void)
{
for (int i=0; i < MAX_AMMO_SLOTS;i++)
{
if (m_rgAmmo[i] != m_rgAmmoLast[i])
{
m_rgAmmoLast[i] = m_rgAmmo[i];

ASSERT( m_rgAmmo[i] >= 0 );
ASSERT( m_rgAmmo[i] < 255 );

MESSAGE_BEGIN(MSG_ONE, gmsgGrenades, NULL, pev);//send message with the hitgroup they were just hit
WRITE_BYTE(0); //For some reason, there is some weapon ammo that is impossible to get his index, so instead of writing the grenade index, we just put a 0
`WRITE_BYTE(V_max(V_min(m_rgAmmo[GetAmmoIndex("Hand Grenade)"], 254), 0));`
MESSAGE_END();

// send "Ammo" update message
MESSAGE_BEGIN( MSG_ONE, gmsgAmmoX, NULL, pev );
WRITE_BYTE( i );
WRITE_BYTE( V_max( V_min( m_rgAmmo[i], 254 ), 0 ) ); // clamp the value to one byte
MESSAGE_END();
}
}
}
The gmsgGrenades can be replaced whit gmsgAmmoX , but i created a separated code just in case.
Posted 2 months ago2024-02-07 18:38:45 UTC
in Half-Life 1 Mod: Default Binding Problems Post #348567
So there has to be a config file already in the game to do that?
Posted 2 months ago2024-02-07 10:15:41 UTC
in Transition Doors Post #348566
You can use an env_global. It's an entity that acts as a switch, whose state is shared between level transitions. There's a tutorial, too: Tutorial: Globals.

Using that, a multisource, and the "Master" property on the trigger_multiple, you can disable it after the player activates it by entering the area, and reenable it once the player leaves it and enters the other area.

I'm hazy on the specifics, but after some experimentation with entities you should be able to engineer a solution on your own.

Sounds pretty complicated though: hard to set up and utilizing a lot of entities per one such transition. Use such setups sparingly.
Posted 2 months ago2024-02-07 09:05:43 UTC
in Transition Doors Post #348565
The logic_auto entity has an "OnMapTransition" output that you can fire to trigger an entity every time the map is entered, I think that should do the trick.
Posted 2 months ago2024-02-06 21:23:52 UTC
in Forum dead? Post #348564
I Will try! :)
Posted 2 months ago2024-02-06 17:40:23 UTC
in Assertion Error in jack editor Post #348563
Could you provide a screenshot of the error?
Admer456 Admer456If it ain't broken, don't fox it!
Posted 2 months ago2024-02-06 16:48:35 UTC
in Wiki enhancment thread Post #348562
Hammertime is like normal hammer, although a bit more modern, I would if you want ofcourse, include some articles for some Stuff about Hammertime
Tarek TarekA literal dumbass who uses Hammer++
Posted 2 months ago2024-02-06 14:14:49 UTC
in Wiki enhancment thread Post #348561
TrenchBroom stuff is in my plans. Hammertime will be interesting to see.
Admer456 Admer456If it ain't broken, don't fox it!
Posted 2 months ago2024-02-06 09:44:28 UTC
in Wiki enhancment thread Post #348560
I know this hasnt eeally been active, but I would write some tutorials for hammertime or trenchbroom, hammertime is a fork of sledge which is supposed to be as similar to base hammer as possible
Tarek TarekA literal dumbass who uses Hammer++
Posted 2 months ago2024-02-06 09:35:39 UTC
in Forum dead? Post #348558
Sledge is an open source level editor for Goldsrc.
Unfortunately not being developed anymore, and the Tools and Resources page says "Unfinished and rather unstable
use with caution"
I use a fork of sledge which is quite finished and not really that unstable, you should try it sometime
Tarek TarekA literal dumbass who uses Hammer++
I could help but I dont do 3d modeling, I do half life 1 mapping
Tarek TarekA literal dumbass who uses Hammer++
Posted 2 months ago2024-02-06 02:42:16 UTC
in Transition Doors Post #348556
Oh I had no idea that I can freeze the player like that. I kept using the camera lol, thanks

With this method everything works great - I press use on the door > freeze > fade > map change. But when I enter the next map, it just spawns me there without a fade in and since I can't add it to the same multi_manager cuz it's on a previous map, Idk what to do. I tried just using the "Level fade in" option but 1. It's too long and 2. It seems like it can only happen once, so if i leave and come back, the fade doesn't happen.

I also tried putting a trigger_once in the exact place where the player spawns and make it trigger a fade but again, that only makes it happen once and I don't want to make it a trigger_multiple because then it will trigger when i come back to the door.

Is there a way to trigger that env_fade only when i enter the map?
Posted 2 months ago2024-02-06 01:12:14 UTC
in Transition Doors Post #348555
Welcome!

There are a few ways to achieve this effect, but almost any setup you try is going to involve a multi_manager. This will let you set your events on a timed sequence, and can be triggered by making the door a func_button.

I recommend reading the tutorials and wiki entries about these entities, and once you've got them figured out, you want to use the multi_manager to trigger some more entities to create your effect.

You'll want:

1. a func_wall_toggle - this can be an invisible block in front of the door, inside the player. It should be set to "starts invisible" via its flags. It does nothing except freeze the player in place (unless you still want them to be able to run around as the room fades to black)
2. an env_fade - this will fade to a colour (or black) over a specified number of seconds.
3. a trigger_changelevel - this will load the new map.

The multi_manager can delay all these to happen in sequence, so you freeze, fade and finally change level.
Archie ArchieGoodbye Moonmen
Posted 2 months ago2024-02-05 23:58:10 UTC
in Assertion Error in jack editor Post #348554
That's just a crash, the error about JIT would just be programmer stuff I think. Try updating to the latest free version (released only in the last week or two), it fixed a common crash in the entity properties window. If you're already using that version... just make sure you have enabled autosave in the options because you can't do anything about it crashing sometimes.
Penguinboy PenguinboyHaha, I died again!
Posted 2 months ago2024-02-05 23:40:55 UTC
in Assertion Error in jack editor Post #348553
Sometimes when I am mapping for jack it just kicks me out and says, i need JIT for it to run it again. i have no idea what JIT is and why it is doing this so if anyone can tell me what the hell is going on and why it is failing, i would be very grateful.
Posted 2 months ago2024-02-05 17:36:29 UTC
in Transition Doors Post #348552
I wanna make a door where if a player presses use, the screen fades to black and when it fades back in, the player will be in the location behind the door.

So far i've thought of either making use of a teleport trigger that would teleport the player behind the door after pressing use or the same thing but with a changelevel trigger but I'm totally new to mapping so I don't know if there's an easier way to do it.

I know that Cry of Fear uses this type of doors but when i checked the maps it seems that they programmed their own entity and I'd like to do it with the stuff that's already avalible by default in Jack.
I'm trying to form a small team of people to develop this short total conversion mod https://www.youtube.com/@EXCAVATION_mod/featured

The mod has 1 active programmer, 1 on stand by. We need a GoldSrc modeler who can help me with models and their animations. I can do models to an extent and need someone who can take these models and textures I do, and finish the rest of it: applying textures/UVmapping (I do texture work again, we see how it looks, make adjustments if needed etc. ), doing required animations, and exporting/delivering a game ready model.

Atm I need assistance with probably one and only (alien) weapon in the mod. I have the 3D model itself nearly ready, same for the textures. Given the design has no round surfaces, texture/s can be simply projected. As for its animations:

1. Unfold
2. Fold
3. Idle
4. Fire
5. Heal player

You would be given a detailed brief on each task. Might be easiest to use Blender but whatever works for one, the end result is what matters.

If you can do any of the stages, e.g. just the UV mapping or exporting, whatever, that's still valuable and you are free to contact me.

There's a closed Discord server (we keep dev progress a secret and do public updates every now and then when enough new stuff is implemented).

E-mail: nenad.designs@yahoo.com

Thx for your attention,

Gojkovic
Posted 2 months ago2024-02-05 09:16:39 UTC
in Forum dead? Post #348550
Sledge has some forks of it on github, im using a fork of sledge called hammertime, which has prefab support and a lot of other things being added!
Tarek TarekA literal dumbass who uses Hammer++
Posted 2 months ago2024-02-04 16:41:23 UTC
in Forum dead? Post #348548
Between the two, it's kind of like the choice between having a bag of candy handed to you or going to the kitchen and cook a healthy dinner.
we're lucky to have both ;)
Posted 2 months ago2024-02-04 15:52:54 UTC
in Issue with modding particular sequences Post #348547
That's quite odd. I don't suppose there are any cue points or anything in there, GoldSRC tends to be very picky about those.
This will need some testing in an isolated map t.b.h.
Admer456 Admer456If it ain't broken, don't fox it!
It's alright. I might just use Safe zones behind walls and when I do feel like mapping again (this issue really drained me, i've tested 90% of the entities), I'll make a level where it's designed so that it wouldn't be an issue. Though that doesn't sound very fun to me. Anyways, if you get round to trying it out, do let me know please. I'll be forever grateful.
Huh. Like I said, I've been out of it for a while, so I'm not sure, sorry. If I can find the time, I might quickly test it myself in Hammer, but I can't make promises.
This post was made on a thread that has been deleted.
Posted 2 months ago2024-02-03 21:59:12 UTC
in How do you add sounds/models into the mod in steam? Post #348543
recommended viewing
Archie ArchieGoodbye Moonmen
I figured it out. dont put the models and soud folder inside the valve folder. just put it in your mod folder.
User posted image
Posted 2 months ago2024-02-03 20:40:49 UTC
in Issue with modding particular sequences Post #348541
No, I've done all of the voicelines at 22 kHz, and they lip sync fine. It's just those two scripted sequences where I'm running into trouble.
Posted 2 months ago2024-02-03 20:29:32 UTC
in Issue with modding particular sequences Post #348540
If I recall correctly, voicelines should be up to 11 kHz, mono, unsigned 8-bit PCM, so that the engine can perform crude lip sync.
Other sounds (ambience, gunshots etc.) can be up to 22 kHz, mono, unsigned 16-bit PCM.

Oh by the way, for future reference, technical questions go here:
https://twhl.info/forum/view/goldsource
The "Maps and Mods" category is more for showing off map/mod projects... not that it has been enforced much lately x3
Admer456 Admer456If it ain't broken, don't fox it!
Posted 2 months ago2024-02-03 20:16:55 UTC
in Issue with modding particular sequences Post #348539
So I've run into a particular issue while modding voicelines. There's 2 particular sequences where replacing the voiceline, even while following the proper software requirements for them (22k Hz, .WAV, Mono, 8-bit PCM). It's the scientist on the catwalk after "Unforeseen Consequences" (c1a0_sci_stayback, c1a0_sci_catscream), and the two scientists at the beginning of "Blast Pit" (c1a4_sci_rocket, c1a4_sci_tent). Instead of playing the .WAV I assigned them, nothing plays at all; instead, their model just moves while being completely silent.

I haven't had any issues with other lines. However, despite what I have tried, it seems like these sequences are irreplaceable via normal methods. Any solutions? Thanks.
Hello,

I followed this tutorial: https://www.youtube.com/watch?v=ZcKyLVHOdkY&list=PL58AL7OYUjPHwV_mRqygim3y36vcks4TW and the guy explains how to set up the folders and such. Ive been trying to add custom sounds and models using the mod i made in steam. I want to only modify the mod that i made, and not the original Half Life. I want to do it kinda like CRACK-LIFE and other mods like that. But, the mod wont load the models or sounds.

idk if this helps or not but this is how the folders are set up
User posted image
User posted image
User posted image
Thank you.
So for some reason whenever I set the line-of-sight trigger_multiple's Delay, it fires the Output to the logic_relay no matter what, even when the wall trigger has detected the info_target before the line-of-sight fires. Though, could the issue be in using OnStartTouch and OnEndTouch on the wall trigger to Toggle the logic_relay? I tried Enable/Disable but both options don't seem to work.
Posted 2 months ago2024-02-03 11:54:09 UTC
in Forum dead? Post #348536
Sadly, Discord took off forums after its release.
Thank you for your response!

Just to clarify - by player trigger do you mean the one parented to the hostile NPC? And if I rename the player, would the line-of-sight trigger stop working when they pass through it?

I will test what you suggested as soon as possible and report back.
Posted 2 months ago2024-02-02 22:42:25 UTC
in Forum dead? Post #348534
Yeah, it was around late 2010s, Discord really took off soon after its release.

Though he decline of forums have been going on for longer, alongside the growing popularity of social media platforms such as FB and Twitter. Unlike forums, these platforms are designed to bring tons of personalised content directly at the users.
Between the two, it's kind of like the choice between having a bag of candy handed to you or going to the kitchen and cook a healthy dinner. The latter has higher quality, but the former gets you instant gratification for no effort. It's no surprise which one is more popular, despite the downsides.
Posted 2 months ago2024-02-02 20:41:24 UTC
in Forum dead? Post #348533
I'm too young to feel this old, but when did this pivot to Discord happen? I feel like Discord was new five years ago and at some point suddenly everything was on Discord and now the web is full of defunct Discord links where there used to be forums. And yeah, the forum does feel pretty inactive.

(TWHL, never disappear, please)
I've been out of Source mapping for a while, so this might be all wrong, but here's my idea.

Make a second trigger (I will call this the "wall trigger"), identical to the first (the "player trigger"), and make both into trigger_multiple. Set up a filter_activator_name to make the wall trigger react only to your wall info_target. Create a logic_relay.

Set up your player trigger to trigger the logic_relay when it detects the player, and set this up with a small delay – say, 0.1 seconds. Then set up your wall trigger to disable the logic_relay when it detects the wall, without any delay. Lastly, set up the logic_relay to perform whatever actions should be performed when the player is detected, and to disable or delete both triggers.

What's happening is this: the logic_relay does nothing but forward the "player detected" impulse from the player trigger. Think of it as a road or water pipe, stuff just gets funnelled through it. The wall trigger detects if the soldier is looking at a wall and disables the relay if so, meaning if the soldier "sees" the player "through" a wall, the pipe that passes that information on is closed and no alarm is triggered / hostile action initiated / whatever you have planned. And since the player trigger has a slight delay before it fires at the logic_relay, the wall trigger can disable it before that happens. Due to the two trigger nature, your trigger_once has to become a trigger_multiple, as it will repeatedly "see" the player through walls, and the "only once" nature is instead taken over by the logic_relay's "deleted or disable both triggers once the player is detected" output.

A simpler version of this would be to skip the relay and just make the wall trigger disable the player trigger, but I'm not sure how that could be made to work, since both could detect the player and wall simultaneously and the "player detected" output might be fired before it's disabled.

Again, I haven't done any Source mapping for years until recently, so this might be completely wrong, but that's how I would try it. If anyone has a better idea, forget I said anything.
Posted 2 months ago2024-02-02 20:19:22 UTC
in Hammer++ Compiling issue Post #348531
It finally compiled properly! Thank you so much!
Dr.Orange Dr.OrangeDo you know who ate all of the donuts?
Posted 2 months ago2024-02-02 20:10:27 UTC
in Hammer++ Compiling issue Post #348530
Your map has a leak, but due to how the compiler works it's not reporting this.

Your map needs at least one solid brush not tied to any entities to properly compile. You tied all sky brushes to func_water_analog which causes the compiler to skip trying to build brushes, so it also skips over the usual leak detection.

Sky brushes must never be tied to an entity. Brushes used to seal the map must never be tied to an entity either. Once you've changed the sky brushes back to regular brushes it should compile properly.
Posted 2 months ago2024-02-02 20:05:13 UTC
in Hammer++ Compiling issue Post #348529
I'm not sure where i can find the compile settings.

As for the vmf file: https://drive.google.com/file/d/1qkGUmlKR188nfP_GPjtoTTv1-3DmceuU/view?usp=drive_link
Dr.Orange Dr.OrangeDo you know who ate all of the donuts?
Posted 2 months ago2024-02-02 20:00:32 UTC
in Hammer++ Compiling issue Post #348528
You didn't show your compile settings.

Also, can you provide the vmf file you're trying to compile?