<div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Sat, 20 Nov 2021 at 02:11, Ralph Versteegen <<a href="mailto:teeemcee@gmail.com">teeemcee@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div dir="ltr"><br></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Fri, 19 Nov 2021 at 04:14, Mike Caron <<a href="mailto:caron.mike@outlook.com" target="_blank">caron.mike@outlook.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-CA">
<div>
<p class="MsoNormal"><span lang="EN-US">> </span>there are still lots more things that can be done after this is merged (you didn't really list them so I will), including our own non-Steam display of achievements, an editor, script commands (as an alternative
 to toggling tags), and debug facilities.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Yes, you are correct. As it is right now, you have to manually construct the achievement lump to get it to work. I figured that this is the absolute minimum amount of work to make it viable to merge.<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">> but I did notice that Steam.run_frame still contains ACH_WIN_ONE_GAME test code<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Whoops!<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">> and a lot of commented out C++ that probably doesn't need to be there anymore<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">That was left on purpose, but I suppose it doesn’t really need to be there now that we’re sure the signatures are correct.</p></div></div></blockquote><div><br></div><div>Aside from the comments, it's all duplicate to the FB code. But there should definitely be a comment that 703 is SteamAPICallCompleted_t::k_iCallback, if there's no constant defined for it.</div></div></div></blockquote><div>Oh, SteamAPICallCompleted_t.k_iCallback is actually defined in <a href="http://steam_internal.bi">steam_internal.bi</a> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_quote"><div><br></div><div>Also, all that commented C++ code uses mixed tabs and spaces.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-CA"><div>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">> and also run_frame is not really being called from the right place: it will be called from 0 to 200 times a second depending on how much idle time is available. Should it be called more often than whatever the game's framerate (likely
 18fps) is?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Really? I put it there since that’s when we invoke the graphics backend. Is there a better place to put it?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">(I don’t think it needs to be called all that often, but this is the closest thing we have to a main loop, as far as I can tell)</p></div></div></blockquote><div><br></div><div>I think dowait is the best place to call run_frame since it is called everywhere (except when a script is stuck), but the problem is that io_waitprocessing (and Steam.run_frame as it is now) is only called when there is idle time, but not when there isn't (if the process hits 100% CPU). So if being called at only 18fps or less is OK you could call outside the loop instead (and otherwise can call it twice).<br></div><div>(That call to io_waitprocessing there is not that well thought out anyway; I don't think io_waitprocessing actually has any purpose anymore in any backend, as io_pollkeyevents (misnamed, actually all events) is also called to ensure that backends get a chance to process events even on the one or two screens that just pause waiting for a key without redrawing the screen.)</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div lang="EN-CA"><div><p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">--<u></u><u></u></p>
<p class="MsoNormal">Mike Caron<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<div style="border-color:rgb(225,225,225) currentcolor currentcolor;border-style:solid none none;border-width:1pt medium medium;padding:3pt 0cm 0cm">
<p class="MsoNormal" style="border:medium none;padding:0cm"><b>From: </b><a href="mailto:teeemcee@gmail.com" target="_blank">Ralph Versteegen</a><br>
<b>Sent: </b>November 18, 2021 8:58<br>
<b>To: </b><a href="mailto:ohrrpgce@lists.motherhamster.org" target="_blank">ohrrpgce</a><br>
<b>Subject: </b>Re: [Ohrrpgce] New feature: Achievements</p>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">Great, at last!<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal">I can't believe that I thought (long ago) that this would be a straightforward thing to add since it's "just" calling an external API... there are still lots more things that can be done after this is merged (you didn't really list them
 so I will), including our own non-Steam display of achievements, an editor, script commands (as an alternative to toggling tags), and debug facilities.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">One thing it would be good to get other people's opinion on: there's currently a global flag to switch between permanent achievements (the only sort supported by Steam) or per-game/save ones. Would anyone ever want to mix the two? Consider
 that non-permanent ones won't be shown with the steam overlay.<u></u><u></u></p>
</div>
<div>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
<div>
<p class="MsoNormal">I didn't have time tonight to look over and write comments on the code, but I did notice that Steam.run_frame still contains ACH_WIN_ONE_GAME test code, and a lot of commented out C++ that probably doesn't need to be there anymore, and
 also run_frame is not really being called from the right place: it will be called from 0 to 200 times a second depending on how much idle time is available. Should it be called more often than whatever the game's framerate (likely 18fps) is?<u></u><u></u></p>
</div>
</div>
<p class="MsoNormal"><u></u> <u></u></p>
<div>
<div>
<p class="MsoNormal">On Thu, 18 Nov 2021 at 18:35, Mike Caron <<a href="mailto:caron.mike@outlook.com" target="_blank">caron.mike@outlook.com</a>> wrote:<u></u><u></u></p>
</div>
<blockquote style="border-color:currentcolor currentcolor currentcolor rgb(204,204,204);border-style:none none none solid;border-width:medium medium medium 1pt;padding:0cm 0cm 0cm 6pt;margin-left:4.8pt;margin-right:0cm">
<div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black">Naturally, I forget to include a link to the Pull Request. I have been a professional for a decade now
</span><span style="font-size:12pt;font-family:"Segoe UI Emoji",sans-serif;color:black">😄</span><span style="font-size:12pt;color:black"><u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black"><a href="https://github.com/ohrrpgce/ohrrpgce/pull/1229" target="_blank">https://github.com/ohrrpgce/ohrrpgce/pull/1229</a><u></u><u></u></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black"><u></u> <u></u></span></p>
</div>
<div id="gmail-m_5470949258523988654gmail-m_1670355291418213219gmail-m_-710047053495736314Signature">
<div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black">Mike Caron<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black"><u></u> <u></u></span></p>
</div>
</div>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black"><u></u> <u></u></span></p>
</div>
<p class="MsoNormal"><img style="width: 7.1666in; height: 0.0208in;" id="gmail-m_5470949258523988654gmail-m_1670355291418213219Horizontal_x0020_Line_x0020_1" src="cid:17d3839494c7c3aa35b1" width="688" height="2" border="0"><u></u><u></u></p>
<div id="gmail-m_5470949258523988654gmail-m_1670355291418213219gmail-m_-710047053495736314divRplyFwdMsg">
<p class="MsoNormal"><b><span style="color:black">From:</span></b><span style="color:black"> Ohrrpgce <<a href="mailto:ohrrpgce-bounces@lists.motherhamster.org" target="_blank">ohrrpgce-bounces@lists.motherhamster.org</a>> on behalf of Mike Caron <<a href="mailto:caron.mike@outlook.com" target="_blank">caron.mike@outlook.com</a>><br>
<b>Sent:</b> November 18, 2021 5:33 AM<br>
<b>To:</b> <a href="mailto:ohrrpgce@lists.motherhamster.org" target="_blank">ohrrpgce@lists.motherhamster.org</a> <<a href="mailto:ohrrpgce@lists.motherhamster.org" target="_blank">ohrrpgce@lists.motherhamster.org</a>><br>
<b>Subject:</b> [Ohrrpgce] New feature: Achievements</span> <u></u><u></u></p>
<div>
<p class="MsoNormal"> <u></u><u></u></p>
</div>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black">Hello friends,<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black">As I mentioned a few weeks ago, I was working on support for Steam achievements in the OHRRPGCE. Well, the fateful day has come when I think it's ready to release to the wild.<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black">But, that said, I haven't contributed anything for a while, so I wanted to give you guys a chance to review my work before merging it in. So, I've opened up a Pull Request on GitHub and I would
 welcome any feedback that anyone would like to provide. Don't hold back! I can take it!<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black"><u></u> <u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black">Cheers!<u></u><u></u></span></p>
</div>
<div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black"><u></u> <u></u></span></p>
</div>
<div id="gmail-m_5470949258523988654gmail-m_1670355291418213219gmail-m_-710047053495736314x_Signature">
<div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black">Mike Caron<u></u><u></u></span></p>
</div>
<div>
<p class="MsoNormal"><span style="font-size:12pt;color:black"><u></u> <u></u></span></p>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<p class="MsoNormal" style="margin-left:4.8pt">_______________________________________________<br>
Ohrrpgce mailing list<br>
<a href="mailto:ohrrpgce@lists.motherhamster.org" target="_blank">ohrrpgce@lists.motherhamster.org</a><br>
<a href="http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org" target="_blank">http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org</a><u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

_______________________________________________<br>
Ohrrpgce mailing list<br>
<a href="mailto:ohrrpgce@lists.motherhamster.org" target="_blank">ohrrpgce@lists.motherhamster.org</a><br>
<a href="http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org" rel="noreferrer" target="_blank">http://lists.motherhamster.org/listinfo.cgi/ohrrpgce-motherhamster.org</a><br>
</blockquote></div></div>
</blockquote></div></div>