WA Editor Updates, Ideas & Suggestion Thread

The Wonderland Open Source Project

Moderators: ILoveWonderland, Sammy_P, Lazy Loof

User avatar
Pawelec
Rainbow Master
Posts: 690
Joined: Tue Jul 15, 2008 8:37 am

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Pawelec » Sun Jun 09, 2019 6:38 pm

GPU switch doesn't really seem useful because of D3D8 age, modern GPUs don't support it anyway (I have to use DLLs from dgVoodoo to wrap it to DX11).

Given the problem with JPG artefacts I'd consider loading them in mode 1. I've already done enough experiments with file extensions to understand the system so if you'd like me to take care of the code I'm ready to do that (I'd add support for all available file formats: X, B3D and 3DS for meshes, DDS, PNG, TGA, BMP and JPG, order based on file format functionality with vanilla defaults searched for at the very end to maintain backward compatibility).

Now, the major problem is there isn't a general code for processing textures, especially the editor is problematic because there is separate code for loading the level from wlv and separate for newly added entities. The main problem is every vanilla case (simple textures and more elaborate ones like buttons etc.) is done separately, custom models have their own code and custom textures have their own while except for these elaborate vanilla cases all objects using single texture could share code which requires only texture file path with extension as input and takes different action if DDS/PNG/TGA (mode 2), BMP (mode 4) or JPG (mode 1) texture is given.

I'd need some time to understand your new file structure. I think separating code into pieces is a good way to go, I'd try to merge vanilla mesh/texture name handling between the editor and player for convenience.

And for ideas: I have no idea what you planned for Magic Turrets but I've had a similar idea some time ago and now it could be extended to retro cannons. Magic turret could be a button-controlled magic shooter which is subject to rotator control and shoots magic. They could be divided into two types: shooting like a canon (no target tile, can rotate 45 degrees) and shooting a bit like Grow wraith (target given as Forward and Deviation: target tile is F tiles in the facing direction + D (can be negative) in perpendicular direction, this however is limited to 90 degree turns and requires maintaining the direction of the turret mesh to face the target tile).

EDIT2:
OK, finally solved it, tested and I'm sure it works. Sadly I don't think it's possible to extract alpha channel in Blitz3D so I made a version using two textures per object: one is the regular one with alpha you'd like to use, second is extracted alpha channel with all except pure white (255,255,255) set to pitch black (0,0,0) which is loaded in masked mode. The hack concept is we render texture with alpha on a child which is placed on top of the target entity with the texture being nothing different than the mask. This has many downsides but I'm afraid it's the best Blitz3D can offer. The only thing which needs to be chosen is file naming convention, in my prototype I went for tname.ext (.ext = .dds, .png or .tga) and tname.mask.ext, the code with CopyEntity is ran only if tname.mask.ext file is found, otherwise the texture is loaded in mode 1+4.
alphaTexSupport.zip
You do not have the required permissions to view the files attached to this post.
"Let us return to the past; it will be progress."
by Giuseppe Verdi
User avatar
RoberTime
Rainbow Seeker
Posts: 233
Joined: Sun Nov 06, 2016 8:10 pm
Location: Yes

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by RoberTime » Mon Jul 08, 2019 11:49 pm

Hope this is the correct topic to put this since it says "Ideas" in the title...

So I have zero experience in Open Source, as well as that of Blitz3D/coding/whatever-it-was for modding WA, but I just had this idea for WA or potentially RTW: Stinker is You

Honestly, I don't know how this would work given I don't know the boundaries of modding, etc. but basically, the title is self-explanatory if you know which other game I am referring to. If the player stinker can be manipulated to easily modify properties of all kinds of objects (Probably not including tiles), I could see the player as a chomper, item, or other, stretching my obvious idea even further.

What do you all think about this one?
User avatar
rainbowmon
Rainbow Keeper
Posts: 342
Joined: Thu Apr 17, 2014 6:31 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by rainbowmon » Tue Jul 09, 2019 2:26 pm

Baba is You: Wonderland Edition huh? That's a pretty cool concept, but (whilst I don't have any experience with this kind of thing either), I'd say it would likely be EXTREMELY ambitious, since there's so many crazy things you'd have to do to replicate Baba's mechanics.
User avatar
nasko222
Rainbow Master
Posts: 589
Joined: Sat Jul 07, 2018 1:22 pm

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by nasko222 » Mon Sep 02, 2019 8:10 am

monster magic mod. Add magics (maybe bit different than the nornal ones) that can spawn scritters. chompers. dragonturtles. ghosts. all type of mobs
User avatar
rainbowmon
Rainbow Keeper
Posts: 342
Joined: Thu Apr 17, 2014 6:31 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by rainbowmon » Mon Sep 02, 2019 2:48 pm

Ooooo, that's not a bad idea Nasko.

And now that you mention it, that reminds me: I've always had a headcanon, that, in addition to the typical red and gold Chompers that are kinda mean, there were green and blue Chompers as well, which were vegetarian and friendly. Maybe mods could make such a thing a reality?

Edit: Since I mentioned Gold Chompers, I may as well mention: It's probably unrealistic to implement, but having an Original Trilogy-style ability to switch characters could be cool as well.
User avatar
rainbowmon
Rainbow Keeper
Posts: 342
Joined: Thu Apr 17, 2014 6:31 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by rainbowmon » Fri Oct 04, 2019 2:59 am

Had a thought recently and figure I may as well mention it: I think controller support could be nice. It wouldn't be as precise as a mouse, sure, but being able to play Wonderland with a controller would be pretty cool, wouldn't it? I mean, technically you could just use Steam or Antimicro or something like that, but that would have to... "Emulate" (" because I'm not 100% sure that's the best word for it) mouse movement. Controller support could get rid of the mouse entirely - you'd still have a pointer for casting magic, but pushing a direction on the D-Pad / Left Analog Stick would move the pointer to the next tile in that direction, rather than dragging the pointer around. The right analog stick could be used for camera controls (the ones using the numpad + alt + x)... Other things could be done too. My point being, it'd be nice as an option in the open source version of the Wonderland Adventures Editor (and the eventual open source version of RTW, though WA would benefit more, since it uses the mouse which doesn't directly port over to a controller well and thus any mouse controls would need to be reworked for a controller).
User avatar
Lazy Loof
Rainbow Wizard
Posts: 460
Joined: Sun Nov 27, 2016 2:37 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Lazy Loof » Fri Oct 04, 2019 9:25 am

rainbowmon wrote:
Fri Oct 04, 2019 2:59 am
Had a thought recently and figure I may as well mention it: I think controller support could be nice. It wouldn't be as precise as a mouse, sure, but being able to play Wonderland with a controller would be pretty cool, wouldn't it? I mean, technically you could just use Steam or Antimicro or something like that, but that would have to... "Emulate" (" because I'm not 100% sure that's the best word for it) mouse movement. Controller support could get rid of the mouse entirely - you'd still have a pointer for casting magic, but pushing a direction on the D-Pad / Left Analog Stick would move the pointer to the next tile in that direction, rather than dragging the pointer around. The right analog stick could be used for camera controls (the ones using the numpad + alt + x)... Other things could be done too. My point being, it'd be nice as an option in the open source version of the Wonderland Adventures Editor (and the eventual open source version of RTW, though WA would benefit more, since it uses the mouse which doesn't directly port over to a controller well and thus any mouse controls would need to be reworked for a controller).
Having a controller option is really nice... I'd love that!

Though currently open source WA Editor can't support that due to technical issues (which is of course due to such an ancient programming language). But don't worry, there is a C# remake on the way and we might have something like that atleast in future.
Previously known as Aryan101
User avatar
Lazy Loof
Rainbow Wizard
Posts: 460
Joined: Sun Nov 27, 2016 2:37 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Lazy Loof » Mon Oct 14, 2019 6:41 am

Oh well, I forgot I also have to post current WA Editor updates in this thread!

Ok, here's a small video by ALEXALEX976 on the new cutscene-making UI in the 10.2.0: https://www.youtube.com/watch?v=1EqT1Zt ... e=youtu.be

Finally, you can also add custom textures to gates, flipbridges and transporters just their "colour part" will remain unchanged.

This shows different colours of bridges:
Image

This shows different colours of springs and teleporters (same is for cuboids too)
Image
Previously known as Aryan101
User avatar
Lazy Loof
Rainbow Wizard
Posts: 460
Joined: Sun Nov 27, 2016 2:37 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Lazy Loof » Tue Oct 15, 2019 8:40 am

Triple post, but I wanna ask one question from you all: I have version 10.2.0 almost ready! However I am still not sure if this version is ready for public or not since there are lots of internal changes in the engine (credits to Pawelec) and there may be any underlying bugs although I have fixed a couple of them. So, are some of you ready to test this release and hence I can know some more bugs which were left out?
Previously known as Aryan101
User avatar
Lazy Loof
Rainbow Wizard
Posts: 460
Joined: Sun Nov 27, 2016 2:37 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Lazy Loof » Fri Nov 29, 2019 2:27 pm

Quadruple post!

We are now working on C# remake of WA Editor. Currently level mesh is created and main menu, custom select screen works. Though it's still in bare bones now.

We hope to have 10.4.0 be the first version in C#.

In C#, we are using BlitzSharp3D which is Blitz3D for C#. After the port is done we will gradually port WA to monogame.
Previously known as Aryan101
User avatar
Lazy Loof
Rainbow Wizard
Posts: 460
Joined: Sun Nov 27, 2016 2:37 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Lazy Loof » Mon Apr 06, 2020 6:08 am

A little sneak peak at what we are working on! :stinkyhappy:
You do not have the required permissions to view the files attached to this post.
Previously known as Aryan101
User avatar
Wonderman109
Rainbow MegaStar
Posts: 3530
Joined: Thu Jun 28, 2012 11:25 pm

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Wonderman109 » Mon Apr 06, 2020 1:51 pm

That looks very useful!
User avatar
|Cookie|
Rainbow Star
Posts: 1978
Joined: Mon Mar 21, 2011 8:34 am

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by |Cookie| » Wed Apr 08, 2020 3:09 pm

This looks very fancy, albeit I have no idea what half of the menu settings do. :lol:
Can you explain what Intro, Start and Type do?
Previously known as "kidkidaaa1"
My level list
My hub: TTN
Woof Woof
User avatar
Lazy Loof
Rainbow Wizard
Posts: 460
Joined: Sun Nov 27, 2016 2:37 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Lazy Loof » Wed Apr 08, 2020 3:20 pm

|Cookie| wrote:
Wed Apr 08, 2020 3:09 pm
This looks very fancy, albeit I have no idea what half of the menu settings do. :lol:
Can you explain what Intro, Start and Type do?
Once 10.3.0 is released....
:stinkylol: :stinkylol: :stinkylol:
Previously known as Aryan101
User avatar
rainbowmon
Rainbow Keeper
Posts: 342
Joined: Thu Apr 17, 2014 6:31 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by rainbowmon » Sat Apr 11, 2020 5:39 pm

Was making myself something to eat, and I had a thought. You know how some games nowadays - Super Mario Odyssey comes to mind - have a Screenshot Mode that freezes time when it's being used? I think something like that could be useful for Wonderland. Sure, we have the Spy-Eye in the Adventures Trilogy, and the Shift key in the Original Trilogy, but with both of them, things keep moving in the process of using them - so can't use them if you're already in danger. A feature like this could allow players to pause and assess a sudden situation without the menu being in the way.
billy bob
Rainbow SuperStar
Posts: 2894
Joined: Wed Nov 07, 2007 4:37 pm

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by billy bob » Mon Apr 13, 2020 3:29 am

For the classic trilogy, hold down the ESC key. Holding down the ESC key pauses the game without the menu being in the way. It's a lifesaver.
For WA3, in the options choose "Dialog: None" then you can see through the menu while the game is paused.
Neither of these are completely ideal though, just the best there is currently.
User avatar
rainbowmon
Rainbow Keeper
Posts: 342
Joined: Thu Apr 17, 2014 6:31 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by rainbowmon » Mon Apr 13, 2020 3:44 am

Didn't actually know about either of those - still think it would be a good feature to have with a dedicated button or something, especially if you need to see more than what's on screen, but something is better than nothing. Again, it was just a random thought I had that I figured could be useful for Wonderland. I'm no modder, so whether or not a way is implemented is entirely up to those who can do such things.

Edit: Am I the only one experiencing the forums just glitching out all over the place tonight?
User avatar
Lazy Loof
Rainbow Wizard
Posts: 460
Joined: Sun Nov 27, 2016 2:37 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Lazy Loof » Mon Apr 13, 2020 5:00 am

Well yeah, I think option like that could be a good choice.

You pause the game and "peek" at the level.

Certainly, it couldn't be added in 10.3.0 as we're really very very late now, but hopefully in future. (And I hope at least a 10.3.0-Beta1 release by the end of this month)
Previously known as Aryan101
User avatar
Lazy Loof
Rainbow Wizard
Posts: 460
Joined: Sun Nov 27, 2016 2:37 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Lazy Loof » Tue Apr 14, 2020 8:12 am

DP, but I would like to notify you all about something: The Custom Models bug in which destroying any object changed their position is FIXED now! This bug was since vanilla and was a very serious issue as it prevented anyone from using custom models.

I was actually aware of that bug before, but probably forgot about it! Thanks A LOT to Jinx333 for reporting me that.

The reason for the bug is interesting, although it may require me to explain how game "indexes" the objects, how these indexes are updated and how are these related...
If anyone wants I can! :stinkyhappy:
Previously known as Aryan101
User avatar
Kilicool64
Rainbow Wizard
Posts: 460
Joined: Fri Oct 26, 2007 3:15 pm

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Kilicool64 » Thu Apr 16, 2020 6:30 pm

Sure, go ahead and explain.
User avatar
Lazy Loof
Rainbow Wizard
Posts: 460
Joined: Sun Nov 27, 2016 2:37 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Lazy Loof » Wed Apr 22, 2020 5:17 am

Oh I really forgot to explain why that bug occurred! Sorry :oops: :oops: :oops:

Ok so I am explaining this in brief...

Custom models are the only objects in WA Engine that use OldX, OldY and OldZ adjusters. These "Old" adjusters store their initial positions, that is, the XAdjust, YAdjust and ZAdjust you set for custom models in editor are stored in OldX, OldY and OldZ adjusters respectively. This is to backup their initial positions before these XAdjust etc adjusters gets modified. Now OldX, OldY and OldZ adjusters have -999 value for all objects and there is a check for custom models that if OldX is -999 then only backup the XAdjust, YAdjust and ZAdjust positions.

Now whenever any object of a particular "index" gets destroyed, game frees the "index" of that object and reassigns indexes to the objects after that index. As Blitz3D is very old, Patrick used a function to copy all the adjusters of the objects manually when index is reassigned. However he forgot to copy OldX, OldY and OldZ. So whenever any object is destroyed and Custom Models get their indexes reassigned, their OldX, OldY and OldZ adjusters aren't copied and remain -999 (of the previous object as every object except custom models have this value) hence the models change their positions.

If you want you can ask an detailed explanation of how indexing works. :D
Previously known as Aryan101
User avatar
Kilicool64
Rainbow Wizard
Posts: 460
Joined: Fri Oct 26, 2007 3:15 pm

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Kilicool64 » Mon Apr 27, 2020 11:11 am

Sure, why not?
User avatar
Lazy Loof
Rainbow Wizard
Posts: 460
Joined: Sun Nov 27, 2016 2:37 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Lazy Loof » Sat May 02, 2020 4:22 am

Ok, although it is not needed here's an overview how objects and their indexing work: (sorry for the language if it appears bad, if you cannot understand then please notify)

In the WA Engine, you already know that every object has specific properties or adjusters. You may also be aware of certain properties like ModelName, TextureName, MovementType etc. However, there are many other properties of objects like CurrentAnim, Indigo, LastActive, Talkable, MovementTimer etc. These all properties define the exact "state" of the object. Almost everything related to objects is stored in these adjusters. You might have experienced in WA Trilogy games that whenever you exit a level and then reenter it, you see all the objects functioning same as they were before. This is because whenever you exit a level, the level is saved and all the current object properties are saved. When these properties are reloaded, the objects start functioning same as they were before.

Now in every wlv file, there is a section where objects are stored. These objects, when read from wlv, are loaded into arrays. They have specific "index" allotted to them, which is based on their order in the wlv file.

Every object has a specific index allotted to it. In OpenWA, there's a single object type Wonderland Object Interface or WOI which stores all adjusters as their "fields". The objects are stored in array called "GameObject" and accessed using the index. E.g., to access ModelName of chomper object of index 3, you use GameObject(3) to access chomper object and you can access ModelName field of this object if you want.
In POTZ and vanilla editor, there are many arrays of object adjusters and the object adjuster was accessed using object's index. For e.g., ObjectModelName array stores the model name of ALL objects. Now a chomper has an index 3, then its ModelName adjuster is accessed using ObjectModelName(3), using 3 as index.

However, sometimes existing objects are deleted and also new ones are added too, e.g creation and destruction of spellballs. Whenever any new object is created, it is added at the end of the list of existing objects. And whenever any object is deleted, the game reallots the object indexes for objects appearing after that index. At the time of reallocation of indexes, the game simply copies all the object properties of object from one index to another. You find no change as object properties define the exact "state" of the object.
For example, if a there's a chomper, Zbot, scritter and spikeyball in the level of indexes 0, 1, 2, and 3 respectively, and Zbot(index 1) is destroyed, the game transfers all properties of chomper from the index 2 to index 1 and also transfers all properties of scritter from the index 3 to index 2. The number of objects count is updated so game only accesses objects till index 2.

Alright now here's a fun fact that you might see above: There are certain indexes that are not accessed, but they still consist of objects! You might have saw in the example above that spikeyball is simply copied from the index 3 to index 2 but index 3 is NOT freed at all. The game doesn't really cares about that leftover indexes (and there can be several such leftover indexes in a level!). This index is simply overwritten whenever any new object is created, e.g if a spellball is created then it will use index 3 and overwrite all properties of spikeyball. This also happens when you exit any level. The objects are not actually deleted but their count is updated to 0. And when you enter a new level, the existing objects are overwritten with the new ones. But as object count is not same in all the levels, if you enter a new level with object count less than the previously exited one, then there will be a few "ghost" objects of the previous level too. However, the game will not take any care of them.
I don't know if there's a way to utilize this strange thing in levels.
Previously known as Aryan101
User avatar
jdl
Rainbow SuperStar
Posts: 2883
Joined: Fri Jun 06, 2008 8:37 pm
Location: West Virginia, USA
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by jdl » Wed Jun 03, 2020 4:30 pm

Since v10.3.0 is out and is apparently the last Blitz3D release, I have no idea if any of these will make it into the Blitz3D version or not, or if they will be included in the WA Sharp version only, but here we go. I've spent some of my free time over the past month or so coming up with ideas and finding/remembering bugs with the Editor. Some of these may have already been fixed and I just haven't realized. Oh and... Yeah, this post is kinda long. Sorry about that!

If I have anymore ideas, bug finds, etc. I guess I'll continue to post them here unless anyone knows of a better thread I can put these in.

Bugfix Suggestions:

Engine Bugs:

1. Fix being unable to open or save a dialog (can't remember which) without it crashing after it's been saved a little over 100 times.

2. Disable typing into Midnight Vault when it's not opened.

3. Can't aim directly at Prisms and Blink Barrels with Blink, Null, or Barrel magic.

4. When Prisms disappear/get destroyed when placed in front of Springs, they don't emit any destruction particles.

5. Flashing a Blink Barrel in front of a Spring destroys the Barrel and Blinks you to x1,y1 instead of where you tried placing the Barrel.

6. Adventure completion status from a different player is still being shown after switching profiles in the Player. Restarting the Player fixes this until profiles are switched again.

7. When clicking on "Sort by Tags" or "Sort by Creators" the sound effect that's played is noticeably a lot louder than any other time it's played. I suspect it's being played twice on the same frame or something like that.

8. You can't open the game in fullscreen when using a multiple monitor setup. (Unable to create 3D scene.)

Visual Bugs:

1. Make the inventory icon completely invisible when opening the menu. (It shrinks down to the point where it's barely noticeable instead of disappearing. Not sure if that's intended or not though. Why does it even need to shrink in the first place..?)

2. Color 9 gate texture is missing from bridges (they look different). Very minor and probably not worth looking into, but I figured I would still mention it.

3. No idea if there's a way to fix this, but for a few frames, you can sometimes see an object that's in the middle of being teleported/flashed moving across the level to its destination. This was a bug in the classic trilogy games as well.

4. After using command 65, the Player's expression changes back to normal after changing levels. Maybe a Data2 could be added where 0 = a temporary change (how it acts now) and 1 = permanent change. Also, maybe the Player's expression should always temporarily change to smiling when doing the win adventure dance because otherwise it looks strange.

5. The coordinates display in the editor is in different places depending on whether you have the tile selector or object selector active. (You have to move the mouse around on the grid after changing selectors to get it to show.)

6. Fix rounding(?) bug when changing adjusters in the editor. (1.e-004, etc.).

7. Fix Player's walking animation being weird when walking in the up direction after casting magic in a Knight-Chess-Piece-like fashion.

8. Fix cursor animations being strange.

9. Fix dialog background animation being weird sometimes. To consistently get it to happen, close the game and reopen it, and have the first dialog that you encounter come from stepping onto a general command button.

10. Fix leveltexture rendering having a horizontally flickering line sometimes.

11. Fix camera stutter when walking. (Walk in a straight line as you watch walls and you will see a slight "jump" with every step you take. More noticeable when walking left to right.)

12. Fix being stuck in a wall when loading into a level at x0, y0. There's also a weird camera readjustment that happens when turning the corner at x0,y0.

13. Fix non-refreshed areas of the screen in the editor keeping leftover letters on the screen. Mostly seen after typing a path to something, or when object adjuster text is very long.

14. Rainbow magic glove icon doesn't animate in inventory.

15. Save file thumbnails have some of the image being just black, and sometimes they show the pause menu background.

16. The Player replays the casting magic animation for some reason when a casted spellball hits a wall.

17. Switching between regular and homing magic of the same color does not work. This doesn't seem to happen with OnceChargers though, however they do add shot amounts together as if they were the same magic, which is interesting.

18. The FPS Display is slightly inaccurate. The game usually runs at 59 FPS for me, but FRAPS is saying I'm getting 60 FPS.

19. Saving after being set on fire and then loading will make the Player look normal again instead of looking burnt. This may happen with other animations as well, but I haven't tested.

20. Pressing F12 in the Hub Selection menu makes the last selected Hub's logo appear while held.


Engine Suggestions:

Editor:
1. Ctrl+LBM on adjusters to increase them by 100, just like how Shift+LBM increases them by 10. (Or maybe a way to type in values manually?)

2. A reset camera button/hotkey in the Editor that resets the camera rotation and focuses the camera on x1,y1 (In case you just finished editing a large level and are now editing a small one and can't find the grid).

3. Disable Shard and Glyph(?) usage on certain levels. This is already hardcoded with Shards for wlv's 93, 94, and 95 in WA1.

4. Option in master.dat to disable the Simon memory game with the Shards and instead just activate the Shard commands instantly after the normal three clicks.

5. Option in master.dat to set a dialog for clicking a wall for the first time in a Hub. WA1 had this, and it only worked once per game boot. It also only worked in the beginning level of the Hub.

6. Delete+LMB while hovering over a cutscene number to delete cutscenes like you can now do with levels and dialogs.

7. If I remember correctly, the adventure "The Ascent" in MOFI was hardcoded to give you an Orb if you cheated the adventure, since you're supposed to collect it from inside the adventure. It would be interesting to be able to do something like that from within the Editor, along with anything else that's hardcoded.

8. Change the arcade machine text to "You have already played all the levels of this arcade game!". This will make it sound better, and will also make more sense if a Hub creator decides to make an arcade machine only have one or two levels instead of three. Actually, since an arcade machine can activate not just adventure stars, but anything with an ID, maybe it would be better to just let users have the ability to customize the message instead. For example, if someone wanted to make an arcade machine that could only be used once and opens a passage somewhere, and they have more than one token, they could make it say something like "The machine is broken and cannot be used anymore." or "You already used this machine."

9. Continuing from the previous suggestion, it would be pretty cool to be able to customize most, if not all of the popup text boxes that appear at the bottom of the screen.

10. Using UserData\Custom\Music\FolderFullofMusicNameHere\1#SongNameShownInEditorHere.ogg, 2#TheDuckSong.ogg, etc. for custom music support. Music folders are chosen the same way custom Maps are chosen (folder name). Tracks can be used by the music changing command by using negative numbers to keep compatibility with older adventures, and tracks can be selected in the editor by doing Shift+LMB over the music selector and entering in the track number (after the music folder is set in master.dat).

11. Using UserData\Custom\Sounds\SoundBankNameHere\1.ogg, etc. for custom Sounds support. Sound folders are chosen the same way custom Maps are chosen (folder name). Sounds can be used by the play sound commands by using negative numbers to preserve the ability to use the regular sounds with the commands, and to avoid conflict if any new built-in sounds are added to the engine in the future.

12. Ability to use custom graphics for the menu icon, inventory icons, win condition icons, glove color icons, particle sheets, colors, in-game font, button frames, cursors, etc.

13. Being able to set two leveltextures in a level. Similar to what Knytt Stories does (Tileset A and Tileset B), this could provide more level customization/decoration.

14. Add new win conditions for capturing/destroying monsters and enemies that do not currently have any win conditions. (Chompers, Dragonturtles, Coileys, etc.)

15. Maybe I haven't looked around enough, but some documentation on all of the new stuff in the Editor would be nice. For example, I have no idea what the Globals do in the cutscene editor, nor can I tell what the Menu Settings do in the Complete Hub editor menu (page 2).

Player
1. Being able to add a custom graphic for a Complete Hub episode background in Player.exe, like how WA1/2/3 have their own.

2. Option to automatically enable Midnight Vault when running the game in test mode for easier level testing.

3. F6 as a toggleable hotkey to show a coordinates and number-of-objects-on-tile display in the Player. This could be turned on by default when running the game in test mode. In addition to that, maybe make the F5 hotkey (FPS display) toggleable as well.

4. F4? as a toggleable hotkey to show/hide the level, like how the Editor does. This could be useful for level debugging if you need to check something that's hidden inside walls.

4. When the Vault is active, pressing E+T together should give you 100 Gems, just like how Q+E and W+R give you Coins and Stars.

5. Change the way the 5 key (on numpad) works when flying with the Vault to make the Player instantly land and stay still instead of...
Whatever it is that it does currently.

6. Add error handlers for trying to load a level or dialog that doesn't exist, or anything else that might make the editor crash/close. (Couldn't find model/texture, etc.) As a suggestion, maybe someone could make an "Error" wlv and dialog file that can be placed in the Data folder so that they are loaded instead if the expected file is not found. You could also use the default.3ds and default.jpg files for model and model texture errors.

7. Add refresh button in the Hub selection menu. (For consistency between it and the Adventure selection menu.)

8. Ability to delete individual save files like you can with Player Profiles.

9. Wouldn't it make more sense for the OnceDischarge object to take away 1 from the total amount of magic you currently have instead of taking it all away? Maybe I'm missing something here.

10. When clicking "Sort Adventures" the inventory closing sound effect plays instead of the normal "Ding" sound. Also, clicking to go into the credits doesn't play any sound effect at all for some reason.

11. Change the Main Menu music from Jungle to POTZ Intro. (Seems more fitting in my opinion.)

12. Make Ctrl+B (Wall Blinking) toggleable. Another cool idea would be Ctrl+N, No-clipping for spellballs. This would allow you to cast magic anywhere, as spellballs would no longer react with walls. I suppose this could be useful for level debugging.

13. In the Classic Trilogy, Coileys randomly decide which direction their model is going to spin in, and how fast they spin, when the level loads. In WA, they always spin counter-clockwise at a fixed speed. It would be nice to have their original functionality restored. Also, in my opinion, WA Coileys look very... Stiff, and that's because they're missing their bouncing animation as well, which is very strange.

New Dialog FNC Suggestions:
1. FNC 6 and 7, which uses the same code as FNC 4 (check Coins) except they check for Stars and Gems instead. (Gives more use for Stars and Gems.)
2. FNC 8, which does the exact same thing FNC 5 does, except that it does NOT take the item from your inventory after checking that you have it. (Good for being able to perform a simple check. For example, this could make it easier to make sure you have a specific item with you that's used for later before advancing the story.
3. FNCs 9 and 10, which do the exact same thing FNCs 6 and 7 does, except that they do NOT take (or give if negative) Stars and Gems after checking that you have the set amount. (Again, good for performing a simple check.)

New Command Suggestions:

1. Reset wlv to as it was when it's loaded for the first time. If I'm correct, all this will do is copy the original wlv file to the appropriate place in the Player Profile's "Current" folder, overwriting the one that's already there. This should only be used to reset any wlv the player is not currently in, since the game seems to save wlv's between level changes. Doing so would literally just undo the command.

2. Add a Pitch adjuster to the Play Sound commands. Could be useful for making little songs out of sound effects, like with the Shard sound for example.

3. Add Data2 to command 16: 0 = Player can be controlled, and 1 = Player cannot be controlled. This would be very useful when making in-level cutscenes for things that aren't on screen, without having to worry about the Player still being able to move, cast magic, etc. It can also be useful when you would want the Player to still be focused, but unable to be controlled.

4. Disable shard usage (or make the enable shard usage command toggleable).

5. Enable/Disable Glyph use?

6. Change leveltexture?

7. Commands to change properties of a tile, such as: the texture used for it's top/sides/water, texture rotation, height, jagged or smooth, all that jazz.

8. A command to add/remove an amount of Coins, Stars, and Gems to/from the Player's inventory.
It could look something like this:
Data1: (Function) 0 = Add, 1 = Remove
Data2: (Type) 0 = Coins, 1 = Stars, 2 = Gems
Data3: (Amount) Amount to add/remove. If the function (Data1) is set to remove, then this value could be set to -1 to remove ALL of the selected type (removing all Coins from a Player's inventory, for example).

9. Commands to instantly win/lose an adventure. Can be useful for adventures with unique winning conditions.
Data1: 0 = Win, 1 = Lose
Data2: Used if Data1 is set to 1 (Lose). Can be set to 0, 1, etc. to set the adventure failure message. ("Stinkers are flammable!", "Better watch your step!", etc.)

New Magic-Related Suggestions:

1. Changing Magic:
This is pretty much command 4 magic, I guess? If you shoot a Fireflower that turns after every shot, this will store the properties of that particular object. Shooting a different Fireflower, like one that only shoots in a straight line, will change it so that it's now a turning Fireflower! Maybe you could even turn a Fireflower into an Iceflower! You could make a fast Chomper slow, change the color of keys, or maybe even a regular barrel into a TNT barrel.

2. Control Magic:
Basically, it's similar to the cap in Mario Odyssey. Let's say you shoot a Fireflower. Well, now that Fireflower is going to stop shooting on its own. When you place your cursor over the Fireflower, it will change into the Wee Stinker hand. Instead of moving the Fireflower, this will allow you to click and drag to point to a spot (or direction, I guess) where you want the Fireflower to shoot to. This is just one example. If you shoot a Chomper, it could stop chasing you, and you could tell it where to move to. Same with Scritters. BurstFlowers wouldn't react when you're near them, and you could make them explode the same way you make Baby Boomers explode. You would only be able to control objects for a limited time though before they go back to acting normally, similar to Floing bubbles and Grow flowers breaking after so long.

3. "Magic Fields":
This isn't magic that you shoot, but rather it's an object that you can place in the editor. This object is invisible, except for particles emitting from it (the same effect Glove Chargers have). It can be given an ID, it can be Activated/Deactivated, and it has a Magic color value along with the new Standard/Homing options. The only effects this object has is that it (maybe?) cannot be directly aimed at, and that any spellballs that pass through it are instantly changed into the type of spell it's set to. This could provide a useful barrier from Fireflowers by turning their fireballs into harmless Null Magic, or maybe it could be used to prevent the Player from using magic in specific areas. I imagine a common use for it would be to find a way to turn them off or toggle them in order to use magic past them, or changing your current magic into something else.
User avatar
rainbowmon
Rainbow Keeper
Posts: 342
Joined: Thu Apr 17, 2014 6:31 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by rainbowmon » Wed Jun 03, 2020 4:57 pm

Magic Fields is a pretty ingenious idea if you ask me. I could see for that allowing for some very interesting puzzles.
Rainbowmon of the Care-Monic Spirits
billy bob
Rainbow SuperStar
Posts: 2894
Joined: Wed Nov 07, 2007 4:37 pm

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by billy bob » Thu Jun 04, 2020 1:45 am

jdl wrote:
Wed Jun 03, 2020 4:30 pm
16. The Player replays the casting magic animation for some reason when a casted spellball hits a wall.
You know it! But it's more than just a visual bug.
If you have your inventory open while the cast spellball collides with something then you will be stuck until you press Esc.
In this video I combine it with another glitch to softlock WA3.
Last edited by billy bob on Thu Jun 04, 2020 1:55 am, edited 3 times in total.
User avatar
rainbowmon
Rainbow Keeper
Posts: 342
Joined: Thu Apr 17, 2014 6:31 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by rainbowmon » Thu Jun 04, 2020 1:50 am

You messed up the link there, Billy Bob. It's meant to be a link to a YouTube video but it's got the forums' address just before it so it thinks it's a page on here when it isn't.
Rainbowmon of the Care-Monic Spirits
User avatar
Lazy Loof
Rainbow Wizard
Posts: 460
Joined: Sun Nov 27, 2016 2:37 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Lazy Loof » Thu Jun 04, 2020 3:23 am

Alright, REALLY very very thanks for all the suggestions you gave jdl! I was in NEED of this resource.
Although OpenWA is now discontinued, support and maintenance upgrades will still be provided until WA# is completed. I'll see if I could deal with some of the bug fixes you mentioned.

Here are my comments on some of your suggestions.
jdl wrote:
Wed Jun 03, 2020 4:30 pm
1. Fix being unable to open or save a dialog (can't remember which) without it crashing after it's been saved a little over 100 times.
Yeah I am aware of this bug. It is because whenever you save a dialog in editor it always increments the number of Interchanges by 1. Maximum number of interchanges allowed in the game are 100, hence when the count gets above 100 it crashes. I haven't fixed that since I feared it might break something else.
jdl wrote:
Wed Jun 03, 2020 4:30 pm
8. You can't open the game in fullscreen when using a multiple monitor setup. (Unable to create 3D scene.)
Well this is the bug in the Engine itself, DirectX 7 is unable to create the device and hence the error occurs. Hope this will be fixed once Monogame port is done. Monogame uses DirectX 11 and OpenGL 3.
jdl wrote:
Wed Jun 03, 2020 4:30 pm
6. Fix rounding(?) bug when changing adjusters in the editor. (1.e-004, etc.).
This also seems to be a bug in the Blitz3D engine itself. Actually me and Pawelec tried to fix it but unfortunately it led to strange results e.g skipping some values and sometimes adjuster being completely frozen. I hope this will be fixed in WA# as C# probably has better float handling than Blitz.
jdl wrote:
Wed Jun 03, 2020 4:30 pm
11. Fix camera stutter when walking. (Walk in a straight line as you watch walls and you will see a slight "jump" with every step you take. More noticeable when walking left to right.)
Does this occur in WA1 and MOFI too? I remember having such a bug only in POTZ and Editor and it was due to frames not interpolating properly. I have fixed this since 10.1.0 and POTZ v1.02 also fixes this issue. More info here: viewtopic.php?f=42&t=27847
jdl wrote:
Wed Jun 03, 2020 4:30 pm
10. Using UserData\Custom\Music\FolderFullofMusicNameHere\1#SongNameShownInEditorHere.ogg, 2#TheDuckSong.ogg, etc. for custom music support. Music folders are chosen the same way custom Maps are chosen (folder name). Tracks can be used by the music changing command by using negative numbers to keep compatibility with older adventures, and tracks can be selected in the editor by doing Shift+LMB over the music selector and entering in the track number (after the music folder is set in master.dat).

11. Using UserData\Custom\Sounds\SoundBankNameHere\1.ogg, etc. for custom Sounds support. Sound folders are chosen the same way custom Maps are chosen (folder name). Sounds can be used by the play sound commands by using negative numbers to preserve the ability to use the regular sounds with the commands, and to avoid conflict if any new built-in sounds are added to the engine in the future.
I actually had this idea since months, but was unable to implement it in 10.3.0. Will see if possible in WA#.
jdl wrote:
Wed Jun 03, 2020 4:30 pm
15. Maybe I haven't looked around enough, but some documentation on all of the new stuff in the Editor would be nice. For example, I have no idea what the Globals do in the cutscene editor, nor can I tell what the Menu Settings do in the Complete Hub editor menu (page 2).
A small documentation is available here. Though, it currently doesn't includes the guide to use Cutscene editor and Completet Hub Editor menu. It will be updated soon.
Let me briefly describe what the menu settings do in Complete Hub menu page 2:
- Track: It is the number of music to be played in the main menu. You can also use custom musics which are stored in Data/Music.
- Start: 0 means track will play instantly when the game shows loading screen, 1 means it will wait for loading screen to complete first
- Intro: It is a flag, 0 means Midnight Synergy logo won't be displayed on start and 1 means it will be displayed (just like in WA1/2/3)
- Type: Type is corresponds to the "style" of menu to be displayed. Type 1 means WA1 style, Type 2 means WA2 and Type 3 means WA3. Data# values are dependent on Type. Currently only Data1 of Type 2 is useable. It is the index of obstacle mesh to be displayed instead of the original volcano in the MOFI main menu.
jdl wrote:
Wed Jun 03, 2020 4:30 pm
9. Wouldn't it make more sense for the OnceDischarge object to take away 1 from the total amount of magic you currently have instead of taking it all away? Maybe I'm missing something here.
Well actually for compatablity reasons OnceDischarge supports BOTH the features. Data2 of OnceDischarge does this. If Data2 is 0 it will take away the total magic and if its 1 it will take away only one magic. The WOP file should have Data2 set to 1 but it is 0 by mistake. I'd recommend everyone to use Data2 as 1 only. Also maybe we can recode Data2 to specify number of spells to suck, e.g Data2=2 will suck two spells?
jdl wrote:
Wed Jun 03, 2020 4:30 pm
New Dialog FNC Suggestions:
1. FNC 6 and 7, which uses the same code as FNC 4 (check Coins) except they check for Stars and Gems instead. (Gives more use for Stars and Gems.)
2. FNC 8, which does the exact same thing FNC 5 does, except that it does NOT take the item from your inventory after checking that you have it. (Good for being able to perform a simple check. For example, this could make it easier to make sure you have a specific item with you that's used for later before advancing the story.
3. FNCs 9 and 10, which do the exact same thing FNCs 6 and 7 does, except that they do NOT take (or give if negative) Stars and Gems after checking that you have the set amount. (Again, good for performing a simple check.)
Good idea!
Also, I don't think I mentioned this before, but FNC 6 is already coded since vanilla and does exact same thing as FNC 5 does except it does NOT take the item.

And last but not the least, if you want source code access to OpenWA and WA# you can register here: viewtopic.php?f=42&t=27848

Thanks again!
Previously known as Aryan101
User avatar
jdl
Rainbow SuperStar
Posts: 2883
Joined: Fri Jun 06, 2008 8:37 pm
Location: West Virginia, USA
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by jdl » Thu Jun 04, 2020 5:41 pm

I have made two videos showing off some of the bugs I mentioned. The second video is linked a little bit further down.
Here's the first one. Warning: Contains silliness. https://youtu.be/5czhn214ThU

Anyway, here's my comments:
Lazy Loof wrote:
Thu Jun 04, 2020 3:23 am
Does this occur in WA1 and MOFI too? I remember having such a bug only in POTZ and Editor and it was due to frames not interpolating properly. I have fixed this since 10.1.0 and POTZ v1.02 also fixes this issue. More info here: viewtopic.php?f=42&t=27847
This happens to me in vanilla WA1, MOFI, POTZ v1.02, and Editor 3.00. It also happens in WA1/2/3/Editor in the latest OpenWA (10.3.0). I doubt that it may be my game lagging since I'm getting 60fps. Here's my second video. It shows it in action, but my computer is not well-suited for capturing video so there is some lag visible here and there in the video: https://youtu.be/PMpDlrEN8mw
I've noticed that the stutter seems to happen every time the cursor "blinks" when walking. See if you can try to spot it.
Lazy Loof wrote:
Thu Jun 04, 2020 3:23 am
A small documentation is available here. Though, it currently doesn't includes the guide to use Cutscene editor and Completet Hub Editor menu. It will be updated soon.
Let me briefly describe what the menu settings do in Complete Hub menu page 2:
Ahh, now it makes sense. Thank you. :D
Lazy Loof wrote:
Thu Jun 04, 2020 3:23 am
Well actually for compatablity reasons OnceDischarge supports BOTH the features. Data2 of OnceDischarge does this. If Data2 is 0 it will take away the total magic and if its 1 it will take away only one magic. The WOP file should have Data2 set to 1 but it is 0 by mistake. I'd recommend everyone to use Data2 as 1 only. Also maybe we can recode Data2 to specify number of spells to suck, e.g Data2=2 will suck two spells?
Oooh I see. The current WOP doesn't have a Data2 adjuster visible in the Editor so I didn't know that it did that.
Lazy Loof wrote:
Thu Jun 04, 2020 3:23 am
Good idea!
Also, I don't think I mentioned this before, but FNC 6 is already coded since vanilla and does exact same thing as FNC 5 does except it does NOT take the item.
Wow, I had no idea that was a thing! :shock:
I've never seen it documented anywhere before so this is news to me!
Lazy Loof wrote:
Thu Jun 04, 2020 3:23 am
And last but not the least, if you want source code access to OpenWA and WA# you can register here: viewtopic.php?f=42&t=27848
I pretty much know nothing about coding, let alone coding for Blitz/C#. :lol:
However if there is an issue tracker set up then I suppose I can move any future walls of text over there instead if you'd like.
User avatar
Lazy Loof
Rainbow Wizard
Posts: 460
Joined: Sun Nov 27, 2016 2:37 pm
Contact:

Re: WA Editor Updates, Ideas & Suggestion Thread

Post by Lazy Loof » Fri Jun 05, 2020 5:24 am

This happens to me in vanilla WA1, MOFI, POTZ v1.02, and Editor 3.00. It also happens in WA1/2/3/Editor in the latest OpenWA (10.3.0). I doubt that it may be my game lagging since I'm getting 60fps. Here's my second video. It shows it in action, but my computer is not well-suited for capturing video so there is some lag visible here and there in the video: https://youtu.be/PMpDlrEN8mw
I've noticed that the stutter seems to happen every time the cursor "blinks" when walking. See if you can try to spot it.
Hmm, interesting! Will look into that when I will get a chance.
I pretty much know nothing about coding, let alone coding for Blitz/C#. :lol:
However if there is an issue tracker set up then I suppose I can move any future walls of text over there instead if you'd like.
Well yeah there's an feature in GitLab to track issues but nobody has used it till now. Don't worry, there's no issue with the text being here in the forums, and that text is quite useful indeed. Thanks for the work! :D

Also, I have now updated this WA Editor New Features documentation: viewtopic.php?f=34&t=27852
Now it mentions most of the new features and changes made into OpenWA, even those that were not mentioned "officially". Visit there from time to time as it will be updated with more stuff.
Please don't post anything there as I may have to create additional posts in future. Instead if anybody wants I can make another topic solely for discussion and comments related to this documentation.
Previously known as Aryan101
Post Reply