less copy protection, more size visualization
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

629 lines
18 KiB

  1. const attributionData = {
  2. sources: [
  3. {
  4. prefix: "./media/buildings/",
  5. files: [
  6. { name: "house.svg", source: null },
  7. { name: "mailbox.svg", source: null },
  8. { name: "mobile-home.svg", source: null },
  9. ],
  10. authors: [
  11. "chemicalcrux"
  12. ]
  13. },
  14. {
  15. prefix: "./media/buildings/skyscrapers/",
  16. files: [
  17. { name: "wide.svg", source: null },
  18. { name: "medium.svg", source: null },
  19. { name: "slender.svg", source: null },
  20. { name: "narrow.svg", source: null },
  21. ],
  22. authors: [
  23. "chemicalcrux"
  24. ]
  25. },
  26. {
  27. prefix: "./media/characters/abysgar/",
  28. files: [
  29. { name: "front.svg", source: "https://www.furaffinity.net/view/32424108/" }
  30. ],
  31. authors: [
  32. "clown-grin",
  33. "labratkuma"
  34. ],
  35. owners: [
  36. ]
  37. },
  38. {
  39. prefix: "./media/characters/adake/",
  40. files: [
  41. { name: "front-1.svg", source: "https://www.furaffinity.net/view/26253324/" },
  42. { name: "front-2.svg", source: "https://www.furaffinity.net/view/26253324/" },
  43. { name: "back.svg", source: "https://www.furaffinity.net/view/26253324/" },
  44. { name: "kneel.svg", source: "https://www.furaffinity.net/view/26253324/" },
  45. ],
  46. authors: [
  47. "oselotti"
  48. ],
  49. owners: [
  50. "Dialuca01"
  51. ]
  52. },
  53. {
  54. prefix: "./media/characters/aigey/",
  55. files: [
  56. { name: "side.svg", source: "https://www.furaffinity.net/view/12006265/" }
  57. ],
  58. authors: [
  59. "just-a-little-mixed-up"
  60. ],
  61. owners: [
  62. ]
  63. },
  64. {
  65. prefix: "./media/characters/akari/",
  66. files: [
  67. { name: "front.svg", source: "https://www.furaffinity.net/view/21329356/" }
  68. ],
  69. authors: [
  70. "spyropurple"
  71. ],
  72. owners: [
  73. ]
  74. },
  75. {
  76. prefix: "./media/characters/alicia/",
  77. files: [
  78. { name: "anthro.svg", source: "https://www.furaffinity.net/view/31363235/" }
  79. ],
  80. authors: [
  81. "helisa-adopts",
  82. "chesta"
  83. ],
  84. owners: [
  85. "little-big-x110"
  86. ]
  87. },
  88. {
  89. prefix: "./media/characters/alicia/",
  90. files: [
  91. { name: "feral.svg", source: "https://www.furaffinity.net/view/34138885/" }
  92. ],
  93. authors: [
  94. "little-big-x110",
  95. "helisa-adopts",
  96. "chesta"
  97. ],
  98. owners: [
  99. "little-big-x110"
  100. ]
  101. },
  102. {
  103. prefix: "./media/characters/andy/",
  104. files: [
  105. { name: "front.svg", source: null }
  106. ],
  107. authors: [
  108. "cardboardhead"
  109. ],
  110. owners: [
  111. ]
  112. },
  113. {
  114. prefix: "./media/characters/angelpatamon/",
  115. files: [
  116. { name: "front.svg", source: "http://www.furaffinity.net/view/26475369/" }
  117. ],
  118. authors: [
  119. "mallowchu"
  120. ]
  121. },
  122. {
  123. prefix: "./media/characters/appledectomy/",
  124. files: [
  125. { name: "front.svg", source: "https://www.furaffinity.net/view/33002197/" }
  126. ],
  127. authors: [
  128. "stonerabbit"
  129. ],
  130. owners: [
  131. "appledectomy"
  132. ]
  133. },
  134. {
  135. prefix: "./media/characters/asana/",
  136. files: [
  137. { name: "front.svg", source: "https://www.furaffinity.net/view/35087729/" },
  138. { name: "back.svg", source: "https://www.furaffinity.net/view/35087729/" },
  139. ],
  140. authors: [
  141. "silverwingink"
  142. ],
  143. owners: [
  144. "aviraptia"
  145. ]
  146. },
  147. {
  148. prefix: "./media/characters/asana/",
  149. files: [
  150. { name: "front.svg", source: "https://www.furaffinity.net/view/35087729/" },
  151. { name: "back.svg", source: "https://www.furaffinity.net/view/35087729/" },
  152. ],
  153. authors: [
  154. "silverwingink"
  155. ],
  156. owners: [
  157. "aviraptia"
  158. ]
  159. },
  160. {
  161. prefix: "./media/characters/asana-mech/",
  162. files: [
  163. { name: "side.svg", source: null }
  164. ],
  165. authors: [
  166. "ashtrek"
  167. ],
  168. owners: [
  169. "aviraptia"
  170. ]
  171. },
  172. {
  173. prefix: "./media/characters/ashtrek/",
  174. files: [
  175. { name: "front.svg", source: null },
  176. { name: "front-armor.svg", source: null },
  177. ],
  178. authors: [
  179. "silverwingink"
  180. ],
  181. owners: [
  182. "ashtrek"
  183. ]
  184. },
  185. {
  186. prefix: "./media/characters/blake/",
  187. files: [
  188. { name: "side.svg", source: "https://www.furaffinity.net/view/30676178/" },
  189. { name: "crouched.svg", source: "https://www.furaffinity.net/view/30676178/" },
  190. { name: "bent.svg", source: "https://www.furaffinity.net/view/30676178/" },
  191. ],
  192. authors: [
  193. "zyraxus"
  194. ],
  195. owners: [
  196. "kurrikage"
  197. ]
  198. },
  199. {
  200. prefix: "./media/characters/cibus/",
  201. files: [
  202. { name: "side.svg", source: "https://www.furaffinity.net/view/15534343/" }
  203. ],
  204. authors: [
  205. "jaydom"
  206. ],
  207. owners: [
  208. "movler"
  209. ]
  210. },
  211. {
  212. prefix: "./media/characters/gemini/",
  213. files: [
  214. { name: "front.svg", source: "https://www.furaffinity.net/view/31363584/" },
  215. { name: "back.svg", source: "https://www.furaffinity.net/view/31363584/" },
  216. ],
  217. authors: [
  218. "rebonica"
  219. ],
  220. owners: [
  221. "geminimacro"
  222. ]
  223. },
  224. {
  225. prefix: "./media/characters/gemini/",
  226. files: [
  227. { name: "kneeling.svg", source: "https://www.furaffinity.net/view/31295122/" },
  228. ],
  229. authors: [
  230. "furrypur"
  231. ],
  232. owners: [
  233. "geminimacro"
  234. ]
  235. },
  236. {
  237. prefix: "./media/characters/jaro/",
  238. files: [
  239. { name: "front.svg", source: "https://www.furaffinity.net/view/26084387/" },
  240. { name: "back.svg", source: "https://www.furaffinity.net/view/26084387/" }
  241. ],
  242. authors: [
  243. "mizumisensei"
  244. ],
  245. owners: [
  246. "jaro-the-dragon"
  247. ]
  248. },
  249. {
  250. prefix: "./media/characters/malfressa/",
  251. files: [
  252. { name: "side.svg", source: "https://www.furaffinity.net/view/25377262/" },
  253. { name: "feral.svg", source: "https://www.furaffinity.net/view/25377262/" }
  254. ],
  255. authors: [
  256. "d-eath-tail"
  257. ],
  258. owners: [
  259. "scareye"
  260. ]
  261. },
  262. {
  263. prefix: "./media/characters/malfressa/",
  264. files: [
  265. { name: "walking.svg", source: "https://www.furaffinity.net/view/23877052/" }
  266. ],
  267. authors: [
  268. "kerneldecoy"
  269. ],
  270. owners: [
  271. "scareye"
  272. ]
  273. },
  274. {
  275. prefix: "./media/characters/nibbles/",
  276. files: [
  277. { name: "front.svg", source: "https://www.furaffinity.net/view/22964778/" },
  278. { name: "side.svg", source: "https://www.furaffinity.net/view/22964778/" },
  279. ],
  280. authors: [
  281. "dragga"
  282. ],
  283. owners: [
  284. "movler"
  285. ]
  286. },
  287. {
  288. prefix: "./media/characters/piper/",
  289. files: [
  290. { name: "front.svg", source: "https://www.furaffinity.net/view/22964778/" }
  291. ],
  292. authors: [
  293. "brit-bork"
  294. ],
  295. owners: [
  296. "flyhar"
  297. ]
  298. },
  299. {
  300. prefix: "./media/characters/rikky/",
  301. files: [
  302. { name: "side.svg", source: null }
  303. ],
  304. authors: [
  305. "ethan64"
  306. ],
  307. owners: [
  308. "quake-yote"
  309. ]
  310. },
  311. {
  312. prefix: "./media/characters/rogue/",
  313. files: [
  314. { name: "front.svg", source: "http://rogue.macrophile.com/ken" }
  315. ],
  316. authors: [
  317. "cougr"
  318. ],
  319. owners: [
  320. "rogue"
  321. ]
  322. },
  323. {
  324. prefix: "./media/characters/surgo/",
  325. files: [
  326. { name: "front.svg", source: "https://www.furaffinity.net/view/33348481/" },
  327. { name: "back.svg", source: "https://www.furaffinity.net/view/33348481/" },
  328. { name: "laying.svg", source: "https://www.furaffinity.net/view/33348481/" },
  329. ],
  330. authors: [
  331. "gaiawolfess",
  332. "malakhael"
  333. ],
  334. owners: [
  335. "movler"
  336. ]
  337. },
  338. {
  339. prefix: "./media/characters/tiberius/",
  340. files: [
  341. { name: "front.svg", source: "https://www.furaffinity.net/view/34977812/" },
  342. { name: "back.svg", source: "https://www.furaffinity.net/view/34977812/" }
  343. ],
  344. authors: [
  345. "rebonica"
  346. ],
  347. owners: [
  348. "movler"
  349. ]
  350. },
  351. {
  352. prefix: "./media/characters/",
  353. files: [
  354. { name: "", source: "" }
  355. ],
  356. authors: [
  357. ]
  358. },
  359. {
  360. prefix: "./media/objects/humans/",
  361. files: [
  362. { name: "woman-1.svg", source: "https://commons.wikimedia.org/wiki/File:1Silhouette_Female.svg" }
  363. ],
  364. authors: [
  365. "phil-bronnery",
  366. "beao"
  367. ]
  368. },
  369. {
  370. prefix: "./media/objects/humans/",
  371. files: [
  372. { name: "man-1.svg", source: "https://commons.wikimedia.org/wiki/File:Silhouette.svg" }
  373. ],
  374. authors: [
  375. ]
  376. },
  377. {
  378. prefix: "./media/vehicles/",
  379. files: [
  380. { name: "titanic.svg", source: "https://creazilla.com/nodes/873-titanic-silhouette" },
  381. { name: "vertical-titanic.svg", source: "https://creazilla.com/nodes/873-titanic-silhouette" }
  382. ],
  383. authors: [
  384. ]
  385. },
  386. ],
  387. people: {
  388. "appledectomy": {
  389. name: "Appledectomy",
  390. url: "https://www.furaffinity.net/user/appledectomy"
  391. },
  392. "ashtrek": {
  393. name: "Ashtrek",
  394. url: "https://www.furaffinity.net/user/ashtrek/"
  395. },
  396. "aviraptia": {
  397. name: "Aviraptia",
  398. url: "https://www.furaffinity.net/user/aviraptia/"
  399. },
  400. "beao": {
  401. name: "Beao",
  402. url: "https://commons.wikimedia.org/wiki/User:Beao"
  403. },
  404. "brit-bork": {
  405. name: "Koijot",
  406. url: "https://twitter.com/Brit_Bork",
  407. },
  408. "cardboardhead": {
  409. name: "cardboardhead",
  410. url: "https://twitter.com/cardboardhead"
  411. },
  412. "chemicalcrux": {
  413. name: "chemicalcrux",
  414. url: "https://www.furaffinity.net/user/chemicalcrux"
  415. },
  416. "chesta": {
  417. name: "Chesta",
  418. url: "https://www.furaffinity.net/user/chesta"
  419. },
  420. "clown-grin": {
  421. name: "clown-grin",
  422. url: "https://www.furaffinity.net/user/clown-grin"
  423. },
  424. "cougr": {
  425. name: "Cougr",
  426. url: "https://www.furaffinity.net/user/cougr"
  427. },
  428. "d-eath-tail": {
  429. name: "Deathy",
  430. url: "https://www.furaffinity.net/user/d-eath-tail"
  431. },
  432. "Dialuca01": {
  433. name: "Dialuca",
  434. url: "https://www.furaffinity.net/user/dialuca01"
  435. },
  436. "dragga": {
  437. name: "Dragga",
  438. url: "https://www.furaffinity.net/user/dragga"
  439. },
  440. "ethan64": {
  441. name: "Ethan64",
  442. url: "https://www.furaffinity.net/user/ethan64/"
  443. },
  444. "flyhar": {
  445. name: "Flyhar",
  446. url: "https://www.furaffinity.net/user/flyfeline/"
  447. },
  448. "furrypur": {
  449. name: "FurryPur",
  450. url: "https://www.furaffinity.net/user/furrypur/"
  451. },
  452. "gaiawolfess": {
  453. name: "Gaiawolfess",
  454. url: "https://www.furaffinity.net/user/gaiawolfess"
  455. },
  456. "geminimacro": {
  457. name: "geminimacro",
  458. url: "https://www.furaffinity.net/user/lajay"
  459. },
  460. "helisa-adopts": {
  461. name: "Helisa",
  462. url: "https://www.furaffinity.net/user/HelisaAdopts"
  463. },
  464. "jaro-the-dragon": {
  465. name: "Jaro",
  466. url: "https://www.furaffinity.net/user/jarothedragon/"
  467. },
  468. "jaydom": {
  469. name: "Jaydom",
  470. url: "https://www.furaffinity.net/user/jaydom"
  471. },
  472. "just-a-little-mixed-up": {
  473. name: "just-a-little-mixed-up",
  474. url: "https://www.furaffinity.net/user/just-a-little-mixed-up"
  475. },
  476. "kerneldecoy": {
  477. name: "Kernel Decoy",
  478. url: "https://www.furaffinity.net/user/kerneldecoy/"
  479. },
  480. "kurrikage": {
  481. name: "Kurrikage",
  482. url: "https://www.furaffinity.net/user/kurrikage/"
  483. },
  484. "labratkuma": {
  485. name: "labratkuma",
  486. url: "https://www.furaffinity.net/user/labratkuma"
  487. },
  488. "little-big-x110": {
  489. name: "LittleBig",
  490. url: "https://www.furaffinity.net/user/LittlebigX110"
  491. },
  492. "malakhael": {
  493. name: "Malakhael",
  494. url: "https://www.furaffinity.net/user/malakhael"
  495. },
  496. "mallowchu": {
  497. name: "Mallowchu",
  498. url: "https://www.furaffinity.net/user/mallowchu"
  499. },
  500. "mizumisensei": {
  501. name: "Mizumisensei",
  502. url: "https://twitter.com/mizumisensei"
  503. },
  504. "movler": {
  505. name: "Movler",
  506. url: "https://www.furaffinity.net/user/movler/"
  507. },
  508. "oselotti": {
  509. name: "Oselotti",
  510. url: "https://www.furaffinity.net/user/oselotti"
  511. },
  512. "phil-bronnery": {
  513. name: "Phil Bronnery",
  514. url: "https://www.flickr.com/people/27919241@N02"
  515. },
  516. "quake-yote": {
  517. name: "Quake Yote",
  518. url: "https://www.furaffinity.net/user/rokossovskiy"
  519. },
  520. "rebonica": {
  521. name: "Rebonica",
  522. url: "https://www.furaffinity.net/user/rebonica"
  523. },
  524. "rogue": {
  525. name: "Rogue Megawolf",
  526. url: "https://twitter.com/roguemegawolf"
  527. },
  528. "scareye": {
  529. name: "Scareye",
  530. url: "https://www.furaffinity.net/user/scareye/"
  531. },
  532. "silverwingink": {
  533. name: "silverwingink",
  534. url: "https://www.furaffinity.net/gallery/silverwingink/"
  535. },
  536. "spyropurple": {
  537. name: "spyropurple",
  538. url: "https://www.furaffinity.net/user/spyropurple/"
  539. },
  540. "stonerabbit": {
  541. name: "stonerabbit",
  542. url: "https://www.furaffinity.net/user/stonerabbit/"
  543. },
  544. "zyraxus": {
  545. name: "Zyraxus",
  546. url: "https://www.furaffinity.net/user/zyraxus"
  547. }
  548. }
  549. }
  550. const attribution = {};
  551. function prepareAttribution() {
  552. attribution["files"] = {};
  553. attributionData.sources.forEach(citation => {
  554. citation.files.forEach(file => {
  555. attribution.files[citation.prefix + file.name] = {
  556. authors: citation.authors,
  557. owners: citation.owners,
  558. source: file.source
  559. }
  560. })
  561. });
  562. }
  563. function authorsOf(file) {
  564. if (attribution.files[file])
  565. return attribution.files[file].authors;
  566. else
  567. return undefined;
  568. }
  569. function authorsOfFull(file) {
  570. if (attribution.files[file]) {
  571. const result = [];
  572. attribution.files[file].authors.forEach(author => {
  573. result.push(attributionData.people[author]);
  574. });
  575. return result;
  576. }
  577. else
  578. return undefined;
  579. }
  580. function ownersOf(file) {
  581. if (attribution.files[file])
  582. return attribution.files[file].owners;
  583. else
  584. return undefined;
  585. }
  586. function ownersOfFull(file) {
  587. if (attribution.files[file]) {
  588. if (attribution.files[file].owners !== undefined) {
  589. const result = [];
  590. attribution.files[file].owners.forEach(owner => {
  591. result.push(attributionData.people[owner]);
  592. });
  593. return result;
  594. } else {
  595. return [];
  596. }
  597. }
  598. else
  599. return undefined;
  600. }
  601. function sourceOf(file) {
  602. if (attribution.files[file])
  603. return attribution.files[file].source;
  604. else
  605. return undefined;
  606. }
  607. prepareAttribution();