Jump to content

It would be nice if "Reveal City Areas" for BG1 cities worked in EET games


Recommended Posts

Right now the component is limited to

GAME_IS ~bg1 totsc tutu tutu_totsc bgee pst pstee iwdee iwd-in-bg2 iwd how totlm bgt~

So it  works on Tutu, BGT, and BGEE, but in an EET game I have to trudge all over the screen to clear the fog of war in Beregost, Nashkel, BG et al.

In my current install I added EET to the valid PREDICATE list and changed " ACTION_IF game_includes_bg1 THEN BEGIN " to

ACTION_IF (game_includes_bg1) AND !(GAME_IS ~eet~) THEN BEGIN

I don't know where/how the area variables are defined, so I just added a whole new block using EET area conventions:

ACTION_IF (GAME_IS ~eet~) THEN BEGIN

  COPY_EXISTING ~BG0300.bcs~ ~override~
    DECOMPILE_AND_PATCH BEGIN
      REPLACE_TEXTUALLY ~TimeGT(20)~ ~TimeGT(20) Global("CDNarlenExists","GLOBAL",0)~
      REPLACE_TEXTUALLY ~TimeLT(4)~  ~TimeLT(4)  Global("CDNarlenExists","GLOBAL",0)~
      REPLACE_TEXTUALLY ~TimeGT(4)~  ~TimeGT(4)  Global("CDNarlenExists","GLOBAL",1)~
      REPLACE_TEXTUALLY ~\bActivate("narlen")~   ~Activate("narlen") SetGlobal("CDNarlenExists","GLOBAL",1)~
      REPLACE_TEXTUALLY ~Deactivate("narlen")~ ~Deactivate("narlen") SetGlobal("CDNarlenExists","GLOBAL",0)~
    END
  BUT_ONLY IF ~CDNarlenExists~ IF_EXISTS

  COPY_EXISTING ~BG0100.are~       ~override~ // ar0100
                ~BG0200.are~       ~override~ // ar0200BG
                ~BG0300.are~       ~override~ // ar0300
                ~BG0600.are~       ~override~ // ar0600
                ~BG0700.are~       ~override~ // ar0700
                ~BG0800.are~       ~override~ // ar0800
                ~BG1000.are~       ~override~ // ar1000
                ~BG1100.are~       ~override~ // ar1100
                ~BG1200.are~        ~override~ // ar1200
                ~BG1300.are~         ~override~ // ar1300
                ~BG2600.are~         ~override~ // ar2600
                ~BG2626.are~         ~override~ // ar2626
                ~BG3300.are~           ~override~ // ar3300
                ~BG4800.are~            ~override~ // ar4800
    READ_ASCII 0x94 script
    SPRINT scope ~%SOURCE_RES%~
    INNER_ACTION BEGIN
      COPY_EXISTING ~%script%.bcs~ ~override~
        DECOMPILE_AND_PATCH BEGIN
          APPEND_FILE ~cdtweaks/baf/reveal.baf~
          REPLACE_TEXTUALLY ~CD_MYAREA_VAR_SCOPE~ ~%scope%~ // bg1 doesn't like MYAREA
        END
        BUT_ONLY IF_EXISTS
    END
    BUT_ONLY IF_EXISTS

END

That installs, but I haven't got the game going yet to test it. Fingers crossed. But more generally, it would be nice if EET could be integrated with the "%Beregost%" and similar area variables so this could work without any fuss.

Link to comment

Join the conversation

You are posting as a guest. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...