devSin Posted November 20, 2006 Share Posted November 20, 2006 I put up my slightly customized build of Near Infinity 1.33b19 if anyone's interested. It would be on SourceForge, but Fred disappeared. It should work, but this is a fresh build after scaling back a lot of changes, and it's not been tested; the usual disclaimers apply. You can post somewhere on these forums if you have any issues; I don't promise any changes, however. Send a friendly request to the bigg or the digg or the igg if you want somebody to maintain it. Near Infinity 1.33b19 Source code Make sure to read the license if you want to redistribute or modify the code. Link to comment
devSin Posted November 20, 2006 Share Posted November 20, 2006 I'm bored, so random buglet: Madeen's boyfriend in AR0713 uses the EXTRAX script, but they forgot to override it in the actor header (as they do with all the other indoor extras), so he stands around giving Madeen the eye for a couple seconds then walks out the door forever the first time you enter at night. Bug? Abazigal's away spell (or was it his shockwave? or Drakonis' buffet) was copied from the normal wing buffet, but they forget to change the target of the damage effect to 8, so when it gets cast, he damages himself. Bug? The spectator's fake death ray geas thingy spell is supposed to play a sound, but the sound is preset target; the spell gets cast at a point, however, and the play sound effect doesn't work with a ground target, so the sound never plays. It should be target self to work. Bug? In the fake flesh to stone used by Irenicus against the first thief in the promenade cutscene, the visual effect has some sort of extraneous save or resistance, so the SPFLESHS doesn't always play. I used to think that it was just the engine getting overworked and dropping the visual effect, but it wasn't. Bug? One of the LeaveArea() calls is being executed by the ppguy instead of assigned to Player1, so he goes to Saradush with you. Bug? Link to comment
CamDawg Posted November 20, 2006 Author Share Posted November 20, 2006 The Halberd +2 from the statue (gorsta09) in the top floor of Watcher's Keep is flagged as stolen. I put up my slightly customized build of Near Infinity 1.33b19 if anyone's interested. It would be on SourceForge, but Fred disappeared. It should work, but this is a fresh build after scaling back a lot of changes, and it's not been tested; the usual disclaimers apply. You can post somewhere on these forums if you have any issues; I don't promise any changes, however. Send a friendly request to the bigg or the digg or the igg if you want somebody to maintain it. Kick ass. I'm bored, so random buglet: Madeen's boyfriend in AR0713 uses the EXTRAX script, but they forgot to override it in the actor header (as they do with all the other indoor extras), so he stands around giving Madeen the eye for a couple seconds then walks out the door forever the first time you enter at night. Bug? Yep. Abazigal's away spell (or was it his shockwave? or Drakonis' buffet) was copied from the normal wing buffet, but they forget to change the target of the damage effect to 8, so when it gets cast, he damages himself. Bug? Yes, his one-time transform into his blue dragon self has this issue. Definitely a bug. The spectator's fake death ray geas thingy spell is supposed to play a sound, but the sound is preset target; the spell gets cast at a point, however, and the play sound effect doesn't work with a ground target, so the sound never plays. It should be target self to work. Bug? Yep. In the fake flesh to stone used by Irenicus against the first thief in the promenade cutscene, the visual effect has some sort of extraneous save or resistance, so the SPFLESHS doesn't always play. I used to think that it was just the engine getting overworked and dropping the visual effect, but it wasn't. Bug? Yep. One of the LeaveArea() calls is being executed by the ppguy instead of assigned to Player1, so he goes to Saradush with you. Bug? He's invisible and all of the calls are followed with a DestroySelf(), so this appears to be harmless. // removes stolen flag from halb07 COPY_EXISTING ~gorsta09.cre~ ~override~ READ_LONG 0x2bc "itm_off" ELSE 0 READ_LONG 0x2c0 "itm_num" ELSE 0 FOR (index = 0; index < itm_num; index = index + 1) BEGIN READ_ASCII ("%itm_off%" + (0x14 * "%index%")) "item" PATCH_IF ("%item%" STRING_COMPARE_CASE "halb07" = 0) BEGIN READ_BYTE ("%itm_off%" + 0x10 + (0x14 * "%index%")) "flags" WRITE_BYTE ("%itm_off%" + 0x10 + (0x14 * "%index%")) ("%flags%" BAND 0b11111011) // removes stolen flag END END BUT_ONLY_IF_IT_CHANGES // indoor actor has outdoor script COPY_EXISTING ~ar0500.are~ ~override~ READ_LONG 0x54 "actor_off" READ_SHORT 0x58 "actor_num" FOR (index = 0; index < actor_num; index = index + 1) BEGIN READ_ASCII ("%actor_off%" + 0x80 + ("%index%" * 0x110)) "cre_file" PATCH_IF ("%cre_file%" STRING_COMPARE_CASE "mtown3" = 0) BEGIN WRITE_ASCII ("%actor_off%" + 0x50 + ("%index%" * 0x110)) ~runenemy~ #8 END END BUT_ONLY_IF_IT_CHANGES // abazigal hurts himself when revelaing his dragon form due to bad targeting COPY_EXISTING ~abzaway.spl~ ~override~ READ_LONG 0x64 "abil_off" ELSE 0 READ_SHORT 0x68 "abil_num" ELSE 0 READ_LONG 0x6a "fx_off" ELSE 0 FOR (index = 0; index < abil_num; index = index + 1) BEGIN READ_SHORT ("%abil_off%" + 0x1e + (0x28 * "%index%")) "abil_fx_num" READ_SHORT ("%abil_off%" + 0x20 + (0x28 * "%index%")) "abil_fx_idx" FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN READ_SHORT ("%fx_off%" + (("%abil_fx_idx%" + "%index2%") * 0x30)) "opcode" PATCH_IF ("%opcode%" = 12) BEGIN // damage WRITE_BYTE ("%fx_off%" + 0x02 + (("%abil_fx_idx%" + "%index2%") * 0x30)) 8 // target: everyone except self END END END BUT_ONLY_IF_IT_CHANGES // tob spectator's geas missing sound COPY_EXISTING ~senbehkd.spl~ ~override~ READ_LONG 0x64 "abil_off" ELSE 0 READ_SHORT 0x68 "abil_num" ELSE 0 READ_LONG 0x6a "fx_off" ELSE 0 FOR (index = 0; index < abil_num; index = index + 1) BEGIN READ_SHORT ("%abil_off%" + 0x1e + (0x28 * "%index%")) "abil_fx_num" READ_SHORT ("%abil_off%" + 0x20 + (0x28 * "%index%")) "abil_fx_idx" FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN READ_SHORT ("%fx_off%" + (("%abil_fx_idx%" + "%index2%") * 0x30)) "opcode" PATCH_IF ("%opcode%" = 174) BEGIN // play sound WRITE_BYTE ("%fx_off%" + 0x02 + (("%abil_fx_idx%" + "%index2%") * 0x30)) 1 // target: self END END END BUT_ONLY_IF_IT_CHANGES // cutscene petrification visual effect allows save COPY_EXISTING ~spin950.spl~ ~override~ READ_LONG 0x64 "abil_off" ELSE 0 READ_SHORT 0x68 "abil_num" ELSE 0 READ_LONG 0x6a "fx_off" ELSE 0 FOR (index = 0; index < abil_num; index = index + 1) BEGIN READ_SHORT ("%abil_off%" + 0x1e + (0x28 * "%index%")) "abil_fx_num" READ_SHORT ("%abil_off%" + 0x20 + (0x28 * "%index%")) "abil_fx_idx" FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN READ_SHORT ("%fx_off%" + (("%abil_fx_idx%" + "%index2%") * 0x30)) "opcode" PATCH_IF ("%opcode%" = 215) BEGIN // play 3d effect WRITE_LONG ("%fx_off%" + 0x24 + (("%abil_fx_idx%" + "%index2%") * 0x30)) 0 // no save END END END BUT_ONLY_IF_IT_CHANGES Link to comment
devSin Posted November 20, 2006 Share Posted November 20, 2006 I saw a couple times an issue where the ppdoor cutscene effects would run in AR5000 after Melissan's drivel; it could have been because ppguy was there, but I didn't do any major investigatorio. The LuaPanic() really is supposed to ActionOverride(Player1), though, so I just changed it on faith. We may want to consider Madeen; this was originally the third tavern, but I guess they ran out of time or something. We may not want a persistent peasant, but there's not really any reason for Madeen to be there either, I guess. I'm not sure if people just expect the peasant to leave at this point or wouldn't mind having a patron standing around the whole night. Let me know if the NI doesn't start or has some other horrendous issue. Link to comment
CamDawg Posted November 20, 2006 Author Share Posted November 20, 2006 In the Fear hell trial, the fear spell has one effect (the sound that plays when it runs out) that doesn't bypass MR, causing spurious magic resistance messages. // fear spell in fear hell trial can generate spurious MR messages and not play sound at end of spell duration COPY_EXISTING ~spin772.spl~ ~override~ READ_LONG 0x64 "abil_off" ELSE 0 READ_SHORT 0x68 "abil_num" ELSE 0 READ_LONG 0x6a "fx_off" ELSE 0 FOR (index = 0; index < abil_num; index = index + 1) BEGIN READ_SHORT ("%abil_off%" + 0x1e + (0x28 * "%index%")) "abil_fx_num" READ_SHORT ("%abil_off%" + 0x20 + (0x28 * "%index%")) "abil_fx_idx" FOR (index2 = 0; index2 < abil_fx_num; index2 = index2 + 1) BEGIN READ_SHORT ("%fx_off%" + (("%abil_fx_idx%" + "%index2%") * 0x30)) "opcode" PATCH_IF ("%opcode%" = 174) BEGIN // damage WRITE_BYTE ("%fx_off%" + 0x0d + (("%abil_fx_idx%" + "%index2%") * 0x30)) 0 // no dispel/bypass mr END END END BUT_ONLY_IF_IT_CHANGES Link to comment
Roana Posted November 21, 2006 Share Posted November 21, 2006 For the Wand of Wonder, however, I do believe that giving the user 50 charges was intended. Any particular reason? For ar3001, day song and night song: mx0404.mus Mx0404 6 SPC1 A SPC1 SPC1 SPC1 SPC1 All other references are bd3.mus, which it looks like we nabbed code from japheth to try and fix this already: COPY_EXISTING ~music/bd3.mus~ ~music~ REPLACE_TEXTUALLY ~G2 +A2 +@TAG +ZG2~ ~G2 BD3 A2 @TAG ZG2~ BUT_ONLY_IF_IT_CHANGES Before & after for bd3.mus follow: BD3 14 A1 @TAG Z A2 @TAG Z B1 @TAG Z B2 @TAG Z C1 @TAG Z C2 @TAG Z C3A @TAG Z C3B @TAG Z D1 @TAG Z E1 @TAG Z F1A @TAG Z F2 @TAG Z G1 @TAG Z G2 A2 @TAG ZG2 # A2 is loop BD3 14 A1 @TAG Z A2 @TAG Z B1 @TAG Z B2 @TAG Z C1 @TAG Z C2 @TAG Z C3A @TAG Z C3B @TAG Z D1 @TAG Z E1 @TAG Z F1A @TAG Z F2 @TAG Z G1 @TAG Z G2 BD3 A2 @TAG ZG2 # A2 is loop Hello , there is no music-piece called ZG2 in the referenced folder. Change the last line to: G2 A2 @TAG Z or G2 BD3 A2 @TAG Z and it will loop correct . Regards Roana Link to comment
devSin Posted November 21, 2006 Share Posted November 21, 2006 We already copy BD2ZG2 to BD3ZG2 (or we should). They just stuck it in with the wrong tracks. Regardless, the end tag doesn't affect looping. The music would just abruptly cease if that track was playing when the engine decided combat was over. Link to comment
CamDawg Posted November 21, 2006 Author Share Posted November 21, 2006 We already copy BD2ZG2 to BD3ZG2 (or we should). They just stuck it in with the wrong tracks. Shoot, I don't think we are. Regardless, I do think it was a wonky combat counter as this has been the oly place I've experienced this. I was doing a lot of hiding, backstabbing, and running. The Saradush militia HQ uses the same map (sans staircase) as the Crooked Crane, including the secret door. In the case of the militia HQ, though, it's not a secret door--it's opened during the scene that plays upon initial entry. However it's still flagged as secret, so even if the captain leaves the door open and invites you to speak with Mateo, the "I've found a secret door" sound will still play if one of the party members successfully detects it. // non-secret door shouldn't be flagged as secret COPY_EXISTING ~ar5015.are~ ~override~ READ_LONG 0xa4 "door_num" READ_LONG 0xa8 "door_off" FOR (index = 0; index < door_num; index = index + 1) BEGIN READ_ASCII ("%door_off%" + 0x9c + ("%index%" * 0xc8)) "trans_name" PATCH_IF ("%trans_name%" STRING_COMPARE_CASE "tran5016" = 0) BEGIN READ_BYTE ("%door_off%" + 0x28 + ("%index%" * 0xc8)) "secret" WRITE_BYTE ("%door_off%" + 0x28 + ("%index%" * 0xc8)) ("%secret%" BAND 0b01111111) // removes secret flag END END BUT_ONLY_IF_IT_CHANGES Link to comment
CamDawg Posted November 21, 2006 Author Share Posted November 21, 2006 Ooh, one I had forgotten earlier. The pirate captain (Cap'n Bob, IIRC) in Brynnlaw's Vulgar Monkey is using a beggar avatar. Link to comment
devSin Posted November 21, 2006 Share Posted November 21, 2006 Shoot, I don't think we are. Regardless, I do think it was a wonky combat counter as this has been the oly place I've experienced this. I was doing a lot of hiding, backstabbing, and running.What?! Surely I posted my music fixes forever and a year ago, and this was definitely one of the changes. I wonder how much we really don't cover already... The sticky combat counter in AR3001 sounds quite familiar (I think somebody else discussed this issue in recent times); the scripting for some of the enemies on that first level is pretty weird, so it didn't exactly surprise me. I think Cap'n Bob Holmes is intentional. Like the whole tavern, it's some sort of joke. Link to comment
CamDawg Posted November 24, 2006 Author Share Posted November 24, 2006 Wow. I had forgotten just how badly ToB sucked. Link to comment
CamDawg Posted November 24, 2006 Author Share Posted November 24, 2006 Don't make me move the Chinchilla to the Druid Grove. Link to comment
CamDawg Posted November 25, 2006 Author Share Posted November 25, 2006 Wong-Fei's Ioun Stone is using the regeneration icon used by the divine regeneration spell instead of the icon that is used by all other regeneration items. // wong-fei using wrong regen icon COPY_EXISTING ~helm34.itm~ ~override~ READ_SHORT 0x64 "abil_off" ELSE 0 READ_SHORT 0x68 "abil_num" ELSE 0 READ_LONG 0x6a "fx_off" ELSE 0 FOR (index2 = 0; index2 < abil_num; index2 = index2 + 1) BEGIN READ_SHORT ("%abil_off%" + 0x1e + ("%index2%" * 0x38)) "abil_fx_num" READ_SHORT ("%abil_off%" + 0x20 + ("%index2%" * 0x38)) "abil_fx_idx" FOR (index = 0; index < abil_fx_num; index = index + 1) BEGIN READ_SHORT ("%fx_off%" + (("%abil_fx_idx%" + "%index%") * 0x30)) "opcode" READ_LONG ("%fx_off%" + 0x08 + (("%abil_fx_idx%" + "%index%") * 0x30)) "icon" PATCH_IF (("%opcode%" = 142) AND ("%icon%" = 56)) BEGIN // display regeneration icon WRITE_LONG ("%fx_off%" + 0x08 + (("%abil_fx_idx%" + "%index%") * 0x30)) 87 // change to regenerating END END END BUT_ONLY_IF_IT_CHANGES Link to comment
Nythrun Posted November 25, 2006 Share Posted November 25, 2006 Think you want to be searching the global effects there, not the extended header effects Link to comment
Recommended Posts
Archived
This topic is now archived and is closed to further replies.