Jump to content

PatchIt! 1.1.2


le717
 Share

Recommended Posts

This software is dead. Please do not use it, ever. Thank you. :)

 

Original post content in spoiler.

 

Spoiler

 

Inspired by  Cafeteria , PatchIt! is the simple way to package and install LEGO Racers mods. PatchIt! has three main guidelines:

  • Ask for the LEGO Racers installation, ensure one exists at that location, and store it in an open file format in the PatchIt! installation to be used as the Patch installation directory, and to create a completely portable (thumb-drive) application.
  • Create a PatchIt! Patch by entering the mod name, version, author, and description, and point it to the modded files. Automatically compress the files into an open archive format (.PiA), and write the details to an open file format (.PiP), using the name and version for the filenames.
  • Install a PatchIt! Patch by selecting the .PiP file, confirming the installation, and automatically decompressing the Patch archive directly into the LEGO Racers installation.

Thanks to everyone who submitted Racers game play tips, app suggestions, and just supporting the entire project. Special thanks to JrMasterModelBuilder and TheDoctor for all their code help. An additional thanks goes to JimbobJeffers, RobExplorien, and Hobino for their excellent feedback in Beta/RC testing. I could not have never began without you guys. :)

Installation Instructions

After installing PatchIt!, you'll need to have LEGO.JAM extracted for LEGO Racers mod installation, and make sure LEGORacers.exe, LEGO.JAM, and GolDP.dll are all in the same folder.

If you need help with the actions, please read the excellent Setting Up/Installing a LEGO Racers Mod, written by JimbobJeffers.

PatchIt! Compatible

To let everyone know your mod is compatible with PatchIt!, I've provided some images you can put on your topic or website. The images are available in the Downloads section.

 

Just because mods are compatible with PatchIt! does mean it has to be used. I've kept other people in mind while creating this, and I'm proud to announce that you can manually install a PatchIt! Patch without PatchIt! Since it uses an LZMA compressed TAR archive, you can extract it and install the files yourself.

Downloads

 

Link to comment
Share on other sites

yes! FInnaly a installer. I can picture it now, a installer that installs mods by a click of a button! Hopefully this will be possible in the future! Good job le717! ;)

Link to comment
Share on other sites

JrMasterModelBuilder

I need to get the standard ZipFile module working (or something else) to support more than just Windows (I'm using 7za.exe ATM).

LEGO Racers is Windows only, so cross-platform probably isn't a big deal, but using the module would probably be faster.

 

You should make the script load a text configuration file, so it can be made an EXE. :)

Link to comment
Share on other sites

I've updated the topic with the planned feature set, as well as some more details.
 
 

yes! FInnaly a installer. I can picture it now, a installer that installs mods by a click of a button! Hopefully this will be possible in the future! Good job le717! ;)

 
 

Great work le717, I agree that this will make things much simpler.

 
Thanks guys! While it will allow for easier and simpler mod installations, I also plan to allow the user to create mod packages and install them with PatchIt! (kinda like Patchman, from which I drew the idea for this program).
 
 

LEGO Racers is Windows only, so cross-platform probably isn't a big deal, but using the module would probably be faster.
 
You should make the script load a text configuration file, so it can be made an EXE. :)

 

Decryption is extremely slow as it is implemented in native Python rather than C.   (http://docs.python.org/3.3/library/zipfile.html)

 

Oh well. I can always use this. As for cross-platform, I know that, but Racers can be run on Linux under WINE, and even if they need WINE to play Racers, this could still be used for mod installations.

Link to comment
Share on other sites

JrMasterModelBuilder

LEGO Racers is Windows only, so cross-platform probably isn't a big deal, but using the module would probably be faster.

 

You should make the script load a text configuration file, so it can be made an EXE. :)

 

>Decryption is extremely slow as it is implemented in native Python rather than C.   (http://docs.python.org/3.3/library/zipfile.html)

 

Oh well. I can always use this. As for cross-platform, I know that, but Racers can be run on Linux under WINE, and even if they need WINE to play Racers, this could still be used for mod installations.

 

Hmm, I wonder if the whole module is writtin in Python then, that would be much slower. If it's just the decrypter function, who cares?

 

You can run LR in WINE? How? I can't get it to work on the Mac WINE.

Link to comment
Share on other sites

Hmm, I wonder if the whole module is writtin in Python then, that would be much slower. If it's just the decrypter function, who cares? You can run LR in WINE? How? I can't get it to work on the Mac WINE.

 

Did you reread the topic post? I said I updated it with the complete program details. I'm not just planning decompression, but also compression.

 

Well, I don't have Linux (again), but I'm pretty sure I installed and ran LR when I did have it. However, my memory is acting horribly right now, and I can't really remember how I did it. I do remember installing the Beta version of WINE instead of the Stable...

Link to comment
Share on other sites

I also plan to allow the user to create mod packages and install them with PatchIt! (kinda like Patchman, from which I drew the idea for this program).

 

I'm liking the sound of this. So long as the guide to create said mod package is simple/understandable ;)

Link to comment
Share on other sites

I'll probably stick to replacing files manually, but some people may find this easier for them.

 

How did I miss this post? Oh well. Nobody will be forced to use this. My plan will allow you to either use PatchIt! or extract and place the files manually. ;)

 

 

I'm liking the sound of this. So long as the guide to create said mod package is simple/understandable ;)

 

It will be. I'll give exact details later, but the general plan: Enter mod name, version, and creator, and point it to your mod files. It will compress them into a ZIP, and write a file with mod details. To install it, the reverse occurs.

 

EDIT: Remember, if anyone has a name suggestion, please speak up! If nobody says anything, or if it is liked as-is, it will be the official program name.

Link to comment
Share on other sites

This is really cool!!

I'm on to this when this release is stable.

And PatchIt is a good name, but if you want another one here are some suggestions:

Rocket Modder

Racermod

Modbrick

 

BLAH

Link to comment
Share on other sites

Alright! The official name of this project is now PatchIt! All link have been updated accordingly. I am nearing a Beta 2, but it will not be compiled into an EXE, because I do not want to use 7-zip. A readme with most of my plans is linked in the topic.

 

If someone can take a look at newest code (PatchIt.py) and see why the extraction fails, or better yet, post a link to working code using the ZipFIle module, the next release will come a lot quicker. :)

Link to comment
Share on other sites

Will it become a EXE File after Beta? That way people not familiar with the command prompt can use it.

 

I hope this helps:

 

 

While I am running the py script directly, it will look and act the same way if compiled into an EXE. However, I'm trying to follow a Python 3 Tkinter course so I can give it a proper GUI. ;)

 

If you didn't know, the other day I was having trouble getting the ZIP functions working. Mostly it was doing it without external processes, but I also had trouble getting the ZIP to extract using the folder path defined in settings.ini. I took a break for a few days, and tonight, I was able to get it working! :D Please note that the compress/install demo in the video is only temporary, and will be changed to work with the PiP files around Beta 2.5. :)

 

EDIT:

Programmer talk

I should say how I got the ZIP files working. Well, I didn't use any external processes, as I already said. I used the ZipFile and Shutil modules for ZIP extraction and compression, respectively. ZipFile really isn't all that slow, and Shutil doesn't create the complete folder path (C:Usersle717ModsNyan Cat-Athon, say) unlike ZipFile.

Link to comment
Share on other sites

ok so you'll make a Instructional GUI Like you made for the Jar Extractor! COOL, Can't Wait! :lol:

 

It'll be much better than that. ;)

I have been pressed for time lately, so I'm just getting around to announcing this: PatchIt! 1.0 Beta 2 was tagged and released on February 2, 2013. Changes in this release:

  • Completely rewrote the code base
  • App settings are now saved to a text file
  • LEGO Racers game path can now be changed
  • Added LEGO Racers installation check and ZIP extraction using 7-zip
  • Split LEGO Racers installation check into separate function
  • Began writing GitHub-flavored Markdown Readme
  • Official rename from LEGO Racers Mod Installer to PatchIt!
  • Incorporated check() function into read() and write() functions
  • Added ZIP compression using 7-zip
  • Removed 7-zip dependency and replaced it with the built-in ZipFile

    and Shutil modules for ZIP extraction and compression, respectively

  • Small code cleanup
  • Added Python 3.3 version check
  • Version bump

However, while you can download it, it is not ready for release, as I had not yet even written the PiP patch format yet.

Now you may be wondering "When will a version we can use come out?" The answer is: Beta 3. While I plan to write a GUI into PatchIt! for easier use (Beta 4), I plan to have a completely usable version for you guys in the form of Beta 3. I already have a good change log for Beta 3, which you can find on GitHub.

I keep saying that I will provide details on how PatchIt! will work, and I now have most of it laid out. It is not yet final, some small elements may change, but you'll get a much clearer idea than you had.

Upon first run of PatchIt!, you will be asked for the location of your LEGO Racers installation. After you enter it, a small check will confirm an installation is in that location. Only GAMEDATA, MENUDATA, and LEGORacers.exe are needed to confirm (I can add the DLL and anything else if needed). You can change this (and abort the change) later. After the first-run, you will not be prompted to do this. To install a patch, select the install option, and browse for the PiP file. PatchIt! then reads the file, displays the mod information, and confirms the installation. If no, back to the menu, If yes, it will extract the ZIP file (it's is in the same location as the patch) that contains the files into your LR installation. To create a mod, select the create option, enter the requiered details, and point it to the modded files. They will automatically be compressed into a ZIP file, and the resulting PiP file will be created.

The PiP file is just plain text, and the near-final documentation can be found here.

When I get more code written, I may ask for some people to download it and report any errors (or you can do it yourself). Yes, an EXE will be compiled for the release.

I do not have a set release date, because the moment I do, it will immediately be broken. :P

Hopefully you're not confused with this new info. If you are, or have a question I didn't address, please ask. ;)

Link to comment
Share on other sites

  • 2 weeks later...

I've finished the PiP format, so if you want to go ahead and prep your mods for PatchIt!, you can.
 
PiP Format Documentation
 
In other news, I almost have ZIP extraction working via the patch. And I have a set Beta 3 finish date: February 26. If I can make it, I will have written PatchIt! in a month. :)

Link to comment
Share on other sites

PatchIt! V1.0 Stable has been released! I've updated the topic post with all details, so I won't repost them here. However, I will say that I completed it in less than a month! I started PatchIt! on January 26, 2013, and today, February 21, 2013, I released the first stable version. By no means is it done yet, I'm going add a GUI and other smaller stuff, but I see this as a big accomplishment for a beginning programmer. :)

 

If you find any bugs, please report them!

Link to comment
Share on other sites

ProfessorBrickkeeper

Hope to test this out soon, especially since I got my 15 year out of date Dell Computer to work letting me run all those old LEGO games in all their ancient glory. Now all I need is to get it to connect to the Internet....

Link to comment
Share on other sites

Hope to test this out soon, especially since I got my 15 year out of date Dell Computer to work letting me run all those old LEGO games in all their ancient glory. Now all I need is to get it to connect to the Internet....

 

 Just download the Installer, copy it to a flash drive, plug into the computer, and run it. It will install.

 

Also, only two mods use PatchIt! right now (currently only available in PatchIt! Extras folder), but I know for a fact more are on the way. ;)

Link to comment
Share on other sites

I have a bug to report. It can't find my LEGO Racers installation. Even when I set the path to C:Program Files (x86)LEGO MediaGamesLEGO Racers.

Link to comment
Share on other sites

@LUModder,It's not a bug, I just forgot to state this the topic post (but it is in the Readme). You need to already have LEGO.JAM extracted, and GAMEDATA and MENUDATA needs to be in the same folder as LEGORacers.exe, or the path cannot be set. I've written it to check for those items, and if it cannot find it, it refuses to set it. I'm looking into a nice way to solve this. ;)

Link to comment
Share on other sites

@LUModder,It's not a bug, I just forgot to state this the topic post (but it is in the Readme). You need to already have LEGO.JAM extracted, and GAMEDATA and MENUDATA needs to be in the same folder as LEGORacers.exe, or the path cannot be set. I've written it to check for those items, and if it cannot find it, it refuses to set it. I'm looking into a nice way to solve this. ;)

Ah, that's why. I have the 2001 release, not 99.

Link to comment
Share on other sites

Thanks for all your support, guys!
 
 

Bug Report!

 
JimbobJeffers has reported a bug, and everyone does need to be aware of it.
 
If thumbs.db is present in any of your modded folders (and if you have custom textures, you do), PatchIt is unable to install it to your Racers installation, instead giving a permission error, and will not complete the installation. I will patch this bug as soon as I can (hehe, a patch for PatchIt), but in the mean time, please follow this workaround.

 

  • Before compressing your patch, show both Hidden and System files
  • Browse through each folder, and delete each thumbs.db file you come across (search will not work)
  • Now compress your patch

Please be aware of this bug until a fix is released.

 

Keep on PatchIng!

Link to comment
Share on other sites

 Share

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.