<div dir="ltr"><br><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 22, 2016 at 5:15 AM, Ralph Versteegen <span dir="ltr"><<a href="mailto:teeemcee@gmail.com" target="_blank">teeemcee@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 22 March 2016 at 03:11, James Paige <<a href="mailto:Bob@hamsterrepublic.com">Bob@hamsterrepublic.com</a>> wrote:<br>
><br>
><br>
> On Sun, Mar 20, 2016 at 9:30 AM, Ralph Versteegen <<a href="mailto:teeemcee@gmail.com">teeemcee@gmail.com</a>><br>
> wrote:<br>
>><br>
>> OK, I'm basically done; I'm putting everything else off until after<br>
>> release, and don't really have more time right now. James, are you<br>
>> planning a release candidate?<br>
>><br>
><br>
> Awesome! I Think I will declare a nightly build to be the release candidate<br>
> (without actually branching in svn just yet) and see if I can prod people<br>
> into testing.<br>
><br>
><br>
>><br>
>> The only thing that still concerns me is my last todo list item:<br>
>><br>
>> -slice errors now appearing in old games due to slice handle numbering<br>
>> changes. Just hiding the errors with Release Mode may not be good<br>
>> enough, they may be real (new) problems. The following are likely to<br>
>> be caused by the same problem:<br>
>> --Lots of suspicious pauses and script errors in Sephy's Angel<br>
>> Whispers (haven't checked whether actually caused by freeslice<br>
>> changes)<br>
>> --'waitslice, already deleted slice' in Karate Fight (probably no<br>
>> consequence)<br>
><br>
><br>
> Well... if we add a backcompat option for bringing back the old way of<br>
> allocating script handles, how much of a burden would it be to keep that<br>
> working in the future?<br>
><br>
> My (limited) understanding of this issue is that these games were<br>
> incorrectly re-using slice handles for slices that had been deleted, and<br>
> then new slices had been created with the same handle number<br>
<br>
</div></div>That's correct.<br>
<br>
Adding a backcompat setting would be a one-line addition right now,<br>
but I'm still not sure how much trouble it will be in future.<br>
<br>
[Begin train of thought]<br>
<br>
I did want to switch to garbage collected handles in the new script<br>
interpreter. In fact I want to turn all handles and ID numbers<br>
(including all of the constants found in an .hsi file) into typed<br>
objects (called "weak types" in the ancient Plan on the wiki). For<br>
backwards compatibility it will be necessary to allow handles to<br>
existing types of objects to be treated as integers, and for integers<br>
to be treated as handles. A further level of back-compatibility is<br>
ensuring that handles correspond to the same integers that they<br>
currently do. Finally, a question is whether this integer<-->handle<br>
conversion should always be allowed, or whether it should be turned on<br>
by backcompat bit. If the former, it can throw an error but work<br>
anyway.<br>
<br>
-For NPC references, the integers clearly have to remain the same.<br>
-I have seen several people do/think confused things with menu/menu<br>
item slots/handles, since they count up from 1 in a very predictable<br>
way (should have made them count from -418015 instead)<br>
-I was planning on making the assumption that no one ever does<br>
arithmetic on slice handles, but the problem we're talking about is<br>
nearly as bad as that.<br>
<br>
Note that you might store an npc ref or slice handle as the width of a<br>
slice. (People would actually do that; they wouldn't store it as the<br>
NPC walkabout palette.)<br>
<br>
Also you can save a game today containing saved slices, and handles to<br>
those slices in global variables will be integers regardless of what<br>
version loads it.<br>
<br>
[End train of thought]<br>
....<br>
<br>
I thought that we had more examples of games where we suspected that<br>
the change in slice handles caused error messages? I remember that you<br>
figured out that that was the problem in Karate Fight. (And in that<br>
case we determined the error was safe to ignore, IIRC.) My reason for<br>
suspecting a change in the engine is to blame for Angel Whispers is<br>
that there so many errors (and serious breakage, I think) that I doubt<br>
Sephy released it like that.<br>
<br></blockquote><div><br></div><div>I just tested Angel Whispers all the way through in the current wip build. It all ran perfectly. I assume that "release mode" was hiding errors from me, but none of them were fatal, and I was able to play every battle of the demo with no problems.<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Maybe there actually aren't many, and we would fix more games by<br>
adding a backcompat bit to disable alt-key filtering.<br>
<br>
It looks like we need an easier way to actually see the error messages<br>
in games set to Release so that we (and others) can look for them,<br>
such as a debug key that always works. The --errlvl commandline option<br>
has no effect in Release mode, that's something I meant to fix.<br></blockquote><div><br></div><div>Maybe something like an in-program error console viewer? (really, a g_debug.txt viewer)<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="HOEnZb"><div class="h5"><br>
>><br>
>> Also there are some minor things, like fixing the permissible ranges<br>
>> and documentation for attack costs to match reality<br>
>><br>
>> Other bugs put off:<br>
>> -backwards non-automatic shrink animation can crash (can test in slice<br>
>> editor)<br>
>> -double fade out in screensaver3.rpg (update palette)<br>
>> -fix two off-by-one bugs in battle backdrop animation ticks<br>
>> -window scaling when launched through steam wrong size (Citizen Kane)<br>
>> -sprite dissolve with transparent=no doesn't work<br>
>> -disable filtered alt in old games. For example in Apophenia (2010<br>
>> version) pressing alt instead of esc to bring up the menu doesn't work<br>
>> properly. (But with either alt or esc the menu flickers anyway.)<br>
>> -keyval repeat rate might break balance in old games? But only if they<br>
>> run < 18 fps. Not a new problem since Beelzebufo<br>
_______________________________________________<br>
Ohrrpgce mailing list<br>
<a href="mailto:ohrrpgce@lists.motherhamster.org">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>
</div></div></blockquote></div><br></div></div>