Nightmare Redux: Update for 1.11p-WG Almost Complete (?'s)

Discussion on running your own board and editing MajorMUD.
Post Reply
User avatar
rytz
Posts: 91
Joined: Tue Sep 17, 2013 12:53 pm
Location: USA
Contact:

Nightmare Redux: Update for 1.11p-WG Almost Complete (?'s)

Post by rytz »

I'm almost finished with my update to Nightmare Redux for compatibility with 1.11p-WG (non-NT). I have all databases working correctly, save for these caveats:


WCCUSERS.DAT
Because of the nature of this database, it's pointless to attempt any value comparisons with other 1.11p-NT databases to match up the fields. I have all of the major fields mapped, but I am uncertain about these fields:
> bEDITED: What is this field for? how do I flag it from directly within the game so I can diff the DB?

> CharLife: I was able to find the location in the DB that changes the CharLife minutes, but the byte layout can be diferent for new users and older users. Manual changes always work, but its kinda qwerky and hard to explain. I took some hefty notes on it. Any extra insight on this field?

> Ability/AbilityModifier: How are these fields set so that I can confirm their position? Are these set as a result of spells or items or... ? Thanks. Kinda clueless on these.


WCCUPDAT.DAT / DBStat
Any initial help with these? To be fair, I haven't spent too much time on them yet. Just looking for any preliminary guidance. I tried running a full compile, but it errors on TextBlocks (WCCMSG makes it through). Is there an easy way to determine the field positions? I can get the record length and page sizes from the BUTIL program, but that's it.

I have the WCCUPDAT.DAT that came with 1.11p-WG.


Extra Question
I noticed that the short spell names field is listed as a length of 5. Is this intended? Does the system allow 5 char spell names? I've only ever seen them as 4. The 5th seems to always be null.


Thanks. I'll submit everything once I ensure that all the DB functionalities are working.


User avatar
syntax
Site Admin
Posts: 517
Joined: Tue Jun 02, 2009 10:02 am

Re: Nightmare Redux: Update for 1.11p-WG Almost Complete (?'s)

Post by syntax »

I'm not at the computer I normally use for dabbling, so I'm going by fading memory and what I can refresh from the NMR source...

bEDITED is what gets flagged when you use sysop commands to edit a character.
I don't think charlife was ever figured out
ability/ability mod are a characters abilities. gained through quests, etc.

All of these are mention in the user form in NMR: https://github.com/syntax53/Nightmare-R ... rmUser.frm

You'll notice the charlife is in a commented section. It was putting the value into a textbox (hidden in distro) to monitor the value for some sensibility.

As for the update file, the update file is essentially just all of the database put together in one file. The specs for creating the file are here:
https://github.com/syntax53/Nightmare-R ... e.bas#L640

And then if you look around here, you'll see the order they are inserted:
https://github.com/syntax53/Nightmare-R ... le.bas#L72

And then if you look at any of the "InsertXXX" sub routines, you'll see they basically just retrieve the first record of that database, fill the buffer with the data, insert it into the update file. Cycle through all records repeating:
https://github.com/syntax53/Nightmare-R ... e.bas#L139


User avatar
rytz
Posts: 91
Joined: Tue Sep 17, 2013 12:53 pm
Location: USA
Contact:

Re: Nightmare Redux: Update for 1.11p-WG Almost Complete (?'s)

Post by rytz »

Thanks for the response and info syntax.

I've been doing some testing with WG-based update files (full-compiles) and not having much luck getting MajorMUD to recognize my WCCUPDAT.DAT correctly. The DAT file isn't reported as having errors in the audit trail (I've seen that message before but not on these), but when I try to do an update through the sysop menu (U-option), it says "file not found or invalid", which would be invalid in this case. Although, when I try to do a sysop menu update with a stock WCCUPDAT.DAT, it says the same thing. Weird.

How long does a full-sized update DAT take to show "Update Complete" on the audit trail? Do I actually need to manually request the update through the MUD sysop menu or just let mud auto-update without the request?

Comparing/hex-diffing the stock WCCUPDAT.DAT with a full-compile update from 1.11p-WG databases shows some interesting differences. The update files are the same up through messages and textblocks. There appears to be garbage data being added right after the first race (Human) where zeros should be.

I debugged the "InsertRace" code in modUpdateFile and checked the values inside "Updatebuf.Data" which all appear to be zero after the 126 chars of data for the race (as it should be). However, when the data gets inserted into the database, there appears to be garbage data from BTRCALL(BINSERT).

See screenshots (filenames are from 1.11p testing):


[ORIGINAL UPDATE]
wccupdat2_original.jpg
[COMPILED UPDATE]
wccupdat2_compiled.jpg

I thought that maybe it was something specific to my WG code, so I created a full-compile version of 1.11p from stock databases. I did a comparison of that with the stock WCCUPDA2.DAT and noticed the same thing.

I did try adding a single new action to the update file. I didn't get any errors but no new action in mud. I did a cleanup on the board and a recovery with the new WCCUPDAT.DAT in place. No change. I was under the assumption that action updates would propagate from WCCUPDAT.DAT to WCCACTS.DAT . Direct edits are working for all databases but I want to make sure the update file compiling is working.

I should also note that 1.11p-WG "blank update" files report success when I do an update from the sysop menu (U).

Thanks. Any insight appreciated.


User avatar
rytz
Posts: 91
Joined: Tue Sep 17, 2013 12:53 pm
Location: USA
Contact:

Re: Nightmare Redux: Update for 1.11p-WG Almost Complete (?'s)

Post by rytz »

Alright, so a quick update. My 1.11p-WG compiled update with a new action actually pushed through successfully. I let the board run for a while and it eventually popped up with the audit notification. I need to test out other edits, but this is good news.

I'm still curious about that weird data in the update file, though. syntax - any insight on that or anyone else?

Also, if the update went through successfully, why did the sysop menu update (U) give me an "file not found or invalid" error?


User avatar
rytz
Posts: 91
Joined: Tue Sep 17, 2013 12:53 pm
Location: USA
Contact:

Re: Nightmare Redux: Update for 1.11p-WG Almost Complete (?'s)

Post by rytz »

Good news - I have a new version of NMR submitted for a pull with full support for v1.11p-WG and working CharLife.

CharLife is only working in the code for v1.11p-WG since I don't have an NT board to test against. Should be really simple to find the byte locations and update the field-map code, though.

I put some notes in the NMR docs folder about the CharLife locations and calculations.

https://github.com/ChristopherB2K/Nightmare-Redux


User avatar
BearFather
Posts: 652
Joined: Sun Feb 09, 2014 6:27 pm
Location: Portland, OR
Contact:

Re: Nightmare Redux: Update for 1.11p-WG Almost Complete (?'s)

Post by BearFather »

I want to clarify, you are working on edits for dos version of WG? Cause the NT version is for WG also. Or am I mistaken in my comment.


User avatar
rytz
Posts: 91
Joined: Tue Sep 17, 2013 12:53 pm
Location: USA
Contact:

Re: Nightmare Redux: Update for 1.11p-WG Almost Complete (?'s)

Post by rytz »

BearFather wrote: Mon Apr 23, 2018 12:52 pm I want to clarify, you are working on edits for dos version of WG? Cause the NT version is for WG also. Or am I mistaken in my comment.
Yes - I went by the MajorMUD file syntax for the different versions. When I say WG, I mean Worldgroup for DOS. The field mappings for v1.11p-WG may work for MajorBBS as well, but I have never been able to find 1.11p for MBBS.


Bloodrock
Posts: 301
Joined: Mon Jul 16, 2012 9:02 pm

Re: Nightmare Redux: Update for 1.11p-WG Almost Complete (?'s)

Post by Bloodrock »

there was no 1.11p ever made for majorbbs 6.25 i believe last ver for it was like 1.11e


Post Reply