Fallout 2 mod Fallout 1 Demo in Fallout 2

Discussion in 'Fallout General Modding' started by FeelTheRads, Sep 6, 2018.

  1. Lexx

    Lexx Background Radiant
    Moderator

    Apr 24, 2005
    I didn't know it's possible to level up in the demo at all.
     
  2. naossano

    naossano Sonny, I Watched the Vault Bein' Built!

    Oct 19, 2006
    It wasn't.

    If you look into the files, you see that they planned to give XP rewards for several actions, but those XP gains didn't work into the the final build.

    Then, in the mod, those XP gains are activated, but those rewards are negligibles. I don't think it is even possible to go beyong level 2 or 3.

    I made two discoveries in the original demo.
    1. There is a computer that you can plug in. It use wyndows 99 operating system and allow to play Fallout. (only text saying that you play Fallout. You don't actually play the final game)
    2. I had to leave the demo open to do stuff in the kitchen. When i got back, the game was playing by itself. The vault dweller was moving around, talked to Lex, closed the dialog menu, and then the demo ended.

    Not saying that it should be implemented, but it is nice to still being able to discover some little things.

    Hopefully, i reached the final steps of the original demo translation. Should start translating your version. (mostly copy-paste). Also noticed that in the original demo, there is no AP cost for looting or accessing inventory. Not sure about reload.

    PS: If you plan to make several updates, better use version number.
     
    Last edited: Sep 8, 2018
  3. FeelTheRads

    FeelTheRads Vault Senior Citizen

    Sep 15, 2004
    Computer should work in the mod too. You just need to pass a roll of science or repair (depending on which is higher). This was in the original demo too, just not activated. I mean it did the roll, but then the computer was usable no matter the result. Maybe they intentionally did that to make it sure that people will use it... dunno...

    The playing itself thing, I had no idea, but I figured out how to do it. It's a recording, which you can do. If you press Ctrl+R in the main menu you'll get a list of the maps and you can choose one and you'll start the game there and you can play on it and it will be recorded. You need to press Ctrl+R again to exit. Then the recording will be played in the main menu. Normally if you have no recording the intro gets replayed if you stay too long in the main menu.

    Inventory AP cost is also a good suggestion, I think it can be easily changed with sfall.

    I don't intend to make many updates. Will try to put put in as much as possible in the next one which will probably come when I figure out how to make Night Person work correctly or get bored and just leave it with no skill points change.

    Thanks for the help so far!
     
  4. naossano

    naossano Sonny, I Watched the Vault Bein' Built!

    Oct 19, 2006
    As for the game playing itself, it happened while i was already ingame. I thought there wouldn't be an issue on a TB game if i left it open while i checked if my meal was ready. Turn out that it allowed me to notice a new (technically old) feature.
     
  5. FeelTheRads

    FeelTheRads Vault Senior Citizen

    Sep 15, 2004
    Hmm, maybe you found that time limit you mentioned before and it got you back to the main menu which is where the recording started from.
    Maybe it's not a game time limit, but a real time limit?
    I didn't find anything about it in the scripts, but I did find it in one of the .msg files so I'm thinking it's hardcoded in the .exe
     
  6. naossano

    naossano Sonny, I Watched the Vault Bein' Built!

    Oct 19, 2006
    Which .dat packager did you use for your mod ?

    I have tried to extract everything from demo.dat so i could translate the texts.
    Then, when i lauch, it priotized the texts from demo.dat.
    So i moved demo.dat somewhere else, so i would use the files from the data folder.
    (the fallout2.cfg links to the data folder)
    When i do that, the game cannot launch.

    I think i will try to repack the translation into a new demo.dat, but i dunno which software to use.
     
  7. Lexx

    Lexx Background Radiant
    Moderator

    Apr 24, 2005
    Just pack a new *.dat file and add it to the ddraw.ini file:
    Code:
    ;To use a patch file other than patch000.dat, uncomment the next line and add your new file name
    ;If you want to check for multiple patch files, you can include a %d in the file name (sprintf syntax)
    ;By default, only the first patch file found will be used.
    ;If you want to load multiple patch files (up to 1000) at once, uncomment the MultiPatches line and set it to 1
    PatchFile=demo.dat
    ;MultiPatches=0
     
  8. FeelTheRads

    FeelTheRads Vault Senior Citizen

    Sep 15, 2004
    Yeah, I think to use stuff from the data inside of F1D folder, unpack the demo.dat file in the data folder and then comment out the PatchFile=demo.dat line in ddraw.ini

    But I don't know how to make it so the translation stay out of the demo.dat file when you're done. I mean you could probably pack them in a separate .dat and add an extra patch file and enable multiple patches in ddraw.ini
    But if you don't want to pack them then I don't know.

    Edit: Ah, here's an idea. How do you do the translations? Do you edit the files in the English folder or do a separate one? If you do say a French folder with the same structure as the English one and then edit the language in fallout2.cfg to French then maybe it will take the files from there. Then you could leave the demo.dat file where it is and put your files in the data folder inside of F1D.

    I have not tried it, though, so I'm not sure if it works, but it would make sense.
     
    Last edited: Sep 9, 2018
  9. naossano

    naossano Sonny, I Watched the Vault Bein' Built!

    Oct 19, 2006
    I make backups and copies of both english and french folders.

    But right now, the problem isn't translation. If i only take the files extracted from demo.dat, not the translated ones, and move demo.dat somewhere else, the files in the *data* folder, which are the same as demo.dat, won't be enough to start the game. (i have the game menu, but it crashes when i am supposed to start playing.)

    Same when i remove the *demo.dat* line in ddraw.ini.

    There are two options that i can try, but i don't know how to do either of them.
    - Repack the files from demo.dat + the translation into a new .dat file.
    - Make a path that take the data folder first into account, then demo.dat, then critter.dat\master.dat


    Edit : I got an easier method.
    I just extract everything and put it in a folder (not a file) called demo.dat, i put there everything from the file demo.dat and i move the file away. The game now believe this folder is the .dat file. I can edit it and the changes appear ingame.
     
    Last edited: Sep 9, 2018
  10. FeelTheRads

    FeelTheRads Vault Senior Citizen

    Sep 15, 2004
    Ah, yeah, OK, I figured out the problem. It's the protos.
    Do a fresh unpack of the demo.dat and then go in the Proto folder and make all the .pro files in the critters and scenery subfolders read-only.
    Then hopefully it should work.

    Edit: Also to distribute just the translation, you could try setting this DataLoadOrderPatch=0 in ddraw.ini to 1. Then you could have your translation in the data folder, I think.
     
    Last edited: Sep 9, 2018
  11. naossano

    naossano Sonny, I Watched the Vault Bein' Built!

    Oct 19, 2006
    I almost finished the translation. I still have one issue that bothers me a bit. I can't save my game. It isn't much a problem for testing or for playing the demo, but your mod allows saving, so it means there is still a problem somewhere that i must identify. That and polishing. I will resume next week.

    I've noticed a couple of other things. Now Phrax seems to be more perceptive. I was usually able to sneak and lockpick with Max Stone in the original demo. Now, he can detect me even when i am sneaking with Natalia.

    The sounds in combat are different than in the demo.

    I was able to avoid Lex by running straight to the left.
     
  12. FeelTheRads

    FeelTheRads Vault Senior Citizen

    Sep 15, 2004
    Yeah, about Phrax... there's some changes there.
    I think in the demo he was checking if he sees you and rolling a perception roll at certain time intervals and if you used the fridge between those he couldn't catch you.
    That was using his critter_p_proc procedure which I think in the demo is updated slower than in the final game where it's updated several time a second.
    So, basically if I kept this as it was, he would pretty much always catch you because he would roll perception and check if he sees you several times a second.

    In the mod I made it so he checks if he sees you and rolls perception each time you use the fridge. Which ended up working kinda like typical Fallout: can happen he doesn't see you many times in a row... or it can happen he sees you many times in a row. :)
    I'm not sure I want to script it so the behavior is closer to the original demo.
     
  13. FeelTheRads

    FeelTheRads Vault Senior Citizen

    Sep 15, 2004
    Alright, added a new version in the first post.
    Among other changes, I replaced Sex Appeal with Night Person and it kinda works... with some issues:

    1. in Fallout 1 when selecting Night Person in the character creation screen Perception and Intelligence would be reduced by one. Here it doesn't work, it will only happen once you start the game.

    I don't think it's possible to fix this just with sfall.

    2a. if your base (before being modified by Night Person) Intelligence is 1 you'll get 2 less skill per level
    2b. if your base Intelligence is 10 you'll get 2 extra skill points per level

    These two could probably be fixed with smarter scripting, but I couldn't figure it out.

    3. If you remove or add Night Person with Mutate! the effects won't show immediately in the character screen. You'll need to close it and re-open it to update them.

    I feel like this could also be fixed, but again, I don't know how.

    There might be other issues that I didn't think of.

    Well, anyway, so it kinda works. Enough for this mod I guess.
    If somebody wants to do a very accurate conversion of F1 in F2 maybe they can figure out how to do it perfectly.

    And I set the inventory AP cost to 2. This means that the Quick Pockets perk makes the cost 0, though. But that's also irrelevant for the demo.

    @naossano

    In this version you should be able to keep the demo.dat file where it is and put your translation files in the data folder and they'll be loaded correctly. So you should also be able to distribute just the files that you change.
     
  14. Lexx

    Lexx Background Radiant
    Moderator

    Apr 24, 2005
    Did you use the perks.ini correctly? Because adjusting the SPECIAL stats should work with no issues, without having to start the game first. This doesn't require any actual scripting. But what does the trait do anyway? Because permanently reducing two SPECIAL stats sounds like quite a lot to be worth it.
     
  15. FeelTheRads

    FeelTheRads Vault Senior Citizen

    Sep 15, 2004
    Hmm... I didn't do it with the perks.ini, I did a global sfall script which reduces perception and intelligence by 1 during the day and increases them by 1 during the night. And also adjusts the skill points per level correctly... except in the two cases I mentioned earlier.

    How would you do this effect with the perks.ini? I mean, reducing or increasing a stat is obvious, but how to make it depend on time?
    Jeez, if this is possible just with perks.ini then I'm a :jiggy:
     
  16. naossano

    naossano Sonny, I Watched the Vault Bein' Built!

    Oct 19, 2006
    Coincidentally, I am playing the megamod during my five days breaks from the demo, and they also feature scrap*town* with a LOT of changes. I Can keep you informed if you want.

    I don't know how many hours I spent on this, but I guess I am still willing to try other *small* localizations once this one is done.
     
  17. FeelTheRads

    FeelTheRads Vault Senior Citizen

    Sep 15, 2004
    Oh, and if somebody with sfall knowledge can help with the effects of Night Person when added or removed with Mutate! or with fake perks effects not showing up in the character screen without closing and opening it again...
    Like say, if I do a fake perk that increases Strength by 1... or Small Guns by 10 or something like that, the effect won't show up immediately after picking it. I need to close and reopen the character screen for it to show up.
    I thought setting set_global_script_type(1); should do it since type 1 is supposed to run all the time. But it doesn't do it.
     
  18. naossano

    naossano Sonny, I Watched the Vault Bein' Built!

    Oct 19, 2006
    Tried the new version.
    It indeed works when i put the text files into the data folder. And i can save game.
    I guess i am down to polishing.
     
    Last edited: Sep 11, 2018
  19. FeelTheRads

    FeelTheRads Vault Senior Citizen

    Sep 15, 2004
    Awesome. So it was just a matter of setting this line: DataLoadOrderPatch=1 in ddraw.ini
     
  20. Alchemist

    Alchemist Nocturnal Mechanic Modder

    Dec 26, 2004
    If you are using official BIS header files in your project, there are two places which should be fixed: GetReaction macro in modreact.h and obj_sex_rating in command.h. All checks for the Sex Appeal are included from there. OFC everything should be recompiled after that. If you are not using BIS header files then it's not a problem at all.

    And, well, there is one, since you are using SFall. Just add the following code into the Perk.ini:
    Code:
    ;Night Person
    [t13]
    NoHardcode=0
    Name=Night Person
    Desc=As a night-time person, you are more awake when the sun goes down.  Your Intelligence and Perception are improved at night, but dulled during the day.
    Image=68
    StatMod=
    SkillMod=
    Precisely. Short story: the only thing you should do is to add +1 modifier to PE an IN if(night) and -1 modifier if(day). Everything else does the game engine. day and night are defined in the command.h.

    It's slightly more complex actually since you set modifier only and not the value itself. And you should handle situations when Night Person is being fired up or weard off by the Mutate perk as well. I don't really remember if it's feasible in the demo, though.:roll:

    I implemented this for the canceled Fallout P2P mod about 10 years ago.:shrug: And the behavior of the trait was authentic enough compared to the F1. Well, it was SFall-less that time and did not affected Outdoorsman skill. Present days SFall global scripts should allow to avoid such an issue.

    --- Update ---
    Ops. Have been typing for too long )))

    Try to set_global_script_type(3) and set_global_script_repeat() with some reasonable value. Implement
    procedure on_global_repeat and place all the code which should be ran periodically there.
    Something like that:
    Code:
    procedure start
    begin
       if (metarule(22, 0)) then begin
           return 0;
       end
    
       if (game_loaded) then begin
               if (get_ini_setting("ddraw.ini|NPmod|Debug") > 0) then
               np_debug := 1;
               if (get_ini_setting("ddraw.ini|NPmod|Midlight") > 0) then
               np_midlight := 1;
    
           DEBUG_MSG("Game loaded.")
    
           set_global_script_type(3);
           set_global_script_repeat(25);
       end
       else begin
           call on_global_repeat();
       end
    end
    
    
    procedure on_global_repeat
    begin
    
       call check_trait_nightperson();
    end
    
     
    Last edited: Sep 14, 2018
    • [Rad] [Rad] x 1