Greek Civilization MOD v 1.6 'Ghê' [ModDB Release]

« Older   Newer »
 
  Share  
.
  1.     +1   -1
     
    .
    Avatar

    Guerriero

    Group
    Eroi
    Posts
    1,112
    Reputation
    +36
    Location
    Eboli(SA)

    Status
    Offline

    :gcol: GREEK CIVILIZATION MOD v 1.6 'Ghê' :gcol:



    Ciao a tutti!

    Dopo 2 (quasi) mesi di lavoro, abbiamo completato l'update della GreekMod.

    Siamo riusciti ad aprire il file config.ini che permette delle modifiche alla parte audio, online e al motore del gioco. Non conosciamo approfonditamente questi settaggi, quindi vi invitiamo di fare prima un backup del file prima di testare qualcosa. Grazie a questo file, come anticipato su telegram, siamo riusciti a rendere funzionante e senza problemi il cambio di risoluzione senza errori alle finestre di windows.

    Abbiamo aggiunto i video doppiati in inglese alle Grandi Battaglie, Grandi Sfide, Campagne di Annibale e alle Guerre Puniche, con doppiaggio originale delle unità di Roma, Iberia, Gallia e Cartagine.

    Abbiamo aggiunto altre due piccole avventure, prese dal vecchio capitolo, l'assedio di osca e l'assedio di Sagunto.

    In fine, abbiamo risolto il fastidioso bug del pescatore, che non permetteva il reclutamento nel villaggio.

    :notif: La MOD può essere scaricata cliccando sul bottone qui sotto.

    :notif: Changelog qui.


    Greek Mod 'Ghê' 1.6
    Greek Civilization Mod


    Fateci sapere cosa ne pensate!

    A presto!


    Hello everyone!

    After 2 (almost) months of work, we completed the GreekMod update.

    We were able to open the config.ini file which allows changes to the audio, online and game engine. We don't know these settings in detail, so we invite you to make a backup of the file first before testing something. Thanks to this file, as anticipated on telegram, we were able to make the change of resolution without errors in Windows.

    We added the English dubbed videos to the Great Battles, Great Challenges, Hannibal's Campaigns and the Punic Wars, with original dubbing of the units of Rome, Iberia, Gaul and Carthage.

    We have added two other little adventures, taken from the old chapter, the siege of Osca and the siege of Sagunto.

    In the end, we solved the annoying bug of the fisherman, which did not allow recruitment in the village.


    :notif: The MOD can be downloaded by clicking on the button below.

    :notif: Changelog here.

    Give us your feedback :)

    See you soon!


    Greek Mod 'Ghê' 1.6
    Greek Civilization Mod

    Edited by Razor - 4/19/2020, 11:05 AM
     
    .
  2.     +1   +1   -1
     
    .
    Avatar

    Contadino

    Group
    Member
    Posts
    13
    Reputation
    +2

    Status
    Offline
    1.1GB è praticamente l'intero gioco.

    DisableExceptionHandler Se funziona ho svoltato, sai che goduria poter usare winedbg per i crash invece di quei log che manco una stacktrace ti danno.

    (Sono sotto wine e ha volte è utile sapere sei il crash si verifica all'interno di wine o dell'eseguibile)
     
    .
  3.     +1   -1
     
    .
    Avatar

    Guerriero

    Group
    Eroi
    Posts
    1,112
    Reputation
    +36
    Location
    Eboli(SA)

    Status
    Offline
    Sì, potrebbe svoltare la situazione, purtroppo non ho potuto testare approfonditamente con wine, facci sapere cosa riesci a fare :)
     
    .
  4.     +1   -1
     
    .
    Avatar

    Guerriero

    Group
    Nobili
    Posts
    1,108
    Reputation
    +45
    Location
    Bologna

    Status
    Offline
    Se la scarico si sostituisce automaticamente alla vecchia versione della Greek MOD?
    In tal caso faccio un ulteriore back-up
     
    .
  5.     +1   -1
     
    .
    Avatar

    Guerriero

    Group
    Eroi
    Posts
    1,112
    Reputation
    +36
    Location
    Eboli(SA)

    Status
    Offline
    Puoi riscrivere, non ci dovrebbero essere problemi, controlla bene quello che fai per sicurezza.
     
    .
  6.     +1   -1
     
    .
    Avatar

    Contadino

    Group
    Member
    Posts
    13
    Reputation
    +2

    Status
    Offline
    @TheDastanMR

    Ho una domanda:
    Ho visto che l'eseguible è diverso, per introdurre la grecia al posto di una delle due rome.
    Avete mai pensato invece di modificare direttamente l'eseguibile ad un injector?
    In questo modo si può tenere l'eseguibile "vergine" ed aplicare le modifiche in maniera dinamica.

    Oltretutto quanto è hardcoded la lista delle civiltà e il suo numero di elementi? (In senso il numero degli elementi è una costante salvata in memoria riferita da diverse parti del codice o è usata come valore fisso inline ogni volta che si richiede l'uso della lista delle civiltà?)
     
    .
  7.     +1   -1
     
    .
    Avatar

    Guerriero

    Group
    Eroi
    Posts
    1,112
    Reputation
    +36
    Location
    Eboli(SA)

    Status
    Offline
    CITAZIONE (llde @ 10/3/2020, 23:26) 
    @TheDastanMR

    Ho una domanda:
    Ho visto che l'eseguible è diverso, per introdurre la grecia al posto di una delle due rome.
    Avete mai pensato invece di modificare direttamente l'eseguibile ad un injector?
    In questo modo si può tenere l'eseguibile "vergine" ed aplicare le modifiche in maniera dinamica.

    Oltretutto quanto è hardcoded la lista delle civiltà e il suo numero di elementi? (In senso il numero degli elementi è una costante salvata in memoria riferita da diverse parti del codice o è usata come valore fisso inline ogni volta che si richiede l'uso della lista delle civiltà?)

    Abbiamo dovuto modificare delle cose per inserire la civiltà greca, sostituendo RomeImperial in Greece, niente di più.
    In passato abbiamo cercato di "aprire" il gioco e di creare una versione open del motore utilizzando Assembly o anche Ghidra, poi abbiamo abbandonato l'idea ma utilizzando quello che abbiamo scoperto (ad esempio config.ini). Non penso che continueremo con questa idea, imperivm è un bel casino anche aperto con ghidra ad esempio.

    Ogni civiltà corrisponde ad un numero fisso nel codice e quindi salvato nella memoria, che sono 10 (le 8 normali + Unknow + Random). Questo è un modo un pò incasinato di impostare le civ xD
     
    .
  8.     +1   -1
     
    .
    Avatar

    Contadino

    Group
    Member
    Posts
    13
    Reputation
    +2

    Status
    Offline
    A ok.
    Volvevo segnalare un crash del launcher all'interno del layer dotnet: Fallisce con un eccezione "File Non trovato" in chiusura.
    MAgari (anzi probabilmente) è un quirk di wine, ma sapere che file cerca potrebbe essere utile nel bug report.
    0009:fixme:advapi:RegisterEventSourceW ((null),L".NET Runtime"): stub
    0009:fixme:advapi:ReportEventW (0xcafe4242,0x0001,0x0000,0x00000402,(nil),0x0001,0x00000000,0x32daf0,(nil)): stub
    0009:err:eventlog:ReportEventW L"Application: ImperivmLauncher.exe\nFramework Version: v4.0.30319\nDescription: The process was terminated due to an unhandled exception.\nException Info: System.ComponentModel.Win32Exception\nStack:\n at System.Diagnostics.Process.StartWithShellExecuteEx(System.Diagnostics.ProcessStartI"...
    0009:fixme:advapi:DeregisterEventSource (0xcafe4242) stub

    Unhandled Exception: 0009:fixme:ver:GetCurrentPackageId (0x32c1f0 (nil)): stub
    System.ComponentModel.Win32Exception: File non trovato
    at System.Diagnostics.Process.StartWithShellExecuteEx(ProcessStartInfo startInfo)
    at System.Diagnostics.Process.Start()
    at VPNSharp.PPTP.Disconnect()
    at ImperivmLauncher.App.Application_Exit(Object sender, ExitEventArgs e)
    at System.Windows.ExitEventHandler.Invoke(Object sender, ExitEventArgs e)
    at System.Windows.Application.OnExit(ExitEventArgs e)
    at System.Windows.Application.DoShutdown()
    at System.Windows.Application.ShutdownImpl()
    at System.Windows.Application.ShutdownCallback(Object arg)
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
    at System.Windows.Threading.DispatcherOperation.InvokeImpl()
    at System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(Object state)
    at System.Threading.ExecutionContext.RunInternal(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state, Boolean preserveSyncCtx)
    at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
    at System.Windows.Threading.DispatcherOperation.Invoke()
    at System.Windows.Threading.Dispatcher.ProcessQueue()
    at System.Windows.Threading.Dispatcher.WndProcHook(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    at MS.Win32.HwndWrapper.WndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam, Boolean& handled)
    at MS.Win32.HwndSubclass.DispatcherCallbackOperation(Object o)
    at System.Windows.Threading.ExceptionWrapper.InternalRealCall(Delegate callback, Object args, Int32 numArgs)
    at MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen(Object source, Delegate method, Object args, Int32 numArgs, Delegate catchHandler)
    at System.Windows.Threading.Dispatcher.LegacyInvokeImpl(DispatcherPriority priority, TimeSpan timeout, Delegate method, Object args, Int32 numArgs)
    at MS.Win32.HwndSubclass.SubclassWndProc(IntPtr hwnd, Int32 msg, IntPtr wParam, IntPtr lParam)
    at MS.Win32.UnsafeNativeMethods.DispatchMessage(MSG& msg)
    at System.Windows.Threading.Dispatcher.PushFrameImpl(DispatcherFrame frame)
    at System.Windows.Threading.Dispatcher.PushFrame(DispatcherFrame frame)
    at System.Windows.Threading.Dispatcher.Run()
    at System.Windows.Application.RunDispatcher(Object ignore)
    at System.Windows.Application.RunInternal(Window window)
    at System.Windows.Application.Run(Window window)
    at System.Windows.Application.Run()
    at ImperivmLauncher.App.Main()
    wine: Unhandled exception 0xe0434352 in thread 9 at address 7B00DE47 (thread 0009), starting debugger...


    Edited by TheDastanMR - 10/3/2020, 23:46
     
    .
  9.     +1   -1
     
    .
    Avatar

    Guerriero

    Group
    Eroi
    Posts
    1,112
    Reputation
    +36
    Location
    Eboli(SA)

    Status
    Offline
    Si, probabilmente riguarda wine.
    Il launcher dà un pò di problemini sotto wine.
    Se ti serve cambiare risoluzione, nel frattempo puoi farlo da solo andando in config.ini, data/const.ini e in data/Interface/Menu/Template.ini
    E dove viene chiamata la risoluzione, imposti la tua.
     
    .
  10.     +1   -1
     
    .
    Avatar

    Contadino

    Group
    Member
    Posts
    13
    Reputation
    +2

    Status
    Offline
    Il launcher funziona bene una volta installato dotnet tranne questo specifico errore che si verifica alla chiusura (e qualche glitch grafico che si risolve forzando un redraw dello schermo, forse risolvibile con DXVK o Gallium9). Che file sta tentando di aprire?
    (Sto tentando di collezionare più info possibile prima di aprire un report su bugzilla)

    Posso invece confermare che DisableExceptionHandler=1 funziona e disabilita realmente l'Exception Handler globale di imperium.
     
    .
  11.     +1   -1
     
    .
    Avatar

    Guerriero

    Group
    Eroi
    Posts
    1,112
    Reputation
    +36
    Location
    Eboli(SA)

    Status
    Offline
    Forse sono i file che servono a wine per capire le diretcx

    Ottima notizia! Ci fa molto piacere!
     
    .
  12.     +1   -1
     
    .
    Avatar

    Contadino

    Group
    Member
    Posts
    13
    Reputation
    +2

    Status
    Offline
    0009:trace:exec:SHELL_execute mask=0x00000540 hwnd=(nil) verb=(null) file=L"rasdial" parm=L"/disconnect" dir=(null) show=0x00000000 class=not used
    0009:fixme:exec:SHELL_execute flags ignored: 0x00000100
    0009:trace:exec:ShellExecute_FromContextMenu L"rasdial"
    0009:trace:exec:ShellExecute_GetClassKey ext = L""
    0009:trace:exec:ShellExecute_GetClassKey class = (null)
    0009:trace:exec:SHELL_execute execute:L"rasdial",L"/disconnect",L""
    0009:trace:exec:SHELL_ExecuteW Execute L"\"rasdial\" /disconnect" from directory L""
    0009:trace:exec:SHELL_ExecuteW returning 2
    0009:trace:exec:SHELL_FindExecutable L"rasdial"
    0009:trace:exec:SHELL_FindExecutable Returning SE_ERR_FNF
    0009:trace:exec:SHELL_execute retval 2

    Sembra che a chiusura dell'eseguibile la runtime stia tentando di invocare l'eseguibile rasdial con opzione /disconnect

    è qualcosa che è all'interno del vostro codice o è qualcosa all'interno della runtime dotnet?
     
    .
  13.     +1   -1
     
    .
    Avatar

    Guerriero

    Group
    Eroi
    Posts
    1,112
    Reputation
    +36
    Location
    Eboli(SA)

    Status
    Offline
    Nostro codice?
    Penso che sia all'interno di Imperivm.
     
    .
  14.     +1   -1
     
    .
    Avatar

    Contadino

    Group
    Member
    Posts
    13
    Reputation
    +2

    Status
    Offline
    Nel codice del launcher intendo.
    Imperium non è attivo quando questo si verifica.

    Rasdial sembra un programma del sistema per connettersi ad una VPN

    Edited by llde - 11/3/2020, 00:22
     
    .
  15.     +1   -1
     
    .
    Avatar

    Guerriero

    Group
    Eroi
    Posts
    1,112
    Reputation
    +36
    Location
    Eboli(SA)

    Status
    Offline
    Ahhhhh..
    Non ti so dire, se è del launcher allora richiama la vecchia funzione per collegarsi alla vpn, ormai rimossa.
     
    .
92 replies since 9/3/2020, 00:03   2143 views
  Share  
.