Skip to content

Commit bc8d153

Browse files
authored
docs: Add ActorControlSelfExtra (OverlayPlugin#120)
Also add info about `DisplayPublicContentTextMessage`, and re-generate `LogGuide.md`
1 parent 2d1eae9 commit bc8d153

File tree

5 files changed

+135
-8
lines changed

5 files changed

+135
-8
lines changed

docs/LogGuide.md

+84-7
Original file line numberDiff line numberDiff line change
@@ -228,6 +228,10 @@ This guide was last updated for:
228228
- [Structure](#structure-45)
229229
- [Regexes](#regexes-45)
230230
- [Examples](#examples-45)
231+
- [Line 274 (0x112): ActorControlSelfExtra](#line-274-0x112-actorcontrolselfextra)
232+
- [Structure](#structure-46)
233+
- [Regexes](#regexes-46)
234+
- [Examples](#examples-46)
231235
<!-- AUTO-GENERATED-CONTENT:END -->
232236

233237
## Data Flow
@@ -2587,10 +2591,10 @@ Parsed Log Line Structure:
25872591

25882592
```log
25892593
Network Log Line Regex:
2590-
^(?<type>261)\|(?<timestamp>[^|]*)\|(?<change>[^|]*)\|(?<id>[^|]*)\|(?:AggressionStatus\|(?<pairAggressionStatus>[^|]*)\|)?(?:BNpcID\|(?<pairBNpcID>[^|]*)\|)?(?:BNpcNameID\|(?<pairBNpcNameID>[^|]*)\|)?(?:CastBuffID\|(?<pairCastBuffID>[^|]*)\|)?(?:CastDurationCurrent\|(?<pairCastDurationCurrent>[^|]*)\|)?(?:CastDurationMax\|(?<pairCastDurationMax>[^|]*)\|)?(?:CastTargetID\|(?<pairCastTargetID>[^|]*)\|)?(?:CurrentCP\|(?<pairCurrentCP>[^|]*)\|)?(?:CurrentGP\|(?<pairCurrentGP>[^|]*)\|)?(?:CurrentHP\|(?<pairCurrentHP>[^|]*)\|)?(?:CurrentMP\|(?<pairCurrentMP>[^|]*)\|)?(?:CurrentWorldID\|(?<pairCurrentWorldID>[^|]*)\|)?(?:Distance\|(?<pairDistance>[^|]*)\|)?(?:EffectiveDistance\|(?<pairEffectiveDistance>[^|]*)\|)?(?:Heading\|(?<pairHeading>[^|]*)\|)?(?:ID\|(?<pairID>[^|]*)\|)?(?:IsCasting1\|(?<pairIsCasting1>[^|]*)\|)?(?:IsCasting2\|(?<pairIsCasting2>[^|]*)\|)?(?:IsTargetable\|(?<pairIsTargetable>[^|]*)\|)?(?:Job\|(?<pairJob>[^|]*)\|)?(?:Level\|(?<pairLevel>[^|]*)\|)?(?:MaxCP\|(?<pairMaxCP>[^|]*)\|)?(?:MaxGP\|(?<pairMaxGP>[^|]*)\|)?(?:MaxHP\|(?<pairMaxHP>[^|]*)\|)?(?:MaxMP\|(?<pairMaxMP>[^|]*)\|)?(?:ModelStatus\|(?<pairModelStatus>[^|]*)\|)?(?:MonsterType\|(?<pairMonsterType>[^|]*)\|)?(?:Name\|(?<pairName>[^|]*)\|)?(?:NPCTargetID\|(?<pairNPCTargetID>[^|]*)\|)?(?:OwnerID\|(?<pairOwnerID>[^|]*)\|)?(?:PartyType\|(?<pairPartyType>[^|]*)\|)?(?:PCTargetID\|(?<pairPCTargetID>[^|]*)\|)?(?:PosX\|(?<pairPosX>[^|]*)\|)?(?:PosY\|(?<pairPosY>[^|]*)\|)?(?:PosZ\|(?<pairPosZ>[^|]*)\|)?(?:Radius\|(?<pairRadius>[^|]*)\|)?(?:Status\|(?<pairStatus>[^|]*)\|)?(?:TargetID\|(?<pairTargetID>[^|]*)\|)?(?:TransformationId\|(?<pairTransformationId>[^|]*)\|)?(?:Type\|(?<pairType>[^|]*)\|)?(?:WeaponId\|(?<pairWeaponId>[^|]*)\|)?(?:WorldID\|(?<pairWorldID>[^|]*)\|)?(?:WorldName\|(?<pairWorldName>[^|]*)\|)?
2594+
^(?<type>261)\|(?<timestamp>[^|]*)\|(?<change>[^|]*)\|(?<id>[^|]*)\|(?:AggressionStatus\|(?<pairAggressionStatus>[^|]*)\|)?(?:BNpcID\|(?<pairBNpcID>[^|]*)\|)?(?:BNpcNameID\|(?<pairBNpcNameID>[^|]*)\|)?(?:CastBuffID\|(?<pairCastBuffID>[^|]*)\|)?(?:CastDurationCurrent\|(?<pairCastDurationCurrent>[^|]*)\|)?(?:CastDurationMax\|(?<pairCastDurationMax>[^|]*)\|)?(?:CastGroundTargetX\|(?<pairCastGroundTargetX>[^|]*)\|)?(?:CastGroundTargetY\|(?<pairCastGroundTargetY>[^|]*)\|)?(?:CastGroundTargetZ\|(?<pairCastGroundTargetZ>[^|]*)\|)?(?:CastTargetID\|(?<pairCastTargetID>[^|]*)\|)?(?:CurrentCP\|(?<pairCurrentCP>[^|]*)\|)?(?:CurrentGP\|(?<pairCurrentGP>[^|]*)\|)?(?:CurrentHP\|(?<pairCurrentHP>[^|]*)\|)?(?:CurrentMP\|(?<pairCurrentMP>[^|]*)\|)?(?:CurrentWorldID\|(?<pairCurrentWorldID>[^|]*)\|)?(?:Distance\|(?<pairDistance>[^|]*)\|)?(?:EffectiveDistance\|(?<pairEffectiveDistance>[^|]*)\|)?(?:Heading\|(?<pairHeading>[^|]*)\|)?(?:ID\|(?<pairID>[^|]*)\|)?(?:IsCasting1\|(?<pairIsCasting1>[^|]*)\|)?(?:IsCasting2\|(?<pairIsCasting2>[^|]*)\|)?(?:IsTargetable\|(?<pairIsTargetable>[^|]*)\|)?(?:Job\|(?<pairJob>[^|]*)\|)?(?:Level\|(?<pairLevel>[^|]*)\|)?(?:MaxCP\|(?<pairMaxCP>[^|]*)\|)?(?:MaxGP\|(?<pairMaxGP>[^|]*)\|)?(?:MaxHP\|(?<pairMaxHP>[^|]*)\|)?(?:MaxMP\|(?<pairMaxMP>[^|]*)\|)?(?:ModelStatus\|(?<pairModelStatus>[^|]*)\|)?(?:MonsterType\|(?<pairMonsterType>[^|]*)\|)?(?:Name\|(?<pairName>[^|]*)\|)?(?:NPCTargetID\|(?<pairNPCTargetID>[^|]*)\|)?(?:OwnerID\|(?<pairOwnerID>[^|]*)\|)?(?:PartyType\|(?<pairPartyType>[^|]*)\|)?(?:PCTargetID\|(?<pairPCTargetID>[^|]*)\|)?(?:PosX\|(?<pairPosX>[^|]*)\|)?(?:PosY\|(?<pairPosY>[^|]*)\|)?(?:PosZ\|(?<pairPosZ>[^|]*)\|)?(?:Radius\|(?<pairRadius>[^|]*)\|)?(?:Status\|(?<pairStatus>[^|]*)\|)?(?:TargetID\|(?<pairTargetID>[^|]*)\|)?(?:TransformationId\|(?<pairTransformationId>[^|]*)\|)?(?:Type\|(?<pairType>[^|]*)\|)?(?:WeaponId\|(?<pairWeaponId>[^|]*)\|)?(?:WorldID\|(?<pairWorldID>[^|]*)\|)?(?:WorldName\|(?<pairWorldName>[^|]*)\|)?
25912595
25922596
Parsed Log Line Regex:
2593-
(?<timestamp>^.{14}) 261 (?<type>105):(?<change>[^:]*):(?<id>[^:]*):(?:AggressionStatus(?:$|:)(?<pairAggressionStatus>[^:]*)(?:$|:))?(?:BNpcID(?:$|:)(?<pairBNpcID>[^:]*)(?:$|:))?(?:BNpcNameID(?:$|:)(?<pairBNpcNameID>[^:]*)(?:$|:))?(?:CastBuffID(?:$|:)(?<pairCastBuffID>[^:]*)(?:$|:))?(?:CastDurationCurrent(?:$|:)(?<pairCastDurationCurrent>[^:]*)(?:$|:))?(?:CastDurationMax(?:$|:)(?<pairCastDurationMax>[^:]*)(?:$|:))?(?:CastTargetID(?:$|:)(?<pairCastTargetID>[^:]*)(?:$|:))?(?:CurrentCP(?:$|:)(?<pairCurrentCP>[^:]*)(?:$|:))?(?:CurrentGP(?:$|:)(?<pairCurrentGP>[^:]*)(?:$|:))?(?:CurrentHP(?:$|:)(?<pairCurrentHP>[^:]*)(?:$|:))?(?:CurrentMP(?:$|:)(?<pairCurrentMP>[^:]*)(?:$|:))?(?:CurrentWorldID(?:$|:)(?<pairCurrentWorldID>[^:]*)(?:$|:))?(?:Distance(?:$|:)(?<pairDistance>[^:]*)(?:$|:))?(?:EffectiveDistance(?:$|:)(?<pairEffectiveDistance>[^:]*)(?:$|:))?(?:Heading(?:$|:)(?<pairHeading>[^:]*)(?:$|:))?(?:ID(?:$|:)(?<pairID>[^:]*)(?:$|:))?(?:IsCasting1(?:$|:)(?<pairIsCasting1>[^:]*)(?:$|:))?(?:IsCasting2(?:$|:)(?<pairIsCasting2>[^:]*)(?:$|:))?(?:IsTargetable(?:$|:)(?<pairIsTargetable>[^:]*)(?:$|:))?(?:Job(?:$|:)(?<pairJob>[^:]*)(?:$|:))?(?:Level(?:$|:)(?<pairLevel>[^:]*)(?:$|:))?(?:MaxCP(?:$|:)(?<pairMaxCP>[^:]*)(?:$|:))?(?:MaxGP(?:$|:)(?<pairMaxGP>[^:]*)(?:$|:))?(?:MaxHP(?:$|:)(?<pairMaxHP>[^:]*)(?:$|:))?(?:MaxMP(?:$|:)(?<pairMaxMP>[^:]*)(?:$|:))?(?:ModelStatus(?:$|:)(?<pairModelStatus>[^:]*)(?:$|:))?(?:MonsterType(?:$|:)(?<pairMonsterType>[^:]*)(?:$|:))?(?:Name(?:$|:)(?<pairName>[^:]*)(?:$|:))?(?:NPCTargetID(?:$|:)(?<pairNPCTargetID>[^:]*)(?:$|:))?(?:OwnerID(?:$|:)(?<pairOwnerID>[^:]*)(?:$|:))?(?:PartyType(?:$|:)(?<pairPartyType>[^:]*)(?:$|:))?(?:PCTargetID(?:$|:)(?<pairPCTargetID>[^:]*)(?:$|:))?(?:PosX(?:$|:)(?<pairPosX>[^:]*)(?:$|:))?(?:PosY(?:$|:)(?<pairPosY>[^:]*)(?:$|:))?(?:PosZ(?:$|:)(?<pairPosZ>[^:]*)(?:$|:))?(?:Radius(?:$|:)(?<pairRadius>[^:]*)(?:$|:))?(?:Status(?:$|:)(?<pairStatus>[^:]*)(?:$|:))?(?:TargetID(?:$|:)(?<pairTargetID>[^:]*)(?:$|:))?(?:TransformationId(?:$|:)(?<pairTransformationId>[^:]*)(?:$|:))?(?:Type(?:$|:)(?<pairType>[^:]*)(?:$|:))?(?:WeaponId(?:$|:)(?<pairWeaponId>[^:]*)(?:$|:))?(?:WorldID(?:$|:)(?<pairWorldID>[^:]*)(?:$|:))?(?:WorldName(?:$|:)(?<pairWorldName>[^:]*)(?:$|:))?(?:$|:)
2597+
(?<timestamp>^.{14}) 261 (?<type>105):(?<change>[^:]*):(?<id>[^:]*):(?:AggressionStatus(?:$|:)(?<pairAggressionStatus>[^:]*)(?:$|:))?(?:BNpcID(?:$|:)(?<pairBNpcID>[^:]*)(?:$|:))?(?:BNpcNameID(?:$|:)(?<pairBNpcNameID>[^:]*)(?:$|:))?(?:CastBuffID(?:$|:)(?<pairCastBuffID>[^:]*)(?:$|:))?(?:CastDurationCurrent(?:$|:)(?<pairCastDurationCurrent>[^:]*)(?:$|:))?(?:CastDurationMax(?:$|:)(?<pairCastDurationMax>[^:]*)(?:$|:))?(?:CastGroundTargetX(?:$|:)(?<pairCastGroundTargetX>[^:]*)(?:$|:))?(?:CastGroundTargetY(?:$|:)(?<pairCastGroundTargetY>[^:]*)(?:$|:))?(?:CastGroundTargetZ(?:$|:)(?<pairCastGroundTargetZ>[^:]*)(?:$|:))?(?:CastTargetID(?:$|:)(?<pairCastTargetID>[^:]*)(?:$|:))?(?:CurrentCP(?:$|:)(?<pairCurrentCP>[^:]*)(?:$|:))?(?:CurrentGP(?:$|:)(?<pairCurrentGP>[^:]*)(?:$|:))?(?:CurrentHP(?:$|:)(?<pairCurrentHP>[^:]*)(?:$|:))?(?:CurrentMP(?:$|:)(?<pairCurrentMP>[^:]*)(?:$|:))?(?:CurrentWorldID(?:$|:)(?<pairCurrentWorldID>[^:]*)(?:$|:))?(?:Distance(?:$|:)(?<pairDistance>[^:]*)(?:$|:))?(?:EffectiveDistance(?:$|:)(?<pairEffectiveDistance>[^:]*)(?:$|:))?(?:Heading(?:$|:)(?<pairHeading>[^:]*)(?:$|:))?(?:ID(?:$|:)(?<pairID>[^:]*)(?:$|:))?(?:IsCasting1(?:$|:)(?<pairIsCasting1>[^:]*)(?:$|:))?(?:IsCasting2(?:$|:)(?<pairIsCasting2>[^:]*)(?:$|:))?(?:IsTargetable(?:$|:)(?<pairIsTargetable>[^:]*)(?:$|:))?(?:Job(?:$|:)(?<pairJob>[^:]*)(?:$|:))?(?:Level(?:$|:)(?<pairLevel>[^:]*)(?:$|:))?(?:MaxCP(?:$|:)(?<pairMaxCP>[^:]*)(?:$|:))?(?:MaxGP(?:$|:)(?<pairMaxGP>[^:]*)(?:$|:))?(?:MaxHP(?:$|:)(?<pairMaxHP>[^:]*)(?:$|:))?(?:MaxMP(?:$|:)(?<pairMaxMP>[^:]*)(?:$|:))?(?:ModelStatus(?:$|:)(?<pairModelStatus>[^:]*)(?:$|:))?(?:MonsterType(?:$|:)(?<pairMonsterType>[^:]*)(?:$|:))?(?:Name(?:$|:)(?<pairName>[^:]*)(?:$|:))?(?:NPCTargetID(?:$|:)(?<pairNPCTargetID>[^:]*)(?:$|:))?(?:OwnerID(?:$|:)(?<pairOwnerID>[^:]*)(?:$|:))?(?:PartyType(?:$|:)(?<pairPartyType>[^:]*)(?:$|:))?(?:PCTargetID(?:$|:)(?<pairPCTargetID>[^:]*)(?:$|:))?(?:PosX(?:$|:)(?<pairPosX>[^:]*)(?:$|:))?(?:PosY(?:$|:)(?<pairPosY>[^:]*)(?:$|:))?(?:PosZ(?:$|:)(?<pairPosZ>[^:]*)(?:$|:))?(?:Radius(?:$|:)(?<pairRadius>[^:]*)(?:$|:))?(?:Status(?:$|:)(?<pairStatus>[^:]*)(?:$|:))?(?:TargetID(?:$|:)(?<pairTargetID>[^:]*)(?:$|:))?(?:TransformationId(?:$|:)(?<pairTransformationId>[^:]*)(?:$|:))?(?:Type(?:$|:)(?<pairType>[^:]*)(?:$|:))?(?:WeaponId(?:$|:)(?<pairWeaponId>[^:]*)(?:$|:))?(?:WorldID(?:$|:)(?<pairWorldID>[^:]*)(?:$|:))?(?:WorldName(?:$|:)(?<pairWorldName>[^:]*)(?:$|:))?(?:$|:)
25942598
```
25952599

25962600
#### Examples
@@ -3222,16 +3226,22 @@ depending on the actor control category.
32223226
The list of categories for which log lines are emitted is necessarily restrictive,
32233227
given the volume of data, although more may be added in the future:
32243228

3225-
| Category Name | `category` |
3226-
| ----------------- | ----------- |
3227-
| SetAnimationState | 0x003E (62) |
3229+
| Category Name | `category` |
3230+
| ------------------------------- | ------------- |
3231+
| SetAnimationState | 0x003E (62) |
3232+
| DisplayPublicContentTextMessage | 0x0834 (2100) |
32283233

32293234
- `SetAnimationState` - used to set the animation state of an actor.
32303235
- `param1`, like the `animationState` field in
32313236
[SpawnNpcExtra](#line-272-0x110-spawnnpcextra), corresponds to the
32323237
[BNpcState table](https://github.com/xivapi/ffxiv-datamining/blob/master/csv/BNpcState.csv).
32333238
- `param2` appears to change how an animation of that actor is rendered in-game.
32343239
More information is needed.
3240+
- `DisplayPublicContentTextMessage` - Displays a message in the chat log
3241+
- `param1` seems to always be `0x0`
3242+
- `param2` corresponds to an entry in the
3243+
[PublicContentTextData table](https://github.com/xivapi/ffxiv-datamining/blob/master/csv/PublicContentTextData.csv)
3244+
- `param3` and `param4` are optional fields referenced in some messages
32353245

32363246
<!-- AUTO-GENERATED-CONTENT:START (logLines:type=ActorControlExtra&lang=en-US) -->
32373247

@@ -3261,12 +3271,79 @@ Parsed Log Line Regex:
32613271
Network Log Line Examples:
32623272
273|2023-12-05T10:57:43.4770000-08:00|4000A145|003E|1|0|0|0|06e7eff4a949812c
32633273
273|2023-12-05T10:58:00.3460000-08:00|4000A144|003E|1|1|0|0|a4af9f90928636a3
3264-
273|2024-03-03T01:54:27.1980000-08:00|40016E0C|003E|1|1|0|0|f37647efed063aa1
3274+
273|2024-03-18T20:33:22.7130000-04:00|400058CA|2100|0|848|FA0|0|c862c35712ed4122
32653275
32663276
Parsed Log Line Examples:
32673277
[10:57:43.477] 273 111:4000A145:003E:1:0:0:0
32683278
[10:58:00.346] 273 111:4000A144:003E:1:1:0:0
3269-
[01:54:27.198] 273 111:40016E0C:003E:1:1:0:0
3279+
[20:33:22.713] 273 111:400058CA:2100:0:848:FA0:0
32703280
```
32713281

32723282
<!-- AUTO-GENERATED-CONTENT:END (logLines:type=ActorControlExtra&lang=en-US) -->
3283+
3284+
<a name="line274"></a>
3285+
3286+
### Line 274 (0x112): ActorControlSelfExtra
3287+
3288+
This line contains certain data from `ActorControlSelf` packets not otherwise made available
3289+
through other log lines.
3290+
3291+
`ActorControlSelfExtra` lines include a numerical `category` field,
3292+
which corresponds to the type of actor control being sent from the server.
3293+
3294+
`param1` through `param6` are attributes whose meaning vary
3295+
depending on the actor control category.
3296+
3297+
The list of categories for which log lines are emitted is necessarily restrictive,
3298+
given the volume of data, although more may be added in the future:
3299+
3300+
| Category Name | `category` |
3301+
| ----------------------- | ------------ |
3302+
| DisplayLogMessage | 0x020F (527) |
3303+
| DisplayLogMessageParams | 0x0210 (528) |
3304+
3305+
- `DisplayLogMessage` - used to display a log message in the chat window.
3306+
- `param1`, like the `id` field in
3307+
[SystemLogMessage](#line-41-0x29-systemlogmessage), corresponds to the
3308+
[LogMessage table](https://github.com/xivapi/ffxiv-datamining/blob/master/csv/LogMessage.csv).
3309+
- Remaining parameters are directly read by the LogMessage entry.
3310+
- `DisplayLogMessageParams` - used to display a log message in the chat window.
3311+
- Very similar to `DisplayLogMessage`, except that `param2` appears to always be an actor ID.
3312+
3313+
<!-- AUTO-GENERATED-CONTENT:START (logLines:type=ActorControlSelfExtra&lang=en-US) -->
3314+
3315+
#### Structure
3316+
3317+
```log
3318+
Network Log Line Structure:
3319+
274|[timestamp]|[id]|[category]|[param1]|[param2]|[param3]|[param4]|[param5]|[param6]
3320+
3321+
Parsed Log Line Structure:
3322+
[timestamp] 274 112:[id]:[category]:[param1]:[param2]:[param3]:[param4]:[param5]:[param6]
3323+
```
3324+
3325+
#### Regexes
3326+
3327+
```log
3328+
Network Log Line Regex:
3329+
^(?<type>274)\|(?<timestamp>[^|]*)\|(?<id>[^|]*)\|(?<category>[^|]*)\|(?<param1>[^|]*)\|(?<param2>[^|]*)\|(?<param3>[^|]*)\|(?<param4>[^|]*)\|(?<param5>[^|]*)\|(?<param6>[^|]*)\|
3330+
3331+
Parsed Log Line Regex:
3332+
(?<timestamp>^.{14}) 274 (?<type>112):(?<id>[^:]*):(?<category>[^:]*):(?<param1>[^:]*):(?<param2>[^:]*):(?<param3>[^:]*):(?<param4>[^:]*):(?<param5>[^:]*):(?<param6>[^:]*)(?:$|:)
3333+
```
3334+
3335+
#### Examples
3336+
3337+
```log
3338+
Network Log Line Examples:
3339+
274|2024-01-10T19:28:37.5000000-05:00|10001234|020F|04D0|0|93E0|0|0|0|d274429622d0c27e
3340+
274|2024-02-15T19:35:41.9950000-05:00|10001234|020F|236D|0|669|0|0|0|d274429622d0c27e
3341+
274|2024-03-21T20:45:41.3680000-04:00|10001234|0210|129D|10001234|F|0|0|0|d274429622d0c27e
3342+
3343+
Parsed Log Line Examples:
3344+
[19:28:37.500] 274 112:10001234:020F:04D0:0:93E0:0:0:0
3345+
[19:35:41.995] 274 112:10001234:020F:236D:0:669:0:0:0
3346+
[20:45:41.368] 274 112:10001234:0210:129D:10001234:F:0:0:0
3347+
```
3348+
3349+
<!-- AUTO-GENERATED-CONTENT:END (logLines:type=ActorControlSelfExtra&lang=en-US) -->

resources/netlog_defs.ts

+23
Original file line numberDiff line numberDiff line change
@@ -1362,6 +1362,29 @@ const latestLogDefinitions = {
13621362
canAnonymize: true,
13631363
firstOptionalField: undefined,
13641364
},
1365+
ActorControlSelfExtra: {
1366+
type: '274',
1367+
name: 'ActorControlSelfExtra',
1368+
source: 'OverlayPlugin',
1369+
messageType: '274',
1370+
fields: {
1371+
type: 0,
1372+
timestamp: 1,
1373+
id: 2,
1374+
category: 3,
1375+
param1: 4,
1376+
param2: 5,
1377+
param3: 6,
1378+
param4: 7,
1379+
param5: 8,
1380+
param6: 9,
1381+
},
1382+
playerIds: {
1383+
2: null,
1384+
},
1385+
canAnonymize: true,
1386+
firstOptionalField: undefined,
1387+
},
13651388
} as const;
13661389

13671390
export const logDefinitionsVersions = {

resources/netregexes.ts

+9
Original file line numberDiff line numberDiff line change
@@ -708,6 +708,15 @@ export default class NetRegexes {
708708
): CactbotBaseRegExp<'ActorControlExtra'> {
709709
return buildRegex('ActorControlExtra', params);
710710
}
711+
712+
/**
713+
* matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-274-0x112-actorcontrolselfextra
714+
*/
715+
static actorControlSelfExtra(
716+
params?: NetParams['ActorControlSelfExtra'],
717+
): CactbotBaseRegExp<'ActorControlSelfExtra'> {
718+
return buildRegex('ActorControlSelfExtra', params);
719+
}
711720
}
712721

713722
export const commonNetRegex = {

resources/regexes.ts

+9
Original file line numberDiff line numberDiff line change
@@ -668,6 +668,15 @@ export default class Regexes {
668668
return buildRegex('ActorControlExtra', params);
669669
}
670670

671+
/**
672+
* matches: https://github.com/OverlayPlugin/cactbot/blob/main/docs/LogGuide.md#line-274-0x112-actorcontrolselfextra
673+
*/
674+
static actorControlSelfExtra(
675+
params?: NetParams['ActorControlSelfExtra'],
676+
): CactbotBaseRegExp<'ActorControlSelfExtra'> {
677+
return buildRegex('ActorControlSelfExtra', params);
678+
}
679+
671680
/**
672681
* Helper function for building named capture group
673682
*/

util/gen_log_guide.ts

+10-1
Original file line numberDiff line numberDiff line change
@@ -633,7 +633,16 @@ const lineDocs: LineDocs = {
633633
'en-US': [
634634
'273|2023-12-05T10:57:43.4770000-08:00|4000A145|003E|1|0|0|0|06e7eff4a949812c',
635635
'273|2023-12-05T10:58:00.3460000-08:00|4000A144|003E|1|1|0|0|a4af9f90928636a3',
636-
'273|2024-03-03T01:54:27.1980000-08:00|40016E0C|003E|1|1|0|0|f37647efed063aa1',
636+
'273|2024-03-18T20:33:22.7130000-04:00|400058CA|2100|0|848|FA0|0|c862c35712ed4122',
637+
],
638+
},
639+
},
640+
ActorControlSelfExtra: {
641+
examples: {
642+
'en-US': [
643+
'274|2024-01-10T19:28:37.5000000-05:00|10001234|020F|04D0|0|93E0|0|0|0|d274429622d0c27e',
644+
'274|2024-02-15T19:35:41.9950000-05:00|10001234|020F|236D|0|669|0|0|0|d274429622d0c27e',
645+
'274|2024-03-21T20:45:41.3680000-04:00|10001234|0210|129D|10001234|F|0|0|0|d274429622d0c27e',
637646
],
638647
},
639648
},

0 commit comments

Comments
 (0)