View Single Post
Old 01-14-2022, 01:55 PM   #36
DrDoom
Minors (Single A)
 
DrDoom's Avatar
 
Join Date: Jul 2004
Posts: 75
Some notes on the Database Converters for clarity:

The OOTP 21 and OOTP 22 Database Converter Tools will only correctly disassemble and rebuild odb files made for those respective versions of the game. This is because the data within the odb files are stored slightly differently from version to version. For example, here is how the data is indexed within the historical_database.odb and historical_minor_database.odb files for both OOTP 22 and OOTP 21:

OOTP 22
historical_database -> ( 1: Master.csv, 2: Batting.csv, 3: Batting-Normalized.csv,
4: Pitching.csv, 5: Pitching-Normalized.csv, 6: Fielding.csv,
7: FieldingOF.csv, 8: AllstarFull.csv, 9: AwardsPlayers.csv,
10: HallOfFame.csv, 11: Teams.csv, 12: TeamFranchises.csv,
13: SeriesPost.csv, 14: UniNumbers.csv, 15: Managers.csv,
16: AwardsManagers.csv, 17: BattingPost.csv, 18: PitchingPost.csv,
19: FieldingPost.csv, 20: empty, 21: RecordsSingleGame.csv, 22: BattingSplits.csv,
23: ODRosters.csv, 24: EOSRosters.csv, 25: empty, 26: empty)

historical_minor_database -> ( 1: MiLBMaster.csv, 2: MiLBBatting.csv, 3: empty,
4: MiLBPitching.csv, 5: empty, 6: MiLBFielding.csv,
7: empty, 8: empty, 9: empty, 10: empty, 11: MiLBTeams.csv,
12: empty, 13: empty, 14: empty, 15: empty, 16: empty,
17: empty, 18: empty, 19: empty, 20: MiLBLeagues.csv,
21: empty, 22: empty, 23: empty, 24: empty, 25: empty, 26: empty)

OOTP 21
historical_database -> ( 1: Master.csv, 2: Batting.csv, 3: Batting-Normalized.csv,
4: Pitching.csv, 5: Pitching-Normalized.csv, 6: Fielding.csv,
7: Fielding-Normalized.csv, 8: FieldingOF.csv, 9: FieldingOF-Normalized.csv,
10: AllstarFull.csv, 11: AwardsPlayers.csv, 12: HallOfFame.csv,
13: Teams.csv, 14: TeamFranchises.csv, 15: SeriesPost.csv,
16: UniNumbers.csv, 17: Managers.csv, 18: AwardsManagers.csv, 19: BattingPost.csv,
20: PitchingPost.csv, 21: FieldingPost.csv, 22: empty, 23: RecordsSingleGame.csv,
24: BattingSplits.csv, 25: ODRosters.csv, 26: EOSRosters.csv)

historical_minor_database -> ( 1: MiLBMaster.csv, 2: MiLBBatting.csv, 3: empty,
4: MiLBPitching.csv, 5: empty, 6: MiLBFielding.csv,
7: empty, 8: empty, 9: empty, 10: empty, 11: empty, 12: empty,
13: MiLBTeams.csv, 14: empty, 15: empty, 16: empty, 17: empty,
18: empty, 19: empty, 20: empty, 21: empty, 22: MiLBLeagues.csv,
23: empty, 24: empty, 25: empty, 26: empty)

As you can see, they're similar but not exactly the same. The difference here is that the "Normalized" fielding files were removed in OOTP 22 (Likely because they weren't being used and, possibly, were replaced by the ratings columns within the Fielding.csv files) which changed the indexed location of everything beyond them in the database. There may or may not be differences in databases from other versions of OOTP but I haven't taken the time to dissect them to confirm.

This is important because, currently, the locations are hard coded. This means that whatever data is at the first index of the historical_database.odb will always be exported as "Master.csv" and whatever data is at the second index will always be exported as "Batting.csv" etc... This works both ways as, when rebuilding an odb, "Master.csv" will always be placed into the first index and "Batting.csv" always the second, etc...

For example, if you were to disassemble an OOTP 21 set of odb files using the OOTP 22 Database converter, the Fielding.csv file would actually contain normalized fielding data because that is what lives at the 7th index of an OOTP 21 historical_database.odb file. Therefore, every single file after would contain the wrong data as well.

I can fix this by simply verifying the column headings and have the program name files based on those rather than their location in the database (actually, it will likely be the next thing I address). I just haven't taken the time to do that yet.

In the meantime, if you correct the filenames before rebuilding the databases, you should be able to use data from other versions just fine. You can verify whether or not the data is correct by comparing it to the data within the default odb files. Hopefully, this clears up some issues some of you may be having with the tools.

Last edited by DrDoom; 01-14-2022 at 01:58 PM.
DrDoom is offline   Reply With Quote