Jump to content
Rpg²S Forum

RpgmakerAC (Asset Converter)


Recommended Posts

L'obiettivo è quello di creare proprio un Editor di tileset per i vari tool.

 

Gli strumenti realizzati fino ad ora, sono la base per l'editor completo.
Ovvero, tutte le screen che hai visto fino ad ora, convertono interamente un Tileset o chipset da un tool all'altro.

Questo fatto apposta per l'utente che desidera convertire un intero tileset di xp esempio ad mv, mz o ace.

 

Ma quello che intendo realizzare come editor finale (per ogni tool ovviamente) è esempio.

Editor 2k3:

 

Si ha tutto il template.
Ogni set particolare ad esempio Autotile, o acqua, viene contrassegnato come blocchi da 3 o da 1 un unico pezzo.
Cliccando nell'area evidenziata si apre un dialogo dove scegli che tipo di risorsa vuoi aggiungere.
Esempio un autotile del mv/mz, o uno di xp.
Automaticamente, ridimensiona e riposiziona gli elementi per adattarli all'editor del 2k3 compreso la conversione di colore etc.

 

Di recente in fatti, ho realizzato uno strumento per la conversione dell'autotile acqua di 2k3 a tutti i tool.
è ancora da migliorare l'algoritmo, visto che posso recuperare porzioni di solo 4 / 8 pixel per ricreare un intera struttura a 32 o 64 pixel.

 

Ad esempio questa

 

kPV6gQ.png

 

 

Ci sono ancora dei piccoli artefatti grafici da correggere, ma come primo approccio penso vada più che bene.

 

 

gt%2FSq1.png

 

Purtroppo ogni tool è a se, usa un suo sistema.

 

 

Per ora mi sto concentrando alla realizzazione delle Scene Editor.
Penso qualche altra settimana e riuscirò a dare almeno una versione di prova.

 

Diciamo che è tutto pronto, ma manca ancora qualcosa e qualche bugfix da fare.
Ma in teoria attualmente potrebbe funzionare senza problemi

 

 

per il resto se intendi questo per risorse autonome si.
posizionabile,e selezionabile un elemento per ogni tool e convertilo in automatico sul tileset in disegno.

Edited by Thejuster

Rpgmaker Asset Converter & UI Tool by Making Italia


______________________________________________________
Produzione Software, Componenti e Controlli
_______________________________________________________

*** Linguaggi di Programmazione Conosciuti e competenze Tecniche ***

C#, Javascript, Java, PHP, SQL, Autoit , JQuery, HTML, HTML5, C++, VB.NET,
Android, DirectX, HLSL, XML, Access, LUA, Delphi, Pascal, Assembly, Fortan, Angular JS

Python, Delphi, OpenGL, Git, Bash, ASP, CMake, WinService


Making Italia

 

Link to comment
Share on other sites

  • 3 weeks later...
  • Replies 72
  • Created
  • Last Reply

Top Posters In This Topic

Buonasera a tutti.
Volevo avvisare che proprio ieri ho rilasciato una nuova versione contenente la beta per la Scene Editor.

 

Tra qualche giorno, caricherò un ulteriore aggiornamento con l'aggiunta di un updater migliore, ed alcuni bugfix e nuovi moduli.

 

Piccolo Video Tutorial in italiano che spiega passo dopo passo come funziona L'editor di scene con tanto di esempio finale.

 

 

Rpgmaker Asset Converter & UI Tool by Making Italia


______________________________________________________
Produzione Software, Componenti e Controlli
_______________________________________________________

*** Linguaggi di Programmazione Conosciuti e competenze Tecniche ***

C#, Javascript, Java, PHP, SQL, Autoit , JQuery, HTML, HTML5, C++, VB.NET,
Android, DirectX, HLSL, XML, Access, LUA, Delphi, Pascal, Assembly, Fortan, Angular JS

Python, Delphi, OpenGL, Git, Bash, ASP, CMake, WinService


Making Italia

 

Link to comment
Share on other sites

Ottimo l'avere un tutorial passo passo per il programma, anche se è già intuitivo di suo. Non sarebbe male farne uno anche in inglese per il grande pubblico.

^ ^

 

(Consiglierei di mettere il link alla pagina itch.io sotto ogni video, in descrizione, e magari anche al primo post qui sul forum; ho dovuto girare un pochino per trovarlo >

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

  • 3 months later...

Giorno amici e da tanto che non ci sentivamo.

Di tanto in tanto porto nuovità per chi magari non segue il progetto.

Riguardo al generatore di script, ho deciso di eliminare ogni singolo blocco evento ed aggiungerne solo uno.
Apparirà come in foto

gzxxJ0.png

Basta semplicemente fare un doppio click sul Modulo per avere una schermata simile a quella di Rpgmaker per inserire eventi di manipolazione come Cambia Switch, Cambia Variabile, Modifica Oro, Oggetti, Salute ecc. ecc.

 

Per quanto riguarda il reparto Tileset.
Sto iniziando da poco a progettare L'editor avanzato.
Che sarà disponibile sempre unicamente nella versione completa.

 

HQ3Hw3.png


In questo esempio si tratta dell'editor di Rpgmaker 2000/3
Ci permette in pratica di usare qualsiasi elemento grafico di qualsiasi set aperto ( Autotile, A,B,C,D) ecc.

La parte sinistra contiene gli elementi caricati nell'editor.
A destra sono gli elementi Ancorati.
Facendo un doppio click sull'elemento a sinistra si aprirà una finestra come quella posizionata al centro, in seguito, si può ancorare a destra o dove si vuole.

Contemporaneamente su tutte le finestre grafiche aperte, e possibile selezionare uno o piu elementi da tenere in memoria per poi andare a posizionare l'elemento sul template che sarà il risultato finale.

Il programma capirà in automatico di che risorsa si tratta se di XP, VX o MV /MZ.

per poi adattare il contenuto per il template scelto.

 

Per ora procede benone, Ho solo un piccolo problemino con il passaggio dei dati tramite puntatori ma, i problemi sono fatti per essere risolti.

Certo, richiederà un pò di tempo prima di essere funzionale al 100% ma il funzionamento sarà come citato.

Spero vi piaccia la news e di come procede il progetto.
Soprattutto ringrazio a chi sta sostenendo il progetto per la cifra irrisoria.

Rpgmaker Asset Converter & UI Tool by Making Italia


______________________________________________________
Produzione Software, Componenti e Controlli
_______________________________________________________

*** Linguaggi di Programmazione Conosciuti e competenze Tecniche ***

C#, Javascript, Java, PHP, SQL, Autoit , JQuery, HTML, HTML5, C++, VB.NET,
Android, DirectX, HLSL, XML, Access, LUA, Delphi, Pascal, Assembly, Fortan, Angular JS

Python, Delphi, OpenGL, Git, Bash, ASP, CMake, WinService


Making Italia

 

Link to comment
Share on other sites

Quote

Basta semplicemente fare un doppio click sul Modulo per avere una schermata simile a quella di Rpgmaker per inserire eventi di manipolazione come Cambia Switch, Cambia Variabile, Modifica Oro, Oggetti, Salute ecc. ecc.

Suona familiare come cosa, dovrebbe essere apprezzata dato che Rpg Maker di base non ha sistemi a grafo.

Quote

Contemporaneamente su tutte le finestre grafiche aperte, e possibile selezionare uno o piu elementi da tenere in memoria per poi andare a posizionare l'elemento sul template che sarà il risultato finale.

Il programma capirà in automatico di che risorsa si tratta se di XP, VX o MV /MZ.

Libera e comoda soluzione anche questa! ^ ^

Maledetti puntatori, il professore di C diceva sempre che erano complessi, ma che in compenso la maggior parte degli errori dipendesse da essi, quindi si sapeva dove andare a cercare. E io pensavo sempre che gli altri tipi di errori rimanessero, semplicemente si aggiungevano pure quelli dei puntantori! XD

(\_/)
(^ ^) <----coniglietto rosso, me!
(> <)


Il mio Tumblr dove seguire i miei progetti, i progetti della Reverie : : Project ^ ^

http://i.imgur.com/KdUDtQt.png disponibile su Google Play, qui i dettagli! ^ ^

http://i.imgur.com/FwnGMI3.png completo! Giocabile online, qui i dettagli! ^ ^

REVERIE : : RENDEZVOUS (In allenamento per apprendere le buone arti prima di cominciarlo per bene ^ ^) Trovate i dettagli qui insieme alla mia intervista (non utilizzerò più rpgmaker) ^ ^

 

SUWOnzB.jpg 🖤
http://www.rpg2s.net/dax_games/r2s_regali2s.png E:3 http://www.rpg2s.net/dax_games/xmas/gifnatale123.gif
http://i.imgur.com/FfvHCGG.png by Testament (notare dettaglio in basso a destra)! E:3
http://i.imgur.com/MpaUphY.jpg by Idriu E:3

Membro Onorario, Ambasciatore dei Coniglietti (Membro n.44)

http://i.imgur.com/PgUqHPm.png
Ufficiale
"Ad opera della sua onestà e del suo completo appoggio alla causa dei Panda, Guardian Of Irael viene ufficialmente considerato un Membro portante del Partito, e Ambasciatore del suo Popolo presso di noi"


http://i.imgur.com/TbRr4iS.png<- Grazie Testament E:3
Ricorda...se rivolgi il tuo sguardo ^ ^ a Guardian anche Guardian volge il suo sguardo ^ ^ a te ^ ^
http://i.imgur.com/u8UJ4Vm.gifby Flame ^ ^
http://i.imgur.com/VbggEKS.gifhttp://i.imgur.com/2tJmjFJ.gifhttp://projectste.altervista.org/Our_Hero_adotta/ado2.png
Grazie Testament XD Fan n°1 ufficiale di PQ! :D

Viva
il Rhaxen! <- Folletto te lo avevo detto (fa pure rima) che non
avevo programmi di grafica per fare un banner su questo pc XD (ora ho di
nuovo il mio PC veramente :D)

Rosso Guardiano della
http://i.imgur.com/Os5rvhx.png

Rpg2s RPG BY FORUM:

Nome: Darth Reveal

 

PV totali 2
PA totali 16

Descrizione: ragazzo dai lunghi capelli rossi ed occhi dello stesso colore. Indossa una elegante giacca rossa sopra ad una maglietta nera. Porta pantaloni rossi larghi, una cintura nera e degli stivali dello stesso colore. E' solito trasportare lo spadone dietro la schiena in un fodero apposito. Ha un pendente al collo e tiene ben legato un pezzo di stoffa (che gli sta particolarmente a cuore) intorno al braccio sinistro sotto la giacca, copre una cicatrice.
Bozze vesti non definitive qui.

Equipaggiamento:
Indossa:
60$ e 59$ divisi in due tasche interne
Levaitan

Spada a due mani elsa lunga

Guanti del Defender (2PA)
Anello del linguaggio animale (diventato del Richiamo)

Scrinieri da lanciere (2 PA)

Elmo del Leone (5 PA)

Corazza del Leone in Ferro Corrazzato (7 PA)

ZAINO (20) contenente:
Portamonete in pelle di cinghiale contenente: 100$
Scatola Sanitaria Sigillata (può contenere e tenere al sicuro fino a 4 oggetti curativi) (contiene Benda di pronto soccorso x3, Pozione di cura)
Corda
Bottiglia di idromele
Forma di formaggio
Torcia (serve ad illuminare, dura tre settori)

Fiasca di ceramica con Giglio Amaro (Dona +1PN e Velocità all'utilizzatore)
Ampolla Bianca

Semi di Balissa

 

CAVALLO NORMALE + SELLA (30 +2 armi) contentente:
66$
Benda di pronto soccorso x3
Spada a due mani

Fagotto per Adara (fazzoletto ricamato)


 

Link to comment
Share on other sites

2 hours ago, Guardian of Irael said:

Maledetti puntatori, il professore di C diceva sempre che erano complessi, ma che in compenso la maggior parte degli errori dipendesse da essi, quindi si sapeva dove andare a cercare. E io pensavo sempre che gli altri tipi di errori rimanessero, semplicemente si aggiungevano pure quelli dei puntantori! XD

 

haha come dargli torto! XD
Basta una inizializzazione non corretta di un oggetto per avere un crash.
Molte delle volte purtroppo non riesco nemmeno a comprendere il perché succeda, ma succede >_-
E cosa piu strana, 10 volte và, 2 volte no. Sicuramente è un errore della memoria gestita in modo errata. Purtroppo non sono un ingegnere della nasa ma appassionato della programmazione XD

Un problema che sto affrontando ora e che l'immagine selezionata di un anonimo tile le prende e la mostra correttamente, ma quando la invio dalla finestra al comparto rendering ho un null exception.
E sta cosa mi sta facendo sbroccare perché se la mostra non è null invece passandola ad un'altra classe, qualcosa si perde per strada.
"Maledetto GPS" cit.

Rpgmaker Asset Converter & UI Tool by Making Italia


______________________________________________________
Produzione Software, Componenti e Controlli
_______________________________________________________

*** Linguaggi di Programmazione Conosciuti e competenze Tecniche ***

C#, Javascript, Java, PHP, SQL, Autoit , JQuery, HTML, HTML5, C++, VB.NET,
Android, DirectX, HLSL, XML, Access, LUA, Delphi, Pascal, Assembly, Fortan, Angular JS

Python, Delphi, OpenGL, Git, Bash, ASP, CMake, WinService


Making Italia

 

Link to comment
Share on other sites

  • 3 months later...

Buongiorno ragazzi.
Prima di natale, ho voluto affrettare lo sviluppo per rilasciare almeno l'editor completo di chipset.

 

Chi non ha seguito gli sviluppi, è stato introdotto un filtro molto particolare.
Possiamo definirlo unico nel suo genere.

Cosa fa? 
Potremmo definirlo un interpolazione lineare invertita.
Anche se c'è molto di più dietro le quinte.

Trasforma un'immagine di alta qualità in una pixellata.

Ad esempio:

Screenshot-2024-12-15-115039.png

 

oppure un intero tileset

 

Screenshot-2024-12-15-115448.png

 

Il filtro ovviamente ha piu effetto su immagini di alta qualità.
I passaggi, servono ad indicare quanto preciso deve essere il filtro.
Meno passaggi farà, più pixel saranno visibili. 
C'è appunto il preview per capire quale risultato vogliamo ottenere.

Attualmente ho impostato un limite di 15 passaggi.
Anche se non sembra è un calcolo enorme.

Prendiamo come esempio questo tile.
che mi sura 768 x 576  sono  un totale di 442.368 pixel  * Passaggi 
Presumiamo 15 ( 442.368 * 15 ) = 6.635.520

Quindi l'algoritmo eseguirà un controllo di 6.635.520 pixel in meno di 5 secondi. 😅
Oltre ovviamente a quello che deve fare per renderli pixellosi.
Quindi c'è un bel lavorone dietro.

Oltre a questo, la vera chicca e l'editor.
Un convertitore di risorse in tempo reale da piazzare direttamente sul template.

Senza fare molte chiacchiere vi mostro direttamente il video di presentazione spero che vi piaccia.

 

 

 

 

Rpgmaker Asset Converter & UI Tool by Making Italia


______________________________________________________
Produzione Software, Componenti e Controlli
_______________________________________________________

*** Linguaggi di Programmazione Conosciuti e competenze Tecniche ***

C#, Javascript, Java, PHP, SQL, Autoit , JQuery, HTML, HTML5, C++, VB.NET,
Android, DirectX, HLSL, XML, Access, LUA, Delphi, Pascal, Assembly, Fortan, Angular JS

Python, Delphi, OpenGL, Git, Bash, ASP, CMake, WinService


Making Italia

 

Link to comment
Share on other sites

  • 1 month later...

Domanda con richiesta di due feature:

la prima: quando si converte chipset da 2003 a MZ, i fogli di destinazione dovrebbero essere due quadrati di 768 per lato, così da evitare di dividere i chipset in 2 se non c'è bisogno

la seconda, collegata alla prima: è possibile aggiungere l'opzione di NON upscalare automaticamente visto che in MZ è possibile selezionare la dimensione delle tile 16 32 e 48?

Link to comment
Share on other sites

  • 2 weeks later...

Uhm ho notato ora.
Eppure ero sicuro di aver seguito i vari template di MZ.

Mi era sfuggita la parte per quel che riguarda la possibilità di scegliere da MZ i tiles.
Non sapevo di questa opzione.

Ma a tal proposito prima di questa discussione stavo lavorando ad un eventuale filtro proprio per l'upscaling.
Per evitare l'impatto visivo dei pixel

(Se noti i dettagli, nella screen "DOPO" i vari colori sono sfumati e non netti e precisi)

 

test2.png.96ff457d58857058995f184312777f5e.png

 


Ero impegnato proprio per lavorare a questo problema.
Perché eseguendo un upscaling, si ingrandisce solo l'immagine ma non i dettagli.
Anzi, alcuni vengono pure persi, quindi questo filtro risolveva il problema dell'upscaling.

Non è un semplice, "Prendi l'immagine e ingrandiscila". Ma c'è tutto un processo dietro, simile al precedente pixelizer. Ma in questo caso fa l'opposto. Anziché pixellare, ne aumenta i dettagli.

 

 

Screenshot-2025-01-29-073254.png

 

Edited by Thejuster

Rpgmaker Asset Converter & UI Tool by Making Italia


______________________________________________________
Produzione Software, Componenti e Controlli
_______________________________________________________

*** Linguaggi di Programmazione Conosciuti e competenze Tecniche ***

C#, Javascript, Java, PHP, SQL, Autoit , JQuery, HTML, HTML5, C++, VB.NET,
Android, DirectX, HLSL, XML, Access, LUA, Delphi, Pascal, Assembly, Fortan, Angular JS

Python, Delphi, OpenGL, Git, Bash, ASP, CMake, WinService


Making Italia

 

Link to comment
Share on other sites

E la sfocatura come si comporta ai bordi? Se il contorno del personaggio sfocandosi si amalgama al verde, poi quando il verde viene tolto considerandolo trasparente, non rimane un alone verdastro intorno ai chara?

183.png
donatePQ.gif bYridanSiBEi27EwrQBOKvYB04IgpCwL27xIfmrh FBnono.gif

Link to comment
Share on other sites

2 hours ago, Testament said:

E la sfocatura come si comporta ai bordi? Se il contorno del personaggio sfocandosi si amalgama al verde, poi quando il verde viene tolto considerandolo trasparente, non rimane un alone verdastro intorno ai chara?


Si ovviamente essendo una sfumatura, se si sovrappone ad un colore esempio verde, avendo le trasparenze logicamente rimane verde.

Anche se prima di fare ciò, elimino prima il colore di fondo e poi applico le modifiche.

Ma questo non è problema.
Magari ho proposto io un esempio sbagliato usando un charaset.
Perché rpgmaker 2k3 accetta solo charaset piccoli mentre io li ho ingranditi nell'esempio.

Fatto sta, che durante l'esportazione, il background viene eliminato.
Di conseguenza lo sfondo rimane trasparente.

Quindi avremo il charaset del 2k3 ingrandito, ma senza background.
In modo che gli altri tool della serie li accettano senza problemi.
evitando per l'appunto di intravedere un colore per un'altro nelle trasparenze.

Ottenendo alla fine un risultato del genere usando uno scaling * 2

chara.png.99a90c050eea1b1043ea2e937f96ce6a.png

Ovviamente questo è solo un esempio.
Il sistema dovrà essere ulteriormente affinato.

Rpgmaker Asset Converter & UI Tool by Making Italia


______________________________________________________
Produzione Software, Componenti e Controlli
_______________________________________________________

*** Linguaggi di Programmazione Conosciuti e competenze Tecniche ***

C#, Javascript, Java, PHP, SQL, Autoit , JQuery, HTML, HTML5, C++, VB.NET,
Android, DirectX, HLSL, XML, Access, LUA, Delphi, Pascal, Assembly, Fortan, Angular JS

Python, Delphi, OpenGL, Git, Bash, ASP, CMake, WinService


Making Italia

 

Link to comment
Share on other sites

non penso sia un problema, ma cmq parte del codice è questo

insomma almeno la parte piu importante

 

          BYTE r1 = (currentPixel >> 16) & 0xFF, g1 = (currentPixel >> 8) & 0xFF, b1 = currentPixel & 0xFF;
            BYTE r2 = (rightPixel >> 16) & 0xFF, g2 = (rightPixel >> 8) & 0xFF, b2 = rightPixel & 0xFF;
            BYTE r3 = (bottomPixel >> 16) & 0xFF, g3 = (bottomPixel >> 8) & 0xFF, b3 = bottomPixel & 0xFF;
            BYTE r4 = (bottomRightPixel >> 16) & 0xFF, g4 = (bottomRightPixel >> 8) & 0xFF, b4 = bottomRightPixel & 0xFF;

                    int red   = (1 - fx) * (1 - fy) * r1 + fx * (1 - fy) * r2 + (1 - fx) * fy * r3 + fx * fy * r4;
                    int green = (1 - fx) * (1 - fy) * g1 + fx * (1 - fy) * g2 + (1 - fx) * fy * g3 + fx * fy * g4;
                    int blue  = (1 - fx) * (1 - fy) * b1 + fx * (1 - fy) * b2 + (1 - fx) * fy * b3 + fx * fy * b4;

                    //uscitga
                    UINT newPixel = (255 << 24) | (red << 16) | (green << 8) | blue;
                    outputPixels[(y * scaleFactor + dy) * outputStride + (x * scaleFactor + dx)] = newPixel;
			
			 inputImage->UnlockBits(&inputData);
   			 outputImage->UnlockBits(&outputData);

 

Almeno per quello che riguarda lo smoothing.

Magari, dovrei provare ad alleggerire la parte del nero.
perché sembra troppo netto.

Edited by Thejuster

Rpgmaker Asset Converter & UI Tool by Making Italia


______________________________________________________
Produzione Software, Componenti e Controlli
_______________________________________________________

*** Linguaggi di Programmazione Conosciuti e competenze Tecniche ***

C#, Javascript, Java, PHP, SQL, Autoit , JQuery, HTML, HTML5, C++, VB.NET,
Android, DirectX, HLSL, XML, Access, LUA, Delphi, Pascal, Assembly, Fortan, Angular JS

Python, Delphi, OpenGL, Git, Bash, ASP, CMake, WinService


Making Italia

 

Link to comment
Share on other sites

  • 1 month later...

 

Grazie mille lord soprattutto per il tuo supporto.
Ne approfitto per annunciare che anche l'upscaling è completato.

gdJS4e.png

 

19 hours ago, Lord Sesshoumaru said:

Giusto qualche parola per apprezzare questo tool :) un ottimo acquisto :) ma la funzione "ridimensiona" in congiunzione con il pixelizer arriverà?


Si, come già presente (in parte) per l'upscaling che al momento ridimensiona in proporzione ^ 2, ci sarà anche per il pixelizer.

A questi due strumenti volevo aggiungere una funzione per un autodetect della risorsa utilizzata.
Un pò come accade per l'editor di chipset per il 2k3.

Nel senso che si carica una risorsa da mz esempio, il tool capisce che è una charaset, quindi oltre a pixellare l'immagine, la ridimensiona in modo che rispetta l'output ( per 2k3, XP, ACE o ) che si disedera.
 

 

Rpgmaker Asset Converter & UI Tool by Making Italia


______________________________________________________
Produzione Software, Componenti e Controlli
_______________________________________________________

*** Linguaggi di Programmazione Conosciuti e competenze Tecniche ***

C#, Javascript, Java, PHP, SQL, Autoit , JQuery, HTML, HTML5, C++, VB.NET,
Android, DirectX, HLSL, XML, Access, LUA, Delphi, Pascal, Assembly, Fortan, Angular JS

Python, Delphi, OpenGL, Git, Bash, ASP, CMake, WinService


Making Italia

 

Link to comment
Share on other sites

Posted (edited)

Lo scrivo anche qui, in modo da essere più chiaro anche con chi legge il topic.

In anzi tutto spiego esattamente cosa fà.

Per prima cosa, genera una palette di colori, più simile possibile a quella utilizzata dalla risorsa.
L'intensità ovviamente è variabile.

P={(r,g,b)r,g,bL}

In questo esempio, ho impostato dei valori consigliati per il tipo di risorsa

Screenshot_2025-03-09_221445.png?ex=67cf

 

Passaggi Filtro:
Indica quanti colori (ricreati dalla palette) deve raggruppare.
Il processo funziona in modo inverso, quindi:
Maggiore sarà il valore, più colori della risorsa saranno visibili.

Più il valore e basso, più l'algoritmo tenterà di raggruppare i colori.

image.png?ex=67d00f86&is=67cebe06&hm=f05

 

Mentre il Cluster Strenght, non fà altro che amplificare l'area di gruppo dei pixel.
Maggiore sarà il valore, più elementi saranno pixellati.
Questa funzione, e consigliabile quando si hanno immagini di grandi dimensioni, in modo prima di pixellarle, in seguito eseguire un downscaling.

In modo che questa:

001-Fighter01.png?ex=67cffe26&is=67ceaca

 

Diventi questa

001-Fighter01EXP.png?ex=67cffe80&is=67ce


Ovviamente si può giocare come si vuole con i parametri.
Dipende dal risultato che si cerca di ottenere.


L'upscaling ve lo faccio provare in diretta.
includo anche i sorgenti per i più curiosi.
E' una prova che avevo fatto prima di completare tutto nel programma definitivo.

Perché non amo incasinare i progetti.
Faccio prima delle prove in progetti random per osservarne i risultati e come si comporta. 
Poi ricompongo tutto nel programma principale.

Questo è un esempio, quindi non è funzionale al 100%, ma fà quello che deve fare in termini di operazione.
Manca la parte più importante ovvero la rimozione del background e l'affino dei bordi.

 

 

 

UpscalingTest.rar

Edited by Thejuster

Rpgmaker Asset Converter & UI Tool by Making Italia


______________________________________________________
Produzione Software, Componenti e Controlli
_______________________________________________________

*** Linguaggi di Programmazione Conosciuti e competenze Tecniche ***

C#, Javascript, Java, PHP, SQL, Autoit , JQuery, HTML, HTML5, C++, VB.NET,
Android, DirectX, HLSL, XML, Access, LUA, Delphi, Pascal, Assembly, Fortan, Angular JS

Python, Delphi, OpenGL, Git, Bash, ASP, CMake, WinService


Making Italia

 

Link to comment
Share on other sites

Posted (edited)
On 3/18/2025 at 8:43 AM, Lord Sesshoumaru said:

Grazie della release! Ma quindi è solo upscaling, non è anche downscaling?

I link delle immagini non funzionano per niente purtroppo

 

Scusami non ho capito a quale strumento ti riferisci, Pixelizer o Upscaling?

PS:
Le feature di ridimensionamento le sto applicando ora.
Upscaling come ho allegato sopra nel rar il progetto di esempio, ingrandisce l'immagine aumentando i pixel
Ovvero ricreando sfumature che mancano per realizzare immagini più dettagliate ovviamente per ottenere questo effetto,
L'immagine viene ingrandita, ma Ahimè mi sono accorto del bug che l'immagine non viene ridimensionata correttamente.

 

Immagine-2025-03-21-220057.png

 


Quando si aumenta il fattore scala ignora le dimensioni impostate sul lato destro.
Questo perché ho rimasto attivo di default durante l'esportazione il Keep Transform, che cerca di stabilizzare l'immagine senza storcerla (Esempio più larga e più corta) ma rispettando le proporzioni.

Quindi per ora si, L'Upscaling, ingrandisce solo, ma sto appunto modificando per ridimensionare dopo aver upscalato i pixel.

 

Riguardo al Pixelizer, ho già completato la parte per ridimensionare e tutto.
Ora tocca solo all'upscaler per poi rilasciare un nuovo aggiornamento con altre funzionalità.

 

dP7VR8.png

Edited by Thejuster

Rpgmaker Asset Converter & UI Tool by Making Italia


______________________________________________________
Produzione Software, Componenti e Controlli
_______________________________________________________

*** Linguaggi di Programmazione Conosciuti e competenze Tecniche ***

C#, Javascript, Java, PHP, SQL, Autoit , JQuery, HTML, HTML5, C++, VB.NET,
Android, DirectX, HLSL, XML, Access, LUA, Delphi, Pascal, Assembly, Fortan, Angular JS

Python, Delphi, OpenGL, Git, Bash, ASP, CMake, WinService


Making Italia

 

Link to comment
Share on other sites

On 3/22/2025 at 5:07 PM, Lord Sesshoumaru said:

parlo di pixelizer sì, pixelizer inoltre se non specifichi un formato salva in JPEG che forse non è l'ideale.

Si grazie per la segnalazione mi era sfuggita quella parte.
Ho appena rilasciato una nuova release per i vari bugfix.
 

Rpgmaker Asset Converter & UI Tool by Making Italia


______________________________________________________
Produzione Software, Componenti e Controlli
_______________________________________________________

*** Linguaggi di Programmazione Conosciuti e competenze Tecniche ***

C#, Javascript, Java, PHP, SQL, Autoit , JQuery, HTML, HTML5, C++, VB.NET,
Android, DirectX, HLSL, XML, Access, LUA, Delphi, Pascal, Assembly, Fortan, Angular JS

Python, Delphi, OpenGL, Git, Bash, ASP, CMake, WinService


Making Italia

 

Link to comment
Share on other sites

Ti descrivo cosa c'è dietro al tool che normalmente non si vede o non si percepisce.

In sintesi, il mio strumento non si limita a pixellare un'immagine  ad esempio come fa photoshop, ma offre strumenti più avanzati per personalizzare il risultato.

Ci sono molti fattori che vanno analizzati.
Prendiamo spunto proprio da photoshop.

Cluster Strength:
A differenza di photoshop che applica una pixelizzazione uniforme, il mio algortimo introduce un parametro chiamato Cluster Strenght, che controlla il livello di aggregazione dei pixel.
Puoi decidere quanto grandi devono essere i blocchi di pixel e quanto devono essere raggruppati i colori ottenendo un effetto più personalizzato e marcato.

Palette Colori Intelligente:

A differenza del filtro di phoshop che si limita a pixelizzare l'immagine mantenendo i colori originali, il mio algoritmo genera una palette di colori ridotta e sostituisce i colori dell'immagine con quelli più vicini nella palette generata, creando un effetto più retro e controllato.
In più giocando con il cluster Strenght, nella riduzione dei colori aiuta a mantenere una transizione più naturale trai i pixel migliorando l'output visivo.

anche in questo strumento, segretamente viene abilitato un upscaling.

Photoshop ha strumenti di ridimensionamento, il mio strumento sfrutta un upscaling con interpolazione bilineare, che evita il classico effetto a blocchi, in più si aggiunge anche lo smoothing Factor che controlla quanto l'upscaling deve essere morbido o mantenere l'effetto pixel art.
Questo è particolarmente utile proprio quando si usano immagini di grandi dimensioni e si decide di pixelizzarle.

 

Preservazione della Trasparenza:

I pixel trasparenti vengono preservati, evitando che vengano sostituiti da blocchi opachi. Utile soprattutto per i game designer che necessitano di sprite trasparenti.

In più altre aggiunte come: Edge Detector ( Canny ) e struttura a Reticolo con l'Algoritmo di Voronoi

 

Aggiungerò altre feature?
Sicuramente! 

Migliorerò maggiormente l'output grafico?
Ovvio!

 

Dietro al tool, non c'è un IA che genera immagini o quant'altro.
Ma il frutto della mia esperienza maturata negli anni nello sviluppo di motori grafici, IDE, Editor Grafici ed Game Engine.
Tutto ciò realizzato con un approccio ingegneristico basato su C++ ottimizzando ogni passaggio per garantire equilibrio, stabilità e prestazioni.

Ovviamente, questo tool offre una soluzione su misura, con caratteristiche che possono essere ulteriormente espanse e migliorate proprio per adattarsi alle esigenze degli sviluppatori.

Spero di essere stato esaustivo almeno per quel che riguarda le informazioni principali del tool.
Il tool è molto giovane, ha appena qualche anno.
Sicuramente migliorerà questo grazie anche al supporto di tutti voi.

 

 

Rpgmaker Asset Converter & UI Tool by Making Italia


______________________________________________________
Produzione Software, Componenti e Controlli
_______________________________________________________

*** Linguaggi di Programmazione Conosciuti e competenze Tecniche ***

C#, Javascript, Java, PHP, SQL, Autoit , JQuery, HTML, HTML5, C++, VB.NET,
Android, DirectX, HLSL, XML, Access, LUA, Delphi, Pascal, Assembly, Fortan, Angular JS

Python, Delphi, OpenGL, Git, Bash, ASP, CMake, WinService


Making Italia

 

Link to comment
Share on other sites

Dopo un lungo lavoro, penso di essere riuscito ad accontentarti.

Ho ulteriormente elaborato l'algoritmo di generazione con ulteriori 5 passaggi.

 

1° Si dà in pasto al programma una screen di un gioco qualsiasi di snes.

2° Il programma elabora l'immagine simulando un hardware          snes modalità 256 colori ma con palette a 5 bit 56 colori.

3° L'algoritmo non si limita a ridurre i colori, ma si limita a ricreare la grafica sfruttando la palette generata dall'immagine come campione.
Prima di tutto, estrae e campiona i colori eliminando quelli superflui e ripetuti per poi adattarli ancora una volta a 5 bit.

Ad esempio ho usato questa screen di Chrono trigger

image.png?ex=67f0e28d&is=67ef910d&hm=f77

 

Recuperato e generati i colori limitati per l'hardware snes, si può salvare la palette e tenerla per poi applicare sempre la stessa risonanza alle altre screen.

 

Ma come funziona?
L'algoritmo genera una sorta di Luminance Key dando dei pesi sui colori, in modo da ricreare uno spettrogramma e dare più rilevanza a dei colori rispetto ad altri.

 

Non ho fatto molti test anche perché ho avuto poco tempo per testare ma molto lavoro fatto sull'algoritmo.

Prendendo questa screen da google:

36009-1822aeec2fc5141537f4792d7e28e8bf.p

 

Caricando la palette precedentemente generata

 

image.png?ex=67f0e480&is=67ef9300&hm=8e9

 

ottengo questo risultato

 

output.png?ex=67f0e495&is=67ef9315&hm=72

 

Sembra un vero gioco snes.

Ovviamente alcuni colori possono sembrare fuori luogo.
Semplicemente perché ho caricato una palette generata da una screen di una foresta con prevalenza di rosso per le foglie.
Ma una qualche screen di qualche taverna per snes il risultato è sicuramente diverso.

Ad esempio puoi notare i bordi delle pareti.
da sfumature e colori tenui, a pixel evidenti e netti.

In più oltre a questo, come annunciato su itch,
Filtri come GameBoy ed altri in arrivo

 

QZrIb2.png

 

 

Rpgmaker Asset Converter & UI Tool by Making Italia


______________________________________________________
Produzione Software, Componenti e Controlli
_______________________________________________________

*** Linguaggi di Programmazione Conosciuti e competenze Tecniche ***

C#, Javascript, Java, PHP, SQL, Autoit , JQuery, HTML, HTML5, C++, VB.NET,
Android, DirectX, HLSL, XML, Access, LUA, Delphi, Pascal, Assembly, Fortan, Angular JS

Python, Delphi, OpenGL, Git, Bash, ASP, CMake, WinService


Making Italia

 

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share


×
×
  • Create New...