· 6 years ago · Mar 29, 2020, 08:42 PM
1Nuclear Throne Together' changelog (public releases marked with *):
2
3Known issues:
4https://docs.google.com/document/d/13HBuSMaE8qiwmIGokfxBRny1RVsDPRc1noWEayZN41w/edit?usp=sharing
5
6v9940:
7~ Changed HQ1/HQ2 seeds to hand-picked ones.
8 You can also adjust these via GameCont.hqseed[0], GameCont.hqseed[1] now.
9~ Chest/cluster/flower/etc. seeding is now more consistent.
10* Fixed energy melee being all weird since the last build.
11* skill_get can now return fractions for custom skills
12* Fixed negative Back Muscle being a bit too costly
13* Fixed Big Dog spawning the portal too early after recent corpse optimizations
14* Fixed Horror pellets stacking unusually sometimes
15* Changing game resolution in character select now readjusts CharSelect positions
16* Fixed Laser Brain effect showing even if you didn't have LB (since ~9937).
17* Fixed PopoExplosion not obeying it's damage variable
18
19v9939:
20+ skill_set now takes fractional values, incl. negative.
21+ skill_take now receives a value argument in these cases.
22~ .mod.gml draw event now occurs before HUD is drawn.
23* Fixed KeyboardDirect giving out ghost events sometimes.
24* Fixed T2 background disappearing / being possible to blow up.
25* Fixed Walltops persisting when they shouldn't sometimes (and further optimized).
26
27v9938:
28~ mouse_delta_x\y now has a wider (+-327) range.
29~ mouse_x\y now has a wider (+-67108864) range.
30~ Custom object on_cleanup is now called when instance is destroyed with no destroy event call.
31~ Moving corpses are now CorpseActive; stationary corpses do no collision checks.
32* Fixed BackCont not having followspd exposed.
33* Fixed race_ttip, hopefully for real this time?
34* Fixed loop-duplicated enemies sharing custom variables.
35: for 99r2:
36* TopSmalls no longer actively check for collisions (hopefully to no side effects)
37* Fixed snow tank corpses consistently briefly moving to the right.
38
39v9937:
40+ Added a configuration file section to FAQ.
41+ Added variable_instance_get_names
42+ Various custom objects now have a separate on_cleanup ref-variable.
43+ Character mods can now define a race_sprite akin to skin_sprite in sprite mods.
44+ BackCont now has a followspd variable if you want useable camera on low ts.
45+ Added Player.footkind.
46+ Added http_request.
47~ weapon_type is no longer clamped to 0..5, but be careful not to crash the game!
48* Fixed CharSelect resetting it's ystart every frame.
49* Fixed T1 beam lagging when at very low timescales.
50* Golden weapons should finally be sort of usable on custom races.
51* Fixed it being able to use a custom skin for a custom race with a wrong custom race.
52: for 99r2:
53* Fixed KeyboardDirect not working.
54* Fixed Stats screen showing your worst-but-finished time as best time.
55* Fixed some IDPD projectiles using red hit-effect.
56* Fixed explofreaks being able to blow up on level start if they rub against a spawn wall.
57* Fixed hostile horror beams being able to leave the player with fractioal health.
58* Fixed low ammo text clipping through daily/weekly icon.
59* Frog should now automatically get unstuck from inner wall corners.
60* Fixed a softlock on T1 if your character slid off the throne while sitting down.
61* Probably fixed the black screen after HQ3.
62
63v9936:
64+ Added vertex buffer functions (vertex_, much like built-in GML)
65+ Added mouselock functions (mouse_lock, mouse_unlock, mouse_delta_x[], mouse_delta_y[])
66* Added some d3d functions (the ones that would survive migration to GMS2 if that ever happens)
67~ Mod cleanup() is now ran when exiting to main menu.
68~ mod_script_call now uses a soft-failure for `other` like it did before.
69* Fixed CustomObject.on_end_step not working
70* Fixed a typo in sprite_add error message
71* Fixed instance_copy-ed instances sharing custom variables
72: for 99r2:
73~ [seeded] is now shown when using seed.txt
74* Fixed unlock screen not being visible after HQ3 victory
75* Further reduced the odds of the game softlocking if there's just no way to fit a van
76
77v9935:
78~ It is now slightly clear that you can toggle the mod list and also state is stored in INI.
79* Fixed the game crashing when loading select mods (protip: don't use ternary operators in GMS1)
80* Fixed UberCont variables not being accessible.
81* Fixed string_split_list sometimes working oddly.
82
83v9934:
84~ Reverted to GMS 1.4.1773 because 1.4.1804 degrades audio quality and crashes randomly (nice.)
85* Fixed a few more function mishaps after ds migration,
86 ds_list_find_index, ds_list_join, string_split_list, weapon_get_list.
87* Fixed chat not deselecting text when pressing Home/End
88* Fixed custom skins for custom characters remaining selected when switching character.
89* Fixed gol/wgol/rgol/agol variables not being exposed on GenCont.
90: 99r2:
91* Frog boss heal effects are now shown above the boss to be sure.
92
93v9933:
94* Shader functions now behave predictably if the DLL is amiss,
95 as I know that some will forget to unzip it later.
96* Fixed shader #0 being destroyed when any mod with a shader is unloaded.
97* Fixed constant functions not working correctly.
98* The game now resets the shader in post-draw so that you cannot blind yourself.
99
100v9932:
101+ Added surface_get_texture.
102* Further reduced chances of characters being inside walls on NTT menu.
103* Fixed shader compilation errors not being shown in chat.
104: 99r2:
105* Fixed secondary weapon shells not getting bigger with shotgun shoulders on Steroids.
106
107v9931:
108+ Added shader functions! Might be buggy. And strange.
109* Fixed some parent object variables overriding child object variables
110 (like CustomEnemy.maxhealth - since 9928)
111
112v9930:
113+ Added mod_call_self.
114~ Instance-specific functions now only require `self`-instance to be present and not `other`.
115* Fixed an issue with instance-specific function calls (since 9929).
116* Fixed ds_grid_resize being mis-named ds_grid_height (since 9928).
117* Fixed "/" not typing when opening the chat via it (since 9928).
118* Fixed custom races showing an error-sprite in loadout if race_bwep wasn't defined.
119
120v9929:
121+ Added chat_comp_remove_arg, chat_comp_clear_arg.
122+ Added get_timer_nonsync.
123+ Added race_bwep that race mods can define to set secondary weapon.
124+ Added font_add_sprite, font_add_sprite_ext, font_delete
125+ Added current_delay (if you need to know how long to wait for something to happen).
126+ Added a bunch of "raw" audio_ functions.
127~ "built-in" function calls are a bit faster now.
128~ After a long time walls are now back to precise collision checks as rectangular ones
129 are just way too buggy on edge cases and keep causing oddities.
130* Fixed shields appearing quicker at ts<1.
131* Fixed Loadout crashing the game if removing the Menu object.
132* Fixed info overlay (Tab) crashing since 9928.
133: 99r2:
134* Fixed hostile horror being able to spawn-despawn at HQ3.
135
136v9928:
137+ Chat revamp! Now with text selection, auto-completion, and command completion API
138 (chat_comp_add, chat_comp_add_arg, chat_comp_remove)
139+ Added mod_script_call_nc.
140+ Added script_execute, script_get_name, script_get_index.
141+ Added more array functions.
142+ Added crown_get_name, crown_get_text, crown_current, skill_get_text.
143+ Data structures are now references.
144+ Added player_is_local_nonsync and a bunch of other _nonsync functions to the player section.
145 This allows for non-synchronized execution, which means no latency, but also that you can
146 desync the game really easily, so should be used sparingly and only in "visual" parts.
147+ Added /sfxvol, /musvol.
148~ Pause queueing now goes on for a few frames longer to reduce oddities.
149~ Moving to a current version of GMS1 with hopes and workarounds.
150~ Variable-argument-count functions now take up to 80 arguments (up from 16).
151~ with-loops are a bit faster now.
152* Fixed mod_variable_set requiring value to be a number.
153* Fixed sound_play_hit not being an instance-specific function.
154* Fixed weapon names getting misaligned when using @tags.
155* Fixed post-revive invincibility timer sometimes being off at ts!=1.
156* Fixed "last health" bar in HUD contracting faster at ts<1.
157* Healthbar text is now drawn with draw_text_nt (can be localized... if you want to).
158* Messenger object is now dynamic.
159* Fixed weapon_reloaded not triggering for lightweight object weapons.
160* Fixed nothing-weapon and the eggplant making melee reloaded noises.
161* Fixed Frog stopping while spec button is held even if canspec == false.
162* Fixed Horror beam sound getting stuck if using for 1 frame at ts<1.
163* Can now force pause if it was 5s/150f after your last pause attempt (in case generation's stuck)
164* Fixed spawning of wind and such not obeying ts.
165* Fixed NTT-Assemble not being able to pack in data.win after extracting.
166: 99r2:
167* Fixed explosions mostly only pushing entities east as knockback.
168* Fixed more mutation seeding oddities (Patience, Destiny, etc.)
169* Fixed being possible to get two ultras via Melting->Skeleton->Melting.
170* Fixed duplicating cursed spiders counting as kills even if the “parent” spider didn’t.
171* Fixed Crown of Death not affecting health of fainted players.
172* Fixed giant weapon chest weapons sometimes mis-seeding on daily/weekly.
173* Fixed oddities with Crystal teleportation on 0-1.
174* Fixed it being possible to kick Lil Hunter out of level with high-knockback weapons.
175* Fixed "dog guardian" shadows being at the wrong offset
176* Fixed "dog guardians" sometimes having negative altitudes during jumps (visually off)
177* Fixed Throne not waking up if shooting it too early, and, very rarely, after multiple shots.
178* Further reduced chances of props being too close to the spawn point sometimes.
179* Fixed IDPD being able to spawn before generation finishes on 0-1.
180
181v9927:
182+ Added "area_text" callback (for custom loading screen tip) for custom areas.
183+ LevCont is now GameObject so can be created if needed.
184+ Added pickup_drop, pickup_chance_multiplier.
185+ Added projectile_init, which auto-fixes first frame position at variable timescale.
186+ Added Player.specfiring - is 0 when firing normally, to 1 on RMB as Steroids/YV/Skeleton.
187 (this is specifically for checking in weapon_fire script of weapon mods)
188+ Added Player.reloadspeed - works as a multiplier for reload speed (1 by default).
189+ Added Player.canfire - if set to 0, player cannot fire via primary button.
190+ Chat indicators "..." are now shown on pause screens and character select.
191~ CharSelect and EGSkillIcon now auto-convert race/race_id like Player does
192 (means that their .race is string now though!)
193~ Skeleton is now allowed Ultra A in NTT if all players are Skeleton.
194* Fixed Fish making dust/water particles every frame while rolling regardless of timescale.
195* Fixed Ion Cannon firing without delay.
196* Fixed Lil' Hunter dashing faster than intended at ts<1.
197* Fixed Golden Disc Gun / Golden Nuke Launcher not dropping unless you have Crown of Guns.
198* Fixed Confiscate effect appearing even if a non-chest pickup spawns.
199* Fixed proto statues sometimes cycling animation at ts<1.
200* Fixed race_swep not showing up with loadout closed.
201* Fixed KeyboardsExtras=0 having no effect on Space as "swap" alias in particular.
202* Fixed plasma projectiles exploding earlier when hitting walls at ts<1.
203* Fixed revive marker animating faster at ts<1.
204* Fixed there being more particles from IDPD grenades at ts<1.
205* Fixed Portal Strike animating faster at ts<1.
206* Fixed Hammerhead delay being lower at ts<1.
207* Fixed Hammerhead indicator showing next to holes.
208* Fixed a YV-specific explosion appearing on 0-1.
209* Fixed a small explosion sometimes being visible at original spawn point.
210* Fixed 2-?/5-? weapon drops vaguely mimicking 2-1/5-1 drops.
211* Fixed legacy safespawn walls popping up in the Crib.
212* Fixed characters overlapping on loading screen instead of making a chain (since ~9923).
213* Fixed the game crashing when TV is hit by debris.
214* Fixed Chicken not loosing max health in coop after reviving other players at ts<1.
215* Fixed ExploGuardian flickering between sprites if pushed during charge at ts<1.
216* Fixed the game skipping an entire loop if entering a van the moment Big Bandit spawns.
217* Fixed Horror beam not making any noise at ts<1.
218* Fixed snowbots charging faster at ts<1 (and some other things being slightly off).
219* Fixed some big projectiles getting stuck in walls at ts<1.
220* Fixed Stress working slower (80%) for Steroids secondary weapon (forgotten change from u94).
221
222v9926:
223* Fixed Big Dog missiles and nukes turning faster at ts<0.5.
224* Fixed laser crystal particles lasting for longer than they should at ts<1.
225* Fixed laser cannon starting to fire lasers immediately.
226* Fixed it not being possible to revive a player if they died within 1s of portal opening.
227* Fixed Refresh button in lobby list not resetting time for next refresh
228* Fixed seekers still homing more than they should at lower timescales.
229* Fixed salamanders firing faster at lower timescales.
230* Fixed salamander fire sometimes getting stuck in salamanders themselves at ts<=0.5.
231* Melting can now become Skeleton in coop when being the last player alive and dying.
232* Fixed Lil Hunter dashing faster than usual at lower timescales.
233* Fixed pause menu / gameover screen animation speeds.
234
235v9925:
236+ Chat indicator is now shown above players on transition/level up screens.
237+ Added "[Visual] VSync" option to INI, which can be set to 1 if you get intense screen tearing.
238 (note: this makes freeze frames a bit oddish, so pick your favorite I guess)
239+ Added "[Visual] HideMaxText" option to INI, which can be set to 1 to suppress "MAX %" popups.
240* Fixed custom race buttons having lower spacing on lower timescales.
241* Fixed revival timer ticking faster at lower timescales.
242* Fixed laser cannon growing forever at lower timescales.
243* Fixed map animating faster at gameover screen at lower timescales.
244* Fixed Gamma Guts still being a bit oddish at lower timescales.
245* Fixed some explosions pushing each other slightly further away at ts<=0.5.
246* Timescale is now reset upon leaving to main menu.
247* Fixed entities and pickups pushing each other around slightly faster at low ts.
248: 99r2:
249* If guardian orbs are destroyed by a portal opening, they'll drop pickups again.
250* Fixed Controls menu having an empty button at the bottom with gamepad on.
251
252v9924:
253* (a pile of fixes for variable framerate things that might be too big to list here)
254* Fixed newly added KeyboardDirect/KeyboardClear being on by default.
255
256v9923:
257+ Added current_time_scale. For example, `/gml room_speed=60;current_time_scale=0.5`
258 Obviously, this changes a couple of things:
259 - At 60fps, "wait 1" secretly ticks 2 "real" frames. Use "wait 0" to trigger on next frame.
260 - current_frame counts game frames.
261 - All built-in motion variables work with normal (30fps) values.
262 - There are now variables like speed_raw, hspeed_raw, friction_raw for non-time-scaled values.
263 - motion_add and motion_set now work with time scale and take friction into account.
264 - There are now functions motion_add_raw and motion_set_raw.
265 Overall, this will require changes to some mods, but otherwise an interesting perspective.
266+ Added "[Controls] KeyboardDirect" to INI, which you can set to 1 to use WinAPI for polling kb.
267+ Added "[Controls] KeyboardClear" to INI, which you can set to 1 for game to clear keys on
268 window focus loss (can fix keys getting stuck after alt-tabbing).
269: 99r2:
270* Fixed Chicken B-skin missing a death sprite.
271* Fixed Crown of Destiny mutation being the first one from previous pool.
272* Fixed super frogs counting as kills when their regular versions wouldn't.
273
274v9922:
275+ Added weapon_set_rads.
276+ Can now access UberCont.hardmode.
277* Fixed modding characters crashing the game on start if the save file is partially broken.
278* Fixed a crash with unclosed single-quote strings (most notably if doing /gml ')
279* Fixed sound_assign not working sometimes.
280* Fixed live-reloaded files continuing to be checked for changes after exiting to menu.
281* Fixed draw_surface* functions not taking draw_set_visible into account.
282* Fixed non-mansion golden weapons not behaving like golden weapons in some cases.
283* Fixed weapon_auto<0 not working.
284* Lobby title length is now clamped to 40 characters.
285* Fixed CustomProp crashing the game if spawned on top of a corpse (missing "size" variable).
286* Fixed oddities with compilation of mods that contain many (80+ or so) scripts.
287* Fixed multi-line strings throwing the line counter off.
288: 99r2:
289* Added PauseMenu:DwQuit for daily/weekly quit-button to be localizeable.
290* Added VideoOptions:FullscreenNote for "if fullscreen breaks" note to be localizeable.
291* Added Scores:DaysLeft for "days left" text to be localizeable.
292* Fixed LMB/RMB in controls menu not obeying localization.
293* Added KeyName:ArrowKeys for "ARROW KEYS" in controls menu to be localizeable.
294* Fixed ultra revolver only getting 1 bullet ammo from Recycle gland.
295* Fixed hardmode best run showing "L#" in Stats.
296* Fixed deactivated generators facing the wrong directions when killing T1.
297* Fixed golden frog pistol getting unselected upon loading the game.
298* Added another safeguard for ravens to not get stuck in landing phase.
299* Fixed controls menu not confirming key binds until mouse is over the button.
300* Fixed the animation on END1 being a pixel short (clipping the bottom of tablet device).
301* Assassins no longer wake up one by one if there are no other enemies left.
302* Fixed portals removing thrown weapons sometimes.
303* Fixed random weapons/drops at 2-? with crown of guns / rabbit paw.
304* If boss victory music gets stuck, it is now stopped when the level ends.
305* Fixed additional weapon drops from enemies being duplicates on daily/weekly/seeded.
306* Fixed character sometimes sliding instead of walking towards throne seat.
307* Fixed 2-? prop being invisible if spawned on a glowing tile.
308* Fixed sticky and IDPD grenades making loud noises if spawned inside a wall.
309
310v9921*:
311+ Rewrote NTT-Assemble - it's now a simpler .NET app, doesn't replace your original executable,
312 and has a slightly more convenient interactive interface for doing most actions.
313 Will also make a web-based version of it later on.
314+ You can now access UberCont.opt_bossintros, opt_shake, opt_freeze.
315* Fixed Lil' Hunter giving up on shooting if transitioning the game to very late loops.
316* Fixed SinglePlayerCursorColor not applying to native cursor sometimes.
317: 99r1:
318* Fixed non-first player entering the portal still being possible to hit by enemies.
319* Fixed some achievements not unlocking or unlocking when they shouldn't on game load.
320* Fixed assault slugger producing both bullet and shotgun shells.
321* Fixed rad canisters still occasionally missing.
322: 99r2:
323+ Added Controls->Gamepad1, Controls->Gamepad2 in INI for setting default gamepad indexes.
324 (helps if your controller is not detected by default but you know what slot it's in)
325* Fixed ultra shells not using the "greener" sprite after hitting enemies.
326
327v9920:
328+ Added sound_set_track_position.
329+ Added a weapon_reloaded callback for weapons.
330+ Added the "pi" constant, how was it forgotten.
331+ Added Visual>SinglePlayerCursorColor to game's INI - overrides cursor color in SP/menu.
332: 99b25:
333* Fixed original weapon gaining cooldown of what last was in your secondary slot when
334 picking up a new weapon while having only one (mostly affected only Chicken and Robot).
335* Fixed camera not being bound to head for Chicken if transitioning levels headless.
336
337v9919:
338+ Added sprite_collision_mask, sprite_duplicate, sprite_duplicate_ext.
339+ Added Player.canaim - if set to false, gunangle is not updated automatically.
340+ Added some INI-based options for additional controls customization.
341* Fixed an occasional non-fatal error with surface_screenshot when using it in odd spots.
342* Players are now drawn with respect to native scale when outlines are on.
343: 99b24:
344* Fixed patience & mutation seeding mishaps from last build.
345~ Changed mutation/weapon deciding algorithms to work a bit closer to how they did in u98
346 That is, for example, if you had Scarier Face in Lv2 and Lv3 pools in a weekly,
347 picking it in Lv2 pool would only replace SF in Lv3 pool, not affecting other items.
348* Grenades no long persist on level change (why did they? hopefully no side effects).
349* Added a potential fix for music playing for a split second even if muted.
350* Fixed T1 beam having extra backwards bloom for a little while now.
351* Fixed "\#" not working in translatable text (and draw_text_nt in NTT).
352* Controls menu now knows more button names.
353* Controls menu now waits until newly bound button is released to avoid triggering it's effect.
354* Weapons returned by Determination no longer have cooldown of last seen weapon in that slot.
355
356v9918:
357+ Added view_shake_max_at.
358+ SHA-1 "tails" are now shown when loading mods (for easier verification on streams/etc).
359+ Added string_sha1, string_sha1_utf8, string_md5, string_md5_utf8, file_sha1, file_md5.
360+ Added a CustomSlash object - intended for custom melee projectiles.
361~ Big Dog now uses the sleeping sprite for sitting on the throne.
362~ EmoteIndicators are now not shown until the next frame, which allows mods to hide them.
363* It is now allowed to do <number>.field (mostly for quickly testing things with Player\0).
364* It is now allowed to have "," before closing "}" in lightweight object declarations.
365* Fixed player_fire picking direction 0 if not provided (now picks gunangle).
366: 99b23:
367~ Changed how multiple things in level generation work to improve seeding consistency.
368 Areas will not match with those from previous betas (mutations will though), but this gets rid
369 of issues where picking a different character/weapon/levelling up early could affect level gen.
370* Fixed palace music restarting on 7-3
371* Fixed keyboard B not working for airhorn when using a gamepad
372 (which kind of make sense, to be honest).
373* Fixed Skeleton having 0 max health if you had Rhino Skin while turning.
374* Fixed buttons being visible for a frame or two while loading after a quick restart.
375* Fixed "low X" being shown more often than it should on Steroids sometimes.
376* Borderless mode DLL is now only set up when it's actually needed.
377* Fixed character-specific tips not displaying for the last few builds.
378
379v9917:
380+ Added a mod_loadtext function.
381+ Added a file_find_all function.
382~ Renamed mod_load_live to mod_loadlive for consistency with chat commands.
383* Fixed Super Flak Cannon's child projectiles not having creator set accordingly.
384* Fixed it not being possible to select B-skins on custom characters (since 99b?)
385* Fixed the game crashing or skipping mod events depending on where you unload them from.
386: 99b22:
387~ Updated the DLL for borderless fullscreen (is now smaller).
388~ Palace music now continues playing on 7-3 again, as original (bugged) behaviour
389 was considered to be more appropriately dramatic among the players.
390~ Trying to pause mid-generation now pauses as soon as loading finishes.
391* Fixed automatic weapons/abilities being used when unpausing via Continue/ability button.
392
393v9916:
394+ Mods can now load other mods (but only with permission).
395 See mod_sideload, mod_load, mod_unload in documentation.
396+ Added draw_tooltip (same as used by the game).
397+ Added player_get_outlines (returns /outlines status per player).
398* Fixed step script not being called for skill-mods correctly.
399* Player outlines now work via surfaces and automatically work with mod-drawn graphics.
400: 99b21:
401+ There's now a "borderless fullscreen" option under "fullscreen" or via Alt+Shift+Enter.
402 Should help people with fullscreen issues on Win10.
403~ Health chests now have a separate sprite when dropping from enemies with Confiscate in 2-?.
404 (thanks to blaac for sprites)
405* Enter key no longer triggers menus/etc when pressing Alt+Enter/Alt+Shift+Enter.
406* Tooltips (character names, etc.) now are right size if @tags are used in them.
407* Fixed it not being possible to pick up weapons under a van even when you can't enter it.
408
409v9915:
410: 99b20:
411~ Newer GMS version turned out to be even more cursed so we're now back onto the stable one
412 (after doing some manipulations with project files).
413
414v9914:
415~ instance_delete now destroys the instances instantly (reducing side effects).
416* T2 now behaves slightly less unusually if spawned outside of 0-1.
417: 99b19:
418~ Had to change how some instance replacements are made to workaround a bug
419 (http://bugs.yoyogames.com/view.php?id=25901) and update to current beta of GMS
420 (because the project now mysteriously softlocks GMS version that was used for prior builds)
421~ Game now auto-pauses if connection is lost to the in-use gamepad.
422* Fixed Patience returning to pool after taking it (since 99b18).
423* Fixed bolt ammo icon being off by 1 pixel to the right in last few builds.
424* Fixed portal not opening until van is gone if Big Dog and van are the last enemies on the level.
425* Fixed weapon/pickup text occasionally getting clipped.
426
427v9913:
428+ A document on scripting API is now included in the download.
429+ Added weapon_get_rads, weapon_get_gold, weapon_get_sprt_hud.
430+ Added WepPickup.roll - is set to 1 if the drop bears a randomized weapon.
431 (as opposed to being dropped by player)
432+ Added mod_current - a constant containing the current mod's name.
433+ If only race_ultra_take is defined, it'll receive a "ultra' value" argument.
434+ Added "draw_begin" and "draw_end" for race/skin mod for better control.
435+ 2d array syntax (arr[i, k]) is now supported - nests arrays.
436+ string/trace now print numbers with appropriate precision (instead of default two-digit).
437+ Added skill_get_at, skill_clear.
438+ Added try-catch statement (see doc)
439~ Text is now always aligned top-left before "draw"/"draw_gui" mod callbacks.
440~ race_ultra_take now gets a second "value" argument like race_tb_take
441 if race_ultra_lose is not defined in mod (for better consistency).
442~ Unconfigured WepPickup objects now also have the screwdriver name, not just look like one.
443* Fixed @(color:val) not working in draw_text_nt.
444* Fixed a crash when trying to read my_health in .race.gml' create script.
445* game_start is now only called once per custom race/skin if multiple players use the same.
446: 99b17:
447* Fixed Patience icon showing on next mutation instead of the delayed one.
448* Fixed "cursed" text shaking odder than it should.
449* Fixed Ball Mom frogs sometimes counting as kills after recent tweaks.
450* Fixed Flame Cannon multi-hitting things not like it should (for real this time).
451* Fixed necromancers trying to revive things that they can't revive (such as boss' corpses).
452* Fixed necromancers not doing anything if the nearest corpse has no line of sight to it.
453* Fixed 7-3 specific track only playing if you came there from a vault (was always broken?).
454* Fixed reflected plasma shots not showing the right "killed by" sometimes.
455* Fixed Frog getting Fish's passive sometimes.
456* Fixed portals in HQ being purple after 99b16 (things are never as simple as they look).
457* Fixed SkillText prematurely disappearing from UI sometimes.
458* Proto statues no longer keep rads from previous encounter if forgotten (approved change).
459* Fixed Gun Gun projectiles looking like Gun Gun instead of the actual randomized weapons.
460* Fixed a broken torch with T1 collision box behind T1 if dealing >1K damage to it during intro.
461* Fixed it not being possible to sit on T1 (fixing sitting in HQ3 broke this instead).
462* Fixed Skeleton getting several ultra mutation selections sometimes.
463: 99b18:
464~ SkillText now disappears the moment the level's done loading to simulate original behaviour.
465* Fixed a crash on player death if stream key is enabled.
466* Fixed Blood Hammer self-damage sounds being too quiet sometimes.
467* Fixed weekly seed changing if cluster grenade was present during quick restart.
468* Fixed rogue strike visually following cursor for 1 frame after releasing the button.
469* Fixed time/killed by splats being a few pixels off vertically.
470* Fixed grenades getting blown up in portal proximity few frames after opening.
471* Fixed a number of oddities with Skeleton<->Melting changes.
472* Fixed a few oddities with Patience jumping to other mutation if original is removed.
473* Fixed it being possible to blow up T2 corpse together with background portal.
474
475v9912:
476+ Added several more draw_*_visible functions.
477+ Exposed several additional variables on GameCont.
478* Fixed Player missing some variables (since 9910).
479: 99b16:
480* Reverted hitbox changes for some projectiles as they turned out to cause issues.
481* Fixed it being problematic to sit down on 7-3/HQ3 sometimes.
482* Fixed portals in HQ not opening chests.
483* Fixed the game occasionally crashing on loading screen due to shaky test in cursed tips.
484* Fixed IDPD freaks being able to freely leave 0-1.
485* Further tweaked rules for darkening 0-1 floor undertiles for clarity.
486* Fixed it being possible to take Crown of Destiny several times for several free mutations.
487
488v9911:
489+ Added sprite_replace_base64, sprite_replace_image_base64.
490~ sound_ functions now only apply pitch/volume to the sound instance in question.
491 That is, a playing sound with pitch does not affect any future cases of playing the sound.
492 The game itself also no longer randomly adjusts global pitch/volume of sounds.
493* Fixed new variables not being exposed in 9910.
494* Fixed a duplicate Find Match button (since translation release?).
495* Fixed chat_message not getting the right arguments (since 9910).
496: 99b15:
497* Fixed "low ammo" sound playing multiple times if the primary weapon costs less than secondary.
498 (e.g. having a laser rifle + heavy assault rifle would play the sound 6 times in 99b14)
499* Fixed Rogue sometimes getting a rad canister on 7-3 with Open Mind.
500* Fixed Crown of Love not applying to chests on 7-3.
501* Fixed Autoaim slider getting stuck in "dragging" state if clicking and dragging away.
502* Fixed it being possible to farm kills by going between level and HQ.
503* Fixed it being possible to start with non-unlocked B-skin after weekly.
504* Fixed certain weapon sounds becoming off depending on certain enemies.
505
506v9910:
507+ Added NTT-Toggle-Steam so that you can easily disable Steam API for DRM-free versions.
508 (since some people had trouble running the mod on PCs without Steam installed as such)
509+ Added Floor.traction (controls how much friction the tile imposes on player).
510+ Added Player.canfeet (whether Extra Feet' friction negation should work).
511+ Completely rewrote draw_text_nt for performance and image insertion support.
512 New formats:
513 "hello @(sprGameOverThrone) !" : Show a sprite amid the text.
514 "@(sprite:0)" : Show frame 0 of a sprite.
515 "@(sprite:-0.4)" : Show a sprite animating at 40% speed (standard for game).
516 "@1(sprite)" : Show a sprite with 1-char padding around it (can use suffixes 1-9).
517 "@(color:255)" : Change color to a decimal value (for insertion via code).
518+ weapon_auto can now return -1 to be non-automatic even for steroids.
519+ You can now press / to both open chat and start typing a command.
520+ Added trace_color(message, color).
521+ If chat_message callback returns 1, the message will not be shown in chat.
522~ Renamed Player.canlaser to Player.canscope.
523~ Changing Player.race/race_id/bskin now re-executes most of create event to change stats/etc.
524~ Weapon names no longer automatically wrap (when too long), but now support text @tags.
525* Added a few missing Cyrillic characters to the chat font.
526* Fixed tj_decode decoding boolean values as error values (but without raising an error).
527* Fixed Player.bskin not allowing string values for mod-made skins.
528* Sprites inside draw_text_nt are now properly center-aligned instead of being drawn at origin.
529* Draw text_nt now supports special sprites "butSmall" and "butBig" (see tutorial text).
530: 99b12:
531* Fixed some tiles being slippery when fighting guardians in 5-2 vault.
532* Fixed Ally' bullets making a red particle effect on hit for some reason.
533* Fixed Rebel B not getting a hoodie when coming to 5-1 from CCC.
534* Discs now have an axis-aligned bounding box and bounce *a little* more predictably.
535 (don't get too excited - the spread is still there and you'll still hit yourself a lot)
536* Player' plasma shots now hit players with iframe rules when reflected.
537 (being hit with a reflected PC/SPC shot still means death though)
538* Fixed Skeleton being able to end up with negative rads via Blood Gamble since recent changes.
539* Fixed a very occasional out-of-level hole appearing together with a hostile Horror.
540* Fixed LMB not working for picking control menu options mid-game.
541* "Safe distance" from spawn is now counted relative to entrance rather than player position.
542 That is, on loops, relative to where the "nook" starts rather than deep into it.
543 This fixes there being more enemies than there should by nook' entrance.
544* Fixed T2' debris shaking violently.
545: 99b13:
546~ IDPD grenades now harm IDPD (alongside everyone else) if deflected (approved change).
547~ Mimics are no longer multiplied on loops (not to ruin the surprise; approved change).
548~ Reworked formatted text drawing for performance and locale features (more on this later).
549+ There's now a confirmation dialog when exiting/restarting a run (approved addition).
550* Fixed "3d sound" button not making any sound when clicked.
551* Fixed IDPD portals making sounds even if they can't spawn on the level.
552* Fixed Enter not working in Play menu.
553* Race names are only shown on mouseover now (not when selected) to reduce redundancy.
554: 99b14:
555* Added some missing localization strings for pause menu.
556* "LEVEL ULTRA" caption can now be translated.
557* Select enemies now just don't increment kill count instead of reducing it by 1.
558* Fixed extra weapon chests dropping first chest' weapons when opened by a portal.
559* Holes inside 0-1 level are now a little darker for contrast.
560* Last wish is now removed from mutation UI when entering jungle.
561* Name-tips are now shown on character select screen only on mouseover (not when selected already)
562* Fixed 0-1 not showing on the map.
563* Fixed a single missing pixel on the right edge of map' route.
564* "LOW AMMO" UI & sounds are now shown correctly for secondary weapon for Steroids.
565* Fixed cluster spawns breaking through safe spawn walls sometimes.
566* Fixed quick restart on HQ-3 victory screen facing out upon restart.
567* Fixed Stats screen showing wrong tab by default.
568* Fixed some crown effects not applying if you manage to loose the crown-follower somehow.
569* Fixed it being possible to get stuck with no corpses via Melting's Ultra A.
570* You can now blow up the last enemy with Melting's Ultra A (the trick: it'll leave a corpse).
571* Proto chest now defaults to rusty revolver if it's weapon is gone.
572* Proto chest now displays under the weapon(s).
573* Fixed Delete Data affecting pitch for other option "clicks".
574 Instead of spread increasing, the sound now gets deeper as approaching potential trouble.
575* Fixed daily/weekly board overflowing sometimes.
576* Fixed daily/weekly entries partially disappearing while switching categories.
577* Names on daily/weekly boards are now shown to best extent.
578* Switched some things to use rectangular masks where they didn't need pixel-perfect ones anyway.
579 (this is about collision checking and may have minor positive effect on performance).
580* Gamepad-specific tutorial text can now be localised.
581
582v9909:
583+ Added ds_grid_sort, ds_grid_set_region.
584+ Added Player.boilcap for controlling Boiling Veins' health cap properly.
585* YV's active can now be used without ammo if infammo is set.
586* Fixed skin_ttip not working.
587: 99b10:
588* The game now randomly cleans up some of smoke/dust/debris if there's enough to lag the game.
589* Fixed Technomancer intro showing on every loop.
590* Fixed the campfire scene fading to black if backing out of END2 credits into menu.
591* Fixed weapons appearing to be on very slight cooldown during level loading.
592* Fixed Frog moving with a slight wobble in primary 4 directions (NTT-specific bug).
593: 99b11:
594* Fixed ultra bolts vanishing when out of 0-1
595* If all players are at full health, HP pickups are now attracted to the nearest one.
596 (previous NTT-specific behaviour was that they would just lie on the ground)
597* Fixed it being possible to farm rads by killing-reviving Horror in coop.
598* Fixed IDPD plasma ignoring iframes completely, as result dealing ~120 damage per second.
599 That said, you can still get annihilated quickly by these, but not literally in 2 frames.
600* Fixed YV's Ultra B spending ammo (since 99b10 or so - things aren't as easy as they seem).
601* Fixed ravens duplicating if killed just as they are about to liftoff.
602* Fixed cars duplicating if grabbed by a snowbot just as they are about to explode.
603* Fixed frog pistol making red particles on hit.
604* Fixed there appearing to be slight cooldown on weapons for real this time.
605* Fixed character appearing as B-Skin on weekly map if you picked B-Skin prior to opening weekly.
606~ Swap button now switches skins on daily, for lack of any other function (QoL).
607~ Weekly' tooltip now shows the name of the weapon in case you've no idea (QoL).
608
609v9908:
610+ Added "offline mode" support - you can disable multiplayer & replays in exchange for performance
611 Ideally you should be able to have both at once, but http://bugs.yoyogames.com/view.php?id=25295
612 Option is toggled via the newly introduced "NTT-Toggle-Offline-Mode" file.
613+ Added "NttMenu:OfflineMode" for locales (shown when in offline mode).
614+ Added sound_assign, sound_replace, sound_restore. Use with care.
615+ weapon_gold can now return -1 for weapons that are golden but should not be found in Mansion.
616~ Custom golden weapons are now lockable if weapon_gold returns non-zero rather than based on name
617~ Custom weapons now have green outline if weapon_rads returns a value larger than zero.
618* Fixed a portal crash on >2x native scale.
619: 99b10:
620* Fixed missing text in sample locale for Fish B / Crystal B.
621* Fixed LH' bouncer shots ignoring iframes.
622* Fixed an area replay exploit with cursed crystal caves (this should be the last one?).
623* Fixed long names on leaderboards overflowing to next line.
624* Fixed local name not being highlighted on leaderboards if it's too long.
625* Jungle now consistently offers new mutations on each visit.
626
627v9907:
628+ You can now use Delete in chat.
629+ Frog now takes a seat after breaking too many walls on the character select.
630: 99b9:
631* Fixed Anomaly being able to kill T1 & BD before they awaken (since 99b8).
632* Fixed SS not regaining for one level when becoming skeleton.
633* Fixed "PICK A CROWN" not being translatable (LevCont:SelectCrown:1).
634* Fixed "LOCKED" caption for crowns in loadout not being translatable (Loadout:CrownLocked).
635* HUD now draws on top of mutation bar in case of too many mutations.
636* You no longer accidentally pick up weapons when entering secret areas via objects.
637* Fixed an area replay exploit (via going between secret areas and HQ).
638* Fixed it being possible to force self to deal with a van by blowing up the last corpse around.
639
640v9906:
641+ area_sprite now gets called with sprDetail1 for custom area details.
642+ Added Rad.rad, BigRad.rad.
643~ string() now prints arrays/lightweight objects much like trace() does.
644* Fixed custom skin labels not working (since 9904).
645* Fixed the game crashing when live-reloading an area while standing in it.
646* The game now re-assigns the wall/floor sprites after reloading an active area.
647* Fixed FireCont moving about from knockback.
648: 99b8:
649* Fixed rad counter briefly appearing empty in case of overflow.
650* Fixed ammo indicators cycling if ammo is out of allowed range.
651* Fixed "low ammo" displaying while Gun Warrant is active.
652* Fixed Gun Warrant not allowing to use "infinite ammo" if clip is empty.
653* Fixed "no rads" not showing for Steroids' active.
654* Fixed blood weapon "exchanging" not working for Steroids' active.
655* Fixed vans being required to destroy before a portal can open at 1-1 \ 1-2.
656* Fixed Stats displaying the wrong loop for best attempts.
657* Fixed Stats displaying "L" for best hardmode run instead of "H".
658* Fixed the game crashing when shanking the 3-1 car with an energy screwdriver.
659* Fixed proto chest jumping around if pulled onto the crown pedestal.
660* Fixed jungle flower not spawning sometimes.
661* Fixed certain 2-1 specific props not spawning sometimes.
662* Fixed mode notice not drawing on pause menu.
663* There's no longer delay before you can pick a mutation/ultra in local play.
664* Fixed Technomancer spawning turrets outside of the level.
665* Weapons can no longer end up under $$$-specific prop.
666* Fixed 0-1 showing a dot off-map.
667* Safe spawn algorithm now specifically avoids producing suspicious long corridors towards spawn.
668* Fixed a half-tile wall blocking half of safe spawn' "exit" (it wasn't meant to be there).
669* Fixed elite enemy spawn condition not being checked for each enemy separately when duplicating.
670* Fixed "spawned" enemies (green rats, nest maggots) not getting killed upon entering secrets.
671* Fixed the game not giving you a skillpoint if you picked Patience twice.
672* Fixed Horror's Meltdown allowing to "reroll" any extra mutations due to some real old code.
673* Fixed it being possible to pick up invisible weapons while in portal sometimes.
674* Fixed big rads charging the statues only by 1 rad (since introduction!).
675* Fixed T2 missing final explosions (after a fix for explosions not being cleared by portal).
676
677v9905:
678+ Added custom area API (see wiki for more information).
679+ Added TopCont.fog (sprite) for controlling level' fog.
680+ Added weapon_sprt_hud - can be added if your weapon needs to be shown differently in HUD.
681* Mod-made shanks can now repair cars correctly (see Shank.canfix).
682* For sake of performance, there's now a limit to how many walls Frog can break on char select.
683: 99b7:
684* Reorganized level generation a little (mostly for custom area support in NTT).
685 Should be a little faster now. Do tell if something is consistently and mysteriously amiss.
686* Fixed (or at least further reduced odds of) the game not appearing in taskbar sometimes.
687* Control menu' items can now be triggered with Enter (accept-key).
688* Fixed some player projectiles not displaying CoD when reflected by shielders.
689* Fixed freaks sometimes facing the wrong direction after being revived.
690* Fixed 5-1 special prop sometimes getting destroyed by enemies on loops.
691* Fixed laser and lightning crystals freely moving for a few frames if hit mid-charge.
692* Fixed normal->secret turns on map missing a corner pixel.
693* Fixed frog pistol becoming a mystery weapon on load if kept in a proto chest.
694* Fixed area name on pause showing up as blank sometimes (unidentified reasons).
695* Hyper Crystal' crystals now stretch out non-instantaneously to avoid telefragging.
696* Hyper Crystal now clears additional area upon noticing the player.
697* Fixed player' secondary weapon facing the wrong direction sometimes.
698* Fixed secondary weapon missing an outline on pause menu sometimes.
699
700v9904 (with u99 beta changes):
701+ Added weapon_rads callback for weapon mods to set rad cost.
702+ Boss names can now be localized (see Bosses section). May need to pad with spaces.
703+ Exposed fntBigName.
704+ instances_matching now accepts variable argument count to match for one of multiple values.
705+ instances_matching now accepts array as first argument to allow filter chaining.
706+ Added instances_matching_ne.
707+ Added instances_matching_lt.
708+ Added instances_matching_gt.
709+ Added instances_matching_le.
710+ Added instances_matching_ge.
711+ Added Player.canlaser for disabling the laser sight.
712* Fixed fntM not being exposed.
713* Fixed sprites returned by weapon_loadout being drawn with tilt.
714: 99b1:
715* Fixed it being possible to get more-than-max starting ammo with /bwep.
716* Fixed controller vibration not necessarily stopping on pause/death for P2..P4.
717* Fixed "3d sound" menu item not being selectable via keyboard/controller.
718* Fixed EnemyBullet3 not transferring hitid correctly.
719: 99b2:
720* Fixed Crown of Death not applying correctly sometimes.
721* Fixed there sometimes being a "leftover" crown on main menu after a run.
722* Fixed flame cannon ball being able to multi-hit things on contact.
723* Fixed the game having bias for spawning Big Bandits closer to top-left corner of view.
724: 99b3:
725* Fixed gamepad not selecting the first item on some menus.
726* Fixed "letterbox" being amiss when returning from credits on main menu.
727* Fixed it being possible to click the update notice while clicking back-button.
728* Fixed Hammerhead and Eyes' active' indicator being occasionally drawn with tilt.
729* Fixed gamepad aim cursor showing on game over screen.
730* Fixed dead players dropping a "nothing-weapon" sometimes.
731* Fixed loadout playing selection sound even if it's hidden (e.g. in daily).
732* Fixed crowns getting switched up unusually when restarting in hardmode.
733* Fixed audio sliders being shifted in opposite direction by gamepad controls.
734* Fixed the game only allowing 0%..100% screenshake instead of 0%..200%.
735* Fixed Lil Hunter extremely occasionally dying during spawn phase.
736* Fixed player being offset in END1 cutscene.
737: 99b4:
738* Fixed 2-1 boss music not playing on L2+.
739* Fixed pause menu not showing 107-x as "$$$" sometimes.
740* Fixed weapons not being swappable during boss intros.
741* Regular secondary weapons now draw with outlines during boss intros (b/c black background).
742* Fixed campfire scene characters overlapping each other and/or TV.
743* Fixed proto chest being halfway in a wall sometimes.
744* Fixed turrets replaying appearance animation if hit amidst it.
745* Fixed black sword not appearing if picking non-standard route on first area.
746* Fixed P2 HUD overlapping the mutations in pause menu.
747* Fixed 0-1 corpses sometimes being out of level.
748* Fixed cursed ammo pickups sometimes granting fractional ammo if dragged into portals.
749* Fixed weapon names/tip translations sometimes not applying.
750* Fixed it being possible to get free ammo via YV Ultra B when having no rads.
751: 99b5:
752* Fixed safe spawns sometimes having thin (half-block) walls.
753* Side art options can now be localized.
754* "A skin" / "B skin" captions can now be localized (under Loadout section).
755* Fixed a crash with daily leaderboard display, also fixed a few memory leaks related to it.
756* Fixed Frog not being playable on dailies.
757* Golden Frog Pistol is now saved with same ID as in u98 for compatibility.
758* Fixed Blood Hammer not showing up on game over screen correctly.
759* Fixed Horror B' beam having green "impact" animation.
760* Fixed IDPD portals spawning on top of the player without intending to.
761* Fixed throne room generators dropping extra rads sometimes.
762* Fixed map' dots having a corner cut sometimes.
763* Secondary weapon' outline now draws on 7-3 for ease of identification on screenshots.
764* Fixed stuck bolts/splinters not sticking to ravens/LH during flight.
765* Fixed rogue rifle bullets not having blue impact.
766: 99b6:
767* Fixed crowns getting stuck on wall corners sometimes.
768* Fixed some non-pellet enemy projectiles ignoring iframes when they originally didn't/shouldn't.
769* Fixed elite shielders telefragging the player sometimes (and generally teleporting oddly).
770* Van portals now display over most other enemies and effects (as they're a larger threat).
771* Fixed LevCont:SelectUltraRobot not being a separate locale line.
772* If Chicken didn't find a health pickup on time in coop and was revived by other player, max
773 health is no longer further reduced by 2. Regaining head via health pickups works as usual.
774 This means that if you lost head, and found a HP pickup, your max health becomes 6.
775 If you've then lost head again, but did not find a HP pickup, and the other player had to revive
776 you, your max health is still 6 instead of being reduced to 4.
777 Previously max health was only returned if Chicken was already at 0 max health.
778 Vanilla behaviour was that Chicken would always regain all max health (a bit too much).
779* Fixed mutations not hiding/showing if toggling HIDE HUD option mid-game.
780* Ravens no longer lift up and land on same spot if there's nowhere to fly.
781
782v9903:
783+ Added /gpdeadzone to control deadzone radius for gamepad controls.
784+ Added /gpnormalize to post-fix gamepads that report aiming stick in a square rather than circle.
785+ Added /gpexponent to regulate gamepad aiming sensitivity (<1 for slower, >1 for faster).
786+ Added /autoaim to override gamepad autoaim radius.
787+ Added functions for working with JSON (using https://yal.cc/gamemaker-tjson/).
788+ It is now allowed to do { "key": value } in lightweight object initializations.
789+ Added template string support to the scripting language. That is, you can do
790 with (Player) trace(`Health: ${my_health}/${maxhealth} pts`);
791 instead of
792 with (Player) trace("Health: " + string(my_health) + "/" + string(maxhealth) + " pts");
793+ Added loc() and loc_set() functions. Implications are:
794 1. You can make mods with translation support.
795 2. You can dynamically mess with majority of text in the game.
796+ Added constants for built-in weapons, races, crowns, mutations.
797+ Added a is_object function. Also is_array function no longer returns 1 for lightweight objects.
798+ Added HUD:LowAmmo:X/HUD:InsAmmo:X/HUD:NoAmmo:X for custom ammo warnings per type.
799~ Portal strike ammo canisters now generate again when playing as Rogue with Crown of Love.
800 Technically, the behaviour from vanilla game is a bug caused by series of side effects in the
801 original chest generator code, but it logically fits, and people relied on it.
802~ INI parser (for locales) now ignores trailing comments after values.
803* Fixed "controls" menu' remapping ignoring gamepads set via /gamepad command.
804* Eggplant is no longer marked as using 1 ammo (that's while being a melee weapon).
805* Giving up crown of destiny no longer can cause you to have -1 mutation points.
806* Crown of luck' tips can now be localized ([Crowns] 10:Tip:1, 10:Tip:2).
807* Fixed the game only checking if one (random) player has low health for health chest spawn.
808* Fixed Revive.ammo not being exposed.
809* Rads should now get stuck on wall edges slightly less often now.
810* Fixed campfire scene' objects getting pushed around by locked & invisible Frog.
811* Swords & guitars now drop even if the according L1 level was skipped.
812* Fixed weapon tips not being loaded from locale files.
813* Fixed chat not allowing longer lines of text for commands (the logic was there for a while).
814* Fixed game mode labels (e.g. "HARD") not having shadows when localized.
815* The game will take effort not to spawn the player right on top of cars/generators.
816* Fixed golden cars still occasionally being amiss on 3-1.
817* Fixed assassins not getting killed on special level transitions.
818
819v9902:
820+ Added "PauseMenu" section support for locale files.
821+ Text on character unlock screens can now be translated (Unlock:Race:#:3, Unlock:Skin:#:3).
822+ Enemy' weapon drops are now seeded (call game_set_seed in game_start in mods), meaning
823 that the same enemy will drop the same weapon, given the same player' configuration.
824+ Added a /cwd command, allowing to change the subdirectory to search for mods/etc in.
825~ Did a massive reorganization of game's texture pages, hopefully should help performance on Wine.
826~ Slightly tweaked safe spawns to produce smaller nooks on L0/L1 and proper nooks on L2+.
827* Fixed game crashing on start if DebugKey is set for auto-loaded locale.
828* Pickup prompt now shows the correct key name if it's not E.
829* Fixed the game not taking note when toggling gamepad option mid-game.
830* Fixed main menu not allowing to use Enter to pick options.
831* Fixed B-skin choices not being applied upon loading the game.
832* Fixed the game crashing on picking up rogue canister since the recent tweaks.
833* Fixed locale font images not being synced correctly when playing online.
834* Locale font images are now loaded from directory relative to main file.
835* Fixed it being possible to get locked crowns by getting a random character with a crown and then quick restarting.
836* Fixed quick restart in hard mode not incrementing hardmode runs statistic.
837* Fixed locales not being loaded back when exiting to main menu from online coop.
838* Fixed Steroids not getting extra ammo for the second starting pistol.
839
840v9901 (translator intermediate build):
841+ Added a `gameovertext` variable to GameCont to allow overriding text on game over screen.
842+ Added ds_map_values.
843+ Added skin_race_name, skin_race_text, skin_race_tb_text callbacks for skin mods.
844 These will override race name/description/TB text when defined.
845+ Calling instance' "accuracy" is now picked up by player_fire_ext, if available.
846+ Loadout UI now refreshes when loading/unloading skins with it open.
847+ key7, key8, key9 inputs are now available.
848+ Crowns can now be picked with digit keys (like mutations/ultra mutations).
849+ Exposed instance_find.
850+ Added weapon_get_laser_sight.
851+ Added draw_set_projection, draw_reset_projection (see api.gml).
852+ Chicken' headless sprites can now be remapped; reworked how chicken head is handled.
853+ You can now accept Steam invitations from anywhere - the game will switch to the right menu.
854+ Opening the game from a Steam invitation now skips the intro automatically.
855+ Added localization support - use /loadloc to load locales. Will auto-load in SP.
856* Fixed various "burst" objects not having a "creator" variable exposed.
857* Fixed lq_key_\lq_value_ functions not being exposed correctly.
858* Fixed ds_map_keys() returning an array of values instead of keys.
859* Fixed Throne Butt description showing name prefixes when there's only one race.
860* Fixed "find match" being shown (and doing nothing) on non-Steam mode.
861* Fixed Eyes pushing projectiles away from team=2 rather than instance' team.
862* Fixed the game crashing when trying to access variables on Loadout.
863* Fixed Big Dog dropping the (dummy) weapons and not being able to pick them up upon revival.
864* Fixed custom weapons not being selectable via cwep/bwep/etc.
865* Fixed custom character' ultra mutation' descriptions not showing in HUD on mouseover.
866* Fixed race_swep callback not working accordingly.
867* Fixed A-skins not being pickable after switching to a custom skin when B-skin is locked.
868* Fixed C+ skins not being pickable with a gamepad.
869* Fixed the game getting stuck on game start after a remote player quits on character select.
870* Fixed surface_free in mod API not working correctly.
871* Fixed gamepad B/right mouse button not working for backing out of menus.
872* Fixed "Hide HUD" option not reflecting the correct value until the first change in-game.
873* Fixed "pop pop upgrade" not being free in terms of rad cost on ultra weapons (vanilla bug).
874* skill_set_active(29, false) now prevents Heavy Heart from appearing.
875* Fixed explosions and enemy flak-type projectiles not being cleared when a portal opens.
876* Fixed it being possible to destroy throne columns with SPC/other wall clearing weapons before starting the fight.
877
878v9900*:
879+ The mod now auto-imports your save file on first launch, if available.
880+ Added `canspec` to BackFromCharSelect which indicates if it can be triggered with right click.
881+ Added /checkmods - displays SHA-1 checksums for loaded mods; works for spectators/in replays.
882 Is intended to be used to check if the mods were not tampered with.
883+ Snowbots now have a separate sprite for holding red cars (edit by blaac).
884+ Added array_copy, array_slice, array_clear.
885+ Frog and Big Dog now have A-skin graphics for loadout; BD got a map icon (sprites by blaac).
886+ Added file_load_bytes, file_save_bytes, file_save_bytes_ext.
887+ Added a number of lq_ functions for dealing with lightweight objects.
888~ Empty lightweight object declarations (`{}`) are now allowed.
889~ Built-in variable names are now allowed in lightweight object declarations.
890* Fixed back-arrow on campfire not necessarily highlighting on mouseover.
891* Coop-specific tooltip "two heads" now reads "three"/"four" with 3P/4P.
892* Fixed switch cases with multiple match-values only using the first one.
893* Fixed thrown cars having wrong visual origin relative to hitbox (vanilla bug).
894* The game now makes sure that TV on campfire screen is not missing.
895* draw_text_shadow now obeys draw_set_visible.
896* draw_set_visible state is now reset at the end of the frame to not "leak" on mod errors.
897* Fixed Rebel unlocking instantly if playing with /hardmode.
898* Fixed crossed Horror beams stacking damage indefinitely.
899* Fixed character selection buttons spacing out too much on wider screen modes.
900* Fixed names set via weapon_set_name persisting between sessions.
901
902v9899:
903+ You can now mess (e.g. remove) with campfire objects: Menu, CampChar, BackFromCharSelect.
904 Good if you want to make your own character select menu (to users: don't forget about /exit).
905+ Added a game_letterbox variable if you want to toggle that.
906+ Exposed "crystal" array on HyperCrystal.
907* Fixed mod-loading commands not executing after unpausing correctly.
908* Fixed character select menu spacing buttons as if screen width is always 320.
909* Fixed phantom buttons in Game menu.
910* Fixed Hide HUD option not working sometimes.
911
912v9898:
913+ Overhauled how chat commands work. Many now work even in the menus.
914 Also you are notified if you are trying to do something that cannot be done at the moment.
915 Hopefully nothing was broken in process.
916+ Added /exit for leaving sessions without having to close the game / exit to loadout first.
917+ /help now displays a fairly accurate list of commands by category.
918+ /load now can be used as alias for /loadtext \ /loadconf.
919+ There's now indication in chat when spectators leave.
920+ There's now indication when players join/leave during lobby (before session start).
921* Fixed weapon_name weapon callback getting called without context by /cwep.
922* Fixed boss intros being top-aligned.
923
924v9897:
925+ Options can now be changed in online games (but will not automatically save to a local file).
926+ Positional audio ("3d sound") can be disabled in audio options (never implemented in vanilla).
927 If disabled, audio gradually fades out instead (1/2x at 64px, 1/3x at 128px, 1/4x at 192px, ...)
928~ Desyncs are now organized into subdirectories.
929~ /tracksync now dumps a list of RNG-related information into a separate text file.
930~ Remote cursors are now displayed relative to screen in character select and pause menu.
931 May appear kind of wobbly on character select, but that is not easily fixed at the moment.
932~ Instead of playing relative to any nearest player, positional audio now plays relative to
933 nearest local player; plays relative to screen center if multiple local players exist.
934~ Removed the "tutorial" option from the settings menu because it never actually worked in NTT.
935* Fixed FloorMaker not supporting custom variables.
936* Fixed cursor sprite option not applying if changed mid-run.
937* Fixed Throne making "hurt" sounds during the initial beam sequence.
938
939v9896:
940+ Added race_skin_name for custom race' skin names / unlock conditions.
941+ Added a number of surface-related functions.
942* Fixed standard skins not showing unlock conditions on hover.
943
944v9895:
945+ Weapon mod callbacks now receive the weapon that they should return info for.
946+ Added game_width, game_height, game_set_size.
947 You can have the game run in custom aspect ratios, at cost of performance.
948 /portalfx might be a requirement for higher resolutions on lower-end systems.
949~ draw_text_nt is now a little bit faster.
950~ /portalfx now disables lightning sounds on loading screen.
951* Fixed CrystalShield not having the creator's team.
952* Fixed functions accepting only up to 15 arguments instead of 16 (broke draw_sprite_general).
953
954v9894:
955+ You can now set custom alias for LAN mode.
956+ You can now set lobby title in Steam mode.
957+ Text beam is now shown on the inputs in the menus.
958+ Added a chat_message(msg, p) callback for general mods (allows to act on non-command messages).
959+ Added game_restart() function that can be used to force-[re-]start a run (as from menu).
960+ Added player_set_race, player_set_skin functions.
961+ Lightweight objects containing .wep field are now accepted as weapons.
962* Fixed custom skins not being selectable via mouse wheel in multiplayer.
963* Fixed a few other oddities related to skin selection in loadout.
964* Fixed a conditional crash on pause screen (scrRacePortraitIndex).
965* Snowbots now throw and drop accordingly looking cars even if a portal is open (vanilla bug).
966
967v9893:
968+ The mod now should run on the DRM-free GOG version, and you can generally connect by IP for LAN.
969 This heavily relies on FaucetNetworking DLL so please do not forget to unzip it.
970+ Added skin mod support (see wiki). Might cause some issues, but hopefully shouldn't. Do test.
971+ Added trace_time for measuring execution speeds of things. Usage is like:
972 trace_time();
973 for (var i = 0; i < 1000; i++) { }
974 trace_time("a 1000-iteration loop");
975+ Added a number of weapon_set_ functions for messing with built-in weapons.
976+ Added race_lock callback for race-mods that can return unlock condition text.
977~ skill_set_active now works for custom mutations.
978~ YV/Robot C-skins now have a "locked" sprite for loadout.
979~ Rusty revolver now has a separate sprite for loadout (thanks to BioOnPC).
980~ Skeleton now appears with a rusty revolver in loadout (thanks to BioOnPC).
981~ Removed the "stream key" option because it never worked and you can make a better one with mods.
982* Fixed skill_set not working for custom mutations.
983* Fixed race_ultra_name and a few other callbacks receiving arguments as an array sometimes.
984* Fixed Blood Hammer' slashes creating blood explosions at their base instead of enemy.
985* Fixed ravens recovering health during flight.
986* Fixed RavenFly not obeying health modifiers if spawned explicitly.
987* Fixed RavenFly missing some variables that Raven has, causing some odd error messages.
988* Fixed "Hide HUD" option having the opposite effect when toggled mid-game.
989* Fixed heavy bullets only giving back 1 ammo with recycle gland.
990* Fixed button selection in Stats menu not reaching Skeleton/Frog.
991* Fixed Skeleton/Frog having wrong (?) "locked" graphics in loadout.
992* Fixed being able to highlight locked characters in loadout with gamepad/keyboard.
993* Fixed Horror' projectiles missing `creator` variable.
994* Fixed counter-based iframes lasting for one frame longer than sprite-based ones would.
995 I do not believe that this is actually noticeable on any standard weapons because
996 iframes last for 5-6 frames while swings last for 8 frames (meaning that they'd still hit twice)
997
998v9892:
999+ Spectator list is now shown on Tab-overlay.
1000+ A notice is now shown on the main menu if the game is clearly running at unintended framerate.
1001~ If the mutation pool is completely exhausted, Last Wish is now offered instead of empty screen.
1002~ Portal strike indicators are now attached to HP bars in MP to reduce confusion.
1003~ Returned the ability to multi-hit BB and dog guardians during according attacks.
1004 It's a bug but the game's balance partially relies on this, so it may stay.
1005* Fixed the game sometimes showing the previous hit source in "killed by".
1006* Fixed revive timer bars going off-bounds sometimes in revmode soft.
1007* Fixed a typo in Big Dog' unlock message.
1008* Fixed skill_avail callback not working.
1009* Fixed Recycle Gland effect appearing above the player instead of hit point.
1010* Fixed Recycle Gland checking for each player instead of whoever fired the projectile
1011 (which meant that it was ridiculously good in multiplayer if everyone were using bullet weapons)
1012* Fixed mouse not displaying in replay/spectator mode if native cursors are enabled.
1013* Fixed the SP loadout popping in when someone leaves at character select screen.
1014* Fixed character select flashing in MP whenever host right-clicked (forgotten legacy code).
1015* Fixed rads sometimes being lost when reviving Horror due to rounding errors.
1016* Fixed "killed by" caption and timer drawing over each other if enabled.
1017* Fixed "enter" prompts being shown for vans when you could no longer enter them (since 9891).
1018*
1019
1020v9891:
1021+ /bwep is now shown in loadout. Also non-standard loadout weapon rendering looks better.
1022+ sprite_get_name now returns path for custom sprites.
1023+ You can now assign a sprite ID or [sprId, "name"] into Player.lasthit\projectile.hitid.
1024+ Added "usespec" to Player. Can be set to number of frames to use special ability for.
1025+ Gameover screen will now also show the name of thing that killed you on mouseover.
1026+ Added player_get_show_prompts/player_set_show_prompts. These determine whether you see the
1027 weapon names (and other [E] actions) when the player is near the according object.
1028+ Added /silencemod, /ignoremod (disable trace() or errors accordingly).
1029~ Mutations are now displayed in multiple lines if there's not enough space.
1030~ The game can now display more mutations in general (if made to by mods).
1031~ /unloadmod now allows to omit mod type/extension in most cases.
1032* Fixed YC being shown on pause menu as YV.
1033* Fixed text' vertical align being a bit weird on P3/P4 HUDs.
1034* Gamepad/keyboard prompts are now shown based on controls of nearby player, not global option.
1035* Fixed Sentry Gun flashing non-stop after taking damage.
1036* Fixed Sentry Gun taking 2x ammo due to what seems like a copy-paste error (vanilla bug).
1037* Fixed Sentry Gun trying to shoot itself in absence of other targets (vanilla bug).
1038
1039v9890:
1040+ Floor now has `styleb` variable exposed.
1041+ You can now click arrows on "switch" type menu items.
1042~ Menu item' hit region for mouse is now vertically centered.
1043* Fixed race_swep not supporting custom weapons.
1044* Fixed sprite_add leading to desyncs in online play.
1045* Fixed "LOW HP" indicator being misaligned after last update.
1046* Fixed GhostGuardian sometimes crashing the game if spawned.
1047* Fixed multi-line chat messages overflowing incorrectly sometimes.
1048* Fixed rads not being attracted to players from wherever when a portal is open.
1049* Fixed draw_gui_end not working if sideart is disabled.
1050* Fixed /mtips not taking a delay parameter like readme says.
1051* Fixed "compatible" native cursor option loading as regular "native" on game start.
1052
1053v9889:
1054~ Spawning multiple IDPD explosions on one spot should no longer stack them horizontally.
1055~ BoltTrail objects now have "creator" set accordingly.
1056~ More tweaks to the lobby menu. It's still kind of confusing tho.
1057* Fixed lobby chat showing colors from previous session.
1058* Fixed slots occupied by host not getting a name assigned.
1059* Fixed fainted HUD showing an out-of-bounds bar with revmode soft.
1060
1061v9888:
1062+ Added object_max (for use in for (var o = 0; o < object_max; o++) loops).
1063+ Added /tracksync, which enables hyper-detailed logs on desync.
1064 Note that this also tanks the framerate heavily, so it's something to use if you suspect
1065 a particular mod to be at fault, and would like to help debugging the issue.
1066+ Chat messages now spot little color bars as per color of player that had sent them.
1067+ Per-player colors and latencies are now shown in overlay that shows when holding Tab.
1068+ Added /gamepad../gamepad4 commands to switch player slot's gamepad mid-session.
1069~ Further tweaked the lobby menu to do it's thing better.
1070* Fixed a crash on desync.
1071* Fixed race-specific ultra mutations not being pickable for P3/P4.
1072
1073v9887:
1074+ Suddenly, experimental 4-player support.
1075 Mind that the game does not properly scale for >2P so you'll need to use mods to balance it out.
1076 Coincidentally, this is added primarily for use with mods (PvP, for example).
1077+ Added /stdout, which toggles display of chat messages when running the game from command-line.
1078 This is solely for cases when you do something that hard crashes the game, but cannot
1079 properly debug it because it crashes before it gets to display your debug info in chat.
1080~ Chat input is now 1px wider to house the text cursor nicely.
1081~ Optimized debris' collision checking a little.
1082~ Long weapon names are now broken into lines.
1083~ A few scripting error messages now include further hints on what they might be caused by.
1084~ Most sounds can no longer restart more than once per frame, which helps performance.
1085 Also helps with not hearing the game "fart" at you during heavy lag or softlock.
1086* Fixed a few more situations where golden weapon notifications would should when they shouldn't.
1087* The game no longer crashes when spawning RatkingRage.
1088* You are now not allowed to spawn a few parent objects that clearly crash the game.
1089* Fixed Hide HUD option not taking effect until next session.
1090* Fixed rads not being attracted to a non-Horror player during beam use.
1091
1092v9886:
1093+ chat_command callback now gets a third parameter marking the index of player executing it.
1094+ Mod list is now shown during loading screens.
1095+ Enemy projectiles should now generally have `creator` set accordingly.
1096+ Allies now take a basic survival effort of not shooting IDPD shields in close proximity.
1097+ Added skill_wepspec callback for marking custom mutations as weapon-specific.
1098~ Rewrote how the game handles wall destruction. Should lag less.
1099~ Freeze frames now have decaying effect when stacking up too much (i.e. no 1s worth of FF).
1100~ Flames should now lag less (rewrote bounce algorithm).
1101~ Toxic gas should now less, especially when spawned inside a wall (also rewrote bounce).
1102~ Confetti should now also lag less, in case you somehow do that.
1103~ Smoke should now lag a little less (uses simplified collision checking).
1104~ Tuned down desync tracking precision, as extra info wasn't that useful in most cases.
1105~ Unsuspecting players now cannot be hurt by Frog "not holding it" during level loading.
1106* Fixed a crash if an unclosed `{` is placed right at the end of loaded .gml file.
1107* Fixed weapon_laser_sight not working for custom sprites.
1108* Settings are now saved when exiting the options menu in-game (vanilla bug).
1109* Fixed ammo in HUD being offset in coop (since 9885).
1110* Fixed player_set_show_cursor not hiding the native cursors.
1111* Fixed custom arguments in script_bind being assigned in wrong argument slots (since 9880).
1112
1113v9885*:
1114+ Spiral/SpiralCont can now be manipulated by mods.
1115+ You can now minimize mod list by clicking on "modded" while paused.
1116+ You can now use mousewheel to scroll the mod' list.
1117+ Added ds_list_add_array, ds_list_to_array.
1118+ Added player_get_skin() to retrieve skin ID.
1119+ Added weapon_get_list for quickly retrieving weapons.
1120+ player_get_race\player_get_race_id now return correct values on loadout screen.
1121+ You can now press left\right\home\end to move around the cursor in chat field.
1122+ Exposed event_perform (be careful, though).
1123+ Exposed alarm_get, alarm_set (get\set alarm[] with non-hardcoded index).
1124~ HUD is now shown during pause and boss intros. This looks like it might have been a bug.
1125~ Modded melee weapons now assume ammo cost to be 0 by default.
1126~ Most weapon-mod callbacks now execute on the according object (player, on-ground weapon, etc.).
1127~ Changed Lucky Shot code again to be -really- sure.
1128~ Chat commands now have their own data directory.
1129* Fixed FireCont (player_fire_ext' helper) missing gunangle and team variables.
1130* Fixed a character select screen crash (since 9884).
1131* Fixed several contextual crashes related to expecting values from unloaded mods.
1132* Fixed some potential sync issues related to mod code being called from HUD code.
1133* Chat can no longer be scrolled out of bounds entirely by new messages.
1134* Fixed string_save crashing if given an empty string.
1135
1136v9884: Surely enough, all bugs are found as soon as a new public version is uploaded.
1137+ Added `weapon_laser_sight` callback for weapons. Can return true/false if weapon should
1138 display laser sight (or return a sprite index to use as that).
1139* Fixed custom mutations not triggering "take"/"step" functions (since 9880).
1140* Fixed script_ref_call not working (same cause as above).
1141* Fixed draw_bloom drawing at incorrect offset.
1142* Fixed `/loadmod` commands not executing with correct path if done during pause.
1143* Fixed laser sight being 1px off when aiming to the left (vanilla bug).
1144
1145v9883*:
1146+ The archive now includes a blank "mods" directory so that you know where to place things.
1147* Fixed explosions not shaking the view like they should (and view_shake_at).
1148
1149v9882: Mostly fixes for oddities revealed by PvP mod.
1150+ "Update available" button is now shinier.
1151~ Seeker shots now can home towards generators and hostile entities (e.g. in PvP).
1152* Fixed some non-projectile sources of harm not setting "cause of death" correctly.
1153* Fixed extra Plant' tangles not using bskin style (vanilla bug).
1154* Fixed Plant' saplings not obeying owner' team.
1155* Fixed blood explosions not obeying owner' team.
1156* Fixed Devastator' explosions not obeying owner' team.
1157* Fixed an UI crash when setting player weapon to invalid indexes.
1158* Fixed a crash on bwep2\cwep2.
1159* Fixed golden nuke launcher not following the cursor.
1160* Fixed Gamma Guts' blast hurting the "owner" if they have non-standard team.
1161
1162v9881*: More scripting API additions and "quality of life" tweaks.
1163+ Shadow-casting objects all now have spr_shadow, spr_shadow_x, spr_shadow_y.
1164+ Added instances_matching for faster filtering of instances.
1165 Can be used like `with (instances_matching(CustomEnemy, "name", "some")) { ... }`
1166+ Added `/delay` command for messing with input delay settings mid-session.
1167+ You can now mess with `room_speed` variable (clamps to 5..72fps).
1168+ You can now Ctrl+Click mod icons on pause menu and gameover screen to reload them.
1169~ Doing /loadmod while paused now waits until the game is resumed.
1170~ "origin" argument is now optional in sprite_replace functions.
1171
1172v9880: Mostly scripting-related improvements.
1173+ Added view_shake_at(x, y, amount).
1174+ Player object now has a `canswap` variable that determines whether weapons can be swapped.
1175+ Exposed sound_play_hit, sound_play_hit_big (used for projectile impact sounds).
1176+ You can now prepend `/gml` parameter with "=" to show it (`/gml =Player.wep`).
1177+ Added sleep(ms) (freeze-frames dependent waiting).
1178+ Added sprite_replace_image (akin to /loadimage)
1179~ `/gml` now does not display `Result: 0` if expression did not yield anything.
1180* The game now cleans up silently deleted instances instantly (without Dispose).
1181* mod_script_call now accepts up to 16 arguments, and works faster.
1182* mod_script_call now preserves the original self-instance.
1183* Mod callbacks in general are now a little faster.
1184* Toxic, flame, and plasma projectiles should now have `creator` set correctly (to best extent).
1185* Fixed sprite_replace not taking specified origin into account.
1186
1187v9879: Mostly scripting-related improvements.
1188+ /gmlapi now save more files and into `api` directory.
1189+ Global mods now have a "draw_pause" callback that works over pause menu.
1190 Keep in mind, however, that basically none of game objects are active at this time.
1191+ Added a few helper player_ and race_ functions.
1192* /loadlive now will alert you if the file does not even exist.
1193* Fixed laser cannon not firing if creator does not exist.
1194* Fixed blood cannon and blood grenade explosions not obeying creator's `team`.
1195
1196v9878: Fixes and additions for issues pointed out after public release.
1197+ There is now a "compatible" native cursor option in case your cursor disappears in fullscreen.
1198+ There are now more pixel scaling options (2x is probably what most people actually want).
1199+ Added an auto-pause option to Game options menu.
1200+ Added attribution tooltips to community-made skins (shown in loadout).
1201+ Added a few small details to community-made skins.
1202+ Mod-loading commands will now load mods that have .txt appended at the end.
1203 I thought people are better at changing file extensions on downloaded files.
1204+ Added a game_set_seed(seed:int) function.
1205+ Chat lines now fade based on position when chat is not open.
1206 Should help with seeing anything if the screen is being flooded with mod errors.
1207+ Added weapon_is_melee(wep) for checking whether a weapon is melee.
1208+ `/locate` command now shows indicators at enemy positions and says who requested info.
1209+ Pause menu and "game over" screen now display the list of mods with clickable "unload" buttons.
1210+ Added area_get_background_color, area_get_shadow_color.
1211+ Exposed BackCont.shadcol, BackCont.shadalpha (shadows' color/opacity).
1212~ The game now ensures mod' cleanup functions are called when it is not paused.
1213~ The "Stats" menu is now back and doesn't crash the game... as far as I'm concerned.
1214~ Allies dying after portal opens should be a bit less laggy now.
1215* Player-spawned and boss-spawned toxic projectiles now have creator variable set accordingly.
1216* Fixed the game not loading files via /loadtext if there's a folder of the exact same name.
1217* You can no longer scroll the chat "out of bounds" between game sessions.
1218* Fixed Horror' beam not adding rads to objects like it should (after projectile rewrites).
1219* Minimap now looks better with "native" pixel mode.
1220* Fixed an occasional crash in Lucky Shot code (easier triggered by mods).
1221* Fixed outlines not showing on 7-3 cutscene.
1222
1223v9877*: Modding update
1224+ Added a "pixel mode" option to "visuals" menu. Had to move cursor/mouselock to "game" menu.
1225* Fixed by-name search not working in bwep/cwep after last name.
1226* You can no longer crash the game by calling ds/sprite functions inside a `/gml` command.
1227
1228v9876: Scripting improvements and safety measures.
1229+ Added a number of projectile_ helper functions.
1230+ Assigning script IDs into custom object' on_ fields now auto-converts them to script_ref_'s.
1231~ The game now can only lock the cursor after the first click on it.
1232~ Native cursor DLL is now not called at all until you enable the option.
1233* Made laser crystals explicitly set laser' directions just to be sure.
1234* All sources of damage should now call on_hit on Custom* objects.
1235* Fixed sprite_add_weapon_base64 working oddly (after recent changes).
1236* Fixed a pretty conditional crash with cwep\bwep\etc. commands.
1237* You can no longer attempt to toggle mouselock/native cursor if the extensions failed to load.
1238
1239v9875: New options and scripting improvements.
1240: There has been an accident with GM wiping a few directories (including the one with mod assets),
1241 so I had to recover and regenerate a few files. Something could be strange.
1242+ Added a setting for native cursors (both in options and via /nativecursor).
1243 When supported, this gets rid of mouse aiming lag once and for all.
1244 For those making games, I've made the extension available:
1245 https://yellowafterlife.itch.io/gamemaker-native-cursors
1246+ Added a setting for mouselock. Perfect mouselock, to be precise.
1247 For those making games, the extension is similarly available:
1248 https://yellowafterlife.itch.io/gamemaker-native-mouselock
1249+ The chat is now scrollable (via mousewheel\pageup\pagedown).
1250+ Added basic ds_grid functions.
1251+ Asset loading functions now specify file position on error
1252* Fixed Steroids starting only with one revolver (broken by recent no-weapon ID change to 0).
1253* Fixed script "compiler" crashing if given a script header right before end of file.
1254* Fixed sprite_add_weapon crashing the game (after recent changes).
1255
1256v9874: Mostly scripting-related improvements.
1257+ Added sprite_replace and sprite_restore that mirror the chat commands.
1258~ Further adjusted Throne to not remove enemies because there were duplicates.
1259* Fixed loading working oddly when using paths with forward slashes "/".
1260 Related bug report: http://bugs.yoyogames.com/view.php?id=25705
1261* A handful of fixes for CustomHitme erroring and/or working oddly in edge cases.
1262* Fixed $hex producing 64-bit values by default (which wouldn't be accepted to some functions).
1263* Fixed draw_self() not being exposed (lost while moving some code around recently).
1264
1265v9873: `/loadtext` improvements and new callbacks for scripting.
1266+ Commands executed from loadtext'ed files now will look in file's directory by default.
1267+ CustomHitme now has spr_shadow and will draw itself if on_draw is undefined.
1268+ Added draw_dark, draw_dark_begin, draw_dark_end callbacks for global mods.
1269+ Added draw_shadows, draw_bloom callbacks for global mods.
1270+ If you specify a directory for "loadtext", the game will try to load a "main.txt" file from it.
1271~ loadtext'ed commands are now executed all at once instead of 1 frame apart.
1272~ Throne no longer destroys non-guardian enemies every step (shouldn't cause regressions?)
1273~ Default "silent" sound is now auto-generated instead of being distributed with the mod.
1274* Fixed Fortress and Detachment affecting players of other races.
1275
1276v9872: Introduction of filesystem API (and more helper functions)
1277! Fetched files are now embed into replays so you may want to disable them
1278 if you play a lot of mods and value your disk space.
1279+ Added file_load, file_unload, file_loaded, file_exists - see wiki for explanations.
1280+ Added string_load (requires file_load'ing the path prior), string_save.
1281+ Added sprite_add, sprite_add_weapon_base64; sprite_add_weapon takes a path from now on.
1282 Note: If you didn't preload the sprite, it'll be blank for a few frames until synced up.
1283+ point_seen\point_seen_ext are now exposed to save you from some view checking math.
1284+ Added array_push, array_find_index.
1285+ Added string_split, string_split_list, array_join, ds_list_join (string <-> sequence).
1286* Fixed `wait` inside init-functions actually waiting for 1 frame less than asked.
1287* Fixed character selection bugging for custom races with filename matching default race names.
1288* Tweaked Bloodlust and Lucky Shot code just to be safe (based on unverifiable reports).
1289* Fixed first trace() argument not using the proper formatting when given an array.
1290
1291v9871: Introduction of audio loading API.
1292+ Added sound_add and sound_delete.
1293 Sounds are NOT transmitted over network and are cached per-mod.
1294 If sound is not available, the game will not error but nothing will play.
1295 Therefore you hear sounds both players will need to load up the mod at least once.
1296* Fixed script_bind_ objects not supporting custom variables.
1297* Fixed @q displaying incorrectly in draw_text_nt (since introduction of custom weapons?).
1298* Fixed /loadimg not working correctly on sprBigPortrait and a few other large sprites.
1299 Related bug report: http://bugs.yoyogames.com/view.php?id=25653
1300* Fixed crowns not displaying the description in loadout (since introduction of custom crowns?).
1301* Fixed P2's ultra selection not showing up if both players play different custom races.
1302* Fixed mouse_x\y not reflecting the gamepad aiming position correctly.
1303
1304v9870: More weapon-oriented scripting functions.
1305+ Added player_fire which you can call on Player object to fire the current weapon.
1306+ Added player_fire_ext which can be used to fire default and custom weapons from... anything.
1307+ Weapon mods now have a step event with argument determining whether they are primary.
1308+ Added d3d_set_fog for blending hacks.
1309+ Mods can now define a draw_gui script for drawing relative to view.
1310+ Mods can now define a draw_gui_end script for drawing over everything (including sideart).
1311~ Potentially-breaking change:
1312 Default weapon ids are now numeric again instead of "#id".
1313 Assigning "#id" will still work.
1314* Fixed mod_ scripts crashing if given a valid mod type but nonexisting mod.
1315
1316v9869: Startup script support and `/loadtext` improvements.
1317+ /loadtxt will now automatically look for files in "mods" directory as well.
1318+ If you place a "startup.txt" file in main/"mods" directory, it'll be /loadtxt'ed on start in SP.
1319* Fixed script reference creation sometimes pointing to a wrong mod after `wait`.
1320
1321v9868: Mostly scripting-oriented fixes.
1322+ Enemies now have a `canfly` variable that prevents their death when outside the level.
1323+ Added race_avail, race_skin_avail, race_skin_button.
1324* Fixed `wait` sometimes pausing for 1 frame longer than it should.
1325* Fixed `wait` sometimes not working for non-first-loaded mods.
1326* Fixed a crash related mods not being fully unloaded on session end.
1327* The game will no longer crash if a CustomEnemy' shadow sprite is suddenly removed.
1328* draw_sprite_ functions now won't crash the game if sprite is amiss.
1329
1330v9867: More scripting-oriented fixes and additions.
1331+ Added skill_avail, which can return whether skill should appear in selection.
1332+ Player now has an exposed race_id variable for numeric race.
1333+ Exposed sound_get_name, sound_exists.
1334+ Added sound_play_music, sound_play_ambient.
1335+ Using wait-operator in script_bind scripts will now execute in same event after pause.
1336~ Script-less code is now assumed to be init() instead of a mod-named script.
1337* RavenFly now has all of Raven's variables and should not cause field access errors.
1338* Fixed Ultra Grenades, for real this time.
1339* Fixed race_swep not working.
1340* Fixed EmoteIndicators not showing up at the right spot when created with keys.
1341* Fixed Heavy Slugger dealing 600 damage up close and 1 otherwise (editing error).
1342* Fixed a bug with wait operator sometimes skipping frames.
1343* Fixed Skeleton' Ultra B not working (since 9865).
1344
1345v9866:
1346+ Added instance_delete, added a "Dispose" object.
1347* Fixed mansion transition sometimes overriding other screens
1348* Fixed some explosions healing if under 4HP
1349* Fixed ultra grenades piercing enemies
1350* Fixed B-skins not being selected correctly
1351
1352v9865:
1353+ Added ultra_ functions.
1354* Fixed /loadlive saying that the command doesn't exist despite working.
1355* Fixed /loadlive crashing the game if given an empty parameter.
1356* Fixed Wrench having wrong damage.
1357* Fixed lightning ignoring invincibility frames.
1358* Fixed draw_text_nt missing some colors (and made it a bit faster too).
1359* Fixed 7-3' carpet getting cut off if spritemodded.
1360
1361v9864: Scripting runtime' update and more scripting functions.
1362+ You can now name script arguments, e.g.
1363 #define myscript(arg1, arg2)
1364 trace(arg1 + arg2);
1365+ Enemy projectiles now support damage/force variables as well.
1366+ Added CustomEnemy, CustomProjectile.
1367+ Added /loadlive for having scripts live reload on change.
1368+ Added player_ functions to enable/disable HUD.
1369* Fixed EmoteIndicator and a few newly exposed objects not supporting custom variables.
1370* Fixed api-fields GML displaying ":<undefined>" for objects with no parent.
1371* Fixed an occasional "???" tip... I think.
1372* Fixed pre-loop\post-loop crown pools being swapped (accidental meta huh?).
1373* Fixed some melee weapons having wrong damage.
1374* Fixed custom crowns working oddly (due to http://bugs.yoyogames.com/view.php?id=25011).
1375* Fixed Eagle Eyes not working for a handful of weapons after recent changes.
1376
1377v9863: Custom crowns, mutations, props, objects, and other scripting additions.
1378+ Custom crowns are now supported.
1379+ Custom mutations are now supported.
1380+ All projectiles now support `damage` and `force` (knockback) variables.
1381+ Added CustomObject, CustomProp, CustomHitme
1382+ Added variables canpick, canwalk, canspec to Player object.
1383+ Added variable sprite_angle to Player object for rolling without Fish-ing.
1384+ Added variable bskin to Player object (triggers style update).
1385+ Added a "race_skins" callback that can return number of supported skins for a custom race.
1386+ Function calls and most variable assignments are now type-checked,
1387 which means seeing script errors instead of having the game hard-crash.
1388+ Added and organized some API entries.
1389+ There are now script_bind functions to create mini-objects to execute scripts.
1390+ Added a chat_command(command, parameter) callback that .mod type mods can define.
1391+ Added an update checker.
1392+ Game now shows 2x sprites for weapons without loadout sprites (for the lack of better).
1393+ Skeleton now has menu sounds, which are technically just recycled other sounds.
1394~ A few more objects are now GameObject-based for convenience.
1395* Fixed the game hard-crashing when trying to replace select sprites.
1396* Fixed Rogue Strike audio continuing to loop if used while the level ends.
1397* Fixed /bwep not working for Steroids.
1398* Fixed "[GOLDEN WEAPON] STORED" popups in SP when starting with a golden weapon.
1399* The game no longer crashes if your weapon-mod returns wrongly typed values for callbacks.
1400* Fixed golden weapons sometimes not showing up in loadout.
1401* Fixed mods not receiving a game_start call on restart via menu.
1402
1403v9862: Matchmaking, Skeleton B-Skin, and per-player drawing functions.
1404+ Added ds_list_remove (ds_list_find_index + ds_list_delete).
1405+ Burst-based projectiles now have `creator` variable set correctly as well.
1406+ Implemented automatic matchmaking (experimental).
1407+ WepPickups can now have multi-line names.
1408+ Added the Skeleton B-skin by BioOnPC.
1409+ Added draw_set_visible, draw_get_visible.
1410+ Added the `maxp` constant.
1411+ Added ref_player_set_show_marker, ref_player_get_show_marker (toggles off-screen markers).
1412~ Skeleton' unlock condition is now just becoming Skeleton.
1413~ Oversized menus (i.e. replay list) now work faster.
1414~ GenCont is now dynamic and blame yourself if you break it.
1415* Fixed Esc sometimes exiting two menus at once.
1416* Fixed ds_list_insert having wrong definition.
1417* Fixed golden laser pistol not aiming at cursor.
1418* Fixed secondary weapon reloading even if not playing Steroids (since weapon refactors).
1419* Fixed a crash when becoming Skeleton.
1420
1421v9861: Scripting additions and fixes for recent side effects.
1422+ Added game_start callbacks for "mod" and "race" mod types.
1423+ Added Player.candie variable in case you want to prevent player death.
1424+ Added view_shake[] to get/set screenshake per player.
1425+ Added weapon_gold callback that can return whether the weapon should occur in gold chests.
1426+ Passing an array into a with() now loops through contents.
1427~ Function trace(...) now displays arrays and objects more nicely.
1428~ Chat message length limit is now higher for commands.
1429* Fixed melee energy weapons not "flipping" angle correctly.
1430* race_tb_take no longer executes twice if both players have the same race.
1431* Fixed golden car not working if the portal is already open.
1432* Fixed single-player sessions sometimes having effects from different characters from picked.
1433 (since 9859 the game would pick a random character for P2 even though they are not in-game)
1434* Fixed autoaim; players can now have individual autoaim settings.
1435* Fixed ravens not flying anywhere (introduced in 9854).
1436* Fixed a crash on creating RavenFly.
1437* Fixed a crash on creating EmoteIndicator without setting up player variable.
1438* Fixed Big Dog' (character) missiles decreasing kill counter.
1439* Fixed Chicken being unable to die.
1440* Weapon pickups now display the .name
1441* Calling skill_set applies/unapplies stat bonuses correctly now.
1442* with() now gives error line position if argument is of wrong value.
1443
1444v9860:
1445~ Big Dog can now be unlocked when enabled.
1446* Fixed IDPD grunts dashing instead of rolling.
1447* Fixed guns facing wrong directions.
1448* Fixed audio while clicking anywhere with a locked character selected.
1449
1450v9859: Scripting features and custom colors for everything.
1451+ Lightweight objects are now supported (e.g. `q = { a: 1 }; trace(q.a);`) - see wiki.
1452+ Constant expressions (e.g. `16 * 7`) are now evaluated compile-time, where possible.
1453+ Custom race' names are now shown on character select screen.
1454+ Sentry gun now has separate idle/hurt/pickup sprites, just in case.
1455+ Majority of objects now support color/alpha tint.
1456+ background_color is now accessible.
1457+ Added race_set_active(race, active) for enabling/disabling built-in races.
1458~ Big Dog character (race id 13) should work now if you want to do that to yourself.
1459* Fixed player_get_color.
1460* Fixed `$` hexadecimal notation (again).
1461* Fixed some object fields missing the needed checks/post-set actions (e.g. WepPickup.wep).
1462* Fixed a crash if the player is killed by a player-created plasma projectile.
1463* Fixed race_ultra_button not working.
1464
1465v9858: View API and custom colors for projectiles.
1466+ Added view_object[] and view_pan_factor[] for making views follow non-player objects.
1467+ Added player_get_show_cursor, player_set_show_cursor, and a few other player_ functions.
1468+ Walls can now be color-tinted.
1469~ player_color[index] is now player_get_color(index).
1470~ Mods no longer execute while the game is paused.
1471* Fixed player_find() not detecting as a function.
1472* Fixed GmlMod displaying fields that are not accessible.
1473* Fixed grenade rifle shooting bonus Rogue Rifle projectiles (this will be missed).
1474* `ds_` functions used in `/gml` chat command no longer crash the game.
1475* "in" operator is now less "greedy" (`a in b && c in d` will not exec as `a in (b && (c in d))`).
1476* All projectile types should now obey image_blend correctly if set.
1477
1478v9857:
1479+ Added weapon_melee for overriding whether the weapon should "swing" or not.
1480* Fixed energy melee weapons not "swinging".
1481* Fixes for even more missing object fields.
1482
1483v9856: Mostly new scripting language features.
1484+ Added support for macros. Syntax is `#macro name value`.
1485 Macros are replaced with their values on compile.
1486+ Added an "in" operator, which is a shorthand for variable_instance_exists.
1487 For example, `if ("t" in self) t += 1;` or `if ("t" not in self) t = 0;`
1488+ Exposed draw_text_nt, draw_text_shadow, draw_rect_ext.
1489* Fixed a number of variables no longer being accessible (after big changes in 9854).
1490* Fixed race_soundbank not working.
1491
1492v9855:
1493+ typ_ ammo variables are now accessible on Player object.
1494+ The rest of weapon_get_ scripts are now accessible.
1495~ Renamed weapon_sond to weapon_swap.
1496~ Changing WepPickup.wep now changes sprite and text automatically.
1497* Fixed a potential desync with weapon_set_area preserving state between runs.
1498* Fixed crashes on field access to several objects.
1499* Fixed some objects not having variables exposed correctly.
1500
1501v9854: Major rewrite to game variable' manipulation scheme.
1502+ Pretty much all objects now support custom variables and you can read/write all game' variables.
1503+ `/loadmod test` can now guess `test.mod.gml` and there are separate loadrace and loadwep commands.
1504+ Weapon commands (cwep, bwep, etc.) now accept custom weapons.
1505~ Sound functions are now sound_ and more or less closely resemble legacy GML API.
1506* Large (>10KB) mods now load noticeably faster.
1507* Fixed errors not showing up during split/delayed execution via fork/wait.
1508* Chat history completion (up/down) is now a bit smarter.
1509* Fixed a few rare crashes related to searching for players.
1510 (introduced in 9844 due to updating to a newer version of GameMaker)
1511
1512v9853: Custom races, ds_maps, and ds_lists.
1513+ Custom race support!
1514+ Exposed a bunch more requested fields on objects.
1515+ ds_map and ds_lists are now supported in scripting, complete with accessors.
1516~ wep/bwep now auto-convert numeric ids to strings if needed.
1517~ Pressing "Menu" on "Game Over" screen now sends you to character select, not main menu.
1518* Fixed some weapons firing projectiles of their own and the next-id weapon.
1519* Fixed a crash with sprite_add_base64.
1520* Fixed hexadecimal number notation "#FF" not working correctly.
1521* Fixed a number of crashes related to creating objects without initializing their variables.
1522* Fixed the rest of untreated "seekAll" errors that pop up compile-time.
1523* Fixed saving in SP games not working consistently enough.
1524
1525v9852: Sprite loading and some other functions.
1526+ Added functions to load sprites from base64 strings.
1527+ Added player_find.
1528+ Exposed the rest of the game's snd_ scripts.
1529+ Exposed several mp_ functions that the game uses.
1530~ Weapons are now addressed by name (.../{name}.wep.gml) instead of full path.
1531* Fixed field access error messages not showing context correctly.
1532* Fixed Player.gunangle pointing to a wrong variable.
1533* Fixed mod-created grenades being sticky by default.
1534
1535v9851: Custom weapons and scripting language improvements.
1536+ Added /gml
1537+ do-while, do-until, and switch statements are now supported.
1538+ Prefix/postfix operators (`++i`, `i++`) are now properly supported for most situations.
1539+ Custom weapon support!
1540+ A couple more functions and fields exposed.
1541~ Some big changes to how weapons are handled - something may be broken.
1542~ Golden Frog Pistol is now ID 127 instead of ID 201 to get rid of that 70-index "void" in lists.
1543* Pretty much all player projectiles should now have `creator` variable set.
1544
1545v9850: Automatic API dumping and more functions.
1546+ Added /unloadmod.
1547+ Added /gmlapi.
1548+ Exposed a handful more built-in and NT-specific functions.
1549* Fixed a crash related to displaying headless Chicken on the map.
1550* Maximum number of arguments for "native" function calls increased to 16.
1551* Fixed a crash with nested with-loops (for real this time?)
1552* Added "wait" instruction - pauses script execution (e.g. `wait 1`).
1553* Added a fork() function -
1554* Projectiles now should have variables set correctly even if custom-made.
1555* Fixed it being possible to open chat in main menu (where it does nothing).
1556
1557v9849: More GML API functions and game logic' hooks.
1558+ Most objects can now be created and managed.
1559+ Exposed a number of built-in functions.
1560+ team, my_health, maxhealth, hitid variables are now accessible on objects that have them.
1561+ alarm events are now exposed as alarm0...alarm11 (no []).
1562+ You can press Up to restore your previous sent chat message (no log, though).
1563* Fixed a crash on nested with-loops.
1564* Fixed assignment-operators not working correctly for most things.
1565* Fixed a crash when doing array writes inside a with-loop.
1566* Fixed a crash on writing to mod-object.
1567* Fixed object_index not working.
1568
1569v9848: Scripting introduction (global mods only, few functions).
1570+ Experimental scripting, first draft.
1571* Fixed ultra shell sprites getting stuck (introduced in 9844).
1572* Fixed duplicate portals on 0-1.
1573
1574v9847: Robot C-skin and tweaks for spritemods.
1575+ Added a Robot C-skin.
1576+ Separated a bunch more graphics.
1577 See the updated list of modifiable sprites for more information.
1578 Aside of that, Chicken' headless portrait art and map icon have a second frame for B-skin.
1579~ When Chicken is dead, map icon no longer displays the "headless" sprite.
1580* Fixed half of uppercase Cyrillic characters not working in chat (workaround for a GMS bug).
1581
1582v9846: Emoticon indicators and helper commands.
1583+ Added "emoticon indicators" - press 1\2\3\4\5\6 when in-game.
1584+ Added /locate - for debug purposes - lists instance sprite and coordinates.
1585+ Added /stopaudio - in case the sounds just don't stop.
1586* Fixed ravens very rarely getting stuck in a landing loop.
1587* Made a small but surprisingly noticeable optimization to level generator.
1588* Potentially fixed an issue with portal not opening in coop sometimes.
1589
1590v9845:
1591* Reverted to using a non-early-access version of GameMaker because "fast collision system"
1592 is still causing synchronization issues (introduced in 9844).
1593
1594v9844: More commands for spritemods and changes for spritemods.
1595+ Added /copysprite, /copyimage.
1596+ Separated a number of sprites previously shared between multiple objects.
1597 This is to permit replacing only certain graphics without affecting unrelated ones.
1598+ Added special sprites to permit altering background and shadow colors
1599 (sprAreaBackCol, sprAreaShadCol, sprSecretBackCol, sprSecretShadCol)
1600~ Loaded graphics now assume pixel-perfect collision masks to be sure.
1601* Exiting single-player no longer exits right to main menu[ discarding loaded graphics].
1602
1603v9843*:
1604+ Added /savegame, /loadgame.
1605~ Everything is no longer unlocked automatically in SP (reset data to unlock manually).
1606~ Can use /loadgame+/savegame to keep track of unlocks in MP.
1607
1608v9842:
1609+ Added /loadtext.
1610+ A small "[spritemod]" overlay is shown if graphics have been modified (for viewer's clarity).
1611* Fixed mishaps between /loadimage and /loadsprite.
1612* Fixed keybinds triggering mb1/mb2 actions even when chat is open.
1613
1614v9841: Sprite subimage' loading.
1615+ Added /loadimage, /saveimage.
1616+ Added even more checks to give more precise initialization error messages.
1617* Added more safeguarding to avoid double car exit bug (should help for real this time).
1618
1619v9840: Spritemod introduction.
1620+ Weapons can now be switched during level generation.
1621+ Chosen ultra mutation mode is now preserved and sent on game start.
1622+ Can now paste multi-line snippets of text into chat - all but last line will be auto-sent.
1623+ Implemented sprite sideloading - any sprite can be replaced via /loadsprite.
1624 Changes are synchronized in online multiplayer sessions.
1625~ Players disconnecting will no longer cause trouble on the default revmode.
1626 That said, some things will work oddly, thinking that the game is in coop mode, but at least
1627 you should be able to finish a run if a player leaves/times out.
1628* Fixed Eyes' passive not pulling weapons (introduced in 9838)
1629* Fixed it being possible to pick up invisible weapons.
1630
1631v9839: Fixes all the day.
1632* Potentially fixed an issue with 1-3 boss music triggering when it shouldn't.
1633* In a particular location, other cars no longer explode when using one of them.
1634* Multiple players can now enter the same portal.
1635* Fixed an occasional second portal at 0-1.
1636* Grenades no longer make continuous sounds if hit near walls (u99).
1637* Elite inspectors no longer pull non-moving projectiles (u99).
1638* 3-3 boss music now ends after it explodes (u99).
1639* Fixed a possibility of getting multiple 101-1 portals on loops (u99).
1640* Ultra bolts now behave like in u99 (slightly slower and pushing each other away a little).
1641* Fixed proto statue shadows being misaligned (u99).
1642* Maggot spawns can no longer be duplicated on loops (u99).
1643* Fixed IDPD sirens playing when vans can't spawn anyway (u99).
1644
1645v9838*:
1646+ Implemented a C-skin for Y.V. (guess which).
1647+ Startup error messages are now even a bit more clearer about what could be wrong.
1648~ In online multiplayer, your HUD is now always the one in top-left corner.
1649* Fixed Frog having a different (legacy?) character title on P2 slot.
1650* Fixed lightning weapons not working correctly at 0-1 boss fight.
1651* Fixed 0-1 boss fight music not looping correctly.
1652* Fixed Skeleton (character) making an unnecessary appearance at 0-1. This was not lore.
1653
1654v9837: Spectating, better weapon captions, and other quality of life improvements.
1655+ The mod now supports spectating.
1656 This uses similar approach to how replays work, and is compact (0.5KB/s bandwidth per viewer).
1657+ Captions are now shown for the nearest weapon, not for all nearby weapons.
1658 This is also warranted to be the weapon that you'll pick up on key press.
1659+ You can now use mouse while chat is open.
1660+ There is now an indicator above the player while they have chat open.
1661+ You can now cross the beams.
1662+ Having multiple robots with Refined Taste now slightly boosts weapon drop chances.
1663+ Mutations can now be selected with WASD+Enter.
1664+ Mutations can now be selected with 1..6 in non-SP (or with replays on).
1665~ Golden weapons are now stored per-player and per-race (instead of just per-player).
1666~ Crowns are now unlocked in UI by default (and you can still do /ccrown).
1667~ "Timer" option is no longer synced since it doesn't really have any effect on sync.
1668~ Menus now use an uppercase font, for consistency with the actual game.
1669* Fixed players displaying as "0ms" slots when they did in fact leave the lobby already.
1670* "Confiscate" now stacks correctly.
1671* "Meltdown" now stacks correctly.
1672* "Ambidextrous" now stacks correctly.
1673* "Determination" now works correctly.
1674* "Anomaly" now stacks (1.5x effect with 2P).
1675* "Distance" now stacks correctly.
1676* "Stalker" now stacks correctly.
1677* Fixed a potential rare crash with Big Bandit.
1678
1679v9836:
1680* Fixed a crash on Lucky Shot proc (introduced in 9834).
1681
1682v9835:
1683~ Melting' Ultra B now takes away less health with double Melting.
1684* Fixed ultra mutations for P2 playing P1's sound.
1685* Fixed it being possible to pick wrong crown/ultra by clicking a non-mouseover one.
1686* Fixed 2nd vault' proto chests being half-way into a wall corner sometimes.
1687* Fixed slowly growing ammo bonus from Fish' passive (introduced in 9834).
1688* Potentially fixed a few more desync-on-start issues.
1689
1690v9834:
1691+ Added optional individual ultra mutations (/ultras).
1692~ Rebel' allies now aim slightly ahead in the target's movement direction.
1693 Likely only noticeable on fast-moving targets such as 0-1 boss.
1694* Picking Skeleton's Ultra A now resets mutations as it should.
1695* Fixed multiline mutation tips overflowing in coop.
1696* Fixed some race-specific global effects not applying when the character(s) are fainted.
1697
1698v9833:
1699+ Added /portalfx for toggling portal effects, optimized portal drawing a little.
1700* Fixed rogue strike canisters being replaced by rad canisters if a big weapon chest spawns.
1701* Fixed a player being stripped of Rhino Skin passive if they were fainted when it was picked.
1702* Fixed the game desyncing outright if one of the players had "show tutorial" setting enabled.
1703
1704v9832*:
1705+ Mutation bar no longer displays under mutation buttons in coop.
1706+ Added /revmode for setting revival modes.
1707+ NTT-Assemble can now also help you with applying texture/audio mods on top of NTT.
1708~ Default connection timeout is now 30 seconds, just to be extra sure.
1709~ Game is now a little less picky about desyncs.
1710 Should help with replays desyncing after dying at 3-1\0-1.
1711~ Players can no longer attempt revival of coop partners while at 0 health.
1712~ Only the last living player can now become Skeleton mid-run in coop now.
1713~ Health chests can now restore maximum health to both players at once if they are Chicken.
1714~ Chicken now preserves the original maximum health upon revival.
1715~ Chicken no longer looses maximum health from reviving players on low health.
1716* Rogue' ammo is now preserved upon reviving.
1717* Hammerhead uses left are now preserved upon reviving.
1718* Fixed a potential desync in gameover screen when one player uses gamepad and the other uses mouse.
1719
1720v9831:
1721+ Mod should now work correctly if installed into a copy of NT's folder.
1722 For Steam invitations to work, the mod will have to be running while accepting, however.
1723+ "mutation bar" now displays the coop ultra mutations.
1724+ Added a /wscale command for changing window size.
1725+ The mod now plays a sound and toggles window caption when someone joins your game.
1726+ You can now mouseover weapons in HUD to see their names.
1727+ If one of the players is YV, you now get the expected one-time effect on level ultra.
1728+ Weapon names now display when mouseovering them in HUD.
1729+ Added adjustable delays for tooltips in HUD (/wtips, /mtips).
1730+ P2 can now skip credits as well.
1731~ Attempted to merge game's texture sheets together (four 2048x2048 PNGs -> one 4096x4096 PNG).
1732 This will either make things better or worse for Wine users.
1733* Fixed a crash with 4-1 L1+ boss occurring after both player's deaths sometimes.
1734* Fixed Steroids' secondary weapon missing an outline.
1735* Fixed player indicators displaying through the victory screen.
1736* Fixed gamepad controls not working for confirming picking a character.
1737* The mod should no longer crash if desyncing right on session start.
1738* Throne Butt mutation description is no longer duplicated if both players use the same character.
1739* Fixed HP pickup drop chance being lower than intended if the average health is above 50%.
1740* Fixed the game not noticing the window change timely (causes missing sideart)
1741
1742v9830*: First public release.
1743+ "Assembler" program now makes a backup of the executable automatically.
1744+ Added a statistic overlay with FPS, latency, and latency graph (hold Tab).
1745~ Version notice now displays in a few more places (for the viewer's clarity).
1746~ Game messages now point towards the readme a bit more often.
1747* Fixed statues absorbing rads even before activation.
1748* Fixed some elements of the campfire scene not being depthsorted correctly.
1749* Fixed a 1-frame "flash" when going to single-player mode.
1750* Fixed the timer not appearing at the right spot on a few screens in coop.
1751
1752v9829:
1753+ Added player outlines in coop mode (toggle with /outlines).
1754* Fixed a particular prop sometimes going amiss in 5-1 due to chest spawning.
1755* Fixed weapons sometimes rapidly flying off in a direction because of appearing at the same spot.
1756* Fixed weapon pickup mask being slightly off-center.
1757* Made another attempt in reducing cases where weapons near walls don't get sucked into portals.
1758
1759v9828:
1760~ "bond" ultra mutations now apply to opening chests.
1761* Golden cars and statues now won't explode if a chest falls onto them during generation.
1762* Fixed Esc exiting the game outright on char select after the other player left the game.
1763* Fixed airhorn sound playing every frame while B is held.
1764
1765v9827:
1766+ Added a /die command.
1767~ Sub-menus are now available for replays recorded for prior versions of the mod.
1768~ Chat now has slightly lower opacity if it's not open.
1769* Fixed a few sync issues related to re-resuming (chaining) replays multiple times.
1770* Fixed "resuming" message for replays not displaying correctly sometimes (related to above).
1771
1772v9826:
1773~ Golden weapons are now "stored" separately per-player.
1774~ Rebel' passive now applies for both players if you have "blood bond".
1775~ Horror' TB now heals both players if you have "blood bond".
1776~ Made a very slight adjustment to drop rate formula so that having a plenty of ammo
1777 (and/or melee weapon) with very low health would produce at least a few drops.
1778~ Reworked Robot's passive Ultra to make more sense and work in coop predictably.
1779* Weapons no longer get stuck in walls instead of being dragged into a portal.
1780* Fixed a crash on doing /ccrown -1.
1781* Fixed blood cannon' projectiles getting stuck in walls.
1782* Fixed Horror' passive having no effect on coop mutation choice with Crown of Destiny.
1783* Fixed only one black sword spawning no matter how many times the condition was fulfilled.
1784
1785v9825:
1786+ Replays are now supported for coop as well.
1787 You can also "stream" a replay and resume it from a point when each player watches
1788 the according replay player. Do keep in mind, however, that this is a very experimental
1789 feature, and will usually only work correctly when it's the first thing both players do in game.
1790+ Replays are now sorted in reverse chronological order and have basic action sub-menus.
1791+ Chat now supports Ctrl+C/Ctrl+V for copy/paste.
1792+ Copies of screenshots are now also saved into screenshots/ directory.
1793+ Added /bwep and /pwep commands.
1794+ "Invite friend" button now displays a more fitting (native) invitation dialog popup.
1795+ Reworked coop HUD. More stylish, compact, and symmetric.
1796~ Mutation buttons now ignore input for a few seconds to avoid misclicking.
1797~ Item drops now consider both players in calculations.
1798~ Health pickups now attract towards the nearest player regardless of health if the players
1799 picked the "blood bond" ultra mutation.
1800~ Rogue' chests now work more fairly in coop.
1801~ Disabled "golden weapon stored" popups since they have no meaning in this mod.
1802* Fixed a rare crash related to elite shielder.
1803* Enemy' slugs will no longer hit things while on last (almost gone) frames of animation.
1804* Potentially fixed a rare desync after waiting for a while after player's death on 3-3 boss.
1805* Fixed a rare bug where the game could only capture the first screenshot per launch correctly.
1806* Fixed Crown of Death' effect wearing off upon revival.
1807* Fixed a crash on doing /cwep -1.
1808* IDPD chests no longer appear to be regular large chests with Steroids' Ultra B.
1809* Fixed "Eagle Eyes" bonus wearing off upon revival.
1810* Fixed proto-chests not spawning in vaults sometimes (when they had to).
1811* Fixed 6-1' stationary enemies spawning under 6-1 L1+ boss sometimes.
1812* Fixed camera looking at nothing if your Chicken's (missing) head gets exploded.
1813* Fixed Chicken' heads going missing when they should not and not going missing when they should.
1814
1815v9824:
1816+ Implemented a replay system.
1817 Currently resides under "Coop - Replays" in the menu.
1818 Currently can only record and replay single-player runs.
1819+ Coop menus now spot a "back" button for mouse controls.
1820+ Coop menus now have sound effects akin to regular menus.
1821+ Added a /hardmode command.
1822~ Horror now drops just about half of the rads on death in coop.
1823~ Bloodlust/lucky shot now proc simultaneously for both players with the according "bond" mutation.
1824~ Remote player' laser sights are now hidden in coop.
1825~ Robot' passive now works consistently in coop and stacks.
1826~ Disabled backing out of online coop via RMB alone.
1827* Fixed seed.txt successfully desyncing the game if seeds were not the same between players.
1828* Fixed 7-3 and 0-1 bosses not dropping rads that were beamed into them.
1829* Fixed a rare softlock in 7-x enemy teleportation.
1830* Possibly fixed a bug with broken crown vaults.
1831* Fixed /ccrown having no effect in coop.
1832* Fixed "back to main menu" button being mispositioned for the second player in coop.
1833* Fixed Strong Spirit recovering only for one player per level.
1834* Fixed Throne Butt' P2 text being slightly misaligned in coop.
1835
1836v9823:
1837* Character selection animations now play individually per player, and arrow key/dpad switching triggers animations too.
1838* Fixed pause menu code unfairly butchering the "exploded barrel" sprite on game start.
1839* Fixed mouse clicking on character selection changing character for both players if both used mouse (introduced in 9822).
1840
1841v9822:
1842+ Character selection screen now works more similarly in SP/MP modes.
1843+ Frog is now a little easier to control (fixed not being possible to turn 180 degrees if going straight N/S/W/E).
1844+ Frog can now use Hammerhead mutation - use active ability when standing next to a wall.
1845+ Health pickups are no longer attracted towards players that are already at full health.
1846+ Players now will automatically pick up their weapons upon revival, provided that they are still lying nearby.
1847~ "Low HP" / "Low ammo" notes are no longer shown for remote players.
1848* Fixed extra feet speed boost wearing off after a player dies.
1849* Fixed another rare desync related to different portal style carrying over from previous sessions.
1850* Fixed remote player' weapons not always facing the right direction (visual only).
1851* Fixed elite shielder's teleport not working correctly.
1852* Fixed a bug where portals would quite often spawn on top of a random destroyed barrel in desert area.
1853* Fixed it being possible to pick wrong mutation in coop when both players are actively mouseovering them.
1854* Fixed a bug with specific prop unintentionally exploding after hitting it with an energy screwdriver and laser brain mutation.
1855* Fixed a potential (rare) softlock in raven flight algorithm.
1856
1857v9821:
1858+ You can now select Skeleton and Frog via normal means.
1859
1860v9820:
1861+ The game now displays a separate kind of HUD for fainted players.
1862* "Connecting..." text is now correctly center-aligned in menus.
1863* Fixed Melting sometimes getting 3/2 HP upon revival.
1864* Fixed a situation-specific crash when reviving a local player that uses a gamepad.
1865* Fixed weapons drawing with stretching/artifacts in HUD.
1866* Potentially fixed an occasional desync on one secret character's death.
1867
1868v9819:
1869* Fixed a 0-1 crash (introduced in v9818).
1870
1871v9818:
1872 In which I attempt to fix every coop logic bug.
1873 Here, "biased towards one player in coop" implies player with lower index, be that from being the longer-surviving player, or from going through the portal first.
1874
1875: General:
1876* Fixed discs starting to hurt one of the players in coop earlier than the other.
1877* Fixed chests and crowns not always playing the touching player' sounds in coop.
1878* Fixed wrong line 2 color in Throne Butt description in coop.
1879* Fixed proto chests closing only by proximity towards one of the players in coop.
1880* Fixed player-race-specific alternate soundtracks not always triggering in coop.
1881* Fixed area-specific player sounds playing only for one of the players in coop.
1882* Fixed ammo pickups getting cursed only based on one player's actions.
1883* Fixed shovel/ultra shovel precision based on one player's stats in coop.
1884+ All of the players are now shown on loading screens.
1885+ There's no longer a delay on laser sight (and weapon-related visuals in general).
1886
1887: Character-specific:
1888* Fixed various skills and effects only displaying above one player in coop.
1889 (Bloodlust, Horror TB, Laser Brain, Level up, Robot' active, Steroids TB, Strong Spirit, weapon switch)
1890* Fixed Rogue' chests not always appearing in coop.
1891* Fixed Rogue not always causing the additional enemies to spawn.
1892* Fixed Melting' passive not always working in coop.
1893* Fixed weapons not always uncursing correctly in coop.
1894* Fixed gas TB effect not always working in coop.
1895* Fixed Rebel-specific sound on 1-3 victory not always playing in coop.
1896* Fixed Horror' passive not always working in coop.
1897* Fixed Y.V. specific loading screen text not always appearing.
1898
1899: Enemies:
1900* Fixed maggot canisters not checking appearance condition correctly in coop.
1901* Fixed big maggots only attempting to ambush one of the players in coop.
1902* Fixed 2-1 exploding enemies not always making the "approaching" sound in coop.
1903* Fixed 2-1 L1+ boss item drop condition not always working in coop.
1904* Fixed 4-1 entrance condition not always working in coop (now requires any player to meet the condition)
1905* Fixed 5-3 boss being biased towards terrorizing one of the players in coop.
1906* Fixed 6-1 exploding enemies only desiring to explode near one of the players in coop.
1907* Fixed 6-1 stationary enemies only being triggered by one of the players in coop.
1908* Fixed 6-1 L1+ boss not necessarily tracking the right player.
1909* Fixed 7-3 boss being only activateable by one of the players in coop.
1910* Fixed 7-3 boss only being interested in walking towards one of the players.
1911 If you had situations where one of the players was randomly ran over by the boss, that's what it was.
1912* Fixed vans being biased towards running over one player in coop.
1913
1914v9817:
1915* Fixed hyper launcher and hyper slugger hitting allies.
1916* Fixed a lonely bandit spawning in 0-1.
1917
1918v9816:
1919~ Timer now displays in bottom-left corner of the screen in coop.
1920~ Tweaked campfire area generation for appropriateness.
1921* Fixed timer going faster than usual in coop.
1922* Fixed desyncs on last portal type not matching up between players.
1923* Fixed a crash when specifying non-existing names for /ccrown command.
1924* Fixed snare not working correctly with two Plant characters.
1925* Fixed crystal shield not displaying b-skin correctly with two Crystal characters.
1926* Fixed a crash in HQ boss intro.
1927
1928v9815:
1929+ Added commands for setting starting weapon and crown.
1930+ If a portal is off-screen, an indicator is now displayed to guide towards it.
1931~ Disabled the "stats" button because this mod does not store persistent stats anyway.
1932* Fixed a whole bunch of sync issues when one of the players uses a gamepad.
1933* Fixed proto chest containing weapon 0 by default.
1934* Fixed a very rare bug with portals spawning off-level.
1935* Fixed another case of "MAX MELEE" popup texts instead of actual ammo type granted.
1936
1937v9814:
1938+ Menu can now be operated with mouse as well.
1939+ Fainted players now carry over to the next level as you could expect them to.
1940+ Fainted players now emit a small amount of light in dark levels.
1941* Fixed wasting health on reviving characters with less maximum health.
1942* Fixed "lucky shot" popups displaying incorrect data.
1943* Fixed portals spawning at an unnecessary offset from the last killed enemy.
1944* Player indicators are no longer displayed during loading.
1945* Fixed Eyes' passive applying to wrong player' cameras or not working at all.
1946
1947v9813:
1948+ Mutation bar is now displayed in multiplayer and also in the pause menu.
1949+ There's now no latency on mouse aiming and associated view movement.
1950+ You can now enable/disable separated views with /sepview command.
1951* Fixed Hyper Crystal spawning unrelated objects instead of crystals.
1952
1953v9812:
1954* Fixed a bug with vanishing projectiles during 0-1 fight.
1955* Fixed local color 2 being applied instead of LC1 if you are P2 in online mode.
1956* Fixed "Bloodlust" proc not working correctly in coop.
1957+ Player indicators now double as pointers to their off-screen positions.
1958
1959v9811:
1960* Fixed desync on Lil' Hunter fight
1961* Fixed crash on ammo being sucked up by portal (as opposed to players).
1962
1963v9810:
1964+ Rewrote an impressing chunk of the game code to permit players to have separate cameras in online multiplayer.
1965* "toaster" popups no longer show for things related to remote players.
1966* Fixed "Recycle Gland" resetting P2's bullet ammo.
1967
1968v9809:
1969* Fixed slowdown on extensive use of explosives.
1970* Fixed Fish' passive working only at P1 slot.
1971* Fixed error in "/help" command.
1972* Fixed crash on dying to CrownGuardian.
1973
1974v9808:
1975+ The mod builds now include this changelog.
1976+ Updated the latency display display in lobby to make more sense.
1977- Reverted changes made in v9807 by moving to Early Access version of GMS because that broke more things than it fixed.
1978
1979v9807:
1980+ Added a "/stat" command that displays current FPS and instance count.
1981* Fixed a crash when dying during Lil' Hunter fight.
1982* Fixed the game disabling coop if exiting to character select via "Menu" button in pause menu.
1983
1984v9806:
1985+ You can now customize colors via /color command. Affects healthbar, cursor, and player indicator.
1986+ Single-player mode now works akin to multiplayer and thus has chat.
1987+ You can now switch to B-skin in coop by using "swap" key on character select screen.
1988+ Both players can now play the same character without making use of any bugs.
1989* Fixed deadzones on gamepad controls being larger than needed.
1990* Fixed "Trigger Fingers" mutation' effect in coop.
1991* There's now one guitar dropping per each each Fish character in play.
1992* Fixed "Rhino Skin" mutation' effect wearing off after respawn.
1993
1994v9805:
1995* Invitations can now be accepted from main menu or SP mode as well, rather than just the MP menu.
1996* Fixed version number (on top of the menus) displaying at the wrong spot.
1997
1998v9804:
1999+ The game now produces 3 debug files per desync to aid solution seeking.
2000* "Menu" button in pause menu now takes to character select rather than main menu in online mode.
2001* Fixed exiting from multiplayer via "back" arrow in loadout disabling chat for the player left in the game.
2002* Fixed keyboard controls still being accepted while chat is open.
2003* Timeout time is increased to 15 seconds to deal better with 7-3 loading times on slower computers.
2004* Fixed "Escape" button not working for leaving online-related menus.
2005
2006v9803:
2007* Seemingly fixed the desync caused by the "splash" enemy type in 7-x.
2008* You can no longer randomly roll the secret characters, resulting in errors.
2009* Fixed chat displaying at a wrong position.
2010
2011v9802:
2012+ The mod now will inform you if the Steam API Networking DLL could not be loaded
2013 [instead of hard crashing mysteriously]
2014* Fixed inputs being delayed by one more frame than needed.
2015* All characters are now unlocked by default in online multiplayer mode.
2016* Fixed other player being robbed of joy of hearing you use the airhorn.
2017* Pausing now works in online multiplayer mode.
2018
2019v9801:
2020~ The mod now uses a separate savegame from regular Nuclear Throne to avoid any potential damage.
2021* "Start" button in lobby is no longer shown until someone joins the game.
2022* Local mouse cursors are now displayed at real positions regardless of delay.
2023
2024v9800:
2025+ Initial release. The adventure begins.