Recently I wrote a script to pull out all the necessary assets out of a game install, which left only my desire not to be judged on the terrible code, which I think I can swallow provided the following disclaimer is attached:
- Don't judge me on the pipboy code! It was hacked together over a few weekends as an experiment at the same time I was frantically working on the rest of the costume. There are (many) memory leaks, buffer overflows and generally unsafe coding, and a gross misunderstanding of how to use OpenGL properly (it was my first experiment with OpenGL too).
- The Java side is almost a complete mystery to me. I don't know Java at all, and it's massive hodgepodge of official samples and code I've found online cobbled together. Expect crashes and force-closes all over the place. I'm sure it will kill your battery too.
- I'm working on my costume for the next SDCC right now, and I'm finished with this project. Everything is provided as is and I don't have any time to support any of it, sorry.
Install the apk
You can find the source code for everything on my GitHub but the easiest way to get started is to download and install the apk, which you can download here. I don't want to go into how to install apks here since it's pretty easy to Google. Once you've installed it if you try to run it straight away, you'll find that it just gives an immediate error, since it can't find the configuration files.
Creating the configuration files
You'll need a working install of either Fallout 3 or Fallout New Vegas at this point. If you don't have them, then go to Steam or another online merchant and get them right now! After they're installed, you'll want to grab my data collection script from here, and then extract it somewhere.
Open up a command terminal and navigate to the directory you extracted the script to. Type pipboy_create_data.exe [output_directory] [path to your fallout game]. You can also put the paths to both games if you want the music from both. After a while it will finish, and you should be able to look into the output directory and find a bunch of files like this:
Note that the data.zip is enormous. It contains all the music from both games in an uncompressed format (I was in too much of a rush to handle compressed formats, sorry!). You will almost certainly want to go into the zip file and remove those music files that you don't want, and update the music.txt file accordingly. You can also give the tracks full names, since by default they will just be named the same as the file. It should look something like this afterwards:
You can also customize everything else at this point. Have a look at the files and see what you can change. Be careful with the formatting though, remember that the code is held together with string.
When you're happy with it, copy it to the root of your sdcard in a directory called pipboy and then when you load the pipboy app, you should be greeted with a lovely Pipboy screen (after a lengthy loading process):
There is a rudimentary touchscreen interface where you can swipe between views, move up/down/left/right by touching in that general part of the screen, and long press to select. Pipboys don't have touchscreens though, so next you'll want...
Physical Buttons
For my video, I used an Arduino with a USB Host shield running Microbridge to act as an ADB debugger for the phone, which would then set up a tcp tunnel and send control packets to the phone when buttons were pressed. It worked, but it was way too complicated, and quite flakey since the phone wants to charge from the arduino which is running from a battery.
If you want physical buttons, (and why wouldn't you?) I would encourage you to try another approach, probably involving using the phone as the USB Host (I was running gingerbread at the time which I don't think can do that). If you want to reproduce what I did though, the sketchbook is on the GitHub, and the following pictures might help you to wire it up:
what is the directory of the sd card? once it is on the sd card i still get the error, and i mad a folder called pipboy and that is where everything is located.
ReplyDeleteDid you do the command prompt thing? You'll need to do that
DeleteHey! Good job on this! :) I have followed your instructions but still have a problem. When I'm trying to load the app on my smartphone, I receive an error telling that app couldn't load a file called "monofonto_verylarge02_dialogs2". Any ideas what should I do? :)
ReplyDeleteI have the same problem... anyone can help us?
Deleteappel or Google must make one of these and than a keybaort atached to the screen i would buy on that would be like a computer you carry arrount your arm and its bigger than a pone so hardware could be all arount your arm and there could be even better hardware in it then the best phones also a really cool look to it
ReplyDeletealso if google made this their could be a extra battery bacause its so big and then you can attach google glass to it and the battery life would be awsome
ReplyDeleteI must have done something wrong somewhere, this is all I got cmd to do:
ReplyDeleteMicrosoft Windows [Version 6.1.7601]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
D:\Users\Desktop>D:\Users\Desktop\pipboy_create_data\pipboy_create_data.exe "D:\
Users\Desktop\pipboy_create_data" "D:\Fallout 3\Data"
Traceback (most recent call last):
File "", line 376, in
IOError: [Errno 2] No such file or directory: 'perks.txt'
D:\Users\Desktop>
Gabriel, you need to change directory first before running the command, so something like:
ReplyDelete"cd pipboy_create_data"
first. Poor coding on my part, apologies.
Thanks a lot, I'll see if this works.
DeleteThis comment has been removed by the author.
Delete"monofonto_verylarge02_dialogs2.fnt" How i fix this?
DeleteI have gotten everything ready, but now there is a problem with my phone not installing. I'll have to try this again when I get a better phone.
ReplyDeleteI got an an error in the cmd also
ReplyDeleteit said "IndexError: index list out of range"
Yep, It works. But I had to put it on my tablet, so I have the world's biggest pip-boy now.
ReplyDeleteWow, this is amazing. Thank you very much.
ReplyDeleteIt says that 'Pipboy_create_data.exe' is not recognized as a internal or external command
ReplyDeleteI followed your instructions to the every last detail, hence there must be something i'm missing?
I commented on your youtube video about these: (https://www.sparkfun.com/products/10441). They seem like a passable solution to get working lit buttons. Kinda wish someone would do this without the android phone. Even if I had the parts, I don't have an android device. Really, with decent graphics lcd, an arduino /arduini clone can probably handle this alone, or at least with some "minimal" supplementary circuitry (like a second microprocessor to just handle the screen).
ReplyDeleteI got an error:"Error Loading font from file monofonto_verylarge02_dialogs2.int"
ReplyDeleteSame
DeleteIt works amazingly, but how can I turn the music on? ^^ also, any chance to have it green/black?
ReplyDeleteany directions will be fully appreciated by this traveller
How dumb I was, I solved the music problem later without further complication, my bad. It works like a charm.
ReplyDeleteAnyway, may I ask what should I tweak to have a green display instead or yellow, please? :D I am very interested in having a green display
Hey Dani, I was wondering if you still have your .apk available for me to download and edit my own stats. I can't seem to figure this out no matter how hard I try.
DeleteDani, to change the colour you just need to edit the file config.txt on your sdcard with the RGB values that you want, you can change a bunch of other options in there too.
ReplyDeleteYou may need to reboot for it to take effect though, I'm not sure why but it seems to cache it sometimes
Thank you, I did so. Also started tweaking more stuff like adding own items and such. Thanks for sharing this stuff, it made me happy! next step will be crafting the housing from scratch (the official clock one is starting to go way too expensive).
DeleteHow did you add your own items.
Deletethank you Tom!!!!!!! I'm gonna try that in a while
ReplyDeletePlease help. I am not that good with programming and I am stuck on the first part of the setting up the configuration part. So I ask that may you please make a video, not only for me but for the other people that are having trouble. thank you
ReplyDeleteIm having the same problem as you did you ever get it
Deleteadd an internal wire harness (pretty much just the outside except without the screen and where the screen goes put the natural curl) and also you could wire the buttons up so that the wires connect like the buttons on a mouse (except for the fact that there are three) and then have the buttons be bendy plastic (like the stuff they use for floppy disks except kinda see through and a little more floppy you should know what I'm talking about I hope) so It is the full Pipboy 3000 that goes on your arm now these are just suggestions.
ReplyDeleteWhat is the max wire travel distance for most of that wiring? If you could run a few cat6 cables (probably 4 total? 2 for each direction?) from the unit, down your arm, to a project box somewhere on your person and back again, it might be wearable...
ReplyDeleteOne question. The display is upside-down. The status bar is on the bottom of the screen and no matter what way I rotate the screen, It just stays the same. With the status bar where it should be and the app upside-down I mean. Do you have a quick-fix? Or just a fix?
ReplyDeleteThis cant load more than 85% in the loading process in the Android.
ReplyDeleteI have an Xperia GO. Can anyone help me? D:
It took a bit of time for it to finish.
ReplyDeleteIs that normal?
Also if my game was modded would that effect the process?
I'm getting this error
ReplyDeletehttp://i.imgur.com/xkiz5Eo.png
after following the tutorial perfectly. My file's directory is/storage/extSdCard/pipboy. Is there I way I can make this work?
This comment has been removed by the author.
ReplyDeleteOk I've hit a snag
ReplyDeleteHere is whats happening...
C:\Users\TXGorilla>cd/pipboy
C:\pipboy>pipboy_create_data.exe C:\PipData D:\Program Files\Steam\steamapps\com
mon\fallout 3
Failed to find font, is your fallout installation complete?
C:\pipboy>pipboy_create_data.exe C:\PipData D:\Program Files\Steam\steamapps\com
mon\fallout new vegas
Failed to find font, is your fallout installation complete?
Also have this problem.
DeleteHave same problem
Deletechange it to the data folder inside
DeleteOk Well Ive got a step forward at least...
DeleteI copied the Misc Sound Textures and Voices *.bsa files into a lower directory... D:pip\ is what I used... now I have it running clearly... with the exception of the screen is upside down... and cant get the music to play
You have to press the screen without moving for a couple of seconds.
DeleteFailed to find font :(
ReplyDeleteDid you ever fix it? I'm getting that error too.
DeleteYou have to put the whole directory location in quotes.
Deleteim having trouble using the command prompt Create the configuration files
ReplyDeletehey guys, i managed to get past the failed to find font issue! At first i tried with fallout 3, then with fallout new Vegas separately but when tried them together, making sure that the " " was around each one It worked for me!
ReplyDeletemy setup is on windows 7 64bit, with fallout 3 goty and fallout new vegas from steam.
so my working code was this, making sure that i was cd'd into the correct folder with another one inside it labled out.
cd c:your file location.
pipboy_create_data.exe out "C:\Program Files (x86)\Steam\SteamApps\common\Fallout 3 goty\Data" "C:\Program Files (x86)\Steam\SteamApps\common\Fallout New Vegas\Data"
i did need to enter this a few times, as it kept getting permission errors for a temp location it was using, but it worked in the end :)
oh and changing to other screens does not work for me thus far, as its configured for the hardware buttons tom added to his device. but i shall try to get at it with a usb otg cable and see how we get on :)
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteI have force close on 80%
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteSuggestion: Maybe you should make a video and put it on your youtube channel for this.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteThank you for this tutorial. I have 2 statements. 1. Can i possibly make a video and post it to my youtube channel, thetankfrog568, where you can add it here and i will give you full credit. 2. It would be cool if you can select the items, but I found out a way to make a scertain item be selected
ReplyDeleteOf course you can make a video. I've long since moved on to other projects, so I haven't been able to offer any help to people struggling to make this work, so by all means.
DeleteI know this is fairly late, but whenever I go through the process i fail to receive a music.text file when creating the config files. Any clue what I may be doing wrong?
ReplyDeleteЛюди ПОМОГИТЕ ПОЖАЛУЙСТА!!! Как я не пытался сделать файлы конфигурации,у меня ничего не получалось!!(( 7 месяцев я ничего не мог сделать((( Пожалуйста у кого всё получилось,скиньте мне файлы конфигурации которые у вас получились мне по скайпу,если что мой скайп miha007xxx,я ВК id179379286.Помогите пожалуйста!Заранее спасибо!
ReplyDeleteThere's a rather identical (designwise) pipboy that I've seen that fits around the arm. No sound however. Is there a connection there?
ReplyDeleteapp closes at about 76%, although its possible it could be my phone...
ReplyDeleteProbably you have too much music in music.txt (see my post down below)
DeleteWhere did you put the files in your phone can't seem to get passed the screen with the fatal error since it isn't really specific.
DeleteGuys, here is some info for you:
ReplyDelete1. Do NOT extract .zip file to SD Card, instead copy there .zip
2. There will be probably too much sound files in music.txt, which makes the app crash during loading
3. If app loads, but screen will be black, try lock your screen on smartphone or tablet, and unlock it (it works like this on my mobile)
4. If you get error during loading screen about bad image file, you have to change that name in .txt file (for example, in perks.txt perk "Amazing beard" has picture "perk_life_giver.png", BUT in .zip file is "perk_life giver.png" (without second _ ))
Also, on my mobile button for "menu" work as "confirm" (as if you hold your thumb on screen).
And don't forget to swipe to right/left, if you want to see your items or listen to music files ;-)
Jakub, what does he mean by copy it to the root of the SD Card. Please tell me. I have a galaxy s4. Reply back at epicdavid_04@yahoo.com
DeleteIf you ever come back to this project - It might be worth looking at using a Teensy for physical controls and LED.
ReplyDeleteIt's an absolutely tiny chip and acts as a native HID controller (which means later version android will pick it up as a keyboard automatically.) Connects via usb, so could use an OTG cable to connect it directly to android device.
Just a thought.
Also, "#define DATA_DIR "/storage/sdcard0/pipboy/""is the devil.
Galaxy S4 uses extSdCard for the external sd, sdcard0 is internal, and your code doesn't play nice with recompiling in eclipse, which seriously cuts down the amount of data I can have :(
Hah, you're right about hardcoding that path being evil! In my defence, I knocked this up in a few weeks for a cosplay a few years ago and I intended to be the only user!
ReplyDeleteHas worked surprisingly well, once you take that into consideration.
ReplyDeleteI've got it running flawlessly on my Galaxy S4 (with 300mb of data.zip clogging up my 8gb internal memory, noooooo)
It's stable, and it works (although it letterboxes to maintain aspect ratio).
I'm 3 pieces of http://www.thingiverse.com/thing:109716 away from finishing the physical build - Hopefully it'll do your earlier one proud!
Kiah, how did you put it in the internal memory? Isn't it suppose to be in a SD Card? If you can explain how you got access to it please tell me.
Deletecould you post a .zip on the data files so we dont have to buy the fallout game? i dont mind what the data is i just want the app to run
ReplyDeleteHi :)
ReplyDeleteI just found this and got it running on a tablet.
only problems i got is the screens upside down, and not sure how yo get to the other screens via the touchscreen. also wheres the github? would like to try making physical buttons but no idea where to get the arduino code.
any help will be great :)
actually i worked out the screen controls, its just the arduino code im after now X3
Deletehttps://github.com/tompudding/pipboy
Deletethanks dude :) been wanting a pipboy for my androids for ages ;)
Deletephone wont find the /mnt/sdcard tho since nowadays they tend to put them elsewhere like /storage/sdcard or ext-sdcard or watever. any way round this? some kind of path redirect in the system perhaps?
why doesn't it work if i have mods installed
ReplyDeleteAfter much effort i run it. But i have not readable text and pip boy is not in full screen.
ReplyDeleteOh great and powerful Tom, creator of the code. I ask you, please help me. You see I have same problem as "Bongmaster" my phone can't find the /mnt/sdcard as the sdcard is in /storage/sdcard . If you could tell how I redirect the path the code takes or even what file that part of the code is in and where it's at I would be so thankful.
ReplyDeleteYou can use my Pip-boy 3000 app
Deletehttps://www.youtube.com/watch?v=CJawcUnB3ss
I have a HTC one mini, which doesn't have an sd card, what can I do?
ReplyDeleteCheck my pip boy3000 app for android https://www.youtube.com/watch?v=5tCEXEuICWs !
ReplyDeleteThis comment has been removed by the author.
ReplyDeleteI dont understand where i have to save the file on my android device to get the app to work?
ReplyDeleteHelp?
This comment has been removed by the author.
ReplyDeleteAlright so I managed to fix the Index Error Somehow but now I'm getting a error saying "Failed to Find Font File, is your fallout installation complete?"
ReplyDeleteDang now I'm back to the "Index Error" this is how I'm doing it. C:\Users\Andrea18\desktop\pipboy_create_data "C:\Users\Andrea18\Desktop\pipboy_create_data" "C:\Program Files (x86)\R.G. Mechanics\Fallout New Vegas - Ultimate Edition\Data" But it loads some .mp3 files but after 2 seconds it gives me that error.
DeleteOk, so I managed to get through the index error again and the Font File. But when it gets all music files. It doesn't get the configs, items, perks, skills, and specials. Just the music. In the pictures in this tutorial he has stuff.
DeleteOk, so now i have everything ready. But where do I put the files? Do I go to the actual /mnt/sdcard? or like you said the "root" of the sdcard. Please be more specific with your projects.
DeleteHi man. Great work! I followed the tutorial but im stuck on the prompt. Look what i write first:
ReplyDeletecd pipboy_create_data.exe C:\Users\Utente\Desktop\pipboy_create_data out "C:\Users\Utente\Desktop\pipboy_create_data>pipboy_create_data.exe" out "C:\Program Files (x86)\Steam\steamapps\common\Fallout 3 goty\Data"
I know i write it wrong, but can someone tell me how to write it?
mmh it work on the pc but the app dont regocnize the the data at /mnt/sdcard/pipboy.
ReplyDeletei have a Nexus 5 and it has no external sdcard only the memory inside.
is there a way to change the file path? the nexus has root for changes
I have the Galaxy S6 which doesn't have the SD card, where do i put it so i don't get the error?
ReplyDeleteHello, i would ask if someone got a fix for "monofonto_verylarge02_dialogs2.fnt"??
ReplyDeleteor
Can anyone who working for him upload his "monofonto_verylarge02_dialogs2.fnt" from his data.zip folder?
i do everything here, but when i start the app, appear the same fatal error menssage, what can i do to fix it? i'm downloading all stuff from "out" in a paste named pipboy
ReplyDeleteNice Job! like your pipe Boy ^^
ReplyDeleteIf you need a help with Java may I can Help You, I work on Java SDK development.
ReplyDeleteHey I just watched your vid this year and I was wondering if you can give me a download link to the pip boy app
ReplyDeletecoolness
ReplyDeleteNo existe un directorio con el nombre de mnt, ¿alguna forma de cambiar esto?
ReplyDeleteHi guys, I wanted to download app, but I was told by dropbox that it does not exists there. Is here someone who could share the app with me, please? Thank you for any reply
ReplyDeleteThis was already fixed by author. Thank you
DeleteI know someone already requested this but the dropbox link is down again for the script thing, would you be able to fix it?
ReplyDeleteSchick quattro Titanium Art, Art & Crafts - Titanium
ReplyDeleteSchick quattro Titanium Art, Art winnerwell titanium stove & titanium men\'s wedding band Crafts · Product · Special Projects · apple watch aluminum vs titanium Creative iron titanium Director · View topic. · Related Pages · columbia titanium More Details.