#Modding the MGS1 emulator
1 messages ยท Page 22 of 1
Yeah. Tried sending it to you directly, but no luck there either
want me to replace the first gif with this?
its a refresh
done
just https://ezgif.com/video-to-gif lol
That's what I used for the first one
Cool, it retains the codec scanlines after giffification
is the only way to remove the top/bottom borders in other emulators to crop it?
or do they do something more clever
they don't somehow get it to render 256 lines, presumably?
yerp
quite clearly
ok good
would be a lot to patch in the ROM to do it any other way it seems
oi oi
maybe i found a way to remove the borders
that was fairly straightforward
cool, thats working really nice now
wow another quick fix
bit too soon for a 3.1 ๐
let's get a few more features first
i mean if i could do that in 15 minutes they could do it in 30 seconds
now I wonder if we can get PAL to 60hz and then everything is equal
You're probably already doing it, but might be good to have a PAL FPS toggle in the ini, in case there's some edge case where the lower FPS is preferred.
oh yeah i generally make everything optional
I thought so, but wanted to put it out there in case you were considering locking it in
there are some things that aren't optional but there is really no reason not to have them
i.e. the new monitor sleep fix
Righto
Was the audio pitched down on the pal release to account for that?
I.e. now the audio is back to the "correct" pitch/speed?
no it just stutters a bit
Oh, that's kinda gross
well i assume it would come out in the wash if i got the video timing correct
i have 60hz audio and 50hz video
so of course it has to do something
I'd contribute to a bounty for that. Especially if it could be a patch and not just a mod for MC.
https://consolecopyworld.com/psx/psx_patches_m.shtml interesting that I saw a MGS1 PPF patch that is "Metal Gear Solid VR Special Missions NTSC-2-PAL Patch", but why lol
Console GamingWorld - Sony PlayStation & PS-One
they must be patching the resolution
which kinda needs doing everywhere
the way the rendering works here means we kinda don't care about that
oh I see, my first thought is that why would they want to play the lower fps version lol
Are you looking forward to trying to figure out the chaff grenade reverb and midi instruments from issue 37? Lol
mh it surely can't be as hard as learning graphics was for me
graphics has always been my kryptonite
Luckily, you're almost done with esoteric graphics shit
well ive crossed the rubicon now
i "get it"
well, enough of it for the steam release of MGS1
so now its not so bad
Yeah
I wonder if the konami stuff still bypass the 3.0 release, and still fiddled with snake rendering. lol
I don't think we're getting another MC1 patch, except maybe to unbork the framerate for Switch 2
what ya mean?
(I assumed they were talking about a future patch, but I could be misunderstanding)
the 3.0 upscaling is basically "post-processing" during a timely pipeline stage
whatever they did with snake will still apply
because that happens much earlier in a frame
Aaaaah
#1168512986491670548 message I remember the issue the modder has back then is this
lol, gore
#modding-general message so I guess that issue will still exist in 3.0? lol
i would expect so
damn, hope can find a way to breakthrough
i don't really think just making the thing work like any other emulator is "breakthrough" stuff
otherwise we might as well just replace it with duckstation
just reverting all the stuff that makes MC MC is kinda weird imo
oh so it's the emulator's problem, sad
its not the mod
they injected that model without ketchup
because ketchup requires that no file grows in size
you can remove M2Fix and see that bug
there is genuinely some quirk or "optimisation" they put in place for the rendering, perhaps specifically of snake, who knows
huh weird, I think they did make a ppf to try, or I remember wrong
they did, but it didn't load because of what i said
it shifted the remaining contents of the disk
so at that point, everything became a patch and the ppf was huge
and that overwhelmed the game's patch system which wasn't really designed to patch the entire disk
ah I see
so they went into the alldata and repacked that with a new iso
so nothing to do with M2Fix
what M2Fix does in 3.0 is very precise, so i would expect that bug to be preserved, just appear in higher resolution
maybe some day we find the cause, there are like 1000 game accelerator hooks though, so it's like finding a needle in a haystack to figure out what is going on
would really need some very clever tools to process the accelerator hooks alongside a "normal" emulator to observe the effect of each, and probably with reference to the decomp to understand what they're actually achieving in laymans terms
oh hey
i got the PAL games running at 60hz
now the 60hz sound doesnt stutter, as the video is synchronised with it
do we have more M2 games coming?
Four milestones of the 80s arcade movement in one action-packed compilation! Relieve all the high-speed arcade thrills and explosive spills!
Title lineup
- Operation Wolf
- Operation Thunderbolt
โฆ
- Operation Thunderbolt
Aug 6, 2025
NIGHT STRIKER GEAR is an action-packed retro 3D shoot-'em-up.
Control the special armored vehicle INTER-GRAY in third-person view, ripping through a cyber futuristic highway while shooting down enemies.โฆ
2025
Yes, but looks like it's a new game rather than an emulated retro
"Colonel, why didn't you tell me about Nightstriker Gear?
Oh, I didn't see the OG above lol
At least we have until August to worry about it
There's a few games they're working on
Ooo, new bug with contra controls
if that's caused by M2Fix i have one guess
Yeah, no idea if it's new, or if the increased interest caused an existing unknown to get noticed
i suspect the latter
if im right
project didnt really have a proper release with that support before, even tho it was somewhat there
and well we just relaunched it
aight I have a way to remap keyboard buttons
just need to write something to actually do that remapping
god that is so much nicer
i didnt even know what most of the buttons were originally bound to
theyre that obscure
now i know where everything is instantly
H? U? 9? 0? seriously
now i have to learn the new bindings and unlearn the rubbish ๐
we should also add XInput support
oh hey the censor now samples the correct colours
"I don't think anyone ever imagined squirrel would be running an emulator"
https://youtu.be/PUTRvF7slYs?si=ow5Vr1V3tVUNJ3Ec
I managed to port an NES emulator to Portal 2's scripting engine.
Thank you for watching!
This project is available on GitHub: https://github.com/p2r3/smolnes-nut
Join our Discord server! https://p2r3.com/discord
All music used is from the Portal 2 OST in this order:
- Some Assembly Required
- Technical Difficulties
- Robot Waiting Room 6
- Yo...
lol
oh i had this recommended but didnt watch yet
lets see
i really want this to be more configurable but also dont want to reinvent the wheel if there's just some library i can borrow
i guess it also depends on whether i bother with xinput
sticking them in the .ini is gonna make the .ini a vexing parse
especially if there's conditional logic like i have
maybe i just need to let people express it in a squirrel script since i have a virtual machine in the mod
a way to load random squirrel scripts is probably something i should have anyway
but hey at least i can cope with the bindings now
lol i see where this is going
yeah they used squirrel for vscript
im surprised it still gets used for things
its not maintained by a large team, just one guy
and it hasnt been updated in ages
lua is more commercially palatable i'd have thought
maybe we should port his emulator to replace the one in bonus content
soon we need to look at PGXP again
best to do it soon while stuff is fresh in mind
found (well, rediscovered) good PGXP inspiration
probably will base on this
just seems the tidiest
No idea if this is a known issue or if it's something on my end, but it seems like switching between "Normal" and "Pixel Perfect" is doing nothing when keeping internal resolution disabled
does it happen without the mod
the mod shouldn't be in control of that in any way if internal resolution is disabled
It works fine without the mod
And if I enable internal resolution and set it to something like 480p, it works. If I manually set it to 240p it also technically works but gives me a brand new black bar on the right side (black bar is there both on normal and pixel perfect)
Uh ignore my second monitor lmao
Oh wait am I just stupid
Yeah I think I'm stupid lmao
240 divides evenly from 1440
Ignore my whole complaint
I forgot how to math
!ml means machine learning based detection
managed to get it back down to 8
stupid game
we can spend weeks trying to circumvent this or we can add features
the project is in active development so what's the point doing it for one build when we have to do it again in a few weeks for another
it never flags for me, presumably because it originated on my machine
fix: build it yourself
I wonder if it being signed would help, what's the cheapest Windows signing cert
these tend to get flagged as "potentially unwanted software" as well and I mean that describes Windows itself doesn't it
hopeless
might as well just ban everything using VirtualProtect
wonder if encrypting the rdata section would help if it matches things like strings ๐
basically have to think like a malware dev which is surely not the idea
whoa
i didn't know you could run while holding the gun by holding the crouch button
still learning stuff about this game after 25 years
that's goofy
Yeah!
Reckon stretched HUD is fixable or is that a bit ambitious?
well it looks like the HUD is a single drawcall
nvm, its two
but right after one another
and its handled differently to the world
no IASetPrimitiveTopology/RSSetState/OMSetDepthStencilState/OMSetBlendState preamble
i assume you would do the same thing the GTE widescreen hack does
horizontally "compress" this so that when its stretched again its correct
or maybe defer (ha) the rendering of it until the emulator has stretched it according to the screen size
basically make it part of the emulator, not part of the game
then no scaling needs done i think
so would just capture the drawcall and prerequisite state but don't issue it to GPU until later
that might get freaky with the emulator pause menu, would need to see
not impossible to do it though
i guess that is one benefit of working on this emulator
other emulators don't have that feature coz they have to work with every game
but here we just care about MGS1
i'm trying more and more to make the code portable (or at least modular)
e.g. the upscaling code doesn't know about PSX specifics, it just assumes the emulator has this behaviour of reconstructing the virtual VRAM and thus is too small or too big for the internal resolution
that means it could be easily adapted for an M2 title for a different console, etc
one of the benefits of the rewrite
the upscaling code queries the current game and its "machine" for that information rather than just assuming MGS1 PSX
lets see
what happens with the pause menu and hud interaction
ah it'd be fine i think
it stretches the emulator for widescreen, then draws the pause menu
so right after that stretch happens draw the hud
then the pause menu is still over it
the hard part will be reliably detecting the hud drawcalls
detecting the stretch point is easy
this is worth a go if i can work out detecting the hud drawcalls
there has to be a way, they're submitted differently
so the game is special-casing them
it knows they are for hud
its not just drawing a list of totally random shite
hmm, maybe i have a way
there are 3 drawcalls like this
one is for the absolute background layer, the floor and some walls
you never see a drawcall like that again until the hud
so ignore the first one and you have the hud drawcalls
and reset that state on each frame
lets see if these heuristics work
that can work!
on 2&3, need to save all the d3d11 state and not submit it
then wait until later to submit it
just not submitting it should turn off the HUD
lets try that first
nope it just breaks everything lol
why tho
seems like it should work
but that just doesnt end up on screen
ah that works though
oh wait
i know why it prob doesnt work
silly bugger
there we go, no hud
so now need to capture the state for each drawcall and then draw it later
wasnt quite what was intended but
Holy shit, this stuff is wild
how so?
this can prob work if i fuck around with it enough
i might have to actually deep-clone the vertex buffers rather than just holding onto the pointer
trying to make this generic too, so you can capture a drawcall state and replay it later
i suspect i have to change the scissor rects too, so the first version that works will probably put the HUD in the wrong place
but thats ez when we get to that point
oh
Crazy how far MGS1 MC has come since that guy who uploaded the whole game with a different emulator on Nexus and pretended he did something
total conversion mod, you see
but yeah the work that has gone into just getting a footing in MGS1MC is enormous
you can tell by the amount of code and the size of the .asi haha
okey, arguably further from what i want on screen but i think its actually closer in reality
that looks like the right size, pre-widescreen stretching, of the game's render view
oh hey
now its back
nice to see ya
thats unstretched as well
so my idea seems sound
its in the wrong place as i expected but that's easy to sort
now why has the actual map content gone
oh, i think i know why
now its centred properly
just need the map
that does not seem to be in the right place
is that 0,0? kinda seems like it
yes, just ended up in the abyss it seems, why doe
everything else is fine
and has survived transplantation
ok well now its at least on screen again
how hard can it be to get that inside that box
idk why it put it there lmfao
can i get it scaled properly first before i worry about moving it
i have it correctly sized now but in the wrong place
man
why is it that its the "easy" bit that always turns into a farce
this clearly almost works lmao
cool, right place right size but the scissor isn't correct
wait, no its not the right size
hmm
ohhh
0,0 on the map is the player
so left and above the player is negative coordinates
wow this might be the first time seeing the hud isn't stretch in widescreen mode, I see it's still position in the original coordinates, wonder if these can lock in to the corner of the game screen
oh, maybe im a dumb dumb
i was never gonna line that up
i think I do need to do a deep-copy of a subresource
but thankfully, not a big one
not the entire vertex buffer
wow is this my first time ever using dynamic_cast
oh
i was wondering why my game was crashing
thought it was my fault
nope!
steam crashed
jesus christ
not the first time that has happened
i start thinking i've broken the mod but no the game just crashes if steam isnt running
im hoping i might be able to do that with some clever use of scissor rects
basically draw the HUD twice, one for the left side and one for the right side
but have it set up so conveniently one side gets cut off each time
then just align each side at will
its great we can do all this without going near the PSX stuff
and an emulator that works for any game can't really do it either
ah, can't use RTTI here (I guess missing stuff in the base game) but thankfully there is ID3D11Resource::GetType()
I imagine it becomes quite easier to control the elements in game now with the current project code
yeah there's good tools to work with it at any level
PSX, if that's easier
Squirrel, if that's easier
D3D11, if that's easier
i chose D3D11 for the HUD because i could clearly see how it was being isolated to its own stage
i would prefer doing "ROM-level" mods the least, aka modding the actual game
PSX emulator core is OK
Squirrel is better
D3D11 is annoying to start with but eventually it makes sense
it just makes you feel stupid
god these keyboard binds are so much better
im going to keep saying it
Curious, how granular can you adjust the radar? Is it one single object, or can you shift the individual parts?
I ask because it's a known legacy bug that the guard view cones are incorrectly offset 1 pixel up and 1 pixel left
its basically individual lines and dots
not sure how the cones look yet
there's the moneyshot
man this is turning out to be a rad way to play the game isnt it
yeah, still there are a lot of elements in game that might need to make them non stretch
like what?
title menu, codec, etc
yeah, one thing at a time
@humble ravine so yes, it's possible
"alignment" "scaling" "sizing" wasn't really the problem
i just had to backup the state of constant buffers at the point in time of the drawcall
then i didn't have to do anything (besides centering it, like with the item and map frame)
i think i'll try and move things further to the left and right edge next
i have an idea how that might work
but this is at least something
double HUDs
you can see where this is going
look where the left side menu ends up
Sweeet
๐
draw the HUD twice is such a funny trick
draw it twice and cut it off in the middle of the screen
then each side can be aligned accordingly
genius
and again you don't need hardcoded offsets for this
you can just say, okay the game is 4:3 and with y internal height, so how many extra horizontal pixels are there
divide by two and you have the left side and the right side
im hoping i can rewrite the upscaling to use the "drawcall bundle" stuff i wrote for this
we are going to make this the best way to play the game boys
told ya i solved the hard problems xD
the important postfix to that statement is that i solved them in a way that pays dividends in future
i made the problems harder
but these are the results
lets see how the cones of vision work, then
oh quite clearly i see what you mean
they're anchored to the top left corner of the player
clearly that is the origin
i guess it makes sense when the player is 4 pixels?
you have to pick one
but it's not really 4 pixels anymore
i like this emulator
calling it an emulator is a bit of a disservice really
its more like an interpreter
since most of the logic is native code
its more of a native port than i think people give credit
but when it comes to like, game scripting, that is interpreted MIPS playstation code
im achieving all this without even thinking about the playstation
basically they are simulating the GCX interpreter in the PSX game
everything else is native
this is like
arguably the best version of MGS1 to mod on PC
everyone sleeping on it
GOG would be way harder if you ask me
and you wouldn't get every version of the game that way
the limit is basically there is only one of me
lmfao that is quite egotistical in hindsight but like, we've had 2 years to find someone else
ยฏ_(ใ)_/ยฏ
its open source you can hardly accuse me of being proprietorial
goml
i would love for someone else to contribute extensively to M2Fix but
hasn't happened yet
maybe it's more likely now the source isn't a housefire
kinda incentivised me reworking it to be more sane
https://youtu.be/BsJ-b1BpA0Y?t=2437 in that case I guess it's not impossible to do something like remove the black bars during the cutscenes in widescreen mode, something like this, oh I guess the subtitles need to un-stretched too lol
metal gear solid 1 ps1 all cutscenes hd full game movie 4K solid snake otacon colonel campbell meryl liquid snake sniper wolf ocelot
โข Instagram: https://www.instagram.com/kouteshi
โข Twitter: https://twitter.com/Kouteshii
โข Twitch: https://www.twitch.tv/kouteshi
โ ๏ธ I used a Widescreen Patch and I also removed the black bars/letter...
tbf i've wanted to touch M2fix a lot more - it was just impossible for me to test anything since the solution couldn't be built due to that old compiler requirement.
Definitely gonna give it a proper poking once i finish the next mgshdfix update xP
tbh understandable, if i didn't start the project i would've been unable to work on it either
the intel ASM hooks were nice at the time but
none of them were essential and could be refactored slightly using safetyhook
the one that got the most significant rework was https://github.com/nuggslet/MGSM2Fix/blob/master/src/sqhook.cpp#L115-L132
that... isn't quite what it was before, but... the effect is equivalent
required some thonking
but the outcome is no intel-specific asm blocks, so
Amazing! Are there any issues like boss health/o2 bars or timers (escape sequence) that cross the centerline?
Oh, torture sequence might too
Oh, would be nice to have either corner-anchored or the normal 4:3 framing for the hud
oh man, actually there are quite some ui elements that can do the non-stretching treatment in MGS1, excited
Yeah, there's a bunch
Oh hey, here's something we (nuggs) might be able to do with Castlevania https://old.reddit.com/r/castlevania/comments/1lbfjtz/is_the_dominus_collection_translation_of_the_ds/mxsecx5/
sweet, microsoft processed 3.0 a lot quicker than estimated - the defender false+ is now fixed
probably, but "the centre line" doesn't really need to even be the centre - i can cut it off at any point
that's just what i chose for now
so if it needs to be more clever we can do that
it's definitely something that needs extensive playtesting
i killed the second map render, so it's basically just the leftside inventory and map "border"
since the "map content" is its own thing separate to the inventory and map border
if we deleted the map border vertices, there wouldn't even be a need to use a scissor rect
im just glad that in principle it works haha
we take the drawcalls, stash them, and unstash them later in the frame
the HUD is now part of the emulator
but it's proof of the tech of "stashing" a drawcall
we steal the HUD and do what we like with it, whenever we want
not sure what it means for stuff like the main menu, yet
is it really better to not stretch that? and have the left and right side of the screen black?
i want to refactor the "upscaling" pass to use this
basically it should just push a "custom" drawcall to the queue and let it play out
it's like:
so whenever you use this system, the current state is preserved and restored later
meaning it should handle the pipeline restoration automatically where the upscaler currently has bespoke code for
the only thing this doesn't "automate" is the render target, quite deliberately
"where something goes" is kinda fundamental to most of its use-cases
looks like user error?
Enabled = false
Height = 1080
fun
LMAO
forgot about that
man, i do some shit
if you want to see "some shit"
this was needed for the EGS Castlevania
and we're surprised it gets detected by AV when there's batshit things like this going on xD
That a good boi
@pure radish apparently none of the Castlevania games have remappable keyboard input
Which uh, is bullshit
I can't even
wot
i genuinely dunno what you mean
are you saying they're like MGS1 and you cannot bind keys on the keyboard?
why is that uniquely "bullshit"? i think it's pretty bullshit in MGS1 as well
am i missing something that means this is a bigger deal for Castlevania?
hopefully whatever i do for input remapping works for every game
It's not uniquely bullshit, but it is bullshit nonetheless
You can at least apparently remap the controller
i probably wouldn't have bothered if the MGS1 bindings made a lick of sense
but, they don't, so here we are
Yep
just hilarious the 'U' key is relevant for gameplay
I just wanted to flag that the weird-ass unmappable controls aren't limited to just MGS1
how is anyone supposed to figure that out? mash every key and see what happens?
i'll bear it in mind and try to make it work for any game
I'm also trying to be vocal when I stumble across M2 issues that aren't related to MGSMC, since I assume almost all the feedback you're getting is for MGS
yeah, you're being helpful, no complaints here ๐
throwing this over here so i remember. looks like the built-in analog support has range issues (which i confirmed earlier); i don't recall that being an issue with the mgsm2fix analog implementation from pre 1.5.0
interesting
i kept the code for the old analog mod
it's technically still in there
maybe i can update it to use the new steam controller layout
Tienes a mi gengible ๐ฅฒ
how to hook in c++ ๐ค
Limit comment ๐

many examples in the M2Fix source
Spun up Integral to take a peekaboo, and noticed some jank during the elevator intro. Not sure if it's native, or M2Fix related, but figured I'd throw it out there...
Details?
Just trying to grab some screenies ๐
The second time the dive gear is shown on the elevator, the texture on the vest warps (looks like I clipped it close enough so you only see the one in the video). Snake's face (and other bits) Z-fights during the title drop, the post processing as the elevator stops seems.. off
Look at the right elevator rail there
You can see the z-face there as well
There's some weirdness on the external panning shots of the cliff face in the clip too, like there's a bend in the display. It's hard to describe, and could just be the normal post processing for the wind/snow/shake.
Edit: I don't notice this one in the clip now that I play it back, so could be false alarm.
aren't you just describing the lack of PGXP?
Could be
Yeah I think that's always happening, you just can't really see it at 240p
geometry being goofy is very much expected without PGXP
that is what PGXP is intended to solve
Cool! I've heard folks talking about it, but wasn't really clear on exactly what it did
yeah basically the PSX has a hardware device that handles geometry calculations but its imprecise
(the GTE)
PGXP fixes the precision problem
Yeah, I did some looking after you'd mentioned it this morning
Glad it's probably already in the works, rather than a new issue to dig through
so "accurate" emulation requires modelling the "imprecision", but it's not ideal to have the imprecision particularly when upscaled
Right
but personally, i like the wobbly stuff
especially in MGS1
the wobbly stuff haunts my dreams
the cutscene where you overhear a conversation near the start of the game
man
nightmare fuel for a 7 year old
"I'm going to get into this Hind now!"?
Oh that one lol
the wobbly graphics enhanced that so much that even if i had Alzheimer's I would remember it
that's the entire reason i convinced my dad (RIP) to buy the full game after i played the demo like 20 times
โค๏ธ
Yeah!
Anyone set up with Reshade for scanlines on MGS1? Would love to hear settings etc
Usually per week
impressive
"Impressive Snake!"
I can share my settings later
I think I have it looking pretty nice
What's your monitor resolution?
that does look damn good tbh
1920x1080, plus Deck (1280x800)
im not a massive fan of the upscaling stuff im doing and kinda prefer that look personally but
Ah okay, yeah you'll have to tweak it since I configured it for 1440p
I like that we have the option now though.
yeah i am just here as the facilitator lmao
Same, I keep it rendering at 240p with the shaders on. It smoothens it in a way a higher resolution could never
that sometimes means i will be implementing stuff i won't personally like
can't say i wasn't committed to it given it was my active task for a year
lolol
People complained about it being 240p over any other issue, it was kinda something people would expect you to "fix" unfortunately
yeah it was priority #1 for a lot of people
Though imo it being kept in 240p was good, just about everything else was the problem
the mod couldn't be taken seriously or have any value to a lot of people without it
fixing the keyboard bindings was my payment
total fucking mess unmodded
That goes for the whole collection at launch really
i feel like 2&3 were in better shape but maybe that's just me having lower standards given it was the first way to really play them on PC
whereas with 1 there are many, many options
Yeah, I'd agree there
so M2Fix has a hard job of making it a good way to play 1
rather than just "a way to play 1"
but hey we're giving it a bloody good go
i said i wasn't going to abandon it ๐
people got pissed off at the rate of progress but like
the pace of life changes a lot when you finish school
and that's not really something you can predict in advance for how much it flips everything over
i can't really afford to switch to another project, i just about have the bandwidth for one
this is all the hobby programming i can really do now
like people got mad about a few months of no activity
mate that felt like a week in my head
it's fucky
hopefully 3.0 shows i am committed ๐
idk just the internet you have to remind yourself that you're mostly interacting with teenagers lmfao
suddenly im not in that category anymore and i am 30
lolol babby
its unfortunate bro
you suddenly hit 30 and think "man maybe i should finally get my shit together"
oh well, another 10 years where i don't have to think about it
lets just pretend i hit 20 rather than 30
i feel more like 20 than 30
but i was uh a late bloomer tbh
have i even bloomed? not sure
my deepest sympathies
i was dreading the big three zero
when it was still twenty something i could excuse myself
in your 20s you're supposed to be a tit
that's the whole point
See, in your 30s, you're still a tit, but also now your back hurts.
i haven't experienced that yet, my back seems to be made of titanium
very lucky
normally that starts as soon as you leave school xD
must continue to invest in good chairs
Meeeee too
i wouldn't have expected you to be older than me, so congrats
i have clearly become Punished Snake from past relationships
a shame that for your apparent mental age that your telomeres are still fucked
eukaryote moment
imagine being a eukaryote
oh well everyone in this chat might live to 110
and then we will reminisce about a game that released basically when we were all born
on discord which will definitely still exist then
Oh 100%
Back in my day, we only had games on cartridges!
None of this fancy spinning disk crap
mate i inherited my dad's mega drive
my pride and joy
it's literally on my desk at all times
(in a dust cover)
had capacitors replaced
Mine was the same with my NES, though it's in pieces right now.
it's in immaculate condition
sometimes needs a bit of percussive maintenance
but
what device didn't from that era
Oh for sure
i tried the Metal Gear port to Genesis the other day
I picked up a Genesis last year, I still need to take some time and clean it up
Nice
same with the Mega CD attachment
At some point I need to dig up a working 32x
Luckily, with the Everdrive, I don't need to worry about the CD
dude was a hardcore gamer before he impregnated my mum ig
A real one. o7
no joke he is the entire reason im here and have the day job i have
died wayyyy too young
pancreatic cancer
universe tried to kill us once but it has to kill us twice
i can die happy now 3.0 is out xD
anyone can improve on 3.0
2.2 was a mess
just getting to the point where i've opened the door is satisfying enough for me
anything now is a bonus
i previously tried similar in the star fox adventures / dinosaur planet community as some here seem to know
and boy are there some egos over there
i kept all my stuff closed source there because "the guy" was desperately trying to coerce me into open sourcing it
funny how it's just open source here from day one
and i love that it is
community is way more chill here
"the guy" btw also having his own entire reimplementation of the engine and huge social media profile, he wanted to own my stuff, 100%
spidey sense walked me out of that one
i am a simple man and am happy to open source stuff as long as i get credited for it
and so i am here
you're all my backup option
because SFA / DP (particularly DP) severely needs attention
when the entire game is a leaked development build and not a finished title, it's really begging for it
the day that leak dropped i remember everyone trying to figure out how you're actually supposed to progress, it was hilarious
we had a bunch of twitch streams and people spying on each other
it was the opposite of a game holding your hand, every progression step was obscure as fuck and you also had to avoid crashes
opening a door by smashing tumbleweed was 10/10
stuff was blatantly like "this is the trigger during development, we'll work out the actual trigger by release"
but then Miyamoto moment
As someone who loves preservation, I do hope you'll go back to SFA/DP eventually.
Nuggs-san doesn't have to mod Metal Gear.
meh, it's the place where I was accepted ๐
when you're not welcome somewhere, what are you going to do besides leave
I wasn't good enough for the DP community apparently
however the MGS1 community found me very useful
it goes like this
I'm not the only one, the guy who started the decomp had a similar falling out with "the guy"
It helps that you come across like a normal rational person
so it's not like "if everyone else is the problem you're the problem"
relatively well adjusted
in this case we all agreed he was problematic
You interested in working with the decomp at all?
if two people independently have concerns that their work is going to be stolen, no smoke without fire
it was the same kinda spidey sense as "maybe I won't walk through that alleyway as I may get mugged with a knife"
it's closer than romhacking to my skillset, but i'm still not sure i'm quite there yet
Totally fair!
"i have a very particular set of skills" to quote a movie
See, if I just nudge you into learning romhacking, then we don't need a bounty for integral :p
Lol
i like opening the doors to modding but i am shit at modding
the upscaling is basically my greatest achievement
in terms of practical usable outcome
i love working in the unpractical space, so i come up with all sorts of shit that nobody cares about
then i have to justify it by bolting on a practical feature like upscaling
so people are like yay upscaling but not "yay x86 hooking revolution"
but im kinda equally excited about both
my ex would disagree
Heyoooo
And see, getting this clean, integrated code where it forms a solid foundation for everything else is what I'm loving
and man we tripped together on shrooms and had a true "heart to heart" so im not sure what she was expecting
yeah, the real success of 3.0 is the great tools for more stuff
those tools started life before the upscaling was even working, but the upscaling is the demonstration
3.0 is proof of the underlying tech
i wouldn't have really been able to hook a million D3D11 functions on the 2.x framework
now it's so clean you don't even have to think about what you're doing, a chimpanzee could do it
some of the stuff I invented here should really just be part of safetyhook itself
But not simple enough a potato can do it. I downloaded the source, so I know :p
well there's some fairly modern C++ going on
it's my playground for that sort of thing
I think we're pinned on C++17 at work so I don't get to try the newer language features at work ๐
(it was C++11 until last year, so yikes)
a "module"? what is that
certified module moment
i think only MSVC has relatively functional module support, GCC and LLVM are somehow actually behind MSVC
but FunctionTraits combined with safetyhook is OP
M2Fix uses it for basically dynamic dispatch of the hook's original code respecting the calling convention
which matters a lot in M2 games because they use multiple calling conventions in anger
the emulator core is usually fastcall but the squirrel stuff is cdecl, and then stuff like d3d11 is obviously stdcall
which is what's going on here: https://github.com/nuggslet/MGSM2Fix/blob/master/src/m2hook.h#L161-L172
that's what i mean by "this should be in safetyhook"
safetyhook requires that you manage hook objects and know which calling convention is correct, but i abstracted those details out here
and if i can do that in such little code it should just be upstreamed tbh
but the entire point of the project at this point is for me to probe what is/isn't possible
this might not have worked out, but it did
and now we are all enjoying the benefit of that for upscaling ๐
there would have been other ways for sure, but this is extremely clean
it's been an interesting lesson in x86 tbh coz previously i had zero experience there, i mostly worked on RISC stuff
Simple and clean is the way that you're making my code tonight
I want you to know my eyes are both slightly glazed over, and also ๐
and then there is the 32bit vs 64bit thing that M2Fix also has to handle
coz for some reason all the PSX m2engage titles are 32bit but everything else is 64bit
and i386 and AMD64 are surprisingly quite different
that's why we have shit like this: https://github.com/nuggslet/MGSM2Fix/blob/master/src/sqhook.cpp#L92-L96
tbh this is probably the most complicated thing i've worked on coz it requires basically everything i know
it is not trivial at all
maybe there's a simpler way to do what i've done but it'd be much less elegant
this is actually harder than my day job
my day job is making sure the beep boop silicon tapes out on time
but M2Fix is like quantum physics
I'm the code owner of an emulator at work and it's still easier to work on than m2engage xD
one thing pays my bills, the other does not
https://www.reddit.com/r/metalgearsolid/comments/1lf229t/does_mgs1_on_pc_have_the_ability_to_be_modded/ Seeing the title I was so ready to introduce M2Fix, then I found out OP just wants more rations lol
I'm melting
I'd like to put a proper cheat system in
you can achieve it anyway via ketchup so
but maybe should at least try to disable achievements
thats not even a hard boss fight as well
its probably the easiest lol
wait until he gets to rex
Which boss was it?
ninja
even ocelot is harder coz you have no health
we currently have a heatwave here so dont expect too much from me for a few days
i just shut down in the heat
glad i got the release out when i did xD
All good!
I actually have a hard time with Ninja
But also, I tend to go a while between replays, so I forget the patterns and some of the more specific tactics
Pera que mi gato se despierte para que veas su epico maullido de agonia
I wish I could fall asleep
3am
yup
if it can't be done it can't be done, I tend to make up the hours somehow
I'm trying to just be comfortable enough to not want a bullet through my head, but that's not comfortable enough for sleeping still ๐
again it's the UK where objectively it's not that hot but all the housing stock should be fucking demolished
It's like sitting in a car that's been left in the sun all day
I'm so low testosterone I have hot flashes as well ๐
I can be comfortable in one spot and then it spikes again
only one more day of it...
I also purchased a ~ยฃ15 fan today and felt like an idiot doing so because of the total lack of preparation
when you purchase consumer goods because the alternative is summoning an ambulance
I got back as if I'd been in the shower but didn't bother with a towel and then had to panic assemble the fucking thing
this planet is not inhabitable
but also separately: the British Isles definitely are not because houses were built for the last ice age
Yeeeeeah
Definitely consider some kind of portable AC for next year. Try and get one in the spring, before they get scarce
Even if it's just for the bedroom to keep you and the cat cool
Saw Jimmy Carr live in my city last year, very funny British man
He lives in the same area as me. See him around coffee shops sometimes but has a bit of a weird energy
weird energy is his entire thing
post about me? 
I officially have this diagnosis which if you know the NHS that's not trivial to achieve
tbf it's my primary illness
rationally you wouldn't do this shit
oh man i just cannot wait for the temperature to crater tomorrow
get owned, sol
Hahahaha computer programmer
tbf it is basically a disorder
i rewired my entire brain to get as good as i am
but the consequence is im autistic now
and cannot interact with humans
I already forget how this works
C++ moment
I will just assume that it does, and past me was smart
lol, now the x86 version of the asi loader dll is also getting flagged as a virus. no winning this game
sufficiently advanced template code is indistinguishable from alien communication
glad you realised that
it's actually? their problem? and not ours?
i mean i was always aware, was just trying to resolve it with as many vendors as i could so people stop bitching lol
if they want to flag everything that basically uses VirtualProtect, they might as well remove it
like, I get it, but I would expect detection to be more advanced such that false negatives are more likely than positives
if you're just going to run grep on a PE and feed that into an LLM you're fucking stupid
these people at Microsoft are paid btw
what did they do on Friday
other than make things even more egregious
yeah no shade on you, you have the patience of a saint
my day job just involves a bit too much host platform tithe payment so I am easily frustrated by this crap
bro we didn't even notarise our Mac builds also oopsie the timestamp server is down
can we release software or what
my day job has recently incorporated the novel invention of waiting the usual 5 hours only for Apple to shart, meaning the whole thing needs restarting until I added literal retry loops
also: no.
imagine being able to distribute software
wow that's only what we had 10 years ago
also Mac is barely an operating system so they're gatekeeping a food bank basically
I will now shut my mouth
oh my god
is it over
will I stop drinking fluids only to immediately sweat them back out
this planet fucking sucks
How's the temp over there?
A good 26 degrees. Dropped right off (thank god)
Warm, but not terrible
imma move to the north pole
Become Canadian
ooh
We own le arctic
Except for the Fox Archipelago, off the Alaskan coast.
Huh
I never did another MGS1 playthrough to get the Stealth Camo. I should probably do that and wrap up my achievements.
an appealing idea but I'd need to find a partner over there, solo visa stuff seems difficult even if you're qualified
if the stars aligned I would probably do it which is not something I understood before
Canada is prob more my vibe
we're down to 19 degrees here today which is closer to my speed 
still stupid warm indoors
I feel like they could just make the uncompressed assets a separate download or something
alright hello
sorry i had a work party followed by concert the following day
i am back
aha i remember what i was doing
trying to refactor the upscaling pass in terms of the "generic" stuff i wrote for the hud
then i need to fix a couple issues with the hud
no problem, you deserved that short break from the 3.0 release
im kinda surprised this antivirus stuff is still dragging on
you'd have thought in the few weeks since release the vendors coulda done some work
oh no they di'n't
it was RIGHT THERE
remember how bad the MC game names were before they changed them
Konami presents MGS MC MGS 1 sponsored by Doritos or whatever
MICROSOFT
WHAT ARE YOU EVEN DOING
Actually that's correct. Because the 2020 release of MSFS is just "Microsoft Flight Simulator"
3080 & 5800X3D
I meant if you had any flight sim peripherals
oh
srry, I am eepy
I have more simracing gear than flight gear, just a T16000M kit
I wish I'd gotten into sim racing, but alas
I can't quite uninstall 2020 because 2024 being entirely cloud based has broken more than I'd like
just wish we at least had the option to download 2024 or at least some of it
it can't be an order of magnitude larger in 4 years
I could throw a terabyte disk at it if need
ยฏ_(ใ)_/ยฏ
Call of Duty is bigger than 2020 xD
my Assetto Corsa install is like 500gb also
stoopid
i think that's even with compression
I feel like you can now
Yeah, I think the latest SU added the ability to manually dl at least aircraft. Lemme look.
there is too much stuff in my life to pay attention to
๐ค
My problem is 6GB of VRAM is just not quiiiiiite enough for 2024
no idea how it performs on xbox
Huh. There are tabs for Streamed/Installed, but I don't see how to actually install
that's how it was on release as well
Yeah. I must have imagined it
frustrating that it could in theory be supported
you can see it managing all these virtual packages in the game data area
how about we stop with the virtual shit

oh
im
stupid
the stuff is working fine this is just one of the HUD bugs i have to fix
i was trying to fix it with the wrong mental context lol
the bug was in my brain
alrighty then
back to fixing the hud
thats cool tho
means i can express the upscaling pass as just
eyy there we go
fixed a few hud bugs with one fix
there's a really reliable trigger for detecting the hud drawcalls
are all scissor coordinates non-zero
from there capture the next 2 drawcalls
basically only one of them is as messy as this
working well now
that's a really lucky observation, thank fuck tbh
previous method was quite glitchy and the hud broke at some angles in first person
i should really make D3D11 a base class and then have like "D3D11forMGS1" for the tweaks
the upscaler can probably stay in the base class as I think it's generic enough that conceivably another game might use
when you start reordering game-specific draw calls that's not rly the case
no other game has the MGS1 HUD kek
oh yeah, i can actually do that now
since only the deferred/immediate thunks need to be static
the underlying implementation can be made virtual
oof
it is now slightly too hot again for me to think
good news is this is peak temperature of heatwave #2
try again tomorrow 
can we shoot the sun into the sun
holy shit did you fix the stretched HUD? maybe im not in the know enough but to my knowledge i dont think ive ever seen anyone fix that before on any version
its really funny to me that even the GOG port never got a fix for that
workin on it yea
works well enough for a silly video now
no one has had this kind of foothold in MGS1 yet tbh lol
power we have now is quite insane
and really enabled by MC being the way it is
sadly i had to throw away that heuristic
as when you open an item menu, the drawcall with the non-zero scissor vanishes
presumably because it's the map one
but its ok, seemingly i can just check if scissor was actually set for that specific drawcall and ignore the values
now can i set a breakpoint while also holding a key down in the game


