arisotura / coinkiller Goto Github PK
View Code? Open in Web Editor NEWNSMB2 level editor!
License: GNU General Public License v3.0
NSMB2 level editor!
License: GNU General Public License v3.0
Not working
CoinKiller apparently corrupted my level so that the program crashes when I attempt to open it. Here is the level. Could it be recovered? It does work in-game, luckily.
when i try to open the editor, the program crash. i try to redownload it but nothing
It can export but not import
See this level for example:
Or maybe have a button that makes one with the settings, and one that makes one without the settings
It's a pain in the ass to have to install if you use a GTK based environment. I get that it's under development, but with the amount of GNOME/elementary users there are it would be nice to just have a binary.
I'd like to be able to Ctrl+Z
and Ctrl+Shift+Z
/Ctrl+Y
.
Currently, it's possible to simply discard all changes past the previous save by closing the current level, but this would be much more convenient.
There is no pre-compiled version!
In the newest Version it's not possible to place Entrances, Zones, Areas and Paths
Video: http://www.mediafire.com/watch/n7v18v39h8gqb5a/2016-02-17_11-41-02.flv
Steps to reproduce:
Add an object outside of Zone 1.
Save.
Delete it.
Save.
The program will crash.
(it still saves, thankfully)
(this was tested without my changes, on an unedited download)
I have made a Flatpak package for CoinKiller that I will publish on Flathub. You need this files to build the package.
io.github.Arisotura.CoinKiller.yaml
id: io.github.Arisotura.CoinKiller
runtime: org.kde.Platform
runtime-version: 6.4
sdk: org.kde.Sdk
command: CoinKiller
finish-args:
- --socket=fallback-x11
- --socket=wayland
- --device=dri
- --share=ipc
modules:
- name: CoinKiller
buildsystem: qmake
post-install:
- install -Dm755 CoinKiller -t $FLATPAK_DEST/CoinKiller
- cp -r coinkiller_data $FLATPAK_DEST/CoinKiller
- mkdir -p $FLATPAK_DEST/bin
- ln -s $FLATPAK_DEST/CoinKiller/CoinKiller $FLATPAK_DEST/bin/CoinKiller
- install -Dm644 coinkiller_data/icons/logo.png $FLATPAK_DEST/share/icons/hicolor/512x512/apps/$FLATPAK_ID.png
- install -Dm644 $FLATPAK_ID.desktop -t $FLATPAK_DEST/share/applications
- install -Dm644 $FLATPAK_ID.metainfo.xml -t $FLATPAK_DEST/share/metainfo
sources:
- type: archive
archive-type: tar-gzip
url: https://api.github.com/repos/Arisotura/CoinKiller/tarball/v1.1
sha256: 81e43517845f143ccbd2ea92a42d51d1370a2c241b7237dcc2f298aa1c9dae69
x-checker-data:
type: json
url: https://api.github.com/repos/Arisotura/CoinKiller/releases/latest
version-query: .tag_name
url-query: .tarball_url
is-main-source: true
- type: file
path: io.github.Arisotura.CoinKiller.desktop
- type: file
path: io.github.Arisotura.CoinKiller.metainfo.xml
io.github.Arisotura.CoinKiller.desktop
# Created with jdDesktopEntryEdit 1.0
[Desktop Entry]
Type=Application
Name=CoinKiller
Comment=A level editor for NSMB2
Icon=io.github.Arisotura.CoinKiller
TryExec=CoinKiller
Exec=CoinKiller
Categories=Game;Qt;
Keywords=Editor;Mario;Nintendo;3DS;Hack;
SingleMainWindow=true
<?xml version='1.0' encoding='utf-8'?>
<component type="desktop">
<!--Created with jdAppStreamEdit 6.0-->
<id>io.github.Arisotura.CoinKiller</id>
<name>CoinKiller</name>
<summary>A level editor for NSMB2</summary>
<developer_name>Arisotura</developer_name>
<launchable type="desktop-id">io.github.Arisotura.CoinKiller.desktop</launchable>
<metadata_license>CC0-1.0</metadata_license>
<project_license>GPL-3.0</project_license>
<description>
<p>A level editor for NSMB2. Uses Qt6 and is coded in C++</p>
<p>CoinKiller requires a dump of NSMB2</p>
</description>
<releases>
<release version="v1.1" date="2023-01-17" type="stable">
<url>https://github.com/Arisotura/CoinKiller/releases/tag/v1.1</url>
<description>
<ul>
<li>Fix bounding tooltips</li>
</ul>
</description>
</release>
<release version="v1.0" date="2022-06-26" type="stable">
<url>https://github.com/Arisotura/CoinKiller/releases/tag/v1.0</url>
</release>
<release version="v0.15" date="2020-12-09" type="stable">
<url>https://github.com/Arisotura/CoinKiller/releases/tag/v0.15</url>
</release>
<release version="v0.14" date="2020-07-01" type="stable">
<url>https://github.com/Arisotura/CoinKiller/releases/tag/v0.14</url>
</release>
<release version="v0.13" date="2020-06-26" type="stable">
<url>https://github.com/Arisotura/CoinKiller/releases/tag/v0.13</url>
</release>
<release version="v0.12" date="2020-05-28" type="stable">
<url>https://github.com/Arisotura/CoinKiller/releases/tag/v0.12</url>
</release>
<release version="v0.11" date="2020-02-28" type="stable">
<url>https://github.com/Arisotura/CoinKiller/releases/tag/v0.11</url>
</release>
<release version="v0.10" date="2019-08-19" type="stable">
<url>https://github.com/Arisotura/CoinKiller/releases/tag/v0.10</url>
</release>
<release version="v0.9" date="2018-12-29" type="development">
<url>https://github.com/Arisotura/CoinKiller/releases/tag/v0.9</url>
</release>
</releases>
<url type="homepage">https://github.com/Arisotura/CoinKiller</url>
<url type="bugtracker">https://github.com/Arisotura/CoinKiller/issues</url>
<categories>
<category>Game</category>
<category>Qt</category>
</categories>
<recommends>
<control>pointing</control>
<control>keyboard</control>
</recommends>
<content_rating type="oars-1.1"/>
<provides>
<binary>CoinKiller</binary>
</provides>
<keywords>
<keyword>Editor</keyword>
<keyword>Mario</keyword>
<keyword>Nintendo</keyword>
<keyword>3DS</keyword>
<keyword>Hack</keyword>
</keywords>
</component>
Killing CoinKiller in Task Manager while a level is open will cause it to crash when opening a level.
OS: Windows 10
The crash happens because CoinKiller tries to load the level using the cached level editor state and fails.
To fix this crash:
Computer\HKEY_CURRENT_USER\Software\Blarg City\CoinKiller
lvleditorState
Currently, you can deselect files with the mouse by clicking anywhere in the canvas a tile isn't placed. A Ctrl+D
shortcut would be very useful to change the current tile without also changing the selection.
Clicking on sprite "note" causes main window to appear on top of level window.
I've made some changes to entrancetypes.txt to update it:
Normal?
Door Exit
Pipe Facing Up
Pipe Facing Down
Pipe Facing Left
Pipe Facing Right
Falling (Fast)
Ground Pound
Sliding
Swimming
Normal (Mispositioned)
Normal (Mispositioned)
Normal (Mispositioned)
Unknown 1
Tower Boss Door Exit
Mini Pipe Facing Up
Mini Pipe Facing Down
Mini Pipe Facing Left
Mini Pipe Facing Right
Jumping (Facing Right)
Vine Entrance
Pipe Facing Towards Screen
Boss Entrance (Standing)
Jumping (Facing Left)
Boss Entrance (Jumping Right)
Boss Entrance (Falling Right)
Door Entrance
Unknown 3 (Crash)
Unknown 4 (Freeze)
Walking Right (from 4 blocks behind entrance pos. to entrance pos.)
Walking Left (from 4 blocks behind entrance pos. to entrance pos.)
should add the rotation previews from miyamoto but make them not laggy and crash like miyamoto
There should be a toggleable feature that allows for tile randomization to be previewed in the editor.
It should also include a function to reroll the randomization, either by re-toggling it, or with a separate button/keybind.
These are the errors I get when I try to compile it with QtCreator:
../CoinKiller/level.cpp:1092:28: error: ‘class QList<Sprite*>’ has no member named ‘swapItemsAt’
1092 | rightCamLimits.swapItemsAt(i, i+1);
| ^~~~~~~~~~~
../CoinKiller/level.cpp:1097:36: error: ‘class QList<Sprite*>’ has no member named ‘swapItemsAt’
1097 | rightCamLimits.swapItemsAt(j-1, j);
| ^~~~~~~~~~~
../CoinKiller/level.cpp:1108:29: error: ‘class QList<Sprite*>’ has no member named ‘swapItemsAt’
1108 | bottomCamLimits.swapItemsAt(i, i+1);
| ^~~~~~~~~~~
../CoinKiller/level.cpp:1113:37: error: ‘class QList<Sprite*>’ has no member named ‘swapItemsAt’
1113 | bottomCamLimits.swapItemsAt(j-1, j);
| ^~~~~~~~~~~
../CoinKiller/tileseteditorwindow.cpp: In member function ‘void TilesetEditorWindow::loadBehaviors()’:
../CoinKiller/tileseteditorwindow.cpp:308:52: warning: format not a string literal and no format arguments [-Wformat-security]
308 | qDebug("behaviors.xml from: " + time.toLatin1());
I'd like to be able to duplicate and rename existing tilesets. This prevents the need to overwrite base game content. Duplicating tilesets manually is an arduous process.
coinkiller-git: Fetches the latest copy of the source code and builds it and then installs it
coinkiller: fetches the latest stable version (at this time v0.12) and compiles that and installs it
coinkiller-bin: will be created if prebuild binaries exist. This will fetch those and install them from said binaries.
This might sound complicated but most Arch users compile everything from source but still some dont.
Arch's package names are the same for almost every other package. Keep up the work on this editor.
For more info: https://itsfoss.com/aur-arch-linux/
Think of the AUR like one huge PPA that any developer can contribute too
In the level editor, being able to zoom with the scroll wheel would be great.
A feature for switching around area slots in a level (ie. switching Area 2 with Area 1) would be great for testing, as Mario always spawns in Area 1. This would prevent the need for using a new level to test with Area 1 each time, or the need to use checkpoints.
I'd like to be able to run ./CoinKiller [romfs location]
to quickly open a romfs directory.
On 4:3 screens, the toolbox takes up almost half of the screen.
Suggestion: Make object/sprite/whatever placement like reggie
i.e.:
these would make level editing much easier and more efficient
It writes to disk for every single pixel you move resize a GUI element, for example. I think it'd be better if it did this less periodically and/or at exit.
Similar to #76, but this issue is more about object visuals. Layers can be very annoying to tell the difference between.
I'd like for individual layers to:
Compiled with QT Creator, GCC 64-bit, after opening the "romfs" folder it crashes with this error:
what(): SARC: invalid file
For some reason, it didn't work initially (may be a problem with GCC), I had to add "int" before "typeRound" in "unitsconvert.cpp". I will try compiling in Windows, probably an issue with GCC/Arch.
No Areas implemented
Moving objects 1 tile at a time with the arrow keys would be nice.
Also, Ctrl+Shift+Arrow
should nudge sprites by half a tile.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.