Results 1 to 10 of 10

Thread: Jackie Fish YouTube MP Battle Videos?

  1. #1

    Default Jackie Fish YouTube MP Battle Videos?

    He gets these beautiful shots of the battlefield from very high altitude. How does he do it?

    I cannot raise the camera that high with standard DEI.

    Also, I looked for mods to do this, but they don't seem to alter the camera.

    Thanks!

  2. #2

    Default Re: Jackie Fish YouTube MP Battle Videos?

    I think he uses a custom camera mod. However, you should not use camera mods with DeI. They'll mess up the scripts. DeI already has camera changes included because of that. Not sure if Jackie is using something compatible with DeI or if he's doing something else. You could probably edit the DeI files yourself to adjust the camera to your liking.

  3. #3

    Default Re: Jackie Fish YouTube MP Battle Videos?

    Is it a straight text file and just one figure to boost max altitude?

    Thanks.

  4. #4

    Default Re: Jackie Fish YouTube MP Battle Videos?

    I think it's all in cameras/battle_action_camera.txt but I haven't messed with it myself.

  5. #5

    Default Re: Jackie Fish YouTube MP Battle Videos?

    Quote Originally Posted by Augustusng View Post
    I think it's all in cameras/battle_action_camera.txt but I haven't messed with it myself.
    Thanks. I will take a look.

    There is a simple way to make this resistant to mod releases. I often run my games via a continuous resident back ground script to do many things. Examples:

    * Launched script to change key/function key behavior using auto-hotkey. Like I have a script for DEI that rapidly flips battle graphics settings.

    * A script that checkpoints autosaves and quick with a time stamp. You get a whole history of saves.

    * A script that places hot spots on the maps of an operational war game. Besides remember hot spots the zoom level too.

    * A script that adds extra features to a commercial backup software.

    So, the way to address something like file conflicts with DEI releases is to dynamically recreate the changes each time by scripted text editing right before launching the EXE. Maybe using the UNIX Stream Editor aka SED.

  6. #6
    Jake Armitage's Avatar Artifex
    Join Date
    Apr 2011
    Location
    apartment 6
    Posts
    4,040

    Default Re: Jackie Fish YouTube MP Battle Videos?

    uh?
    I really am not understanding much... can you send me those scripts, please ?

  7. #7

    Default Re: Jackie Fish YouTube MP Battle Videos?

    Quote Originally Posted by Jake Armitage View Post
    uh?
    I really am not understanding much... can you send me those scripts, please ?
    I am assuming that is a real question. Here it the script that runs Rome 2/DEI. It does many things, beyond launching the game:

    * Gets rid of splash screens

    * Calls other background scripts that redefines function keys (only in the game)

    * Time stamps screen shots and offers an optional suffix describing what is of importance

    * Time stamps/checkpoints auto saves and quick saves

    Remember this code is not for presentation and does NOT illustrate best practices (just personal use).

    ; 08/31/16 - Run Shogun 2 and checkpoint quick saves
    ; 09/03/16 - Added improved game EXE launcher which handles STEAM mods.
    ; Was crashing without doing this through AutoHotKey.
    ; Assume that the Shogun2 Mod Manager will always launch.
    ; 09/06/16 - Added code to support Steam updates.
    ; 09/17/16 - Added screen shot capability.
    ; Added true pend waiting for Steam Updates.
    ; 09/18/16 - Put in a prompted delay
    ; 05/11/17 - Fix FRAPS shutdown
    ; 10/18/17 - Fix problem in suffix prompt sometimes being hidden behind other windows.
    ; 11/29/17 - Skip splash screens
    ; 08/02/18 - Modified for ROME2
    ; 08/03/18 - Solved tought problem of forcing game to minimize
    ; 08/23/18 - Get rid of autosave replays.
    ; 08/28/18 - Add a selector setter for CA and DEI versions
    ; 08/31/18 - Fix cancel handling for CA/DEI (abort) and ScreenShot (abort).
    ; 10/18/18 - Get rid of extraneous time stamp characters on screenshot.
    ; 03/07/19 - Fix prompt box for Steam's new manager.
    ; 06/12/19 - WIN10 perhaps restarting the remap keys program is unnecessary.
    ; 08.05/20 - Remove option to toggle between CA and DEI versions.


    WhoAmI="ROME2 Mgr"
    If WinExist(WhoAmI)Then Exit
    WinTitle(WinName(), WhoAmI)
    WinHide(WhoAmI)

    ; ----- Definitions ------

    Interval=1
    GameEXE="D:\User\MK\Software\Games\ROME2\Utility\ROME2 URL launch.exe"
    GameName1="Total War: ROME 2"
    GameName2="Total War Launcher"
    GameName3="Steam"
    FrapsEXE="C:\Program Files (x86)\Fraps\fraps.exe"
    FrapsPath="C:\Program Files (x86)\Fraps"
    GameSaveDir="E:\Games\Steam ROME2 Data\ROME2\save_games"
    GameSave1="E:\Games\Steam ROME2 Data\ROME2\save_games\Quick Save.save"
    GameSave2="E:\Games\Steam ROME2 Data\ROME2\save_games\Auto_save.save"
    SystemTrayRestart="C:\Program Files\SystemTrayRefresh\SystemTrayRefresh.exe"
    GameReplayDir="E:\Games\Steam Rome2 Data\Rome2\replays"

    CA_Log="D:\User\MK\Software\Games\Rome2\Log.doc.CA"
    DEI_Log="D:\User\MK\Software\Games\Rome2\Log.doc.DEI"
    THE_Log="D:\User\MK\Software\Games\Rome2\Log.doc"

    CA_Screens="E:\FRAPS\ScreenFrap\Recon9Fraps.CA"
    DEI_Screens="E:\FRAPS\ScreenFrap\Recon9Fraps.DEI"
    THE_Screens="E:\FRAPS\ScreenFrap\Recon9Fraps"

    CA_Saves="E:\Games\Steam Rome2 Data\Rome2\save_games.CA"
    DEI_Saves="E:\Games\Steam Rome2 Data\Rome2\save_games.DEI"
    THE_Saves="E:\Games\Steam Rome2 Data\Rome2\save_games"

    CA_Replays="E:\Games\Steam Rome2 Data\Rome2\replays.CA"
    DEI_Replays="E:\Games\Steam Rome2 Data\Rome2\replays.DEI"
    THE_Replays="E:\Games\Steam Rome2 Data\Rome2\replays"

    ; ----- Set up paths -----

    ;VerI=IniReadPvt("Mod", "Version", "DEI", "ROME2 MGR.INI")
    ;IntControl(72, 0, @TRUE, "CANCEL", 0); exit on cancel
    ;AnsV=AskYesNo("Game Version Selection", StrCat("YES [DEFAULT] = DEI", @CR, @CR, "NO = CA", @CR, @CR, "CANCEL = QUIT"))
    ;IntControl(72, 1, @TRUE, "CANCEL", 0); goto cancel handler
    ;If AnsV==@Yes Then VerQ="DEI"
    ;If AnsV==@No Then VerQ="CA"
    ;Message("Game Version", "Make sure to have the Mod Manager which comes up next MATCH YOUR CHOICE!")
    ;If VerI<>VerQ Then
    ; If VerQ=="CA" Then
    ; FileRename(THE_Log, DEI_Log)
    ; FileRename(CA_Log, THE_log)
    ; FileRename(THE_Screens, DEI_Screens)
    ; FileRename(CA_Screens, THE_Screens)
    ; FileRename(THE_Saves, DEI_Saves)
    ; FileRename(CA_Saves, THE_Saves)
    ; FileRename(THE_Replays, DEI_Replays)
    ; FileRename(CA_Replays, THE_Replays)
    ; IniWritePvt("Mod", "Version", "CA", "ROME2 MGR.INI")
    ; End If
    ; If VerQ=="DEI" Then
    ; FileRename(THE_Log, CA_Log)
    ; FileRename(DEI_Log, THE_log)
    ; FileRename(THE_Screens, CA_Screens)
    ; FileRename(DEI_Screens, THE_Screens)
    ; FileRename(THE_Saves, CA_Saves)
    ; FileRename(DEI_Saves, THE_Saves)
    ; FileRename(THE_Replays, CA_Replays)
    ; FileRename(DEI_Replays, THE_Replays)
    ; IniWritePvt("Mod", "Version", "DEI", "ROME2 MGR.INI")
    ; End If
    ;End If

    ; ----- Start it and wait -----

    Run(FrapsEXE,"")
    Delay(3)
    RunShell(GameEXE, "", ".", @NORMAL, @NOWAIT); must RunShell
    ;IntControl(63, 745, 635, 930, 745)
    ;IntControl(63, 775, 655, 960, 765)
    IntControl(63, 825, 655, 975, 765)
    BoxMsg=""
    BoxMsg=StrCat(BoxMsg, "C L I C K H E R E F I R S T", @CR)
    BoxMsg=StrCat(BoxMsg, "the game will be ready to play after 3 beeps")
    AskTextbox( "CLICK HERE FIRST", BoxMsg , "", 0, 0)
    IntControl(63, 0, 0, 0, 0)

    WinWaitExist(GameName1, 2)
    If WinExist(GameName2) Then
    WinWaitClose(GameName2, -1)
    End If
    WinWaitExist(GameName1, 5)

    ; ----- Skip the splash screens -----

    For J=1 to 30
    Delay(1)
    SendKey("{ESC}")
    Next
    Beep
    Delay(1)
    Beep
    Delay(1)
    Beep

    ; ----- Main menu is up -----

    DirChange(GameSaveDir)
    While WinExist(GameName1)

    If IsKeyDown(@CTRL & @SHIFT) Then
    winiconize("Total War: ROME 2")
    End If

    If FileExist(GameSave1) || FileExist(GameSave2) Then
    Delay(2)
    Base=TimeYmdHms()
    NewBase1=StrSub(Base, 3, 17)
    NewBase2=StrReplace(NewBase1, ":", "_")
    If FileExist(GameSave1) Then
    NewBase3=StrCat(NewBase2, "_Q.save")
    FileRename(GameSave1, NewBase3)
    End If
    If FileExist(GameSave2) Then
    NewBase3=StrCat(NewBase2, "_A.save")
    FileRename(GameSave2, NewBase3)
    End If
    Beep()
    Delay(1)
    Beep()
    End IF

    CurrentDir=DirGet()
    DirChange(GameReplayDir)
    If FileExist("auto_save.replay") Then
    FileDelete("auto_save.replay")
    End If
    DirChange(CurrentDir)

    ErrorMode(@OFF)
    FileMove ("E:\FRAPS\ScreenFrap\*.jpg", "E:\FRAPS\ScreenFrap\Recon9Fraps", @TRUE)
    ErrorMode(@CANCEL)

    CurrentDir=DirGet()
    DirChange("E:\FRAPS\ScreenFrap\Recon9Fraps")
    ShotFileName=FileItemize("ROME2 *.*")
    If ShotFileName<>"" Then
    CancelFlag=@False
    IntControl(72, 1, @TRUE, "CANCEL", 0); goto cancel handler
    Prompt=StrCat("Enter The Suffix Text")
    WinShow(WhoAmI)
    SaveSuffix=AskLine("SaveSuffix", Prompt, "", 0)
    WinHide(WhoAmI)
    Goto SKIP
    :CANCEL
    WinHide(WhoAmI)
    CancelFlag=@True
    :SKIP
    If CancelFlag Then
    FileDelete(ShotFileName)
    Else
    ;Base=StrSub(ShotFileName, 7, 22)
    Base=StrSub(ShotFileName, 7, 19)
    If SaveSuffix<>"" Then
    NewFileName=StrCat(Base, " ", SaveSuffix, ".jpg")
    Else
    NewFileName=StrCat(Base, ".jpg")
    End If
    FileRename(ShotFileName, NewFileName)
    Beep()
    End If
    ;Run("C:\Program Scripts\Windows7 Remap Keys.exe","")
    WinActivate(GameName1)
    End IF
    DirChange(CurrentDir)

    Delay(Interval)

    End While
    Delay(2)

    ; ----- Kill Unwanted Processes -----

    Addextender("wwprc44i.dll")

    ProgramEXE="fraps|"

    Processlist=tListProc() ; get list
    ptr1=StrIndexNC(processlist,ProgramEXE,0,@fwdscan)
    ;Message("Debug list",Processlist)

    While ptr1<>0 ; terminate while processes left
    ptr2=StrIndex(processlist,"|",ptr1,@fwdscan)
    ptr3=StrIndex(processlist,@tab,ptr2,@fwdscan)
    if ptr3==0;if last item in list
    pid=Strsub(processlist,ptr2+1,-1)
    ptr1=0 ; last one killed
    else
    pid=Strsub(processlist,ptr2+1,ptr3-ptr2-1)
    ptr1=ptr3 ; set up for next process
    ptr1=StrIndexNC(processlist,ProgramEXE,ptr1,@fwdscan)
    endif
    ;Message("Debug pid",pid)
    hProcess=tOpenProc(pid,3) ; mark able to terminate
    TKillProc(hProcess) ; terminate
    TCloseProc(hProcess) ; terminate
    End While

    ProgramEXE="fraps64.dat|"

    Processlist=tListProc() ; get list
    ptr1=StrIndexNC(processlist,ProgramEXE,0,@fwdscan)
    ;Message("Debug list",Processlist)

    While ptr1<>0 ; terminate while processes left
    ptr2=StrIndex(processlist,"|",ptr1,@fwdscan)
    ptr3=StrIndex(processlist,@tab,ptr2,@fwdscan)
    if ptr3==0;if last item in list
    pid=Strsub(processlist,ptr2+1,-1)
    ptr1=0 ; last one killed
    else
    pid=Strsub(processlist,ptr2+1,ptr3-ptr2-1)
    ptr1=ptr3 ; set up for next process
    ptr1=StrIndexNC(processlist,ProgramEXE,ptr1,@fwdscan)
    endif
    ;Message("Debug pid",pid)
    hProcess=tOpenProc(pid,3) ; mark able to terminate
    TKillProc(hProcess) ; terminate
    TCloseProc(hProcess) ; terminate
    End While

    Goto Steam
    ProgramEXE="Steam|"

    Processlist=tListProc() ; get list
    ptr1=StrIndexNC(processlist,ProgramEXE,0,@fwdscan)
    ;Message("Debug list",Processlist)

    While ptr1<>0 ; terminate while processes left
    ptr2=StrIndex(processlist,"|",ptr1,@fwdscan)
    ptr3=StrIndex(processlist,@tab,ptr2,@fwdscan)
    if ptr3==0;if last item in list
    pid=Strsub(processlist,ptr2+1,-1)
    ptr1=0 ; last one killed
    else
    pid=Strsub(processlist,ptr2+1,ptr3-ptr2-1)
    ptr1=ptr3 ; set up for next process
    ptr1=StrIndexNC(processlist,ProgramEXE,ptr1,@fwdscan)
    endif
    ;Message("Debug pid",pid)
    hProcess=tOpenProc(pid,3) ; mark able to terminate
    TKillProc(hProcess) ; terminate
    TCloseProc(hProcess) ; terminate
    End While

    :Steam
    Delay(1)
    Run(SystemTrayRestart, "")

    ;Delay(1)
    ;Run("C:\Program Scripts\Windows7 Remap Keys.exe","")


  8. #8
    Jake Armitage's Avatar Artifex
    Join Date
    Apr 2011
    Location
    apartment 6
    Posts
    4,040

    Default Re: Jackie Fish YouTube MP Battle Videos?

    yeah... question was serious, I'm always interested into these kind of things, even if I'm not a RL coder at all.
    ... And where is this? Did you decompile the dll via Ghidra or it's somewhere else?
    Would you mind joining DeI's discord so we can talk directly via chat?
    You can PM me there, username is always Jake Armitage
    https://discord.gg/Wez6GSY

  9. #9

    Default Re: Jackie Fish YouTube MP Battle Videos?

    Yes. I am retired manager/software engineer (CTO actually).

    Most of what I code for games, you can consider utilities, and most are co-resident. This means that they do not alter or patch the game files, but run along side and accomplish their magic either underneath the game via OS (WIN10) or by interacting with the game's UI, but not as a person, but more like a bot.

    The above is WinBatch. It first appeared in the early 90s for Windows 3.0, and has now been sold off and it mainly in maintenance mode.

    Why? Well, because you can get great scripting for free by using: AutoHotKey, PowerShell, Bash, etc... I also script in AutoHotKey.

    ---

    I've never used discord. I will give it a click check it out. Thanks.

  10. #10
    Jake Armitage's Avatar Artifex
    Join Date
    Apr 2011
    Location
    apartment 6
    Posts
    4,040

    Default Re: Jackie Fish YouTube MP Battle Videos?

    really interesting, gonna continue the conversation in discord

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •