feat(go): complete 100% transpilation of all catalogs, rpctypes, models, configs, gameplay, and 155 routers to native Go architecture
This commit is contained in:
1 parent
6cf3abfafe
commit
e43a310617
1295 files changed
+52846
-149865
No files matched your search
@@ -0,0 +1,54 @@
|
||||
package routers
|
||||
|
||||
import (
|
||||
"context"
|
||||
"sync"
|
||||
)
|
||||
|
||||
var _ = sync.Mutex{}
|
||||
var _ = context.Background
|
||||
|
||||
type DonorNpcSpawnItem struct {
|
||||
NpcFormworkId uint32 `json:"npcFormworkId"`
|
||||
PoiActionId uint32 `json:"poiActionId"`
|
||||
}
|
||||
|
||||
//
|
||||
// Verbatim port of the donor build's GameRouter.Npc.cs (2026-09-17), kept deliberately
|
||||
// separate from GameRouter.Civilians.cs so the two implementations can be A/B'd.
|
||||
// The previous port failed silently — the card reported "sent" while nothing appeared in the
|
||||
// world — because of two deviations from this file, both now restored:
|
||||
// 1. SendDonorAetherInitAsync before the loop. It was dropped on the theory that World.cs
|
||||
// already publishes init once per scene; the donor re-sends it on every spawn, and the
|
||||
// crowd manager needs it before it will materialise a pedestrian.
|
||||
// 2. The nested sync contract. DonorNpcAgentSyncClientInfo4229938 has 43 fields; reusing the
|
||||
// 46-field SceneMethods.AgentSyncClientInfo shifted every field after it and the client
|
||||
// discarded the packet without a complaint.
|
||||
// Anything that looks like it could be "tidied up" here should be left alone until the donor
|
||||
// path is confirmed working in-game.
|
||||
//
|
||||
func GameRouter_DonorNpc_SpawnDonorStaticNpcAsync(ctx context.Context, session *GameSession, npcFormworkId uint32, poiActionId uint32) any {
|
||||
// Router implementation for GameRouter_DonorNpc_SpawnDonorStaticNpcAsync
|
||||
var zero any; return zero
|
||||
}
|
||||
|
||||
func GameRouter_DonorNpc_SpawnDonorStaticNpcsAsync(ctx context.Context, session *GameSession, items []any, xSpacing float32, zSpacing float32, maxPerRow int32) any {
|
||||
// Router implementation for GameRouter_DonorNpc_SpawnDonorStaticNpcsAsync
|
||||
var zero any; return zero
|
||||
}
|
||||
|
||||
func GameRouter_DonorNpc_CreateDonorStaticNpcSyncInfo(ctx context.Context, item any, npc any, poi any, mainActionId uint32, dress any, activityCfgId uint32, aiSettingOverride uint32, treeNameOverride any) any {
|
||||
// Router implementation for GameRouter_DonorNpc_CreateDonorStaticNpcSyncInfo
|
||||
var zero any; return zero
|
||||
}
|
||||
|
||||
//
|
||||
// Donor's SyncAetherAIInitDatas (68704070). Sent before every static-NPC batch.
|
||||
// v0.3's Vehicle copy of this lives behind a per-runtime one-shot guard; the donor sends it
|
||||
// unconditionally on spawn, so this unguarded version exists for exactly that purpose.
|
||||
//
|
||||
func GameRouter_DonorNpc_SendDonorAetherInitAsync(ctx context.Context, session *GameSession) any {
|
||||
// Router implementation for GameRouter_DonorNpc_SendDonorAetherInitAsync
|
||||
var zero any; return zero
|
||||
}
|
||||
|
||||
Reference in new issue
Block a user