Post by sneazy on Feb 6, 2019 12:39:38 GMT -5
Another thread mentioned that the codedump is missing code. I got it up and running fairly easily. What it
is missing is mostly data, not code. (you know where to find z dumpsies, wink wink)
Thought I'd give a quick rundown of what is/is not missing.
The data is a copy of the world from around 2000(?), just call it OldData.
The code and OldData work together as you would expect. Fire it up and you get mobs killing each other. Shops and c-coded specials work if you change some hardcoded values. OLC works - can create objects, rooms, and npcs with it. You can pick fruits and other items, Kzul is there for example. In fact, the world is remarkably unchanged except for the cities and the area south of Tuluk that connects to the red desert (it's missing - added with the copper wars?). Also, the world is before the halfling flood and volcano events.
codydumps has both old and new methods: boot_races() and old_boot_races(). Old methods pulled from a file, new methods pull
from db tables. There are no db tables included with OldData so it is either missing completely or you have to pull from a file instead.
Pulling data from files only had one format problem and that was the object files - they are missing a new flag (everything will show up as bloody and no material if you don't fix the file - updated with a script).
There is no data for code added after about 2000.
Completely missing:
Crafting recipes - they reside in a xml file.
Foraging - from a db table.
Javascripts are not included (dmpl wasn't included either - things like the bucket/well in Luirs are scripts)
Subguilds are missing.
Web interface (don't care) and possibly some utility programs (send out the emails, etc.)
Help is in tables now but OldData does have some help files also some are hardcoded
Newer skinning types are not there: where you craft into smaller items (gortok head to skull). Don't have the objects or the recipes.
I added some dummy data (one recipe, a few foraging items, one subguild) and the code works. Just need to recreate the data.
The most difficult part was javascript. The codedump is expecting an old version of Spidermonkey without patches applied. No big, got that working and then brought it forward to the version with the patches. It's still a very old version 18.5 but the version is still available on cygwin. Cygwin doesn't have the latest version of spidermonkey or else I'd bring it up to date (that would be fun). It's not necessary since no javascripts are included.
The easiest way to run this is to remove all the CPP and just compile/run the C code (stub out any CPP functions in a C file).
race_data: the OldData file goes up to race = escru (number 110 - see guilds.h)
codedump has hardcoded races up to 138 (in guilds.h)
Some that are missing: race war_beetle, rantarri, sunlon, etc. BUT that doesn't mean they are not in the OldData, just they aren't separate races. War beetles are in the OldData but are not race war_beetle (too lazy to look it up, probably race big_insect).
Races from OldData fit the guilds.h version of "struct race_data" just fine. Values might have changed over the years though.
Example:
human strength strdice = 3 strsize=4 strplus=7
off base = 0 def base = 0 natural armor = 0
damdice = 1 damsize = 3 damplus = 1
race_type=1 max age = 68 attack type = 300
racial skin data (default skin objects and messages - up to 5 items)
FROM OLDDATA FILE:
subguilds have mods to str/agi/etc. This is completely missing.
Guild data is missing the templars and noble guilds. The rest of the guilds load fine.
Example: part of sorcerer guild
strength mod -2, agi mod 0, wis mod +2, end mod -2
off_kpc 10, def_kpc 20 off_bonus 0 def_bonus 0
FROM OLDDATA FILE:
The C-specials that reside in specials.c will work but many have hardcoded vnums that are not current.
Example: OldData is missing mounts with vnum 59143 and 58276. Remove those and the code runs.
Can logon, buy a mount, ride it around, store it.
MOUNT SELLER - Luirs looks like Becklees merchant in special.c
01) a glossy, black-scaled inix for 800 coins.
02) a grey-scaled, silver-shelled inix for 800 coins. 59143 *
03) a yellow sunback lizard for 575 coins.
04) an inix for 600 coins.
05) an erdlu for 300 coins.
06) a wooly brown plains-ox for 500 coins.
07) a desert-scaled sunlon for 400 coins. 58276 *
If you do not remove/create npc vnums for the hardcoded values, it does not exit gracefully.
-------------------------------------------------------------------------
Above seems a bit rambling about the many problems with codydumps but it runs fine as
an old version of arm. Fire it up in Cygwin, go back to windows and Mushclient into the game: can login as imm, do imm things, or login with a pc or two and explore the world.
The only combat related code that might be missing (that I can imagine) are scripts attached to weapons/armor/rooms.
is missing is mostly data, not code. (you know where to find z dumpsies, wink wink)
Thought I'd give a quick rundown of what is/is not missing.
The data is a copy of the world from around 2000(?), just call it OldData.
The code and OldData work together as you would expect. Fire it up and you get mobs killing each other. Shops and c-coded specials work if you change some hardcoded values. OLC works - can create objects, rooms, and npcs with it. You can pick fruits and other items, Kzul is there for example. In fact, the world is remarkably unchanged except for the cities and the area south of Tuluk that connects to the red desert (it's missing - added with the copper wars?). Also, the world is before the halfling flood and volcano events.
codydumps has both old and new methods: boot_races() and old_boot_races(). Old methods pulled from a file, new methods pull
from db tables. There are no db tables included with OldData so it is either missing completely or you have to pull from a file instead.
Pulling data from files only had one format problem and that was the object files - they are missing a new flag (everything will show up as bloody and no material if you don't fix the file - updated with a script).
There is no data for code added after about 2000.
Completely missing:
Crafting recipes - they reside in a xml file.
Foraging - from a db table.
Javascripts are not included (dmpl wasn't included either - things like the bucket/well in Luirs are scripts)
Subguilds are missing.
Web interface (don't care) and possibly some utility programs (send out the emails, etc.)
Help is in tables now but OldData does have some help files also some are hardcoded
Newer skinning types are not there: where you craft into smaller items (gortok head to skull). Don't have the objects or the recipes.
I added some dummy data (one recipe, a few foraging items, one subguild) and the code works. Just need to recreate the data.
The most difficult part was javascript. The codedump is expecting an old version of Spidermonkey without patches applied. No big, got that working and then brought it forward to the version with the patches. It's still a very old version 18.5 but the version is still available on cygwin. Cygwin doesn't have the latest version of spidermonkey or else I'd bring it up to date (that would be fun). It's not necessary since no javascripts are included.
The easiest way to run this is to remove all the CPP and just compile/run the C code (stub out any CPP functions in a C file).
race_data: the OldData file goes up to race = escru (number 110 - see guilds.h)
codedump has hardcoded races up to 138 (in guilds.h)
Some that are missing: race war_beetle, rantarri, sunlon, etc. BUT that doesn't mean they are not in the OldData, just they aren't separate races. War beetles are in the OldData but are not race war_beetle (too lazy to look it up, probably race big_insect).
Races from OldData fit the guilds.h version of "struct race_data" just fine. Values might have changed over the years though.
Example:
human strength strdice = 3 strsize=4 strplus=7
off base = 0 def base = 0 natural armor = 0
damdice = 1 damsize = 3 damplus = 1
race_type=1 max age = 68 attack type = 300
racial skin data (default skin objects and messages - up to 5 items)
FROM OLDDATA FILE:
Human~
Hum~
STRENGTH: 3d4+7 AGILITY: 3d4+7 WISDOM: 4d4+4 ENDURANCE: 3d4+7
0 0 0
1d3+1
1 68 300
-1 -1 -1 -1 -1
Elf~
Clf~
STRENGTH: 3d4+3 AGILITY: 3d6+8 WISDOM: 4d7+5 ENDURANCE: 2d4+8
0 5 0
1d2+1
1 92 300
-1 -1 -1 -1 -1
Dwarf~
Dwa~
STRENGTH: 3d4+9 AGILITY: 3d4+6 WISDOM: 3d4+6 ENDURANCE: 2d4+13
10 -5 10
2d2+0
1 100 300
-1 -1 -1 -1 -1
subguilds have mods to str/agi/etc. This is completely missing.
Guild data is missing the templars and noble guilds. The rest of the guilds load fine.
Example: part of sorcerer guild
strength mod -2, agi mod 0, wis mod +2, end mod -2
off_kpc 10, def_kpc 20 off_bonus 0 def_bonus 0
FROM OLDDATA FILE:
Sorcerer~
Sor~
-2 0 2 -2
10 20 0 0
1
The C-specials that reside in specials.c will work but many have hardcoded vnums that are not current.
Example: OldData is missing mounts with vnum 59143 and 58276. Remove those and the code runs.
Can logon, buy a mount, ride it around, store it.
MOUNT SELLER - Luirs looks like Becklees merchant in special.c
01) a glossy, black-scaled inix for 800 coins.
02) a grey-scaled, silver-shelled inix for 800 coins. 59143 *
03) a yellow sunback lizard for 575 coins.
04) an inix for 600 coins.
05) an erdlu for 300 coins.
06) a wooly brown plains-ox for 500 coins.
07) a desert-scaled sunlon for 400 coins. 58276 *
If you do not remove/create npc vnums for the hardcoded values, it does not exit gracefully.
-------------------------------------------------------------------------
Above seems a bit rambling about the many problems with codydumps but it runs fine as
an old version of arm. Fire it up in Cygwin, go back to windows and Mushclient into the game: can login as imm, do imm things, or login with a pc or two and explore the world.
The only combat related code that might be missing (that I can imagine) are scripts attached to weapons/armor/rooms.