animation + test

This commit is contained in:
2026-08-01 08:27:44 -07:00
parent eea672023f
commit fbae54aef0
11 changed files with 439 additions and 101 deletions
+11 -1
View File
@@ -170,7 +170,10 @@ load_character_data :: proc(app: ^App, character_json_path: string) -> (Characte
sdl.EndGPUCopyPass(copy_pass)
fence := sdl.SubmitGPUCommandBufferAndAcquireFence(cmd)
if fence == nil {
fmt.eprintfln("SubmitGPUCommandBufferAndAcquireFence (texture upload) failed: %s", sdl.GetError())
fmt.eprintfln(
"SubmitGPUCommandBufferAndAcquireFence (texture upload) failed: %s",
sdl.GetError(),
)
sdl.ReleaseGPUTransferBuffer(app.device, tbuf)
sdl.ReleaseGPUTexture(app.device, out.texture)
return {}, false
@@ -200,6 +203,13 @@ destroy_character_data :: proc(app: ^App, data: ^Character_Data) {
data^ = {}
}
character_clip :: proc(data: ^Character_Data, clip_name: string) -> (clip: Clip_Def, ok: bool) {
if data == nil do return {}, false
character, found := data.def.clips[clip_name]
if !found || len(character.frames) == 0 do return {}, false
return character, true
}
character_frame_rect :: proc(
data: ^Character_Data,
clip_name: string,