SEARCH
NEW RPMS
DIRECTORIES
ABOUT
FAQ
VARIOUS
BLOG

 
 
Changelog for thextech-smbx-1.3.6.5+git20241009-7.2.x86_64.rpm :

* Thu Oct 10 2024 obs-service-tar-scmAATTinvalid- Update to version 1.3.6.5+git20241009:
* graphics.cpp: fix shared screen logic screen vertical size
* CMake: Added temporary installer package name
* Translated using Weblate (Chinese (Traditional Han script))
* gfx_update.cpp: fix TheXTech 1.3.5.1 bug - player tail shown behind boot
* npc_activation.cpp: use default cam for bosses with Legacy flag
* gameplay_timer.cpp: don\'t permanently stop timer after first win
* Refreshed translation file
* player_vine_logic.cpp: Fixed `enable_climb_bgo_layer_move` not works
* Config: rename back the \"enable-climb-bgo-layer-move\"
* config: Added description to the \"enable climb bgo layer move\"
* Fixed crash on \"SetHits\" and \"AllFace\" script commands
* config_main.cpp: Fixed inability to load custom compat.ini
* JSON-RWops: Fixed the dead stuck
* render_gl_shader_lighting.cpp: slightly revise lighting effects
* msgbox_wiiu.cpp: Update the screen after message box close
* Added error boxes for Wii U
* Update changelog.txt
* shell_minimal.html: Added explicit favicon link
* render_16m.cpp: rewrite logic for multi-part textures
* gfx_draw_player.cpp: update logic for compact player sprites
* controls.cpp: Fixed small warning
* Ouch!
* Updated JSON and fixed the char_traits warnings
* JSON: Turn the private patch into external addition
* Updated AudioCodecs and PGE-FL
* Updated AudioCodecs and MixerX
* Updated AudioCodecs and MixerX
* Fixed some of bound range warnings of GCC 14
* Cheat shadowstar now uses 75% black instead of 100% (#838)
* Ouch!
* Fixed OpenGL work on Mac OS X Tiger
* sdl_core.cpp: Added audio capture disable hint
* touchscreen.cpp: Apply the updated condition for SDL2
* Added small debug prints into render_gl_init.cpp and window_sdl.cpp
* emscripten.yml: disable anticheat trap, enable console logging
* GraphicsFuncs: replace getMaskFromRGBA with RGBAToMask (converts inline)
* game_main.cpp: don\'t choose assets if asset pack specified in cmdline
* Update AudioCodecs
* Update SDL-Mixer-X
* Removed render related workarounds for Wii U
* load_gfx.cpp: fix custom effect size on homebrew ports (#820)
* Controls: disable power status option when unsupported (#821)
* hints.cpp: update animation frame logic (#823)
* gfx-convert: allow non-lowercase filenames in graphics lists (#822)
* gfx_update.cpp: draw hacked blocks at their physical size
* Translated using Weblate (Korean)
* level_file.cpp: don\'t keep invalid layers in event arrays
* Add compat flag for player stuck on dirt (#125)
* menu_main.cpp: don\'t freeze loading screen during episode preload
* Try to stabilize home menu exits on 3DS (#801)
* screen_asset_pack.cpp: 3DS - fix screen fade at >480p
* render_3ds.cpp: setTargetLayer - don\'t unnecessarily reset scene
* gfx_update.cpp: use renderTextureBasic for rest of player draws
* gfx_update.cpp: use renderTextureBasic for rest of BGO draws
* Fix VB6 pass-by-reference semantics for EditorNPCFrame
* object_graph.cpp: fix condition for door-maker warp
* NPC_t: remove Special6
* Use Special5 for modern item drop counter
* Use Special4 for NPCID_CHAR4_HEAVY player direction
* npc.cpp: use SpecialX for NPCID_FIRE_BOSS extra attack timer
* npc.cpp: use SpecialX for NPCID_ITEM_THROWER direction flag
* Use Special4 for NPCID_COCKPIT controls
* NPC_t: use vbint_t for Special
* Use SpecialY for NPCID_HOMING_BALL_GEN counter
* Use SpecialY for platforms prev Y speed
* NPC_t: use vbint_t for Special2
* Use SpecialX for platforms prev X speed
* Use SpecialY for NPCID_BAT target Y coordinate
* Use SpecialY for NPCID_GOAL_TAPE ground Y coordinate
* Use SpecialY for NPCID_MINIBOSS counter
* Use SpecialY for NPCID_VILLAIN_S3 counter
* npc_block_logic.cpp: refactor invalid Special logic on ceiling slopes
* NPC_t: use vbint_t for Special3
* npc_movement_logic.cpp: use SpecialX for fish deceleration
* Use SpecialX for NPCID_HEAVY_THROWER throw counter
* Use SpecialX for NPCID_RAFT align coordinate
* NPC_t: use vbint_t for Special4
* NPC_t: remove unnecessary DefaultLocation width and height fields
* NPC_t: use vbint_t for Special5
* npc.cpp: cleanup variables D and E in NPCSpecial
* npc.cpp: cleanup variable F in NPCSpecial
* NPC_t: use vbint_t for Special6
* npc.cpp: use SpecialX and SpecialY for NPCID_MAGIC_BOSS target coords
* NPC_t: use vbint_t for Effect2 (store warp dest pos in SpecialX/Y)
* NPC_t: add new double SpecialX and SpecialY variables
* lunanpc.cpp: fix AllFace logic (Special6 is getting removed)
* NPC_t: use vbint_t for FrameCount
* Add utility struct to force a value to be integral
* Beautify misc NPC code
* render_16m.cpp: fix build
* effect.cpp: ouch, make killed_effects queue accurate (#811)
* effect.cpp: move EFFID_MINIBOSS_DIE timeout logic
* Update player pipe warp code to use integer coords
* screen.cpp: camera should use opposite rounding direction as objects
* Update most player draw code to use integer coords
* player.cpp: fix visual bug of held NPC\'s offset
* gfx_update.cpp: fix offset of warp stars text
* render_16m.cpp: fix use-after-free crash
* render_16m.cpp: fix texture corruption
* render_3ds.cpp: move render texture init code (#810)
* gfx_update.cpp: fix offset of warp stars / medals display
* UpdateGraphics: de-duplicate and simplify warp draw of held NPC
* graphics.cpp: use renderTextureBasic for DrawFrozenNPC
* gfx_update.cpp: use renderTextureBasic for most NPCs
* Remove some unused global variables
* Use vbint_t for several extra global arrays
* Shrink SpecialFrame and SpecialFrameCount arrays, use vbint_t
* gfx_update.cpp: use renderTextureBasic for effects
* effect.cpp: add minor optimization for killed effect detection
* Layer_t: use sorted vector instead of set for static layer lists
* changelog.txt: sync with 1.3.6.x
* block_table.cpp: Modern Mode tweak to match SMBX 1.3 NPC clipping
* npc_update.cpp: fix chain-activation of hidden NPCs
* trees.cpp: tune sorting condition in UpdateableQuery
* Updated AudioCodecs and MixerX
* Use QOA for custom streamed audio on ultra-low mem targets
* new_editor.cpp: fix double-tap in section settings sublists
* menu_main.cpp: fix recent world select on homebrew ports
* 3DS: aggressively retry to load failed textures (#779)
* Improve MaxFPS mode on ultra-low mem build
* Tune frame-timing code on non-SDL ports
* render_minport_shared.cpp: log number of textures still loaded (#779)
* level_file.cpp: ouch, fix the fix of NPC star got check
* frame_timer.cpp: report heap usage on ultra-low mem build
* global_constants.h: don\'t use sub-SMBX64 limits for ultra-low mem build
* gfx_update2.cpp: use renderTextureBasic for most world map objects
* gfx_update.cpp: use renderTextureBasic for blocks and BGOs
* gfx_hud.cpp: use renderTextureBasic for HUD draws
* Use renderTextureBasic for raster fonts
* vScreen_t: define CameraAddX/Y() methods as rounding to nearest int
* XRender: add renderTextureBasic procedure for minports
* npc_activation.cpp: fix doubled fall block issue at <800x600 res
* sound.cpp: fix ability to turn off modern SFX
* wii-ci.yml: switch back to own SDL2 port
* Ouch, fix medal saving and display in hubs (#644)
* Make medals checkpoint logic follow global checkpoint logic (#644)
* Updated AudioCodecs again
* player.cpp: Fixed unused warning
* Files: Fixed multiple issues: - Don\'t define [[nodiscard]] outside GCC as this is C++17 only feature - Renamed member variables, otherwise it\'s a dumb situation like assigning to self happens
* Android: Fixed buildConfig deprecated warning
* Updated submodules and fixed Android build
* player.cpp: PlayersEnsureNearby - fix Y position check
* gfx_hud.cpp: fix color of device battery indicator
* player.cpp: DodgePlayers - don\'t allow start pos to cross a wall
* Translated using Weblate (Chinese (Traditional))
* Android: Mark the androidx.appcompat as fixed version Otherwise, 1.7.0 no longer supports MinSDK 16.
* Translated using Weblate (Turkish)
* level_file.cpp: ouch, fix NPC star got check
* gfx_screen.cpp: update overscan conditions (#797)
* gfx_editor.cpp: use semi-transparent section bounds (#792)
* Translated using Weblate (Chinese (Traditional))
* Updated MixerX again (fixing MSVC build...)
* Updated submodules
* editor.cpp: try again (#789)
* level_file.cpp: don\'t trust PGE-X default startpoint size (#791)
* screen_textentry.cpp: fix text entry in editor
* Editor: adjust cursor alignment on 3DS (#789)
* controls.cpp: don\'t add empty input slots in editor (#790)
* sound.cpp: use Files::open_file for MixerX (#786)
* Bump MixerX (adds ability to set path open function)
* Revert \"sound.cpp: open via RWops\" (#786)
* Bind controls to local screen on engine init (#787)
* Ouch
* Another tweak of the issues template
* Fixed typo in the template and also extend the description for the CPU architectures
* Translated using Weblate (Chinese (Simplified))
* hints.cpp: add gray bricks hint (#690)
* hints.cpp: add flame block hint (#690)
* hints.cpp: add char5 bombs hint (#690)
* gfx_draw_player.cpp: add utility call to draw generic player frame
* hints.cpp: only show rainbow surf hint when NPC is active (#690)
* game_main.cpp: ensure players are assigned to main screen in editor
* Updated AudioCodecs and SDL2 to 2.30.6
* touchscreen.cpp: Added a reminder for SDL2 condition
* CMake: Fixed ffmpeg linking on Vita
* cheat_code.cpp: make player cheats safe with multi-screen code (#781)
* player_death_logic.cpp: fix battle softlock on simultaneous death
* level_file.cpp: set numSections on new level initialization
* level_file / world_file: load as PGEX if header is missing
* sound_spatial.cpp: don\'t crash with empty sections
* editor.cpp: fix player count in level tests (#781)
* New editor: use select cursor when in section settings (#780)
* wiiu-ci.yml: force SDL2 package removal (#770)
* wiiu-ci.yml: ouch, use dkp-pacman
* wiiu-ci.yml: refuse to use devkitPro\'s SDL2 package (#770)
* Add mbediso submodule
* menu_main.cpp: use RWops to scan battle headers
* CMakeLists.txt: inherit LTO preference to all submodules
* sound.cpp: only report SFX load error once
* render_3ds / render_wii: check for null file handle
* Controls: preliminary technical work for message-passing
* controls.cpp: update rumble logic
* Initial work for supporting multiple game screens
* controls.cpp: update controls for local screen\'s players only
* screen_connect.cpp: modify local screen, not global players array
* Revise controls display functions to use local player indices
* Moved g_charSelect into Screen_t
* gfx_update.cpp: adjust NPC draw queue index
* setup_vars.cpp: do load mask for block 261
* menu_main.cpp: don\'t use atomic fields when called from MainLoad
* custom.cpp: use RWops to load NPC txt files
* render_wii.cpp: use RWops for TPL load
* render_wii.cpp: use RWops for PNG/GIF load
* Files: add ability for client to claim a Data buffer
* render_3ds.cpp: expand linear heap from 24MB to 28MB
* render_3ds.cpp: improve logging on failed texture load
* Homebrew assets: don\'t store fallback masks as images
* render_3ds.cpp: use RWops for PNG/GIF load
* render_3ds.cpp: use RWops for t3x load
* graphics_funcs.cpp: use RWops for window icon (and other loads by path)
* graphics_func.h: add RWops FreeImageIO methods
* ttf_font.cpp: use RWops
* std_16m.cpp: use more accurate timer mechanism
* level_medals.h: fix Clang warning
* Use RWops for minport load lists
* sound_16m.cpp: use RWops
* Update PGE-FL
* CMakeLists.txt: attempt to fix build dependencies
* Updated AudioCodecs, MixerX, and PGE-FL
* npc_update.cpp: ouch, fix location of Slope reset
* level_file.cpp: add some PGE-X logic required for level warps
* asset_pack.cpp: fix logging code
* dir_list_ci.cpp: optimize matchSuffixFilters function
* Non-SDL render: use RWops for size annotation files
* asset_pack.cpp: unload sounds during assets reload
* render_gl.h: DrawContext_t add default initialization
* Fix no-SDL build
* image_size.cpp: remove redundant existence check
* Use RWops for PGE-FL
* Bump PGE-FL: add RWops support
* sound.cpp: open via RWops
* files.h: add C++ string signature for open_file
* Use Files::open_file in more cases
* sdl_proxy_rwops: update details to match SDL_RWops
* render_gl_frontend.cpp: ouch, set valid internalformat on desktop
* menu_controls.cpp: remove unused activate profile system
* controls.cpp: don\'t allow deleting a profile in use
* menu_controls.cpp: improve display of controller names (#559)
* screen_options.cpp: update config before playing change sound
* config_impl.hpp: allow volume settings to wrap around (#369)
* Fix v1.3.6 bug - allow unpause while holding item
* world_file.cpp: use callback-like architecture
* world_file.cpp: reorganize load logic
* Make numLayers a proper count / upper bound
* Make numSections a proper count / upper bound
* render_wii.cpp: fix bitmask draw in shadowmode
* render_3ds.cpp: fix bitmask draw in shadowmode
* RenderGL: fix bitmask draw in shadowmode
* library_SDLMixerX.cmake: local SDL2 build - add parent dir to includes
* RenderGL: move mask draw code to backend
* Factor all INI loads through Files API
* Files: add C++ signature for load_file
* Update IniProcessor submodule
* RenderGL: add support for BGRA and NPOT textures
* player_warp_logic.cpp: DO play door sound following scroll transition
* Update changelog.txt
* PlayersEnsureNearby: if winner is respawning, place at target loc
* player.cpp: don\'t allow respawn to player scrolling in warp
* player.cpp: shared screen - fix PlayersEnsureNearby edge cases
* Shared-screen: fix jump avoidance when screen is moving
* player_warp_logic.cpp: improve logic for start warp wait in shared scr.
* CMakeLists.txt: don\'t link GL if only modern GLES is used
* Translated using Weblate (Chinese (Simplified))
* keyboard.cpp: disable polling after input at text entry screen
* player.cpp: count wings effect as normal for purposes of movement lock
* player_screen_logic.cpp: give wings if player would be crushed by side
* player.cpp: CheckNearestLiving should not return own eaten player
* player_warp_logic.cpp: fix more camera jumps during shared screen
* Shared screen: give players wings to solve warp freefall problem
* Shared screen: require empty space to lose wings
* npc_update.cpp: fix v1.3.6.1 bug with conveyor belt activation
* npc_activation.cpp: don\'t make non-activating NPCs canonical
* npc_queues.h: include NPC types
* gfx_update.cpp: render warp fader in fixed shared screen
* player_screen_logic.cpp: ouch, remove local debug code
* Add Luau submodule for experimentation
* Add wings status for player recovery in shared screen mode
* graphics.cpp: fix shared screen camera on NoTurnBack sections
* graphics.cpp: beautify shared screen camera code
* Move draw check for players to UpdateGraphics
* Shared screen: fix camera jumps during warp teleport
* player.cpp: factor out PlayerNormal for a single player
* screen_connect.cpp: strictly check mouse release in Drop/Add screen
* Make it possible to compile TheXTech with PGE-FL\'s callback API
* level_file.cpp: use updated SaveInfoInit workflow
* level_save_info.cpp: update workflow
* level_file.cpp: restructure with callback-like design
* level_file.cpp: alter signature of OpenLevelData
* level_file.cpp: split load into 2 passes
* level_file.cpp: move improper size warning string
* level_file.cpp: don\'t rely on padding in event section settings array
* level_file.cpp: continue simplifying logic
* level_file.cpp: move some logic
* level_file.cpp: move hub detect logic into OpenLevelDataPost
* gfx_update.cpp: shade inactive NPCs during \"logicscreen\"
* level_file.cpp: move block sort logic from PGEFL to TheXTech
* json.hpp: split rwops patch into own header
* window_sdl.cpp: be permissive with initialization errors
* window_sdl.cpp: experiment - disable hidden flag if fullscreen always
* CMakeLists.txt: add CMake option THEXTECH_FORCE_FULLSCREEN
* Fix annotation and assertion of UpdatePlayerBonus
* _priv_rwops_funcs.h: fix RWops write signature
* Use SDL_RWops for translation saving
* Use SDL_RWops for translation loading
* Use SDL_RWops for save file locker
* Use SDL_RWops for lunacounter
* Use SDL_RWops for md5 hasher
* Use SDL_RWops for GIF recorder
* Use SDL_RWops for Autocode parser
* player.cpp: Remove the temporary debug trap
* sdl_proxy_rwops: rewrite SDL_RWops proxy for API compat w/SDL_RWops
* Fix no-SDL build
* Graphics: remove unused getImageSizeFromMem
* homebrew-assets-ci.yml: ouch, fix assets_url variable
* CI: remove old cancel workflow
* windows-ci.yml: ouch, escape backslashes
* windows-ci.yml: use full path for msys wget
* CI: don\'t require upload-artifact to be successful (#774)
* Try using own checkout mechanism
* vita-ci.yml: use new branch name here also
* CI: use `wget` directly instead of external download file action (#774)
* Use TheXTech\'s own branch-name written in bash (#774)
* Remove unused old PR detection logic (#774)
* CMakeLists.txt: Add build shim for RWops
* CI: use GitHub\'s concurrency field to cancel in-progress actions
* Use Files::Data struct for image loading
* hints.cpp: don\'t show rainbow surf hint at world map
* Files: add new Data struct, use for some loading
* render_gl_frontend.cpp: getScreenPixelsRGBA - remove extra copy
* OUCH: npc_update.cpp: fix location of BeltSpeed reset
* CI: Actualized Wii U branch for custom SDL2
* Fix vanilla bug where AttLayer\'s speed would not be correctly reset
* Player_t: use int for VineNPC and VineBGO
* layers.cpp: use SetLayerSpeed for remaining cases
* npc_kill.cpp: use SetLayerSpeed when NPC with AttLayer dies
* Background_t: use SpeedlessLocation
* PlayerFrame and PlayerVineMovement: use layer speed instead of BGO speed
* layers.cpp: add variables tracking actual applied layer speed
* player.cpp: use SetLayerSpeed for held NPC with AttLayer
* layers.cpp: apply BGO fence fix in SetLayerSpeed
* Layers: add SetLayerSpeed routine, use in UpdateNPCs
* layers.cpp: extra notes on updated code
* layers.cpp: split code to init qScreen
* layers.cpp: split code to test and warp players in section
* player_warp_logic.cpp: adjust pipe fader init time
* player_warp_logic.cpp: consolidate all fade logic
* player_warp_logic.cpp: cleanup fade logic
* player_warp_logic.cpp: prepare to consolidate shared-screen tele code
* player_warp_logic.cpp: consolidate warp scroll init code
* CI: Temporarily, use the custom SDL2 build
* Revert \"render_sdl.cpp: possible workaround for Wii U viewport issue\"
* Revert \"render_sdl2.cpp: Adjust the previous workaround for Wii U\"
* Revert \"Wii U: workaround for SDL2 viewport bug (#770)\"
* render_sdl2.cpp: Adjust the previous workaround for Wii U
* render_sdl.cpp: possible workaround for Wii U viewport issue
* player_warp_logic.cpp: consolidate exit warp code
* player_warp_logic.cpp: consolidate unlocking code
* PlayerEffects: split warp wait logic
* PlayerEffects: split door warp logic
* PlayerEffects: split pipe warp logic
* Player: move first portion of warp logic to own file
* Player_t: remove some unused variables
* player_npc_logic.cpp: remove some dead logic
* Wii U: workaround for SDL2 viewport bug (#770)
* player.cpp: annotate UpdatePlayerBonus
* player_action_logic.cpp: reorganize run-triggered actions
* player_action_logic.cpp: prepare to consolidate throw code
* Annotate some code that is unreachable when a player has an effect
* player.cpp: combine logic across powerup-to-big effects
* player.cpp: combine logic across grow powerup effects
* player.cpp: combine logic across transform powerup effects
* player.cpp: fix typos in PlayerEffects (does not change logic)
* player_block_logic.cpp: OUCH, fix major typo
* npc_bonus.cpp: combine logic across powerup NPCs
* Player: label most instances of state-dependent logic
* Use vbint_t for player frame offsets
* player_action_logic.cpp: split ball throw code
* player_action_logic.cpp: split heavy throw code
* Player: move powerup routines to player_action_logic.cpp
* Unify keyhole check routines
* UpdateNPCs: split special code for possibly-held NPCs
* UpdateNPCs: split effects code
* npc_collide.cpp (held): group and annotate B\'s exclusion conditions
* npc_collide.cpp (held): reduce nesting
* UpdateNPCs: split held NPC collision logic
* UpdateNPCs: split walking logic
* npc_block_logic.cpp: beautify code
* npc_collide.cpp: comment out some redundant conditions
* npc_collide.cpp: group and annotate B\'s exclusion conditions
* npc_collide.cpp: unpack B\'s first and second exclusion conditions
* npc_collide.cpp: unpack B\'s third exclusion condition
* npc_collide.cpp: unpack B\'s fourth exclusion condition
* npc_collide.cpp: group and annotate exclusion conditions
* npc_collide.cpp: unpack second exclusion condition
* npc_collide.cpp: unpack first exclusion condition
* npc_collide.cpp: reduce nesting
* UpdateNPCs: split NPC collision logic
* UpdateNPCs: split block collision logic
* npc_update.cpp: prepare to split block collision logic
* npc_movement_logic.cpp: beautify code
* player_block_logic.cpp: rename ceiling block from B
* UpdatePlayer: rename tempHit3 to floorBlock
* UpdateNPCs: split movement logic
* config.h: fix_autoscroll_speed should be FALSE by default
* player_update_priv.h: label routines that were not from UpdatePlayer
* UpdatePlayer: split cockpit X movement logic
* PowerUps: split char5 stab logic
* player.cpp: beautify code
* UpdatePlayer: move char5 beam shoot to own routine
* UpdatePlayer: move Slippy reset time
* UpdatePlayer: split char5 unique logic
* UpdatePlayer: move all level bounds logic into single subroutine
* UpdatePlayer: split slide X movement logic
* UpdatePlayer: split vehicle dismount check
* UpdatePlayer: split level edge check
* UpdatePlayer: split offscreen exit check
* UpdatePlayer: split death logic
* UpdatePlayer: remove commented declarations
* UpdatePlayer: split pinched logic
* UpdatePlayer: split water Y movement logic
* UpdatePlayer: split vine movement code
* UpdatePlayer: move speedVar logic into X movement routine
* UpdatePlayer: split normal X movement logic
* UpdatePlayer: split normal Y movement logic
* player_update.cpp: reduce nesting level of non-vehicle Y move code
* UpdatePlayer: split fairy movement logic
* player_update.cpp: beautify code
* Fix TheXTech 1.3.6.1 inaccuracy allowing the player to dismount a vehicle when blocked by an NPC
* Beautify code
* UpdatePlayer: split pound logic
* UpdatePlayer: split fairy timer and vine logic
* UpdatePlayer: split level wrap logic into own file
* player_update.cpp: prepare to split out level wrap logic
* UpdatePlayer: split shared screen logic into own file
* UpdatePlayer: split vine logic into own file
* player_update.cpp: make remaining declarations local
* UpdatePlayer: split block logic into own file
* player_update.cpp: refactor to prepare to split out player block logic
* UpdatePlayer: split NPC logic into own file
* player_update.cpp: refactor to prepare to split out player NPC logic
* player_update.cpp: rename tempBlockHit vars
* player_update.cpp: move many declarations into inner loops
* player_update.cpp: break CleanupVehicleNPCs out of UpdatePlayer
* Internal code to track gotten level exits
* Update PGE-FL
* player.cpp: refactor vehicle code
* layers.cpp: fix buggy section resize during NoTurnBack mode
* Refactor code for when to stop layer movement
* Use NPCEFF and PLREFF enums in more code
* Use PlayerEffect as type of Player_t::Effect
* Add new PLREFF enum
* Use NPCEFF enums in more code
* player.cpp: >2P fix vine and camera logic during instant warp teleport
* Translated using Weblate (Italian)
* Don\'t play sound on offscreen death for plants (#470)
* FFMPEG: Fixed protocol error and the crash
* PGE_Record: Fixed memory leaks
* sound.cpp: Some beautify of the code
* main.cpp: Don\'t leak the sound stuff
* Fix invalid error handling
* Translated using Weblate (Chinese (Simplified))
* PGE-Video-Rec: Tweak the code-style
* Translated using Weblate (Russian)
* Translated using Weblate (Russian)
* pge_record_vp8.cpp: ouch, fix support for earlier libav versions
* pge_record_vp8.cpp: add support for libav versions below 58
* Revert \"game_loop.cpp: Don\'t play message sound twice\"
* game_loop.cpp: Don\'t play message sound twice
* Update changelog.txt
* PGEVideoRec: add basic code using libffmpeg
* PGEVideoRec: show frame backlog, skip frames to avoid memory exhaustion
* PGEVideoRec: add config option if multiple encoders enabled
* PGEVideoRec: add audio resampling code
* Wii U: Quit to the homebrew launcher when needed
* Wii U: Fixed the black screen after quit
* player_update.cpp: don\'t allow spin jump from vines when disabled (#269)
* Translated using Weblate (Chinese (Simplified))
* Update SDL-Mixer-X
* Update changelog.txt (#269)
* Update changelog.txt (#768)
* Add compat flag \"disable-spin-jump\" (#269)
* Allow dismounting vehicle entered while holding AltJump (#768)
* player_update.cpp: move tempSpeed declaration to site of use
* npc_update.cpp: base modern item drop location on player\'s feet
* 3DS: reserve plane 3 for options menu
* 3DS: increase 3D overscan margins
* gfx_update2.cpp: refine 3D effect on 3DS
* gfx_update2.cpp: fix camera centering on 3DS
* Update translation files
* Translated using Weblate (Chinese (Simplified))
* Translated using Weblate (Russian)
* config.h: mark advanced audio options as non-translatable
* Config: add ability to mark options as non-translatable
* config.h: simplify descriptions of playstyles
* change_res.cpp: init dynamic widths to 16:9 (fixes startup crash)
* screen_connect.cpp: don\'t hide players that are actually connected
* screen_connect.cpp: set minimum drop/add screen width of 440px
* 3DS: tune 3D effect at main menu screen
* pge_video_rec.h: Make PGE_VideoSink\'s destructor virtual
* Fixed warnings
* New game configuration system (#734)
* touchscreen.cpp: add gpio-vibrator (PinePhone) to haptics allowlist
* touchscreen.cpp: add support for haptics on some linux phones
* build.yml: add notes for security
* npc_update.cpp: don\'t kill NPCs outside of NPC array (#766)
* player.cpp: check bounds before calling treeNPCUpdate (#766)
* speedrunner.cpp: show speedrun mode at main menu, show res in Mode 1
* change_res.cpp: updates to handle pre-initialization cases
* sound.cpp: don\'t play music if volume scale is 0
* gameplay_timer.cpp: don\'t continue an invalid speedrun
* GameplayTimer: simplify draw options
* screen_connect.cpp: bugfix - don\'t allow >2P in compatibility modes
* speedrunner.cpp: display controls at game menu if requested
* Add support for new rendering options
* Simplify battery status rendering logic
* Add internal support for modern item drop
* Add support for new SFX options
* game_main.cpp: use InitMixerX\'s internal check of g_config.audio_enable
* Config: combine extra screen shake options into single compat-only flag
* cheat_code.cpp: only mark speeddemon as a cheat in compat mode
* asset_pack.cpp: reload recent episodes after loading asset pack
* Refactor: move g_recentAssetPack out of g_preSetup
* screen_connect.cpp: allow >2P game
* render_3ds.cpp: enforce linear scaling
* Do enter new drop-add screen on controller disconnect
* Sound: add support for reloading MixerX during gameplay
* sdl_core.cpp: unconditionally request joystick background events
* Refactor: move global config flags into Config_t
* world_file.cpp: revert some inaccurate enums in comments
* render_sdl.cpp: don\'t allow changing vSync on Wii U
* Refactor: use updated internal names for compat fields
* player_update.cpp: beautify whitespace
* Wii: significantly update video display logic
* screen_connect.cpp: update controller preferences when changed
* Render: use vSync option from Config when updating render settings
* Refactor: rename all video settings with modern names
* Access compat and video enums via Config_t
* Access all video settings fields via g_config
* window_sdl.cpp: squash warning
* More code beautification
* Separate save/load logic for controls.ini from main config system
* Access all compat fields via g_config
* Globally use g_gameInfo\'s fails counter title
* GameInfo: make init / load functions member functions
* menu_controls.cpp: only poll input at main menu
* menu_controls.cpp: tune visuals
* main.cpp: initialize game with black screen on Wii
* render_3ds.cpp: handle failed render target allocation
* MainLoadAll: do set LoadingInProcess during content reload
* OpenGL fixes for Mac OS X Tiger build
* Misc code beautification
* RenderSDL: Wii U crashfix - defer render target destruction
* window_sdl.cpp: Wii U crashfix - don\'t resize SDL window
* Wed Jun 12 2024 maddieAATTmewmews.gay- Update to version v1.3.6.1+871~git20240608.9b58bc9:
* Ouch, fix language tools
* FrmMain: wait until renderer is initialized to call doEvents()
* Translated using Weblate (Korean)
* Translated using Weblate (Italian)
* gfx_update2.cpp: do not reset vScreens every frame at world map
* hints.cpp: add hint for rainbow surfing (#690)
* hints.cpp: remove possible spoiler of purple pet (#690)
* Update changelog.txt
* Android: Bumped Gradle version
* render_gl_frontend.cpp: Make clearBuffer not assert
* touchscreen.cpp: Adjusted the devices ID logic
* Android: Adjust dependencies versions
* Updated submodules
* Android: bump some dependencies
* Translated using Weblate (Chinese (Traditional))
* Revert \"3DS: draw some BGOs at block layer (#754)\"
* Translated using Weblate (Italian)
* Translated using Weblate (Chinese (Traditional))
* Translated using Weblate (Korean)
* Added config option to pick assets on game start
* Main menu: adjust logo position at very low resolutions
* gfx_hud.cpp: DrawDeviceBattery - fix isLow condition
* screen_textentry.cpp: rendering fixes
* Fix 3DS power monitor
* speedrunner.cpp: reduce transparency in controls / power display
* render_16m.cpp: fix draw order of rects
* Totally rework GIF render system
* Don\'t track hotkeys for fullscreen and screenshot if disabled
* editor.cpp: optimize UpdateInteract
* Editor: add ability to set section vertical wrap (#752)
* Editor: allow resizing event section bounds (#720)
* Editor: remove event section bounds subpage
* Editor: display event bounds
* Editor: add resize support for sections (#720)
* Editor: add resize support for existing objects (#720)
* Use SpeedlessLocation_t for section boundaries
* Remove some unused editor data structures
* Remove config/compat fields for doPlayGrowWithGotItem()
* npc_bonus.cpp: refactor TouchBonus (6) - simplify control flow
* npc_bonus.cpp: refactor TouchBonus (5) - reduce indentation
* npc_bonus.cpp: refactor TouchBonus (4) - moved hearts logic to top
* npc_bonus.cpp: refactor TouchBonus (3) - simplify SFX
* npc_bonus.cpp: refactor TouchBonus (2) - separate s_MovePlayersToExit
* npc_bonus.cpp: refactor TouchBonus (1)
* npc_bonus.cpp: update swap power logic
* sound.cpp: add internal processing for SFX/music volume scale
* sound_spatial.cpp: fix possible overflow with large vScreen sizes
* Fix >2P logic for standing on vehicle
* Rename Player_t::StandingOnTempNPC to Player_t::StandingOnVehiclePlr
* Unset player SpinJump flag when entering vehicle (#213)
* Add compat flag for multiplayer targeting (#120)
* speedrunner.cpp: fix compiler warning
* player.cpp: fix control loss on respawn if 4shared used in compat mode
* Backport compat.ini setting \"dynamic-camera-logic\" from Config branch
* Update changelog.txt (#713)
* player_update.cpp: fix incorrect BattleMode respawn
* player_update.cpp: fix camera during shared screen fail
* player_update.cpp: fix camera during cloned player fail
* Ouch, update changelog.txt
* player_update.cpp: update camera logic during player fail animation
* gfx_screen.cpp: DynamicScreen should only check own players\' death
* Fix camera tracking for respawned player
* graphics.cpp: expand canonical screen in shared-screen mode
* layers.cpp: annotate player effect checks
* level_file.cpp: do sort content on load if saved in LVLX format
* Do allow overscan at level bounds in shared screen mode (#753)
* level_file.cpp: clear NPC queues in ClearLevel
* Update profiling UI for small screens (#563)
* MicroStats: track camera logic time separately from graphics
* screen_asset_pack.cpp: don\'t check for missing controllers
* screen_connect.cpp: use most recently chosen chars by default
* screen_connect.cpp: fix bug where invalid char was allowed at menu
* ConnectScreen: don\'t reset controls, slow down new-added controller
* Luna: do screen-space draws in HUD call
* Only call offsetViewportIgnore inside UpdateGraphics
* render_gl_frontend.cpp: apply viewport offset to renderLighting
* gfx_screen.cpp: clear temp offsets in reset version of SetupScreens()
* player.cpp: PlayerStartInfo_t - fix uninitialized values
* Update player death code for >2P battle
* Initialize battle mode correctly in >2P
* screen_connect.cpp: support >2P battle mode
* gfx_hud.cpp: support >2P battle mode
* hints.cpp: don\'t show in Battle Mode
* gfx_screen.cpp: force screen type in Battle Mode
* 3DS: allow expanded vScreen for overdraw (#753)
* world_file.cpp: only pre-scan levels when max stars must be shown (#721)
* player.cpp: PlayersEnsureNearby - misc fixes
* player.cpp: DodgePlayers - don\'t clip through sizables
* cheat_code.cpp: update logical screen on \"foursplit\" code (#751)
* 3DS: draw some BGOs at block layer (#754)
* sorting.cpp: add SortPriority for BGOs at block layer on 3DS (#754)
* gfx_background.cpp: fix background draw in split-screen >2P
* player.cpp: allow fade effects for >2P split screen
* game_loop.cpp: update all vScreen faders
* touchscreen.cpp: Fixed touchscreen on PS Vita
* player.cpp: Fixed the warp fade effect on level quits
* player.cpp: Small beautifying (spaces and braces)
* Update changelog.txt
* Fixed the anti-cheat trap doesn\'t quit the episode
* screen_pause.cpp: Small tweak of the fn prototype
* Translated using Weblate (Chinese (Traditional))
* cheat_code.cpp: Don\'t anti-cheat trap out of main game
* graphics.cpp: fix shared screen logic with large mounts
* player.cpp: add PlayersEnsureNearby method for shared screen
* player_update.cpp: shared screen - only check players on same screen
* Screen: store separate preferences for 2P and 4P
* player.cpp: use correct screen member for shared screen
* player.cpp: avoid >2P collisions on respawn from checkpoint
* player.cpp: DodgePlayers - add lava check
* player.cpp: DodgePlayers - fix slope logic in floor check
* player.cpp: DodgePlayers - add cliff check
* player.h: move collision avoidance logic into new DodgePlayers routine
* player.cpp: add modern player placement logic for shared screen / >2P
* collision.h: export blockGetTopYTouching
* screen.h: add ScreenIdxByPlayer call
* load_gfx.cpp: Change mutext lock/unlock location
* main.cpp: Fixed \"no sound\" option on no-args builds
* 3DS: try to prevent crash on home menu exit (#738)
* game_main.cpp: call quitIntegrations in KillIt
* load_gfx.cpp: minport - do unload custom char GFX on ClearLevel
* Handle animated GIFs in homebrew assets conversion scripts
* app_path.cpp: allow 3DS to load multiple asset packs from romfs
* font_manager.cpp: clear references to default fonts on quit
* Classify asset pack search paths by type
* Update Wii icon for readability
* render_wii.cpp: don\'t show garbage on startup / shutdown
* library_SDLMixerX.cmake: 3DS - use Tremor codec to decode OGG music
* Update AudioCodecs (fixes Tremor build on 3DS)
* gfx_marquee.cpp: prefer natively implemented font 5 (#603)
* gfx_print.cpp: prefer natively implemented font 5
* raster_font.h: allow negative inter-letter space
* render_minport_shared.cpp: attempt to fix long-lasting render glitches
* graphics.cpp: fix 3DS overscan offset in classic mode
* sound.cpp: tweak default audio buffer size on 3DS
* wii-ci.yml: do use LTO on Wii CI
* Update changelog.txt
* 3ds-ci.yml: use Release build and LTO in CI
* CMakeLists.txt: fix Wii package again
* wii-ci.yml: ouch, fix package again
* wii-ci.yml: ouch, fix package
* Update Wii build
* sound.cpp: Use MAME OPN2 emulator on Vita
* CI: Try to use new-made system SDL2
* sound.cpp: Tweaked MIDI defaults per platform
* load_gfx.cpp: Load translated pictures on Wii/3DS too
* Update SDL-Mixer-X
* Fixed file descriptors leak
* sound.cpp: Print number of SFXes loaded
* CMake: Disable LOW_MEM on Vita
* Bumped submodules
* Added language detection for Vita
* lunanpc.cpp: remove out-of-range accesses
* gfx_editor.cpp: remove in-editor message box preview on non-3DS targets
* gfx_update.cpp: draw device battery below speedrun mode
* gfx_update.cpp: draw main menu / credits at bottom of meta layer
* load_gfx.cpp: UpdateLoad should only take effect during actual loading
* screen_progress.cpp: revise logic
* gfx_update.cpp: beautify code
* gfx_update.cpp: clarify usage of the reset values in modern NPC logic
* gfx_update.cpp: change intro frames to 3, fixing some rare bugs
* layers.cpp: use canonical screen for NPCs on shown layer (if needed)
* bug-report.yml: Added the frequency field
* bug-report.yml: Make CPU field optional
* Added build/compile issue template
* bug-report.yml: Small tweak
* Removed the old bug report template
* bug-report.yml: Small update of combo-boxes
* bug-report.yml: Fixed IDs
* Create bug-report.yml
* render_16m.cpp: fix oversized screen scaling logic
* Unify menu / meta rendering code for level and world
* Don\'t show episode title or playtime counter in level editor
* draw_planes.h: place menus above meta, below fader
* gfx_camera.cpp: return horiz panning to center during cutscenes
* outro_loop.cpp: Slightly updated credits
* Translated using Weblate (Portuguese)
* Translated using Weblate (Spanish)
* gfx_camera.cpp: don\'t update horiz small-screen cam in more cases
* gfx_camera.cpp: limit small-screen camera offsets to canonical screen
* trees.cpp: ouch, fix assertion failure
* trees.cpp: ouch, fix behavior in tempblock / full query modes
* Fix non-SDL command-line build
* player.cpp: use UpdatableQuery for PlayerPush
* player_update.cpp: use UpdatableQuery for main block collision check
* Add new UpdatableQuery helper class
* Add new signature for treeTempBlockQuery
* Lookup tables: move all sort comparisons into unified namespace
* Fix non-SDL build
* Translated using Weblate (Chinese (Traditional))
* npc.cpp: fix out-of-memory error of platform blocks
* Draw hints box at pause menu width
* render_gl_backend.cpp: fix warning on build without glOrtho
* Remove some unused includes
* vptrlist.h: fix compiler warning in release builds
* gfx_update.cpp: fix graphical bug in compat mode at >800x600
* gfx_frame.h: add methods for drawing simple frame with border
* sound.cpp: fix bug where original sound could be double-freed
* screen_connect.cpp: play SFX when player gets force-dropped
* gfx_update2.cpp: show >2P controllers at world map
* Added hints system (#690)
* speedrunner.h: add RenderControls overload to show any Controls
* speedrunner.cpp: slightly tweak AltRun button color
* npc.cpp: additional refinement of npcHasFloor logic
* record.cpp: Fixed warnings on Clang
* Translated using Weblate (Korean)
* Update changelog.txt
* NPC_t: pack struct
* NPC_t: use integer logic for generator timing
* NPC_t: use uint8_t for generator enums
* NPC_t: use vbint_t for Damage
* npc_update.cpp: fix bug in Raft NPC\'s new code
* Rename NPC_t::Block to NPC_t::coinSwitchBlockType for clarity
* NPC_t: use uint8_t for NPC references to players
* NPC_t: use uint8_t for counter variables with appropriate bounds
* NPC_t: use uint8_t for JustActivated
* NPC_t: use uint8_t for Section
* NPC_t: use vbint_t for Direction
* NPC_t: use SpeedlessLocation_t for DefaultLocation
* npc_activation.cpp: use NPC tree to construct canonical set
* Use active NPC queue for several extra checks
* player.cpp: use active NPC queue for player toothy plant logic
* Use active NPC queue for player vehicle NPC logic
* npc.cpp: use NPC tree for vine collision check
* Make treeBlockQuery include tempBlocks by default
* Block_t: pack struct (saves 160KB)
* app_path_16m.cpp: fix build
* blocks.cpp: beautify block shake code
* blocks.cpp: use NPC table in block shake code
* Revise signature of ShakeCollision
* Block_t: shrink block shake counters
* Use uint8_t for vehiclePlr fields
* NPC_t: rename some fields for clarity
* Block_t: remove field noProjClipping
* Block_t: rename some fields for clarity
* npc.cpp: revise npcHasFloor logic
* npc_update.cpp: do sort tempblocks in strict compat mode
* npc_update.cpp: annotate some IsNPC values
* render_gl_backend.cpp: Fixed build without shaders
* blocks.cpp: cleanup all additional fields set by temp blocks (#739)
* Update changelog.txt
* Clean up blocks created by coin switch (#739)
* npc_update.cpp: revise compat flags for NPC camera activation
* layers.cpp: ProcEvent - format all messages for P1 in 1 player mode
* gfx_hud.cpp: fix possible mod-by-zero error
* load_gfx.cpp: revised fix for unload crash
* load_gfx.cpp: Fixed player preview unload crash
* game_main.cpp: record medals when taking warp exit
* Added translation using Weblate (Portuguese)
* Added translation using Weblate (Portuguese)
* Translated using Weblate (Portuguese (Brazil))
* Added translation using Weblate (Portuguese)
* level_file.cpp: remove PGE-FL preprocessing
* Fully remove editor config options
* Remove config option editor_preferred_file_format
* Fix logical size of NPC emerging from block (#577)
* gfx_update.cpp: fix draw of NPC emerging from block
* sound.cpp: stream very long SFX from disk to save memory
* gfx_enter_screen.cpp: only show a single player in clone mode
* Increment fails counter for any player\'s fail
* Translated using Weblate (Spanish)
* Update translation files
* Translated using Weblate (Portuguese (Brazil))
* Translated using Weblate (Chinese (Traditional))
* Translated using Weblate (Chinese (Simplified))
* Translated using Weblate (Russian)
* Translator: Update the logic
* Fixed invalid English JSON file
* Translated using Weblate (Chinese (Traditional))
* Translated using Weblate (Chinese (Traditional))
* Translated using Weblate (Chinese (Simplified))
* Translated using Weblate (Chinese (Simplified))
* Translated using Weblate (Spanish)
* Editor: restrict format conversion to CLI, and don\'t check compatibility
* new_editor.cpp: Beautify the code
* new_editor.cpp: Fixed the event editor title
* menu_main.cpp: disable world version detection for character block
* npc_update.cpp: only grant coins to the next 100 in moneytree mode
* Added translation using Weblate (Portuguese)
* Translated using Weblate (Portuguese (Brazil))
* Translated using Weblate (Portuguese (Brazil))
* Deleted translation using Weblate (Portuguese)
* Deleted translation using Weblate (Portuguese)
* Deleted translation using Weblate (Portuguese)
* Translated using Weblate (Portuguese (Brazil))
* Translated using Weblate (Portuguese (Brazil))
* Deleted translation using Weblate (Portuguese)
* Translated using Weblate (Portuguese (Brazil))
* Translated using Weblate (Portuguese (Brazil))
* Translated using Weblate (Portuguese (Brazil))
* Translated using Weblate (Portuguese (Brazil))
* Added translation using Weblate (Portuguese)
* Added translation using Weblate (Portuguese)
* Added translation using Weblate (Portuguese)
* Added translation using Weblate (Portuguese)
* Translated using Weblate (Portuguese (Brazil))
* Translated using Weblate (English)
* Translated using Weblate (Portuguese (Brazil))
* Renamed Português language to Português do Brasil
* Translated using Weblate (Portuguese)
* Translated using Weblate (Portuguese)
* Translated using Weblate (Portuguese)
* Translated using Weblate (Portuguese)
* Added translation using Weblate (Portuguese)
* Added translation using Weblate (Portuguese)
* Added translation using Weblate (Portuguese)
* Added translation using Weblate (Portuguese)
* AppPath: never use default user directory as asset root or appdir
* game_main.cpp: correctly initialize canonical screen at main menu
* app_path.cpp: skip original user directory if custom dir specified
* asset_pack.cpp: do not match to fully unlabeled legacy asset pack
* asset_pack.cpp: only load one legacy asset pack with current ID
* asset_pack.cpp: allow CLI-specified assets path without trailing slash
* screen.cpp: don\'t use rounded camera coordinates on homebrew ports
* Update changelog.txt
* Fixed typo in the changelog
* LunaScript: Added CopyVar command
* Small tweak at the ChangeLog
* Added sub-hubs mechanism (#716)
* Translated using Weblate (Chinese (Traditional))
* Translated using Weblate (Chinese (Simplified))
* player.cpp: small tweak of the compat flag
* main_config.cpp: fix logging when no config file is present
* Allow window icon to update after creation
* Add compat flag fix-visual-bugs
* In-game asset pack selection! (#717)
* Fixed the visual bug on star-locked pipe enter
* Translated using Weblate (Chinese (Traditional))
* Translated using Weblate (Chinese (Simplified))
* editor.cpp: fix editor bug where NPCs were not erased in battle levels
* npc_update.cpp: use tree query to update encased NPCs
* Add NPCEffect enum
* Translated using Weblate (Korean)
* Use NPCID type for NPC IDs
* Updated submodules links for a new location
* render_gl_init.cpp: attempt to reduce log spam
* Update URL for ANGLE shader translator submodule
* Translated using Weblate (Chinese (Traditional))
* Let Shell be NPC trait
* Let Coin, Bonus, and Vine be NPC traits
* change_res.cpp: OUCH, allow escaping fullscreen
* gfx_camera.cpp: recenter on player during cutscenes or level outro
* editor.cpp: set TestLevel sooner in zTestLevel
* game_main.cpp: fix message for invalid warps
* new_editor.cpp: reposition start pos buttons
* Revert \"gfx_update2.cpp: don\'t display episode title on bottom at low res\"
* Remove unused init_sdl.cpp
* menu_controls.cpp: use Font 5
* game_loop.cpp: use modern_section_change to control ticks during qScreen
* fixup for noSound
* gfx_update2.cpp: don\'t display episode title on bottom at low res
* effect.cpp: simplify condition
* gfx_update.cpp: don\'t call ClassicNPCScreenLogic on vScreens above 2
* Remove deprecated SetRes
* game_loop.cpp: do no graphics logic during fade
* world_loop.cpp: allow EnableInterLevelFade to control world map
* npc_update.cpp: use diff compat flag for JustActivated player tracking
* Add checks for whether main renderer and window are initialized
* FontManager: add check for TTF support
* Use g_mixerLoaded instead of noSound to regulate sounds
* controls.h: rename \"Enter Cheat\" to \"Enter Code\"
* Fully remove old global joystick config options (had been commented)
* controls.cpp: allow enter code (from hotkey) to be translated
* blocks.cpp: let emulate_classic_block_order regulate sorting
* Logger: move PGE_LogLevel into own header
* Support \"usedefaultcam\" npc-x.txt flag (#713)
* Editor: disable world map sections in WLD format
* Add NPC traits UseDefaultCam and InactiveRender (#713)
* Replace NPCIsCheep function with NPC trait IsFish
* CMake: More accurate Discord RPC no-support report
* Shader API: add uniforms u_framebuffer_pixsize and u_texture_pixsize
* render_gl_frontend.cpp: allow users to experiment with the shader API
* npc_constant_traits.h: annotate constant traits based on usage
* editor.cpp: reset level warp save entries before level test
* effect.cpp: fix medal index when hatching from item pods
* Add full support for saving, loading, and editing medal index (#644)
* mememu.cpp: support new lives system
* Use new Balance.png icons to represent 100s
* player.cpp: reset player frame when changing character
* player.cpp: don\'t remove mount when dropping player at world map
* Update changelog.txt
* In non-compat modes, allow negative lives instead of game over
* Refactored got 100 coins hook into own sub
* Remove unused Die argument to SwapCharacter
* Reset world player when switching episodes
* sdl_stdinc.h: fix non-SDL build
* change_res.cpp: grow requested resolution by 40px on 3DS (#687)
* Make it possible to disable the fails counter
* Update changelog.txt
* Refactor: allow processing of vScreen offset before draw
* graphics.cpp: add level overdraw for 3DS
* gfx_update2.cpp: add world map overdraw for 3DS
* Keep most UI elements in safe zone on 3DS (#687)
* Update changelog.txt
* Use spatial sound for most cases
* Initial implementation of spatial audio functions
* editor.cpp: fix vector before-begin debug assertions
* keyboard.cpp: don\'t automatically move cursor when changing res
* Revert \"CI: Bump version of modules to fix a Node warning\"
* CI: Bump version of modules to fix a Node warning
* Android: Bump the Gradle version
* menu_main.cpp: beautify some logic
* Character Select: preview custom players on the main menu
* menu_main.cpp: fix threading semantics
* screen_connect.cpp: ouch, don\'t start legacy 1P game until connected
* screen_connect.cpp: remove StartGame state
* screen_connect.cpp: reset controls less frequently
* new_editor.cpp: use FreeS for level warp
* global_strings.cpp: deduplicate string before returning pointer to it
* write_level.cpp: do save level name
* global_strings.h: fix bug where GetS result gets invalidated during SetS
* World map: show \"Big Path\" levels correctly (#446)
* render_gl_init.cpp: request 24-bit depth buffer
* render_gl_frontend.cpp: don\'t combine bitmasked draw calls on GL ES 1.1
* menu_main.cpp: don\'t show stable branch on releases
* render_gl_frontend.cpp: don\'t combine bitmasked draw calls
* record.cpp: fall back to path relative to AppPath if level not found
* Translated using Weblate (Russian)
* Remove pre-1.3 version targeting (#185)
* Keyboard: use touchpad to scroll in editor (#702)
* Remove config option \"editor-edge-scroll\" (#702)
* global_constants.h: DO use 16-bit integers on low-memory platforms
* Update angle-shader-translator
* Update changelog.txt
* Updated angle-shader-translator
* Updated AudioCodecs: Fixed crash at SDL2 audio converter
* screen_connect.cpp: Fixed out-of-range error
* CMake: Enable STL assertions in debug builds
* gfx_update2.cpp: fix P2 controls display location at world map
* gfx_update.cpp: fix NPC conditional activation logic (#713)
* Updated AudioCodecs
* fmt_format.h: Added a workaround for Windows XP
* StackWalker: Fixed sprintf_s warning
* Updated submodules
* Support smoke effect for inactive onscreen NPCs (#713)
* npc_activation.cpp: use canon screen for bullets and fast ghosts (#713)
* outro_loop.cpp: Added Otabo into credits
* Translations update from Hosted Weblate (#712)
* strings.cpp: make split robust to empty string argument
* Remove option osk-fill-screen
* screen_textentry.cpp: improve touchscreen experience
* app_path_emscripten.cpp: preserve user dir in idbfs
* touchscreen.cpp: use render size to determine aspect ratio
* screen_connect.cpp: prevent getting locked in player setup in Battle
* outro_loop.cpp: remove quotes around ds-sloth
* outro_loop.cpp: add Savby to credits
* Update changelog.txt
* Finish removing \"Drop/Add Players\"
* Update changelog.txt
* Fix onscreen controls display in shared screen mode
* menu_main.cpp: move the intro screen\'s Press Start text
* Redesigned character select (#684)
* gfx_hud.cpp: fix medals draw when screen scrolls
* Translated using Weblate (Korean)
* Add helpers for Screen draw loc on the current target
* Autocode: update player camera logic
* Refactor: replace all uses of ScreenW/ScreenH
* global_constants.h: temporarily limit save slots to 3 (#664)
* menu_loop.cpp: do allow luna scripts at intro level
* gfx_update.cpp: preview section effects in level editor
* render_gl_frontend.cpp: only add onscreen lights to queue
* cheat_code.cpp: disable 4split in compat mode
* Update angle-shader-translator
* logger.cmake: Added headers into the list
* main_config.cpp: Set the CGA resolution as minimum
* main_config.cpp: forbid resolutions smaller than 320x288 (#700)
* menu_main.cpp: clarify curtain draw process
* gfx_update.cpp: draw menus before meta
* menu_main.cpp: fix mouse click handling in MENU_INTRO
* Rename some NPCTraits fields for clarity
* Bugfix: don\'t use X during BGO sorting on level load
* player.cpp: update player pet eat code
* Move all NPC traits into new NPCTraits struct array
* Remove unneeded GFXNPCHeight / GFXNPCWidth arrays
* Replace constant NPC traits with constexpr functions
* npc.cpp: update CharStuff
* Add new npc_traits.h
* Translated using Weblate (Korean)
* Translated using Weblate (Korean)
* Translated using Weblate (Korean)
* Translated using Weblate (Chinese (Simplified))
* Translated using Weblate (Chinese (Traditional))
* Translated using Weblate (Chinese (Simplified))
* sorting.cpp: ouch, fix failed assert when there are no BGOs (#705)
* outro_loop.cpp: Add two linebreaks between QC and Vita Port/Level Design
* new_editor.cpp: add ability to view / edit BGO sort order (#705)
* level_file.cpp: treat BGO sorting variables as LVLX exclusive (#705)
* Update BGO Z-order in editor (#705)
* Add editor strings for BGO sorting variables (#705)
* Updated BGO sorting variables (#705)
* Credits: Use Font5 to add Outlines. Additionally: Remove duplicates and add RMN Community to Special Thanks section.
* npc_update.cpp: fix NPC activ message controls in shared screen mode
* gfx_camera.cpp: fade out small-screen effects as cameras join
* Allow restarting battle level from command-line level test
* Tune battle level fix for command-line level tests
* Fix bug where game could get stuck in invalid battle level
* Update changelog.txt for multires
* Update changelog.txt for 1.3.6.3 release
* Dynamic resolution support (#328)
* Added \"Control quality\" field at Credits
* Update angle-shader-translator
* Translated using Weblate (Russian)
* Translated using Weblate (Chinese (Simplified))
* Translated using Weblate (Chinese (Traditional))
* Translated using Weblate (Chinese (Simplified))
* npc_update.cpp: clean up A, speedVar, and bCheck
* npc_update.cpp: clean up B and tempBool
* npc_update.cpp: clean up tempLocations and make blankBlock const
* npc_update.cpp: clean up slope and turn variables
* npc_update.cpp: clean up tempSpeedA and tempHitIsSlope and fix logic
* npc_update.cpp: clean up belt variables
* npc_update.cpp: clean up tempHit and tempHitBlock
* npc_update.cpp: clean up tempBlockHit
* npc_update.cpp: clean up HitSpot
* npc_update.cpp: move Stuck logic, annotate some logic
* npc_update.cpp: fix optimization of incorrect collision check
* screen_pause.cpp: disable some options in battle mode
* Add ability to edit battle levels using in-game editor
* gfx_update.cpp: fix editor NPC display
* Render GL: use info level for initialization logs
* collision.cpp: ouch, finish updating top slope logic (#689)
* collision.cpp: correct the top slope logic (#689)
* player_update.cpp: update comment describing #689
* changelog.txt: move player slope fix into 1.3.6.3
* Always use Alt Run for pound outside of compat mode
* git_info.cmake / git_version_update.cmake: trust CI BRANCH_NAME
* CI: use experimental updated version of branch-name
* new_editor.cpp: fix location of layer smoke button
* Add CI workflow for flatpak CI
* git_version_update.cmake: display why index is dirty on CI
* Add experimental flatpak build support
* CMakeLists.txt: Linux - reorganized handling for application launcher
* player_update.cpp: revise slope blocks\' ground cancel (#689)
* Change filesystem library on 16M devkitPro target
* gfx-convert-16m.py: suppport updated ImageMagick identify versions
* editor_custom.cpp: removed unused open of inis
* Remove experimental amalgamated pack loader from 16M port
* Updated CI-tests.py
* player.cpp: RespawnPlayer - use top of target player\'s vScreen
* Add new CheckNearestLiving() for dead player / respawn logic
* Make dead player follow a single other player
* gfx_update.cpp: remove more old comments
* gfx_update.cpp: fix Screens loop
* gfx_update.cpp: UpdateGraphicsLogic - do loop over Screens
* npc.cpp: refactor frame-perfect despawn fix
* gfx_update.cpp: let ShowOnScreenHUD disable Luna HUD
* gfx_update.cpp: beautify all code
* gfx_update.cpp: split GraphicsUpdate into Logic, Draw, Screen, and Meta
* gfx_update.cpp: beautify code
* gfx_update.cpp: update Score, Lives, and Coin Frames in logic section
* gfx_update.cpp: update NPCScreenLogic signature
* gfx_update.cpp: update draw item arrays
* gfx_update.cpp: update loops over vScreens
* gfx_update.cpp: beautify code
* gfx_update.cpp: move all onscreen meta draws out of vScreen loop
* UpdateGraphics: move multiplayer controls display into vScreen space
* gfx_update.cpp: make frameskip logically identical to normal render
* gfx_update.cpp: treat renderBlocked() as a frame skip
* gfx_update.cpp: separate screen shake update and screen shake apply
* render_3ds.cpp: ban 3D mode while bitmasks loaded
* Translated using Weblate (Chinese (Traditional))
* Translated using Weblate (Chinese (Simplified))
* render_minport_shared.cpp: for draw bounds fix, use physical tex size
* Indicate level scan progress
* Added strings for progress indicator
* frm_main.cpp: Set some log messages to being Info
* render_gl_init.cpp: set tex parameters for null lighting texture
* Logger: Put \"Info\" between \"Debug\" and \"Warning\"
* main_config.cpp: Set default log level to Warning
* Logger: move setup loading into config loader
* logger_wiiu.cpp: Added some debug messages
* Translated using Weblate (Chinese (Traditional))
* Translated using Weblate (Chinese (Simplified))
* thextech_en.json: update translation template
* Use OpenGL renderer by default (#240)
* Logger: Atempt to use the `OSReport` on Wii U
* main.cpp: Try to call SYSLaunchMenu() on exit
* xt_color.h: add intensity scaling
* menu_main.cpp: allow nullptr arguments to GetMenuPos
* render_gl_shader_lighting.cpp: improved shadows in areas with walls
* Updated copyright year to 2024
* Updated the rest of submodules
* Don\'t clear section JSON info on load/save
* Update update-copyright.sh
* Add new char select frame and icons to UI assets
* luna.cpp: lunaReset should also reset SMBX HUD override
* gfx.cpp: add more details to UI assets error
* setup_vars.cpp: OUCH
* setup_vars.cpp: reset all NPC type fields on SetupVars call
* sound.cpp: reset reserved channel count on unload
* Emscripten: fix deployment script
* Emscripten: don\'t clear other game\'s caches
* Emscripten: add game finished message
* game_main.cpp: fix Emscripten startup screen (had been missing fonts)
* Emscripten: do deployment process atomically
* Emscripten: deploy automatically to build server
* gfx.cpp: clear load errors after failed load
* Improve ability to reload assets
* window_sdl.cpp: ouch, fix use-after-free from 730903bd
* Move touchscreen controller load call into MainLoadAll
* render_gl_frontend.cpp: fix screenshots without FBO support
* GameInfo: revise window title calculation logic
* Update window title after (re)loading assets
* XWindow: add setTitle method
* Move all asset load logic into MainLoadAll
* Emscripten: make sure OpenGL viewport resizes correctly
* git_version.cmake: force reconfigure after git version changes
* Emscripten: update service worker caching
* render_gl_backend.cpp: flushDrawQueues should always reset light buffer
* render_gl_backend.cpp: fix framebufferCopy logic
* render_gl_backend.cpp: remove redundant clears of m_light_count
* CMakeLists.txt: beautify ANGLE translator default logic
* gl_geom.h: fix RectSizeI reference initialization bug
* Ouch, only try to build ANGLE translator on main desktop platforms
* Include ANGLE shader translator with modern OpenGL builds by default
* Fix some MSVC warnings
* RenderGL: add support for ANGLE shader translator
* Add ANGLE shader translator library to submodules and build
* render_gl_backend.cpp: guard against lighting buffer overflows
* RenderGL: use define to indicate that ES3 symbols need to be loaded
* speedrunner.cpp: fix color of speedrun mode indicator
* render_planes.h: fix out-of-bounds access
* render_sdl.cpp: fix filled rect render
* gl_light_info.h: fix conversion warnings
* render_gl_shader_lighting.cpp: MSVC fixes
* CMakeLists.txt: don\'t allow render hotswap on Emscripten
* Ouch, fix Android build
* Ouch, fix non-OpenGL build
* Some Emscripten fixes
* Add light specification / loading API
* RenderGL: make light structure a property of textures
* XTColor: add string initializer
* gfx_draw_player.cpp: fix normal player texture tint value
* RenderGL: add code helping to calculate a distance field
* RenderGL: implement light coalescing algorithm
* RenderGL: add additional light types
* Translated using Weblate (Spanish)
* Translated using Weblate (Spanish)
* Translated using Weblate (Spanish)
* Translated using Weblate (Spanish)
* Translated using Weblate (Chinese (Traditional))
* Translated using Weblate (Chinese (Simplified))
* Translated using Weblate (Spanish)
* Translated using Weblate (Chinese (Traditional))
* Translated using Weblate (Chinese (Simplified))
* Update changelog.txt
* legacy_font.cpp: use correct array bounds (#674)
* player.cpp: fix floor bug when swapping newly added character
* Add color parameter for RenderFrameFill method
* Add color parameter for DrawPlayer method
* level_save_info.cpp: don\'t produce extra copies of save info entries
* Fix allow condition for swap character
* lunacounter.cpp: draw fails counter above HUD in >2P shared screen
* Update vScreenByPlayer to support >2 vScreens (should fix item drop)
* Translated using Weblate (Chinese (Traditional))
* Translated using Weblate (Chinese (Simplified))
* gfx_hud.cpp: fix battle mode character name display
* gl_geom.h: fix OpenGL rotation equation
* Add cheat \"4shared\" to evaluate 4-player shared screen mode
* screen_connect.cpp: do NOT allow 4 players to join
* global_constants.h: allow 4 controllers to connect
* player_update.cpp: fix post-death camera in >2P
* player_update.cpp: implement level wrap for shared screen mode
* player_update.cpp: fix >2P bug with wrong section after death
* player.cpp: implement warps for shared screen mode
* Implement shared screen mode
* player.cpp: use s_TriggerDoorEffects for more cases
* Update changelog.txt
* gfx_update.cpp: don\'t draw screen fader above pause menu
* render_gl_frontend.cpp: tuned lighting demo
* Translated using Weblate (Chinese (Traditional))
* Translated using Weblate (Chinese (Simplified))
* Do fix texture bounds on non-SDL platforms
* CMakeLists.txt: fix Emscripten build
* gfx_update2.cpp: mark world draws with their draw planes
* gfx_update.cpp: mark level draws with their draw planes
* gfx_update.cpp: reorder game meta draws
* gfx_update.cpp: move section foreground after player warp info
* gfx_update.cpp: make level vScreen fader final thing drawn on vScreen
* Implement render plane system for non-SDL renderers
* Implement render plane system for SDL renderers
* Add a WIP enum for engine draw planes
* Translated using Weblate (Chinese (Simplified))
* Implement deferred rendering for SDL
* Switched color format to 4xU8
* CMakeLists.txt: fix version string for WUHB (#665)
* app_path_wiiu.cpp: fallback to external asset path (#665)
* gfx_hud.cpp: don\'t check power status unless necessary
* joystick.cpp: cache SDL joystick power status
* power_sdl.cpp: cache device power status for 10 seconds
* Squash some warnings
* Translated using Weblate (Korean)
* Translated using Weblate (Korean)
* wiiu-ci.yml: add WUHB to package
* std_picture.h: use u8s instead of floats for color
* Wii U: add WUHB build
* changelog.txt: update for version display
* menu_main.cpp: add \'v\' to version display
* git_version_update.cmake: write git version info to build log
* Rewrote git version info script to run at every build
* Log OpenGL version info instead of drawing on menu
* Show game version on title screen
* gfx_update.cpp: draw vScreen divider in forced split-screen
* player.cpp: don\'t check players in pet mouth in respawn logic
* Add extra screen modes and multiplayer prefs
* gfx_enter_screen.cpp: fixed level intro screen in >2P
* player.cpp: update shared screen / >2P start position code
* screen_connect.cpp: disabled faulty scroll mode
* Fixed some constants assuming maxLocalPlayers == 2
* player.cpp: refactor StealBonus
* Translated using Weblate (Korean)
* Translated using Weblate (Korean)
* Added translation using Weblate (Korean)
* Added translation using Weblate (Korean)
* Added translation using Weblate (Korean)
* Added translation using Weblate (Korean)
* player.cpp: respawn code - don\'t check collision with dead player
* npc_bonus.cpp: fully refactor DropBonus for clarity and >2P
* Add GetvScreenAuto helper function
* gfx_hud.cpp: fully rewrite HUD code
* gfx_hud.cpp: halfway refactored HUD draw code
* npc.cpp: downgrade FIXME about SingleCoop to possible TODO
* npc.cpp: fix thrower logic and remove refs to global ScreenType
* Remove dead DropNPC function
* player_update.cpp: simplify dead player moving code
* cheat_code.cpp: enable cloned player mode before calling SetupScreens()
* npc_bonus.cpp: update DropBonus disable condition to cloned player mode
* gfx_hud.cpp: refactor to remove references to global ScreenType
* Refactor: remove some references to global ScreenType / DScreenType
* Compat: add modern-npc-camera-logic flag
* Translated using Weblate (Russian)
* screen.h: track player count, preferred multiplayer mode
* screen.cpp: fix vScreen detection during SharedCoop mode
* render_gl_frontend.cpp: resetViewport shouldn\'t affect offset (#657)
* level_file.cpp: log for #655
* Update changelog.txt for #655
* level_file.cpp: don\'t allow improper rects at load time
* block_table: crashproof against improper input locations
* blocks.cpp: warn about new logic in coin switch frame handling (#167)
* Translated using Weblate (Russian)
* Translated using Weblate (Chinese (Traditional))
* Translated using Weblate (Chinese (Simplified))
* Actualized ReadMEs
* load_gfx.cpp: suppress compiler warning
* Add ability to load / save / edit world map areas
* Graphics: add new frame border system
* gfx_marquee.cpp: add parameter for marquee alignment
* Font engine tweaks
* render_16m.cpp: fix warning
* ObjectGraph: fix trailing semicolon on namespace
* CI: Added Ubuntu 22.04 build
* Android: Bump the Gradle version to 8.1.4
* Fix non-SDL build
* Turn the FileMapper into submodule
* Turn the IniProcessor into submodule
* render_base.h: Don\'t include gif.h without need
* Replace DirManager with a submodule
* Tue Nov 21 2023 Martin Hauke - Update to version 1.3.6.2+git20231120
* Sat Jan 21 2023 Martin Hauke - Initial package, version 1.3.6+git20230120
 
ICM