Last active
February 8, 2026 08:28
-
-
Save donnaken15/9728a3b3c63debcb6f9c92a8f9e36a77 to your computer and use it in GitHub Desktop.
Compile and organize Revenge of the Sunfish assets FOR THE WORLD TO SEE! VIDEO AND FILES SOON!!
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| --- | |
| missing_sprites: [ 2596, 5086, 5087 ] | |
| # apparently level viewer throws a divide by zero error at some point | |
| # when skimming through the sprites of each room | |
| # sprites are extracted independent of this specific feature though | |
| sprites: | |
| 1: # index won't matter here, just a signifier to easily point to in the raw list | |
| nick: stars | |
| 2: | |
| nick: more stars | |
| 3: | |
| nick: sun and earth | |
| 4: | |
| nick: tree oak | |
| 5: | |
| nick: leaves | |
| 6: | |
| nick: branch | |
| 13: | |
| nick: citizen | |
| 7: | |
| nick: charred citizen | |
| frames: [ 7, 12, 14 ] | |
| 8: | |
| nick: explosion | |
| frames: [ 8, 9, 10, 11, 0 ] | |
| 15: | |
| nick: sunfish on earth | |
| 16: | |
| nick: sunfish ammo | |
| 17: | |
| nick: dirt | |
| 18: | |
| nick: grass | |
| 19: | |
| nick: moon | |
| 20: | |
| nick: sun flare | |
| 21: | |
| nick: sunfish in galaxy | |
| 22: | |
| nick: faraway moon | |
| 24: | |
| nick: small tree | |
| 25: | |
| nick: sunfish | |
| 26: | |
| nick: sunfish | |
| 27: | |
| nick: caveman | |
| 28: | |
| nick: caveman splattered | |
| 29: | |
| nick: sunfish | |
| 30: | |
| nick: ground | |
| 31: | |
| nick: ground | |
| 32: | |
| nick: sunfish | |
| sounds: | |
| sd: | |
| level: [ 2, 5 ] | |
| nick: "We are the sunfish" | |
| 22: | |
| level: 12 | |
| nick: Death | |
| reallen: [ 0.213, 1.040 ] | |
| weee: | |
| level: 37 | |
| #nick: "Holy EFFING ESS!" # cant even bring myself to copy paste swears even for a wiki barely attributed to me | |
| kytes: | |
| level: 100 | |
| nick: "Kill astronaut - The Free Design - Kites Are Fun (0:35)" | |
| realrate: 24000 | |
| hgh: | |
| level: 100 | |
| nick: "Red grape dungeon" | |
| hgghgh: | |
| level: 61 | |
| nick: "Breakcore" | |
| tfhtf: | |
| level: 80 | |
| nick: Galaxy | |
| 7: | |
| level: 22 | |
| nick: Death | |
| 12: | |
| level: 117 | |
| nick: "Boss death" | |
| 11: | |
| level: 121 | |
| nick: "Kill angry head" | |
| 23: | |
| level: 121 | |
| nick: "Kill orb" | |
| 13: | |
| level: 98 | |
| nick: "Kill blue head" | |
| asdasd: | |
| level: 35 | |
| nick: "Mime death" | |
| babies: | |
| level: 33 | |
| nick: "Protect the innocent" | |
| screemm: | |
| level: 17 | |
| lightning2: | |
| level: 103 | |
| nick: "Lightning" | |
| win: | |
| level: 38 | |
| #nick: "DEATH" # check with mime video | |
| pop: | |
| level: [ 103, 104, 105, 106, 107, 108 ] | |
| nick: "Respawn" | |
| scream2: | |
| level: [ 103, 104, 105, 106, 107, 108 ] | |
| nick: "Friday the 13th C64 scream sound" | |
| # https://www.youtube.com/watch?v=2TsadbLmYx8&lc=UgyNGaUGwgq2H_eqxs14AaABAg | |
| # thank you kind stranger here's reddit gold | |
| bgsplatered: | |
| level: [ 108 ] | |
| nick: "Dr. Bob death" | |
| ccc: | |
| level: 16 | |
| #nick: "WRONG ONE!" | |
| sound 13: | |
| level: 60 | |
| #nick: "Eggplant (2)" | |
| sound 5: | |
| level: 3 | |
| #nick: "IT'S TIME TO PAY!" | |
| 1 (4): | |
| level: 97 | |
| nick: "Kill" | |
| 3: | |
| level: 116 | |
| nick: "Strobe" | |
| reallen: [ 0.049, 0.967 ] | |
| 8: | |
| level: [ 11, 98 ] | |
| nick: "Mines / Kill saucer" | |
| reallen: [ 0.02, 1.040 ] | |
| 14: | |
| level: 116 | |
| nick: "Fireworks" | |
| reallen: [ 0.042, 0.814 ] | |
| 18: | |
| level: 87 | |
| nick: "Falling" | |
| reallen: [ 0.145, 0.334 ] | |
| hggh: | |
| level: 12 | |
| nick: "Horn" | |
| fuse: | |
| level: 101 | |
| nick: "Dynamite fuse" | |
| batt: | |
| level: 101 | |
| nick: "Bats" | |
| thank you: | |
| level: 45 | |
| nick: "Thank you I had a good time" | |
| glass: | |
| level: 46 | |
| nick: "Glass shatter" | |
| cat2: | |
| level: 14 | |
| nick: "IT'S A SEAL!!" | |
| screem: | |
| level: [ 19, 18 ] | |
| nick: "Screech synth" | |
| bang (2): # forgot where!!! | |
| level: [ 103, 107 ] | |
| nick: "Landmine" | |
| robocop: | |
| level: 32 | |
| #nick: "Mammy on enter (Robocop)" | |
| ohhh (2): | |
| level: 58 | |
| nick: "Ohhh fork!" | |
| dsdd: | |
| level: 20 | |
| nick: "Skull" | |
| munt3: | |
| level: 24 | |
| #nick: "CORRECT!" | |
| wind: | |
| level: 108 | |
| nick: "Boss ambience" | |
| realrate: 4000 | |
| im having: | |
| level: 44 | |
| nick: "I'm having an orgasm" | |
| ohh: | |
| level: 13 | |
| nick: "Noise" | |
| ohh1: | |
| level: 13 | |
| nick: "Ambience" | |
| realrate: 22050 | |
| die pac: | |
| level: 54 | |
| nick: "Death" | |
| satanappears!: | |
| level: [ 98, 99 ] | |
| nick: "Death" | |
| bops3: | |
| level: 13 | |
| nick: "Death" | |
| that feels: | |
| level: 44 | |
| nick: "That feels so good" | |
| press my enter: | |
| level: 44 | |
| nick: "Press my enter key" | |
| 6 (2): | |
| level: 97 | |
| nick: "Death" | |
| rub space: | |
| level: 44 | |
| nick: "Rub space bar" | |
| facehug66: | |
| level: [ 105, 106 ] | |
| nick: "Face hugger kills you" | |
| squishy: | |
| level: [ 105, 106 ] | |
| nick: "Face hugger lands" | |
| bugg: | |
| level: [ 105, 106 ] | |
| nick: "Kill face hugger" | |
| #??????????????????????????????????????? | |
| # level: [ 106 ] # ????????? | |
| # nick: "Land" | |
| me so: | |
| level: 44 | |
| nick: "Me so horny" | |
| kid: | |
| level: 58 | |
| nick: "Kid death" | |
| roll my: | |
| level: 44 | |
| nick: "Roll my keys" | |
| aliensounds: | |
| level: 80 | |
| nick: "Orb" | |
| gf: | |
| level: 47 | |
| #nick: "What are we made of?" | |
| sdsddsas: | |
| level: 47 | |
| nick: "Select" | |
| paper: | |
| level: 58 | |
| nick: "Paper delivery" | |
| cccc: | |
| level: 12 | |
| nick: "Ambience" | |
| asasd: | |
| level: 117 | |
| nick: "Boss sound" | |
| nbgh: | |
| level: 59 | |
| nick: "Eggplant" | |
| q9: | |
| level: 80 | |
| nick: "Gas" | |
| ach1: # echo | |
| level: 80 | |
| nick: "Ach (echo)" | |
| 1: # no echo | |
| level: 42 | |
| nick: "Ach" | |
| dd (2): | |
| level: 57 | |
| nick: "Snarl" | |
| bang5: | |
| level: [ 70 ] # some other, i just played this again and i already forgot | |
| nick: "Explosion" | |
| fgggggg: | |
| level: 70 | |
| nick: "Death/Eye creature" | |
| ponus: | |
| level: 52 | |
| nick: "Teleport" | |
| zoom: | |
| level: 36 | |
| nick: "Ship fuel" | |
| hisssa: | |
| level: 28 | |
| nick: "Flies" | |
| chewman: | |
| level: 81 | |
| nick: "Grinded to bits" | |
| pop7: | |
| level: 54 | |
| nick: "Power pellet depleted" | |
| vomit: | |
| level: 31 | |
| nick: "Vomitting" | |
| crystal: | |
| level: 9 | |
| nick: "THE POWER" | |
| z18: | |
| level: 29 | |
| nick: "Heartbeat" | |
| dd: | |
| level: 5 | |
| nick: "Aching" | |
| t1: | |
| level: 9 | |
| nick: "Select" | |
| dddddd: | |
| level: 9 | |
| nick: "Right-click POWER" | |
| aaaa: | |
| level: 8 | |
| nick: "MAKE A DECISION!" | |
| harp: | |
| level: 80 | |
| #nick: "Harp" | |
| headdd: | |
| level: [ 105, 106 ] | |
| nick: "Head esplode" | |
| hhh: | |
| level: 39 | |
| nick: "Digeridoo" | |
| helllll: | |
| level: [ 104, 105, 106, 107 ] | |
| nick: "Impaled" | |
| explosion4: | |
| level: 102 | |
| nick: "UFO 'nade" | |
| harder: | |
| level: 44 | |
| nick: "Harder" | |
| sound1: | |
| level: 80 | |
| #nick: "Unknown" | |
| ohhh: | |
| level: 13 | |
| nick: "RED = BAD" | |
| pop4: | |
| level: 54 | |
| nick: "Ghost death" | |
| yhh: | |
| level: 28 | |
| nick: "Teleport" | |
| laugh: | |
| level: 86 | |
| #nick: "Pogladontasaurus" | |
| ninja commando17: | |
| level: [ 71, 72, 73, 75, 76, 77 ] | |
| nick: "Death" | |
| ninja commando2: | |
| level: [ 71, 72, 73, 75, 76, 77 ] | |
| nick: "Kill by shuriken" | |
| zapde: | |
| level: 108 | |
| nick: "Eye laser" | |
| bang111: | |
| level: 101 | |
| nick: "Dynamite" | |
| yes: | |
| level: 44 | |
| nick: "Yes" | |
| droid2: # forgot already, might've heard 1 or 2 times | |
| level: 80 | |
| nick: "Unknown" | |
| asassddd: | |
| level: 10 | |
| nick: "Death" | |
| painful: | |
| level: 50 | |
| nick: "MILK!!!" | |
| scream: | |
| level: [ 2, 25 ] | |
| nick: "Citizen death / Chess pieces" | |
| croc3: | |
| level: 0 | |
| nick: "WELCOME!" | |
| eat: | |
| level: 40 | |
| #nick: "Chomp" | |
| fre: | |
| level: 35 | |
| nick: "Sacré bleu!" | |
| frt: | |
| level: 118 | |
| nick: "Boom" | |
| evilhaa: | |
| level: 80 | |
| nick: "Maniacal laughter" | |
| ninja commando15: | |
| level: [ 71, 72, 73, 74, 75, 76, 77 ] | |
| nick: "Sword swing" | |
| a: | |
| level: 34 | |
| #nick: "CAT" | |
| yum: | |
| level: 40 | |
| #nick: "Yum" | |
| damage: | |
| level: 100 | |
| nick: "Transformation" | |
| screeming: | |
| level: [ 6, 15 ] | |
| nick: "Falling" | |
| sedd: | |
| level: 41 | |
| nick: "Growl" | |
| shwing: | |
| level: 108 | |
| nick: "Forcefield" | |
| button: | |
| level: [ 81, 82 ] | |
| nick: "Gem" | |
| asassss: | |
| level: 12 | |
| nick: "NO SHOOT" | |
| xzx: | |
| level: 30 | |
| nick: "MAKE BEAKFAST NOW!" | |
| car: | |
| level: 58 | |
| nick: "Revving" | |
| nbn: | |
| level: 9 | |
| nick: "BROKEN" | |
| asas: | |
| level: 1 | |
| nick: "Rave" | |
| zap2: | |
| level: 80 | |
| nick: "Faulty disc" | |
| key (2): | |
| level: 100 | |
| nick: "Yellow key" | |
| 1 (5): | |
| level: 100 | |
| nick: "Kill" | |
| zap: | |
| level: 120 | |
| nick: "Middle finger" | |
| 111: | |
| level: 4 | |
| nick: "Trigger" | |
| bb: | |
| level: 84 | |
| nick: "Collide" | |
| bullet2: | |
| level: [ 98, 99 ] | |
| nick: "Enemy bullet" | |
| ninja commando6: | |
| level: [ 71, 72, 73, 74, 75, 76, 77 ] | |
| nick: "Shuriken" | |
| door: | |
| level: [ 107, 100 ] | |
| nick: "Trapdoor / Purple lair" | |
| metal: | |
| level: 107 | |
| nick: "Spike trap" | |
| explosion (2): | |
| level: [ 98, 99 ] | |
| nick: "Kill" | |
| lazerrdsrr: | |
| level: [ 98, 99 ] | |
| nick: "Bullet" | |
| pwool: | |
| level: 58 | |
| nick: "Hitting ground" | |
| head: | |
| level: [ 71, 72, 73, 75, 76, 77 ] | |
| nick: "Decapitate" | |
| insec2wav: | |
| level: 81 | |
| nick: "Spring" | |
| rocks: | |
| level: [ 81, 82 ] | |
| nick: "Rock fall" | |
| bang8: | |
| level: [ 81, 82 ] | |
| nick: "Bomb hit" | |
| hit4: | |
| level: 82 | |
| nick: "Spike" | |
| hii2t: | |
| level: 82 | |
| nick: "Platform break" | |
| french: | |
| level: 31 | |
| nick: "Chomp" | |
| dime2: | |
| level: 96 | |
| nick: "Coin" | |
| 1 (3): | |
| level: 54 | |
| nick: "Pellet" | |
| pop3: | |
| level: 100 | |
| nick: "Red grape death" | |
| beep: | |
| level: 10 | |
| nick: "Landmine detector" | |
| dart: | |
| level: 94 | |
| nick: "Fling" | |
| aaa: | |
| level: 100 | |
| nick: "Inverted cat killed" | |
| punch: | |
| level: [ 108, 105, 106 ] | |
| #nick: "Punch" | |
| blastoon: | |
| level: 96 | |
| nick: "Hover" | |
| #a (2): # has to be on wasteland | |
| vv: # jittery things that turn to eggs | |
| level: 100 | |
| nick: "Kill" | |
| yuyu: # when colliding | |
| level: 100 | |
| nick: "Touch" | |
| as: | |
| level: 54 | |
| nick: "Power pellet" | |
| pop44: | |
| level: 96 | |
| nick: "Alien shooter" | |
| exty: | |
| level: [ 2, 10 ] | |
| nick: "Explosion" | |
| 4: | |
| level: 69 | |
| nick: "Kill" | |
| 15: | |
| level: 69 | |
| nick: "Death" | |
| slik: | |
| level: 58 | |
| nick: "Windshield" | |
| he: | |
| level: 27 | |
| nick: "Health refill" | |
| key: | |
| level: 44 | |
| nick: "Spacebar" | |
| touch: | |
| level: 44 | |
| nick: "Touch me" | |
| scream3: | |
| level: 15 | |
| nick: "Overlayed scream 2" | |
| sww: | |
| level: 35 | |
| nick: "Switch" | |
| zapp: | |
| level: 96 | |
| nick: "Fire" | |
| windy: | |
| level: 80 | |
| nick: "Gust (Faulty disc)" | |
| bann: | |
| level: 35 | |
| nick: "Disarm laser eye" | |
| daemon: | |
| level: 80 | |
| nick: "Groan" | |
| bang: | |
| level: 79 | |
| nick: "Kill all" | |
| 6: | |
| level: 52 | |
| nick: "I WARNED YOU!" | |
| ambient: | |
| level: 52 | |
| #nick: "Ambience" | |
| bops4: | |
| level: 80 | |
| explosion: | |
| level: 53 | |
| #nick: "Chew" | |
| step3: | |
| level: 101 | |
| step4: | |
| level: 101 | |
| lazer: | |
| level: 80 | |
| frogs: | |
| level: 80 | |
| 1 (2): | |
| level: 49 | |
| nick: "Switch" | |
| #bngd: probably exploding green thing in mouth | |
| #ninja commando16: | |
| # nick: "Unknown" | |
| #bang111: # already forgot!!! | |
| #bang (2): # already forgot!!! | |
| healthup: # ?? | |
| level: 96 | |
| nick: "Crystal" | |
| #kkk: # already forgot!!! | |
| up: # air ship orb thing likely | |
| level: 96 | |
| nick: "Health orb" | |
| zz: | |
| level: 58 | |
| nick: "Motor" | |
| dffg: | |
| level: 100 | |
| nick: "Kill purple cyclops" | |
| splat: | |
| level: [ 81, 82 ] | |
| nick: "Death by rock" | |
| baby7: | |
| level: [ 81, 82 ] | |
| nick: "Kersplat" | |
| caveent: | |
| level: 53 | |
| nick: "Ambience" | |
| allosy: | |
| level: 52 | |
| nick: "Grab" | |
| hj: | |
| level: 100 | |
| nick: "Yellow bouncing creature" | |
| swal;low: | |
| level: 100 | |
| nick: "Kill purple smiley" | |
| smassh: | |
| level: 100 | |
| nick: "Touch purple smiley" | |
| cc: | |
| level: 100 | |
| nick: "Gun death" | |
| aas: | |
| level: 100 | |
| nick: "Hitler head touch" | |
| vvv: | |
| level: 100 | |
| nick: "Kill caterpillar" | |
| vfv: | |
| level: 100 | |
| nick: "Kill pink head" | |
| in: | |
| level: 100 | |
| nick: "Kill squid crab" | |
| wa: | |
| level: 100 | |
| nick: "Mossy lair" | |
| kkk: | |
| level: 100 | |
| nick: "Hurt place-swapping leg" | |
| op: | |
| level: 100 | |
| nick: "Scatter seizure head explode" | |
| pop5: | |
| level: 100 | |
| nick: "Kill triangle cyclops" | |
| levels: | |
| 0: # just so i can't lose track >:( | |
| title: "WELCOME!" | |
| sprites: [ 304, 305, 306 ] | |
| next: 1 | |
| 1: | |
| title: "Intro" | |
| canontitle: "ONE DAY IN A PEACEFUL GALAXY" | |
| sprites: [ 1, 2, 3, 19, 20, 21, 22 ] | |
| next: 2 | |
| track: 1 | |
| 2: | |
| title: "The attack" | |
| sprites: [ 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18 ] | |
| next: 3 | |
| 3: | |
| title: "IT'S TIME TO PAY!" | |
| next: 4 | |
| 4: | |
| title: "A deep hole" | |
| canontitle: "Pink obscene looking lever" | |
| sprites: [ 42, 43, 44, 45, 46, 54, 70, 71 ] | |
| next: 9 # O_o | |
| track: 2 | |
| lives: null | |
| 5: | |
| title: "Try again" | |
| next: 34 | |
| 6: | |
| title: "Falling" | |
| sprites: [ 40, 56, 57, 58, 59 ] | |
| next: 7 | |
| 7: | |
| title: "KERSPLAT" | |
| sprites: [ 61, 62, 63 ] | |
| next: [ 8, 9 ] | |
| 8: | |
| title: "MAKE A DECISION!" | |
| sprites: [ 64, 65, 66, 67 ] | |
| next: 8 | |
| 9: | |
| title: "Are you ready to take on the sunfish?" | |
| next: [ 10, 25 ] | |
| track: 4 | |
| 10: | |
| title: "Minefield" | |
| next: [ 118, 68, 70 ] | |
| track: 3 | |
| 11: | |
| title: "Press space in the air to fly" | |
| next: 12 | |
| 12: | |
| title: "Flying power" | |
| next: [ 83, 13 ] | |
| track: 5 | |
| 13: | |
| title: "Time machine" | |
| next: [ 21, 90 ] | |
| track: 45 | |
| 14: | |
| title: "Selector the cutest" | |
| next: [ 15, 18, 17, 16, 24 ] | |
| 15: | |
| title: "WRONG ONE!" | |
| next: 19 | |
| 16: | |
| title: "WRONG ONE! (2)" | |
| next: 14 | |
| 17: | |
| next: 14 | |
| 18: | |
| next: 14 | |
| 19: | |
| next: 20 | |
| 20: | |
| next: 14 | |
| 21: | |
| title: "Over the next few minutes" | |
| next: 14 | |
| track: 7 | |
| 22: | |
| title: "Flame throwere" | |
| track: 10 | |
| 23: | |
| title: "Blasticate enter" | |
| next: 22 | |
| track: 9 | |
| 24: | |
| title: "CORRECT!" | |
| next: 23 | |
| 25: | |
| title: "Chess dimension" | |
| next: 26 | |
| 26: | |
| title: "SATISFIED?" | |
| next: 79 | |
| 27: | |
| title: "Collect the hearts" | |
| next: [ 28, 97 ] | |
| track: 10 | |
| 28: | |
| title: "Teleporting head" | |
| next: 71 | |
| track: 8 | |
| 29: | |
| title: "Fuhrer" | |
| next: 27 | |
| 30: | |
| title: "MAKE BEAKFEST NOW! (title)" | |
| 31: | |
| title: "MAKE BEAKFEST NOW!" | |
| track: 11 | |
| 32: | |
| title: "Mammy on enter" | |
| 33: | |
| title: "Androids" | |
| next: [ 5, 34 ] | |
| track: 13 | |
| 34: | |
| title: "CAT" | |
| 35: # mime mission | |
| title: "The speakeasy" | |
| track: 12 | |
| 36: | |
| title: "Dr. Bob escapes" | |
| track: 14 | |
| 37: | |
| title: "Dr. Bob's letter" | |
| 38: | |
| title: "DEATH" | |
| 39: | |
| title: "Dirt eating (title)" | |
| 40: | |
| title: "Dirt eating" | |
| 41: | |
| title: "Incidental screamer" | |
| 42: | |
| title: "SWEET" | |
| 43: | |
| #title: "Meet Glenda" | |
| 44: | |
| title: "Glenda" | |
| track: 15 | |
| 45: | |
| title: "Post-keytus" | |
| 46: | |
| title: "Transition" | |
| 47: | |
| title: "What are we made of?" | |
| 48: | |
| title: "Nodraw heads" | |
| track: 16 | |
| 49: | |
| title: "Eggspitch" | |
| next: [ 54, 119 ] | |
| track: 17 | |
| 50: | |
| title: "Milk" | |
| next: 47 | |
| 51: | |
| title: "Glass" | |
| next: 47 | |
| 52: | |
| title: "Mystical rock" | |
| next: [ 57, 115 ] | |
| 53: | |
| title: "Chew" | |
| 54: | |
| title: "Pac-Man" | |
| next: 53 | |
| track: 18 | |
| 55: | |
| title: "Lord squill" | |
| next: 60 | |
| track: 48 | |
| 56: | |
| title: "Cry on enter" # Purple dungeon | |
| next: 102 | |
| track: 20 | |
| 57: | |
| title: "Ram space" | |
| 58: | |
| title: "Suburbia" | |
| track: 19 | |
| 59: | |
| title: "Eggplant" | |
| 60: | |
| title: "Eggplant (2)" | |
| 61: | |
| title: "Vortex" | |
| 62: | |
| title: "Trippy transition" | |
| 63: | |
| title: "Trippy transition" | |
| 64: | |
| title: "Trippy transition" | |
| 65: | |
| title: "Trippy transition" | |
| 66: | |
| title: "Trippy transition" | |
| 67: | |
| title: "Trippy transition" | |
| next: 96 | |
| 68: | |
| title: "Googly" | |
| 69: | |
| title: "Space invaders" | |
| next: [ 11, 12 ] | |
| track: 21 | |
| 70: | |
| title: "Puking" | |
| next: 13 | |
| track: 22 | |
| 71: | |
| title: "Ninja (level 1)" | |
| 72: | |
| title: "Ninja (level 2)" | |
| 73: | |
| title: "Ninja (level 3)" | |
| 74: | |
| title: "Ninja (level 4)" | |
| 75: | |
| title: "Ninja (level 5)" | |
| 76: | |
| title: "Ninja (level 6)" | |
| 77: | |
| title: "Ninja (level 7)" | |
| next: 30 | |
| 78: # unused ?!?!?! | |
| title: "Ninja (level 8)" | |
| next: null | |
| 79: # you can hit escape here and quit | |
| title: "Zombie" | |
| next: 11 | |
| 80: | |
| title: "Galaxy" | |
| next: [ 93, 55 ] # RNG | |
| 81: | |
| title: "Dungeon 1" | |
| 82: | |
| title: "Dungeon 2" | |
| 83: | |
| title: "The bird" | |
| next: [ 81, 84 ] | |
| track: 24 | |
| 84: | |
| title: "Snow golem" | |
| 85: | |
| title: "Pogladontasaurus (title)" | |
| 86: | |
| title: "Pogladontasaurus" | |
| next: 13 | |
| track: 25 | |
| 87: | |
| title: "X munted points" | |
| next: 29 | |
| track: 26 | |
| 88: | |
| title: "Mime's death" | |
| next: [ 97, 89 ] | |
| track: 27 | |
| 89: | |
| title: "Impossible bridge" | |
| next: [ 95, 38 ] | |
| track: 28 | |
| 90: | |
| title: "Ice cream" | |
| track: 29 | |
| 91: | |
| title: "Winkywollyapocaloptagon" | |
| next: 94 | |
| track: 30 | |
| 92: | |
| title: "Mercury" | |
| next: 21 | |
| track: 34 | |
| 93: | |
| title: "Sad body morpher" | |
| next: [ 21, 38 ] | |
| track: 31 | |
| 94: | |
| title: "Dog head launchers" | |
| next: [ 80, 116 ] | |
| track: 32 | |
| 95: | |
| title: "Falling frog" | |
| next: [ 38 ] | |
| track: 33 | |
| 96: | |
| title: "Air ship" | |
| next: [ 121, 111 ] | |
| track: 35 | |
| 97: | |
| title: "Spider" | |
| next: 38 | |
| 98: | |
| title: "Berzerk (level 1)" | |
| track: 40 | |
| 99: | |
| title: "Berzerk (level 2)" | |
| track: 40 | |
| 100: | |
| title: "Blue's wasteland" | |
| track: 36 | |
| 101: | |
| title: "Mineshaft" | |
| track: 41 | |
| 102: | |
| title: "Bunny alien" | |
| 103: | |
| title: "Lab entrance" | |
| track: 37 | |
| 104: | |
| title: "Dr. Bob's lab (level 1)" | |
| track: 38 | |
| 105: | |
| title: "Dr. Bob's lab (level 2)" | |
| track: 38 | |
| 106: | |
| title: "Dr. Bob's lab (level 3)" | |
| track: 38 | |
| 107: | |
| title: "Dr. Bob's lab (level 4)" | |
| track: 38 | |
| 108: | |
| title: "Cybersunfish boss" | |
| 109: | |
| title: "CONGRATULATIONS!" | |
| 110: | |
| title: "End" | |
| next: 0 | |
| track: 39 | |
| 111: | |
| title: "UFO" | |
| next: 120 | |
| 112: | |
| title: "Sea of fools" | |
| next: 57 | |
| track: 42 | |
| 113: | |
| title: "ARF ARF!!" | |
| next: 57 | |
| track: 46 | |
| 114: | |
| title: "Seizure" | |
| next: 98 | |
| track: 49 | |
| 115: | |
| title: "Seal lord" | |
| next: [ 113, 57 ] | |
| track: 44 | |
| 116: | |
| title: "Pumpkin blunt" | |
| next: 18 | |
| 117: | |
| title: "Eggspitch's fight" | |
| next: [ 11, 12 ] | |
| track: 42 | |
| 118: | |
| title: "Bridge" | |
| next: [ 117, 11 ] | |
| 119: | |
| title: "Eggspitch's mission" | |
| next: 112 | |
| track: 43 | |
| 120: | |
| title: "Middle finger" | |
| next: 98 | |
| 121: | |
| title: "Untitled" | |
| next: 98 | |
| track: 47 | |
| ... |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| import { | |
| 'readFileSync' as read, 'readdirSync' as readdir, 'rmSync' as rm, 'existsSync' as exists, | |
| 'copyFileSync' as copy, 'mkdirSync' as mkdir, 'rmdirSync' as rmdir | |
| } from 'fs'; | |
| import {parse} from 'yaml'; | |
| import {$, sleep, sleepSync, spawn, spawnSync, which} from 'bun'; | |
| function rimraf(...ff) { // --no-preserve-root | |
| ff.forEach(async f=>{ | |
| try { | |
| if (exists(f)) | |
| rm(f, { recursive: true, force: true }); | |
| if (exists(f)) | |
| rmdir(f, { recursive: true, force: true }); | |
| } catch (e) { | |
| console.log(e); | |
| await $`rm -rf ${f}`.quiet(); | |
| // why | |
| } | |
| }); | |
| } | |
| function safefn(fn) { | |
| return (fn ?? "").replace(/[\?:"\/]/g,s=>({"?":"?",":":":",'"':""","/":"⧸"}[s])); | |
| } | |
| var cat = parse(read('Catalog.yml').toString().replaceAll(/\t+/gmi,a=>' '.repeat(a.length)), false, {merge: true}); | |
| rimraf("0Dogg/","0Dsrc/","0Dmiss/"); | |
| mkdir("0Dogg/", {recursive: true}); | |
| mkdir("0Dsrc/", {recursive: true}); | |
| mkdir("0Dmiss/", {recursive: true}); | |
| if (true) | |
| for (var [name,sound] of Object.entries(cat.sounds)) { | |
| var nick = safefn(sound.nick ?? ""); | |
| if (nick.length > 0) | |
| nick = " - "+nick; | |
| var src = "0D/" + name + ".wav"; | |
| var level = cat.levels[Array.isArray(sound.level) ? sound.level[0] : sound.level] ?? {title: "???"}; | |
| console.log(name,sound,level.title); | |
| var fmt = "ROTSF SFX - Level "+(sound.level ?? "unknown")+" - "+safefn(level.title ?? "Unnamed")+" - "+name+nick; | |
| await $`ffmpeg -hide_banner -i ${src} -c:a libvorbis -qscale:a 3 -map_metadata -1 -fflags +bitexact ${{raw: Array.isArray(sound.reallen)?("-ss "+(sound.reallen[0])+" -to "+(sound.reallen[1])):""}} ${{raw: !isNaN(sound.realrate)?("-ar "+sound.realrate):""}} ${"0Dogg/"+fmt+".ogg"} -y`.quiet(); | |
| copy(src,"0Dsrc/"+fmt+".wav"); | |
| } | |
| var cs = Object.keys(cat.sounds), missing = readdir("0D"). | |
| filter(ss=>(/\.wav$/.test(ss))).map(s=>s.slice(0,-4)).filter(ss=>!(cs.includes(ss))); | |
| console.error("missing sounds:"); | |
| for (var s of missing) { | |
| var fmt = "ROTSF SFX - Unknown or uncaught - "+s; | |
| console.error(s); | |
| await $`ffmpeg -hide_banner -i ${"0D/"+s+".wav"} -c:a libvorbis -qscale:a 3 -map_metadata -1 -fflags +bitexact ${"0Dogg/"+fmt+".ogg"} -y`.quiet(); | |
| copy("0D/"+s+".wav","0Dmiss/"+s+".wav"); | |
| copy("0D/"+s+".wav","0Dsrc/"+fmt+".wav"); | |
| } | |
| //console.error("missing sounds:",missing.join(", ")); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment