(shouting)

Moondust Project thread [Support moved]

The second SMBX collab!
Post Reply
User avatar
Wohlstand
Moondust and TheXTech developer
Posts: 186
Joined: 10 years ago
First name: Vitaly
Pronouns: he/him/his
Location: Moscow, Russia

Moondust Project thread [Support moved]

Post by Wohlstand »

Image
Welcome to the Moondust project!
______________________________________________________________________________
IMPORTANT NOTICE: I decited to leave the SMBX forums and I will no longer give any support for my projects here and on the SMBX forums. All the support is given at official GitHub repositories or at the WohlSoft Forums (https://wohlsoft.ru/forum/), or at the official Discord Server of the team: https://wohlsoft.ru/chat/.

Giving apologies for any inconveniences.

______________________________________________________________________________

So what exactly is this? This is a free and open-source game engine and toolkit, that allows the creation of games of the platform genre. The basic idea of this project is to make it possible for every user to create platformers with existing or self-drawn sprites. The first work on the project began in December 2013, and the project was founded in March of 2014. The project is formerly known as PGE Project (a.k.a. Platform Game Engine Project).

This Project is currently under development, but as of now, everything is available for review and testing. There Devkit packages were available. The separated Runtime Engine isn't available yet. However, it is already within the Devkit.

______________________________________________________________________________
Official page of the project: https://wohlsoft.ru/projects/Moondust/
Here you will find screenshots, videos, and stable releases downloads.

Moondust Laboratory: https://wohlsoft.ru/projects/Moondust/_laboratory/ Currently, most actual downloads are available here at laboratory.
Please don't download the current stable version as it got been very outdated. If you need compatible config packs, please download them from HERE, not from the project's page which contains config packs for the stable version only.

Official Discord Server: https://discord.gg/qPBsvMy
Here you can get direct support for the Moondust Project's components (Editor, Maintainer, Engine, MusPlayer, Calibrator, etc.), for TheXTech project, my other projects, and just general talk about everything.


______________________________________________________________________________

Note: I desired to simplify this post to simplify its maintenance and keep all detailed information in the centralized place (such as Moondust Wiki, Official Page, and GitHub) rather than copying and synchronizing it between multiple forums.


Outdated content of the post:
Image
Welcome to the Moondust Project!

Contents
- Introduction
- Technical details
- Development plan
- Researching the original SMBX fangame
- Download Editor and experimental Engine!

______________________________________________________________________________

Introduction
Hi there!

This is a major revision to this topic's main post to announce my project called "Moondust Project" (formerly PGE Project).

So what exactly is this? this is a free and open-source alternative, advanced and exchanged implementation of SMBX's game engine which 100% compatible with them. The main parts of it contain would be a game engine and a toolkit for creating games.

One of the purposes of the project is a giving to SMBX game a new technical platform that should continue SMBX life after abandonment with giving able to add new stuff: new playable characters, new NPC's, new blocks, new BGO, more progressive backgrounds, and more freedom with customization. The second purpose is giving able to use this SMBX-like game engine more useful to creating other non-Mario games.

I've been working on this project since at least December 2013, and after lots of hours spent researching SMBX 1.3 mechanics, I've figured out a way to retain compatibility with SMBX. This, in my opinion, is very significant as there are a lot of episodes and levels made for SMBX out there. And having a better implementation of that we can open/play/save in the original SMBX64 format is very much in need.

Currently only the editor is available. And you can actually already use this as an alternative (and much better) editor for creating/editing levels for SMBX 1.3/1.3.0.1

______________________________________________________________________________
Technical details
I'm quite aware of the fact that VisualBasic (in which SMBX is written) is too slow for the type of purpose SMBX is created for. That's one of the reasons I'm creating my engine in C++ along with OpenGL, which means it should have much more productivity. And with the Qt library, the new engine should be able to have itself compiled on different platforms (such as Windows, macOS, Linux, etc.).
While it would have been ideal if the source code for SMBX was available, we're working on adding support for SMBX via reverse engineering instead.
Have any suggestions for this new engine? Feel free to suggest them in the (PGE forum) thread linked here: http://wohlsoft.ru/forum/viewtopic.php?f=11&t=71

______________________________________________________________________________
Development plan
1) [completed] The reverse engineering phase, which is researching the original SMBX engine, is almost complete.
2) [released] Developing the level/world editor - Periodically I upload updated alpha versions for everyone to test new features and give feedback or report bugs.
3) [In process] Developing the engine part for play games and allow test levels in the editor.
______________________________________________________________________________
"SMBX64" Standard: research works of the original SMBX fangame

All the documents on what I've researched, are available on this page

______________________________________________________________________________
Download Editor!
The toolkit has a new, more advanced, and featured editor which you can use for SMBX. This editor giving a more flexible interface, a more smart system with bug protections, with Multi-File support, with customizable tilesets and counters, with the multi-selecting, copy-pasting, context menu, exporting of huge screenshots of whole sections or world maps, etc...
Image
Editor
Image Image Image Image Image Image Image Image

Get current version:
Note: If you looking up for engine controlling, read this text file. In the next builds of the engine, I will add the ability to set up custom control keys.

Online installer
Image Get Online Installer for Windows. Online installer will download and install all necessary stuff automatically!

Portable packages
Standalone archives are including Editor, Engine, Playable Character Sprite Calibrator, GIFs2PNG, PNG2GIFs, PaletteFilter, and LazyFix Tool. To get PGE working you must download one of the configuration packages here

Image Download PGE for Win32

Image Download PGE for Win64

Image Download PGE for Linux Mint/Ubuntu

Image Download PGE for Mac OS X

READ THIS. Important info about PGE Engine
While you play games with PGE Engine, don't forget about controls:
Image

Note about regular keys:
JUMP Regular jumping, always use it instead of alt-jump because "alt-jump" is NOT works right
ALT-JUMP temporary is an unlimited flying up! Use it to get unbeatable heights!
ALT-RUN temporary is a cheating weapon to destroy anybody arroud your characher

==============================================
More detail list of controlls:
==============================================
Arrows:
--------------------
left-right - walk
Up/Down - enter into door/pipe
--------------------
Z - (jump) / enter to level from world map [on German keyboard will work Y key instead by unknown for me reasons :P]
X - (run)
A - (alt-jump) (Temporary, fly up, use it to get inaccessible heights without vines!)
S - (alt-run) (Temporary, tail-whipping to destroy any blocks over face,
S+UP - destroy blocks over head,
S+Down - destroy blocks under self)
==============================================
Engine reserved keys and key combinations
==============================================
Ctrl+F - Toggle fullscreen mode

F2 - enable/disable drawing a debug rectangles of physical engine (render all hitboxes)
F3 - enable/disable printing of debug information
F5 - pause/resume physical loopsteps. Used while collisions are debugged
F6 - enable slow mode of physical loopsteps. Everything will go slow. Used while collisions are debugged.

F12 - take screenshot (will be saved in the 'screenshots' folder which will be in PGE folder or in the %UserProfile%\.PGE_Project).
Screenshots will be written into PNG format and will have timedate based filename.

1, 2, 3, 4, 5 degits keys - spawn something effect (made temporary while effects system are debugged)
7, 8, 9, 0 - toggle character and it's state: 7 - Small Peach, 8 - Raccoon Peach, 9 - Small Mario, 0 - Raccoon Mario

i - disable/enable walkable zone limit on the world map (you will have able to walk anywhere)

Enter, Esc - pause/resume game, show pause menu
Source code
Image Download source code (zip)

Image Download source code (tar.gz)

Image How to build project for Linux, Windows, Mac OS X

Also you can get more configuration packages here:
http://wohlsoft.ru/config_packs.php

How to install configuration package into the editor
  • Open the editor's application folder
  • Open the configs folder. If it is not exist, create them!
  • Open downloaded archive with config pack and extract contents into configs directory, you must have config subdirectory with installed config pack.
Image

If you looking for most fresh DEV-builds, welcome to laboratory:

Image Wohlstand's Laboratory (Grab the very latest experimental builds for Windows and Linux here)

Videos:









______________________________________________________________________________

Watch current Source:
Image https://github.com/Wohlhabend-Networks/PlatGEnWohl
(Using Qt 5.5, min >=Qt 5.2.1), Can by compile under Windows (MinGW), Linux (GNU Compiler) and MacOS

How to build
Image How to build project for Linux, Windows, Mac OS X

______________________________________________________________________________
If the project was pleasant, I invite you to support my project or to join it!
Our project community
Last edited by Wohlstand 9 months ago, edited 61 times in total.
User avatar
Wohlstand
Moondust and TheXTech developer
Posts: 186
Joined: 10 years ago
First name: Vitaly
Pronouns: he/him/his
Location: Moscow, Russia

New Update! (Editor 0.2.1 Beta)

Post by Wohlstand »

-> PGE Editor 0.2.1 Beta
This is mainly a bug fix and optimization update.
Also, we have great news: we are ready to start development of the PGE engine counterpart! :clapping:
New features will be added into the editor during the engine development process, including: a cross-process module which will allow level/world testing from the editor without using SMBX, and many other useful features!

Changelog 0.2.1
- Added support for multi-selection by holding the shift key
- Added new PGE-only file formats LVLX and WLDX, which support more features and have fewer limitations than the SMBX formats, such as the maximum number of items
- Improved overall performance
- Smarter grid snapping of the selected items group
- Clicking a layer from the list will select which layer new items will be placed on
- Added SDL library to give better music and sound playback
- Fixed grid alignment after duplicating/pasting
- Added semi-transparent paths view for world map
- Added displaying of the items statistics to the debugger box
- Fixed config directory path on Mac OS X
- Fixed bug with item boxes updating when you switch between other applications
- Added SMBX64 standard validator which prevents you from saving a file that would cause SMBX to crash, such as exceeding SMBX's maximum level size, etc.
- Added ability to export images of only a selected portion of a level
- Added support for a Themes system. You can customize the UI and GFX of editor on your own!
Screenshots
Multi-selection with Shift key
Image

Fixed move / aligning / copy-pasting
Image

Semi-transparent paths
You can use them together with "lock paths" flag to work with scenery more convenient
Image
Image

Added new file formats (PGE internal)
LVLX - the future successor of SMBX LVL format. The LVLX file format is flexible and will always be backwards-compatible (can be opened in old versions of the PGE editor).
The file format is highly optimized and organized:
  • data values are separated by sections which you can place in any order
  • each value has its own marker/header which connects the data field with its array variable, you can even create new data fields or exclude unnecessary fields (unknown fields/markers are ignored, undefined fields/markers are set to their default values).
  • equal to default or unused data is never written into the file, which reduces its size to about half the size of a LVL file, even with data-markers.
  • more data types, such as strings which can hold special characters like line feed characters (for example, you can use NPC's messages with just a NewLine character instead of extra spaces)
  • file data is more readable via Notepad
Image
Image

Themes System
Allows you to change not just the editor icons, but even cursors and player spawn-point images:
(you can use any image for the player spawn-point, it will be attached to bottom-center of the cursor automatically)
Image
Image
Image
User avatar
Wohlstand
Moondust and TheXTech developer
Posts: 186
Joined: 10 years ago
First name: Vitaly
Pronouns: he/him/his
Location: Moscow, Russia

New Update! (Editor 0.2.1.1)

Post by Wohlstand »

-> PGE Editor 0.2.1.1 Release!
After some bug fixing works, we can say: It is a first stable version of alternate editor for SMBX!
Fixed artifacts bugs, fixed multi-line messages of NPC's which allow to use "NewLine" character instead of extra spaces, etc.

We already started the development of engine counterpart and with them will be available internal level testing and playing games with better system.

Changelog 0.2.1.1
- Fixed zoom icons customization
- Fixed tiny mouse events of locked items bug
- Fixed mouse wheel artifacts while placing mode is enabled
- Added "Show zone range data" which will show X, Y, Width and Height of physical environment zone
- Fixed multi-line messages of NPC and events parsing error for SMBX64 level file format (found in Talkhaus's levels)
- Fixed crash on range erasing on world map
Screenshots
Image

Image

"Super Mario" UI theme by Squishy Rex is including with editor build
Image

Fixed artifacts and displaying of target layer in placing mode was improved!
Image

Image


P.S. A2MBXT DevKit Edition:
This is a special package of editor which easy to install&use: you need to simply unpack contents of this archive into your A2MBXT DevKit folder and use them!

Get PGE Editor package for A2MBXT DevKit here (17 MB)
Note: you can rename everything blocks, BGO's, NPC's, musics, Sounds, Background titles, etc by INI files in the configs/<configPack>/ folder

But, Be careful with music which have > or !=44100 Hz of sample rate (read the "troubles with music playback" below).

Here I put already re-sampled into 44100 Hz music:
All in one ZIP-archive:http://engine.wohlnet.ru/docs/Music/A2M ... _44100.zip

Browse MP3 folder: http://engine.wohlnet.ru/docs/Music/A2M ... led_44100/
User avatar
Hoeloe
A2XT person
Posts: 1016
Joined: 12 years ago
Pronouns: she/her
Location: Spaaace

Re: Alternate Editor for SMBX

Post by Hoeloe »

I've had a couple of issues with this editor randomly crashing while scrolling around a section. This might be worth looking into.
Image
Image
Image
Image
Image
User avatar
Wohlstand
Moondust and TheXTech developer
Posts: 186
Joined: 10 years ago
First name: Vitaly
Pronouns: he/him/his
Location: Moscow, Russia

Re: Alternate Editor for SMBX

Post by Wohlstand »

Hoeloe wrote:I've had a couple of issues with this editor randomly crashing while scrolling around a section. This might be worth looking into.
Can you send me level with custom graphics which causing crashes for test?
Also, which version of editor you have? (also, few times ago I adding into laboratory builds date of compilation of editor into about dialog [which can be selected and copied])

I think, I had some bugs in animator and I need check them (I think, crash possible if one of animators is not loaded and item having a link to false animator, and when it appear on screen while scrolling it cause a crash because paint() function taking attempt get image from not-exists element in animators array)
User avatar
Hoeloe
A2XT person
Posts: 1016
Joined: 12 years ago
Pronouns: she/her
Location: Spaaace

Re: Alternate Editor for SMBX

Post by Hoeloe »

Wohlstand wrote:
Hoeloe wrote:I've had a couple of issues with this editor randomly crashing while scrolling around a section. This might be worth looking into.
Can you send me level with custom graphics which causing crashes for test?
My level "Demo's Journey Through Time" causes this problem.

EDIT: Have confirmed it's not to do with animation. I disabled animation and the crash still occurs.
Image
Image
Image
Image
Image
User avatar
Wohlstand
Moondust and TheXTech developer
Posts: 186
Joined: 10 years ago
First name: Vitaly
Pronouns: he/him/his
Location: Moscow, Russia

Re: Alternate Editor for SMBX

Post by Wohlstand »

Hoeloe wrote:
Wohlstand wrote:
Hoeloe wrote:I've had a couple of issues with this editor randomly crashing while scrolling around a section. This might be worth looking into.
Can you send me level with custom graphics which causing crashes for test?
My level "Demo's Journey Through Time" causes this problem.
Yes, I found, crash because "out of range" in array, now I'm looking, where is wrong array.
Crash appears when I try to paint() (when this NPC appears on visible zone of screen):

Code: Select all

draw NPC id 272 arrayID 119 animatorID 271
When I will fix, will upload into laboratory.

About NPC-272:
This NPC is - animated with framestyle 1, but you was put image "single framed static" without npc.txt which should redefine it's settings, and crash is appears because animation frames was called wrongly because called wrong frame index. I should add more smart protector to prevent any crashes because wrong image.

EDIT: I found why crash appears:
It appears when your NPC was set into "right" direction.
My stupid bug in "setFrame*()" functions of NPC animator:

Code: Select all

if(frames.isEmpty()) return;
CurrentFrameR = y;
//Out of range protection
if( CurrentFrameR >= frames.size()) CurrentFrameR  = (frameFirstR<frames.size()) ? frameFirstR : 0;
if( CurrentFrameR < frameFirstR) CurrentFrameR  = (frameLastR<0)? frames.size()-1 : frameLastR;
This way is too danger and while wrong unfixed value is in variable, when called paint() will be crash.

And fix should be:

Code: Select all

if(frames.isEmpty()) return;
//Out of range protection
if( y < frameFirstR) y = (frameLastR<0)? frames.size()-1 : frameLastR;
if( y >= frames.size()) y = (frameFirstR<frames.size()) ? frameFirstR : 0;
CurrentFrameR = y;
I shouldn't store wrong value into variable while value is not corrected.
I will test and will upload fix into laboratory
Last edited by Wohlstand 9 years ago, edited 2 times in total.
User avatar
Wohlstand
Moondust and TheXTech developer
Posts: 186
Joined: 10 years ago
First name: Vitaly
Pronouns: he/him/his
Location: Moscow, Russia

Re: Alternate Editor for SMBX

Post by Wohlstand »

Hoeloe wrote:
Wohlstand wrote:
Hoeloe wrote:I've had a couple of issues with this editor randomly crashing while scrolling around a section. This might be worth looking into.
Can you send me level with custom graphics which causing crashes for test?
My level "Demo's Journey Through Time" causes this problem.

EDIT: Have confirmed it's not to do with animation. I disabled animation and the crash still occurs.
Fixed:
https://github.com/Wohlhabend-Networks/ ... 7cc1a01112
I'm right, reason is a wrong "Current Right direction frame" in the animator. Animator - is a buffer of image frames, even animation is disabled, need to get image to paint on screen. Crash gotten because sprite had 1 frame (but settings had 4 frames and framestyle=1), and when this NPC have 'right' direction, it try attempt to paint frame 3 or 4, but protector worked wrong: it should reset to 0 any outed of range frames, but wrong method leaved wrong value and paint() was made crash when NPC appeared on visible zone.

Get fix from laboratory:
http://engine.wohlnet.ru/docs/_laboratory/

P.S> My Editor have two animator classes: SimpleAnimator which using for blocks, BGO's tiles, sceneries, level points, etc; and AdvNPCAnimator which animating both directions and uses united frame buffer for it's NPC ID.
User avatar
Wohlstand
Moondust and TheXTech developer
Posts: 186
Joined: 10 years ago
First name: Vitaly
Pronouns: he/him/his
Location: Moscow, Russia

Development news

Post by Wohlstand »

Development news

After month of works, we have something updates of the editor:

Change log of current laboratory build:
- Added "Ask every startup" flag into config manager
- Fixed window focus on switch into placing mode
- Fixed 'Trigger event' and 'Set moving layer' comboboxes on switch into placing mode
- Fixed crash in protector for 'out of range' inside NPC animator
- Improved stars counter tool: now it counts accurate and everywhere
- Fixed "Add to new layer" not updated layer lists
- Added crash handlers which will display reason of editor crash
- Added basic interprocessing features
- Added smart custom data importing (when you drag&drop files or folders into the editing level file, they will be imported and level will restarted)
- Added flood filling tool [Experimental]
Smart Importing
Is a quick and convenient feature which allow import custom data into your level by drag&drop of folder which contents graphics and some settings (npc.txt, tilesets, etc.)
Image

Image
Flood filling tool
Allows you to flood ranges of any shape, but be careful with using of them: (if you accidental flood whole level map, don't worry, after 3 sec. timeout editor will be unfrozen, simple press Ctrl+Z to remove junk items and try again with fixing of hole which caused flood overflow).
Experimental, works for blocks and for BGOs. Will be implemented into the world map editor.
Image

Introducing a level testing
While engine part is under construction, you can test levels with them and also test developing engine part.
Unlike SMBX, to test level you don't required save them to disk. Draw & play level Now!
[Be careful, this feature is experimental, if you can't start level testing by any reasons, try to save level and open them by engine's application]
Image

Image

What about engine
Current build of engine now can
- make screenshots by F12 key
- display native message boxes of errors, warnings instead of disappearing after startup.
- Added little command line feature: you can run engine with argument --config=SMBX or --config="raocow (A2MBXT)" to start engine with selected config pack's directory name (run engine without asking of configuration pack)
Image

Image
Also just a little blocks features:
- Hitable blocks
Image

- Bouncing blocks
Image

- Invisible bloks
Image
All updates available in the laboratory:
http://engine.wohlnet.ru/docs/_laboratory/

P.S. Don't forget to update your configuration packs to prevent any bugs and errors after updates:
http://engine.wohlnet.ru/config_packs.php
(to quick update you need a "base" or "lite" versions of config pack)
Last edited by Wohlstand 9 years ago, edited 1 time in total.
User avatar
Alice
Posts: 2367
Joined: 12 years ago
Pronouns: Girl person
Location: Wonderland

Re: Alternate Editor for SMBX

Post by Alice »

This is probably a dumb question but how do you do paths on the overworld? I have absolutely no idea how to make paths reveal on finishing a level in either your editor nor the original SMBX one.
User avatar
Willhart
Stalker, Doxxer, and Sexual Harasser
Banned
Posts: 2434
Joined: 13 years ago
Location: Finland

Re: Alternate Editor for SMBX

Post by Willhart »

Alice wrote:This is probably a dumb question but how do you do paths on the overworld? I have absolutely no idea how to make paths reveal on finishing a level in either your editor nor the original SMBX one.
The help file appears when pressing F1, for more details.

Under levels section there are "level exits". There one can define what triggers which path to appear on each side of the level.

Example: "Top" when set to "7 - Star Exit" will unlock all the connected path tiles to the north of the level when a star exit is collected.
User avatar
Alice
Posts: 2367
Joined: 12 years ago
Pronouns: Girl person
Location: Wonderland

Re: Alternate Editor for SMBX

Post by Alice »

Willhart wrote:
Alice wrote:This is probably a dumb question but how do you do paths on the overworld? I have absolutely no idea how to make paths reveal on finishing a level in either your editor nor the original SMBX one.
The help file appears when pressing F1, for more details.

Under levels section there are "level exits". There one can define what triggers which path to appear on each side of the level.

Example: "Top" when set to "7 - Star Exit" will unlock all the connected path tiles to the north of the level when a star exit is collected.
I had looked through the help file. I just must have missed it or something then, thanks.
User avatar
Wohlstand
Moondust and TheXTech developer
Posts: 186
Joined: 10 years ago
First name: Vitaly
Pronouns: he/him/his
Location: Moscow, Russia

Re: Alternate Editor for SMBX

Post by Wohlstand »

Alice wrote:This is probably a dumb question but how do you do paths on the overworld? I have absolutely no idea how to make paths reveal on finishing a level in either your editor nor the original SMBX one.
It's a simple and easy ;)
http://help.engine.wohlnet.ru/worldedit ... props.html

Image

Image
Willhart wrote: Under levels section there are "level exits".
This right for SMBX editor, but inside PGE those features are in the item properties box.
User avatar
onpon4
Sharing is good.
Posts: 78
Joined: 11 years ago
First name: Julie

Re: Alternate Editor for SMBX

Post by onpon4 »

This is a neat project. I never actually played SMBX because music playback didn't work on my system back when I had Windows, but I always appreciate libre replacements for proprietary game engines. I've also thought for a long time that a nice platformer engine would be a great thing to have.

The editor seems to work well, though I did notice that I had to install the SDL2 and SDL2-mixer packages myself; the ones distributed with it didn't work on my system.
User avatar
Alice
Posts: 2367
Joined: 12 years ago
Pronouns: Girl person
Location: Wonderland

Re: Alternate Editor for SMBX

Post by Alice »

Wohlstand wrote:It's a simple and easy ;)
http://help.engine.wohlnet.ru/worldedit ... props.html

Image

Image
Wow, that's actually extremely straight forward. I don't know how I didn't manage to figure that out on my own honestly, lol. Thanks for the help.
User avatar
Wohlstand
Moondust and TheXTech developer
Posts: 186
Joined: 10 years ago
First name: Vitaly
Pronouns: he/him/his
Location: Moscow, Russia

Re: Alternate Editor for SMBX

Post by Wohlstand »

Auto-increment of special value feature for NPC placing:

User avatar
Sorel
In the shadows
Posts: 702
Joined: 10 years ago
First name: Alexander
Pronouns: he/him/his
Location: some place

Re: Alternate Editor for SMBX

Post by Sorel »

Wohlstand wrote:Auto-increment of special value feature for NPC placing:

Wow, thanks for implementing that.

Creating firebars was so tiresome in SMBX but thanks to this feature it will be a breeze.
Former active member, yearly lurker now.
User avatar
Alice
Posts: 2367
Joined: 12 years ago
Pronouns: Girl person
Location: Wonderland

Re: Alternate Editor for SMBX

Post by Alice »

Wohlstand wrote:Auto-increment of special value feature for NPC placing:

Could I make a suggestion for this? It might be best to make it an option so people can use whichever method works for them but maybe there should be an option where it automatically chooses the increment direction according to the direction you're drawing. (Ie: If you draw from bottom up then it chooses top but if you draw from top down it chooses bottom without you having to manually switch.)
User avatar
Wohlstand
Moondust and TheXTech developer
Posts: 186
Joined: 10 years ago
First name: Vitaly
Pronouns: he/him/his
Location: Moscow, Russia

Re: Alternate Editor for SMBX

Post by Wohlstand »

Alice wrote:
Wohlstand wrote:Auto-increment of special value feature for NPC placing:

Could I make a suggestion for this? It might be best to make it an option so people can use whichever method works for them but maybe there should be an option where it automatically chooses the increment direction according to the direction you're drawing. (Ie: If you draw from bottom up then it chooses top but if you draw from top down it chooses bottom without you having to manually switch.)
Okay, when I will return to home, I will append tiny piece which will automatically change direction at degrees of drawn line, and direction of firebar will be defined automatically in line drawing + auto-increment mode
User avatar
Wohlstand
Moondust and TheXTech developer
Posts: 186
Joined: 10 years ago
First name: Vitaly
Pronouns: he/him/his
Location: Moscow, Russia

Re: Alternate Editor for SMBX

Post by Wohlstand »

Just made:
https://github.com/Wohlhabend-Networks/ ... 755cc6f06b

Now you don't need care about "top" or "bottom", because it will be sets automatically from line's angle (if you drawn from bottom to top, direction of target firebar's segments will be "top", and if you drawn from top to bottom, direction will be "bottom").
This work if:
- "Auto-increment" flag is enabled
- You using line tool instead of normal brush (in brush mode working auto-incrementation only without auto-defining of direction)

Laboratory build was updated
User avatar
Wohlstand
Moondust and TheXTech developer
Posts: 186
Joined: 10 years ago
First name: Vitaly
Pronouns: he/him/his
Location: Moscow, Russia

Better method of fixing lazily-made graphics

Post by Wohlstand »

Few time ago I was researched for Visual Basic's blending method to found better method to correctly generate alpha-channel of image to make displaying of sprites which correctly displaying in the SMBX.

You can look for this implementation here:
https://github.com/Wohlhabend-Networks/ ... cs.cpp#L53

You can check them in action in the editor before I will make update of my lazy-fix tool:
in the laboratory available update which have new menu item in the "View" menu, but you will see result after reloading of file.
____________________________________________________________________________________________

Examples:
This is a typical lazily-made sprite and mask pair:
ImageImage
and it's result:
Image

But graphics like this:
ImageImage
will give full transparency, because color or mask mapping to alpha-channel:
Image

When you enable special flag:
Image

and when you will reload level, you will see magic:
Image
Image
____________________________________________________________________________________________
Now about algorithm:
I looked for VB's drawing method: it apply bitwise "AND" operation between RGB's while draw mask to background image, and after apply bitwise "OR" operation while draw image over mask.

I made similar operation for image sprite over gray background to unmask. But how I made right transparency?
1) I mapped mask into alpha-channel by normal method (result like "AND")
Alpha = 255 - ((R+G+B)/3) //if Alpha 0 - transparency, if 255 - solid
2) After I made same operation but with pixels of source image and gotten value I was appended to already generated alpha-channel. (result like "OR")
Alpha = Alpha+((R+G+B)/3)
and this method will fix any lazily-made graphics which was correctly shown in the SMBX but wrongly shown in the PGE.

I will update my lazy-fix tool and will apply THIS method to generate RIGHT mask.

____________________________________________________________________________________________
P.S.
Without "VB Emulation" flag ('GFX Fix'):
(Because masks are have completely white pixels, lights are invisible here)
Image

With "VB Emulation" flag ('GFX Fix'):
(Instead of simple mapping of mask to alpha-channel, was run this algorithm of calculating target color & alpha-channel )
Image

And do you remember those goombas from this http://engine.wohlnet.ru/forum/viewtopic.php?f=5&t=158 test?
ImageImage

If you will enable this algorithm same goombas will have this view in PGE:
Image
Unlike SMBX where mask drawing to screen over background and other objects and after sprite drawing over drawn mask, sprites generating by once into memory and masks no more using. This save lots of memory and giving better CPU speed.
User avatar
Wohlstand
Moondust and TheXTech developer
Posts: 186
Joined: 10 years ago
First name: Vitaly
Pronouns: he/him/his
Location: Moscow, Russia

Re: Alternate Editor for SMBX

Post by Wohlstand »

Hey there, here's a relatively small but useful update.

I've noticed recently that people particularly living in the North/South American continents, Australia, Asia etc. are prone to having a hard time with the downloading speed of my main server which happens to also serve as host for most of the PGE executables/configs and files. (This can be mostly attributed to the huge distance between these individuals' location and mine(Moscow, Russia).)

And so here's a temporary but effective solution.
I've made a mirror of the laboratory and configuration packs on Google Drive:
https://drive.google.com/folderview?id= ... sp=sharing
This mirror is planned to be updated daily/each hour.

So if anyone has a problem with downloading(or with the speed of attempting to do so) configuration packages or builds from the laboratory, you should be able to get them from my Google drive linked above.

Do feel free to try it out by downloading now.
Good luck ;-)
User avatar
Wohlstand
Moondust and TheXTech developer
Posts: 186
Joined: 10 years ago
First name: Vitaly
Pronouns: he/him/his
Location: Moscow, Russia

BETA of the new PGE Editor

Post by Wohlstand »

Beta of the new PGE Editor version is available now!

Here is experimental installer of Windows-version by Wind:
Wind wrote:The PGE Editor Installer is pretty much finished, but it wouldn't hurt to have some people to test it first.
It has the ability to turn any component (except the editor) on and off, etc.
Click this if you want to learn more.
User avatar
h2643
<Knux> h2643 the super computer
Posts: 3
Joined: 9 years ago
Location: Ukraine (Украина)
Contact:

Re: Alternate Editor for SMBX

Post by h2643 »

Also, here is an online installer of PGE, which always downloads latest laboratory builds of PGE and its components automatically:
Made by tb1024: https://dl.dropboxusercontent.com/s/ndm ... loader.exe
Image
User avatar
Wohlstand
Moondust and TheXTech developer
Posts: 186
Joined: 10 years ago
First name: Vitaly
Pronouns: he/him/his
Location: Moscow, Russia

Re: Alternate Editor for SMBX

Post by Wohlstand »

While I preparing to publish new release, I have updated Wiki Page which have common information about editor's feature and basic usage hints.
http://engine.wohlnet.ru/pgewiki/PGE_Editor
Post Reply