Spoiler tag

Tuesday, June 28, 2016

JSRF Graffiti Tool

Hey there!

I don't know why I didn't look into making custom graffiti for JSRF earlier, but since some people have recently asked about importing custom graffitis I gave it a try and figured out how to do it and made a tool to ease the process.

As usual, you'll need a modded xbox with JSRF installed on the HDD and the JSRF files somewhere on your PC.

The tool uses the JSRF stock graffiti folder as the mod folder, it lists the graffiti in the tool, you can select one and click edit to open it up in an image editor, make the changes, save and import back into the tool.
The tools handles all the image format conversion and file management, it also lets you automatically upload the selected graffiti to the xbox (through FTP) and automatically clears the cache for the graffitis.

Here's what the tool looks like with XL size graffitis loaded:

If you are going to use this, first head to the settings tab and lets configure things :) here's an example with my settings so you get the general idea.

JSRF Files (PC)
-JSRF TEX Folder: select the TEX folder in the JSRF files on your PC.
-JSRF TEX original files: This is just optional if you want to restore files, make a second copy of the JSRF files (only the TEX folder if you prefer) and select the TEX folder of that copy, this will be used to restore the graffitis to its original.

JSRF Files (Xbox) 
-Set the FTP IP address of your xbox, login and password
-JSRF games folder: set the path to the Media folder where you have installed JSRF on your xbox.

Preferred texture editor
-Select any image editor (that can edit .tga images).

And you should be set! :D

Now to edit graffiti, go back to the Graffitis tab, click on a button for a graffiti size.
1-Select a graffiti: it will be marked with a light orange stroke like so:

2-Click Edit Selected

The graffiti should open in the image editor, in my case I am using photoshop.

3-Make your edits and don't forget to use the Alpha channel for transparency (black = completely transparent, white = completely opaque)

My alpha channel:

If using Photoshop, flatten the image once you are done.

4-Save the image: very important save with the same file name and location it was opened in, this is so the  JSRF Graffiti tool knows what file to import.

If you are using Gimp, make sure to export with the following settings:


5-Go back to the tool, make sure the graffiti is selected.

6-Click Import selected, the tool should import the graffiti and refresh the thumbnail.

-To install the graffiti mod on the xbox, have your xbox running on the dashboard, make sure your FTP works.

8-With the graffiti selected click "Send to xbox", the tool UI will freeze for a second or two, once its done it should make a confirmation sound.

That's it! :D

Now lets see the results ingame :)

Go check it in the graffiti selection menu to make sure you have it selected, you'll need to have the graffiti slot unlocked of course.

Well its totally out of place hehe but its just for demonstration purposes :D

Let me know if you run into any issues with the tool and if you mod, feel free to post your screenshots of your modded graffiti in the comments :)


  1. Oh boy! More toys I get to work with for the secret project. Only thing that could be better was if there was a way to replace character sound effects. (I can replace music and DJ Professor K's lines, but none of the rudies. .adx files are super easy to work with, surprisingly.) :P Thanks a bunch!

  2. this is INSANE, yours sincerely, zul

  3. I am getting an error with Paint.net. It says that the image cannot be found, yet I have the files on my computer.

    1. In what folder did you place the JSRF files?

      Make sure the folder has read/write permission, in windows 10 many folders such as C:\, program files etc do not have write permission.

  4. My game freezes when I go to edit my graffiti.

    1. Hi, do you mean after editing and uploading to the xbox?

      Or are you trying to connect to the xbox while in the game?

      You need to be on the xbox modded dashboard that supports FTP to upload the files, then launch the game.

    2. I uploaded it while I was on the modded xbox dashboard. When I launch the game and goto change my default graffiti, I choose the one I modded and my game crashes.

  5. Which version of the game do you have? Pal or NTSC/NTSCJ?
    Which kind of graffiti size are you replacing?
    Which tool are you using to edit the textures?


    1. Okay I think I found the issue, when exporting from Gimp, you get the export options, untick/disbale "RLE comrpression" and have "Origin" set to Botton Left.

      You'll want to restore the original graffiti s first to get rid of the previous imports which are causing the crash, either by restoring the original graffitis within the JSRF Graffiti tool and re-uploading the to the xbox.

      Or maybe a simpler way to do that might be to FTP the Medi\Mark\TEX\ folder contents (from the original iso files) to the xbox, also empty the cache on partitions X Y Z, also restore the original TEX files to your JSRF pc folder.

  6. help me
    i get the error Media\Mark\TEX\ directory not found

    1. Do you get that when selecting the folder in the settings tab, or when trying to load a type (size) of graffiti such as SS, S, M etc?

  7. I cant send the new design of graffiti by FTP. The connection is stablish, works (because i can get access of the directories on my Xbox) all configurations are done. But when replace the graffiti (I heard success sound) and checkout in the game, this don't appear. I tested in a NTSC Console with a PAL Game.

    1. Could be the FTP isn't working from the tool, make sure there isn't a firewall blocking the application.

      Also make sure your xbox dashboard allows multiple FTP connections, if you connected to the xbox through FTP with an FTP app its possible the xbox only allows one connection at a time.

      You could check if the files are being uploaded/updated to the xbox through the JSRF Graffiti tool, after you update one from the tool, check the xbox folder "JSRF\Media\TEX\" and you can check the time/date to see if they were updated or not when you uploaded from the JSRF tool.

  8. Is it possible to, for example, in the SS graffiti, to put a 256x256 picture instead of a 128x128 picture?

  9. what are the dimensions of all graffiti sizes?

    1. I don't know, use the tool and open the graffiti in your image editor, you will know from there.

  10. XL: 1024x256
    L: 512x256
    M: 384x256
    S: 128x128
    SS: 128x128

  11. I managed to get the mod tool somewhat working with CXBX Reloaded and the image even shows up in the game. However the image isn't solid and it's somewhat transparent enough that you see the image that was suppose to be replaced underneath it. Any idea on what the issue is?

    1. Hi,

      Whatever image editor you are using, make sure you edit the "alpha channel", the alpha channel is a greyscale(black and white) part of the image which is used to the define which parts of the image are transparent or opaque.

      What might be going on is that you still have the alpha channel from the original graffiti and it's applying that as transparency to your RGB image.

    2. https://imgur.com/a/CMw8kaD would be what I'm currently getting in CXBX Reloaded.
      But yeah I've gone and played around with the Alpha channel in photoshop, I've turned the alpha channel all white and deleted it right out but I'm still getting the above issue. Also props on being so quick on the replies .

    3. Oh I overlooked the mention its on CXBX, the graffiti display doesn't work on cxbx, unless it's the "hlsl_ps" branch version.

      Which one are you using?

    4. This comment has been removed by the author.

    5. Don't know what happened to my last comment but I'll retype it, sorry if I double post.
      But currently I'm using the Master Branch and the most released version CI-e4ef9c1 that came out two days ago 3/7/2021. I'll go and download whatever version that's on the hlsl_ps branch and get back to you shortly. Also I wanted to add in, I entered the Xbox IP I saw in the JSRF ModTool 2.6.2 and it couldn't ping the xbox yet the images showed up in the graffiti tool/JSRF. If I put in all 0s it can ping the xbox but I get a warning, but that too weirdly enough works and it shows up in game.

    6. Alright, I'm not seeing anywhere on the hlsl_ps branch about a downloadable version as if I would be doing

      Which I assume is just a compiled build from the master. Downloading the hlsl_ps branch as a .zip after digging around I can't find a .exe that would boot up CXBX. Unless I'm looking in the wrong place which in that case if you can post up directions or better yet the link to where I can download a simliar looking released build of the hlsl_ps branch it'll be a big help.

    7. One of those cases where I find the answer after I asked the question. Can confirm that downloading release version 2019 from the link https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/actions/runs/568050068

      works as shown: https://imgur.com/a/nQ8uIeB

    8. Apologies I don't know what I did but I think I might have misclicked and deleted that comment by accident, either that or blogger's comments are glitching, which it has been doing for the past two years, but it's gotten better.

      Here's a build of that particular cxbx branch build with which graffiti should display properly: https://github.com/Cxbx-Reloaded/Cxbx-Reloaded/actions/runs/568050068

      Regarding the xbox IP thing, you are playing on cxbx right?
      If so the IP and FTP stuff doesn't apply to your case,as IP and FTP is just the means for sending the files to the og xbox over the network.
      In your case you want to set and use the same game's "Media" folder in the JSRF tools and for Cxbx.

      However for game mod changes to apply/update, you will need to "clear the cache".
      The way the xbox works originally(and cxbx reproduces this behavior too) is that the xbox loads the game files from the DVD, loading files form the DVD drive is actually fairly slow, so in order to speed things up for the next time you play the game (or for files that the game often uses) the xbox "caches" the files, so it copies them to the hard drive, from which they can be loaded from much faster.

      So when you modify files, they don't always get re-loaded if they're already in the cache.

      So you need to clear the cache, meaning deleting the files in the cache, every time you mod/update a file of the game, for it to reload them.

      In cxbx depending on what option you chose the cache will be located in one of two places.
      Either in your cxbx folder and the folder "EmuDisk".
      Or in "C:\Users\your_user_name\AppData\Roaming\Cxbx-Reloaded\EmuDisk"

      Now to clear the cache, delete the "Partition" folders except!! Partition1, do not delete that one, which contains the xbox game saves data.

      Hope that helps, let me know if you have any other questions.


  12. Any idea how to get the opaque backgrounds to work? I’ve tried white and black alpha and additional black and white paint layers under the image but nothing will stop the image from color and shape blending with the existing graffiti in game. I’d appreciate any tips.

    1. Hi, which image editor are you using?

    2. I’ve tried Kirita and Paint.net

    3. Sorry, I don't know Krita paint, look for tutorials how to save/export transparent images maybe.

  13. Hello! Looking to use this tool like I used it with JSR HD, since I kinda love using custom graffiti.

    However, I see that the tool replaces an already existing one that is not created by the user, unlike the JSR tool that replaces a custom-made graffiti by an external one.

    So my question is that, if I enter the game, create custom graffitis of all sizes and then try to use the Custom Tool, will it be able to change a graffiti I made or will it change only the already made ones?

    1. I looked into it early on, but custom graffiti are encoded in their own file format that would need to be reverse engineered and on top of it is "signed"(aka a checksum, a key that is generated based on the whole content of the data, in most cases used to avoid loading corrupted files), so that would require reverse engineering for how it gets signed and then the file structure of the custom graffiti file itself.

      So unfortunately for now, we're stuck with replacing existing graffiti.

    2. That's pretty sad tho. Wish I knew how to do that, I would probably spend quite a lot of time trying to replace the custom graffitis but oh well. Thanks for answering, hopefully it can be done in the future. Keep up!

    3. Reversing how the custom graffiti file is signed requires reverse engineering by disassembling the game's executable and looking at CPU instructions to find how the graffiti file signature is calculated.

      I don't have that skill though, I'll ask someone I know who is actually doing that level of reverse engineering on the game, if he can figure out the custom graffiti file signature, maybe I can figure out the custom graffiti file structure myself, in fact when I looked into it a few years ago I saw the file has multiple images of the graffiti each in a different size, like a thumbnail probably.

      Custom graffitis (instead of replacing generic ones) with the functionality of the current Graffiti Tool would be so much better, for sure, I hear you.

  14. I have a question, I just started using this graffiti mod tool and i've been able to figure out the settings.. However when I go to the graffiti tab to load up the images from the TEX file, I get an error message saying "Unhandled exception has occured in your application. If youy click Continue, the application will ignore this error and attempt to continue. If you click Quit, the application will close immediately. The system cannot fine the file specified."

    Did anyone else run into this issue or am i doing something wrong?

  15. OK update, I was able to finally get the images from JSRF graffiti to load onto my tool. However when I go to "edit selected" it states that my file can not be opened. When I go to the TEX folder it now has mulitple files of the same image/file name. How do I replace/mod the file needed for these images to show up in game?

    I am using Paint.net and CXBX. I don't have a modded xbox. HELP!!!