Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
First week modding recap!
#1
[] 
Hello! We've been busy on the discord server, but that is inaccessible - so I figured I make some initial things we've established since the Remaster release public.

First of all, the game logic of the Remaster is exactly the same. That means all your experience working with the original (and most of the tutorials here) will carry over!
(except for some edge cases, where the new engine is structured differently or causes the logic to act differently)

Now to the differences. Data files are no longer encrypted. That means only txt instead of dat files.
There are a few new tags here and there as well (including sound for backgrounds!), but the object files in particular also have a new syntax. It's just a leaner version of the original (probably just to fit Martis current preference as he intends to work with this and add new content). Here is a potentially incomplete comparison between original and new:
Code:
old                      new
:   
\                        /
<bmp_begin>              <bmp
                          resized
                          default_centerx
                          default_centery
<bmp_end>                bmp>
<weapon_strength_list>    <wsl
<weapon_strength_list_end wsl>
<frame>                  <f
<frame_end>              f>
bdy                      <b
itr                      <i
bpoint                    <bp
wpoint                    <w
cpoint                    <c
opoint                    <o
bdy_end                  b>
itr_end                  i>
bpoint_end                bp>
wpoint_end                w>
cpoint_end                c>
opoint_end                o>
sound: data              sound: mp3
.wav
The significant new ones are the default center tags that allow you to skip having them in every frame as well as a resized tag that can scale the sprite up and down. However I would not recommend messing with that one, as it will give the object a different relative sprite resolution on screen to everything else. (either looking way blurrier or way sharper, don't do it unless you are making a full mod where resolution is different across the board)

Another significant change about the asset structure is that object files no longer reference their sprite sheet images directly.
Instead they reference json files that act like a full fledged sprite atlas, not just a grid sheet. These manually define the exact size and position of every sprite tile on the actual image.

The important bit with those is that the individual frame names in the json file need to correctly reference both the data file name as well as the json filename itself.
The json frame name format looks like this:

datafilename-jsonfilename-picnumber.png

This means that a json file belongs to exactly one data file. You cannot use it multiple times.

However the actual image that the json file works with defined in the meta tag at the very bottom can be anything you like. So here, multiple json files can all reference the same image.

This new structure is great for combining sprites of different dimensions without wasting a lot of blank space. For a port of my gold knight for example I had to merge the wide attack and falling sprite sheets with the square standard ones. (and ended up with a lot less assets loaded in total)

And about the default character sprites. Everything has a 3 times higher resolution, but things also have a new buffer all around the edge, leading to standard 270 character sprite sizes (3x90) rather than the expected 240 (3x80). This does change all the frame centers and element offsets in the original data files. (the widths and heights remain the same)

Next up: Core game edits are way easier as well. Both menu graphics and the game code itself are directly accessible. The js files of the game are a bit obfuscated and scrambled, but that is still much more accessible than wading through a compiled executable.

Just don't share these js files around, since this is a commercial product now. Share diffs and patches that still require owning the game instead.
(data1master/silva/boop/doix already has a debug console and other things ready)

And lastly some things where the game behaves significantly different: populating object data and extreme values.

Object data in particular is not filled with default values like in the original, but instead just doesn't exist.
As an example, if the game tries to put an object into frame 374 - but that frame doesn't exist - the game loop will get stuck and you need to relaunch it.
(opposed to the original putting you into a blank frame you can walk out of)
I imagine you could paste 399 blank frames at the top of a file you are working in (like <f 0 - f> <f 1 - f> <f 2 - f> etc) to get the original behaviour back, but I have not tested that yet.
The actual frames below would then overwrite these empty frames with the right data.

And for extreme values, instead of overflowing (going from positive to negative if you exceed max int and vice versa) they now have infinity, negative infinity and NaN.
This means that funky stuff like the cursed itr no longer work - but instead we can use these new values for new effects.
Infinity values will be mostly stuck where they are (so you can have true god mode or single character only F6).
Subtracting infinity from an infinity will result in NaN (not a number), which often acts differently than any other value due to making a lot of conditions default to false.
And for some values there are still ways to recover from these so they aren't terminal. An itr kind 9 for example will still reset the objects hp back to zero, even if it is infinite.


That's about it from the top of my head.
If you are young with too much time on your hands (like us oldheads used to around 2010) and want to get into messing around with the Remaster, we will help you out :)
Reply
Thanks given by: STM1993 , klodasmone , NightmareX1337 , A-Man , FerZ
#2
Ditto for more folk to mod and enjoy the LF2 Remaster. Good post, YinYin.
Reply
Thanks given by:




Users browsing this thread: 1 Guest(s)