Stabyourself / nottetris2

A mess
Do What The F*ck You Want To Public License
105 stars 26 forks source link

Code for released LÖVE 0.7-compatible version not in repository #8

Open ryandesign opened 2 months ago

ryandesign commented 2 months ago

Running the code in this repository (either from master or the v2.0 tag) with LÖVE 0.7.2, Normal mode works great but Stack mode fails to start with:

Error: [string "gameB.lua"]:15: Incorrect number of parameters
stack traceback:
    [C]: in function 'newWorld'
    [string "gameB.lua"]:15: in function 'gameB_load'
    [string "main.lua"]:863: in function 'keypressed'
    [string "boot.lua"]:1: in function '?'
    [string "boot.lua"]:1: in function <[string "boot.lua"]:1>
    [C]: in function 'xpcall'

The Not Tetris 2.love file inside the Linux download on the web site (from January 30, 2012) doesn't have this problem (and the .love files appended to the Mac and Windows executables available on the web site are identical).

There are nearly 900 lines of differences between the Linux download and the code in the v2.0 tag of this repository which is surprising because I assumed that since there is only one tag in the repository it would be equivalent to the version released on the web site. But since it isn't, what is the version number of the code released on the web site? The Mac download announces itself (via the CFBundleVersion field of its Info.plist) to be version 1 but I don't trust that since all of your other Mac apps have their version set to 1 as well despite their web sites calling them by other version numbers.

Line 15 of gameB.lua ("Stack"), which has never been changed in this repository since it was initially imported December 19, 2016, is:

https://github.com/Stabyourself/nottetris2/blob/62c05953341b74f601d7f0003529fab9764a166b/gameB.lua#L15

This 3-argument form of newWorld seems to be new in LÖVE 0.8. The 7-argument form used in the Linux download from 2012 is for LÖVE 0.7 and was removed in LÖVE 0.8. The gameA ("Normal") code is still using the 7-argument form:

https://github.com/Stabyourself/nottetris2/blob/62c05953341b74f601d7f0003529fab9764a166b/gameA.lua#L24

So it seems like the code in this repository is some work-in-progress state of converting the code from LÖVE 0.7 to 0.8 that doesn't fully work with either of them. It looks like this was realized and fixed in 7326ce780b03a9234bfe6900d4718fa4ce173d87 on the terror-instinct branch but that branch seems to have other changes that make it unsuitable for general playability.

Is there any commit on any branch in this repository that corresponds to the code of the version released on the web site—the version that fully works in LÖVE 0.7? If not, could that be added? Perhaps in a new love-0.7-compatible branch. You could release a new version 2.0.1 from that branch to finally get a fully functioning release tag in this repo and to include the improvement from #6.