BSP Viewer v1.5.6 Full - NemPosted: Apr 17th, 2004 - 5:06:58 pm
About:

BSP Viewer v1.5.6 - BSP Viewer and all the files you need to run it (except the .NET Framework).

Download: Runtimes: (Required)

.NET Framework v1.1 (23,698 KB Executable) - BSP Viewer is written in C++ .NET and such as requires the .NET runtimes. The .NET runtime is available as a Windows Update. v1.1 is required.

Download:
Modified: Apr 14th, 2006 - 1:38:17 pm[ 134223 Views ]

[ 1 2 3 4 ]

31. the-copyPosted: Oct 26th, 2005 - 3:26:49 pm
Can you edit included WADs in a file? That would help me ALOT, i would like to change some textures to grayscale.

32. NemPosted: Oct 26th, 2005 - 7:31:37 pm
Michael:
I never tested BSP Viewer with Blue Shift maps (because I don't own Blue Shift) so it is possible that the format is slightly different and may be causing loading errors.

The-Copy:
No, that is not possible. It would also require a fair bit of work so I have no plans to add that feature.

33. MichaelPosted: Oct 27th, 2005 - 6:57:30 am
Nem, If you did have a Blue Shift BSP file, would it be easy for you to adjust BSP Viewer to open it?

34. NemPosted: Nov 1st, 2005 - 12:14:21 pm
Possibly, depends on how different they are.

35. MichaelPosted: Nov 3rd, 2005 - 8:35:26 am
The-Copy:
If you want to edit the .WAD files, you can do that with a program called "Wally".

36. BluefangPosted: Nov 3rd, 2005 - 2:56:58 pm
Michael:
That wont help because he wants to edit the textures compiled into a map (BSP file). Wally can't do that AFAIK.

37. NoBodyPosted: Nov 4th, 2005 - 4:48:31 am
The differenc betwean hl and bs bsp's is that the first two sets of 8 byte chunks in the .bsp are switched, so it should be very easy to alow bspviewer to open bs maps.

38. oblivionPosted: Dec 27th, 2005 - 5:59:48 am
Need help....
nem I know u like ns and u use this program for ns so u can help me :P........

ok with this.... it cant see any of the ns entities like the hive or cc...... and u cant see the spawn points either..... if u can help me with this that wud b great!

i think its coz u need to add the entities from ns but it doesnt ahve a .gfc

please email answer to jacob_wassup99@hotmail.com

thank u

39. JipiiPosted: Dec 27th, 2005 - 7:15:44 am
It seems nice. But when I import/export it to .3ds file and try to import/export it to 3dsmax it whines something that the file ain't valid or something like that what

40. NemPosted: Dec 28th, 2005 - 4:39:35 pm
oblivion:

BSP Viewer doesn't do anything MOD specific, such as rendering the hives. You can see the hives locations if you select them in the entity list, an orange box will appear where they are located.

Jipii:

BSP Viewer uses a 3rd party library for .3ds support, the actual .3ds format has never officially been released so there may be problems with the library. You might try importing it into another program or disabling the materials.

I plan to add HL .bsp support to the Object Viewer I've been working on as well as basic export support for all supported formats (probably to .obj because it is a well documented format).

41. the-copyPosted: Jan 8th, 2006 - 6:58:00 am
Nem:

okay. but is it possible? i mean not possible with bspviewer but possible, as in.. possible? :p

42. NemPosted: Jan 8th, 2006 - 1:25:35 pm
Umm, ya, this is BSP Viewer's code for loading the textures:

[code]
int CBSP::BuildBSPTexture(char *cName, DWORD dwWidth, DWORD dwHeight, LPBYTE lpPalette,
LPBYTE lpData, ETextureFilter TextureFilter)
{
// Setup texture.
int iTextureIndex = this->TextureManager->GetTextureIndex(cName);

// Check if the texture is loaded.
if(iTextureIndex != -1)
{
return iTextureIndex;
}

CTexture Texture;
Texture.Width = dwWidth;
Texture.Height = dwHeight;

if(*cName != '{')
{
// Texture is a normal RGB texture.

Texture.BPP = 3;
Texture.Data = new unsigned char[dwWidth * dwHeight * 3];

for(DWORD i = 0; i < dwWidth * dwHeight; i++)
{
for(DWORD j = 0; j < 3; j++)
{
Texture.Data[i * 3 + j] =
lpPalette[(unsigned int)lpData[i] * 3 + j];
}
}
}
else
{
// Texture has a transparent index.

LPBYTE lpAlpha = lpPalette + 255 * 3;

Texture.BPP = 4;
Texture.Data = new unsigned char[dwWidth * dwHeight * 4];

for(DWORD i = 0; i < dwWidth * dwHeight; i++)
{
bool bAlpha = true;

for(DWORD j = 0; j < 3; j++)
{
Texture.Data[i * 4 + j] =
lpPalette[(unsigned int)lpData[i] * 3 + j];
bAlpha &= Texture.Data[i * 4 + j] == lpAlpha[j];
}

if(bAlpha)
{
// Color value is alpha mask.
for(unsigned int j = 0; j < 4; j++)
{
Texture.Data[i * 4 + j] = 0;
}
}
else
{
// Color value is not alpha mask.
Texture.Data[i * 4 + 3] = 255;
}
}
}

iTextureIndex = this->TextureManager->Load(Texture, cName, TextureFilter);

delete []Texture.Data;

return iTextureIndex;
}

bool CBSP::BuildBSPTextures(ETextureFilter TextureFilter)
{
LPBSPMIPTEXTURELUMP lpMipTextureLump = (LPBSPMIPTEXTURELUMP)(this->lpTextureData);

char cMessage[512];
INT iTexturesLoaded = 0, iSubTexturesLoaded;

//
// Load embedded textures.
//

this->Log->Push(" Loading embedded textures...", Types::CColor::Gray);

// Loop through each lump in the BSP file.
iSubTexturesLoaded = 0;
for(INT i = 0; i < lpMipTextureLump->MipTextureCount; i++)
{
// If the lump doesn't exist don't process it.
if(lpMipTextureLump->Offsets[i] == -1)
{
continue;
}

LPBSPMIPTEXTURE lpMipTexture = (LPBSPMIPTEXTURE)((LPBYTE)this->lpTextureData
+ lpMipTextureLump->Offsets[i]);

// If the lump isn't embedded don't process it.
if(lpMipTexture->Offsets[0] == 0)
{
continue;
}

// Load the lump.
DWORD dwSize = lpMipTexture->Width * lpMipTexture->Height;

LPBYTE lpData = (LPBYTE)lpMipTexture + lpMipTexture->Offsets[0];
LPBYTE lpPalette = lpData + dwSize + (dwSize / 4) + (dwSize / 16)
+ (dwSize / 64) + 2;


this->BuildBSPTexture(lpMipTexture->Name, lpMipTexture->Width,
lpMipTexture->Height, lpPalette, lpData, TextureFilter);
iTexturesLoaded++;
iSubTexturesLoaded++;
}

sprintf(cMessage, " %d textures loaded.", iSubTexturesLoaded);
this->Log->Push(cMessage, Types::CColor::Gray);
}
[/code]
Where this->lpTextureData is the texture data lump (lump 2) loaded into memory. All you would have to do is alter the palette to convert it to greyscale. The lighting data is also RGB so you might want to convert it to greyscale. I'm not sure if the lighting data lump (lump 8) is tightly packed, but I suspect it is.

43. adyarcPosted: Feb 27th, 2006 - 2:09:41 am
I get this error:

"halflife.wad not found"
"Failed to load gfx\env\snowft.tga."
"Failed to load sky."

How to setup the path for ".wad" textures and ".tga" enviroment.


Thanks!

44. NemPosted: Feb 27th, 2006 - 12:41:16 pm
The setup instructions are located in the readme.txt file.

45. OzwaldPosted: May 4th, 2006 - 10:09:37 am
Any chance of getting the source? I downloaded the old 'BSP View', but the code is quite a mess...I can barely follow it.

[ 1 2 3 4 ]

You must be logged in to post a comment.
New users can register here.
Nem's Tools v2.0 © 2006 Ryan Gregg.
Execution time: 0.030309s; Queries: 17.
dishes served.
Powered by The Wavelength.

Valid XHTML 1.0 Transitional Valid CSS
π