Fallout 2 mod FO2 Engine Tweaks (Sfall)

Discussion in 'Fallout General Modding' started by Dude101, Jul 30, 2007.

  1. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    I think you can use 'create_win_flag' macro to set additional 'Exclusive' flag to the second window.
    Code:
    create_win_flag("WIN2", 120, 170, 100, 150, 0x14); // MoveOnTop + Execlusive
    The window with 'Execlusive' flag will be like its layer takes all the screen, so you can't click on the first window until the second gets deleted.
    But this will also prevent you from clicking on other opened interface windows (inventory, char, interface bar, etc.)
     
    Last edited: Jul 20, 2019
  2. Lexx

    Lexx Background Radiant
    Moderator Modder

    Apr 24, 2005
    Damn. Yeah, that's not so good - I need to be able to click on other interface stuff.
    Guess I will have to split up the image into multiple smaller ones then. Thought I could prevent that.

    As alternative.. is it possible to "fetch" the click on the first window, then just move the second window on top again?

    /Edit: Actually forget that. I've just split up the images. I was scared there might be flickering, because the window creation sometimes does that, but it's really a non-issue. As of now, it looks perfect to me.
     
    Last edited: Jul 20, 2019
  3. gustarballs1983

    gustarballs1983 Where'd That 6th Toe Come From?

    457
    Oct 28, 2009
    @NovaRain

    Just a side note, as I've been experimenting with additional perks trying random numbers for Perks ID's since they're not listed anywhere. At least nowhere for 'Ol google to find it. Anyways my goal was to find Night Vision, for loosing it (got night vision from burn's fo2 tweaks) when swithching to companion, causes intense eye agony during a sunny day. I've succeed in finding Night Vision's "Perk ID", however I've noticed that not all perks get applied correctly when set to be copied from the player to controlled party npc. for example 'Bonus HtH Attacks' and 'Bonus Rate of Fire' get's applied only after opening character sheet or inventory of the controlled critter during it's turn. Only then AP cost on the interface bar change to display correctly. Not a big issue and for most not even a thing since it's sort of like cheating, but for the sake of sfall beeing issue free, or at least for the sake of reducing issues with sfall functions, I think this should be corrected.
     
  4. Mr.Stalin

    Mr.Stalin Agent of Enclave Modder

    281
    Oct 29, 2015
    I do not think that it needs to be corrected, because This was added for perks of a general nature, which are checked by scripts, not engine mechanics. You should not apply perks to controlled npc without checking the correctness of their work for npc.
     
    • [Rad] [Rad] x 1
  5. gustarballs1983

    gustarballs1983 Where'd That 6th Toe Come From?

    457
    Oct 28, 2009
    But it does work.. only requires entering char sheet, or inventory of controlled npc during combat.
    Anyways it's a very cool feature many thanks to whoever added it to sfall.
     
  6. NovaRain

    NovaRain Casual Modder Modder

    Mar 10, 2007
    For the AP cost display issue, you can try the attached script.
     

    Attached Files:

    • [Rad] [Rad] x 1
  7. gustarballs1983

    gustarballs1983 Where'd That 6th Toe Come From?

    457
    Oct 28, 2009
    At a first glance seemes to work. (tested with Resurrection), will have to put it to some more tests to be sure. Thanks @NovaRain . You're a lifesaver as always.
     
  8. Lexx

    Lexx Background Radiant
    Moderator Modder

    Apr 24, 2005
    It would be really, really great if I could get help with the following:

    1. If you trigger endgame slides, the credits will automatically follow. What I need is to only play the slides, then return to the game as if nothing else happened.
    The credits can be triggered via endgame_movie again, so that's ok... I could trigger them later, once I need them.

    2. Can we disable or toggle the "do you want to continue playing?"-popup? This, too, follows right after the credits.
    It is possible to skip this popup with running signal_end_game directly after, but of course this will also terminate the game right away.


    The best would be if we could get total control over this. Something like... I dunno, run_slideshow, run_credits, run_endgame_popup.


    That's one of the last few things I need for the Fo1 in Fo2 conversion. Yes, I could probably script some workarounds, but it'll look just shit in the end. This needs to be done right. Anyone can comment on this? @burn or @Mr.Stalin or @NovaRain ?
     
    Last edited: Jul 23, 2019
  9. Mr.Stalin

    Mr.Stalin Agent of Enclave Modder

    281
    Oct 29, 2015
    I would change the order: slideshow > "continue playing?" > no > credits
    Do you like it?)
     
  10. Lexx

    Lexx Background Radiant
    Moderator Modder

    Apr 24, 2005
    At this point I just want it to look exactly as in Fo1.
    That means:
    - teleport to V13
    - show ending slides
    - dialog with overseer
    - scripted cutscene with overseer
    - play male / female "walk away" video
    - show credits
    - end the game or "continue playing?" depending on settings or whatever.

    Yes, changing the order is a possibility, but I'd like not to do it if it can be helped.

    The new order would then be:
    - teleport to V13
    - dialog with overseer
    - scripted cutscene with overseer
    - play male / female "walk away" video
    - show ending slides
    - show credits
    - "continue playing?"

    It's possible, but... I really don't want to. :x The "walk away into the sunset"-ending is a part of the games feeling. If you show that, then show the slides, etc... it'll change the pacing and just takes away a lot, imo.
     
    Last edited: Jul 23, 2019
  11. Mr.Stalin

    Mr.Stalin Agent of Enclave Modder

    281
    Oct 29, 2015
    I understand these elements will be executed through the function endgame_movie ?
    Can make the option change the behavior of the endgame_slideshow and endgame_movie functions.

    ps show me the game ending script
     
    Last edited: Jul 24, 2019
  12. Mr.Stalin

    Mr.Stalin Agent of Enclave Modder

    281
    Oct 29, 2015
    This element can be made via a scriptpting without editing the engine. (w/o new run_endgame_popup)
     
  13. Lexx

    Lexx Background Radiant
    Moderator Modder

    Apr 24, 2005
    I thought about playing these movies via normal play_gmovie() right after the dialog ends. If this could be done automatically via endgame_movie that would be great.

    Yeah, I just mentioned it for consistency (that's the "flow").

    The script is quite confusing right now and needs serious cleanup.Right now it has three scripts involved... obj_dude, v13cave and over(seer). It's a mess.

    My plan is to work on this later today once I'm back from work. Moving it all into a single script for clarity, etc. There is really no need for this mess to be split over multiple files.
     
    Last edited: Jul 24, 2019
  14. Lexx

    Lexx Background Radiant
    Moderator Modder

    Apr 24, 2005
    Ok, so I worked on the scripts today and... It's complicated. Turns out, I won't have the time right now to rewrite it in the way I wanted. Instead I focused on decluttering it a bit, removing some stuff that wasn't required anymore, etc.

    While doing this, I found out that *the only thing I really need* is "endgame_slideshow" not to show the credits and the "continue playing?"-button anymore. If we can remove these two elements, the ending scene will look like in Fo1.

    The "male / female walking away-"movie I've mentioned above is simply triggered by play_gmovie() - that works perfect. There is no need to make any changes to "endgame_movie" as far as I am aware - it'll just play the credits despite the name.
     
    Last edited: Jul 24, 2019
  15. Mr.Stalin

    Mr.Stalin Agent of Enclave Modder

    281
    Oct 29, 2015
    Execute before endgame_slideshow (for test)
    Code:
    write_int(0x4A4343, 0x90909090);
    write_byte(0x4A4347, 0x90);
     
  16. Lexx

    Lexx Background Radiant
    Moderator Modder

    Apr 24, 2005
    Like this?
    Code:
        if (fixed_param == EVENT_END_1) then begin
           kill_critter_type(PID_RAT_CAVE, 0);
    
           set_light_level(100);
           override_map_start(90, 96, 0, 5);
    
           gfade_out(1);
           write_int(0x4A4343, 0x90909090);
           write_byte(0x4A4347, 0x90);
           endgame_slideshow;
    
           endgame_running := 2;
           add_timer_event(self_obj, game_ticks(0), EVENT_END_2);
       end
    Nothing happens - the slideshow doesn't start at all. Do I have to activate unsafe scripting (didn't change anything) or something else?
     
    Last edited: Jul 25, 2019
  17. Mr.Stalin

    Mr.Stalin Agent of Enclave Modder

    281
    Oct 29, 2015
    Everything works for me as you requested, the problem is on your side.
     
  18. Lexx

    Lexx Background Radiant
    Moderator Modder

    Apr 24, 2005
    I forgot to set "Enable=1" in [Debugging] in my new ddraw.ini file, which caused the problem. With it being at "1", the script works perfect.

    Thanks for your help with this. It's awesome.
     
    Last edited: Jul 25, 2019
  19. Lexx

    Lexx Background Radiant
    Moderator Modder

    Apr 24, 2005
    Is there a way other than force_encounter() to load a map from the worldmap?
    My issues with it is that it only works if the encounter chance of the zone is > none. Right now, if you are over a "none"-zone, the encounter will not trigger.
     
  20. Mr.Stalin

    Mr.Stalin Agent of Enclave Modder

    281
    Oct 29, 2015
    It can not be. The meeting with the Horrigan will be triggered in the 'none' zone, which means that the force_encounter will work.
     
    Last edited: Jul 29, 2019