| 5 | #include "trk_loader.h" |
| 6 | |
| 7 | ONFSTrack::ONFSTrack(NFSVer nfs_version, const std::string &track_name) { |
| 8 | tag = nfs_version; |
| 9 | name = track_name; |
| 10 | |
| 11 | std::stringstream track_path; |
| 12 | track_path << RESOURCE_PATH << ToString(tag); |
| 13 | |
| 14 | switch (tag) { |
| 15 | case NFS_2: |
| 16 | track_path << NFS_2_TRACK_PATH << track_name; |
| 17 | trackData = NFS2<PC>::LoadTrack(track_path.str()); |
| 18 | nBlocks = boost::get<shared_ptr<NFS2_DATA::PC::TRACK>>(trackData)->nBlocks; |
| 19 | camera_animations = boost::get<shared_ptr<NFS2_DATA::PC::TRACK>>(trackData)->cameraAnimation; |
| 20 | textureArrayID = boost::get<shared_ptr<NFS2_DATA::PC::TRACK>>(trackData)->textureArrayID; |
| 21 | track_blocks = boost::get<shared_ptr<NFS2_DATA::PC::TRACK>>(trackData)->track_blocks; |
| 22 | global_objects = boost::get<shared_ptr<NFS2_DATA::PC::TRACK>>(trackData)->global_objects; |
| 23 | break; |
| 24 | case NFS_2_SE: |
| 25 | track_path << NFS_2_SE_TRACK_PATH << track_name; |
| 26 | trackData = NFS2<PC>::LoadTrack(track_path.str()); |
| 27 | nBlocks = boost::get<shared_ptr<NFS2_DATA::PC::TRACK>>(trackData)->nBlocks; |
| 28 | camera_animations = boost::get<shared_ptr<NFS2_DATA::PC::TRACK>>(trackData)->cameraAnimation; |
| 29 | textureArrayID = boost::get<shared_ptr<NFS2_DATA::PC::TRACK>>(trackData)->textureArrayID; |
| 30 | track_blocks = boost::get<shared_ptr<NFS2_DATA::PC::TRACK>>(trackData)->track_blocks; |
| 31 | global_objects = boost::get<shared_ptr<NFS2_DATA::PC::TRACK>>(trackData)->global_objects; |
| 32 | break; |
| 33 | case NFS_3: |
| 34 | track_path << NFS_3_TRACK_PATH << track_name; |
| 35 | trackData = NFS3::LoadTrack(track_path.str()); |
| 36 | nBlocks = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>(trackData)->nBlocks; |
| 37 | camera_animations = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>(trackData)->cameraAnimation; |
| 38 | textureArrayID = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>(trackData)->textureArrayID; |
| 39 | track_blocks = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>(trackData)->track_blocks; |
| 40 | global_objects = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>(trackData)->global_objects; |
| 41 | break; |
| 42 | case NFS_3_PS1: |
| 43 | track_path << "/" << track_name; |
| 44 | trackData = NFS2<PS1>::LoadTrack(track_path.str()); |
| 45 | nBlocks = boost::get<shared_ptr<NFS2_DATA::PS1::TRACK>>(trackData)->nBlocks; |
| 46 | camera_animations = boost::get<shared_ptr<NFS2_DATA::PS1::TRACK>>(trackData)->cameraAnimation; |
| 47 | textureArrayID = boost::get<shared_ptr<NFS2_DATA::PS1::TRACK>>(trackData)->textureArrayID; |
| 48 | track_blocks = boost::get<shared_ptr<NFS2_DATA::PS1::TRACK>>(trackData)->track_blocks; |
| 49 | global_objects = boost::get<shared_ptr<NFS2_DATA::PS1::TRACK>>(trackData)->global_objects; |
| 50 | break; |
| 51 | case NFS_4: |
| 52 | track_path << NFS_4_TRACK_PATH << track_name; |
| 53 | trackData = NFS4::LoadTrack(track_path.str()); |
| 54 | nBlocks = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>(trackData)->nBlocks; |
| 55 | camera_animations = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>(trackData)->cameraAnimation; |
| 56 | textureArrayID = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>(trackData)->textureArrayID; |
| 57 | track_blocks = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>(trackData)->track_blocks; |
| 58 | global_objects = boost::get<shared_ptr<NFS3_4_DATA::TRACK>>(trackData)->global_objects; |
| 59 | break; |
| 60 | case UNKNOWN: |
| 61 | ASSERT(false, "Unknown track type!"); |
| 62 | default: |
| 63 | break; |
| 64 | } |
nothing calls this directly
no outgoing calls
no test coverage detected