Sullz (the_sullz) wrote,
Sullz
the_sullz

Fixing P4V

At work we use a source control management software package called Perforce. If you don't know what source control is you can probably stop reading here.

There are three possible Perforce clients on Windows platforms: p4 (command line), P4Win (Windows-only GUI), and P4V (cross-platform GUI). P4V used to really suck, so I nicknamed it P4Lose. But it's gotten much better over the years and gained some features I really like. A while back Perforce announced that they weren't going to support P4Win any longer. Today there are actual Perforce server features that aren't supported in the P4Win client, so I'm trying to switch to P4V.

The file icon overlays in P4V all look very similar (very small and red) which really slows me down when reviewing a pending integration changelist with hundreds of files. I want to quickly tell where files have been added or deleted (since that may be a sign I integrated some part of the branch I shouldn't have). I want to quickly see where the files that didn't get auto-resolved are so I can do something about it. It all looks kind of the same in P4V. The icon overlays in P4Win are larger and are actually different colors. I want to change the P4V icon overlays to have more visible differences.

So, I found a file that looked promising in the P4V installation (images.rcc). I couldn't find any evidence that this is a standard file format used by anything, but I reverse-engineered enough of it that I think I can modify it safely. I just wrote a quick program to parse it and it dumped out 109 PNG images!

Next step, I'll try modifying one of the images and make sure P4V still works.

In case you were wondering, the images.rcc file consists of:
  1. A brief header with some offsets into interesting parts of the file.
  2. A series of resource chunks that all turned out to be PNG images.
  3. A series of UTF-16 strings that correspond to the original file names of the resources.
  4. Some more garbage at the end that I haven't bothered to figure out yet, but I assume I won't need to touch it.
Tags: code, kvetch, perforce
Subscribe

  • Nuts

    Possibly true personal factoid #1: When eating from a bowl of nuts, I eat all the Brazil nuts first, then the almonds, then I pick at the rest. I…

  • Sale ends Monday

    If anyone out there really wants to have my babies, now is the time to speak up. In a week that option will no longer be available. Vasecto me!

  • The Pruitt-Igoe Myth

    I went to see The Pruitt-Igoe Myth yesterday at the Tivoli. The filmmakers were on hand to answer questions afterwards. A few people in the audience…

  • Post a new comment

    Error

    Comments allowed for friends only

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 6 comments