Giter Club home page Giter Club logo

sporemodder-fx's Introduction

Check the website: https://emd4600.github.io/SporeModder-FX/

SporeModder FX is a tool for designing modifications for the videogame Spore. So far it's the most advanced tool, including features such as:

  • An advanced text editor, with syntax highlighting, error diagnose, autocomplete,...
  • A modern text format to visualize most of the files used by Spore.
  • A "Spore User Interface" editor, that allows you to create and edit the Spore UI.
  • An image and texture viewer that can visualize common images, but also textures used by Spore.
  • A model viewer that can visualize most of the models that are in the Spore format.

The tool is designed to have a simple and user-friendly user interface, so making mods for Spore is easier than ever!

If you have any doubt, want to report a bug or you just want to suggest how to improve the program, you can:

Development

SporeModder FX uses Maven as its build system. To build it, you can use the following command:

mvn -Drevision="2.2.3" clean package

The output file will be generated in shade/sporemodderfx.jar. Change the revision to the appropriate version number. The version number is read by the program and used to check for updates.

For generating an update, check https://github.com/emd4600/SporeModder-FX-Updater

Credits

SporeModder FX was programmed in Java 1.8, using the Eclipse tool. Additionally, the following libraries were used:

Also wanted to give thanks to:

  • rob55rod/Splitwirez, for all his advice that ensured the program didn't end up being a total unusable mess.
  • @0KepOnline, @A-xesey, @Rosalie231 for their contributions, both in code and in discovered internal names of the game.
  • BentLent, Snek, Psi and Darhagonable, for testing the program.

sporemodder-fx's People

Contributors

0keponline avatar capah4a avatar emd4600 avatar insanegrox avatar rosalie241 avatar splitwirez avatar zarklord avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

sporemodder-fx's Issues

[Request] A "Clean Mod" option to remove the mod project files from the game after they're built.

This would be good for cases when you use Spore for things other than modding, or when you want to delete WIP mods from the game because of crashes or freezes.

It's really annoying how it is currently because neither the Spore ModAPI Launcher Kit nor the SMM can know about mod projects SporeModder FX outputs into the game files, meaning you have to uninstall them manually.

Having the option to "clean" the project like in Visual Studio would help a lot in cleaning up after you stop modding for the day.

[Request] Ability to read and modify `.0x366A930D` -type files

Said files contain the raw data for adventures, and the method to convert them to XML already exists in SMFX. Nonetheless, it would be nice to be able to convert them into a readable ArgScript format and edit them directly through SMFX.

Also slightly related to this would be converting .pollen_metadata-type files into a more readable format, and also be able to modify those as well. Though I might make a separate request for those files as well.

I can't open this program on windows 10

I downloaded this program through the official website.
I unzipped the folder wherever I could, but it doesn't start.however, for the first 3 seconds there was some activity in the task manager.
help please me.

Add Ctrl+D shortcut to duplicate lines in files

Notepad++ has an extremely useful yet simple feature to Duplicate the line your cursor is currently on when you press Ctrl+D. This would be great to have in Sporemodder's text editor, as the lack of it usually means i would rather just use Notepad++ for file editing instead.

Highlighting modded PROP_Ts with wrong extensions

I think it will be nice if SporeModder FX will have an option to highlight .prop_t files with wrong extensions. Converted .prop file needs to have the .prop.prop_t extension to be converted back to .prop before packing the mod. Sometimes .prop part of file extension can be lost and it's hard to find a file with wrong extension if mod has a lot of files.

Here's my vision of what it might look like:
unknown (1)

[BUG] Effect screen decals are invalid after packing

As in title. It seems screen effects that 'point' at camera don't work properly. They get corrupted during unpacking and/or packing.
Left is a result after packing, right one is valid. Example effect used is 0x4F82AE58 from GA packages.

bug

Might be related to screenSizeRange property, because unpacked values have weird output, like -429492128, -0

rw4 model save error

Having trouble saving my changes to a rw4 model in SporeModderFX after altering a few compiled states. Error is as follows:

	at emord.filestructures.FileStream.writePadding(FileStream.java:46)
	at sporemodder.file.rw4.RenderWare.writeAlignment(RenderWare.java:91)
	at sporemodder.file.rw4.RenderWare.write(RenderWare.java:131)
	at sporemodder.view.editors.RWModelViewer.saveData(RWModelViewer.java:1083)
	at sporemodder.view.editors.AbstractEditableEditor.lambda$3(AbstractEditableEditor.java:160)
	at sporemodder.UIManager.tryAction(UIManager.java:632)

Not sure if the SporeModder Blender addon or SporeModder FX itself is to blame. Here is the affected rw4 model and the blender project which produced it.
ve_DI_spikeChest_01.zip

Effect creation and fading by camera angle doesn't unpack or pack correctly

While trying to transfer some of my effects from OG SporeModder to SporeModder FX, I noticed something odd: All of the effects which used a camera angle-based fade-out (like the Land Vehicle Editor background's pedestal when the camera pivots below ground level) had ceased to function. At first I suspected that transferring over my existing PFX files (made for OG SporeModder) was the issue, so I tried packing them with OG SporeModder one last time, and then unpacking them with SporeModder FX, but this didn't help at all.

At this point, I decided to take a look at some of the unpacked Core Spore effects - surely those should demonstrate how to correctly do this in SporeModder FX, right? Wrong. The value for extendedLodWeights seemed incorrect - it was 0 0 0, whereas the exact same effect unpacked with OG SporeModder yielded (0.0, 1.0, 0.0). Another discrepancy I noticed was that with SporeModder FX, -emitScale and -sizeScale options were present on the particles effect within the affected effect, both with a series of 1 values, one for each lodDistances value present, but both of these options were completely absent from OG SporeModder's unpacked PFX file.

I need to be able to create effects which use this behaviour, and until SporeModder FX can do that for me, I can't completely migrate to it.

Here's one of my effects which was affected by the issue:
DI9r_heroEditor_skinMode_enter.pfx
To avoid ambiguity, I will note that this PFX file is intended for OG SporeModder. I would have provided the SMFX version, but I'm not 100% sure what that is meant to even look like, hence my initial hesitance to even bring this issue up.

And as requested, here's an example of a base game effect which is affected, unpacked using SporeModder FX:
0xDD5D44DE.pfx

Shader error reporting and file selection

If any error occurs when packing shaders, SMFX will always automatically switch to the vertex shader (*.vshader.hlsl) file, regardless of whether the error occurred in the vertex or pixel shader.

improved model viewer layout (concept)

model viewer

I found it kind unnecessary to have documentations be it own tab and it hiding the inspector.
I also thought it would be nice if one could see which texture is the normal map or the regular texture or whatever type of texture it is.
I also had the idea that one might at some point find it useful to be able to turn the different textures off in the preview. (idk if normal maps and such does anything in the preview but if they do or if they will in the future it would be nice to have the option to enable and disable them in the previewer.)

Global variables for ArgScript

Would be very useful for large mods to have an ability to declare global ArgScript variables.
For example:
set global debugMode true is for global;
set debugMode true / set local debugMode true is for local.

SporeModder-FX is not unpacking presets.

Whenever I try to unpack presets ( Spore (Gameplay & Graphics) &|| Spore Music &|| Player Creations ) loading gets stuck at Clearing folder and does not go further. I kept the process going for 3 hours but still no progress. Is there a way to clear cache or some config files to reset the SporeModder. Because I have tried to delete and redownload the modder, but still whenever I open the launcher it has the old configuration.
image

Specific tent models become transparent when unpacked an re-packed

Currently if you unpack Spore_Graphics and put unmodified tribal huts in your project the Galactic Adventures prop versions of them turn mostly invisible... This only affects the following models from my testing (stored in editor_rigblocks~)
he_yurt_01.rw4
he_yurt_01_LOD1.rw4
he_yurt_01_LOD2.rw4
he_yurt_02.rw4
he_yurt_02_LOD1.rw4
he_yurt_02_LOD2.rw4
he_yurt_03.rw4
he_yurt_03_LOD1.rw4
he_yurt_03_LOD2.rw4
he_carn_01.rw4
he_carn_01_LOD1.rw4
he_carn_01_LOD2.rw4
image
This issue does not happen with the Tribal stage versions of these huts and the files are shared between them.
This happens both with and without GA Patch 5.1 as the embedded signiature

Panning in SPUI Editor

Panning in the SPUI Editor cuts off at the initially-visible bounds, thus rendering the area outside of what one can initially see inaccessible via the visual preview.

macOS Support

Hi!

I love your work on SporeModder, and I wonder if you could release a macOS version of it? I've tried to execute the .jar file or bundle it in a macOS app, but none of this worked. Maybe JDK can offer a simple way to bundle this project as an macOS app?

Thanks!

Unable to import older rw4 files into blender

I am getting this error when importing some older rw4 files (made over a year ago)
error

I believe most of these were made in Blender 2.7, but there are some that are even older that I made in 2.6. Files I've made recently using 2.8 have had no issues importing.

Here is one of the affected files:
ceratosaur.zip

Blank Error Message

Version: 2.1.26

When trying to 'Pack mod' (or 'Pack mod and run game') with my changes, I get this blank error message:
BlankErrorMessage01

Closing it redirects me to the file SpaceSolarSystem.prop.prop_t that I edited.
BlankErrorMessage02

Now, line 36 has a red underline with the caption "Expecting at most 2 arguments for command key". No other file has a red underline. That could be the reason why it's not letting me pack the mod.
BlankErrorMessage03

But I never edited that line in particular at all. That line is in the source file.
By clickling on 'Explore Source' and opening the file with notepad, the line is right there:
BlankErrorMessage04

So, I don't get it. What exactly is going on? Why can't I pack the mod?

Disappearing FNV Hash option

Some hashes are used in two or more lists at once. For example: 0xDFAD9F51 (cell) used in reg_type and reg_file, 0xD8C67022 (avatar) used in reg_file and reg_property, etc.
By some reason, if one of these hashes will be entered into the Hash: field and Using name from: option will be changed to another one, then Name: and Hash: fields will break. Anything can be entered to them and it will do nothing. "FNV Hash" option is just gone, so it can be fixed just with restarting SporeModder FX.

r3Uv7OK1ar

Import Folder

Is there a way to import a folder with files inside?

Ex: Import Spacetools~ folder from another unpacked mod file.

In-app option to launch Spore does so with same permissions as SporeModder FX

...more specifically, this means that if the user is running SporeModder FX as Administrator (which they most likely will have to on Windows), they'll be running Spore as Administrator as well, which is not a good idea. It's even worse if they're using the Spore ModAPI Launcher Kit (which they likely will be).

Exclude folders/files from package when packing

It could be nice to be able to exclude certain folders and/or files from the output package when packing a project. This could be useful in scenarios where, for example, a mod is open-sourced onto a GitHub repository - this would allow for the .git, .gitattributes, .gitignore, LICENCE, README.md files and such to be excluded from the output package while still being present in the project folder for their intended purpose.

Two different Group IDs have the same alias

Both 0xE38475D9 and 0x4084b000 use the PlanetScripts alias, except with different capitalization.
Windows doesn't support having multiple files with the same name but different capitalization, so they get merged into the same folder and only one of the two is packed.

Cannot use custom effdirs.

I don't know if this is just me being stupid, but for some reason, I can't use custom effdirs for modified effects.

Selecting a texture in SPUI Editor exits SPUI editor

When trying to choose a texture in the SPUI editor, changing the selected item in the list closes the SPUI editor and switches to that item in the main SporeModder FX window, making it impossible to actually use this feature.

Add support for 6 sided .RW4 files

There are several 6 sided cubemaps I want to be able to modify, however they unpack as a single texture instead of a 6 sided cubemap.
Example: solarSkybox_0.rw4 (The Space Skybox)
.DDS files do support 6-sided textures so this should work.

Conversation .cnv file type support.

Conversation files located in folder aliased as space_conversations~ need to be converted to human-readable format for easier editing without a need of hex editor.

Modifying their content is required for adding custom conversation .locale files without replacing original strings.

Errors on 3.0

It says:
"Traceback (most recent call last):
File "D:\Dylan's mini computer\Program files\blender-3.0.0-alpha+master.5a64c687ddcc-windows.amd64-release\3.0\scripts\modules\addon_utils.py", line 387, in enable
mod.register()
File "C:\Users\thear\AppData\Roaming\Blender Foundation\Blender\3.0\scripts\addons\sporemodder_init_.py", line 171, in register
addon_updater_ops.register(bl_info)
File "D:\Dylan's mini computer\Program files\blender-3.0.0-alpha+master.5a64c687ddcc-windows.amd64-release\3.0\scripts\addons\sporemodder\addon_updater_ops.py", line 1424, in register
ValueError: register_class(...): already registered as a subclass 'addon_updater_install_popup'"

Renaming causes null error

An error me and rob55rod have experienced, luckily it isn't just me. Whenver I rename one of my projects and pack them, there will be an error message simply saying "null". "Unrenaming" the project seems to work, such as naming it something like SpaceMoney (for example) and then packing will have the name error. If you un-rename it to something like Project 1, or whatever it was, it will pack fine. Any fix?

Effect flags for editor pedestal fade-out by camera rotation fails when repacking

The -flags option on an effect either doesn't work at all, or at least fails for the specific set of flags (0x80000) used by the vehicle editors' pedestal effects. This is used in vanilla to cause the pedestal to fade out when the camera pivots to a position below it, and I need it in order to finish moving Dark Injection to SporeModder FX.

An example of one such effect can be seen in the base game at gameEffects_3~!editors.effdir, 0xDD5D44DE.pfx (which is the pedestal for the land vehicle editor), on line 52.

Allow packages inside packages

Mainly used for localisation, it would be an interesting feature to allow users to automatically pack .package files inside the a project.

We should add some kind of DBPFConverter that detects .package.unpacked folders and uses a DBPFPacker to generate the package, and write it to the output file.

Parts not showing up

I've followed all the steps and used 2.80, though none of my parts are visible

Packages remain in use after packing completes

I've noticed that ever since the move to multithreaded package packing, the package files produced by SporeModder FX remain in use by it until it is closed. This means that they cannot be moved/renamed/deleted/etc externally until the program is closed, and, while I am not entirely certain, this may also affect Spore's ability to read them.

EDIT: Okay apparently I was confused about the multithreading stuff, but the symptom described remains, even if the supposed root cause doesn't exist.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.