Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

No htmlmessages.pb.h file #225

Open
nick679 opened this issue Dec 30, 2013 · 18 comments
Open

No htmlmessages.pb.h file #225

nick679 opened this issue Dec 30, 2013 · 18 comments

Comments

@nick679
Copy link

nick679 commented Dec 30, 2013

I cant run the hl2.exe in debug or release mode because VS2010 can't find htmlmessages.pb.h. I can't find it either, so is this issue just for me or is there a work around?

@yaakov-h
Copy link

yaakov-h commented Jan 6, 2014

The build process should generate this file for you.

@Richyro0
Copy link

I am also having this issue... Did you manage to fix it Nick?

@davecb
Copy link

davecb commented Jan 24, 2014

You're not alone: it built it in one copy some time ago, which I saved.
The first few times, copying it over worked.
Today, copying it to the current copy's sources-sdk-2013\mp\src\vgui2\vgui_controls\generated_proto directory has no effect: it's present, but the compiler thinks' it's missing!

ls
Directory: C:\Users\davidc\Documents\Visual Studio 2010\Projects\sources-sd
k-2013\mp\src\vgui2\vgui_controls\generated_proto

Mode LastWriteTime Length Name


-a--- 1/10/2014 8:43 AM 988003 htmlmessages.pb.cc
-a--- 1/10/2014 8:43 AM 505426 htmlmessages.pb.h

The compiler doesn't believe this, though:
Error 1 error C1083: Cannot open source file: 'generated_proto\htmlmessages.pb.cc': No such file or directory

@davecb
Copy link

davecb commented Jan 24, 2014

Just FYI, there are two other posts (in cyrillic) about this, at
http://cs-mapping.com.ua/forum/showpost.php?p=845615&postcount=154
and
http://bbs.hl-inside.ru/showthread.php?s=&threadid=57424&perpage=15&highlight=&pagenumber=8

The second chap has the files present, as do I

@Richyro0
Copy link

So i fixed this issue yesterday, and i managed to make the file generate correctly however ive been so busy i moved on to the next issue which I got after fixing protobuf which is that the game cant find the client another anoying problem im working on. Ill work out how i fixed protobuf and let you know. But it is fixable! don't give up lol.

@davecb
Copy link

davecb commented Jan 28, 2014

Cool: can you give us a hint? I can spend work-time on it tomorrow (if it's not going to take years (:-))

@Richyro0
Copy link

Ok ive been trying to get everything to work for the last week non stop I cant remember exactly how I got the generated proto to work. But these are the things that have got the game working for me.

  1. Get a fresh pull of the sdk. 2. vgui_controls.lib has this amazing ability of deleting its self so make sure its still there when you compile. 3. Compile everything.sln, then compile games.sln if your making an eposidic mod you don't need to compile HL2 or Server HL2 .dlls so get rid of them ( delete ) waste of space and over complicates things. Now this is where i was getting the protobuf generation error. But what the latest notes say on the git is that they have added support for protobuf in 2010 12 and 13 versions of visual studio. So i cut out the manual generation of protobuf which is actually in the sdk 2013 notes under "Setting up protobuff" and on my visual studio 2010 SP 1 version it compiled fine.

Also, command line must have 2013 sdk hl2.exe. So for me its

( G:\Steam\SteamApps\common\Source SDK Base 2013 Singleplayer\hl2.exe)

Command arguments must look something like this:

( my steam files are on a G drive ) -allowdebug -noassert -tools -game "G:\Steam\SteamApps\sourcemods\Project-X\game\mod_episodic"

Working Directory must be set to the 2013 SDK root folder? I think its called. Basically the top folder so the game can scan everything for me this is,

(..........\common\Source SDK Base 2013 Singleplayer)

After I set all this up, I got an error saying "Cant find client library" which has been driving me crazy for the last two days, anyway turns out that you have to copy everything that is in that mod directory like, bin cfg sounds materials etc right to the top folder so all that information must be in (Yourmod/(all in here) it cant be 2 or 3 levels down for example ( Yourmod/mod1/games/etc) as soon as you click source mods/your mod/( It must all go here )

In that file keep game and src folders and just copy all of the mod_episodic folder, check that you have client.dll server.dll and directx9.dll in your bin folder.

Gameinfo.txt ( this is vital ) I had no idea how much effect this had on the entire game. This will need to be set up properly, and must go in the same folder as i stated above (Sourcemods/Yourmod/inhere)

Now that should boot the game.

No assert is a command that ignores asserts in the code because during debug they will stop the game and this happens hundreds of times for me at the moment and im currently working on a fix. if you enter command -steam it will default back to hl2 so dont do that.

I would recomend trying the command without no asserts and see if you get what im getting, would be interesting to know if its just me or not.

Anyway that's what ive been up to, all instructions are extremely outdated i cant stress this enough lol.

Good luck.

@Richyro0
Copy link

example of my gameinfo.txt mine is quite complex and depending on what you want to use its going to be different, oh also I had to reinstall sdk 2013 because it just messed up at one point and even verifying game integrity didn't work

"GameInfo"
{
game "Project-X"
title "Project-X'"
gamelogo 1

type        singleplayer_only

FileSystem

{
SteamAppId 243730 // Source SDK Base 2013 Singleplayer
AdditionalContentId 400 // Portal
SearchPaths
{
// No /custom/ folders because they can interfere with mod content and shouldn't be in mod gameinfo.
game+mod+mod_write+default_write_path |gameinfo_path|. // Mod
gamebin |gameinfo_path|bin // Mod's Binaries

    // Using SSDKBase13 path, then back to /common/ and then using Portal folder. 
    // |all_source_engine_paths| magic help here too.
    game_lv                 |all_source_engine_paths|../portal/portal_lv.vpk
    game+mod                |all_source_engine_paths|../Portal/portal/portal_sound_vo_english.vpk 
    game+mod                |all_source_engine_paths|../Portal/portal/portal_pak.vpk        

    // Base Half-Life 2 Content: ep2, episodic, hl2
    game                    |all_source_engine_paths|hl2/hl2_lv.vpk
    game                    |all_source_engine_paths|ep2/ep2_english.vpk
    game                    |all_source_engine_paths|ep2/ep2_pak.vpk
    game                    |all_source_engine_paths|episodic/ep1_english.vpk
    game                    |all_source_engine_paths|episodic/ep1_pak.vpk
    game                    |all_source_engine_paths|hl2/hl2_english.vpk
    game                    |all_source_engine_paths|hl2/hl2_pak.vpk
    game                    |all_source_engine_paths|hl2/hl2_textures.vpk
    game                    |all_source_engine_paths|hl2/hl2_sound_vo_english.vpk
    game                    |all_source_engine_paths|hl2/hl2_sound_misc.vpk
    game                    |all_source_engine_paths|hl2/hl2_misc.vpk
    platform                |all_source_engine_paths|platform/platform_misc.vpk

    // TODO; find out what is it and why it's here
    game                    |all_source_engine_paths|episodic
    game                    |all_source_engine_paths|hl2
    platform                |all_source_engine_paths|platform
}

}
}

Even with all of this set up, I still have sound files and scene files missing in my game for example the hunters dont make any noise and somtimes combine soldiers dont either, so im currently working on that as well.

This is not by any means easy lol

Good luck.

@davecb
Copy link

davecb commented Jan 29, 2014

I'm not dead sure, but some of the issues can come from not keeping all the quasi-hidden config files under git control. As we build Visual Studio and Makefiles from batch files, that's an obvious risk ...

@Barnacle
Copy link

It's easy to fix. Just open properties of htmlmessages.proto and set General\Item Type to Custom Build Tool. Then fill Custom Build Tool\General with this:

Command line:

if not exist generated_proto mkdir generated_proto
..\..\gcsdk\bin\protoc.exe --proto_path=..\..\thirdparty\protobuf-2.3.0\src --proto_path=%(RootDir)%(Directory) --proto_path=..\..\gcsdk --cpp_out=generated_proto %(FullPath)

Description:

Running Protocol Buffer Compiler on %(Filename)%(Extension)...

Outputs:

generated_proto\%(Filename).pb.cc
generated_proto\%(Filename).pb.h

@davecb
Copy link

davecb commented Jan 29, 2014

I tried to apply the fix, but the "General" tab of "Custom Build Tool" for vgui_controls -> Protobuf Files -> htmlmessages.proto is a blank screen...
The same is true of a copy of my clone from git, I'll try cloning a clean copy from the original ...

@Richyro0
Copy link

Hey Dave when you get your copy from git do you have libprotobuf.lib in source-sdk-2013-master\sp\src\lib\public folder? You should see 2012 and 2013 in there as well, are you using Visual 2010? With service pack 1?

@davecb
Copy link

davecb commented Jan 30, 2014

Yes, I downloaded a clean copy, containing the 2012 and 13 directories, and a libprotobuf.lib and I'm indeed compiling with Visual Studio 2010 SP1.

I'm now trying to get the the issue we care about ... "You are in a maze of twisty passages, all alike." (;-))

@davecb
Copy link

davecb commented Jan 30, 2014

Well, that's a day and a half of wasted effort... For the moment, I've a batch file set up as a workround, to replace the files when they go missing. I was going to make it a pre-build event for vgui_controls or the client, but they are already in use by Valve.

Barnacle, is the missing custom build tool screen unusual, or a known VG bug? Mr Google wasn't able to help me on that (:-))

@Barnacle
Copy link

davecb, well, that's a bug.
Actually, i don't really use VS2010sp1, i set Platform Toolset to V100 in VS2012. :)

@Richyro0
Copy link

Dave whats your email? Ill email you my protobuf files and you can put them where they need to be and hopefully might be a work around?

@davecb
Copy link

davecb commented Jan 30, 2014

On 01/30/2014 03:20 PM, Richard Seabrook wrote:

Dave whats your email? Ill email you my protobuf files and you can put
them where they need to be and hopefully might be a work around?


Reply to this email directly or view it on GitHub
#225 (comment).

I have a set I'm copying in as a workaround:
I'm davecb@spamcop.net

David Collier-Brown, | Always do right. This will gratify
System Programmer and Author | some people and astonish the rest
davecb@spamcop.net | -- Mark Twain

@davecb
Copy link

davecb commented Feb 13, 2014

Thanks, everyone for your help, we may have a resolution!

In http://forums.steampowered.com/forums/showthread.php?t=3142643
Mangr0v3 wrote:
| ChadReitsma: Is there a space in the path to the 2013 SDK?

ChadReitsma replied:
Mangr0v3: Haha, well there are SEVERAL... I have an organized folder structure for all of my mods, but I'll try placing it directly off of C like C:\SDK2013

Appreciate the help!

EDIT - Perfect!!

I moved it into it's own directory, in C:\SDK2013, now the entire solution builds perfectly.

vpc.exe will generate unquoted (and unquotable) full paths in the .vcxproj files, which will then fail an multiple wonderous ways. My original build was in c:\source-sdk-2013, and it worked. Builds in my home directory and in "Visual Studio 2010" crashed, and in several cases created files named just "Visual" in the same parent directory as Visual Studio 2010

Reported as an update of bug 239

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants