Jump to content
NHL'94 Forums

Create a new cyberface for existing players in NHL 2002? Or where to download facepacks for NHL 2002?


Recommended Posts

I am trying to add photos to some existing players in NHL 2002 (for example national teams do have real players, but some are without photos...).

I played around EA editor and tried editing bphoto.viv and sphoto.viv, but it caused the app crash.

Is there a some tutorial how to do this? Or links to NHL 2002 facepacks?

PS: At the very minimum, if I could see the players photos in the EDIT LINES screen, it would be enough. I don't necessarily need to create the whole cyberface for the gameplay, if it's too complicated

Edited by mil84
Link to comment
Share on other sites

Here's some example code I made for player portraits:

gfxpak -cp PHOTOS\BPHOTO.VIV\0001.FSH 3618.FSH tapper.png PPRT
gfxpak -p PHOTOS\BPHOTO.VIV 3618.fsh

move 3618.fsh bphoto\

gfxpak -cp PHOTOS\SPHOTO.VIV\0001.FSH 3618.FSH tapper_s.png PPTS
gfxpak -p PHOTOS\SPHOTO.VIV 3618.fsh

move 3618.fsh sphoto\

gfxpak -cp UGI\UGIFACE.VIV\0001.FSH 3618.FSH tapper_m.png PPTU
gfxpak -p UGI\UGIFACE.VIV 3618.fsh

move 3618.fsh ugiface\

pause
cls

This gets copied into a new .bat file, which can be created by pasting the code into Notepad and selecting "All Files". gfxpak.exe is needed for this (a version of which can be, interestingly enough, found here: http://mjhl2002-2.freewebspace.com/utility.zip) Though obviously, the numbers and file name would reflect the one you're trying to edit. The bphoto, sphoto, and ugiface folders would need to be created in the game directory first. For this, three images are needed; a large photo, which is 176x250 (bphoto); a small photo, which is 28x40 (sphoto); and a medium photo, which is 56x78 (ugiface). Name these files as such: (player name).png (bphoto); (player name)_s.png (sphoto); and (player name)_m.png (ugiface)

As for cyberfaces, here's what you do:

First, you open EA Graphics Editor.

Then you find faces01.viv. Open that file.

After that, find the cyberface that most closely matches the portrait.

Extract that cyberface, then rename it to reflect the portrait number (f000xxxx.fsh; the x's are placeholders for the number of your choice. if it's 4 digits, then you put, for example, 1234 in the x's. If it's 3 digits, then you put, for example, 0123 there, etc.). The program then asks if you would like to decompress it. Select yes.

After that, you go to the file called FAC1, and save it as a png. If you want, you can name it after the player you are dealing with.

Then go to whatever photo editing software you have. I use Photoshop. For that, I simply duplicate the original face and put it in RGB mode. The steps may be different for other image editors. Here, let's assume you have Photoshop.

First, you go to the portrait, and select the face using the Lasso tool. Feather it after you make the selection so that the transition between the portrait and cyberface is more seemless. Copy the selection, and paste it on top of the cyberface

Then you line up the face you just pasted with the cyberface's features.

For even more realism, you can make the new layer's colours resemble that of the cyberface as closely as possible. Once that is done, merge the two layers and copy it.

If the player has a beard, simply use the Clone Stamp tool to clone parts of the beard to make it more realistic. Proceed to then merge and copy.

Then you paste the new image onto the original. That way, the palette remains the same. Save it.

Remember that cyberface you extracted all the way back in step 4? Now, let's open it up.

Once it's open, go to the file labled FAC1, and open the Import Wizard.

Select the option that reads "Import an existing external file into the current open image." Click next.

Then you go to "Browse", and find the image you just edited. Then click "Next".

The Wizard will mention that the image uses a global palette. Assuming you pasted the RGB image over the indexed one back in step 10, you don't need to worry, as the palette is the same. Click "yes".

Then, watch as the Wizard does its thing.

If it was successful, then you should be able to see the new image imported into the cyberface.

Then, make a new .bat file in the same way as previously outlined. Here's some base code:

GFXPAK -p gamedata\faces00.viv F0008185.fsh
move F0008185.fsh cyberfaces\
pause
cls

Replace F0008185.fsh with whatever cyberface you made. And create the cyberfaces folder in the install directory.

Once all that is done, run the first batch file, which can be named something like "photos.bat". If done correctly, the files should be imported. Do the same thing with the cyberface, witha batch file called "cyber.bat". Again, if done correctly, the file should be imported.

Then, find a player that fits the position of the player you wanted to make files for, and change the FAC1 and FAC2 numbers in nhlinfo (which can be found here: nhlinfo.zip - Google Drive) to the numbers corresponding to the files you just imported.

Then launch the game. Go find the player you were editing. If done correctly, there should not be an appcrash, and the photos are visible.

On my end, however, trying to select teams crashes the game because of ntdll.dll being faulty, according to Event Viewer, but the cyberface should be visible in-game if you followed the steps correctly.

Link to comment
Share on other sites

Thank you for a detailed tutorial, but I am a noob and I have plenty of questions :)

 

1. If I understood you well - if  I do not want cyberfaces, then that script from the beginning is all I need + those 3 version of png photos in appropriate resolutions (normal, _m, _s)? Am I right? I only wanna add 2 goalies so really, cyberfaces in the game do not matter much for me...Lot of work for nothing.

2. File you linked (http://mjhl2002-2.freewebspace.com/utility.zip) can not be downloaded (forbidden access). I've also tried VPN + 3 different countries, same result

3. Can you pls explain a bit logic of this command:

gfxpak -cp PHOTOS\BPHOTO.VIV\0001.FSH 3618.FSH tapper.png PPRT

I understand it tries change cyberface in database PHOTOS\BPHOTO.VIV, specifically 0001.FSH cyberface (I guess...) with another cyberface 3618.FSH but I do not have any cyberface 3618.FSH? I only have png photos of players. Or do I miss something?

Thanks a lot for your effort, I really appreciate it :)

Edited by mil84
Link to comment
Share on other sites

1) Yes, that’s all you’d need.

2) Of course this was going to happen. How about this one, instead? https://forums.nba-live.com/downloads.php?view=detail&df_id=29
3) That’s not for cyberfaces. That is for the 176x250 photo that you see when viewing a player’s information, as well as the starting line up screen. In regards to the number, please read this:

7 hours ago, Jlsegafan2001 said:

Though obviously, the numbers and file name would reflect the one you're trying to edit.

So yeah, you missed a crucial detail.

Edited by Jlsegafan2001
Link to comment
Share on other sites

Thanks. I specifically do not understand why there are 3 different informations:

 

- 0001.FSH // I assume this is a player image I wanna change

- tapper.png // a player image I wanna upload

- 3618.FSH // what is this ???

I do not ask about numbers, I know they are arbitrary, I am asking what is that extra fsh file?

Edited by mil84
Link to comment
Share on other sites

Here’s the thing.

 

0001.fsh is actually used as a reference for .fsh file you are using gfxpak to create and import (3618.fsh). tapper.png is the image that the .fsh file should contain. PPRT is the file type used for the images in bphoto.viv.

Link to comment
Share on other sites

Got it, it just looked confusing, but once I tried it, it was actually pretty easy and straightforward.

Thanks a lot!

 

One last thing though - whatever I use, jpg or png, it looks like image degrades a bit, and there are few black dots all over the image. Not a big deal, just not sure why that happens?

Edited by mil84
Link to comment
Share on other sites

What I do is this:

 

I create the images with those sizes.

Then I paste the portrait into the 176x250 image and crop it.

Then I use the magic wand tool to select the background.

Then I put the image into indexed mode, which limits the colours to 256. It’s important that you set the matte to black, as that way, the portrait won’t have a TV static-esque outline.

That’s when I delete the background.

Then, I save the image with the player’s last name. The last name is preceded by the first initial of another player has the same last name. For two fictional players of mine, Sonny Hedges and Sonia Hedges, I name them as syhedges.png and sahedges.png, as their names are spelled almost identically. However, for Justin Miller and Stephen Miller, two other fictional players of mine, it’d be jmiller.png and smiller.png

For the player you have, the file names would be:

lasak.png (bphoto)

lasak_s.png (sphoto)

lasak_m.png (ugiface)

Link to comment
Share on other sites

Yes, those are exact name conventions I've used. I've even tried jpg pics, bmp pics, png with transparent background pics, even gifs, 8 bit, 16 bit, 24 bit, 32 bit, web pallette, normal palette - in Gimp, or photoshop, even online converters, etc. Nothing works. Always some issues.

EDIT: I've tried 256 colors (8-bit) PNG with transparent background, and that's the only combination which works! Finally

Thanks for your help! This was tough, much more complicated than I thought and I would have never figure it out without your help

Edited by mil84
Link to comment
Share on other sites

Do you have any own mods, addons, updates or anything? I'd love to check your work ;)

PS: by any chance, do you know how to play NHL 2002 on higher than 800x600 resolution? I'm a bit familiar with nGlide, but it doesn't do anything for nhl 2002 regardless settings (even after installing registries & patch). I remember it used to work for nhl 2000 in the past

Link to comment
Share on other sites

https://discord.gg/Fj78gGbF6c

If you have Discord, you can join this server. If not, you can simply create an account, then join. If you don't want to, I can create some threads showing off what I have to offer as of late.

 

P.S.: That's interesting. I have my own issue, and it's game-breaking: I am unable to load into a match because this error crashes the game every time I attempt to get to the Select Teams screen in any mode:

Faulting application name: nhl2002.exe, version: 0.0.0.0, time stamp: 0x31313931
Faulting module name: ntdll.dll, version: 10.0.19041.2364, time stamp: 0xea5711f3
Exception code: 0xc0000005
Fault offset: 0x000482f5
Faulting process ID: 0x44d4
Faulting application start time: 0x01d94f22ede5066d
Faulting application path: C:\NHL 2002\nhl2002.exe
Faulting module path: C:\WINDOWS\SYSTEM32\ntdll.dll
Report ID: def3245a-97dd-47ea-841b-7e18ec96bb68
Faulting package full name: 
Faulting package-relative application ID: 
Faulting package-relative application ID: 

Link to comment
Share on other sites

Interesting. I am using Parallels with Win11 (on Mac M2 - ARM) and everything works fine. So was on VMWare (just without 3D acceleration).

This looks like a Drivers/graphic problem?

I would definitely try virtualization - even if your laptop is Windows - to narrow down possibilities. Because virtualized environment is standardized, and if game works fine in virtualized enviroment, but not on your host OS, for sure something is wrong with the host OS, probably drivers? hard to say, but worth to try.

Edited by mil84
Link to comment
Share on other sites

Joined. To your issue, this really seems like corrupted drivers or perhaps unsupported graphic card? Because generic drivers & hw in VMware works fine. What your specs & win version?

I guess you've investigated it a lot already, but just in case - have you tried copying ntdll.dll from VMware to your host machine? Or installing various drivers versions for your graphic card? Or installing a software from your card manufacturer, and tweak it by turning on/off various features? Or if you have a dedicated graphic card, have you tried to turn it off and only using integrated one from the (intel) motherboard?

Edited by mil84
Link to comment
Share on other sites

No, it was a Windows update that broke NHL 2002.

Copying that file cannot be done, as Windows will prevent me from completing it by way of needing permission… from myself. I use an nVidia card, and I always try to keep it up to date whenever I can. I believe the motherboard I have is an MSI one.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...