[Moto G Themes and Apps] xpmule:
Ya i should have mentioned there is a varied difference in the LOGO file declarations in the source code.

I only posted 1 line not all of them so you can not see they are different from phone to phone.

Too bad buddy just abandoned his project and never said what to do for adding new models.

I may be able to figure that out though..

Most of the info is easy to get i think.. the link i posted lists all moto phones + specs for example.

..but not partition sizes or logo file contents.

And i think the title can be what ever we want.. but we do need one ;)

We can see the menu options loaded with this source code.

private void Form1_Load(object sender, EventArgs e)
{
Init_cboMoto("Custom",720,1280,4194304,0x3FFFFFFF);
Init_cboMoto("Moto X Style (3rd Gen)", 1440, 2560, 8388608, (int)(LOGO.LOGO_BOOT | LOGO.LOGO_BATTERY | LOGO.LOGO_UNLOCKED | LOGO.LOGO_LOWPOWER | LOGO.LOGO_CHARGE));
Init_cboMoto("Moto X Play (3rd Gen)", 1080, 1920, 6291456, (int)(LOGO.LOGO_BOOT | LOGO.LOGO_BATTERY | LOGO.LOGO_UNLOCKED | LOGO.LOGO_LOWPOWER | LOGO.LOGO_CHARGE));
Init_cboMoto("Moto X (2nd Gen)", 1080, 1920, 4194304, (int)(LOGO.LOGO_BOOT | LOGO.LOGO_BATTERY | LOGO.LOGO_UNLOCKED | LOGO.LOGO_LOWPOWER | LOGO.LOGO_CHARGE));
Init_cboMoto("Moto X (1st Gen)", 720, 1280, 4194304, (int)(LOGO.LOGO_BOOT | LOGO.LOGO_BATTERY | LOGO.LOGO_UNLOCKED));
Init_cboMoto("Moto E (1st/2nd Gen)", 540, 960, 4194304, (int)(LOGO.LOGO_BOOT | LOGO.LOGO_BATTERY | LOGO.LOGO_UNLOCKED | LOGO.LOGO_LOWPOWER | LOGO.LOGO_UNPLUG));
Init_cboMoto("Moto G (1st/2nd/3rd Gen)", 720, 1280, 4194304, (int)(LOGO.LOGO_BOOT | LOGO.LOGO_BATTERY | LOGO.LOGO_UNLOCKED | LOGO.LOGO_CHARGE));
Init_cboMoto("Droid Ultra", 720, 1280, 4194304, (int)(LOGO.LOGO_BOOT | LOGO.LOGO_BATTERY | LOGO.LOGO_UNLOCKED));
Init_cboMoto("Droid RAZR HD", 720, 1280, 4194304, (int)(LOGO.LOGO_BOOT | LOGO.LOGO_UNLOCKED | LOGO.KITKAT_DISABLED));
Init_cboMoto("RAZR i", 540, 960, 4194304, (int)(LOGO.LOGO_BOOT | LOGO.LOGO_UNLOCKED | LOGO.KITKAT_DISABLED));
Init_cboMoto("Droid RAZR M", 540, 960, 4194304, (int)(LOGO.LOGO_BOOT | LOGO.LOGO_UNLOCKED | LOGO.KITKAT_DISABLED));
Init_cboMoto("Photon Q 4G LTE", 540, 960, 4194304, (int)(LOGO.LOGO_BOOT | LOGO.LOGO_UNLOCKED | LOGO.KITKAT_DISABLED));
Init_cboMoto("Atrix HD", 720, 1280, 4194304, (int)(LOGO.LOGO_BOOT | LOGO.LOGO_UNLOCKED | LOGO.KITKAT_DISABLED));
Init_cboMoto("Droid 4", 540,960,1048576,(int)LOGO.LOGO_RAW);
Init_cboMoto("Atrix 2", 540, 960, 1048576, (int)LOGO.LOGO_RAW);
Init_cboMoto("Droid RAZR", 540, 960, 1048576, (int)LOGO.LOGO_RAW);
Init_cboMoto("Photon 4G", 540, 960, 1048576, (int)LOGO.LOGO_RAW);

newToolStripMenuItem_Click(sender, e);
}

So we can see the Moto X Style has..

(int)(LOGO.LOGO_BOOT | LOGO.LOGO_BATTERY | LOGO.LOGO_UNLOCKED | LOGO.LOGO_LOWPOWER | LOGO.LOGO_CHARGE));

And my Moto E 2015 has..

(int)(LOGO.LOGO_BOOT | LOGO.LOGO_BATTERY | LOGO.LOGO_UNLOCKED | LOGO.LOGO_LOWPOWER | LOGO.LOGO_UNPLUG));

See how the last image is different when comparing ?

So i assume that is to tell the program to include that logo when building and saving etc.

You will also notice the dev never included ALL the images.. only a few core important ones.

Anyway i'll try and compile a test build soon.

So.. to recap.

I think we need for any new phone..

- A name for the phone to see in the drop down menu in the program. (doesn't have to be exactly perfect)

- 100% confirmed partition size *important*

- The logo file names in the default Logo.bin. (needed to set & enable in the program)

- Resolution dimensions

I could try and just put an a hack so you can use it with any phone if you all want to try it.

I keep looking at the custom line and it says..

Init_cboMoto("Custom",720,1280,4194304,0x3FFFFFFF); <-- 720p with 4mb logo size.

Since some of the newer phones phones seem to be 1080p and 16mb partition i could set this..

Init_cboMoto("16mbHACK",1080,1920,16777216,0x3FFFFFFF);

With that i used a calculator to double the 8mb settings bytes by 2 (to get 16mb)

That should work i think but i don't know what difference it's going to make if you set that option and your phone model is above or below 1080p.

So writing the code and building it is not the big deal i think.

It's knowing what you are doing and why and making sure we don't brick a phone or make bad quality low res images etc ROFL

EDIT:

Oh and that code came from form1.cs if you are following along at home ;)