Installation
------------
Unzip all files in any folder you want and run nhlview.exe.

Note
----
This read me has not been updated with NHL06-09 information due to lack of time,
so some of the stuff said below might not apply to NHL06-09. BACKUP, always!

There is a big bug with loading of seasons in NHL06. You have to load the season twice in the game
for player changes to appear. NHL06 Patch #2 resolves this issue.

History
-------
6.1.5.22:
Bug fixing release:
- Fixed a bug where some extended latin letters were not displayed properly
- Added ability to save database in different charset than latin (as controlled by Charset setting in View -> Font)
- Fixed an access violation error after deleteing a custom team
- Fixed team stats tab
- Fixed NHL 2005 db.viv opening after official roster update
- Fixed incorrect labeling of AAID field
- Added Rules and Options editor (for now only Rules, Options coming in later versions)
- Added graphical preview of coach's cyberface in NHL09
- Fixed play-by-play preview for non-english audio files. NHLView will still open english pbp, but if other language file is renamed to english, it will be played properly. Switching of pbp language will be added in later version
- Added reverb for arena announcer playback
- Improved progress display while loading
- Fixed art lists for coaches and audio list for NHL 09 (specifically KHL players)
6.0.12.24:
NHL 09 Release with major new features for other games.
- Added support for NHL 09
- The program is now fully Unicode which means it does not run on Windows 9x
- NHLView now supports Windows XP themes
- Added ability to create and delete teams
- Added ability to preview graphics and play-by-play. Right now graphic preview is supported for NHL 2004 and NHL 09, while play-by-play preview is supported only for NHL 09. Other games will be added later.
- Corrected coach art lists with more accurate ids.
- NHLView now detects the installed NHL games in the Open Dialog (needed for resource preview to work).
- Fixed a bug where moving a player to additionals for teams with id higher than 127 did not work.
- Other minor enhancements.
- Because of Resource Preview feature, the program now requires much more memory to run.
- VIVUtils is no longer required to run NHLView
5.0.11.25:
Bug fixing release.
- Fixed bugs in editing yby career stats
- Fixed team stats not showing proper games played if ot win was recorded
- Fixed roster oerations being enabled for special teams like Free Agents and Hidden
- Made minor interface changes which were somewhat confusing
- Vista no longer beeps when selecting an item in the list
- F2 now works for line editor
- Draft pick trading fixed
5.0.10.27:
- Support for NHL 08
- Support for Minor Leagues in NHL 07-08
- Added ability to trade draft picks in dynasties of NHL 2004 - 08
- Bugs and memory leak fixes
- Added retired numbers list
4.0.9.17:
- Visor status in NHL 07 database can now be changed.
- Importing players from NHL06-07 to NHL04-05 should now work.
- Fixed reversed scope labels in NHL04-05 "create a player" dialog.
- Added limit check on all values which can be entered in career stats.
- Fixed an overflow bug in TDB Engine where attempting to write a value bigger than possible size could affect values of other fields in the record.
4.0.9.16:
First release to support NHL 07. Might be buggy.
- For NHL 07, Resist Injury and Resist Penalty attributes are shown inversed compared to previous games.
3.2.10.16:
- Fixed numerous problems with player creation. Still, nothing is ever guaranteed in modding business so backup!
- Fixed swapped meaning of Global/Local choice for NHL2004-2005 create player.
- Removed Free4All correctness check for season files. You'll can edit Free4All list in exhibition and static rosters only.
- Exporting/Importing players now supports Visor Style and Default PBP for NHL06.
3.1.10.10:
First public release with NHL06 support.
- Fixed problem with Global attribute modifier (resist inj./resist pen.).
- Added Min/max values to Global attribute modifier.
- Added Free4All editor for nhl2005-06.
- Fixed the bug where drafted rookies wouldn't sign contracts in dynasty (not tested).
- Fixed the problem with disappearing additionals after the save.
2.2.8.2:
- Fixed some UI glitches.
- Added a prompt when releasing a player to hidden players.
- Fixed a major bug with additionals. While it may not be possible to completely restore the damage that was done by previous version, the new version should no longer corrupt additionals.
2.2.4.14:
Fixes the folowing bugs:
- Shifted columns in View Rosters attributes.
- Overall formulas for players and goalies. Overall is never bulletproof, so if you see any discrepencies, please report them.
- Team stats tab is visible in exhibition rosters.
- Hopefully stability problems are fixed too.
2.2.3.3:
Maintenance release 2, fixes the player picture bug for NHL 2004 and some stats such as shots having invalid range in stats.
2.2.3.1:
Maintenance release, fixes the most important bugs of 2.2.28, among which there are:
- NHL 2004 seasons wouldn't open.
- All stats modifications were done to playoff stats.
- Attributes input fields for players were glitching.
Some new (small) features too:
- Team stats for NHL 2004/NHL2005 now have more stuff (home/away record, last 10 games).
- Instance number is now displayed in View Rosters.
2.2.2.28:
- Added support player and team stats, both individual editing and vier rosters tabular view (for players).
- Added ability to select a coach for a team (NHL 2005). Coach's cyberface can be changed too.
- Improved Modify Attributes feature. in particular the interface should be now more intuitive and Custom scope will work (not load) much faster.
- Added ability to change player's default team (NHL 2005) which is used to select goalies's equipment.
- EA Sports roster update for NHL 2005 doesn't trouble NHLView anymore.
- Fixed some of the bugs reported on the forums (I don't remember which ones anymore).
2.0.9.22:
- Fixed bug where NHLView would open NHL 2004 database even when NHL 2005 db is selected
- Added global attribute modificator
- Fixed bug with setting contract length
2.0.9.21:
- Fixed weight limit problems for NHL 2005.
- Fixed team art/audio number limit for NHL 2005.
- Fixed schedule not being shown for NHL 2005 seasons.
2.0.9.19:
- NHL 2005 support added.
1.2.8.23:
- Public release of NHLView 1.2
1.2.8.18:
- Fixed bugs reported by beta tests team.
1.2.8.15:
- NHLView 1.2 goes into beta testing phase.
- Calculated goalie overall does not take into account Recover attribute.
- Random AV violation when working with Hidden Players (and possibly placeholders).
- Changing year of the game date in schedule editor shows incorrect date after changing teams (although internally the modification is made correctly).
- When moving players and limit is reached, message is displayed but the player disappears.
- Deleting players in Transactions doesn't work properly (AV violations).
- Copying of players in Transactions doesn't always work.
- OT status does not show in schedule.
- Custom Arenas for season rosters were not loaded properly which resulted in AV messages when selecting custom teams.
- Changing jersey number of free agents in Line Editor causes AV error.
- Problem with contract length, salary and rookie status changes not applying is fixed.
- Fixed an AV error in Transactions when a player just moved to a team is moved to another team right away.
- Access Violation error when using Find command without selecting a player first.
- Open Dialog may be partially hidden on some resolutions.
- Shortcut keys for menu commands don't function.
- Resizing listviews (players, teams) may cause AV messages.
- Prestige attribute added for skaters.
- Arena attributes such as board style and goal horn added.
- Dynasty Info tab added for GMs to chea...err...edit upgrade points, payroll, scores.
- Additional players added to circumvent 40 players per team limit.
- View Rosters tab added to view and export the database in tabular form.
- Added an option to auto-update player number on data page when it is changed in the Line Editor.
- Added an option to reset all player attributes.
- Ability to change program font.
- Photo and PBP numbers in combo boxes are now read from a file. So you can add your own numbers to these combo boxes, if you want for instance to stay up to date with FacePlace definitions or you are working on a mod that completely changes all numbers of all players.
- Enabled opening of NHL 2002 rosters (read-only) for export of players.
- NHLView notifies you of empty player instances when you open NHL 2004 roster. These empty instances take space that you might otherwise use to bring some other player from Hidden Players. To remove the empty instances, place the player to hidden list and the use copy function on transactions page to move the player on teams he originally were.
1.1.1.11:
- Added ability to edit schedule.
- Added Find command so you can search players or teams list.
- Miscellaneous UI improvements.
- Major improvements in TDBEngine which means it might not be that stable.
- Bug fixes: http://suchy63.rhlmod.ru/forum/viewtopic.php?t=429
- Added ability to modify default NHL 2004 rosters, consequently modifying the default online rosters.
1.0.12.19:
- Fixed dynasty rules reset bug.
- NHLView now checks the limits on number of players, free agents and otehr things that can make the game crash.
- Updated VIVUtils.dll for better handling of db.viv.
- View/Export schedule in seasons.
- Creating, removing players should not be the problem anymore.
- Exiting rookie status and salary of Hidden Players should be OK. Overall, working with Hidden players should be safer.
- Windows XP themes disabled because of enormous slowdowns.
- Line editor fixed.
- Better support for EASports roster updates: separate placeholders team, opening of exh database with seasons,
automatic fixing of their messy attributes errors (Holland, emin, Gleason in particular).
- Miscellaneous other fixes.
1.0.12.7:
- First release.

Opening rosters
---------------
NHL 2004 and NHL 2005 rosters are made of two or 3 parts parts:
- primary (global) database: contains built-in players and their ratings, as well as teams description. 
It is located in <NHL2004/2005>\DB\DB.VIV.
- exhibition rosters: For NHL 2004, either "nhl 2004 exh.exh" or "nhl 2004 olexh.exh" in <My Documents>\NHL 2004\DB
Note that everytime you run NHL 2004, "nhl 2004 olexh.exh" is reset, so there is no point in editing it.
For NHL 2005, "exhibition.exh" in <My Documents>\NHL 2005\DB 
- secondary database: your season, or dynastry. Located in <My Documents>\NHL 2004\DB or <My Documents>\NHL 2005\DB.
Don't mix tdb files from NHL 2004 and NHL 2005, i.e. don't selected NHL 2004 db.viv and NHL 2005 exhition.exh.
NOTE: primary database does not require the other two rosters, exibition requires only primary,
and secondary requires both primary and exhibition rosters.

FIRST THING TO DO BEFORE OPENING DATABASE IS BACKUPING FILES YOU WANT TO EDIT.
These files are <NHL 2004-05>\db\db.viv and all of <My Documents>\NHL 2004-05\DB.

NHLView 2.0 can also open NHL 2002 database. Contrary to NHL 2004, all the databases for NHL 2002 are static and do not depend on each other. The ability to open NHL 2002 rosters is enabled for the sole reason of exporting of players. You cannot save any changes to NHL 2002 rosters.

Transfers
---------
1) There is a limit of 40 players per team and 350 players on  Free Agents List. Moreover, there is a limit on
number of player instances in total in the roster. This limit varies from roster to roster. However, you can have more than 40 players on a team by means of additional players. This is a convenience feature that allows you to put players in additionals on a team and they will not count toward the limit of 40. However, they will be visible only inside NHLView and stored in <db name>a.tdb. If this file is deleted, all additional players will be placed to Hidden.
2) Hidden List is unlimited and contains the list of players that have no instances and are therefore not visible.
When you transfer from Hidden to the team, new instance is created. So you can move only so many players from
Hidden List. When you transfer a player to Hidden List, all instances of this player are removed from the database, so all teams that had this player might have a hole in the lines.
The first time you open your roster with NHLView 1.2 and later, you are likely to see a lot of warnings in Error Log about players with empty instances. Don't worry about it too much, NHLView fixes it automatically.
3) PlaceHolders are 200 players than EASports reserved for their roster updates. There must be 50 goalie and 150 skater
placeholders at all the times. If not, NHLView will give error message and try to repair the rosters.
If restoration is not successful, default placeholders are restored from primary database.
4) Prospects pool, available in Dynasty rosters shows the prospects for the draft. You can view/edit player data
but cannot transfer players to or from Prospect pool.
5) In order to transfer a player from Hidden List to a team roster, there should be at least one free spot on Free Agents list.

Created players
---------------
1) You can create a player by faking a built-in player and he will not appear
in created players list in NHL 2004. The advantage is that this player is global and
will be visible in every secondary database that you have. However, since you created
a built-in player it will be impossible to delete it.
2) For NHL 2004, you can also create a standard created player that is the same as if you create him in game.
This player will be visible only inside the secondary database that is currently opened,
but you can delete this player. Since NHL 2005 does not support created players, it is not
recommended that you create local players in NHL 2005 db, although this is theoretically possible.
3) Every time you create a player the long way, the last used settings are remembered by
NHLView so when you press INS when player's list is focused another player will be created with
the same settings as last player you created.
5) As stated above, you can only remove local created players (highlighted in teal).

ROS files
---------
NHLView can create ROS files out of exh files. ROS files basically contain
info about all placeholders (players highlighted in purple) and team rosters.
Rosters however assume that global database is the same across all computers,
which is not the case if you created global players on your computer. So when using ROS-files in the game,
make sure that the db.viv you are using is the same as the one you used to create the ROS file.

Cloning
-------
One player can have several copies, one for NHL team, one for national team, 
one for all stars. All copies are displayed in player list. When one copy is modified,
the modifications will affect the other copies. You can distinguish that two entries in
the list are copies of the same players by the same PlayerID.

Dynasties
---------
- In Dynasty mode, facilities  upgrades, morale and career development are not
reflected in attributes.
- It is not recommended to move to/from hidden players list in seasons/dynasties.
Apart from having the stats problem described below, you may experience a glitch in the game where you will be
unable to sign drafted rookies. I haven't found a way to fix that.
But sometimes it works, so if you are desperate to unretire someone, you can try to
bring him back from hidden players, just do it at your own risk.

Stats
-----
- Moving a player to hidden players in a season/dynasty removes his stats in NHL 2004/2005 because
hidden players cannot have stats. Also if you move the player back from hidden, he may have completely
different stats because Instance number (upon which stats depend) is assigned randomly.
- Since retired players are simply hidden by the game, restoring a retired player will not
restore his stats for the same reason.

Deafult Team (NHL 2005)
-----------------------
- Default team is a weird value. It depends on the teams instance number (which is different for each season)
but it stored in the static database. So if you change players default team in exhibition rosters
and then open a season, the change will be reflected there.
This means that if you want goalies to have equipment you'll have to modify default team value
for every player according to the season you are about to load in the game.
The menu command "Database/Player/Fix Default Teams" can do that for you.

Concrete example:
- I want to start NHL 2005 and play a couple of exhibition games. To have goalies with equipments,
I need to first open exhibition rosters and fix the default teams.
- Next I want to load my dynasty. To have equipments I quit NHL 2005 (important!),
load my dynasty in NHLView and fix default teams.
- Next I want to load my DEL season: quit NHL 2005 (again), fix the season with NHLView and
run the game again.

Other things
------------
- You cannot add more countries to the States list.
- Goaltenders cannot change positions, skaters cannot be converted into goalies.
- As far as my tests go, No Photo flag on Identity page has no effect.
- Don't mess with League and Identity options on team data page if you have no idea
what you are doing.
- Custom teams are viewable but not deletable or creatable.
- You cannot precisely change the Injury player has. You can change the number
that corresponds to some injury, but what this number means hasn't been worked out.
- Sorry for such a messy doc. The full context sensitive help is being worked on.
- Attendance ratio has effect only in dynasties, but it is stored in static database, so a team has the same ratio
for all the dynasties.
- YOU ARE NOT ALLOWED TO USE THIS PROGRAM TO CHEAT IN ONLINE GAMES.

Don't forget to backup rosters, report bugs and...

Have fun editing,
Artem.