Skip to content

Releases: kapodamy/kdmy-engine

v0.62

06 Oct 14:57
Compare
Choose a tag to compare

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...
Read more

v0.60

07 Jul 19:55
Compare
Choose a tag to compare

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

07 Jul 20:31
Compare
Choose a tag to compare

v0.57

04 Apr 02:48
Compare
Choose a tag to compare

Download release build from https://gamebanana.com/mods/430920

v0.54

06 Mar 04:23
Compare
Choose a tag to compare

A lot of changes was done since last release, see commit history v0.46.2...v0.54 for more info

v0.46.2

10 Dec 02:14
Compare
Choose a tag to compare

first stable version 🥳