#(WIP) UnityRTX
1 messages · Page 5 of 1
https://github.com/BepInEx/BepInEx/releases/tag/v4.0 looks like it's for mono
BepInEx patcher v4.0
Installation (from scratch):
https://github.com/BepInEx/BepInEx/wiki/Installation
Installation (from BepInEx v3.X)
https://github.com/BepInEx/BepInEx/wiki/Migration
Changelog:
...
its not an issue of bepinex working for mono
its the remix compat mod working with mono
which was stated is not happening for a bit as hes focusing on what does work
Let's say we get mono working.
long assumption but i would think mostly everything would work just like bleedingedge?
but i dont know anything at all
but can we stop discussing it ty
This is some awesome progress! I always do love seeing more viable options for Remix, and this is going to open a hell of a lot of doors.
📜 ⬆️
i think it renders unchecked objects aswell
each game is definitely gonna need some tweaking to disable/enable certain layers
that'll be a thing once it's configurable in remix
looking at my decompiled copy of tspud i can see that triggers are invisible once actually in-game
ye it's a side-effect of gpu readback
https://github.com/sambow23/UnityRTX/tree/master btw the gpu thing is out you just need to build it
i think
ye but im not really done with it
yipee!
i dont think i did this right
it crashes everytime it renders 3d
or its just me and rtx remix hating me
i assume you used the remix build from the v0.1 release?
yeah
it only worked with that
and i replaced the dll with my compiled one
dll as in compat mod or remix
Excited to retry orc massage
excuse me what
unity remix
UnityRemix.dll
of all fantasy races
i was abt to ask if peak was better with the new update but idk if its rclpp
orc 
massage 
naw its monobleedingedge
And if you do a good job, ou do other things to them too but that's uh... yeah
is it better with the new update?
ah ok
also gonna focus on atlyss today for dev because it has a lot of alpha foliage and some skinned meshes that dont work
and ideally those fixes will work on other games
right
white glove was pretty broken yeah?
i might be remembering the name wrong
the climbing one
white knuckle
ye same here, maybe remix is building shader cache? also what game
Anemoiapolis: Chapter 1
no clue, i wont be offering any support until a proper release is out tho
and babbdi
more geo renders but mostly everything is untextured
also takes a long time to load into any scene
ok when the main map loads, remix is at like 4 fps
not surprised because of how big it is and no culling

woah
super ultra mega wip, but instead of fighting with unity's buggy immediate gui lib, i have built an imgui wrapper for remix ☺️
tl;dr remix can now control the wrapper directly
all of the UI widgets are defined on the plugin side so i dont have to recompile remix for any UI changes 
now to add a camera selector for games that grab the wrong one like lethal company
naw havent looked into it yet
ah

Woah yipee
Will textures also be handled by this tool too?
Altho ig they arent perfect yet anyway so prolly not yet
textures will be handled as normal with categorization
I meant boggling them on/off (cuz the albeido setting doesnt work)
Awesome
purpose of all of this is to make the wrapper work best for your game
how do i compile this lol
ok
Gee I sure do hope this improves batdr
batdr?
Bendy and the dark revival
floating wizard gun confirmed lol

ultrakill added mirrors and decided to leave on the 3rd person model on 24/7
geez
literally insane
fixes performance and works 100% as expected
this is so peak
Yay
thats hot
Tsp is my only chance at seeing firewatch rtx because firewatch just doesnt have any of the bepinex types
Its js fitewatch
hi curious
ik a lot of it is manual
copilot w/ claude sonnet 4.5
A tiny Unity project to import assets from the original Stunts game. - cobbpg/stunts-unity
4.5 huh. interesting
mb i mean 4.6 lol
lol okay
claude in copilot is a lot smarter than through claude's sub and it's so infuriating
is this symbolism
i straight up think its confusing other scenes in TSP because what the hell
The broom closet ending was my favorite
OMG U GOT THE BWEEM CWOASITE ENDING????
From what I understand its same map different triggers
In a way
TO MY KNOWLEDGE
the triggers would like a word with you
i like the remix ui additions there
Lmao
It also has to do w memor8
Memories*
""
good games to test (well if mono worked that is) https://itch.io/games/oldest/free/tag-3d/tag-unity
🚫
shitty games to test?
This better not be some elaborate early april fools joke and none of this is real
Sob
Stanley was fat and ugly and really, really stupid.
Stanley was also addicted to d*ugs and h**kers.
I hope your friends find this concerning.
Thats going as my bio
Oh my gosh I thought you were actually a different person until I looked in this thread and realised
i think its because your using a custom version of rtx remix
so even if i build it i wont truly be able to use it
?
the current commit of the compat mod works with remix build included in v0.1

btw is this right?
well yeah
Paths could be setup for auto detect right?
ye that's what im changing rn
Cool
just pushed, should work now
no need to edit paths
keep in mind, i am not supporting locally compiled builds period
i tried a clean build and deployed it to ultrakill with no issues, game runs fine
how do you build without being on local then?
i mean any other users who build locally
anything i push without a formal release is WIP so i will not assist with any issues until a formal release such as a v0.2 is made
gpu instanced geo (mostly done), proper alpha support for textures, the layer/renderer filtering (done), camera selection (done)
i know you wont help but ill place my player.log here
looks like the game just randomly crashes?
So just geo and lighting?
i guess there's also particles and better lighting, but those might fall into "game specific" issues
I wonder how shadows are
wdym? shadows always work because its path tracing
i mean more lighting would cast more shadows so technically yes
So would shadows be bugged for the lighting if was intergraded?
okay.. its unity just panicking over rtx remix
it crashes everytime its done with shaders and theres 3d geometry
gpu?
remix shouldnt be crashing the game unless your actual driver is crashing
i have a RTX 4070
What driver version
ngl i havent updated it in a while thats prob it
wdym? shadows work but there just isnt many lights being rendered in games so its just dark or either uniformly lit because of the fallback light
Ah ok. Was just trying to find out something is all
Sorry for the confusion and questions
no worries
Lmao
32.0.15.9597
still crashing btw
Nvidia
i just did thats the version number 😭
Try downgrade 1 version
Or two
Device crash it seems. With instructions error
You need to find a stable driver
Remix isn't being called with that one
Failed to create textures hmmm
I say just wait for a release so cr can help
ultrakill dlss 5 when
Dlss9000
Just realizing now after like a year that instead of baking my ultrakill materials I made at high resolutions i couldve just disabled filtering on them in remix lol
RTX Remixers will see this and say "Peak"
dave do you have any wisdom to dispel onto us
Hi im dave
baldis basics plus hasn't changed
johnnys store is the best with textures so far
babbdi works
i have to use free camera cuz it still picks up the wrong camera
@lament ice may i present absolute peak?
Are we close to a build?
idk yet
Alright
@lament ice how long will dave exist for
Js till April fools is over
rip Dave early April 1st to April 1st
unethical
the ghosting issue seems to be with how software skinning is implemented?
RR will handle it
Damn, RR is crazy that it manages to stabilize it that much
if gpu skinning works I swear unity games will be more compatible with remix than actual directx9 games

my face when unity games works better than Halo CE :p
I know. The fact this project exists in the first place is absurd, then you're going to tell me skinned meshes work? It's comical
You time travel to 2 years ago and tell people about this project in this server, you'll just get banned for being insane
meowl to cat?
broken is only uhhh 12 letters away from working or something inspirational like that
its meowl with 2 extra limbs, more meow than owl
Stray looks so goofy like that
earthmover?
if only my save file didnt get destroyed when i was messing with UK 2024
🥀
i'd download a new one but i dont wanna mess up my achievements
I can send you my awesome cool save 
ok ig ☺️
Everyone gets it
Now i just hope ultrakill saves dont contain your steam password or banking information for no reason
i tore apart the save file and found out that your name is jacob
ive been caught
😭
that's kinda creepy tbh
trying now
some bigass cube in the way
Thats gonna look so cool tho
The way gabriel intended

hw skinning in the most absolutely cursed remix project ever
🫂
Get UVs working and its literally perfect, you got gpu skinning i dont even care about UI anymore who cares
I guess its not uvs but texture mirroring instead of repeating
yeah
what was your approach to figure out the required info for hw skinning?
i'm trying to refine the workflow for it in my template code
unity publishes all of their C# code for rendering to github so I threw claude opus 4.6 at it, i didnt really expect it to work
ohh okay
it did require modifying the runtime to stream skinning data and fix blend weights but it was 99% of the wrapper side
modifying the runtime for it is interesting
i didn't consider that
if i could open a PR for dxvk-remix that'd make FFP conversions easier that'd be great
yeah i dont see why you couldnt
where's your dxvk code for this?
yay
Yay
Boiling gone
yeah all it took was hardware skinning to fix it 
I mean
Awesome dude
Even if it is a challenge, congratulations
Atp for you its child's play work in a sense
You arent as lost and frustrated with it every time yk
So gj
lol i was being sarcastic
Still
oh trust me, i get lost each time
I think you should be proud with yourself cr
the D3D9 fixed-function path in d3d9_rtx.cpp already does this correctly — it calls skinningData.computeHash() after bone population and handles strides properly. So the bug only affects API-submitted skinned meshes, not ones coming through the normal D3D9 pipeline
guess no PR is needed for my use-case
but you should def PR that for the API imo
i have no idea why it does that lmao
i plan to take a look at FO4 which is DX11, and i'll be using your code as a baseline for the API stuff most likely
i havent looked yet but yeah it needs to be addressed
This all is a big win for the rtx community
oh btw all of the alpha changes indirectly made remix respect the mip values so stuff is properly pixelated in both atlyss and UK

its ironic because HAKITA made ultrakill bilinearly filter everything for april fools
just gonna say that lol
perfect timing
Yay
ty for the nice words 🫂 i do this for the game 🔥
I do wonder tho why both unity games became Grey ish dark for the colors
Js because unity lit them in a different way i guess?
Ah
So basically wede have to retexture everything? Ir is there a way somehow to implement veryext colors with allis
it might be possible, i havent checked yet but im going to soon
Alright
We could also use the vertex coloring for emissives ! /j
Once theres a build im gonna be doing emissive hell for the fun of it
Cuz as far as im aware theres no emossive cutouts
Do they also change each startup?
Is it the same with view models or not?
You got this cr
atlyss seems to work with hw skinning but wow its laggy af
Damn
@onyx apex could you try Receiver 2?
THIS IS NO ARCADE SHOOTER, THIS IS 100% GUN MECHANIC REALISM
Receiver 2 simulates every internal part of each firearm based on manufacturer schematics and gunsmithing resources. Learn exactly how each sidearm works, including how to load and unload them, clear malfunctions, and operate their safety features.
NOT YOUR ORDINARY FPS
You won't find…
$19.99
2769
bro its $20
oh wait
fuck
uhh
can i have the mod thingy
i own the game
ill try it myself
v0.1 is already out
its from december but it should run, game compat isnt any different rn
a lot of stuff wont render correctly in that ver tho
bro hakita what
what are you hiding from us
Unused decor
weird it didnt hook
these are my files
Mayve
Bro is unlocking the FORBIDDEN SECRETS ‼️ ‼️ ‼️
they could be explicitly blocking bepinex
its unity 2019+ correct?
if it did hook, you'd see a log here
i think so
lol what it just prematurely ends?
very strange
are there any other mods for that game? this seems like more of a bepinex/game issue itself
Cr what would you classify a game with no mono or iclpp or bleedingedge
yes it has bepinex mods
even weirder
What would that be
i guess ill pick it up on sale at some point and dig around
iirc it came out in 2016? but iirc there are a handful of games that uses their own stuff
idk what firewatch does in particular
:3 doesnt have to be that way wink wink wink wink
like umamusme is il2cpp 💔
So basically it aint gonna work with this mod less its directly modified
There are but not through bepinex
thru wot
https://www.nexusmods.com/games/firewatch nexus i think?
Idk how it works
Theres not much mods either
Js really fixed i guess
Direct modifications
It also has a workshop i think
wack
the release here is not for unity right?
i have made hw skinning optional now, its off by default
fixes atylss perf
at the cost of visual clarity for skinned meshes
its weird because usually hw skinning is faster so im sure there is a bottleneck somewhere
ill fix it eventually
naw haven't looked into it yet
ah ok
do i need stable hashes for textures?
cuz i might try to build it and do some uk textures
naw those work fine
ok, which one would i need to build for the latest of what you have then i might as well get to work (if there isnt a release yet)
Maw? 
you'd need to compile both the runtime and wrapper
i don't think I've pushed the hw skinning changes yet but i am when i get home
it's kinda easy
is it
what
that explains not much
sob
so i js use cd then link the source then it just what
does it
?
build guide is on the GitHub readme
ah ok
ive pressed every buttn on my keyboar how do you open this menu 
isnot working 
Im on the latest github build too
receiver 2 still doesnt work 💔
alt x
its part of the remix menu now
but you need to build the runtime that actually supports the C# bindings
thats the problem, i used the runtime from v0.1
first time building remix runtime 
gmod rtx
Woahhh
I can't tell
There no way thats actually gmod rtx
I think it might be gmod RTX with no UI nevermind lol
i like that vram usage is stupidly low on most unity games
Noticed that when running ultrakill just now, the actual game windows still runs at max fps while the remix window struggles as it normally does
wdym
Like even with remix running in the background the game is still running at like 300 fps
Only in the remix window is it slower
ah yeah that makes sense
lmk when youre home cr
now
its been pushed
ok so (please bear with me i use github zilch) i js download it via the zip here and build it?
really sorry im a dunce on allis lmao
me and doing anything with building has and will always be cursed
as soon as i figure out ultrakill uv weirdness ill push a preview build
ok
gotta port my pre-ravamp mod to the latest 



cuz otherwise its js pale brown on pale brown
so what even was the uv issues
texture UVs and coordinate spaces were already correct, problem was the pre-transformed map geometry wasnt respecting UV/tiling offsets set from the unity editor
so tl;dr it was the map meshes the entire time
ah
something something how does unity do emissives? can you theoretically make those values into a texture overlay for remix?
iirc UK does use emissive maps
yes they do, a bit buggy tho
need to figure out what makes the ceiling and floor emissive
cuz they're not meant to be
dont even need that lol
i can just make it take the PBR maps for games that already have them
except maybe for normals
those will prob need to be converted
🧑🍳
does uk even have pbr maps?
no
figured
oooo
Well if you figure out vertex colors what would be even left to do? This looks flawless (apart from no UI)
get a single window
a
need a better way to hide renderers/layers that arent meant to be shown, fix cybergrind ground
to be fair he said left to do
not whats next

7-1 is so fuckin laggy
gl
ok so ig ultrakill doesnt use vertex colors
it instead alters the emission map at runtime
guh
good thing we're not reliant on a graphics API, i can just edit the wrapper/runtime to do the same thing 🫃
its done with a shader for the vanilla game
how will you do that? like what will you modify the wrapper to do to recreate it
make remix lightmaps? or modified emissives
i've begun

kims begun
uhh wuh
recreate the emission texture with the tinted version, this is probably UK specific tho
right
✨ FO4

no idea what draws the screens on the guns
also funny that charging sprite is the battery lol
could be a dynamically controlled flipbook
maybe
usually flipbooks are rendered with just one frame like it is there sooooooooooooooooooooooooooooo ttttttth wht makes meing that
omggggggg my keyboard
wtf
because
cybergrind has a very very very very very hardly noticeable "surge" emissive
in the origional game
same stuff as the minecraft sea stuff where its hardly noticed
the pulse
i think it looks fire as hell
i wonder if changing it on the menu changes it in remix
probably
nope didnt work
ok i wanna fix the cybergrind now, then i will release it
oh well blueis nice
i promise

@onyx apex would you be able to send me a compiled build of dxvk-remix from your unity branch pls pls 🥺
ye its coming in the preview build im about to send
whar
btw are you not able to compile it?
for reasons i don't understand, building dxvk-remix locally is a nightmare. it just never goes right
yup. it just breaks over and over
idk why
it is sooooo frustrating
2 directories have to be removed each build
hold on
this is my script
the 2 directories in question
Remove-Item -Path .\nv-private -Recurse -Force -Confirm:$false
Remove-Item -Path .\tests\rtx\dxvk_rt_testing -Recurse -Force -Confirm:$false
appreciate it
here is the build
btw i've noticed for the initial launch for any game, it will freeze at certain points, after a few relaunches it goes away
YAY
i have no idea why
had to delete the preview release, i left some verbose mesh logging on that ate a lot of disk space
ill reupload in a few mins
eek
if you're upgrading from v0.1, delete these folders
otherwise things will probably not work correctly
so if i have a fresh modern install of uk i can js drag n drop?
ye
or install bepin then drag
it has everything
yes
lemme cook
most games need Z-Up for it to render correctly
right o
tried to capture twice but it's crashing, third times the charm 
does white knuckle have textures now btw or are they still gone
wait i should test tdr again
see if anythings different
sob

hmm ill see if i can reproduce this
what level?
tried 0-1, 0-2, and 2-1
fixed it
skinned meshes do not show correctly in the toolkit because it uses a different runtime, this goes for a lot of other things too
you can replace the runtime in the toolkit btw
yea but im lazy
also i still prefer using the blender toolkit because i dont have to fight it to just to preview a capture
for anyone wondering, it goes in .\deps\remix_runtime\runtime
this is like the perfect ragebait
guh
why is lethal js
ENA finally runs!!! 
perpetually grey
guh
probably an overlayed hud element?
how do i fix it?
ignore the texture
the viewport clicking doesnt really work so you'll have to dig for it
also you have to use hide texture instance
normal ignore is meant for dx9 and wont work
hide textures doesnt work for it
then its the wrong texture
ok ill check myself
Remix seems to think 2 different materials are the same, even though they have different textures???
its definitely a hud element because you couldnt see in both without using the free cam
in lethal company, the issue dissapears switching to different cameras
im looking for the hash still
i think whuckle js has some emissive masks
hmm weird
oki doki
whuckle still got some missing stuff too i think
mess with the renders in the plugin tab
ok i have no idea, i tried every texture 🥀 , it doesnt show in the debug view so its some kind of overlay
i was able to workaround it as seen in the vid
yeahhh
alot of geometry is still missing, idk what exactly to look for in the renders tab, nothing i unmarked really fixed anything
ill mess with it when i can
Okay so the mesh that im selecting has 2 materials, and it seems to be only selecting one of then, even though the other one is clearly separate in remix
PEAK is getting there...
Does this come with that cool sky stuff??
yep
Where is it hiding 
needs scene z-up enabled too
this game even works with the viewport btw
ts the perfect unity remix game
The only issue is perf
The only thing keeping me from doing anything with batr is that there are so many damn textures
Nothing is repeated basically
ok i sleep now
ill see what i can do with white knuckle and other games that are missing geo tmr
what do i do if the sky moves with the camera?
Textures are filtered but still
weird that only some parts of it are filtered
i can add something to the runtime to force it off
anyways bye
😛
Bye
it was a replacement material, nearest was selected in the toolkit but it wasn't working, probably need to restart the game
Actually seems like some materials just ignore whatever filtering is set to for no reason... weird
interesting looking cheese
opened up lethal to try something and got this instead
sob
also @onyx apex i was able to fix the greyness by disabling emissives
i think they use emissives for their fog or something and that was making the grey? maybe
is it even monobleedingedge
nice fact: if you build the plugin on a game it doesnt support, it tells you why it wont work (error logs)
yeah i just found out its emissives in white knuckle
ill see if i can filter these out better
right
check this out btw
yeah i ran into that cutscene my first launch by accident, if you let it play out it kills remix perf for some reason
it didnt for me, thats weird
interesting
yeah
only thing that dont are
enemies, ladders, and lights
also textures are megafucked
how so
it mostly js loads a brick texture
all over
hmm
will have to find out, each game is gonna be a bit different with how they render textures unfortunately
Yeah
once i get more core features working ill have to start working on per-game fixes
might have to restrict them per .exe so they dont conflict with others
heres the intro rtx

doors also dont render
or render as a wood texture
im assuming youve seen that in the ship
yeah lol
ill focus on white knuckle and lethal today and see if i can get those fixed
(WIP) UnityRTX
remove the WIP for the culture
Basically saying "do it pussy" sob
give vague status on the project for the vine

just need to get the hands and other missing geo working and white knuckle will be playable
Its great ur focusing on getting visuals fully working first before doing hud and inputs through the remix window
single window is definitely last priority
i wonder if there’s also a way where you disable most of the base game’s rendering so most of the gpu work is on remix instead of juggling both
probably, we're already intercepting what the game sends
but even with the vanilla game rendering, the performance hit is very small
very excited to see what comes of this, shame vr support will prob never be added
VR could be done but i dont have my vr headset with me to try anything
Even tho it is ridiculous we’re even discussing vr rn i think with the 60 series + heavy dlss that might be possible
its not like vr graphics dont already look questionable
hell if leaks are to be believed the 6090 can theoretically probably run path traced vr at native quest 2 res stable 72hz
Oooo
not even an path tracer and game optimized for vr just a regular path traced game
ok now its REALLY fixed, it was only showing in reflections in that screenshot lmao

bloom
something tells me i could get remix running at 90fps in VR
just a gut feeling
Ts fire
Wdym in reflection tho
oh no you def could
one bounce importance sampled
90 + 90 is 180
you gotta somehow get to 180fps on ur current build
without using dlss too much cause thats just cheating
this is a challenge now
in that 1st screenshot the text was only rendering in reflections of other objects
Oooh
fixed vertex normals in stanley parable
it even loads the normal maps apparently lmao
no conversion needed ig
its even weirder beccause they dont really show in the vanilla game
time to get these roughness maps working 
this is the closest we will ever get to stanley parable 3
when i launch the stanley parable it just crashes
#1446017925545857145 message
i did that already though
try relaunching it a few times, the remix api sometimes locks up the game
im looking into it but its really hard to reproduce
i had that issue. it was an issue with presents and it locking up the game, which then crashed from being locked up
did you fix it by any chance? 
yus. i unchained the remix window from the game window for that. so if the remix window needed to freeze for a second to process something, the game window wouldn't
unsure how to explain it in techy terms. i'm tired lol
this was done in my own FO4 code, but i wouldn't be surprised if it's present in yours too
it was on the plugin/wrapper side yes, not dxvk
✨
it looks like a backrooms horror game 😭
fr
Stanley's co workers didn't disappear. they just went to bed because its night-time. Stanley did not know this and imagined it was day-time.
not sure what does these
this happens in baldis basics plus ALOT
the textures are just random
@onyx apex tried receiver 1 aswell
weirdly enough it faced the same issue
Something tells me it doesnt like the api stuff
Lmao
Give stabley an irl city cr
i think bepinex is not hooked
it's 2019 game
what game
i was testing out random old unity games on rtx and this is the only one that hooked
ohh oops
otherwise bepinex wont hook
just mono won't work?
not right now
ok
using nearest texture filtering mode on most replacement materials I think just doesn't work for some reason
did this game work previously?
minus colors yeah
another game (this one did work fine) has regressed
iirc getting over it is cheap so i can buy that rq and figure out what regressed
the only texture it seems to want to load is this one
and the sky texture
it does load a sky texture
wow first game with a working sky 🫃
🥹
It wont show the video
But the rest is also do not ride the snake, particles, slip/fling pointd
Ts game not as biga deal as lethal
yea but more broken games like this help a lot
i should try lethal with all of the fixes i've done today
True
I can gift it to ya too btw
If you want
what does this mean
oh because I know if I were to post that in specific servers it would rustle everyone's jimmies because it's a 2d game lol
oh lol
wasn't commenting on the quality of your work :p
hm? i wasn't insinuating that
ah lol
yay
@onyx apex i'm working on a method to get UI to pass through. it will probably require modifications to the remix API on your branch. if it works, i'll host it on my repo and i can make a PR for it after
Waiting for mono
Waiting for mono
Waiting for il2cpp (CR shoots me)
Waiting for Receiver 2
(oh no a waiting for, chain)
(oh no a (oh no, chain))
eating plastic
still waiting for mono no offence
there's a good chance if bepinex doesn't fully support mono, wrapper wont either
I swear if Unity RTX barely worked and could only render one triangle, people would still be asking for mono support
Some of these Unity games people are dying to get remixed barely have more than a triangle of graphics anyways
Hey, 7 days to die is not THAT low on detail!
Also, is existance of that WIP project a secret?
?
Can I mention it outside of that discord?
i'd prefer to just keep it in this server right now, i want at least 2 games that fully render correctly
so i wouldnt call it secret, but just doesnt need a lot of attention right now
Fair, I'll button my lips for now
amazing
yeah peak is a bit annoying to get ingame, i think i fixed the deadlock issue so ill send an updated build here in a bit
shouldnt have to relaunch a bunch of times anymore
ah
ooh
I am just particulary interested in 7dtd and specifically one of its big covnersions, Undead Legacy, so want to ask mod author if he is interested in hooking Remix into it as an option
i keep forgetting raft doesnt work despite being monobleedingedge
Unity 2019.3.5f1
$20 
)


