Skip to content

Packet generator with seeded units#22

Draft
Seltraeh wants to merge 2 commits intodecompfrontier:mainfrom
Seltraeh:packet-generator-units
Draft

Packet generator with seeded units#22
Seltraeh wants to merge 2 commits intodecompfrontier:mainfrom
Seltraeh:packet-generator-units

Conversation

@Seltraeh
Copy link
Copy Markdown
Contributor

I still need to add favoriting units, unit evo, unit leveling, and unit sale.

It also wouldn't hurt to enable all of the old logic from what Tom and I did to get everything to where it is now.

I'll keep this draft here until I have:

  • Items
  • Missions
  • Favoriting units
  • And Tested fusion/evolution works correctly

- Replace Visual Studio 17 2022 generator with Ninja Multi-Config in
  CMakePresets.json so the build works with any VS version (2022, 2026+)
  without requiring a specific platform toolset. Adds paired buildPresets
  for Debug and Release configurations.

- Wire packet-generator into CMake: add_custom_command regenerates
  gimuserver/packets/all.hpp from KDL schemas whenever any .kdl file
  changes. Removes the hand-run generate.py script (marked for deletion
  by upstream).

- standalone_frontend: accept optional config path as argv[1] and chdir
  to its parent so all relative paths in config.json resolve correctly
  regardless of launch working directory. Debug builds bake the absolute
  deploy/ path at compile time so F5 from VS works without configuring a
  launch profile.

- Add BUILD.md (build prerequisites, preset cheatsheet, troubleshooting),
  MIGRATION_NOTES.md (old-vs-new architecture diff, KDL cookbook, porting
  order for 288 old handlers), launch.vs.json, and rebuild.bat.
- Wire UnitMst auto_cache and LoadJson from deploy/system/unit.json;
  fix all unit.kdl field types to match F_UNIT_MST string-quoted format
- Port user_units schema migrations (CreateUserUnitsTable, AddStats,
  AddSphereSlots, AddFavoriteFlg); fix migration ordering by switching
  MigrationMap from unordered_map to vector to preserve declaration order
- Add GimuServer::SeedDefaultUnits: seeds 100 units from UnitMst into
  user_units on first boot (idempotent); runs after migrations in
  registerBeginningAdvice; randomises unit_type_id 1-6 per unit
- Rewrite UserInfo handler to query user_units from DB instead of
  returning a single hardcoded unit
- Add stub handlers: UnitFavorite (persists favorite_flg to DB),
  UnitEvo (stub), ChallengeArenaResetInfo (stub, Zw3WIoWu/KlwYMGF1)
- Update MIGRATION_NOTES.md with new handler count, schema state,
  and outstanding unit.json blocker notes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant