Author Topic: The Great Themes Collection v9.0 - Bug fixes and finishing the big clean-out!  (Read 16722 times)

hedergim

  • Full Member
  • ***
  • Posts: 31
    • View Profile
Re: The Great Themes Collection v7.0 - The missing themes part 2
« Reply #150 on: October 12, 2020, 08:46:22 AM »
The Best
Downloading

Yaron2019

  • Sr. Member
  • ****
  • Posts: 287
    • View Profile
Re: The Great Themes Collection v7.0 - The missing themes part 2
« Reply #151 on: October 12, 2020, 12:42:25 PM »
The Best
Downloading

Awesome! tell me what you think of the modified on-screen keyboard style.
« Last Edit: October 12, 2020, 12:45:29 PM by Yaron2019 »

Yaron2019

  • Sr. Member
  • ****
  • Posts: 287
    • View Profile
Re: The Great Themes Collection v8.0 - It knows how to count games!
« Reply #152 on: October 17, 2020, 08:01:43 AM »
Pablo Picasso once said that "Good Artists Copy, Great Artists Steal". Well, I am a great artist as I have stolen adapted pcca-matrix's code for system game counting from the PCCA theme :D
I have also finally "discovered" the option to use modules and not just copy files into every layout folder like a monkey (one evolution at a time).
This was particularly useful with the on-screen keyboard search as it reduced the disk space the collection takes by about 80 MB and reduced the file count by a massive 4,171 files (56% reduction)!
I initially planned on customizing each search window per it's system but decided that the current look is great and that I'm not going to bother with it.

The system games count works in the following manner:
When launching AM with the version 8.0 of the Great Themes Collection, there will be an initial count. When you enter a system, if the initial count is different then the
actual number of games available, there will be a recount for that specific system. This is especially handy with systems like MAME where we usually have a bunch of filters
applied. In order to have this recount, make sure that the current filter is set to "All" (the default filter in AM). Any time the collection detects that the available games are
diferent then the last count (like when you add / remove games, or add / remove systems) there should be a recount when navigating through the systems
(in between systems or from a system to the main menu or vice versa). Why? because pcca-matrix has not written code yet for anything else and when he does I will be a great artist again!

I know that there are quite a few theme devs that wanted this feature so feel free to download the latest version and become great artists as well.

I also added some missing default cartart files to a few themes.

IMPORTANT: I recommend you delete your current Great Themes Collection layouts and copy the new layouts in order to profit from the reduction in disk space.
Also, you must copy from the included modules folder the 'gtc' and 'gtc-kb' folders to your attract\modules folder.

Cheers,
Yaron


Update demo video:
https://youtu.be/uC1_8tKvN64

Download link and instructions on original post page:
http://forum.attractmode.org/index.php?topic=3289.msg23120#msg23120
« Last Edit: October 17, 2020, 12:32:07 PM by Yaron2019 »

Yaron2019

  • Sr. Member
  • ****
  • Posts: 287
    • View Profile
Re: The Great Themes Collection v8.0 - It knows how to count games!
« Reply #153 on: October 18, 2020, 04:35:37 AM »
I have a life defining question to the community: what looks better? the size of the "Free Play" and red/blue joystick as it is now (look at the  screenshot in previous post) or larger as it is in Hyperspin? ? ? ?
I can't decide!  >:(

Karlosworkz

  • Full Member
  • ***
  • Posts: 58
  • ►►►Games Retrô Dream◄◄◄
    • View Profile
Re: The Great Themes Collection v8.0 - It knows how to count games!
« Reply #154 on: October 18, 2020, 11:22:46 PM »
Yaron you are very fierce in the layout how do I implement this count in my themes ??  It's very good, congratulations👏👏👏👏

Pablo Picasso once said that "Good Artists Copy, Great Artists Steal". Well, I am a great artist as I have stolen adapted pcca-matrix's code for system game counting from the PCCA theme :D
I have also finally "discovered" the option to use modules and not just copy files into every layout folder like a monkey (one evolution at a time).
This was particularly useful with the on-screen keyboard search as it reduced the disk space the collection takes by about 80 MB and reduced the file count by a massive 4,171 files (56% reduction)!
I initially planned on customizing each search window per it's system but decided that the current look is great and that I'm not going to bother with it.

The system games count works in the following manner:
When launching AM with the version 8.0 of the Great Themes Collection, there will be an initial count. When you enter a system, if the initial count is different then the
actual number of games available, there will be a recount for that specific system. This is especially handy with systems like MAME where we usually have a bunch of filters
applied. In order to have this recount, make sure that the current filter is set to "All" (the default filter in AM). Any time the collection detects that the available games are
diferent then the last count (like when you add / remove games, or add / remove systems) there should be a recount when navigating through the systems
(in between systems or from a system to the main menu or vice versa). Why? because pcca-matrix has not written code yet for anything else and when he does I will be a great artist again!

I know that there are quite a few theme devs that wanted this feature so feel free to download the latest version and become great artists as well.

I also added some missing default cartart files to a few themes.

IMPORTANT: I recommend you delete your current Great Themes Collection layouts and copy the new layouts in order to profit from the reduction in disk space.
Also, you must copy from the included modules folder the 'gtc' and 'gtc-kb' folders to your attract\modules folder.

Cheers,
Yaron


Demo video (v5.0):
https://www.youtube.com/watch?v=nkw0JO4Q3IQ


Download the Collection:
https://mega.nz/file/VVljEY6I#nDw4WrzeIazjZaiJWsjOmYXR70j-SS8xqYB7fQmbC3M


Those who want to build additional themes for this collection, here are all the art files for each theme in xcf format (Gimp):
https://mega.nz/file/5JNXAQgb#CUo1xcZo5X_a7e43kXedLoVZEKhnGTJAaPYWAqqiABw



Instructions on how to use the collection:

-------------------------------------------------------
This is a theme collection for the Attract Mode front-end (v2.6.1).
It is best suited for wide screen displays.


Stage 1: Prepare the games roms and media for the emulated system
--------------------------------------------------------------------------------------------
Download all the game roms and media and place them in folders of your choosing.
For example, for MAME, place the roms in  'C:\my_games\mame\roms'

You can download all the media you need from emumovies.com (wheel logos, videos, cart art, box art, etc)
In attract mode's 'menu-art' folder, create a folder for your system, example:
'C:\attract\menu-art\mame'

In this folder create the following folders:
C:\attract\menu-art\mame\wheel
C:\attract\menu-art\mame\videos
C:\attract\menu-art\mame\boxart
C:\attract\menu-art\mame\cartart

Copy the relevant files to each folder (wheel logos to 'wheel', snap videos to 'videos', etc).

Now you need to connect the emulator to the media. For each system attract mode has an emulator cfg file located in
...\attract\emulators

In our example it will be: C:\attract\emulators\mame.cfg
You can edit this file with notepad or from within attract mode's menu system. Here you will tell attract mode what emulator to use, where to find all the art, etc.

It should look something like this:

# Generated by Attract-Mode v2.6.1
#
executable           E:/Arcade/Attract/apps/Mame/mame64nonag.exe
args                 [name]
rompath              E:/Arcade/Attract/apps/Mame/roms
romext               .zip;.chd
system               Arcade
info_source          listxml
exit_hotkey          Escape
artwork    marquee         c:/attract/menu-art/mame/marquee
artwork    snap            c:/attract/menu-art/mame/videos
artwork    wheel           c:/attract/menu-art/mame/wheel
artwork    boxart          c:/attract/menu-art/mame/boxart
artwork    flyer           c:/attract/menu-art/mame/flyer

As you can see, the "artwork" label tells attract mode to find wheel in 'c:/attract/menu-art/mame/wheel', snap (videos) in 'c:/attract/menu-art/mame/videos'
etc.

Replace the paths in the example to the ones you have, save and close the file.


Stage 2: Set up the collection as your themes of choice
-------------------------------------------------------------------------
1. Copy the contents of the included layouts folder to your attract\layouts folder.
2. Copy the sounds, videos and letters folders to your main attract folder (where the attract.exe file is)
3. Copy the 'gtc' and 'gtc-kb' folders from the included modules folder to your attract attract\modules folder
4. Launch attract mode and assign the themes (layouts) that you want to the emulators you have:
Pressing 'Tab' will bring the main 'Configure' menu on screen. Then go to 'Displays', choose the display you want to configure by
pressing 'Enter' and choose a layout from the 'Layout' option (navigate the layouts list with up/down arrows or joystick).

Attract Mode should now know what emulators to use, where to find the art it needs and what theme to use for each system you assigned it for.


Performance
-----------------
If performance on low end systems such as the Pi is slow, you can improve it by disabling shader related options in the layout options menu:
- In the 'At-The-Arcade' layout series set "Enable CRT screen glow" to "No" and if that is not enough you can also set "Enable lighted marquee effect" to "No" as well.
- In the 'Hyperspin-Theme-Mode' layout series, set "Enable video shader effect" to "No".
- In any other layout (consoles, computers, handhelds), disable any bloom or glow effects, for example: set "Enable CRT bloom shader effect" to "No".


The themes included in this collection are best suited for wide screen displays

Currently there are 100 themes for 87 systems in the collection (including variations):
----------------------------------------------------------------------------------------------------------
Main Menus:
Hyperspin Main Menu Theme Mode (featured in the demo video)
Main Menu theme
Favourites

Arcade:
At-The-Arcade
At-The-Arcade Candy
At-The-Arcade HD
At-The-Arcade Sega Model 2
At-The-Arcade Sega Model 3
At-The-Arcade Naomi
At-The-Arcade Naomi v2
At-The-Arcade Atomiswave
At-The-Arcade SNK MVS
At-The-Arcade Capcom Classics
At-The-Arcade Capcom Play System 1,2,3
At-The-Arcade OpenBOR
At-The-Arcade Mugen (M.U.G.E.N)
Hyperspin Theme Mode

Consoles:
SNK Neo Geo CD
SNK Neo Geo AES
Nintendo Wii
Nintendo Gamecube
Nintendo 64
Super Nintendo Entertainment System
Super Nintendo Entertainment System - Simple
Nintendo Super Famicom
Nintendo Super Famicom - Simple
Nintendo Entertainment System
Nintendo Entertainment System - Lava
Nintendo Famicom
Nintendo Famicom Disk System
Sega Dreamcast
Sega CD
Sega CD - Dark
Sega Saturn
Sega Saturn Japan
Sega 32X
Sega Genesis
Sega Mega Drive Japan
Sega Master System
Sega SG-1000
Daphne
Sony Playstation 3
Sony Playstation 2
Sony Playstation
Panasonic 3DO
Commodore Amiga CD32
NEC PC Engine-CD
NEC PC Engine
NEC Turbografx-16
NEC Turbografx-CD
Microsoft XBox 360
Microsoft XBox
Amstrad GX4000
Atari 2600
Atari 5200
Atari 7800
Atari Jaguar
ColecoVision
Mattel Intellivision
Magnavox Odyssey 2
Bally Astrocade
Emerson Arcadia 2001
GCE Vertex

Computers:
PC Games
Commodore Amiga Forever!
Commodore Amiga-Memories
Commodore 64
Commodore VIC-20
Sinclair ZX Spectrum
Atari ST
Atari 8-bit
Amstrad CPC
Windows 3.x
Sharp X68000
MS-DOS
MS-DOS Vintage
MSX2
MSX
Acorn BBC Micro
Tandy TRS-80 Color Computer
Apple II

Handhelds:
Nintendo 3DS
Nintendo DS
Nintendo Game Boy Advance
Nintendo Game Boy Color
Nintendo Game Boy
Nintendo Virtual Boy
Sony PSP
SNK Neo Geo Pocket Color
SNK Neo Geo Pocket
Sega Game Gear
Atari Lynx
Bandai WonderSwan Color
Bandai WonderSwan
Nintendo Game & Watch
Silence and a smile are two powerful weapons. The smile solves problems, silence avoids them...

Yaron2019

  • Sr. Member
  • ****
  • Posts: 287
    • View Profile
Re: The Great Themes Collection v8.0 - It knows how to count games!
« Reply #155 on: October 19, 2020, 08:38:59 AM »
Yaron you are very fierce in the layout how do I implement this count in my themes ??  It's very good, congratulations👏👏👏👏

Hey Karlos, thanks!

There are three parts to this game counting system:
1. The gtc module (you can find it in the download's module folder)

2. Counting code that belongs to a Main Menu (Display menu) layout - this code does the first count and creates the gtc.stats file in which all the counting data is stored.
It also shows the counting result. It will do a second count if it detects that a system was added or removed. You can find this code in my 'Main Menu' and 'Hyperspin Main Menu Theme Mode' layouts.

3. Counting code that belongs to any system layout you have (MAME, NES, SNES, Genesis, etc). This code counts the games only for the system it belongs to and only if it detects that the actual number of games is different from the number of games in the gtc.stats file. It happens in two cases: If the first count done by the main menu shows a different number then the system has to show - for example, the main menu counts 3000 games for MAME, but when you go into the mame system it shows only 2000 games because you have global filters. so it will do a new count for MAME ONLY and write it to gtc.stats. Example for global filters my MAME system has in the attract.cfg file:
Code: [Select]
global_filter       
rule                 FileIsAvailable equals 1
rule                 Category not_contains Device|Computer|Electromechanical|Casino|handheld|tabletop|gambling
rule                 Status equals good|imperfect
rule                 Category not_equals not_equals casino / cards|casino / reels

-----------------------------------------------------------------------------------
What you need to add:
1. The module contains the functions that do the counting - you don't need to edit this, just place the gtc folder in your attract\modules folder.

2. The counting code for the Main/Display Menu layout is as follows, just copy it to the Main/Display Menu layout you have:
Code: [Select]
/////////////////////////////////////////////////////////////////////////////////
// Main Menu games count
fe.load_module("file");
fe.load_module("file-format");
fe.load_module("gtc");

// change m_infos static x,y,w,h values to relocate text
local m_infos = fe.add_text("",400, 400, 500, 500);
m_infos.align = Align.Left;

m_infos.word_wrap = true;
m_infos.charsize = 24;
m_infos.set_rgb(0, 0, 0);

main_infos <- {};
if( !file_exist(FeConfigDirectory + "gtc.stats") )
{
fe.overlay.splash_message ("Counting games, please wait...")
print("Created the gtc.stats file!\n");
refresh_stats();
}
main_infos <- LoadStats();

function stats_text_update( sys )
{
    if( main_infos.rawin( sys ) )
        m_infos.msg = "Games: " + main_infos[sys].cnt;
else
        m_infos.msg = "";
}

function main_menu_stats( ttype, var, ttime )
{
local curr_sys;
if ( ttype == Transition.StartLayout)
{
curr_sys = fe.list.name;
if( main_infos.rawin(curr_sys) )
{
if(fe.list.size != main_infos[curr_sys].cnt)
{
main_infos[curr_sys].cnt = fe.list.size;
SaveStats(main_infos);
print("Counted games for " + curr_sys + "\n");
}
}
else  // new system added , create new entry
{
main_infos <- refresh_stats(curr_sys);
print("Counted games for new system: " + curr_sys + "\n");
}

stats_text_update( fe.game_info(Info.Title) );
}

if ( ttype == Transition.ToNewSelection )
stats_text_update( fe.game_info(Info.Title, var) );

return false;
}
fe.add_transition_callback( "main_menu_stats" );


3. The counting code for the systems themselves. Add it to every system layout.nut file you have (MAME, SNES, etc):

Code: [Select]
/////////////////////////////////////////////////////////////////////////////////
// System games count
fe.load_module("file");
fe.load_module("file-format");
fe.load_module("gtc");

main_infos <- {};
if( !file_exist(FeConfigDirectory + "gtc.stats") )
{
fe.overlay.splash_message ("Counting games, please wait...")
print("Chicuelo Mix created the gtc.stats file!\n");
refresh_stats();
}
main_infos <- LoadStats();

function main_menu_stats( ttype, var, ttime )
{
local curr_sys;
if ( ttype == Transition.StartLayout)
{
curr_sys = fe.list.name;

if( fe.filters[fe.list.filter_index].name.tolower() == "all" ) // make sure there is no filter
{
if( main_infos.rawin(curr_sys) )
{
if(fe.list.size != main_infos[curr_sys].cnt)
{
main_infos[curr_sys].cnt = fe.list.size;
SaveStats(main_infos);
print("Counted games for " + curr_sys + "\n");
}
}
}
}
return false;
}
fe.add_transition_callback( "main_menu_stats" );

It is also important to notice, that the system game count will work only when the filter is set to 'All'. If you set the filter to 'Favorites' for example, it will not count.
« Last Edit: October 19, 2020, 08:42:57 AM by Yaron2019 »

Yaron2019

  • Sr. Member
  • ****
  • Posts: 287
    • View Profile
Release v9.0 focuses on bug fixing and finishing the final phase of the big clean-out.

The size of The Great Themes Collection v9.0 has been reduced by an additional 43MB and 861 files.
This is now LOWER in disk space then version v4.0 while having many more themes and features!

All common files (sounds, videos, art and letters) that are used by all themes are now in a folder named 'gtc-common'.
I also removed the 'pand-and-scan.nut' from all themes and added it as a module folder called 'gtc-pas'.

I now consider this collection to be efficient disk space wise and no further optimizations will be done in this regard.

Bug fixes:
- Fixed: Main menu themes will recount the number of games every time they load
- Fixed: Game count fails on Linux because of "\\" characters in the module code
- Fixed: Removed unused code from several themes
- Fixed: Wheel sound not playing on layout startup when "Enable startup animations" or "Enable startup sound" are set to No
- Fixed: Character art was not showing in ScummVM theme when "Enable startup animations" is set to No
- Fixed: Nintendo 3DS theme was missing startup sounds
- Fixed: multiple number of visual bugs
- Improved some sound effects

NOTICE: If you had an older version of the collection installed on your attract mode setup, you can remove from your attract folder the letters, videos and sounds folders. I have updated the instructions at the original post and in the included 'readme.txt' file. Make sure you remove the collection's layouts and modules and copy the new ones included!

Cheers,
Yaron

Download link and instructions on original post page:
http://forum.attractmode.org/index.php?topic=3289.msg23120#msg23120
« Last Edit: Today at 05:32:15 AM by Yaron2019 »