MCPcopy Index your code
hub / github.com/Spore-Community/SporeModder-FX

github.com/Spore-Community/SporeModder-FX @v2.2.27

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.2.27 ↗ · + Follow
6,857 symbols 26,847 edges 590 files 840 documented · 12%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

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: - Create an issue at https://github.com/emd4600/SporeModder-FX/issues - Join the Spore Modding discord server, and ask for help or contact me there.

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: - RichTextFX and all its dependencies. - JSPF (Java Simple Plugin Framework) - JSON-java - Java DDS ImageIO Plugin - WinMerge (not a Java library, but it's included in the public release to compare files) - UnicodeBOMInputStream - Even though it was not directly used, the custom ribbon developed in this program was heavily based in FXRibbon

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.

Extension points exported contracts — how you extend this code

UIUpdateListener (Interface)
A functional interface that is called when some important action is executed, allowing to update UI elements accordingly [16 …
src/sporemodder/view/UIUpdateListener.java
Controller (Interface)
An interface used by all classes that are the controllers of a FXML layout. [62 implementers]
src/sporemodder/view/Controller.java
SyntaxFormatFactory (Interface)
This interface represents the syntax highlighting for a certain file format. It has a method that must generate the styl [33 …
src/sporemodder/view/syntax/SyntaxFormatFactory.java
InspectorValue (Interface)
A visual component that can be used to edit and visualize a certain type of variable. It has support for value listeners [12 …
src/sporemodder/view/inspector/InspectorValue.java
EditHistoryEditor (Interface)
Defines a type of editor that supports search history, that is, undo/redo actions. [8 implementers]
src/sporemodder/view/editors/EditHistoryEditor.java

Core symbols most depended-on inside this repo

get
called by 1136
src/sporemodder/file/filestructures/metadata/ArrayFieldMetadata.java
add
called by 957
src/sporemodder/file/rw4/RenderWare.java
command
called by 811
src/sporemodder/file/argscript/ArgScriptWriter.java
size
called by 684
src/sporemodder/file/argscript/ArgScriptArguments.java
floats
called by 654
src/sporemodder/file/argscript/ArgScriptWriter.java
getOptionArguments
called by 648
src/sporemodder/file/argscript/ArgScriptLine.java
addParser
called by 639
src/sporemodder/file/effects/EffectResourceFactory.java
getArguments
called by 593
src/sporemodder/file/argscript/ArgScriptLine.java

Shape

Method 5,974
Class 773
Interface 55
Enum 53
Function 2

Languages

Java100%
Python1%

Modules by API surface

src/sporemodder/file/arth/ArithmeticaFileGrammarParser.java156 symbols
src/sporemodder/file/rw4/Direct3DEnums.java127 symbols
src/sporemodder/ProjectManager.java102 symbols
src/sporemodder/file/filestructures/FixedMemoryStream.java94 symbols
src/sporemodder/file/filestructures/FileStream.java93 symbols
src/sporemodder/file/argscript/ArgScriptStream.java90 symbols
src/sporemodder/file/spui/uidesigner/DesignerProperty.java66 symbols
src/sporemodder/file/effects/ParticleEffect.java63 symbols
src/sporemodder/view/editors/GMDLModelViewer.java62 symbols
src/sporemodder/file/effects/MetaParticleEffect.java60 symbols
src/sporemodder/file/effects/CloudEffect.java60 symbols
src/sporemodder/view/editors/SpuiEditor.java55 symbols

For agents

$ claude mcp add SporeModder-FX \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact