Releases: TeamREPENTOGON/REPENTOGON
1.0.7b
Additions:
- Add an option to show Planetarium spawn chance in the stat HUD
- BlendMode's variables are now RGBSourceFactor, RGBDestinationFactor, AlphaSourceFactor, AlphaDestinationFactor (previous names will still work for now)
- Added BlendFactor and BlendType enums for BlendMode
Fixes: - Fix regression caused by Godhead + Tear Detonator fix that prevented the aura from damaging enemies
- Fixed console wonkies involving input text edge detection and scaling
- Fixed Game:ShowGenericLeaderboard method to throw back to main menu even if leaderboards are no longer displayed after new run/continue
1.0.7a
1.0.7
Additions:
- Backdrops:
- Custom Backdrop support! with contents/backdrops.xml!
- Custom attribute reftype to specify the base backdrop for the custom ones
- Isaac.GetBackdropIdByName (self-explanatory make sure to give your backdrops a name!)
- MC_PRE/POST_BACKDROP_CHANGE callback accepting callbacktype as a return value on pre and recieving callbacktype as a param
- Stages:
- Isaac.SetCurrentFloorMusic(musicid): changes the default music for the current floor(will reset after you leave the floor).
- Isaac.SetCurrentFloorBackdrop(backdropid): changes the default backdrop for the current floor(will reset after you leave the floor).
- Isaac.SetCurrentFloorName(string): changes the stage name for the current floor(will reset after you leave the floor).
- Isaac.GetCurrentStageConfigId(): returns the stagesid from the stages xml for the current floor.
- Challenges:
- Added the "hidden" attribute to the challenges.xml that can hide modded challenges from the menu when it's anything but "false".
- Added support for the "achievements" attribute for modded challenges, so modded challenges can now be locked. This param also supports using modded achievements.
- Added a new "lockeddesc" attribute, so you can a custom message to be displayed when your challenge is locked (default is "LOCKED :("). Pretty useful for unlock hints.
- Familiar :
- RemoveFromPlayer
- CanBlockProjectiles
- CanBeDamagedByProjectiles
- CanBeDamagedByEnemies
- CanBeDamagedByLasers
- EntityNPC :
- GetDarkRedChampionRegenTimer
- EntityBomb:
- GetRocketAngle / SetRocketAngle
- GetRocketSpeed / SetRocketSpeed
- EntityPlayer:
- GetUrnSouls
- EntitiesSaveStateVector:
- Clear
- Minimap :
- SetState
- SetHoldTime
- EntityConfig:
- Added EntityConfig.GetBaby(i) and EntityConfig.GetMaxBabyID(), as well as the corresponding EntityConfigBaby class (its co-op babies).
- XMLData :
- XMLData.GetEntryByOrder: gets entries in the order they appear on the xmls.
- Callbacks :
- MC_POST_NPC_DARK_RED_CHAMPION_REGEN: Called right after a dark red champion regenerates out of goo form
- MC_POST_ACHIEVEMENT_UNLOCK: Called after an achievement is unlocked, has the achievement id as its param
- MC_PRE/POST_MINIMAP_UPDATE: Called right before or right after the minimap is updated
- MC_PRE/POST_MINIMAP_RENDER: Called right before or right after the minimap is rendered
- MC_PRE/POST_PLAYER_ADD_HEARTS(EntityPlayer Player, int Amount, AddHealthType AddHealthType, bool OptionalArg): Called when hearts are added to the player, allows changing the added amount of hearts.
- MC_POST_RENDER_PLAYER_HEAD/BODY we had the pre but not the post. Same args as the pre, but with the updated vector if its changed on pre
- MC_POST_PLAYERHUD_ACTIVE_ITEM now has an additional "ChargeBarOffset" arg (the screen position where the charge bar would be rendered)
- ImGui :
- Now supports multiline input. Use CTRL + Enter for a newline, useful for pasting Lua scripts or making fortunes
- Now has a horizontal scrollbar when needed for console input
- Console history reimplementation is now more accurate, properly removing duplicate entries from history when a command is executed from history
Modified:
- Entity :
- GetCollisionCapsule offset vector argument is now optional (Vector.Zero)
- Pickup :
- Pickup:IsBlind method now checks natural blind effect (also added "CheckForcedBlindOnly" optional argument)
- Changed the destination goal sprites from the daily menu to match the style of the other paper sprites
Fixes:
* Fixed a vanilla game crash that happens with detonator+godhead which has been around for years
* Fixed issue that preventing the root attributes on repentogon-supported xmls(achievements,giantbook,backdrops) from working properly
* Fixed an issue that prevented custom parsed attributes from working on xmls with hugeass comments at the beginning of the file
* Fixed an issue where the console would behave sporadically when closed with numpad enter
* Fixed MC_POST_SFX_PLAY not firing properly when there was no PRE added.
* Fixed Achievement Reversed Hierophant enum naming (deprecated ones left for compatibility)
* Fixed a bug where adding modded follower familiars could sometimes freeze the game (especially while using MC_GET_FOLLOWER_PRIORITY).
* Fixed EntityNPC:GetBossColorIdx() not matching the values of the function in vanilla
* Callbacks re-implemented by REPENTOGON (such as MC_ENTITY_TAKE_DMG) now use their original callback IDs rather than a new one (fixes cases where the original ID was used directly, instead of the enum).
* MC_POST_PLAYERHUD_ACTIVE_ITEM's "Offet" arg now accounts for Book of Virtues & Judas' Birthright
* MC_POST_PLAYERHUD_ACTIVE_ITEM's "Scale" arg is now correctly halved for the secondary (schoolbag) slot
* Removed ImGui's automatic window resizing as it caused more issues than it solved
* Set a larger padding for ImGui to instruct it to always keep at least (100, 100) pixels of debug windows visible
1.0.6b
newlines
1.0.6a
Hotfix Marks and Achievement Tracking
1.0.6
Changelog
1.0.5a
changelog again
1.0.5
Additions:
- Added Challenge completion tracking to the mod challenges menu
- Added localization code support
- Added settings to change unifont rendering size
- Add Update callbacks for GridEntityTNT
- Add Render callbacks for GridEntityLock and GridEntityTeleporter
- LayerState:
- Get/SetWrapSMode
- Get/SetWrapTMode
- these play some currently unknown role in allowing sprites to wrap around, and is required for Beam sprites
- Beam and Point have recieved some reworks in preparation for a future cord reimplementation
- The Sprite used in the Beam must be in the same "scope" as the Beam. For example, a global Sprite and local Beam works, but local Sprite` and global Beam won't. They can also both be global/local or in the same table.
- Point no longer has a Color object for the time being to save some space. It should hopefully return later, pending finding a good way to optimize it.
- Added PRE_PLAYERHUD_RENDER_HEARTS(Vector Offset(?), Sprite HeartsSprite, Vector Position, float Unknown) callback, returning true cancels hearts HUD rendering
- Added support for custom items in the items attr on players.xml by using their name instead of id.
- Added support for modded startitems,playertype and starttrinkets in challenges.xml.
- Added support for custom achievements in the achievement attribute for items.xml(cant lock items yet tho...)
- Added MC_POST_HUD_RENDER callback (good for rendering on top of the HUD)
- Added WeightedOutcomePicker:RemoveOutcome(int Value) and WeightedOutcomePicker:GetOutcomes()
- Added Entity Get/Set methods related to status effects countdown
- Added challenges.xml param unlocksachievement attribute, which tells which achievement is unlocked on the modded challenge completion.
- Added MC_POST_PRE_CHALLENGE_DONE to do stuff when a challenge is completed, on POST, or prevent its completion on PRE.
- Added the challenge functions Isaac.GetModChallengeClearCount, Isaac.ClearChallenge, Isaac.MarkChallengeAsNotDone and Isaac.IsChallengeDone.
- Changed the PRESS E FOR CHALLENGES MENU note, on the challenges menu, to follow you around and not be left at the top.
- Entity:ForceCollide() now works for EntityLasers
- ModsMenu.GetSelectedElement() and ModsMenu.SetSelectedElement() now start at 1 to be more intuitive
- ModsMenu.SetSelectedElement() clamps values below and above the amount of mods the player has
- The mods menu can now be scrubbed through! Left/Right will scroll three mods at a time. Page Up/PageDown on keyboard and Left/Right Trigger on controller will scroll ten mods at a time.
- Added WeightedOutcomePicker:AddOutcomeFloat(), WeightedOutcomePicker:Clear() and WeightedOutcomePicker:GetNumOutcomes()
Fixes:
- Fix GridEntity render callbacks being massively broken
- Fix PRE_GRID_ENTITY_SPAWN not accepting a table
- Fix potential crash with SpawnGridEntity(GridEntityDesc)
- main_ex.lua typechecking on this is temporarily disabled
- Will silently fail if returning an invalid type to prevent crashes
- Fix Entity:AddWeakness duration being incorrect
- Fix Beam:Add(Point) override
- Fix nomarks players.xml attribute
- Fix GetAchievementIdByName not working until Slot selection
- Fix XmlData.GetByName and GetById returning the input instead of nil when not finding anything
- Fix several XMLData Achievement SourceId clownery when mods set ids for their achievements
- Fix XMLData GetNumEntries being inconsistent
- Fix binder for Familiar:UpdateDirtColor
- Fix FlatPatch spam in repentogon.log by reworking Quick Room Clear patch
- Fix GridEntityDoor vanilla variables PreviousState/PreviousVaraint returning unusable userdata instead of integer
- Fix Weapon:SetFireDelay() not working
- Fix ModsMenu.SetSelectedElement() only having a cosmetic effect
1.0.4
Additions:
- The error dialog now automatically gets dismissed the next time ImGui is opened
- Imgui.IsVisible()
- Added function overload for Isaac.GetLocalizedString(), which accepts LanguageCode string as paramater
- Added Scale param for POST_PLAYERHUD_RENDER_ACTIVE_ITEM callback
- Added Entity:GetDamageCountdown() and Entity:SetDamageCountdown()
Fixes:
- Fixed Eden's damage, range, and shot speed stats not properly changing
- The console reimplementation is now more faithful to the original, which fixes some cases where the output color was wrong
- Pickup:GetCollectibleCycle() length now limited by CycleCollectibleCount
- Fixed binder for Player:AddBoneOrbital
- Renamed Player method AddLeprocy -> AddLeprosy
- Fixed binder for PlayerHUD:RenderActiveItem
- Fixed a bug where POST_ITEM_OVERLAY_UPDATE callback passed unusable userdata instead of Giantbook ID
- Fixed PRE_ITEM_OVERLAY_SHOW callback not playing custom giantbook animation, when you replace vanilla one
- Fixed PRE_PLANETARIUM_APPLY_X_PENALTY softlocking the game
- Enabled mods/debug console disable access to enter daily run as before
1.0.3
Additions:
- ColorParams
- Used to store the color and parameters passed by Entity:SetColor (Priority, Duration, Fadeout, Shared)
- Entity:CopyStatusEffects() now copies the Color over to the target Entity, including the proper duration and other parameters
- This can be toggled with the CopyColor argument, default true
- Isaac.IsInGame
- EntityPickup :
- GetCollectibleCycle
- RemoveCollectibleCycle
- Capsule :
- Capsule constructor
- MenuManager :
- GetViewPosition
- SetViewPosition
- The luamod command now supports autocomplete
- Dear ImGui console now has a back button to allow controllers & Steam Deck to exit
- dsound.dll will log when it's been unloaded to help debug cases of REPENTOGON not loading
- Improved constructors for Sprite and Font classes
- Added documentation for the MC_PRE_LEVEL_SELECT callback
- Added gfxback property to custom achievements xml
Fixes:
- Fix a crash with weapon-copying familiars and Spirit Sword
- Fixed a possible crash when GetNullFrame is called on a Sprite that is not yet fully loaded
- Fixed MC_POST_ENTITY_TAKE_DMG triggering when the player touches the white fireplace in downpour/dross
- Fix Card Against Humanity only ever spawning regular poops
- Fix crawlspace floors (and possibly other unnoticed cases) not rendering
- Fix Entity:CopyStatusEffects(Entity, Entity) doing nothing
- Fix potential issue with XMLData.GetNumEntries
- Improve paramater validation for MC_PRE_LEVEL_SELECT to prevent possible crashes
- Modify vanilla function Game():GetPlayer to prevent possible crashes
- Changelog can now be safely closed using the "menu back" button e.g. Esc
- Fixed AnimationData:IsLoopingAnimation returning boolean, instead of integer
- Fixed a custom cutscene issue that played the Intro on cases where it shouldnt