Usurper
Usurper copied to clipboard
Testing v0.25
New issue for testing/tracking v0.25
TODO LIST
- [x] Skip local login for /HMAINT and other params
- [x] (S)tatus -> (M)ore -> Darkness, dungeon fights, etc, are misaligned
- [x] Divorcing when not married
- Use of uninitialized variable:
found
- Use of uninitialized variable:
- [x] Statusbar appears in local mode
- DDPLUS.Display_Status() wasn't taking Local and STDIO modes into account
- [x] Update message displayed when trying to divorce while not married
- [x] Fix read past end of file during maintenance when GODS.DAT is 0 bytes
- [x] Don't pause after trying to display an error if displaying errors is disabled
- [x] Display name of requested section in error message when USUTEXT.DAT is missing
- [x] Hang when starting on Linux https://github.com/rickparrish/Usurper/issues/23#issuecomment-976952908
- [x] In the gym, get a "white water" massage, this can result in receiving extra healings. You have to either apply for gym membership or take over the gym in order to take advantage of this.
- [x] Wish for healings at the well in the dungeon.
- [x] There's also an event in the dungeon where you can open a treasure chest and get a few potions
- [ ] Shaking hands when dead https://github.com/rickparrish/Usurper/issues/23#issuecomment-919209383
First test running locally using the go32v2 build in a DOSBox window. So far so good.
Created a character and did a few dungeon runs. Basic functions & gameplay work as expected. Hitting [Enter] defaults to the first available monster as it should.
Both the game and the editor agree on the stats now while viewing player data.
I agree that /HMAINT and /FMAINT will be nice to have again. I run /FMAINT nightly so that callers don't have to wait several minutes if they're the first one playing.
Will test on the BBS for a few days, gain some levels and report further.
Great work!
In 0.25 (dos) when going to Love Corner and hitting [D]ivorce i'll get the following (Note, I'm not married so not sure what happens yet if i was):
Better get rid of the matrimonial bonds right away! The family is gathered! You and ╕%-╣%- ╗%- ╕%-}L have been married for 0 days. Divorce ╕%-╣%- ╗%- ╕%-}L ? (Y/[N])
If I pick No and then head to the Dungeons I'll see the following:
The Dungeons of Drunghin As you descend to Dungeon Level 5 you tighten your grip to your weapon. You feel that evil lurk nearby... You wonder whether you ever shall see the sun shine again...
╕%-╣%- ╗%- ╕%-}L the is here [22 fights left] Dungeon level 5 (? for menu) :
When I exit the game and re-enter then things are once again displayed normally.
I am able to recreate the divorce bug described by @xbit44, although it looks slightly different for me.
The event shows up in the news like this:
Can confirm on the Win64 build as well. Did this bug exist in previous versions?
Version .20e does indeed allow the option to Divorce without being married. I just tried it on one of my .20e games here:
It does not show the corruption as in the current build, just a blank for the divorcee's name.
Nice test. Looks to be a very old bug as 0.19 *Public Test 6 also allows only it kicks you back to the BBS once you try.
On Thu, Aug 5, 2021 at 6:14 AM CraigEMP @.***> wrote:
Version .20e does indeed allow the option to Divorce without being married. I just tried it on one of my .20e games here:
[image: image] https://user-images.githubusercontent.com/12660452/128355685-262533c0-2628-43fd-b809-d073cbcc197c.png
It does not show the corruption as in the current build, just a blank for the divorcee's name.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rickparrish/Usurper/issues/23#issuecomment-893450080, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB2TW5IA2MS6A5THUVMLSNDT3KFELANCNFSM5BSNESPA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .
--
... BBS'ing is Terminal
@xbit44 , quick question. Are you testing the game in "classic mode" or "new mode"?
So far all my feedback has been for "classic".
New mode for me CraigEMP.
On Thu, Aug 5, 2021 at 9:40 AM CraigEMP @.***> wrote:
@xbit44 https://github.com/xbit44 , quick question. Are you testing the game in "classic mode" or "new mode"?
So far all my feedback has been in "classic".
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rickparrish/Usurper/issues/23#issuecomment-893603476, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB2TW5P7AZ7L2QRC34ZDQLLT3K5IFANCNFSM5BSNESPA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .
--
... BBS'ing is Terminal
Thanks for checking the older versions, that saved me from going through the commit log to see what had changed!
The divorce bug was caused by a found
variable being used before it had been initialized (or since it is a global variable, maybe a different function set found:=true
before the divorce function was called), and that resulted in the game thinking a spouse was found.
For some reason this bug wasn't triggered when debugging via the Lazarus IDE, so that made it interesting to track down!
Just pushed new binaries with the latest fixes!
/FMAINT and /HMAINT both working.
Divorce bug fixed. However, I got a funny response, playing as an unmarried male character:
Looking at the LOVERS.PAS file, it looks like the response is supposed to vary based on the character's gender, but the way it's coded makes it use the character's own gender to make the husband/wife determination rather than the gender of his/her would-be divorcee (who happens to be no one).
https://github.com/rickparrish/Usurper/blob/82c5228b18b365fc006c75a98f49d9c91291b7e7/SOURCE/USURPER/LOVERS.PAS#L768
Tried it as a female character and got this:
Suggestion: simply change it to "spouse" (just in this instance) so the game doesn't have to guess?
However, I got a funny response, playing as an unmarried male character:
That's funny, I saw that prompt about a dozen times while trying to get the debugger to trigger the error, and not once did I notice what it said!
Suggestion: simply change it to "spouse" (just in this instance) so the game doesn't have to guess?
This was my first thought as well, so that's what I'll do.
I've been running v0.19 PT6 for so long, i'm not sure if this has changed. in .19 you will have NPC's playing along side you and when you level up they will send "grats" or other funny comments. When i play with .25 and press ctrl-w it never shows "on-line" npc's?
you will have NPC's playing along side you and when you level up they will send "grats" or other funny comments.
I believe you're referring to "fake players" and their tendency to be "chatty". I remember this being a thing in .20e as well.
The default is having two chatty fake players (lines 159 and 188 in USURPER.CFG). I honestly tend to tune the fake players out, but next time I test I'll pay closer attention to whether they show up.
Looks to be a possible bug and not only with NPC's. I logged on with two characters and in the main menu ctrl-w shows no one is on. But when clicking from the logon screen it does.
On Thu, Aug 5, 2021 at 8:26 PM CraigEMP @.***> wrote:
you will have NPC's playing along side you and when you level up they will send "grats" or other funny comments.
I believe you're referring to "fake players" and their tendency to be "chatty". I remember this being a thing in .20e as well.
The default is having two chatty fake players (lines 159 and 188 in USURPER.CFG). I honestly tend to tune the fake players out, but next time I test I'll pay closer attention to whether they show up.
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/rickparrish/Usurper/issues/23#issuecomment-893973840, or unsubscribe https://github.com/notifications/unsubscribe-auth/AB2TW5L4LTDM2HQOPXXZMZTT3NI7BANCNFSM5BSNESPA . Triage notifications on the go with GitHub Mobile for iOS https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675 or Android https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email .
--
... BBS'ing is Terminal
And then a ctrl-w when both are logged into Main street:
There's a commit named "fake player garbage" showing changes made to ONLINE.PAS, which appear to make fake player interactions happen less frequently.
https://github.com/rickparrish/Usurper/commit/d8801d323a29d9754db9da261542bae0e1958ee9#diff-f512779367fe8844eeaa39c325d33780545c0e39adf5b835b52d35c932ef8dbf
There's also an entry in the changelog linked to it which also calls out "^w" (Ctrl+W):
https://github.com/rickparrish/Usurper/blob/45c6a94b6ddee01b5c4e7a2ccfdeaade49529a4b/changelog.txt#L121
Maybe the fix from that time is preventing online players from being listed altogether?
Good find. Yeah, it seems all inter-node coms are not working. Like when a new player enters the game, it should say "x" has joined or something like that.
"fake player garbage" may be referring to the fact that s
could go uninitialized if the case statement is missing one of the possible locations. Dan initialized it to 'xxx' beforehand, which would cause that to be displayed instead of garbage in a missing-location scenario.
For CTRL-W (and CTRL-T) it looks like those are global hotkeys that work at any menu, and so they're handled in the DDPLUS function for reading input. When I switched to RMDoor that functionality was lost. And it's a little weird for the doorkit to be calling routines in the main game, so I'll have to think about how to re-introduce that functionality.
One easy option would be to just add it as a hotkey to the main menu, but then it wouldn't be global anymore, so not sure how much of a negative that would be. In fact it looks like it's already an undocumented hotkey on the main menu -- if you hit !
then it'll show the online players.
EDIT: I have a feeling the NPC activity is also triggered in DDPLUS, which would explain why it stopped in the switch to RMDoor.
Aha yes -- I remember Jakob hacked ddplus to jam the global hotkeys in there. We could do similarly for rmdoor (not great design, I agree).
I'm thinking a method for registering global hotkeys would make sense. The tricky part will be making sure they only execute at menus and not while entering text -- Jakob had a lot of different input routines, and this is probably why -- the one that supported global hotkeys was probably never called when entering your Alias for example.
After thinking about it more, I don't think the switch from DDPlus to RMDoor was a good one, so I've just reverted to DDPlus again on a new branch.
The only thing "gained" by the switch was making it work with Mystic on Linux, but the "don't write to the socket" feature I added to RMDoor could have been added to DDPlus just as easily.
So if you'd like to give them a shot, these binaries should restore the lost event/global hotkey functionality. Since they're using DDPlus again, the original command-line parameters will be needed to launch it.
https://github.com/rickparrish/Usurper/tree/ddplus/bin
Thanks Rick! Note, I just see editor.exe for the dos version here: https://github.com/rickparrish/Usurper/tree/ddplus/bin/i386-go32v2
Oops, didn't notice the build failed so it committed as a delete instead of an update -- thanks for pointing that out! There's a binary there now.
EDIT: I just realized the last time DDPlus was used was during the "only win32 and linux builds will be released" period, which is why the GO32V2 version initially failed to compile. So there's a lot of code commented out that says "Telnet can't..." that isn't needed for win32/linux, but may be needed for FOSSIL under GO32V2, so there's a pretty good chance a bit more work will be needed.
Will the new DDPlus command use the /P like stated in the usurper.exe /? With the following command USURPER /Pc:\sf\drx-j the game loads on the BBS but i see nothing on the client side.
That said, i do see NPC's logging in and out again :)
I just noticed the "Edit" from your last post Rick. Perhaps that's why i'm not seeing anything on the client side..
There's new binaries to try out, which I tested on Synchronet and get remote I/O now.
A while back I added code to set the USURP.CTL settings to "smart" defaults, so then the game wouldn't error out if USURP.CTL was missing, but one related to initializing the FOSSIL wasn't such a smart default, so that's why you didn't have any remote I/O before.
And yes, the old /P syntax is the correct one to use now.
Works as intended w/ Spitfire as well!
Looks like all the bugs that @CraigEMP and I have presented have been squished. Any specific areas of .25 that you would like tested just say the word.