Homebrew [Release] Lemmings for 3DS

Status
Not open for further replies.

Quantumcat

Dead and alive
Member
Joined
Nov 23, 2014
Messages
15,144
Trophies
0
Location
Canberra, Australia
Website
boot9strap.com
XP
11,094
Country
Australia
If you build Lemmings for 3DS from source, you can enable or disable some glitches (including the mining glitch mentioned above) by editing include/settings.h file before building.

Hopefully, settings menu will be implemented until November 7th.
Cool I didn't know that. FWIW I got past that level by just starting my miner way earlier and bypassing the yellow arrow section :yay3ds:
 

0bvious

Well-Known Member
Member
Joined
Oct 1, 2007
Messages
174
Trophies
1
XP
883
Country
Not sure if I am running into glitches or just the limit of a small screen, but I have had to give up on a couple of levels in Oh No More Lemmings...

Wicked 19 seems impossible. Bridge builders just don't quite get the length they need. I have watched people play this (the DOS version) on youtube and their bridges always give them a necessary extra pixel or two. I cannot repeat it.

Havoc 5 requires precision to choose the exact right lemming when it turns around at the end of a miners dig, and it is just impossible. Either I select the minor or I select the right lemming a second too late (causing a splat later).

Both these levels require insane amounts of precision and I am not sure it is possible without zooming in or some other select method.

Just a heads up for those tricky ONML levels.
 

Quantumcat

Dead and alive
Member
Joined
Nov 23, 2014
Messages
15,144
Trophies
0
Location
Canberra, Australia
Website
boot9strap.com
XP
11,094
Country
Australia
Not sure if I am running into glitches or just the limit of a small screen, but I have had to give up on a couple of levels in Oh No More Lemmings...

Wicked 19 seems impossible. Bridge builders just don't quite get the length they need. I have watched people play this (the DOS version) on youtube and their bridges always give them a necessary extra pixel or two. I cannot repeat it.

Havoc 5 requires precision to choose the exact right lemming when it turns around at the end of a miners dig, and it is just impossible. Either I select the minor or I select the right lemming a second too late (causing a splat later).

Both these levels require insane amounts of precision and I am not sure it is possible without zooming in or some other select method.

Just a heads up for those tricky ONML levels.
I'm hoping one day it'll be like:
- top screen shows you what the bottom screen shows now
- bottom screen shows you a zoomed in version centered on the cursor
- option to glue the screen to the cursor (like when you hold R). Could be toggled on/off so you can still have it the way it is now if you prefer that

it would also be cool to be able to pause then step through frame by frame but that would probably make it way too easy.
 

TarkinMX

Well-Known Member
Member
Joined
Nov 4, 2009
Messages
197
Trophies
0
XP
325
Country
United States
I made another batch file. This one will convert all sounds and music to .wav format, it does have requirements however. Although lem_wavs.zip isn't necessary, I included it because I felt the sound quality is much better than what's in PlayerSource_V29.zip. This batch uses the command line version of 7-Zip for extracting all the files from the zips. If you don't have 7-Zp already installed then the batch file will attempt to use .Net to download 7-Zip if you don't have it installed. The file extraction can be done through .Net without the need for 7-Zip but I went with 7-zip because using .Net would've taken longer to do so.

Requirements
VLC - This is needed to convert the music files to .wav format.
.Net 4.5 framework (optional) - should already come with Windows 7 and up and is only needed if 7-Zip isn't installed.
PlayerSource_V29.zip (the sound and music files) - can be found on the neolemmix website.
lem_wavs.zip (optional, windows sound files) - can be found on the lemmings universe.
7za920.zip (optional) - if you don't have 7-Zip installed and you're having trouble with the .Net framework downloading it for you then download this at http://www.7-zip.org/a/7za920.zip and extract it to the audio folder.

Just copy the two zip files mentioned above to the audio folder in the lemmings folder on your sd card. Make sure you have VLC installed. Create a .bat file and copy all the code to it and run it and you should be golden.

Code:
echo off
cls
echo.
echo.
echo This batch file requires VLC for converting the music files and .NET 4.5 to download 7-Zip if it's not present. If you do not meet these requirements then there will be errors.
echo.
timeout /t 5

if exist "PlayerSource_V29.zip" (
  echo.
  echo PlayerSource_V29.zip found
) else (
  cls
  echo.
  echo.
  echo PlayerSource_V29.zip not found. Please make sure PlayerSource_V29.zip is in this folder.
  echo.
  echo Press any key to quit.
  pause >nul
  exit
)

echo.
echo getting paths for VLC and 7-Zip
if exist "%ProgramFiles%\VideoLAN\VLC\vlc.exe" (
  set VLCpath=%ProgramFiles%\VideoLAN\VLC"
) else if exist "%ProgramFiles(x86)%\VideoLAN\VLC\vlc.exe" (
  set VLCpath="%ProgramFiles(x86)%\VideoLAN\VLC"
) else (
  cls
  echo.
  echo.
  echo No paths for VLC were found. Is VLC properly installed?
  echo.
  echo Press any key to quit.
  pause >nul
  exit
)

if exist "%ProgramFiles%\7-Zip\7z.exe" (
  set zippath="%ProgramFiles%\7-Zip"
  set unzip="7z.exe"
  goto main
) else if exist "%ProgramFiles(x86)%\7-Zip\7z.exe" (
  set zippath="%ProgramFiles(x86)%\7-Zip"
  set unzip="7z.exe"
  goto main
) else (
  goto download
)

:download
  echo.
  echo No paths for 7-Zip were found, attempting to download 7-zip command line version using .Net 4.5
  powershell.exe (new-object System.Net.WebClient).DownloadFile('http://www.7-zip.org/a/7za920.zip','.\7za920.zip')
  echo.
  echo attempting to extract 7-Zip
  powershell.exe -nologo -noprofile -command "& { Add-Type -A 'System.IO.Compression.FileSystem';[IO.Compression.ZipFile]::ExtractToDirectory('7za920.zip', '.'); }"
  if exist "7za.exe" (
  set zippath="7-Zip command line version"
  set unzip="7za.exe"
  ) else (
  cls
  echo.
  echo.
  echo No paths for 7-Zip were found and downloading the command line version was unsuccessful. Make sure there is a working "7za.exe" in this folder.
  echo.
  echo Press any key to quit.
  pause >nul
  exit
  )
  goto main

:main
echo.
echo %VLCpath% found
echo.
echo %zippath% found
echo.
echo 7-Zip executable was found as %unzip%
echo.
echo setting paths for VLC and 7-Zip
set PATH=%PATH%;%VLCpath%;%zippath%

if exist "lem_wavs.zip" (
  echo.
  echo lem_wavs.zip found
  echo.
  echo processing sound files
  %unzip% e lem_wavs.zip changeop.wav
  ren changeop.wav SFX01.WAV
  %unzip% e lem_wavs.zip door.wav
  ren door.wav SFX02.WAV
  %unzip% e lem_wavs.zip letsgo.wav
  ren letsgo.wav SFX03.WAV
  %unzip% e lem_wavs.zip mousepre.wav
  ren mousepre.wav SFX04.WAV
  %unzip% e lem_wavs.zip ohno.wav
  ren ohno.wav SFX05.WAV
  %unzip% e lem_wavs.zip electric.wav
  ren electric.wav SFX06.WAV
  %unzip% e lem_wavs.zip thud.wav
  ren thud.wav SFX07.WAV
  %unzip% e lem_wavs.zip splat.wav
  ren splat.wav SFX08.WAV
  %unzip% e lem_wavs.zip chain.wav
  ren chain.wav SFX09.WAV
  %unzip% e lem_wavs.zip chink.wav
  ren chink.wav SFX10.WAV
  %unzip% e lem_wavs.zip explode.wav
  ren explode.wav SFX12.WAV
  %unzip% e lem_wavs.zip fire.wav
  ren fire.wav SFX13.WAV
  %unzip% e lem_wavs.zip tenton.wav
  ren tenton.wav SFX14.WAV
  %unzip% e lem_wavs.zip thunk.wav
  ren thunk.wav SFX15.WAV
  %unzip% e lem_wavs.zip yippee.wav
  ren yippee.wav SFX16.WAV
  %unzip% e lem_wavs.zip glug.wav
  ren glug.wav SFX17.WAV
  %unzip% e lem_wavs.zip ting.wav
  ren ting.wav SFX18.WAV
) else (
  echo lem_wavs.zip not found, sound files will be processed from PlayerSource_V29.zip
  echo.
  echo processing sound files
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\BasicFX.0.wav
  ren BasicFX.0.wav SFX01.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\BasicFX.1.wav
  ren BasicFX.1.wav SFX02.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\BasicFX.2.wav
  ren BasicFX.2.wav SFX03.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\BasicFX.3.wav
  ren BasicFX.3.wav SFX04.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\BasicFX.4.wav
  ren BasicFX.4.wav SFX05.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\noises.3.wav
  ren noises.3.wav SFX06.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\noises.7.wav
  ren noises.7.wav SFX07.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\BasicFX.5.wav
  ren BasicFX.5.wav SFX08.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\noises.1.wav
  ren noises.1.wav SFX09.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\BasicFX.6.wav
  ren BasicFX.6.wav SFX10.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\BasicFX.9.wav
  ren BasicFX.9.wav SFX12.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\noises.2.wav
  ren noises.2.wav SFX13.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\FullFX.1.wav
  ren FullFX.1.wav SFX14.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\FullFX.2.wav
  ren FullFX.2.wav SFX15.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\BasicFX.7.wav
  ren BasicFX.7.wav SFX16.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\noises.4.wav
  ren noises.4.wav SFX17.WAV
  %unzip% e PlayerSource_V29.zip PlayerSourceTrad\Sounds\amiga\BasicFX.8.wav
  ren BasicFX.8.wav SFX18.WAV
)

echo.
echo processing music files
md ohno
%unzip% e PlayerSource_V29.zip PlayerSourceTrad\Music\ohno\*.it
for %%a in (*.it) do vlc -I dummy -vvv %%a --sout=#transcode{acodec=s16l,channels=2,samplerate=44100}:std{access=file,mux=wav,dst=ohno\%%a} vlc://quit
cd ohno
ren track_01.it TUNE01.WAV
ren track_02.it TUNE02.WAV
ren track_03.it TUNE03.WAV
ren track_04.it TUNE04.WAV
ren track_05.it TUNE05.WAV
ren track_06.it TUNE06.WAV
cd..
attrib *.it -r
del *.it

md orig
%unzip% e PlayerSource_V29.zip PlayerSourceTrad\Music\orig\*.it
for %%a in (*.it) do vlc -I dummy -vvv %%a --sout=#transcode{acodec=s16l,channels=2,samplerate=44100}:std{access=file,mux=wav,dst=orig\%%a} vlc://quit
%a} vlc://quit
cd orig
ren track_20.it TUNE01.WAV
ren track_18.it TUNE02.WAV
ren track_21.it TUNE03.WAV
ren track_01.it TUNE04.WAV
ren track_08.it TUNE05.WAV
ren track_02.it TUNE06.WAV
ren track_04.it TUNE07.WAV
ren track_10.it TUNE08.WAV
ren track_19.it TUNE09.WAV
ren track_17.it TUNE10.WAV
ren track_16.it TUNE11.WAV
ren track_13.it TUNE12.WAV
ren track_03.it TUNE13.WAV
ren track_06.it TUNE14.WAV
ren track_15.it TUNE15.WAV
ren track_07.it TUNE16.WAV
ren track_09.it TUNE17.WAV
ren track_11.it TUNE18.WAV
ren track_05.it TUNE19.WAV
ren track_12.it TUNE20.WAV
ren track_14.it TUNE21.WAV
cd..
attrib *.it -r
del *.it

md xmas
%unzip% e PlayerSource_V29.zip PlayerSourceTrad\Music\h94\*.it
for %%a in (*.it) do vlc -I dummy -vvv %%a --sout=#transcode{acodec=s16l,channels=2,samplerate=44100}:std{access=file,mux=wav,dst=xmas\%%a} vlc://quit
cd xmas
ren track_01.it TUNE01.WAV
ren track_02.it TUNE02.WAV
ren track_03.it TUNE03.WAV
cd..
attrib *.it -r
del *.it

:choice
echo.
set /P c=Delete the zip files and any other loose files from this folder? (Y/N)
if /I "%c%" EQU "Y"
  goto :yes
if /I "%c%" EQU "N"
  goto :no
echo.
echo Invalid Option, must be (Y) or (N)
goto choice

:yes
  echo.
  Cleaning up loose files
  del *.zip
  If %unzip% EQU "7za.exe" (
    del 7za.exe
    del 7-zip.chm
    del license.txt
  )
  goto no

:no
  echo.
  echo Finished. Press any key to quit.
  pause >nul
  exit
 
Last edited by TarkinMX, , Reason: Updated the bat file to be less dependant of the .Net framework.
  • Like
Reactions: bayleef

bayleef

Well-Known Member
OP
Newcomer
Joined
Sep 15, 2015
Messages
83
Trophies
0
XP
254
Country
Gambia, The
@0bvious Thank you for your bug reports! I haven't tested these levels yet. I'll try to reproduce the problems and fix them afterwards.
Havoc 5: Have you tried to press SELECT while clicking at the basher to select the non-priorized (non-bashing) lemming at (nearly) the basher's position?
 
Last edited by bayleef,

0bvious

Well-Known Member
Member
Joined
Oct 1, 2007
Messages
174
Trophies
1
XP
883
Country
@0bvious Thank you for your bug reports! I haven't tested these levels yet. I'll try to reproduce the problems and fix them afterwards.
Havoc 5: Have you tried to press SELECT while clicking at the basher to select the non-priorized (non-bashing) lemming at (nearly) the basher's position?
The 'hold select' trick seems to work for that Havoc 5 level I mentioned BUT I come up against another couple of glitches:

- when the pickaxer finishes and drop they die, but others dropping from their tunnel (at same height) do not die
- climber will continue to try and climb inside a digger's tunnel rather than turning around at the end
 
Last edited by 0bvious,

Hopalongtom

Well-Known Member
Member
Joined
Mar 14, 2009
Messages
268
Trophies
0
XP
327
Country
I made another batch file. This one will convert all sounds and music to .wav format, it does have requirements however. Although lem_wavs.zip isn't necessary, I included it because I felt the sound quality is much better than what's in PlayerSource_V29.zip. This batch uses .Net 4.5 to download the command line version of 7-zip for extracting all the files from the zips. It can be done through .Net without the need for 7-zip but I went with 7-zip because using .Net would've taken longer to do so.

Requirements
.Net 4.5 framework - should already come with Windows 7 and up
VLC - this is needed to convert the music files to .wav format
PlayerSource_V29.zip (the sound and music files) - can be found on the neolemmix website
lem_wavs.zip (optional, windows sound files) - can be found on the lemmings universe

Just copy the two zip files mentioned above to the audio folder in the lemmings folder on your sd card. Make sure you have VLC installed. Create a .bat file and copy all the code to it and run it and you should be golden.

I managed to find lem_wavs.zip but have been unable to find PlayerSource_V29.zip, are both nessary for the conversion?
 

TarkinMX

Well-Known Member
Member
Joined
Nov 4, 2009
Messages
197
Trophies
0
XP
325
Country
United States
I managed to find lem_wavs.zip but have been unable to find PlayerSource_V29.zip, are both nessary for the conversion?

The lem_wavs.zip isn't necessary. Because I don't know the legality of the files is the reason why a link to PlayerSource_V29.zip hasn't been posted. Bayleef feels the same about the subject and that's why he hasn't included it with his release. I'm not even sure if I'll get into trouble for saying where they're located. But anyway, do a Google search for neolemmix, go to that website, go to their Dropbox account and look under Lemmix. That's where you'll find it.
 
Last edited by TarkinMX,

bayleef

Well-Known Member
OP
Newcomer
Joined
Sep 15, 2015
Messages
83
Trophies
0
XP
254
Country
Gambia, The
The 'hold select' trick seems to work for that Havoc 5 level I mentioned BUT I come up against another couple of glitches:
- when the pickaxer finishes and drop they die, but others dropping from their tunnel (at same height) do not die
This is definitively a glitch in the DOS version.
However, it occurs when your basher starts too early. Assign the skill as late as possible (just before the lemming changes its direction).
When you assign the basher skill too early, the problem you reported occurs in the DOS version of the game:


When you assign the basher skill at the right moment but don't use a blocker and/or stop the basher at the wrong moment, you'll fail this way:


With the correct timing, you'll succeed in DOS version:

I haven't tested on 3DS yet, but the result should be the same.

- climber will continue to try and climb inside a digger's tunnel rather than turning around at the end
Sorry, I don't understand this problem. Can you make a picture or a video or describe it more detailed? The original DOS code for climbers is very weird, so any climber problem may be a glitch from the DOS game. However, to implement a switch for this glitch, I have to understand it.

If it is possible for you, could you try to run the level in DOSBox and see if the second glitch is present? (and maybe capture a video?) You may use right mouse button in DOS for the same effect as the SELECT button on 3DS (hold down right mouse button while assigning skill with left mouse button to select non-priorized lemming).
 
Last edited by bayleef,

0bvious

Well-Known Member
Member
Joined
Oct 1, 2007
Messages
174
Trophies
1
XP
883
Country
This is definitively a glitch in the DOS version.
However, it occurs when your basher starts too early. Assign the skill as late as possible (just before the lemming changes its direction).
When you assign the basher skill too early, the problem you reported occurs in the DOS version of the game:


When you assign the basher skill at the right moment but don't use a blocker and/or stop the basher at the wrong moment, you'll fail this way:


With the correct timing, you'll succeed in DOS version:

I haven't tested on 3DS yet, but the result should be the same.


Sorry, I don't understand this problem. Can you make a picture or a video or describe it more detailed? The original DOS code for climbers is very weird, so any climber problem may be a glitch from the DOS game. However, to implement a switch for this glitch, I have to understand it.

If it is possible for you, could you try to run the level in DOSBox and see if the second glitch is present? (and maybe capture a video?) You may use right mouse button in DOS for the same effect as the SELECT button on 3DS (hold down right mouse button while assigning skill with left mouse button to select non-priorized lemming).

I eventually finished the level. The glitch seemed to not be present half the time. Basically, the climber wouldn't turn around as the basher was digging, they would instead climb up the basher wall, fall down, and then try and climb again, endlessly. Without turning around. But it only happened sometimes. Anyway.

--------------------- MERGED ---------------------------

...tiny request... could you make the game remember the last level played? Like saving the Music or SFX option, it would be nice to not have to go back through the menus every time. Thanks...
 
  • Like
Reactions: Quantumcat

bayleef

Well-Known Member
OP
Newcomer
Joined
Sep 15, 2015
Messages
83
Trophies
0
XP
254
Country
Gambia, The
I eventually finished the level. The glitch seemed to not be present half the time. Basically, the climber wouldn't turn around as the basher was digging, they would instead climb up the basher wall, fall down, and then try and climb again, endlessly. Without turning around. But it only happened sometimes. Anyway.
I think I understood the problem. I was able to reproduce it in DOSBox:

I have an idea why it is caused. Unfortunately, the problem may be hard to fix without changing a lot of original lemmings behavior, which may cause problems at other levels. Thus, a switch in future settings menu is unlikely. The problem MIGHT be intended to increase the difficulty of the level.

...tiny request... could you make the game remember the last level played? Like saving the Music or SFX option, it would be nice to not have to go back through the menus every time. Thanks...
Okay, I'll add this to the next release (at least if I don't forget it).

For Wicked 19, the following (non-DOS) solution seems to fail on 3DS (not sure), but I wasn't able to reproduce the solution with the DOS version either.

However, there are two other possible solutions (which may be even harder with touch control):


For both solutions, the correct timing is extremely difficult. I think, this isn't a glitch on 3DS, but intended by the level designers.
 
Last edited by bayleef,
  • Like
Reactions: 0bvious

TarkinMX

Well-Known Member
Member
Joined
Nov 4, 2009
Messages
197
Trophies
0
XP
325
Country
United States
Version 0.5 has been released, introducing a settings menu.
You can enable/disable some glitches, change music and sound effects volume, and change key bindings.

Might be a silly request but is it possible to add an option to swap back and forth between the dos and amiga sounds if the amiga sounds are present?

Also, I updated the audio.bat file above, it'll look for 7-Zip on the user's pc now before attempting to download it.
 

bayleef

Well-Known Member
OP
Newcomer
Joined
Sep 15, 2015
Messages
83
Trophies
0
XP
254
Country
Gambia, The
Might be a silly request but is it possible to add an option to swap back and forth between the dos and amiga sounds if the amiga sounds are present?
I haven't mentioned this feature in my post. However, if I understand you correctly, the feature is included. Just check out the menu.

Also, I updated the audio.bat file above, it'll look for 7-Zip on the user's pc now before attempting to download it.
Thank you. The updated file will be included in the next release.
 
  • Like
Reactions: TarkinMX

0bvious

Well-Known Member
Member
Joined
Oct 1, 2007
Messages
174
Trophies
1
XP
883
Country
I finally got to the last level of Oh No More Lemmings! (Havoc 20) and it also seems the ultimate glitch...

Lemmings fall out of the entrance on the left and immediately splat. I couldn't figure out how to stop this. No bridges. Only one umbrella. So I checked on YouTube and all the recorded play throughs show Lemmings landing safely after touching a couple of rocks on the way down.

Impossible level glitch?
 
  • Like
Reactions: Quantumcat

bayleef

Well-Known Member
OP
Newcomer
Joined
Sep 15, 2015
Messages
83
Trophies
0
XP
254
Country
Gambia, The
I finally got to the last level of Oh No More Lemmings! (Havoc 20) and it also seems the ultimate glitch...
Indeed a horrible glitch, but should be easy to fix. The lemming start position seems to be incorrect (should be one or two pixels more to the right). I have to figure out the exact position before I fix it, but I should patch it within the next 30 minutes. Thank you for your bug report!

edit: I just fixed it and released version 0.5.1.
 
Last edited by bayleef,

bayleef

Well-Known Member
OP
Newcomer
Joined
Sep 15, 2015
Messages
83
Trophies
0
XP
254
Country
Gambia, The
Please test the attached 0.6 alpha3 version!
[edit] Version 0.6 has been released, please stop using this outdated alpha version!
This version introduces 2 player (2p) mode via 3DS local wifi connection.
The wifi communication protocol may not be compatible with final 0.6 release.
There is a list of known issues that should be fixed before release of 0.6.
If you find any other bugs, please report them (there might also be new bugs in single player mode, because I have changed a lot of internal stuff).
You will need 2p level files to test 2p mode. You may find them in an old release of Lix (current releases of Lix do not contain these files any longer due to copyright law).
 
Last edited by bayleef,
Status
Not open for further replies.

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: uoiea