Skip to content

Latest commit

 

History

History
79 lines (79 loc) · 19.8 KB

CHANGES.md

File metadata and controls

79 lines (79 loc) · 19.8 KB

Changes (for REFACTOR, the highly-awaited late alpha v1.0!)

This is a list of any changes done to Magical Mary since the last release. They will be included in the list of changes for the release when it happens.

Bug-fixes

  • Fixed a glitch where gliding with Mary's parasol when sticking to walls would prevent checking for walls behind her, allowing her to do things like turn around and jump toward the wall she's on, or worse, sliding up to the invisible ceiling of any area, then gliding to anywhere she wants!
  • Added extra code to Mary's downward Air Dash to cancel it if she's ever detected gliding (with her Pretty Parasol), sliding on a wall, or bouncing off a spring. (The latter should stop the boost mid-way through, which will lessen how much the player could tweak where springs bounce them to.
  • Fixed status bar's height in the depth map not matching its visual appearance.
  • With the change to use long texture names, this broke the floor texture checks for OBJGroupSpawner decorations. It seems GetActorFloorTexture only works with short texture names, so the function that does the checks now uses CheckActorFloorTexture instead.

Major

  • If you slide up a wall and reach the top, you'll move back onto the ground, just like you would if you moved upward using a Ninja Coin in previous versions. It's more consistent and logical now; Going up? You will land on the higher ground. The only oddity is that this also happens if you turn away from the wall; I guess Mary's jumping a bit backwards in that case.
  • Sliding on walls (before wall-jumping) is now automatic, no need to be holding the "forward" key! This weird requirement was added years ago back in the World of Kirbycraft days because Mary would randomly think she hit a wall and would try sliding on thin air, but extra checks added since have rendered this safety feature unnecessary now. This makes doing downward Air Dashes to quickly slide down walls easier.
  • Xane's flight now takes variable power away, factoring in his height off the ground, speed, and number of flaps. Basically, it's easier to fly straight up than trying to fly quickly across a wide-open area. (Doing that will cause you to make an emergency landing, so don't try it!) In addition, Xane's flight was nerfed; He doesn't get much height from flaps anymore, but instead now builds up speed quicker when flying in a straight line.
  • The radio (previously in the third level, City Street Run) has been revamped! Before, it only played music and randomly slapped togther a "talk show". After listening to real radio, I've improved the in-game radio, which now comes up with routines involving music playback, ad breaks, and the talk shows between them! (Talk shows in general are more detailed now, with a specific host and two guests, who can swap positions at random.) Also, new songs were added to the radio: "Arm Cannon Man" and "Taylor, Son"! Since OpenAI Jukebox's audio can't be used commercially, it will have to be separated from the rest, requiring a separate, never-paid download.
  • It might not be that major, but the radio (currently only in a test level) now is more detailed, with cover art for each song that hides during ads and animate upon switching songs. It's more modern and advanced than the old physical "blocks".
  • The r_clearbuffer CVar has been completely changed; 0 still shows the weird "hall of mirrors" effect, but anything higher shows that palette index, minus one.
  • The ability to do "late jumps" has been added! Inspired by how Doom Eternal allows you to jump normally a moment after running off an edge, Magical Mary 1 now does it too, since it's good game design. Edit the "ac_latejumptime" CVar to adjust how long after leaving the ground that you can still jump.
  • Double and triple jumps are back, missing since the World of Kirbycraft days! Like before if you are moving fast enough and are holding the "forward" movement key, you can push "jump" as you land and you'll jump higher! Like before, Mary makes different sounds, so you'll know when it happens. Release that key right before you jump, and it will become the expected normal jump.
  • The way Mary's claw and crying are activated has been altered. Hold USE for at least a half second to fire the claw like before, and hold it for at least two seconds and she'll cry after the delay.
  • Trees are now "built" when approached, using "parts" to form it. This means trees can be different sizes now and don't always have two branches; In fact, sometimes they don't even have one! The trees are kept mostly consistent in structure, too; If you move away from a tree, it'll become an image to improve performance (which reflects the tree's size) , but returning to that same tree will make it rebuild itself almost exactly like it was last time you saw it...minus slight randomness for the leaf cluster positions.
  • Mary's Air Dashes have been nerfed! They don't give Mary as much of a push forward, making it harder to slide up three-story high walls, and may prevent flying over whole level parts with skillful Air Dash chains. (This will become upgradable, though.) Also, her downward Air Dash doesn't boost her on landing anymore, preventing easy cheesing of every ramp with her.
  • Weapons are now determined and identiied using "ID numbers" rather than their slot number. This is because there will be more than five weapons per character, with the player able to choose what three they want in the middle slots. (1 and 5 are locked to a speciic weapon each.)
  • Time-of-Day System has been (re-)added! Levels fade smoothly between times of the day, with unique sky overlays to represent distant locations at different times. At night, everything gets covered in blue light and eerie blue fog, but during the day, it's easy to see everything!
  • Mary's floral claw launcher can be used to hit enemies! If USE is held for a short time, but she isn't pointing at a claw grate, she will still bring out her claw launcher, swinging it across the screen to hit an enemy in front of her. This will always work, even in situations when firing the claw isn't allowed, such as when jumping or moving. (As with any user-started actions, this won't work if Mary's about to cry.)
  • There's a new weapon added for Mary, the MAGIC-FIRE-G pistol that fires bullet-shaped magic projectiles! This will be her starting weapon, so learn it and get used to its weird quirks.
  • Converted most textures to use long texture names instead of the old 8-character system. This broke hi-res textures, so now textures have to be manually scaled down when making levels. Also, animated textures couldn't be converted because only short names support the "range" method in ANIMDEFS.
  • Removed "fighter" enemy. This guy, like other enemies, use copyrighted sprites, but since he used a spritesheet instead of distinct sprite frames, he was removed first. New enemies will replace removed ones, eventually.
  • The weapon icon row in the upper-right corner of the screen isn't a pre-set list of five weapons (MAGIC-FIRE-G, Pretty Parasol, Mary's hammer, Heart Bow, and old wand), but rather five icons chosen based on which weapons you've selected to bring with you to levels (eventually). Due to this, it's no longer handled using SBARINFO and abusing weapon icons; Instead, it's all handled by ACS (in WEAPONS.acs).
  • "Warping to Jane's Hut" is no longer a thing. A new menu is in this version, the ACS script "WarpMenu". In it, you can change your weapon loadout, buy items, and choose weapon upgrades. Some of that may not be implemented, but it's basically the same features as the old hut, but now in a menu, removing the potentially long load times when going to and from it. This may encourage things like swapping out weapon sets mid-level.
  • Added A_SetSpecialValue and A_CopySpecialValue DECORATE/ZScript codepointers, which allow objects to manage their built-in "special" and "special2" variables, which are currently used for trees, controlling how high each one is, and what leaf color variation is used for that specific tree.
  • Mary's Air Dash is slightly influenced by her momentum! If performing an Air Dash from standstill, Mary will only reach full running speed, but even walking will boost her to higher speeds. This makes the Air Dash less of a "boost" button and more of a strategic way to double-jump and instantly change directions while moving.
  • The time of day system (TOD) is back! Only seen in one video, it's improved with real-time fading between lighting and fog colors as the times of the day go by. Unlike the old system, there's separate sets of colors for outdoor, indoor, and even water sectors (and "shaded" variants), which makes it more likely that every level will work with every time of the day!
  • The GZDoom engine version was updated to 4.8-pre (12 days after GZDoom v4.7 was released)! This adds OpenGL ES2 from Delta Touch.
  • Though it isn't in the game, Mary's broom can be ridden! Push MODE (probably T) when holding the MAGIC-FIRE-G and you will start automatically moving. Move off an edge and you can use forward/backward to control your height. Press MODE again to hop off. Switch to third-person (chase) to see her unique broom-riding sprites! The broom can use springs and boost panels, even forcibly rotating it to face the boosting object's direction if it's set, consistent with Mary herself. Landing from a spring will give a boost to give the illusion of momentum, different from the "good/bad" landing boosts.
  • Re-added the mid-air rings, now repurposed for use with Mary's broom. When flying using it, moving through a ring gives a brief boost of speed, but only if you're aligned within 45 degrees.

Minor

  • For you mod programmers, if there's any of you here, GetSpeed has been updated with new parameters to control what axises are factored in. It's not the same as GetActorVel# though, as this returns integers that usually are large at even slower speeds.
  • Addititonally, the RoundTo5 function is no longer in the "common" ACS file in MagicalMary1.ipk3, instead in the common script file "mm1_extra.acs". It's also more freeform now, taking two arguments, one for the multiple to round to and a second one to pass your variable to.
  • Running (moving fast in any way near the ground) no longer slowly regenerates your power. In fact, it does the opposite! Be careful with how much you run, as...moving your legs takes energy! Also, power can only be recovered if you're on the ground. Yeah, this sounds like a big downgrade but it both makes speed more "strategic" and discourages moving through the air to recover. Remember, Power Coins can still forcibly max out and freeze your power meter, and that if there's ever an item added that recovers power, it will work even in the air.
  • Fog is now overall farther away from the player. GZDoom really loves to put the fog right in the player's face, but that doesn't work well with this game's open areas.
  • Whoops! I didn't notice the game was calling itself "Mary's Magical Adventure" on the Windows title bar in v2.1, but it's now corrected.
  • A new CVAR has been added, gl_spritedepth. Normally, GZDoom doesn't add sprites and transparent 3D floors (like water) to the depth buffer, but this causes odd visuals if using any Reshade shaders that use that map, such as depth haze (cough cough). If you use depth-based shaders (like the official "enhanced" preset), set this to TRUE. This also improves sprite ordering when looking down at a column of them.
  • Rewrote player footstep script to make footstep sound timing more dynamic (instead of a limited set of pre-defined speeds). There's even a forced step heard when you start moving instead of Mary silently moving for a split-second. In the future, this will also forcibly control Mary's walking/running animation, for more accuracy.
  • Merged landing and footstep code into a single sc ript. This won't be noticed during gameplay, but this "refactoring" of code simplifies it in a way.
  • Greatly improved "bouncing" off of enemies. It's still hackish, but it's all handled in ACS now instead of relying on giving Mary an inventory item to hurt the enemy. Also, it appears to be more reliable and consistent, now working even if you land right on the top center of the enemy! Also, your bounce height off of enemies has been restored to be somewhat influenced by how quick you fall before hitting the enemy.
  • Night ambience has been added in place of the unused "HCPD police station" ambience. It sounds creepy, with strange sounds and "owls", all over near-constant crickets. The main looping sound is actually entirely generated using AI. Due to that, it's one of the sounds that has been split off into its own PK3, which won't be sold! OpenAI and copyright holders, please don't cause legal action; Just tell me I need to get rid of that PK3 file containing the non-commercial generated audio, and I'll do my part, but my game's audio quality will suffer.
  • Fight Trap has finally been pre-rendered, so it's as loud as some of the other music in the game now. (Also, new AI-generated drum beats were added during the intro and siren "solo", as this is no longer meant for fighting the police (and hasn't been for a few versions now).
  • There's three new functions in mm1_extra.acs, the common "min", "max", and "clamp". They don't appear to function as intended, though.
  • Air Dashes, like bouncing off enemies, has been made more reliable! Yes, at least one old, hackish ACS script has been replaced completely!
  • Springs and Boost Panels have had their script slightly re-written, allowing more fine-tuned, independent horizontal and vertical power parameters. Yep, there's no more stupid "spring types" anymore! Want a Boost Panel? Set vertical power to 0.
  • A nice improvement to the scripts; Now the "disabling variables" are checked for, handled, and decremented in their own script, "HandleDisableVariables". This puts all of the code relating to them in one place, and also fixes the long-broken behavior with freezing the player in mid-air. (The PlayerMovement script was previously responsible for that, and it wasn't programmed well, seeing how it stopped being capable of giving the player back their velocity...)
  • The upward-backward boost gotten by sliding up a wall to its top during a wall slide is now a lot smaller, allowing Mary to actually land on smaller objects that are crate-sized (64 units on each side).
  • When initially running on water, Mary now dips into the water a bit. It's the small details that matter, y'know?
  • Upon landing, your gravity and air control are reset to the current settings in the StandardGravity array.
  • Object group spawners (decorative grass, rocks, etc.) have been downsized a bit to hopefully improve framerates. Less objects are created when effects are enabled (default), and only 1.5x the objects are created in high-end mode (le_effects = -1) instead of 2x. You can still cut the object count in half by setting it to low-end (le_effects = 1), but you can't remove them by setting it to 2. Instead, a lot less of them spawn so grass fields don't look ugly and flat (mostly). Also, objects can spawn at random heights above the object by giving it an angle. 90 degrees is one story above, 180 is two, and 270's three. Don't try 360 and above, as they will just force the objects to spawn on the ground.
  • Tall grass appears to animate now, slightly growing and shrinking slightly over time.
  • OBJGroupSpawner objects become visible at a longer distance than before, 1.5x the spawning radius of a given marker.
  • Water splashes have been improved visually! Before this update, they used copyrighted Sonic 1 sprites, but now they are particle-based and look detailed. Look behind Mary when running on water and you'll see the white-colored trails boats tend to leave behind.
  • Hopping into water now briefly creates bubbles, which try to dip into the player's view briefly.
  • Bubbles! Go beneath the surface of the water and a bunch of bubbles will float away from you.
  • New texture versions for grass!
  • Completely new textures: Leaf piles (slow down player), Cumulus Peaks textures, and new grass textures, including replacements of the standard two!
  • Improved weapon upgrade check ACS script, which now uses a for loop instead of checking each individual "debug_uweap#" CVar in copy-pasted code lines.
  • Skies are higher resolution! Look at the skies in older versions and you'll notice they're very pixelated, compared to the smoother stormy sky and the distant mountains. Speaking of those, they're no longer...risky. I won't say where I got it from but those mountains weren't safe to use compared to the new mountains generated on Artbreeder.
  • Speaking of skies, new times of day are possible, and with them come new sky variants. Yeah, it's the same sloppy World of Kirbycraft art, but now with new colors, a brand new night sky, and...altered sunset colors.
  • Player characters slow down if they walk up standard (not small) stairs. To avoid this, just jump, fly, or air dash over them. You can still run down them dangerously fast, however.
  • When running on water, you will slow down over time. If you don't Air Dash in time, you will plunge into the water beneath you! If you see a Boost Panel near the water, use it instead, as its higher speed will ensure you will make it farther across the water.
  • GZDoom's "stat" display has been improved, with a faded background behind text, and different text colors for each selected stat.
  • Trees now have three different leaf cluster colors per seasonal "theme", which are chosen at random upon tree creation. These are always remembered, even when walking away from any given tree.
  • To go with the previous change, distant tree images now use more higher resolution renders, making them look closer to the real ones built when close. This currently works for the standard and autumn themes, and will be also added for the snowy theme.
  • Though it's an internal change, the way "first-person animations" like crying, Mary's claw, and drinking juice are handled has been changed. Before, every single weapon contained code for these animations, which made it more of a pain to keep them consistent when updating them. Now, these animations are their own "weapons" internally, which are forcibly switched to by taking away all weapons, giving the aniamtion, then reversing that process when it's finished. This new system minimizes (but doesn't remove) copy-pasting, and also naturally prevents multiple animations playing at the same time.
  • Mary stays invulnerable for longer after taking damage.
  • Burning leaf clusters falling off of trees that are on fire constantly damage anything around them as they fall, with a final larger damage upon touching the ground.
  • Leaf clusters now drop leaves automatically using ZScript. They also drop correctly-colored leaves in the standard and autumn foliage color schemes, consistent whether they fall automatically or by being destroyed by attacks.
  • Slightly increased Mary's max speed, but slowed down her acceleration to counter it. Air Dashes, as usual, bring her up to almost maximum speed, however.
  • Mary loses power slightly when running at high speeds (~275 speed). If she runs out of power, her running speed is limited.
  • Flowers use 3D models now, instead of 2D images. They have more variety with poses, and their limited color sets make different flower types feel distinct. (Currently, there are only six-petal and bulb flowers, which both use the same four colors.)
  • Mary's hammer plays its "hit" and "swing" sounds using new invisible objects; This isn't done the way the old sword handled it, where A_Saw(2) was used instead. This may become the standard for weapon sounds.
  • Forest trees use MD3 models now, increasing how detyailed they look, especially their branches! Trimmed trees still use voxel models.
  • The flashing key indicator light textures should be colorblind-friendly, like the keys themselves have been for many versions. They now use the same shapes as the keys instead of all being square-shaped.
  • Moving (or standing, unfortunately) near any leaf cluster will cause it to drop a couple leaves, which looks good when flying through or jumping into a tree's canopy.