Modificare la Mappa con MapUtility HoI2 Doomsday Armageddon Introduzione e obiettivi Dopo aver sbattuto la testa su questo programma per un bel pò di giorni sono riuscito finalmente a svelarne i misteri arcani del suo funzionamento. Con questo programma sarà possibile creare nuove province o unirne più in una, cosi da poter plasmare la mappa a vostro piacimento. Solo 2 sono le limitazioni di questo programma ID liberi, ovvero a gioco non modificato si hanno 40 ID liberi e quindi la possibilità di aggiungere 40 province totalmente nuove. Sinceramente non so se è possibile aggiungere nuovi ID. Connessioni. Le connessioni tra le province (ora sembra un concetto un pò astratto immagino) devono SEMPRE essere 14860, non una di meno, non una di più, in caso contrario si avrà un errore al caricamento del gioco. . . La guida si propone di illustrare il meccanismo tramite cui modificare la mappa accompagnando alla spiegazione anche un'esempio pratico. In questo caso ho scelto come esempio la Sardegna, che nel gioco è un'unica provincia. Spezzeremo quindi la Sardegna in Cagliari e Sassari Prima___________________ Dopo . --------------------------------------------------------------------------------------------------------- Requisiti . MapUtility GIMP e .NET Framework 3.5 Utenti Vista . Preparazione . MapExtractor MapMaker ObjectEditor MapViewer Preparare il materiale per editare la mappa . Editare Mappa . Scritte e sfumature_[colorscales.png] Province_________ .[ProvID.png] Confini___________.[borders.png] Fiumi_____________[tiles.png] . Connessioni . Cosa sono le connessioni? adj-mod.txt . Creare i file per la mappa . Utilizzare il MapMaker Eliminare vecchia mappa con nuova . Dettagli finali . Nome provincia Conformazione territorio e info varie . Link Utili . . --------------------------------------------------------------------------------------------------------- REQUISITI . MapUtility Il programma tramite cui andremo a modificare la mappa è MapUtility di Jamie550 del forum ufficiale Paradox. Questo è il link al suo Topic su paradoxplaza, qui invece la sezione Download da cui poter scaricare il programma. .. Questa guida è stata fatta usando la versione beta 1.2.3, il programma non cambia troppo con le nuove versioni e quindi la guida dovrebbe essere sempre valida. . GIMP e .NET Framework 3.5 Per permettere a MapUtility di funzionare è necessario scaricare e installare sul proprio PC .NET Framework 3.5 scaricabile liberamente da qui . GIMP invece è il "Photoshop Open Source", anche questo liberamente scaricabile dal sito Ufficiale. Non è per forza necessario utilizzare questo programma, ma è essenziale che il programma di grafica che andrete ad usare possa gestire il colore Alpha (quindi Paint NON va bene) . Utenti Vista Purtroppo (per fortuna) non ho Vista e quindi vado per sentito dire.. Per far funzionare il programma con Vista è necessario che il gioco NON si trovi nella cartella Programmi . PREPARAZIONE . MapUtility è formato da 4 subprogrammi, (MapExtractor,MapMaker,ObjectEditor e MapViewer) ognuno svolge una funzione diversa ed è utile farsi un'idea generale prima di iniziare. Dentro ai riquadri "Codice" trovate i file necessari per lanciare il subprogramma in questione MapExtractor Il MapExtractor serve per "estrarre" dai file delle mappe delle immagini che potremo poi modificare a nostro piacimento con un programma di grafica. Va usato soltanto all'inizio e richiede i suoi minuti di lavoro per poter estrarre tutto quanto Più avanti (al punto 2.5) spiegherò più in dettaglio come preparare il materiale, cominciò però già ora ad inserire i file necessari (tutti presenti nella cartella di HoI2 o nel pacco del MapUtility) per far funzionare ogni singolo subprogramma Codice: MapExtractor settings.txt CoreLib.dll Prima di lanciare il file MapExtractor.exe è necessario sistemare il file "settings.txt" in modo tale da indirizzarlo nella cartella di HoI2 che intendete modificare. Aprite il file "settings" con il blocco note, dovreste trovarvi dinanzi queste righe Codice: #This contains settings for MapUtility, and can be shared among the programs #The path to the game #If the game exe is at C:\DD\HoI.exe, this would be GamePath=C:\DD GamePath=[COLOR=Red][B]C:\Programmi\XXX[/B][/COLOR] ... Anziche il testo rosso va inserito l'esatto percorso che porta alla cartella principale di HoI2. Fatto ciò lanciate il MapExtractor[/quote] Il testo va inserito (ovviamente senza il "Cita") subito dopo il messaggio racchiuso in "CODE" al punto 2.1 (Preparazione -> MapExtractor) Dopo che si esegue MapExtractor si crea una cartella dal nome "exported maps" al cui interno troverete tutte le immagini che compongono la mappa *Dopo aver lanciato il MapExtractor questo non chiede alcuna conferma e comincia con la creazione delle immagini. Terminato questo lavoro si chiude da solo automaticamente . MapMaker Il MapMaker è il subprogramma più importante. Dopo che MapExtractor ha terminato di estrarre tutte le immagini e dopo che avete effettuato le modifiche alla mappa avrete bisogno di "ricompattare" le mappe. Crea una nuova mappa che il gioco possa leggere (ovviamente il gioco non può leggere le semplici immagini!). Questa è la schermata di MapMaker quando lo eseguite . Per creare tutti i file mappa correttamente basta eseguire in ordine da 1 a 6 tutti i punti. Il punto 3 e il punto 5 ci mettono qualche minuto a fare tutto, quindi non spaventatevi se vi sembrerà spaventosamente lento Qui invece i file necessari per il suo funzionamento Codice: MapMaker.exe settings.txt CoreLib.dll adj-mod.txt (si crea automaticamente dopo che si ha eseguito MapExtractor) images.txt (si crea automaticamente dopo che si ha eseguito MapExtractor) ids.csv Per funzionare MapMaker deve trovarsi all'interno della cartella "exported maps" creata precedentemente da MapExtractor I file creati da MapMaker vanno a posizionarsi in \exported maps\map. Per sostituire la nuova mappa con la vecchia basta copiare la nuova cartella map (appunto la \exported maps\map) con la vecchia (presente nella cartella principale di HoI) ObjectEditor Questo utile subprogramma facilità di molto il lavoro di posizionamento di porti,AA,forti,armate etc etc, tutto ciò insomma che deve passare per le vostre province. Con un semplice trascinare del mouse potremo comodamente posizionare porti etc Ecco i file necessari al suo funzionamento Codice: ObjectEditor settings.txt CoreLib.dll objects.txt MapViewer Questo subprogramma non è veramente necessario ma si rende utile quando bisogno sistemare le connessioni (capitolo 4). Semplicemente il programma consente di visualizzzare la mappa e posizionandosi con il mouse sopra una provincia di vederne tutte le sue caratteristiche (ID etc) Ecco i file necessari al suo funzionamento Codice: MapViewer settings.txt CoreLib.dll Preparare il materiale per editare la mappa Come prima cosa fare una copia del gioco Dopo aver installato .NET Framework e GIMP scarico MapUtility All'interno del pacco di MapUtility troviamo vari file e cartelle. Al momento ci servono solo i file per poter lanciare il MapExtractor, ovvero i seguenti file: MapExtractor.exe , settings.txt e CoreLib.dll Il file "settings.txt" si trova all'interno della cartella HoI all'interno del pacco di MapUtility. Trascinare i 3 file nella cartella principale del gioco che stiamo andando a modificare. Ora bisogna indirizzare il MapExtractor verso la nostra copia del gioco, quindi aprite il file "settings.txt" con blocco note e a GamePath inserire l'indirizzo del gioco. Fatto ciò lanciate MapExtractor.exe che farà il suo lavoro e si chiudera automaticamente alla fine. Alla fine avremo una cartella (exported maps) da circa 40 mega con al suo interno un centinaio di immagini. Ora siamo pronti per modificare la mappa EDITARE MAPPA . Scritte e sfumature_[colorscales.png] All'interno della cartella exported maps possiamo osservare che ogni sezione di mappa ha 4 file a testa. Uno di questi è il map_X_X.colorscales.png (dove X è la sezione della mappa). Modificando queste immagini potremo cambiare i nomi che si vedono sulla mappa come "Milan", "Genoa" etc Siccome noi siamo interessati a modificare la Sardegna andiamo a modificare l'isola sarda Notare che ho eliminato la scritta "Sardinia" e ho aggiunto "Cagliari" e "Sassari". Il font è più o meno lo stesso che usa la Paradox e lo potete trovare qui Province_________ .[ProvID.png] Con i file map_X_X.ProvID.png andiamo ad indicare al gioco l'area della provincia in questione. Per esempio quando indicheremo ad una divisione di muoversi verso la regione X sarà questo file ad indicare se il click del mouse è stato fatto sulla regione X o sulla regione Y. Può sembrare un concetto difficile ma è in realtà semplicissimo Ogni provincia nel gioco ha un suo colore, ogni ID (il numero che indica la provincia) è unico come è unico il suo colore. Noi siamo interessati a creare una nuova provincia, per far ciò andiamo a prendere l'ID di una provincia libera, per esempio la 2602. Ora dobbiamo colorare la Sardegna in modo tale da creare una nuova provincia, ma quale colore usare? Abbiamo detto che ogni ID ha un suo colore, fortunatamente esiste una lista che indica il colore in RGB (Red, Green, Blue) per ogni ID. Questa lista si trova all'interno del file "Ids.csv" che si trova insieme al pacco del MapUtility, aprire il file ids.csv con il blocco note e cercare "2602". Troverete una riga del genere Codice: 2602;80;128;80 La prima colonna (2602) indica l'ID, la seconda colonna (80) il valore del Red, la terza colonna (128) il colore del Green e la terza colonna (80) il valore del Blue. Inserire questi valori nel vostro programma di grafica e colorare con il colore che ne esce fuori, quello è il colore UNICO per l'ID 2602. Confini___________.[borders.png] Tramite i file map_X_X.borders.png andiamo ad indicare il confine vero e proprio tra due regioni. Con questi file è essenziale mantenere il colore Alpha di sfondo, quindi NIENTE Paint I confini tra terra e mare non vanno mai segnati, solo quelli tra terra e terra Fiumi_____________[tiles.png] Questo è un file che ancora non modifico. Credo basti modificare senza eliminare il colore Alpha per poter aggiungere un fiume. CONNESSIONI Le connessioni sono il punto debole di HoI2 Infatti questo ne accetta solo 14860, non uno di più non uno di meno. Bisognera quindi stare attenti a non sbagliare. Il nuovo MapMaker contiene al suo interno un controllo automatico delle connessioni che avvisa in caso di errore Cosa sono le connessioni? Ecco cosa sono le connessioni Non sono altro che le comunicazioni di andata e ritorno da una provincia all'altra E' un concetto che si apprende più facilmente testando il programma ogni volta che si effettua una modifica alla mappa e osservando il variare delle connessioni . adj-mod.txt Per aggiungere o eliminare connessioni basta modificare il file "adj-mod.txt" presente con il pacco del MapUtility. Nel nostro caso, avendo creato una provincia che confina sia con mare che con terra (il mare a sud della sardegna e Sassari a Nord) abbiamo instantaneamente creato 4 connessioni, portando quindi le connessioni della nostra mappa a 14864 (STANDARD è 14860, e cosi deve essere alla fine delle modifiche). Siccome dobbiamo mantenere 14860 connessioni decidiamo che Sassari non sarà una provincia su cui si potrà sbarcare dai due mari a nord, ma solo da quello a sud, l'immagine qui sotto spiega molto bene la situazione Le connessioni in Rosso le vogliamo rendere non possibili, mentre quelle in azzurro possibili (l'immagine riguarda solo le connessioni della provincia 534 verso il mare) Per far ciò apriamo il file adj-mod.txt e aggiungiamo le seguenti righe Codice: 2438;534;Delete 534;2438;Delete 2439;534;Delete 534;2439;Delete La prima colonna indica "da dove", la seconda "verso dove" e l'ultima è l'azione (che può essere Delete o Add per aggiungere). *Notare che non c'è bisogno di aggiungere le connessioni tra 2602 e 2437 nonostante la provincia sia stata appena creata, il programma crea la connessione instantaneamente CREARE I FILE PER LA MAPPA . Utilizzare il MapMaker Dopo aver modificato la mappa e aver aggiustato le connessioni possiamo creare i file della mappa con il MapMaker Ci bastera lanciare il file MapMaker.exe all'interno della cartella "exported maps" insieme ai suoi altri file necessari ed eseguire da 1 a 6 i punti del MapMaker. Al punto 3 si verrà anche avvisati se le connessioni sono corrette o meno, consiglio di testare più volte questo punto per comprendere a pieno le connessioni Eliminare vecchia mappa con nuova Quando avremo eseguito tutti i 6 punti del MapMaker con successo avremo sicuramente una nuova cartella all'interno di "exported maps" dal nome "map". Semplicemente copiate questa cartella e incollatela nella cartella principale di HoI2 andando a sostituire quella vecchia. Il gioco è fatto, la mappa modificata è ora applicata al gioco DETTAGLI FINALI Nome provincia Ci sono alcuni ultimi dettagli prima di poter giocare con la mappa modificata (anche se il gioco dovrebbe partirvi anche senza questi ultimi ritocchi). In primis il nome della nuova provincia Per assegnare un nome alla provincia appena creata andate in "HoI2\config\province_names.csv" Qui cercate PROVXXX dove XXX è l'ID della provincia appena creata,nel nostro caso 2602. Appena la trovate inserite tra i punti e virgola il nome della provincia . Conformazione territorio e info varie Per indicare al gioco il tipo di territorio (collina, montuoso etc) andate in "HoI2\db\province.csv" Cercate ancora il vostro ID e modificate a vostro piacimento Altro ritocco necessario è l'assegnazione della provincia ad una nazione! Andate in "HoI2\Scenarios\" e cercate il file .inc corrispondente alla nazione a cui volete aggiungere la provincia. Aggiungete l'ID in national, owned e controlled a seconda della necessità. Infine utilizzate l'ObjectEditor per impostare la posizione di porto etc LINK UTILI Font scrittura mappa HoI2 MapUtility Discussion Thread GIMP .NET Framework 3.5 Mini-Guida per i più esperti 1.Estrazione 2.Modifica vari file immagine 3.Eventuale aggiustamento connessioni 4.MapMaker e creazione nuova mappa 5.Sostituzione e dettagli vari
Mi rendo conto che a prima vista può sembrare un volume biblico ^^ Ma vi assicuro che dopo la prima provincia modificata con successo non si incontrano più difficoltà. Un ringraziamento a Jamie550 per aver fornito questo ottimo programma, spero la guida possa servire a qualcuno Per qualsiasi info o altro chiedete pure
Avviso che è uscita da poche ore anche una guida in inglese http://forum.paradoxplaza.com/forum/showthread.php?p=8683174 Si trovano info interessanti per quanto riguarda il come modificare più facilmente le immagini della mappa Ciau
Lenfil che dire!!! Grazie!!! Sei un mito! Hai usato pure la mia regione! Darsky dovrebbe regalarti una medaglia!
Problema con MOD Ciao ragazzi...ho un problema che mi impedisce di moddare la mappa...praticamente quando tento di estrarre la mappa mi dice che c'è un problema con "adjacent.tbl", che ho visto si trova all'interno della cartella MAP.Premetto che ho seguito alla lettera le indicazioni postate...grazie e ciao
Grazie per la guida! Una domanda: ma è possibile anche creare mappe interamente nuove? E nel caso mi sai dire come si fa, o dare un link dove trovare indicazioni? Grazie mille!
Scusa per il ritardo della risposta, ma mi trovavo in Toscana Posta uno screen dell'errore e vedrò come posso aiutarti Be la dimensione è sempre la stessa, volendo puoi fare una mappa molto più dettagliata "tagliando" fuori il resto del mondo. E' un pò quello che stiamo facendo con il mod della guerra civile in Italia Ciau
Cavoli fantastico !!!! Finiti questi cavoli di esami di recupero voglio assolutamente provare...grazie Lenfil
Scusa il ritardo ...questa è la schermata nel file "log"... Log of MapExtractor v1.0.2.0 Logging started at: 08/08/2008 16.19.05 UTC Successfully reached start. Since there were no arguments, doing default extract Extracting from command -extract Did not need to create exported maps directory. Successfully created default images.txt ################################# An exception has occurred. ################################# Exception: System.Exception 08/08/2008 16.19.06 Message: Missing file! Source: MapExtractor STACK TRACE MapUtility.AdjacentTable get_AdjacentTable() in MapUtility.Global.get_AdjacentTable() in MapUtility.Extraction.ExtractImages(Int32 offsetX, Int32 offsetY, Int32 imageSizeX, Int32 imageSizeY, Int32 numImagesX, Int32 numImagesY) in MapUtility.Extraction.DefaultExtract() in MapUtility.Program.StartupWork(String[] args) in MapUtility.Program.Main(String[] args) Non so se è chiara...spero di si grazie ciao
dimenticavo...riguarda Victoria...ma il procedimento credo sia lo stesso(con HOI mi appare la stessa schermata) ciao
Diamine, colpa mia Nel tutorial, nelle fasi iniziali, mi sono dimenticato di inserire un piccolo appunto. Non ti funziona perchè il file "settings.txt" non è stato settato correttamente. Come puoi vedere per far funzionare il MapExtractor servono il "corelib.dll", "mapextractor.exe" e appunto "settings.txt". Apri il file "settings.txt" con un blocco note, dovresti trovare queste righe Codice: #This contains settings for MapUtility, and can be shared among the programs #The path to the game #If the game exe is at C:\DD\HoI.exe, this would be GamePath=C:\DD [COLOR=Black] GamePath=[/COLOR][B][COLOR=Red]D:\Games\Copia (5) di Hearts of Iron 2 Doomsday ARMAGEDDON TEST[/COLOR][/B] #The max province number MaxProvinceNumber=2608 #The width and height of lightmap1, the biggest one. #The width and height are in blocks (each block is 32x32 pixels) Lightmap1Width=936 Lightmap1Height=360 #The number of lightmaps #Currently, only NumLightmaps=3 and NumLightmaps=4 are supported NumLightmaps=4 #The width in bytes of each offset in the lightmap header #Currently only 3 and 4 are supported LightmapOffsetWidth=4 IdsAreNewWay=true #The width of each value in index.tbl, in bytes #Currently only 2 and 4 are supported IndexTblValueWidth=4 #The number of entries that should be in the adjacent table #This is strictly optional #Usually used only with HoI AdjacentTableEntryCount=14860 La parte che vedi in rosso è quella che devi aggiungere. Ovviamente dovrai ridirigere nella tua cartella di HoI2 (nel mio caso appunto D:\Games etc) Ritoccato quello il MapExtractor ti dovrebbe funzionare correttamente. Adesso contatto un moderatore in privato e gli chiedo se può aggiungere questa piccola parentesi nel mio primo messaggio..scusa se ti ho fatto impazzire per nulla Ciau
OT: Ah, la mia terra... Dove eri di bello? :humm: Quindi, se ho ben capito, ho ragione io: non posso cancellare la mappa attuale, e disegnarne una ex novo, inventata di sana pianta... Sono legato al planisfero con i continenti di questo pianeta... Giusto?
Campeggio a Castiglione della Pescaia in provincia di Grosseto. Davvero un bel posto per campeggiare! Quello che dici è vero in parte. Diciamo che tu hai a disposizione la dimensione della mappa, dentro questa puoi farci qualsiasi cosa. Per esempio io sto "eliminando" il mondo per fare una mappa molto dettagliata dell'Italia (una mappa che comprenda SOLO l'Italia), come puoi vedere non sono legato in alcun modo ai continenti del pianeta ma solo alla dimensione massima della mappa. Se è possibile aumentare la dimensione della mappa questo non lo so Spero di aver chiarito i dubbi,nel caso sono qua Ciau
A circa un quarto d'ora di macchina da casa mia! Era esattamente quello che volevo sapere, grazie mille! Mi si aprono innanzi ricchissime possibilità... :sbav: Non mi resta che scrivere la tesi, discuterla, iscrivermi alla specialistica, frequentare i corsi, e poi magari avrò il tempo di mettere le mani su quello che vorrei fare...
ragazzi sono riuscito ad estrarre e modificarel a mappa graficamente, ma ho un problema con mapmaker: appena lo copio in exported maps e lo carico si impalla e si chiude automaticamente. ci sto perdendo 2 giorni x colpa di questo errore! non mi fa neppure il log, quindi non so per quale motivo non va