Releases: kapodamy/kdmy-engine
Releases · kapodamy/kdmy-engine
v0.62
v0.62
- add new screenshots.
- (JS) implement indexlisting.json
- Required in the javascript version of the engine to enumerate files and directories.
- Must be created using the desktop version by running "kdy-e.exe -indexlisting".
- this file list "/asstets" and "/expansions" directories.
- (C) show a logo in the VMU LCD, choosen to store savedata is used
- (C#) fix "ghosting" image between rendered frames
- add batch for recreating symlinks in WIndows.
- move some unused files to "test files" folder.
- implement FontCache
- this new feature reduces loading time of SDF font char maps.
- in JS is not implemented because the cache is async.
- C version does not use SDF.
- (C#) WeekSelector: fix songs list limit not working
- update assets: introText.txt
- (C#) misc fixes
- show loading screen if enabled at startup.
- SIMDmaxtrix: do not use Buffer::MemoryCopy() method.
- remove any call glFlush() and glFinish() functions
- implement pvr_context_prepare() to begin the scene (and polygon list) before draw something.
- implement main_print_thread_list() to attemp fix a deadlock somewhere.
- ignore "." and ".." folders in io_read_folder() and preloadcache_internal_list_files_of_folder() functions.
- another text rendering fixes
- FontAtlas:
- eternal fix for "ascender" and "offset_y" using FT_Outline_Get_CBox() function.
- do not fallback to 64px font size if fails.
- use "FT_LOAD_IGNORE_TRANSFORM" to speed-up glyph rendering.
- FontType:
- rewrite fonttype_measure_line_height() function.
- rewrite fonttype_map_codepoints() function, avoid duplicate codepoints fetch.
- scale paragraph_space before apply.
- WGLC: enable blend before setting blend function.
- (C#) use unsigned unicode codepoints (uint instead of int)
- add/update vscode specific files.
- add FFmpeg prebuild libraries
- improve LayoutVisor
- change folder/file picker icons and labels
- allow override input xml file with the FilesystemDialog picked file.
- allow load an expansion indicated by /expansions/expansion.txt file
- (JS &C#) do not animate saving progress message in Week
- allow change the border size of RoundStats and song info TextSprite
- update all TextSprite locations, borders and sizes.
- (JS) FontAtlas: use emscripten cached freetype headers.
- (JS) update instructions to build freetype lib.
- remove default height of FontHolder.
- add string_index_of_any_char() function.
- (JS) IO no longers throws an exception when a file can not be readed, now simply returns null.
- another text rendering fix in FontType
- fix font borders not properly rendered.
- fix ascender bug.
- the draw size is now correctly calculated.
- now creates another char map for rendering outlines.
- clean up FontType constants.
- update glyphs shader, now requires 4 texture units.
- this changes breaks all text positions, needs layout corrections.
- now the outline is draw on behind the glyphs, which can be used to create a non-blur (or solid) shadows.
- fix fonttype_map_codepoints() not correctly creating a secondary char map.
- rewrite javascript FontAtlas implementation, this simplifies the amount of required code.
- Sega Dreamcast port is here
- successfully ported to C.
- builded on top of KallistiOS using DreamSDK.
- requires custom file types of assets to work for textures, xml, json, audios and videos.
- GLSL shaders are not supported.
- keyboard and mouse are not supported.
- ExpansionsLoader is not implemented but the expansions logic is available and works.
- various settings options are not supported, also the loading screen is always drawn.
- some Luascript platform features like reading command line arguments are not supported .
- due hardware limitations various assets like textures, audio and videos will have a lower quality.
- updated credits.
- updated gitignore.
- rename folders
- rename folder "./fontatlas" to "./fontatlas-javascript".
- rename folder "./luascript-js" to "./luascript-javascript".
- Conductor: avoid muting voice track if there "hits" on neighbors strum lines.
- (JS) StreakCounter: fix acient bug related to not printing the correct streak.
- increase font size in FreeplayMenu and Week UI.
- add support for letterbox menu manifests suffixed with "~dreamcast".
- week7:
- keep aspect ratio of kickstarter layout.
- add dreamcast version of the mainmenu menu manifest.
- Week: fix downscroll not working for letterbox screens in UI layout.
- Chart: set extra data field to NaN if there no extra value or is not an number.
- luascript: fix double-free in objects allocated by lua
- add dreamcast version of week7 stage layout
- LayoutVisor fixes
- disable MasterVolume, avoids crashing the rendering pipeline.
- fix character manifest not getting picked from FileSystemDialog.
- luascript changes
- use stringbuilder_helper_create_formatted_string() instead of lua_pushfstring() because does not support number formats.
- StringBuilder:
- add missing support for printing boolean values.
- rename stringbuilder_helper_create_formatted_string() and stringbuilder_helper_create_formatted_string2() to be consistent across platforms.
- move modifier field in Sprite, StateSprite and TextSprite structs to avoid pointer confusion.
- (JS) fix macroexecutor_clone() function no cloning the items in the interpolators stack.
- (JS) rewrite soundplayer_init2() to avoid deadlock when loading malformed ogg files
- add support for 4:3 (letterbox) layouts
- the function week_init_stage() now attempts to load stage file suffixed with "~dreamcast".
- added original dreamcast stage layouts for tutorial and weeks 1-7.
- update Lua to version 5.4.7
- week4: reduce milf zooms
- remove dead code on atlas_parse_from_plain_text() function.
- rewrite string_trim() function (again).
- (JS) write IO without require a worker thread
- update FreeType to version 2.13.3
- rewrite arraylist_destroy() function, removes "keep_alive" argument
- code cleanup on playerstats_add_sustain() function
- Luascript: add API for changing the pause screen background music
- replace week_pause_prepare() with week_pause_change_background_music() function.
- this avoid reloading the background music each round.
- Week: fix acient bug where MessageBox is not shown
- rewrite DDR checking logic
- DDRKeymon: use vblank interrupts to check pressed keyboard keys and gamepad buttons.
- simplify keyboard detection on KallistiOS STUB:
- on desktop GLFW always reports the keys after calling glfwPollEvents() function which run every frame.
- on javascript the web browser reports after calling requestAnimationFrame() function.
- SongPlayer: rewrite the track sync logic depending in the plataform.
- rewrite gamepad and keyboard checking logic:
- do not use queue for keys, they share the same timestamp.
- rewrite keyboard mapping.
- rewrite gamepad checking.
- Week: rewrite round start logic.
- change default value of "disableResourceCacheBetweenSongs" in GameplayManifest
- WeekPause:
- use soundplayer_play() instead of soundplayer_replay() function (avoids unneccesary seeking)
- remove "week selector" from leaving question.
- WeekSelectorHelpText: increase z-index.
- (C#) use proper KOS namespace for timer functions
- fix acient bug in TextSprite where the selected animation was never disposed.
- Layout:
- use cloneutils when for atlas entry copy.
- proper check camera_animate() function return value.
- misc syntax fixes.
- Character:
- fixed two memory leaks.
- use proper default values in some fields.
- FunkinSave: do not add null-terminator when writing strings (its implied).
- Healthbar:
- fix two memory leaks.
- use proper check for internal state name.
- HealthWatcher: do not call playerstats_add_health() function if the amount is zero.
- RankingCounter: avoid unnecessary animation cloning.
- SongProgressbar:
- check if seconds are valid before proceed.
- remove unnecessary call to stringbuilder_clear() function.
- GameplayManifest:
- add missing field.
- fix song filename building.
- WeekGameover: fix memory leak.
- WeekSelectorDiffucult: fix use-after-free.
- GameMain: use do-while loop in main_spawn_coroutine() function.
- Week:
- use FS folder stack.
- fixed wrong default player camera names assignaments.
- fixed various memory leaks.
- remove duplicate call to week_internal_pick_counters_values_from_layout() function.
- proper check for healthwatcher_has_deads() function return value.
- Strum: check note id as integer.
- WeekGameover:
- reduce font size in "GAMEOVER" label.
- add missing changes from previous commits to dreamcast layout.
- SongPlayer fixes
- show the loading screen when launching a week from the modding context
- implement PreloadCache
- (JS) allow delete savedatas in SaveManager during the engine startup, this intended for dealing with corrupted saves.
- assets changes
- change location and size labels of some labels used in menu layouts.
- MainMenu: reorder items z-index
- (C#) remove unused assertions in FontGlyph and FontType
- TexturePool: rewrite implementation without cache
- SaveManager: fix confirm delete dialog not closing.
- SettingsMenu: fix wrong function usage, confusion between soundplayer_play() and soundplayer_destroy() functions.
- fix various z-figthing.
- memory satefy fixes
- reduce percent to choose last week played style from 25% to 15%
- improve string folding performance for ASCII codepoints
- Math2D: improve RNG init
- PVRContext: set to zero the delta time between loading screens
- FS fixes
- Use proper path prefixs like "src", "path", "absolute_path" and "native_path".
- FS: fixTLS init.
- typo fixes.
- add missing free() calls
- remove padding carrier-return character in introscreen_read_intro_text() function
- add proof-of-concept of sli...
v0.60
Download release build from https://gamebanana.com/mods/430920
Changes
- Fix FreeType dependencies on MINGW-w64 libraries, crashing the engine
- Various bug fixes and improvements
- Ported to .NET 7.0
- Support for DDS compressed textures
- Support for looped OGG sounds
- Ported FontAtlas, FFGraph and SoundBridge to C#, reduces the amount of required DLL files
- Fast matrix multiplication using SIMD SSE dedicated instructions
Full Changelog: v0.57...v0.60
v0.60-RC2
v0.57
Download release build from https://gamebanana.com/mods/430920
v0.54
A lot of changes was done since last release, see commit history v0.46.2...v0.54 for more info