Leather128 / LeatherEngine

Just a little engine I decided to make since nobody seemed to have true custom mod support.
GNU General Public License v3.0
71 stars 58 forks source link

Enhancement: Make things easier to add without editing source code. #4

Closed Leather128 closed 3 years ago

Leather128 commented 3 years ago

Please check for duplicates or similar issues before creating this issue.

What is your suggestion, and why should it be implemented?

Right now to add new things like Characters, Songs, Stages, etc, you need to edit the source code of the game, I think these things might be better handled in .txt files in 'preload/data/' and also 'stages/stagenamegoeshere/'

They would look kind of like this:

(Character file)

                     (preload/images/ui/icons)                (optional)
file:ImageSpriteSheetName:HealthIconPath:IconDefault:IconDead:IconWinning

idle:IdleAnimationName:24:false
singDown:DownAnimationName:24:false
[etc]

(Stage file)

info:camZoom
bf:x:y
gf:x:y
dad:x:y

beatSound:OnBeatHitSoundName:volume:chance
stepSound:OnStepHitSoundName:volume:chance

static:BackgroundFileName:x:y:size:flippedX:flippedY
beat:BoppinHeadsName:x:y:size:flippedX:flippedY
step:OnStepName:x:y:size:flippedX:flippedY

(Songs are just folders and oggs / mp3s)

This should be implemented so that you can actually add mods to ONE copy of the game, and not like a million (this system could also be reworked into actual mod support)

Also, that stage editor thats very wip? It could be used with this system to make stages IN-GAME, which is a lot easier than hardcoding all the stuff into the source code from scratch.

Leather128 commented 3 years ago

oh yea, btw im making this rn but im using .jsons instead of .txts because jsons are just more readable (and easier to code lol)

Leather128 commented 3 years ago

done