Fallout 2 Restoration Project 2.2 - OPEN BETA (ie NOT FINAL)

Discussion in 'Fallout General Modding' started by killap, Jan 6, 2013.

Thread Status:
Not open for further replies.
  1. Skynet

    Skynet Mildly Dipped

    Jun 5, 2003
    Damn, now i feel stupid :oops:, yes i seem to have crippled right arm. But shouldn't there be a "CRIPPLED" message box showing up (like when poisoned) or do i have faulty memory?
     
  2. kungfujoe

    kungfujoe First time out of the vault

    Sep 28, 2008
    Fortyseven, I'm afraid this is a problem with the installer (the user), not the installer (the app). :) "C:\Program Files (x86)" is the 64-bit Windows version of "C:\Program Files" for 32-bit apps. Both directories are functionally equivalent, and both are going to have the same problem in the RP. You need to install the game somewhere other than the Program Files directory, like C:\Games\Fallout 2\ or C:\I\Love\Fallout 2, or whatever other directory name your imagination dreams up.

    I suspect that trying to put it in any other Windows-reserved folders would be a bad idea, too.. C:\Users, C:\Windows, C:\ProgramData, and C:\Temp are probably all really bad ideas.
     
  3. Darek

    Darek is currently unavailable

    Jan 7, 2008
    Eh, speaking of memory, I can't remember. :lol:
    I did check which message boxes were possible not long ago, and it's all gone.
    It would be nice, but I don't think there is one.

    About Balthas float, I think I posted something in an earlier RP tread, will see if I can dig it up. As for his alternative dialog line, a quick look in his script shows that it's not in there.
     
  4. killap

    killap Bear Dude Moderator Modder

    May 16, 2005
    In regards to the C:\Program Files confusion, I'll probably include a suggestion (C:\Games) in the message that comes up. But yes, what everyone has said regarding it is true. There were problems with sfall and other such things when F2 was installed to that directory.

    If others can think of ways to make that message more clear, I'm open to suggestions. Though I kinda thought the message was clear enough already. :shrug:

    EDIT: Comes the weekend I'll be combing this thread and fixing the issues reported. I'm back to work after taking time off during the holidays (which I mostly spent working on the RP for some reason ;)) so I won't have time during the week to really respond much.
     
  5. kungfujoe

    kungfujoe First time out of the vault

    Sep 28, 2008
    You might consider adding "(or C:\Program Files (x86))" to the text, since many people may not realize that they're functionally the same directory, but that 64-bit versions of Windows split them up to separate 64-bit and 32-bit programs. I'm not even sure 64-bit versions of Windows will allow you to install a 32-bit program in the "non-(x86)" version of the directory.
     
  6. killap

    killap Bear Dude Moderator Modder

    May 16, 2005
    Please always provide a save game when posting a possible scripting bug.

    @kungfujoe
    Good point. The RP installer prevents you from installing to either anyway, even if Windows itself wouldn't let you.
     
  7. Skynet

    Skynet Mildly Dipped

    Jun 5, 2003
    Here you go: http://www.filedropper.com/balthasbug
     
  8. killap

    killap Bear Dude Moderator Modder

    May 16, 2005
    Oh and just so everyone knows, I'm extending the public beta until Jan 19th (an extra week). This gives more time for testing and hopefully we'll give Cassidy a voice (optional of course) too.
     
  9. Darek

    Darek is currently unavailable

    Jan 7, 2008
    Yep, there's a problem in Balthas script with global_var 693.
    The idea is that you tell Balthas you have found Jonny then get the float when you talk to him after that.
    When you find Jonny gvar 693 gets set to 3 which is the same value the float is looking for, and the float naturally overrides the ability to say you've found him.
    I suggest using local var 4 to check if you've had that conversation instead.

    @ Skynet, these are the message boxes available.
    Code:
    #
    #   Interface text from INTFACE.C
    #
    {100}{}{SNEAK}
    {101}{}{LEVEL}
    {102}{}{ADDICT}
    {103}{}{POISONED}
    {104}{}{RADIATED}
    Would be nice with one for crippled as well though. Maybe something Timeslip could bring about. :wiggle:
     
  10. Dravean

    Dravean Where'd That 6th Toe Come From?

    Mar 6, 2005
    No kidding. There have been countless erroneous bug reports over the years because of crippled limbs that the player wasn't aware of.
     
  11. Timeslip

    Timeslip Water Chip? Been There, Done That
    Modder

    Aug 15, 2007
    I believe that show_iface_tag and hide_iface_tag may be the functions you are looking for. ;)

    numbers 5 to 9 can be used for custom messages. The text to display (CRIPPLED) needs to be added to intrface.msg, and the line BoxBarColours in the [Misc] section of ddraw.ini is used to control whether it appears in red or green. (Default is green, so you'll want to change that.)

    Edit: Another box for crippled party members would probably be useful too.
     
  12. SaF

    SaF First time out of the vault

    Jan 6, 2013
    Thanks for the advice, kungfujoe, that actually worked for me.

    But still, I decided to stick up with the GOG version, especially with their new super cool Fallout desktop icon :D

    I remember some time ago killap wanted to test playthrough with a dumb character, so I decided to give it a try.

    Some issues (I don't recall whether they are bugs or it should be like that):
    • When talking to Aldo, no matter which dialogue line you choose, you get only one response from him (the bad one). Save game
    • Considering Torr, there are two mutually exclusive options: first one is to accept his quest and get transferred to the pastures immediately (and Torr disappears after leaving them); and the second one is choosing to postpone the quest and getting into actual conversation with him, but this way you can't get his quest afterwards (although he still mentions it in "what's going on around here?" line). Save game from the first link can be used to test this.
     
  13. Tony Brasco

    Tony Brasco First time out of the vault

    Mar 11, 2010
    A suggestion: Perhaps there should be a message every time something is written to Pip-Boy. Say, something like "PipBoy: Quest added." and "PipBoy: Quest completed" and even "Pipboy: Quest cancelled/failed.". The last would happen, if you kill someone who gives you a task, or otherwise make the quest not completable.

    Or perhaps something like: "PipBoy: Klamath quest added: Rescue Torr"

    How would this idea sound? Perhaps this would go to Sfall, if not in the scripts.
     
  14. Geras

    Geras Animal Friend

    Oct 12, 2011
    I've found a game-braking bug. I actually don't know what's the issue here, but the game freezes when I get to another city (tested Klamath and Modoc a few times). What I did previous to the bug was I've had the Highwayman repaired and I wear the Bridgekeeper's purple robes.

    save: http://speedy.sh/NZW33/game-braking-bug.rar
     
  15. Darek

    Darek is currently unavailable

    Jan 7, 2008
    Awesome! :ok:
    You think of everything, eh?

    Went with a CRIPPLED and a NPC CRIPPLED box.
    So, does this look about right?
    Code:
    glcrippled.ssl
    
    procedure start;
    variable unhealthy_members;
    variable only_once;
    variable only_once2;
    
    procedure start
    begin
    	if (game_loaded) then begin
    		hide_iface_tag(5);
    		hide_iface_tag(6);
    		set_global_script_repeat(60);
       	end
    	if (critter_state(dude_obj) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) then begin
    		if only_once == 0 then begin
    			show_iface_tag(5);
    			only_once := 1;
    		end
    	end
    	else begin	
    		if only_once == 1 then begin
    			hide_iface_tag(5);
    			only_once := 0;
    		end
    	end
    	if ((critter_state(party_member_obj(16777278 )) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777376)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777377)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777305)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777313)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777323)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777352)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777368)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777379)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777380)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777381)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777295)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777407)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777558)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777687)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777718)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777719)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777720)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777595)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777596)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777597)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64)) or (critter_state(party_member_obj(16777600)) bwand (4 bwor 8 bwor 16 bwor 32 bwor 64))) then begin
    		if only_once2 == 0 then begin
    			show_iface_tag(6);
    			only_once2 := 1;
    		end
    	end
    	else begin	
    		if only_once2 == 1 then begin
    			hide_iface_tag(6);
    			only_once2 := 0;
    		end
    	end
    end
    
    
    Not sure about "set_global_script_repeat(60);", don't want to repeat needlessly. Also didn't know how to use "is_iface_tag_active", wouldn't work the ways I tried it, so went with "only_once" variables instead.

    EDIT: Condensed the code and fixed a bug.
     
  16. Darek

    Darek is currently unavailable

    Jan 7, 2008
    It's not a permanent freeze just an incredible slowdown. It does come back after a while and then freeze again and so on.
    Gecko and the Den is affected too. I'm thinking it has something to do with the 'fog of war' effect, though I'm not sure if that affect the map saves directly. Deleting the .fog files made no difference.
     
  17. Tony Brasco

    Tony Brasco First time out of the vault

    Mar 11, 2010
    I've found an interesting engine bug which is described below.
    • 0. First of all, make sure you have a save game in Arroyo Bridge, or use mine, which can be downloaded from here: http://www.elisanet.fi/leevi/stuff/SLOT02.7z

      1. Load that save game. You are at the Arroyo Bridge. This doesn't work anywhere else, at least not this way, since it is related to the game ending, which happens if you attack your tribe.

      2. Attack someone once, say the bridge guard, Mynoc. You must miss. I don't know if this bug would happen if you hit Mynoc, but cause no damage.

      3. Start running towards the exit grid. Do not fight, if you get hit just ignore it and run.

      4. Now when you reach the exit grid, the game doesn't end, which you would expect, since the game is supposed to end if you turn against your tribe. You just get to the world map.

      5. You can now go back to Arroyo. Mynoc is out of his position, where he was left when you entered the exit grid (probably close to the grid). None of the people you tried to hit are hostile, or "remember" that fight at all and are still friendly in dialogue.
    I haven't thought much how to exploit this, and I don't know whether the game would suddenly end at some point.

    But, what if you hit Mynoc? Well, then a different glitch occurs.

    • 1. if you do hit Mynoc in this situation, and perhaps cause damage, then when you get to the exit grid, the "Village dies" video is played normally, and the game ends and you return to the main menu. This would seem to work normally.

      2. But, now load the same save game which you used previously (0).

      3. When the save game is loaded, you immediately jump to the world map. You can now select Arroyo and go back in anywhere in the village. But this shouldn't happen, you should be at the bridge, where your save game says, and not where you spawn in a map.
    To me this sounds it is "leftover" from the previous game, since when you move to the exit grid, the "Village dies" video plays, and perhaps the command to show the world map is somehow still there. If you now load a save game from Arroyo which is not at the bridge, then this bug does not occur, possibly since those places do not have an exit grid, like in the bridge. I didn't test that situation fully yet, for example, if you load a save game which is in another city after this, and which has an exit grid in that current map.
     
  18. Dravean

    Dravean Where'd That 6th Toe Come From?

    Mar 6, 2005
    I think this is normal game behavior. If you piss someone off and they attack you, but you then run off screen instead of engaging them, then that person will basically "forgive" you and will no longer be hostile. So the game isn't ending in your case because the tribe forgives you as soon as you exit the map.

    I can't speak for the second part of you issue, though.
     
  19. Tony Brasco

    Tony Brasco First time out of the vault

    Mar 11, 2010
    Actually, I still disagree. See, when you attack the tribe, you are supposed to end the game. In this case, you just didn't hit them, but missed. If you hit, then the game ends, even if you didn't kill them. To me it sounds like the devs just didn't think of a situation where you attempt to attack someone in your tribe, but miss, and they only thought about it in case when a hit is made, and thus forgot to add the game ending in the scenario where you miss.

    And also, Mynoc, who is supposed to be at the Bridge, is now near the exit grid. He doesn't return to his usual post, since that character doesn't move.

    I know that in some cases in the game, it is normal for enemies to forgive you if you leave the map, but attacking your own tribe is a special case in this game, anyway.
     
  20. Timeslip

    Timeslip Water Chip? Been There, Done That
    Modder

    Aug 15, 2007
    I'm pretty sure that giant npc block could be written more concisely, but as long as it works that looks fine. :)

    60 is fine there. There's no need for the script to run every single frame.

    I don't think anyone has been using custom interface boxes since I added them, so it's quite possible that I've broken is_iface_tag_active at some point without noticing... I'll add it to my todo list to check, but in this case it's not needed, so all is well.
     
Thread Status:
Not open for further replies.