rickparrish / Usurper

32 and 64bit ports of Usurper BBS door game version 0.20e
78 stars 18 forks source link

Testing v0.25 #23

Open rickparrish opened 3 years ago

rickparrish commented 3 years ago

New issue for testing/tracking v0.25

TODO LIST

codefenix-ConChaos commented 3 years ago

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!

xbit44 commented 3 years ago

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.

codefenix-ConChaos commented 3 years ago

I am able to recreate the divorce bug described by @xbit44, although it looks slightly different for me.

image

The event shows up in the news like this:

image

rickparrish commented 3 years ago

Can confirm on the Win64 build as well. Did this bug exist in previous versions?

codefenix-ConChaos commented 3 years ago

Version .20e does indeed allow the option to Divorce without being married. I just tried it on one of my .20e games here:

image

It does not show the corruption as in the current build, just a blank for the divorcee's name.

xbit44 commented 3 years ago

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

codefenix-ConChaos commented 3 years ago

@xbit44 , quick question. Are you testing the game in "classic mode" or "new mode"?

So far all my feedback has been for "classic".

xbit44 commented 3 years ago

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

rickparrish commented 3 years ago

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!

rickparrish commented 3 years ago

Just pushed new binaries with the latest fixes!

codefenix-ConChaos commented 3 years ago

/FMAINT and /HMAINT both working.

Divorce bug fixed. However, I got a funny response, playing as an unmarried male character:

image

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: image

Suggestion: simply change it to "spouse" (just in this instance) so the game doesn't have to guess?

rickparrish commented 3 years ago

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.

xbit44 commented 3 years ago

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?

codefenix-ConChaos commented 3 years ago

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.

xbit44 commented 3 years ago

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

xbit44 commented 3 years ago

image

xbit44 commented 3 years ago

And then a ctrl-w when both are logged into Main street: image

codefenix-ConChaos commented 3 years ago

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?

xbit44 commented 3 years ago

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.

rickparrish commented 3 years ago

"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.

dan1982code commented 3 years ago

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).

rickparrish commented 3 years ago

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.

rickparrish commented 3 years ago

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

xbit44 commented 3 years ago

Thanks Rick! Note, I just see editor.exe for the dos version here: https://github.com/rickparrish/Usurper/tree/ddplus/bin/i386-go32v2

rickparrish commented 3 years ago

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.

xbit44 commented 3 years ago

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 :)

image

xbit44 commented 3 years ago

I just noticed the "Edit" from your last post Rick. Perhaps that's why i'm not seeing anything on the client side..

rickparrish commented 3 years ago

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.

xbit44 commented 3 years ago

Works as intended w/ Spitfire as well!

image

xbit44 commented 3 years ago

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.

xbit44 commented 3 years ago

Just something for the suggestion box: Perhaps with a new version (.25) it may be time to clean up the main menu? The following example shortens some command text, reorders a few of the commands (puts suicide and quit at the bottom) and this in turn gives additional room on the 3rd column for more commands going down if ever needed. And as an added bonus it help my OCD from triggering ;)

image

xbit44 commented 3 years ago

Small display bug when logging in after going to sleep at [H]ome. When logging in you will see "street talk". After exiting this option the game will then show People Online and display where you logged off at. If you log off in the Dormitory it will pause letting you see who is logged on but if you log off at Home will zoom past this display taking you to the main Home menu. I don't see this happening in my .19 PT6 version.

Also on the pre-main login menu the Forum is off line: http://www.usurper.dangarden.com.

codefenix-ConChaos commented 3 years ago

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.

I'm running the DOS/go32v2 build on Sync and it's running great. I didn't bother with a USURP.CTL file, so the defaults seem to be working just fine.

This is the most definitive version of Usurper that's existed in years. I cannot overstate how great it is to see so much stuff get fixed.

Next I'm going to form a small test team in-game and make sure all the team functions work as expected. Also going to advance as many levels as possible and ensure that the player rankings are still fixed.

Perhaps with a new version (.25) it may be time to clean up the main menu?

Seconding this. The options to bail out should at least be at the bottom of the menu, since eyes tend to look there for those options.

dan1982code commented 3 years ago

Cannot thank Rick enough for pushing us to this point.

One major work I did was with regard to using spells in player fights and the dungeons. I'd be curious to know whether those work OK, or if they work differently than in Jakob versions. I recall that some of them did not work before, or caused the game to terminate with an error.

xbit44 commented 3 years ago

100% Agree!! Thank you so much Rick for keeping one of the (if not the) best door games in history alive!

xbit44 commented 3 years ago

I'd be curious to know whether You got it @dan1982code, will test out spells ASAP. And thank you as well for all the work you've done. My apologies for omitting :)

rickparrish commented 3 years ago

Thanks for testing guys! The main area to test with this latest change was with Mystic on Linux, to see if the old bug/behaviour that prompted the switch to RMDoor still exists, and it does so I've added the "no comm output" option to DDPlus and now I think all is good.

Perhaps with a new version (.25) it may be time to clean up the main menu?

Looks good to me, thanks for doing that! I reorganized the Status -> More screen the other day because a couple things didn't line up, but I'm still not 100% happy with it, so if you have any suggestions for that screen I'd be happy to make changes there too!

if you log off at Home will zoom past this display taking you to the main Home menu

I've added a pause after displaying Online Players when logging in, so no matter where you wake up the Online Players screen will stay visible (which unfortunately means there's now two pauses for screens that already had a wake-up pause like Dormitory, but I think that's the lesser of two evils)

Cannot thank Rick enough for pushing us to this point.

The part I've done has been pretty simple...comment out some 16bit-specific code and add a 32/64-bit equivalent, and change some variable types to keep the data files binary compatible across platforms. You've fixed some serious bugs, and greatly improved performance in a lot of places, so thank you!

And thank you @CraigEMP and @xbit44 for being so quick to test and provide feedback!

rickparrish commented 3 years ago

I added a space between the CTRL and non-CTRL options since the texts don't line up. But the more I think about it, the more I think Send stuff should be something like CTRL+S since it's another "online" option like the other two, so could also be global.

But then that leaves Healing Hut kind of orphaned off to the right there. Maybe it should be incorporated into one of the first two columns, and then Quit could bump down and be on a line of its own at the bottom.

Here's how it looks right now: image

P.S. Gwibbli is kind of a jerk :)

xbit44 commented 3 years ago

Looks amazing. And yes, some of the NPC's are jerks ;P

xbit44 commented 3 years ago

how about this? image

xbit44 commented 3 years ago

Some updated ideas/options for Main Street:

image

image

rickparrish commented 3 years ago

Thanks, I like the updated Status screen. Here's a screenshot, which also includes the optional line for Alchemists (it doesn't appear for non-Alchemists): image

And then this is what I put in place for the new main menu before you sent the latest screenshots: image

I left Healing Hut as (2) since people may be used to that hotkey, although it might be a good idea to change it to say (1) on the screen, but still accept both (1) and (2).

xbit44 commented 3 years ago

Looks really good. and i dig the [global commands], great call.

xbit44 commented 3 years ago

@dan1982code so far so good w/ a low level cleric. Will continue testing with him and build some other casters as well.

image

rickparrish commented 3 years ago

I just pushed updated binaries. The main change was for Mystic on Linux, but there's also a change that allows the main street to be customized by creating TEXT\MAINMENU.ANS (and .ASC). The default files are here: https://github.com/rickparrish/Usurper/tree/master/RELEASE/TEXT

I hope to make more of the screens configurable, which could then make it easier for them to be updated / improved.

dan1982code commented 3 years ago

Love this idea!

IIRC Valhalla (main street name) was editable in editor.exe? Could be wrong...

xbit44 commented 3 years ago

Yessss.. ANSI artists will have a blast with this :) And yes, you can change the "town" name with:

option 9...Town...................................Valhalla

xbit44 commented 3 years ago

on the Status page you don't have a [Q]uit or to exit option. if you press Q you're taken back to main street but you wont know it until you press ?

xbit44 commented 3 years ago

Just nitpicking as you requested with screens . None of this is game breaking of course.
Status > team will be a tough one to clean up because who knows how long names can be in game.. but for example:

image

codefenix-ConChaos commented 3 years ago

on the Status page you don't have a [Q]uit or to exit option. if you press Q you're taken back to main street but you wont know it until you press ?

I just noticed this as well.