add towerdefense#245
Open
seventhback777 wants to merge 27 commits intothoth-tech:mainfrom
Open
Conversation
Author
Oliver-Quail
left a comment
There was a problem hiding this comment.
Hi Haoyu,
This looks pretty good but a few thing:
- Please change the comments into English
- Also just wanted to check what are the licenses on the assets?
Test/ci compile trigger
test: trigger CI workflow
test: trigger merge detection
test: trigger full CI pipeline (C++ and C# games)
test: trigger bootstrap full release
- HomemadePong, car-race: qualify std::to_string to resolve ambiguity with SplashKit's to_string overloads - car-race, Pingpong: enable compile-command=skm g++ *.cpp so all source files link (default command compiles only program.cpp) - BelowTheSurface: replace center_point(sprite) with center_point(sprite_collision_rectangle(...)) — the sprite overload was removed in current SplashKit; vendored include/sprites.h is stale
- get-game-directory: replace gh release list (silently fails in pull_request_target context) with REST API call; add vars.BOOTSTRAP override; echo PREV_TAG/BOOTSTRAP for diagnosability - recursive .csproj detection (find -maxdepth 3) so 2dRacer and SkySurge are correctly classified as C# - per-game compile failures no longer fail the job; emit ::warning:: and continue. linux-x86 also size-checks the produced tarball - publish-release: add MIN_SIZE=1024 guard so empty tarballs from failed compiles do not overwrite usable assets from the previous release; fall back to reuse path automatically
Single-game change to verify incremental detection now picks only HomemadePong (not all 11 games), warnings surface from games that still fail to compile, and size-guard prevents empty tarballs from being published.
test: trigger CI to validate post-fix workflow
…kySurge compile-game.sh: the C# branch built up a custom compile string but never executed it (no eval), so any compile-command= for a C# game was silently ignored. The C++ branch already had eval $command — this is the missing companion. With that fix, 2dRacer and SkySurge can now use compile-command to disambiguate their projects: - 2dRacer has no .csproj at the root (two demos in AdvancedDemo/ and BasicDemo/); publish AdvancedDemo/_2dRacerDemo.csproj explicitly - SkySurge has both "Sky Surge.sln" and Sky_Surge.csproj at the root, which makes dotnet publish ambiguous; pin it to the .csproj
BelowTheSurface: the previous attempt switched center_point(sprite) to center_point(sprite_collision_rectangle(...)), but the SplashKit build installed by skm linux install also lacks a rectangle overload. Compute the center inline from sprite_x/y/width/height so the code does not depend on any geometry overload that the live SplashKit may or may not ship. Pingpong: enabling compile-command=skm g++ *.cpp surfaced 5 more to_string ambiguities in game.cpp (only program.cpp was visible before, since the default command compiled a single file). Same fix as the others — qualify std::to_string.
Test/ci after fixes
…ambiguate to_screen
Previous attempt used to_screen({ x, y }) but splashkit has multiple
to_screen overloads, so the brace-enclosed initializer list left g++
unable to pick a candidate. point_at(x, y) returns an unambiguous
point_2d, which to_screen(const point_2d&) accepts cleanly.
The old cortex-a8 target lacks ARMv8 FP16 NEON intrinsics. As a result llama.cpp (now bundled with SplashKit) failed to compile during skm linux install with: error: use of undeclared identifier 'vld1q_f16'. That left libSplashKit.so unbuilt, so every C++ ARM game link failed with: cannot find -lSplashKit. C# ARM games were unaffected because dotnet publish does not link the SplashKit C library. cortex-a53 is the RPi 3 CPU and is the oldest in our deployment range (RPi 3/4/5). ARM binaries are forward-compatible, so a53-targeted artifacts run on a72 (RPi 4) and a76 (RPi 5). base_image stays on the 32-bit raspios_lite for now to avoid changing two things at once; if the FP16 intrinsics still fall over in AArch32 we can switch to raspios_lite_arm64.
Test/ci after fixes
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
Please include a summary of the change and which issue is fixed. Please also include relevant
motivation and context. List any dependencies that are required for this change.
Type of change : add new game
Please delete options that are not relevant.
How Has This Been Tested?
Please describe the tests that you ran to verify your changes. Provide instructions so we can
reproduce. Please also list any relevant details for your test configuration
Checklist