Co8 Bugs

Discussion in 'General Modification' started by DarkStorm, Jul 17, 2010.

Remove all ads!
  1. DarkStorm

    DarkStorm Established Member

    Joined:
    Oct 2, 2003
    Messages:
    514
    Likes Received:
    3
    I may have exaggerated a bit ;-)

    Here's my list:
    4703: Has flags "OIF WEAR_WEAPON_PRIMARY OIF WEAR_WEAPON_SECONDARY" (notice the space where the underscore should be)
    4704: Same as above
    4705: Same as above
    14128: Skill list is offset by 1 field to the right
    14266: Natural attacks attack bonus is empty, should be 0
    14300: NPC Flags contain the entry "ON F_WANDERS"
    14473: Hair style is lower-case, I think it's case-sensitive so it should have capitalization:
    black shorthair (m/f) -> Black Shorthair (m/f)
    14523: Object size "clossal" instead of "colossal"
    14618: Has its NPC flags in the critter flags field.
    14630: Skill list is offset by 1 field to the right
    14334: I am not entirely sure that Longhair (m) exists as a hair style. My temple.dll only knows Longhair (m/f)
    14727: Same as above
    14729: Same as above

    In addition, there are heaps of items lying on the ground around Hommlet and inside the inn in Hommlet. Example: [​IMG]

    When i try to open these mob files with the ToEE worldbuilder it says they are corrupted (yet I seem to be able to load them..., maybe i am not checking enough?).
    Are these remnants of NPCs? I don't have those with the original files.

    Regards,
    Storm

    edit - Fixed all - Gaear
     
    Last edited by a moderator: Jul 18, 2010
  2. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    Re: New Release [12.07.2010]

    I will fix all those proto entries for the Co8 mod - thanks. :thumbsup:

    In your picture above, that pile of stuff actually looks like the contents of one of Brother Smyth's chests. It should all be in a chest though.*

    What's in the inn in Hommlet? There shouldn't be much extra junk lying around in there, unless it's the contents of Ostler's wife's chest (food and drink).

    *Actually, looking more closely, it's in the exact location (572,438) where Smyth's chest that needs to be broken into spawns. It shouldn't be there until it spawns though.
     
  3. DarkStorm

    DarkStorm Established Member

    Joined:
    Oct 2, 2003
    Messages:
    514
    Likes Received:
    3
    Re: New Release [12.07.2010]

    Actually there are piles of equipment. It seems like they belonged to a NPC that is gone... (The pile consists of money, shoes, a robe and pieces of armor)

    I also noticed that i have a lot of duplicate items... It may be the way I load the mobiles though. It seems like in ToEE, as soon as the map directory exists in modules/ToEE/Maps, it completely ignores all files for that map from the DATs, is that correct? Right now I seem to load both items from the DATs AND the directory, and for some reason they have different GUIDs.

    Regards,
    Storm
     
  4. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    Re: New Release [12.07.2010]

    Weird. Are you talking about the first floor? I'm looking at it right now (Co8 version) and I don't see anything in there that shouldn't be there.*

    Actually that info (the original DAT .mobs) is not ignored unless you place an identical .mob (same number) in the mod's modules/ToEE/maps/mapname folder. So if we added an identical Elmo, let's say, to our mod in the Hommlet Exterior maps folder, our Elmo would be used in-game, but the old Brother Smyth from the DATs would still be used if we didn't replace him.

    In the case of the latest generation Co8 mods though, we have overwritten everything in every map folder in the game.

    *edit again

    Hm, I think I may know what's going on - some time ago we redid the inventory of many NPCs to match their portraits. So you may have their original stuff from the DATs lying around, although I don't see any of it myself, and it doesn't appear in-game in the Co8 mod.
     
    Last edited: Jul 17, 2010
  5. DarkStorm

    DarkStorm Established Member

    Joined:
    Oct 2, 2003
    Messages:
    514
    Likes Received:
    3
    Re: New Release [12.07.2010]

    I can give you some mobile GUIDs, since my engine displays them. Whenever i try to load them in ToEE worldbuilder (by GUID), it says they're corrupt.

    i.E.: {6ee2da00-59d9-45cc-8940-fade348863cc}
    That's one of the items that's lying on the ground near the smithy.
    I checked and that item is not present in my original ToEE installation, but in Co8, it's there.

    I also step-by-step debugged the loading process in ToEE WorldBuilder (which says the file is corrupt) and it really seems it *is* corrupt. The parent-GUID is truncated. It really seems to me the CO8 distribution contains quite a few corrupt MOB files which just don't show up in ToEE (since they're corrupt...) but are still there.

    Maybe I am just a bit *too* lenient with loading corrupt MOB files in my converter.

    Regards,
    Storm
     
  6. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    Re: New Release [12.07.2010]

    Okay, that stuff is:

    Copper
    Brown leather armor
    Brown leather boots
    Brown leather gloves
    Warhammer
    Silver

    In other words, Brother Smith's personal inventory. However, both Brother Smiths (regular and masterwork) already have their personal inventories, so this must have been stuff that got purged from him at some time or other but was never 'rinsed.' (Objects weren't deleted.) That might account for why they're technically corrupt - they started life as being attached to another object, not just placed on a map independantly. So they are 'orphaned,' in a sense.

    I was able to ID all this stuff by looking at time stamps, which were all old for these items. As near as I can tell, those should be the only junk items on Hommlet Exterior.

    DS, if you happen to spot stuff like this elsewhere, I'd appreciate it you'd let me know. No idea what effect this could be having on things ... who knows, maybe even jerkstop. Thanks. :)
     
  7. DarkStorm

    DarkStorm Established Member

    Joined:
    Oct 2, 2003
    Messages:
    514
    Likes Received:
    3
    Re: New Release [12.07.2010]

    Hm Gaear, these items are *really* corrupt. The file just aprubtly ends in the middle of the parent GUID, even though some properties should still follow. So the parent guid isn't even stored in those MOB files anymore. I guess TOEE silently skips them when loading the map since the file aprubtly ends (It's a wonder it doesn't crash when doing that).

    I'll modify my converter so it spews a warning if an object file ends in the middle of a property and skips that object. So it should be easy to identify which object files are broken. I spotted a couple more in the Hommlet inn, maybe there are more though.

    Regards,
    Storm
     
  8. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    Re: New Release [12.07.2010]

    Thanks. Being as they are corrupt and not used anyway, I just want to get rid of them wherever they may be found. I'll check the inn.
     
  9. DarkStorm

    DarkStorm Established Member

    Joined:
    Oct 2, 2003
    Messages:
    514
    Likes Received:
    3
    A continuation from the engine recreation forum, here's what I think are bugs in Co8:

    The following critter prototypes should have attributes set (even if all 10's), since all original critter prototypes have too:
    14678, 14682, 14687, 14697, 14752, 14759, 14760, 14761, 14762, 14763, 14764, 14765, 14766, 14767 [Medium]

    inventory.mes has a very odd header. Normally comments start with a ; at the beginning of the line, in the Co8 version, the comment lines at the start of the file are wrapped in curly braces. [Minor]

    Corrupted MOB File
    All these files show the same symtomps of abruptly ending in the middle of the parent item guid, and thus being broken beyond repair:
    Code:
    maps/Map-2-Hommlet-Exterior/G_6EE2DA00_59D9_45CC_8940_FADE348863CC.mob
    maps/Map-2-Hommlet-Exterior/G_AB402C37_FF70_402C_9BD6_0D85DDAA1681.mob
    maps/Map-2-Hommlet-Exterior/G_9F5699DF_0D40_46CE_B33C_201183720E47.mob
    maps/Map-2-Hommlet-Exterior/G_06B3CD15_DDB5_4E5D_B583_18855C115373.mob
    maps/Map-2-Hommlet-Exterior/G_9CBCEB9A_3F5B_432B_B890_5200D92E7B15.mob
    maps/Map-2-Hommlet-Exterior/G_DD14B026_DFDF_4CDD_AD5C_B52715DBED22.mob
    maps/Map-3-InnFirst/G_09EC31FA_384F_B4F6_96B8_DF1E9715A655.mob
    maps/Map-3-InnFirst/G_8CC8B436_952C_4455_DC7B_C78C535FF1A8.mob
    maps/Map-3-InnFirst/G_B379A2D5_D6BB_DEC8_A4C3_14A7DCAF65DD.mob
    maps/Map-3-InnFirst/G_ED71A3D9_F9D8_6731_AB3D_2A2790E7A384.mob
    maps/Map-3-InnFirst/G_860FAEBE_DC73_2498_50F5_F6AFDACA5B02.mob
    maps/Map-3-InnFirst/G_36562511_3398_6E27_EA86_FC1599FAB02F.mob
    maps/Map-3-InnFirst/G_BBC547F6_5EEE_468F_B638_400ECD5065DB.mob
    maps/map1-int04-well-kept-farm/G_D8459CBE_F875_4741_8C47_FDC913F3A894.mob
    maps/map1-int05-prosperous-farmhouse/G_E4D96208_E444_A314_183B_CCDD0E7E4E57.mob
    maps/map1-int05-prosperous-farmhouse/G_47963B70_30DC_467B_5397_EF1DC54999E6.mob
    maps/map1-int05-prosperous-farmhouse/G_BCCCFAFF_280B_A7C5_CA69_0B0ACEF04396.mob
    maps/map1-int05-prosperous-farmhouse/G_AF0A41F8_BD38_96E0_4646_E1298A7588D1.mob
    maps/map1-int05-prosperous-farmhouse/G_B455DDEA_38C8_CA27_68F3_6EBF102AD50E.mob
    maps/map1-int05-prosperous-farmhouse/G_B7815E0D_AC7B_737E_A8BC_7F73493BF759.mob
    maps/map1-int05-prosperous-farmhouse/G_CFBD5A9E_0949_0A20_BC07_642207493176.mob
    maps/map1-int05-prosperous-farmhouse/G_CA73BEAC_8DB9_D6D9_995A_D78B8294E539.mob
    maps/map1-int05-prosperous-farmhouse/G_5CB243DA_0CD8_E06E_AFCB_57D8CC7FB7C7.mob
    maps/map1-int05-prosperous-farmhouse/G_C4BAB833_D400_B61C_0DD4_06AE09FE4E93.mob
    maps/map1-int06-leatherworker/G_20E9BDEE_8EE8_3D06_6480_5CF9DE9D14DA.mob
    maps/map1-int06-leatherworker/G_40C77A36_1569_2908_9A63_921E4854EACB.mob
    maps/map1-int06-leatherworker/G_A810DC1C_6655_00AC_CCF0_D1FE209DAB6A.mob
    maps/map1-int06-leatherworker/G_B8A05B08_3DFD_6562_31F3_1C190654533B.mob
    maps/Map12-temple-dungeon-level-1/G_B0FCFEAE_61A9_4A84_AB02_7FC783D7452A.mob
    maps/Map13-dungeon-level-02/G_2174CBC2_F7EB_4B2A_8DDC_339FCFE83E53.mob
    maps/Map-Area-5-Emridy-Meadows/G_BC68891B_1DBC_4AC9_AA33_7B029D6884BD.mob
    maps/map1-int25-herdsman-house/G_499814E4_22A6_BA7D_D62A_41939AD6EEAD.mob
    maps/map1-int25-herdsman-house/G_42AC381F_F792_924B_DB91_7322BE272E0F.mob
    maps/map1-int25-herdsman-house/G_C53B3E68_C14E_DCD7_A5A0_A622E4FBB3D7.mob
    maps/map1-int25-herdsman-house/G_F6979660_B320_55BC_2A69_829874AB5D9C.mob
    maps/map1-int25-herdsman-house/G_1251DF26_05BF_1966_55C7_97AC2E78844B.mob
    maps/map1-int25-herdsman-house/G_C6BC91A8_C5C9_2A1E_8F68_5925DE8BA25A.mob
    maps/map1-int25-herdsman-house/G_444E78F2_A616_8636_B37D_B5FD1520A16F.mob
    
    Regards,
    Storm

    edit - Fixed all - Gaear
     
    Last edited by a moderator: Jul 18, 2010
  10. DarkStorm

    DarkStorm Established Member

    Joined:
    Oct 2, 2003
    Messages:
    514
    Likes Received:
    3
    Python/Dialog errors:

    dlg/00330Assassin_leader.dlg on dialog line 213
    The action is:
    Code:
    game.quests[77].state = qs_botched and game.quests[76].state = qs_completed; npc.attack( pc )
    It should probably read:
    Code:
    game.quests[77].state = qs_botched; game.quests[76].state = qs_completed; npc.attack( pc )
    dlg/00295Clarisse.dlg on dialog line 93
    The guard is:
    Code:
    pc.stat_level_get(stat_level_cleric) !> 0
    It should probably read (not sure what was intended):
    Code:
    pc.stat_level_get(stat_level_cleric) < 0
    dlg/00023terjon.dlg on dialog line 122
    The guard is:
    Code:
    game.story_state >= 2 game.quests[72].state == qs_accepted
    It should probably read (Missing and):
    Code:
    game.story_state >= 2 and game.quests[72].state == qs_accepted
    It should probably read (not sure what was intended):
    Code:
    pc.stat_level_get(stat_level_cleric) < 0
    dlg/00004burne.dlg on dialog line 62
    The guard is:
    Code:
    game.party_alignment == CHAOTIC NEUTRAL or game.party_alignment == LAWFUL_EVIL or game.party_alignment == NEUTRAL_EVIL or game.party_alignment == CHAOTIC_EVIL
    It should probably read (missing underscore in CHAOTIC_NEUTRAL):
    Code:
    game.party_alignment == CHAOTIC_NEUTRAL or game.party_alignment == LAWFUL_EVIL or game.party_alignment == NEUTRAL_EVIL or game.party_alignment == CHAOTIC_EVIL
    There are also some issues with the actual python scripts, but I'll get to that.

    edit - Fixed all - Gaear
     
    Last edited by a moderator: Jul 18, 2010
  11. DarkStorm

    DarkStorm Established Member

    Joined:
    Oct 2, 2003
    Messages:
    514
    Likes Received:
    3
    Okay after updating my parsing method a bit, the only glaring syntax issue I could find in the python scripts is in "scr\Spell802 - Scintillating Sphere.py", last line:
    Code:
    print "Scintillating Sphere OnEndSpellCast"pellCast"
    Superflous quote in that case.

    I also have to add that I probably wont be able to convert all the co8 scripts automatically since they use a lot more Python constructs than the originals. Not to mention several hacks that are just unnecessary with the new engine. I guess supporting baseline ToEE has priority and I'll do a conversion by hand or something like that.

    Regards,
    Storm

    edit - Fixed - Gaear
     
    Last edited by a moderator: Jul 18, 2010
  12. wizgeorge

    wizgeorge Prophet of Wizardy

    Joined:
    Feb 19, 2005
    Messages:
    1,715
    Likes Received:
    2
    I was wondering if the timing on aoo's for CG/Scather can be accessed. I think there needs to be a 20ms interval or so, so it won't lockup. Like the flamebrother fire/weapon attacks. The first aoo goes but the 2nd locks the game. I wonder if the first one completes before the 2nd one triggers? Just curious.
     
  13. Gaear

    Gaear Bastard Maestro Administrator

    Joined:
    Apr 27, 2004
    Messages:
    11,029
    Likes Received:
    42
    I fixed all the items in post 9. Interestingly, the two bad .mobs (a gnoll helmet and some copper or gold, respectively) for the two temple maps were vanilla. Also, I couldn't find the bad .mob for Emridy Meadows, but it's possible that I'd already gotten rid of it since the last release.

    Thanks, DS. :thumbsup:

    p.s. - The inventory.mes thing was wacky. No idea how that might have snuck in. Strange in a way that the file still worked.

    edit

    I also fixed the dialog and scripts errors. In the case of Clarisse, I think the intent was to check for a non-cleric, so I used <= 0.
     
    Last edited: Jul 18, 2010
  14. Salk

    Salk Established Member

    Joined:
    Jan 2, 2006
    Messages:
    258
    Likes Received:
    0
    Great job spotting those bugs here, guys!

    Keep it up!
     
  15. DarkStorm

    DarkStorm Established Member

    Joined:
    Oct 2, 2003
    Messages:
    514
    Likes Received:
    3
    I'll check out the next release then. I also think that having bad MOBs in the vanilla release is just typical for the QA process Troika used ;-)

     
Our Host!