Jump to content

All my products and services are free. All my costs are met by donations I receive from my users. If you enjoy using any of my products, please donate to support me. Thank you for your support. Tom Speirs

Patreon

[APP] CPWizard v2.35


headkaze

Recommended Posts

  • 4 months later...

Revisiting CPWizard now as setting up my control configs in MAME and Emulators. REALLY wanna get this beast working, but it's an unruly, unpredictable animal that once tamed is gonna be cracking! Hoping to setup controls database for emulator key mapping too at some point this year.

Basic issue at the moment. Have two graphics cards in machine+two separate corresponding monitors. CANNOT get the sub display working! My settings:

cpwiz.pngcpwiz2.pngcpwiz3.png

Main CPWiz module appears on 1st Monitor (running mame) fine (although it does start itself up on game selection screen with auto show disabled). However - no trace anywhere of the sub screen!

What I've tried:

- Running CPWiz as admin and also in various compatibility modes.

- Changing a setting in MAme ini dx3d or something to 8

- other tweaks/experiments that can't remember now!

Weird thing is second display is listed as "2" - but showing "5" on cp wizard. In log file, 2nd GPU appears to be seen.

Does this actually work with two graphics cards?

I really do wanna get the hang of CPWiz because it has a lot of potential for emu games too. However - there appears to be limited documentation avail and searches haven't really provided any answers (could be my searching!)

Hope someone can help.

Link to comment
Share on other sites

OK.. I'm getting close. Basically not bothered about the full menu function in cpwiz, all i'm wanting is cyclable images on my second monitor. So used the following setup and it's working a treat apart from one thing. It's great because can custom design 'pages' via "xxxxx (0)" "xxxxx (1)" etc + also define custom keys to cycle the images on my second monitor! Very exciting!

Basically, I cut out the sub function all together. New Settings:

cpwiz4.pngcpwiz5.png

cpwiz6.pngcpwiz7.png

BUT.... Mame minimises when cpwiz is shown, either via the "show key" or pause (will prob end up using show key and not pause in the end)

Is there any way to stop mame minimising when initially show CPWiz? When re-maximise mame - no issues + cpwiz runs nicely on second monitor!

Also, I see in the Emulator profiles section there's a "minimise" and Maximise option - does this mean you can control whether the emu windows are minimised or max'd??

Feeling a little more hopeful that can get this working + I gotta say - the composite images look great on the second monitor! Thanks for a great app!

Link to comment
Share on other sites

This software is both brilliant and infuriating at the same time (sorry, Headkaze!) It's got so much potential, but often a case of 1 step forward, 3 steps back. Had reached some progress last night displaying the correct layout for an emulator and cycling between 2 screens, but now this morning, consistently getting the error:

************** Exception Text **************
System.NullReferenceException: Object reference not set to an instance of an object.
at CPWizard.frmLayout.CPForm_FormClosing(Object sender, FormClosingEventArgs e)
at System.Windows.Forms.Form.OnFormClosing(FormClosingEventArgs e)
at System.Windows.Forms.Form.WmClose(Message& m)
at System.Windows.Forms.Form.WndProc(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.OnMessage(Message& m)
at System.Windows.Forms.Control.ControlNativeWindow.WndProc(Message& m)
at System.Windows.Forms.NativeWindow.Callback(IntPtr hWnd, Int32 msg, IntPtr wparam, IntPtr lparam)

:( - double dutch to me, that

Having trawled - I can't find anyone who has got this working successfully with emulators - maybe it's not possible?

Twas worth a try though.

Link to comment
Share on other sites

The emulator support is not very well tested I admit. I really don't have a lot of time to work on CPWizard these days. Sorry.

If you want to turn on verbose logging and zip up then post your entire CPWizard.log, CPWizard.ini, layout files etc. and give a brief instruction on how to reproduce the error I might be able to fix this bug for you in the mean time.

Anyway the good news is I will be adding CPWizard features to GameEx in the near future (we're evolving you see). My hope is to eventually make CPWizard completely integrated with GameEx. That will mean also we have a larger user base that can test and help debug features.

Link to comment
Share on other sites

That sounds brilliant, Headkaze - I'll wait until the new, revised version. Will it have emulator support? The fab thing about CPWizard is the allowing of per game labels for each button. I'm sure you guys are on it, but I was working on a database to organize button labels for emulators/consoles/games which would produce the ini file for CPWizard for each emulator. only got so far before other aspects of my cab project took over. Dunno if that would be of any use to anyone ?

Thanks for the reply.

Link to comment
Share on other sites

I've got a heap of control data I've scraped off the web for other systems. It's currently in xml format. The problem is there is no 'standard' for the way the data is structured so it needs to be processed into a format that can be used by CPWizard.

If you're interested I can zip it up and send it to you? I think if we had some decent databases for other systems then more people would be interested in the feature.

Link to comment
Share on other sites

Would be very interested, headkaze. Not gonna be revisiting this for another month or so, but could come in handy when i do. Only got so far with my db - was using MS Access + got structures in place for controllers, buttons, functions, labels, games, emulators and got a few functions tied up and working together (buttons>controllers>functions and game>emulator>controller etc). But then tbh, got a bit lost in mapping specific games>emulators>controllers>controls>labels! Are there any good db design people on here? Don't think mine was beyond use, but got complicated, having to update/create several tables at once, including link tables.

Link to comment
Share on other sites

  • 6 months later...

I have a few custom layout files that get overwritten by the export. Do I have to just re-edit them manualy to include the new controls image? Or am I missing an option that will merge the new lay strings to the existing ones I made?

Link to comment
Share on other sites

Details are sketchy, felix, but think this may have been reworked for evo... might be worth waiting for evo release. Only a guess on my part, but some control layout stuff on evo vid...

Agreed, 0:54/2:00 looks very familiar and the fact that GameEX already has support for CPW built in shows president. I'm sure this is new functionality in evo, but a head start might not be bad.

I'm using the patch method in MAME. I would like to create a default layout scheme that can be applied for all the roms. I'm using a 32" LDC mounted vertically. There is lots of space above and below 4:3 format games (say Mortral Kombat). I've modified the layout for it such that it meets my needs (And it looks cool I might add). But when I export the batch to my artwork folder it asks me to overwrite my custom layout files. I could say no and add the png manually, but that would require considerable *.lay modding.

  1. When exporting is there a way to modify the layout that it generates to conform to a template I can customize or to the one that already exists. This way I can set the controls to show up in the black space below the game and marquees show up at the top? Or will I have to copy the png manually for each game and modify the Layout one by one. That will take forever. I envision a field in CPW where you select a folder containing marquees, game info, etc. then CPW would generate the layout to conform to a template you preconfig, with profiles for the format of the game type (eg: 4:3, vertical scrolling, etc. sicnce they would differ).
  2. Are you aware of a layout gui/modifier that could streamline the process of creating custom layouts for the artwork folder. So I can download artwork from mr. do's and modify it with the controls png generated by CPW, and save it without coding.

I'm sure this is probably a pipe dream. I doubt there is any way around doing this manualy. Who knows: Someone here might!

post-10261-0-84345800-1355340685_thumb.jpost-10261-0-88234900-1377242924_thumb.j
Link to comment
Share on other sites

  • 1 month later...

Love the app! If it helps anyone.... I had major problems setting up my controls... read a dozen forum posts... finally decided to delete all my cfg files from the CFG directory of MAME and voila! success!

Now I have CPW running and it is AMAZING. But I notice that when I exit a game the layout is still displayed on the 2nd screen. It does change when I load a different game but is this normal? I have tried to turn off CPW in gameex and run it in standalone with command line so it will load then exit on a per game basis. I tried using -emu name [GAME], -emu [GAME], and even just [GAME] as switches but just can't figure it out.

I am pretty sure that GameEx uses the [GAME] tag to pass the game name to MAME, but maybe I am wrong.

Any help or advice would be awesome guys, and I hope I can now help others with the set backs I have already over come. Going on my 6th night trying to perfect my visuals lol. I may be just a little obsessed with it now :)

Link to comment
Share on other sites

Ok, so I figured out that my switch is -emu mame -game [ROM] , but now it hangs when loading game.... I changed d3d to ver 8 and also tried dynamic data on and off in CPW... Here is the CPW log and name.ini if it helps.

[4184] 8/30/2014 11:30:45 AM: CPWizard v2.40

[4184] 8/30/2014 11:30:45 AM: OS: Microsoft Windows 7 Ultimate

[4184] 8/30/2014 11:30:45 AM: Version: 6.1.7600

[4184] 8/30/2014 11:30:45 AM: Build: 7600

[4184] 8/30/2014 11:30:45 AM: RAM Total: 8190 MB

[4184] 8/30/2014 11:30:45 AM: RAM Used: 1858 MB

[4184] 8/30/2014 11:30:46 AM: CPU: AMD Phenom II X4 965 Processor

[4184] 8/30/2014 11:30:47 AM: Video Card: NVIDIA GeForce 8600 GT

[4184] 8/30/2014 11:30:47 AM: Video Driver: 9.18.13.4052

[4184] 8/30/2014 11:30:47 AM: Video RAM: 256 MB

[4184] 8/30/2014 11:30:47 AM: Sound Card: NVIDIA Virtual Audio Device (Wave Extensible) (WDM)

[4184] 8/30/2014 11:30:47 AM: Sound Card: High Definition Audio Device

[4184] 8/30/2014 11:30:47 AM: .NET: .NET Framework 2.0 Installed

[4184] 8/30/2014 11:30:47 AM: Initializing Display Manager

[4184] 8/30/2014 11:30:47 AM: Initializing Program Manager

[4184] 8/30/2014 11:30:47 AM: Reading Config

[4184] 8/30/2014 11:30:47 AM: Initializing Main Menu

[4184] 8/30/2014 11:30:47 AM: Initializing Layout Manager

[4184] 8/30/2014 11:30:47 AM: Initializing Controls Data

[4184] 8/30/2014 11:30:47 AM: Initializing Input Codes

[4184] 8/30/2014 11:30:47 AM: Initializing Layout Maps

[4184] 8/30/2014 11:30:47 AM: Initializing Game Info

[4184] 8/30/2014 11:30:47 AM: Initializing History Dat

[4184] 8/30/2014 11:30:47 AM: Initializing MameInfo Dat

[4184] 8/30/2014 11:30:47 AM: Initializing Command Dat

[4184] 8/30/2014 11:30:47 AM: Initializing Story Dat

[4184] 8/30/2014 11:30:47 AM: Initializing HiToText

[4184] 8/30/2014 11:30:47 AM: Initializing Artwork Manager

[4184] 8/30/2014 11:30:47 AM: Initializing Mame Manuals

[4184] 8/30/2014 11:30:47 AM: Initializing Emulator Manuals

[4184] 8/30/2014 11:30:47 AM: Initializing Emulator OpCard

[4184] 8/30/2014 11:30:47 AM: Initializing NFO Viewer

[4184] 8/30/2014 11:30:47 AM: Initializing IRC

[4184] 8/30/2014 11:30:47 AM: Initializing SendKeys

[4184] 8/30/2014 11:30:47 AM: Initializing Mame Interop

[4184] 8/30/2014 11:30:47 AM: Initializing Mame Manager

[4184] 8/30/2014 11:30:47 AM: Initializing Emulator Manager

[4184] 8/30/2014 11:30:47 AM: Initializing Keyboard Hook

[4184] 8/30/2014 11:30:47 AM: Initializing Direct Input

[4184] 8/30/2014 11:30:47 AM: Initializing MCE Remote

[4184] 8/30/2014 11:30:47 AM: Initializing Input Manager

[4184] 8/30/2014 11:30:47 AM: Initializing Profiles

[4184] 8/30/2014 11:30:47 AM: Initializing Bezel

[4184] 8/30/2014 11:30:47 AM: Reading Mame Data

[4184] 8/30/2014 11:30:47 AM: Reading MiniInfo Xml

[4184] 8/30/2014 11:30:48 AM: Mame Version 0.144

[4184] 8/30/2014 11:30:48 AM: Reading Mame Ini

[4184] 8/30/2014 11:30:48 AM: Initializing Mame Cfg

[4184] 8/30/2014 11:30:48 AM: Initializing Mame Command Line

[4184] 8/30/2014 11:30:48 AM: Reading History Dat

[4184] 8/30/2014 11:30:49 AM: Reading MameInfo Dat

[4184] 8/30/2014 11:30:49 AM: Reading Command Dat

[4184] 8/30/2014 11:30:49 AM: Reading Story Dat

[4184] 8/30/2014 11:30:50 AM: Reading All Mame Cfg's

[4184] 8/30/2014 11:30:50 AM: Reading Mame Ctrlr File

[4184] 8/30/2014 11:30:50 AM: Creating MainBitmap

[4184] 8/30/2014 11:30:50 AM: CmdArg: -emu Value: mame

[4184] 8/30/2014 11:30:50 AM: CmdArg: -game Value: dkong

[4184] 8/30/2014 11:30:50 AM: SendMessage (InterComm) -> IPC_Server Failed To Send Message Id:Exit Str:

[4184] 8/30/2014 11:30:50 AM: Starting Mame Interop

#

# CORE CONFIGURATION OPTIONS

#

readconfig 1

#

# CORE SEARCH PATH OPTIONS

#

rompath "F:\Emulators\MAME\roms"

samplepath samples

artpath artwork

ctrlrpath ctrlr

inipath .;ini

fontpath .

cheatpath cheat

crosshairpath crosshair

#

# CORE OUTPUT DIRECTORY OPTIONS

#

cfg_directory cfg

nvram_directory nvram

memcard_directory memcard

input_directory inp

state_directory sta

snapshot_directory snap

diff_directory diff

comment_directory comments

hiscore_directory hi

#

# CORE STATE/PLAYBACK OPTIONS

#

state

autosave 0

playback

record

mngwrite

aviwrite

wavwrite

snapname %g/%i

snapsize auto

snapview internal

burnin 0

#

# CORE PERFORMANCE OPTIONS

#

autoframeskip 0

frameskip 0

seconds_to_run 0

throttle 1

sleep 1

speed 1.0

refreshspeed 0

#

# CORE ROTATION OPTIONS

#

rotate 1

ror 0

rol 0

autoror 0

autorol 0

flipx 0

flipy 0

#

# CORE ARTWORK OPTIONS

#

artwork_crop 0

use_backdrops 1

use_overlays 1

use_bezels 1

#

# CORE SCREEN OPTIONS

#

brightness 1.0

contrast 1.0

gamma 1.0

pause_brightness 0.65

#

# CORE VECTOR OPTIONS

#

antialias 1

beam 1.0

flicker 0

#

# CORE SOUND OPTIONS

#

sound 1

samplerate 48000

samples 1

volume 0

#

# CORE INPUT OPTIONS

#

coin_lockout 1

ctrlr default

mouse 1

joystick 1

lightgun 0

multikeyboard 0

multimouse 0

steadykey 0

offscreen_reload 0

joystick_map auto

joystick_deadzone 0.3

joystick_saturation 0.85

natural 0

uimodekey auto

#

# CORE INPUT AUTOMATIC ENABLE OPTIONS

#

paddle_device keyboard

adstick_device keyboard

pedal_device keyboard

dial_device keyboard

trackball_device keyboard

lightgun_device keyboard

positional_device keyboard

mouse_device mouse

#

# CORE DEBUGGING OPTIONS

#

log 0

verbose 0

update_in_pause 0

debug 0

debugscript

debug_internal 0

#

# CORE MISC OPTIONS

#

bios

cheat 0

skip_gameinfo 1

#

# CORE MKChamp OPTIONS

#

disable_hiscore_patch 0

disable_nagscreen_patch 0

disable_loading_patch 0

#

# WINDOWS DEBUGGING OPTIONS

#

oslog 0

watchdog 0

debugger_font "Lucida Console"

debugger_font_size 9

#

# WINDOWS PERFORMANCE OPTIONS

#

priority 0

multithreading 0

numprocessors auto

#

# WINDOWS VIDEO OPTIONS

#

video d3d

numscreens 1

window 0

maximize 1

keepaspect 1

prescale 1

effect none

waitvsync 1

syncrefresh 1

#

# DIRECTDRAW-SPECIFIC OPTIONS

#

hwstretch 1

#

# DIRECT3D-SPECIFIC OPTIONS

#

d3dversion 8

filter 1

#

# PER-WINDOW VIDEO OPTIONS

#

screen auto

aspect auto

resolution auto

view auto

screen0 \\.\DISPLAY2

# screen0 auto

aspect0 auto

resolution0 auto

view0 auto

screen1 auto

aspect1 auto

resolution1 auto

view1 auto

screen2 auto

aspect2 auto

resolution2 auto

view2 auto

screen3 auto

aspect3 auto

resolution3 auto

view3 auto

#

# FULL SCREEN OPTIONS

#

triplebuffer 1

switchres 0

full_screen_brightness 1.0

full_screen_contrast 1.0

full_screen_gamma 1.0

#

# WINDOWS SOUND OPTIONS

#

audio_latency 2

#

# INPUT DEVICE OPTIONS

#

dual_lightgun 0

Edited by Tempest
Changed <code> tags to <spoiler>
Link to comment
Share on other sites

  • 2 weeks later...

I am now trying to set up new Emulators.... I have started with NES. I have created the profile, labels, and template. I also did all my paths. When I run an NES game though, it brings up a blank template (and the default one rather than the NES one). I figure this is because I would need to create a Label file for EVERY game and name it to match. Is that the case? Is there a way to just have a single template that shows where the A,B,Start, Select.. etc are? I tried to rename my NES label file to default but that didn't help. P.S., I used the N64 files as templates.

Is anyone else using the additional emulators? I have combed through the forums and docs, but I find myself reading in circles. Any help or theories would be greatly appreciated. Thanks again for any help guys.

Link to comment
Share on other sites

I got somewhere on this some time ago. However - details in dim and distant past. Bottom lin e- it IS possible. Got it working for SNES - bring up game button configs for each game. Thinking back , think had to edit an .ini or something - list of all games with labels - isn't there a default xml at the top too? Got to the point of designing a database to generate these .ini/xml files, but that just got to be a HUGE project!

As I say it was a while ago, and have put this on reserve waiting to see what comes out with evo + see how cpwizard integrates or has been updated.

The emu setup was quite sticky if I recall and the dev said he got it up n running good with mame, but the emu side wasn't developed much further.

Link to comment
Share on other sites

  • 2 months later...

I got somewhere on this some time ago. However - details in dim and distant past. Bottom lin e- it IS possible. Got it working for SNES - bring up game button configs for each game. Thinking back , think had to edit an .ini or something - list of all games with labels - isn't there a default xml at the top too? Got to the point of designing a database to generate these .ini/xml files, but that just got to be a HUGE project!

As I say it was a while ago, and have put this on reserve waiting to see what comes out with evo + see how cpwizard integrates or has been updated.

The emu setup was quite sticky if I recall and the dev said he got it up n running good with mame, but the emu side wasn't developed much further.

Thanks for the reply, I have been waiting on pins and needles for EVO as well, but after a few months am going to try CPWizard again and see what I can see. :)

Link to comment
Share on other sites

  • 3 months later...
  • 1 year later...

@headkaze Sooo.... *whistles + kicks his feet innocently.....

How hard would it be then to add a setting for the thickness of the outline around label text? Or even just thickening it a little? Is it just an arbitrary number hardcoded or is it more of a nightmare?

Additionally, I think I'd have to kill someone if they asked me to revisit my code from 9 years ago! I can barely understand mine from 4 weeks ago. So would totally understand if it's a no-go. 

However, everything is coming together my end after 18 months. CPWizard is singing gloriously with CPWizBiz, MarqueeMasher and GemVoy + all plans coming to fruition + it's looking chipper. I've modded it so game images get dynamically displayed behind text and images, so needing the text outline a little thicker to ensure it is legible. 

I know yer very busy, but even a nod whether it's possible or not would be helpful. 

Cheers

Link to comment
Share on other sites

  • 4 months later...

Without getting too far into my problem i'll keep this simple for now with the hopes of figuring out the bigger issue.  After editing the controls.xml file, as example putting the number 1 at the end of the value section for a particular game, ...

  <label name="P1_JOYSTICK_LEFT" value="Rotate Left1"/>

then saving said file then re-exporting a layout image, the value still shows "Rotate Left".... as though the change made in the xml has no affect.  Any ideas?  Thanks.

Link to comment
Share on other sites

okay well guess i should go ahead and outline my problem because based on additional testing i'm even more confused.  Here's the situation in detail.  I changed the button mapping inside Track & Field then rexported the layout image using the batch export tool, the new png image appeared to show the new mapping correctly.  However, when i did the same for Asteroids, it does not.  By default Asteroids in Mame uses the joystick to rotate left and right.  I changed this to buttons and also moved the fire, thrust, and shield to the player 2 buttons to simulate how the actual game is.  The new layout image shows the joystick is still used to rotate and the fire, thrust, and shield is on the wrong buttons.  I've tried to play around with the controls.xml file but can't seem to figure out what i'm doing wrong.

Link to comment
Share on other sites

Whilst I became reasonably well acquainted with some aspects of CPWizard in making CPWizBiz, I haven't used the Mame or batch export functions at all so afraid I can't help. However, headkaze is a good egg (albeit a busy one) - also lots of users have used the mame features on this. May be worth asking over @ byoac too:

http://forum.arcadecontrols.com/index.php/topic,74091.640.html

in case anyone there has the answer.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...