| 1069 | RString relativeDstDir = Poseidon::BuildNetworkPlayerAssetTmpDir(player); |
| 1070 | RString dstDir = Poseidon::GetUserDirectory() + relativeDstDir; |
| 1071 | if (srcDir.GetLength() == 0 || relativeDstDir.GetLength() == 0) |
| 1072 | { |
| 1073 | return; |
| 1074 | } |
| 1075 | |
| 1076 | RString src = Poseidon::BuildNetworkServerPlayerAssetUploadPath(GetServerTmpDir(), player, RString("face.paa")); |
| 1077 | RString relativeDst = Poseidon::BuildNetworkPlayerAssetTmpPath(player, RString("face.paa")); |
| 1078 | RString dst = Poseidon::GetUserDirectory() + relativeDst; |
| 1079 | if (QIFStream::FileExists(src)) |
| 1080 | { |
| 1081 | if (notBotClient) |
| 1082 | { |
| 1083 | TransferFile(to, relativeDst, src, NMFGuaranteed | NMFHighPriority); |
| 1084 | } |
| 1085 | else |
| 1086 | { |
| 1087 | CreatePath(dstDir); |
| 1088 | Poseidon::CopyFileUtf8(src, dst, false); |
| 1089 | } |
| 1090 | } |
| 1091 | else |
| 1092 | { |
| 1093 | src = Poseidon::BuildNetworkServerPlayerAssetUploadPath(GetServerTmpDir(), player, RString("face.jpg")); |
| 1094 | relativeDst = Poseidon::BuildNetworkPlayerAssetTmpPath(player, RString("face.jpg")); |
| 1095 | dst = Poseidon::GetUserDirectory() + relativeDst; |
| 1096 | if (QIFStream::FileExists(src)) |
| 1097 | { |
| 1098 | if (notBotClient) |
| 1099 | { |
| 1100 | TransferFile(to, relativeDst, src, NMFGuaranteed | NMFHighPriority); |
| 1101 | } |
| 1102 | else |
| 1103 | { |
| 1104 | CreatePath(dstDir); |
| 1105 | Poseidon::CopyFileUtf8(src, dst, false); |
| 1106 | } |
| 1107 | } |
| 1108 | } |
| 1109 | } |
| 1110 | |
| 1111 | void NetworkComponent::TransferCustomRadio(int to, int player) |
| 1112 | { |
| 1113 | // user only for transfer from server to clients |
| 1114 | NetworkClient* client = _parent->GetClient(); |
| 1115 | bool notBotClient = !client || client->GetPlayer() != to; |
| 1116 | |
| 1117 | RString srcDir = Poseidon::BuildNetworkServerPlayerSoundUploadDir(GetServerTmpDir(), player); |
| 1118 | RString relativeDstDir = Poseidon::BuildNetworkPlayerSoundTmpDir(player); |
| 1119 | RString dstDir = Poseidon::GetUserDirectory() + relativeDstDir; |
| 1120 | if (srcDir.GetLength() == 0 || relativeDstDir.GetLength() == 0) |
| 1121 | { |
| 1122 | return; |
| 1123 | } |
| 1124 | |
| 1125 | for (const Poseidon::DirectoryEntryUtf8& entry : Poseidon::ListDirectoryEntriesUtf8(srcDir)) |
| 1126 | { |
nothing calls this directly
no test coverage detected