From f7f9fdd741da82dd77e8ef2aa4575ffb4951da76 Mon Sep 17 00:00:00 2001 From: Bruno Carneiro Date: Fri, 13 Feb 2026 18:25:50 -0300 Subject: [PATCH] Attempt at fixing the paths and links --- .../actor-hierarchy.md => actor-hierarchy.md | 2 +- mission-script-api/world/air.md => air.md | 0 ...tion-file.md => events-and-section-file.md | 0 .../external-types.md => external-types.md | 0 mission-script-api/gameplay.md => gameplay.md | 6 ++-- .../world/ground.md => ground.md | 0 ...ion-and-battle.md => mission-and-battle.md | 0 mission-script-api.md | 30 +++++++++---------- mission-script-api/world/world.md | 25 ---------------- ...d-terrain.md => pathfinding-and-terrain.md | 0 mission-script-api/player.md => player.md | 0 .../script-loading.md => script-loading.md | 0 ...nd-difficulty.md => time-and-difficulty.md | 0 ...-user-labels.md => time-and-user-labels.md | 4 +-- ...s-targets.md => triggers-spawns-targets.md | 0 world.md | 25 ++++++++++++++++ 16 files changed, 46 insertions(+), 46 deletions(-) rename mission-script-api/world/actor-hierarchy.md => actor-hierarchy.md (97%) rename mission-script-api/world/air.md => air.md (100%) rename mission-script-api/events-and-section-file.md => events-and-section-file.md (100%) rename mission-script-api/external-types.md => external-types.md (100%) rename mission-script-api/gameplay.md => gameplay.md (96%) rename mission-script-api/world/ground.md => ground.md (100%) rename mission-script-api/mission-and-battle.md => mission-and-battle.md (100%) delete mode 100644 mission-script-api/world/world.md rename mission-script-api/pathfinding-and-terrain.md => pathfinding-and-terrain.md (100%) rename mission-script-api/player.md => player.md (100%) rename mission-script-api/script-loading.md => script-loading.md (100%) rename mission-script-api/time-and-difficulty.md => time-and-difficulty.md (100%) rename mission-script-api/world/time-and-user-labels.md => time-and-user-labels.md (76%) rename mission-script-api/world/triggers-spawns-targets.md => triggers-spawns-targets.md (100%) create mode 100644 world.md diff --git a/mission-script-api/world/actor-hierarchy.md b/actor-hierarchy.md similarity index 97% rename from mission-script-api/world/actor-hierarchy.md rename to actor-hierarchy.md index f950aea..bd8cca4 100644 --- a/mission-script-api/world/actor-hierarchy.md +++ b/actor-hierarchy.md @@ -87,7 +87,7 @@ Single waypoint: position and speed. | `Speed` | double | Speed. | | `AiWayPoint(ref Point3d p, double speed)` | constructor | Build waypoint. | -Base for **AiAirWayPoint** and **AiGroundWayPoint** (see [Air](mission-script-api/world/air), [Ground](mission-script-api/world/ground)). +Base for **AiAirWayPoint** and **AiGroundWayPoint** (see [Air](air), [Ground](ground)). --- diff --git a/mission-script-api/world/air.md b/air.md similarity index 100% rename from mission-script-api/world/air.md rename to air.md diff --git a/mission-script-api/events-and-section-file.md b/events-and-section-file.md similarity index 100% rename from mission-script-api/events-and-section-file.md rename to events-and-section-file.md diff --git a/mission-script-api/external-types.md b/external-types.md similarity index 100% rename from mission-script-api/external-types.md rename to external-types.md diff --git a/mission-script-api/gameplay.md b/gameplay.md similarity index 96% rename from mission-script-api/gameplay.md rename to gameplay.md index 2c160ec..83777dd 100644 --- a/mission-script-api/gameplay.md +++ b/gameplay.md @@ -83,7 +83,7 @@ | `double gpFrontDistance(int army, double x, double y)` | double | Front distance for army at (x, y). | | `string gpSectorName(double x, double y)` | string | Sector name at (x, y). | | `LandTypes gpLandType(double x, double y)` | LandTypes | Land type at (x, y). | -| `IRecalcPathParams gpFindPath(Point2d a, double ra, Point2d b, double rb, PathType type, int army)` | IRecalcPathParams | Find path between two circles; see [Pathfinding And Terrain](mission-script-api/pathfinding-and-terrain). | +| `IRecalcPathParams gpFindPath(Point2d a, double ra, Point2d b, double rb, PathType type, int army)` | IRecalcPathParams | Find path between two circles; see [Pathfinding And Terrain](pathfinding-and-terrain). | --- @@ -165,5 +165,5 @@ - Create or get air groups with `gpMakeAirGroup`, `gpAiAirGroup`. - Fire actions when triggers activate (e.g. in `OnTrigger`) by getting the action with `gpGetAction(name)` and calling `Do()`. - Show messages with `gpHUDLogCenter` or `gpLogServer`. -- Load/save config or mission data with `gpLoadSectionFile`, `gpCreateSectionFile`, `gpConfigUserFile`, and the **ISectionFile** API (see [Events And Section File](mission-script-api/events-and-section-file)). -- Pathfinding: `gpFindPath` with **PathType** and **IRecalcPathParams** (see [Pathfinding And Terrain](mission-script-api/pathfinding-and-terrain)). +- Load/save config or mission data with `gpLoadSectionFile`, `gpCreateSectionFile`, `gpConfigUserFile`, and the **ISectionFile** API (see [Events And Section File](events-and-section-file)). +- Pathfinding: `gpFindPath` with **PathType** and **IRecalcPathParams** (see [Pathfinding And Terrain](pathfinding-and-terrain)). diff --git a/mission-script-api/world/ground.md b/ground.md similarity index 100% rename from mission-script-api/world/ground.md rename to ground.md diff --git a/mission-script-api/mission-and-battle.md b/mission-and-battle.md similarity index 100% rename from mission-script-api/mission-and-battle.md rename to mission-and-battle.md diff --git a/mission-script-api.md b/mission-script-api.md index 7d15093..2212ba8 100644 --- a/mission-script-api.md +++ b/mission-script-api.md @@ -2,7 +2,7 @@ This folder documents the API available to mission scripts. Mission scripts derive from `AMission` and are loaded by the game at runtime. -Mission scripts also use additional types such as `LimbNames`, `NamedDamageTypes`, `Point2d`, and `Point3d`; those are summarized in [External Types](mission-script-api/external-types). +Mission scripts also use additional types such as `LimbNames`, `NamedDamageTypes`, `Point2d`, and `Point3d`; those are summarized in [External Types](external-types). ## How mission scripts are loaded @@ -16,25 +16,25 @@ Mission scripts also use additional types such as `LimbNames`, `NamedDamageTypes | Document | Description | |----------|-------------| -| [Mission And Battle](mission-script-api/mission-and-battle) | **AMission**, **ABattle**, **IBattle**, **DoTimeout** | -| [Gameplay](mission-script-api/gameplay) | **IGamePlay** — main interface to the game (actors, HUD, triggers, section files, etc.) | -| [Time And Difficulty](mission-script-api/time-and-difficulty) | **ITime**, **DifficultySetting** | -| [Player](mission-script-api/player) | **Player** | -| [Events And Section File](mission-script-api/events-and-section-file) | **GameEventId**, **ISectionFile** | -| [Pathfinding And Terrain](mission-script-api/pathfinding-and-terrain) | **RecalcPathState**, **PathType**, **LandTypes**, **IRecalcPathParams**, **ActorName** | -| [Script Loading](mission-script-api/script-loading) | **IScriptRemote**, **ScriptRemote** | -| [External Types](mission-script-api/external-types) | Additional types used by missions (limbs, damage, geometry) | +| [Mission And Battle](mission-and-battle) | **AMission**, **ABattle**, **IBattle**, **DoTimeout** | +| [Gameplay](gameplay) | **IGamePlay** — main interface to the game (actors, HUD, triggers, section files, etc.) | +| [Time And Difficulty](time-and-difficulty) | **ITime**, **DifficultySetting** | +| [Player](player) | **Player** | +| [Events And Section File](events-and-section-file) | **GameEventId**, **ISectionFile** | +| [Pathfinding And Terrain](pathfinding-and-terrain) | **RecalcPathState**, **PathType**, **LandTypes**, **IRecalcPathParams**, **ActorName** | +| [Script Loading](script-loading) | **IScriptRemote**, **ScriptRemote** | +| [External Types](external-types) | Additional types used by missions (limbs, damage, geometry) | ### World | Document | Description | |----------|-------------| -| [World](mission-script-api/world) | Index of world types | -| [Actor Hierarchy](mission-script-api/world/actor-hierarchy) | **AiActor**, **AiPerson**, **AiCart**, **AiGroup**, damage types, **CrewFunction** | -| [Air](mission-script-api/world/air) | **AiAircraft**, **AiAirGroup**, air waypoints, enums, **EnemyAirInterf** | -| [Ground](mission-script-api/world/ground) | **AiGroundActor**, **GroundStationary**, buildings, bomb explosion, enums | -| [Triggers Spawns And Targets](mission-script-api/world/triggers-spawns-targets) | **AiTrigger**, **AiAction**, **AiBirthPlace**, **AiAirport**, **AiTarget**, **Regiment** | -| [Time And User Labels](mission-script-api/world/time-and-user-labels) | **ITime** (cross-link), **GPUserLabel**, **GPUserIconType** | +| [World](world) | Index of world types | +| [Actor Hierarchy](actor-hierarchy) | **AiActor**, **AiPerson**, **AiCart**, **AiGroup**, damage types, **CrewFunction** | +| [Air](air) | **AiAircraft**, **AiAirGroup**, air waypoints, enums, **EnemyAirInterf** | +| [Ground](ground) | **AiGroundActor**, **GroundStationary**, buildings, bomb explosion, enums | +| [Triggers Spawns And Targets](triggers-spawns-targets) | **AiTrigger**, **AiAction**, **AiBirthPlace**, **AiAirport**, **AiTarget**, **Regiment** | +| [Time And User Labels](time-and-user-labels) | **ITime** (cross-link), **GPUserLabel**, **GPUserIconType** | ## Quick start diff --git a/mission-script-api/world/world.md b/mission-script-api/world/world.md deleted file mode 100644 index 1ee8f2a..0000000 --- a/mission-script-api/world/world.md +++ /dev/null @@ -1,25 +0,0 @@ -# World API (maddox.game.world) - -Types in **maddox.game.world** represent actors (air, ground), triggers, spawn points, airports, targets, time, and user labels. Mission scripts get these from **IGamePlay** (e.g. `gpActorByName`, `gpBirthPlaces`, `gpGetTrigger`) or receive them in **AMission** event arguments. - ---- - -## Documentation index - -| Document | Description | -|----------|-------------| -| [Actor Hierarchy](mission-script-api/world/actor-hierarchy) | **AiActor**, **AiPerson**, **AiCart**, **AiGroup**, **AiBridge**, **AiWayPoint**; damage types (**AiDamageInitiator**, **AiDamageTool**, **DamagerScore**, **AiLimbDamage**); **CrewFunction** | -| [Air](mission-script-api/world/air) | **AiAircraft**, **AiAirGroup**, **AiAirWayPoint**, **AiAirEnemyElement**; enums **IDState**, **AircraftType**, **DangerType**, **AiAirWayPointType**, **AiAirWayPointGAttackType**, **AiAirWayPointGAttackPasses**, **AiAirGroupTask**; **EnemyAirInterf** | -| [Ground](mission-script-api/world/ground) | **AiGroundActor**, **AiGroundGroup**, **AiGroundWayPoint**, **AiAIChief**; **GroundStationary**, **GroundBuilding**, **GroundBombExplosion**; **AiGroundGroupType**, **AiGroundActorType**; **AiAIChiefType** | -| [Triggers Spawns And Targets](mission-script-api/world/triggers-spawns-targets) | **AiTrigger**, **AiAction**; **AiBirthPlace**; **AiAirport**, **AiAirportType**, **AiAirportStripState**; **AiTarget**, **AiTargetType**, **AiTargetGoal**; **Regiment** | -| [Time And User Labels](mission-script-api/world/time-and-user-labels) | **ITime** (cross-link), **GPUserLabel**, **GPUserIconType** | - ---- - -## When to use which - -- **Actors** — Resolve by name with `GamePlay.gpActorByName()`; check `gpActorIsValid()`. Use **AiActor** for position, army, group; **AiCart** for vehicles/aircraft (places, crew, destroy); **AiAircraft** for fuel, rearm, damage; **AiGroundActor** for ground units. -- **Triggers / actions** — `GamePlay.gpGetTrigger(name)`, `gpGetAction(name)`. In **OnTrigger**, get the action and call `Do()` to run it. -- **Spawns / airports** — `GamePlay.gpBirthPlaces()`, `gpAirports()` for spawn and airfield data. -- **User labels** — Create with `GamePlay.gpMakeUserLabel()`; draw/delete with `gpDrawUserLabel` / `gpDeleteUserLabel`. Use **GPUserLabel** and **GPUserIconType** for properties and icon type. -- **Time** — Use **ITime** from `Mission.Time` or `GamePlay.gpTime()` (see also [Time And Difficulty](mission-script-api/time-and-difficulty)). diff --git a/mission-script-api/pathfinding-and-terrain.md b/pathfinding-and-terrain.md similarity index 100% rename from mission-script-api/pathfinding-and-terrain.md rename to pathfinding-and-terrain.md diff --git a/mission-script-api/player.md b/player.md similarity index 100% rename from mission-script-api/player.md rename to player.md diff --git a/mission-script-api/script-loading.md b/script-loading.md similarity index 100% rename from mission-script-api/script-loading.md rename to script-loading.md diff --git a/mission-script-api/time-and-difficulty.md b/time-and-difficulty.md similarity index 100% rename from mission-script-api/time-and-difficulty.md rename to time-and-difficulty.md diff --git a/mission-script-api/world/time-and-user-labels.md b/time-and-user-labels.md similarity index 76% rename from mission-script-api/world/time-and-user-labels.md rename to time-and-user-labels.md index b0e8754..413ec52 100644 --- a/mission-script-api/world/time-and-user-labels.md +++ b/time-and-user-labels.md @@ -1,13 +1,13 @@ # Time and User Labels -**ITime** is documented in the main docs: [Time And Difficulty](mission-script-api/time-and-difficulty). Mission scripts use **Mission.Time** or **GamePlay.gpTime()**. **GPUserLabel** and **GPUserIconType** are used with **IGamePlay** user-label methods (gpMakeUserLabel, gpDrawUserLabel, gpDeleteUserLabel) and in **OnUserCreateUserLabel** / **OnUserDeleteUserLabel**. +**ITime** is documented in the main docs: [Time And Difficulty](time-and-difficulty). Mission scripts use **Mission.Time** or **GamePlay.gpTime()**. **GPUserLabel** and **GPUserIconType** are used with **IGamePlay** user-label methods (gpMakeUserLabel, gpDrawUserLabel, gpDeleteUserLabel) and in **OnUserCreateUserLabel** / **OnUserDeleteUserLabel**. --- ## ITime (cross-link) **Kind:** interface -See **[Time And Difficulty](mission-script-api/time-and-difficulty)** for the full **ITime** API: `current()`, `currentReal()`, `tick()`, `SecsToTicks`, `TicksToSecs`, `isPaused()`, etc. +See **[Time And Difficulty](time-and-difficulty)** for the full **ITime** API: `current()`, `currentReal()`, `tick()`, `SecsToTicks`, `TicksToSecs`, `isPaused()`, etc. Access in mission scripts: `Mission.Time` or `GamePlay.gpTime()`. diff --git a/mission-script-api/world/triggers-spawns-targets.md b/triggers-spawns-targets.md similarity index 100% rename from mission-script-api/world/triggers-spawns-targets.md rename to triggers-spawns-targets.md diff --git a/world.md b/world.md new file mode 100644 index 0000000..89e7485 --- /dev/null +++ b/world.md @@ -0,0 +1,25 @@ +# World API (maddox.game.world) + +Types in **maddox.game.world** represent actors (air, ground), triggers, spawn points, airports, targets, time, and user labels. Mission scripts get these from **IGamePlay** (e.g. `gpActorByName`, `gpBirthPlaces`, `gpGetTrigger`) or receive them in **AMission** event arguments. + +--- + +## Documentation index + +| Document | Description | +|----------|-------------| +| [Actor Hierarchy](actor-hierarchy) | **AiActor**, **AiPerson**, **AiCart**, **AiGroup**, **AiBridge**, **AiWayPoint**; damage types (**AiDamageInitiator**, **AiDamageTool**, **DamagerScore**, **AiLimbDamage**); **CrewFunction** | +| [Air](air) | **AiAircraft**, **AiAirGroup**, **AiAirWayPoint**, **AiAirEnemyElement**; enums **IDState**, **AircraftType**, **DangerType**, **AiAirWayPointType**, **AiAirWayPointGAttackType**, **AiAirWayPointGAttackPasses**, **AiAirGroupTask**; **EnemyAirInterf** | +| [Ground](ground) | **AiGroundActor**, **AiGroundGroup**, **AiGroundWayPoint**, **AiAIChief**; **GroundStationary**, **GroundBuilding**, **GroundBombExplosion**; **AiGroundGroupType**, **AiGroundActorType**; **AiAIChiefType** | +| [Triggers Spawns And Targets](triggers-spawns-targets) | **AiTrigger**, **AiAction**; **AiBirthPlace**; **AiAirport**, **AiAirportType**, **AiAirportStripState**; **AiTarget**, **AiTargetType**, **AiTargetGoal**; **Regiment** | +| [Time And User Labels](time-and-user-labels) | **ITime** (cross-link), **GPUserLabel**, **GPUserIconType** | + +--- + +## When to use which + +- **Actors** — Resolve by name with `GamePlay.gpActorByName()`; check `gpActorIsValid()`. Use **AiActor** for position, army, group; **AiCart** for vehicles/aircraft (places, crew, destroy); **AiAircraft** for fuel, rearm, damage; **AiGroundActor** for ground units. +- **Triggers / actions** — `GamePlay.gpGetTrigger(name)`, `gpGetAction(name)`. In **OnTrigger**, get the action and call `Do()` to run it. +- **Spawns / airports** — `GamePlay.gpBirthPlaces()`, `gpAirports()` for spawn and airfield data. +- **User labels** — Create with `GamePlay.gpMakeUserLabel()`; draw/delete with `gpDrawUserLabel` / `gpDeleteUserLabel`. Use **GPUserLabel** and **GPUserIconType** for properties and icon type. +- **Time** — Use **ITime** from `Mission.Time` or `GamePlay.gpTime()` (see also [Time And Difficulty](time-and-difficulty)).