mirror of
https://github.com/roflmuffin/CounterStrikeSharp.git
synced 2025-12-07 08:26:34 -08:00
Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
1ad1828e30 |
@@ -0,0 +1,14 @@
|
||||
namespace CounterStrikeSharp.API.Core.Attributes;
|
||||
|
||||
[AttributeUsage(AttributeTargets.Property)]
|
||||
public class SchemaMemberAttribute : Attribute
|
||||
{
|
||||
public string ClassName { get; }
|
||||
public string MemberName { get; }
|
||||
|
||||
public SchemaMemberAttribute(string className, string memberName)
|
||||
{
|
||||
ClassName = className;
|
||||
MemberName = memberName;
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load Diff
@@ -233,7 +233,9 @@ internal static partial class Program
|
||||
continue;
|
||||
|
||||
// Putting these in the too hard basket for now.
|
||||
if (field.Name == "m_VoteOptions" || field.Name == "m_aShootSounds") continue;
|
||||
if (field.Name == "m_VoteOptions" || field.Name == "m_aShootSounds" || field.Name == "m_pVecRelationships") continue;
|
||||
if (IgnoreClasses.Contains(field.Type.Name)) continue;
|
||||
if (field.Type.Category == SchemaTypeCategory.Bitfield) continue;
|
||||
|
||||
if (field.Type is { Category: SchemaTypeCategory.Atomic, Atomic: SchemaAtomicCategory.Collection })
|
||||
{
|
||||
@@ -242,9 +244,10 @@ internal static partial class Program
|
||||
|
||||
var handleParams = $"this.Handle, \"{schemaClassName}\", \"{field.Name}\"";
|
||||
|
||||
builder.AppendLine($" // {field.Name}");
|
||||
builder.AppendLine($"\t// {field.Name}");
|
||||
builder.AppendLine($"\t[SchemaMember(\"{schemaClassName}\", \"{field.Name}\")]");
|
||||
|
||||
if (field.Type is { Category: SchemaTypeCategory.FixedArray, CsTypeName: "string" })
|
||||
if (field.Type is { Category: SchemaTypeCategory.FixedArray, CsTypeName: "string" } or { Category: SchemaTypeCategory.Ptr, CsTypeName: "string" })
|
||||
{
|
||||
var getter = $"return Schema.GetString({handleParams});";
|
||||
var setter = $"Schema.SetString({handleParams}, value);";
|
||||
|
||||
@@ -4816,10 +4816,10 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_eThrowStatus",
|
||||
"name": "m_bThrowAnimating",
|
||||
"type": {
|
||||
"category": 6,
|
||||
"name": "EGrenadeThrowState"
|
||||
"category": 0,
|
||||
"name": "bool"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -4849,6 +4849,40 @@
|
||||
"category": 5,
|
||||
"name": "GameTime_t"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_bJustPulledPin",
|
||||
"type": {
|
||||
"category": 0,
|
||||
"name": "bool"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_nNextHoldTick",
|
||||
"type": {
|
||||
"category": 5,
|
||||
"name": "GameTick_t"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_flNextHoldFrac",
|
||||
"type": {
|
||||
"category": 0,
|
||||
"name": "float32"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_hSwitchToWeaponAfterThrow",
|
||||
"type": {
|
||||
"atomic": 1,
|
||||
"category": 4,
|
||||
"inner": {
|
||||
"category": 5,
|
||||
"name": "CCSWeaponBase"
|
||||
},
|
||||
"name": "CHandle< CCSWeaponBase >",
|
||||
"outer": "CHandle"
|
||||
}
|
||||
}
|
||||
],
|
||||
"parent": "CCSWeaponBase"
|
||||
@@ -6312,7 +6346,7 @@
|
||||
"category": 0,
|
||||
"name": "char"
|
||||
},
|
||||
"name": "char[4096]"
|
||||
"name": "char[260]"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -6842,6 +6876,13 @@
|
||||
"name": "int64"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_nLastRealCommandNumberExecuted",
|
||||
"type": {
|
||||
"category": 0,
|
||||
"name": "int32"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_iIgnoreGlobalChat",
|
||||
"type": {
|
||||
@@ -16738,10 +16779,17 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_bPlayerFireEventIsPrimary",
|
||||
"name": "m_ePlayerFireEvent",
|
||||
"type": {
|
||||
"category": 0,
|
||||
"name": "bool"
|
||||
"category": 6,
|
||||
"name": "PlayerAnimEvent_t"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_ePlayerFireEventAttackType",
|
||||
"type": {
|
||||
"category": 6,
|
||||
"name": "WeaponAttackType_t"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -16799,7 +16847,7 @@
|
||||
"category": 5,
|
||||
"name": "HSequence"
|
||||
},
|
||||
"name": "HSequence[6]"
|
||||
"name": "HSequence[7]"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -16951,10 +16999,17 @@
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_flPostponeFireReadyTime",
|
||||
"name": "m_nPostponeFireReadyTicks",
|
||||
"type": {
|
||||
"category": 5,
|
||||
"name": "GameTime_t"
|
||||
"name": "GameTick_t"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_flPostponeFireReadyFrac",
|
||||
"type": {
|
||||
"category": 0,
|
||||
"name": "float32"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -32791,40 +32846,6 @@
|
||||
],
|
||||
"parent": "CLogicalEntity"
|
||||
},
|
||||
"CLogicEventListener": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "m_strEventName",
|
||||
"type": {
|
||||
"atomic": 0,
|
||||
"category": 4,
|
||||
"name": "CUtlString"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_bIsEnabled",
|
||||
"type": {
|
||||
"category": 0,
|
||||
"name": "bool"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_nTeam",
|
||||
"type": {
|
||||
"category": 0,
|
||||
"name": "int32"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_OnEventFired",
|
||||
"type": {
|
||||
"category": 5,
|
||||
"name": "CEntityIOOutput"
|
||||
}
|
||||
}
|
||||
],
|
||||
"parent": "CLogicalEntity"
|
||||
},
|
||||
"CLogicGameEvent": {
|
||||
"fields": [
|
||||
{
|
||||
@@ -34452,35 +34473,7 @@
|
||||
"parent": "CLogicalEntity"
|
||||
},
|
||||
"CMelee": {
|
||||
"fields": [
|
||||
{
|
||||
"name": "m_flThrowAt",
|
||||
"type": {
|
||||
"category": 5,
|
||||
"name": "GameTime_t"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_hThrower",
|
||||
"type": {
|
||||
"atomic": 1,
|
||||
"category": 4,
|
||||
"inner": {
|
||||
"category": 5,
|
||||
"name": "CBaseEntity"
|
||||
},
|
||||
"name": "CHandle< CBaseEntity >",
|
||||
"outer": "CHandle"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_bDidThrowDamage",
|
||||
"type": {
|
||||
"category": 0,
|
||||
"name": "bool"
|
||||
}
|
||||
}
|
||||
],
|
||||
"fields": [],
|
||||
"parent": "CCSWeaponBase"
|
||||
},
|
||||
"CMeshletDescriptor": {
|
||||
@@ -54566,10 +54559,6 @@
|
||||
"fields": [],
|
||||
"parent": "CBaseTrigger"
|
||||
},
|
||||
"CTriggerHostageReset": {
|
||||
"fields": [],
|
||||
"parent": "CBaseTrigger"
|
||||
},
|
||||
"CTriggerHurt": {
|
||||
"fields": [
|
||||
{
|
||||
@@ -70344,7 +70333,7 @@
|
||||
"category": 0,
|
||||
"name": "char"
|
||||
},
|
||||
"name": "char[4096]"
|
||||
"name": "char[260]"
|
||||
}
|
||||
},
|
||||
{
|
||||
@@ -76074,6 +76063,20 @@
|
||||
"category": 0,
|
||||
"name": "float32"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_flTickInterval",
|
||||
"type": {
|
||||
"category": 0,
|
||||
"name": "float32"
|
||||
}
|
||||
},
|
||||
{
|
||||
"name": "m_flTickStartTime",
|
||||
"type": {
|
||||
"category": 0,
|
||||
"name": "float64"
|
||||
}
|
||||
}
|
||||
]
|
||||
},
|
||||
@@ -90386,23 +90389,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"C4LightEffect_t": {
|
||||
"align": 4,
|
||||
"items": [
|
||||
{
|
||||
"name": "eLightEffectNone",
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"name": "eLightEffectDropped",
|
||||
"value": 1
|
||||
},
|
||||
{
|
||||
"name": "eLightEffectThirdPersonHeld",
|
||||
"value": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"CAnimationGraphVisualizerPrimitiveType": {
|
||||
"align": 4,
|
||||
"items": [
|
||||
@@ -91374,23 +91360,6 @@
|
||||
}
|
||||
]
|
||||
},
|
||||
"EGrenadeThrowState": {
|
||||
"align": 4,
|
||||
"items": [
|
||||
{
|
||||
"name": "NotThrowing",
|
||||
"value": 0
|
||||
},
|
||||
{
|
||||
"name": "Throwing",
|
||||
"value": 1
|
||||
},
|
||||
{
|
||||
"name": "ThrowComplete",
|
||||
"value": 2
|
||||
}
|
||||
]
|
||||
},
|
||||
"EInButtonState": {
|
||||
"align": 4,
|
||||
"items": [
|
||||
@@ -96428,7 +96397,7 @@
|
||||
},
|
||||
{
|
||||
"name": "ALL_CONTEXTS",
|
||||
"value": 4293918720
|
||||
"value": 18446744073708503040
|
||||
},
|
||||
{
|
||||
"name": "ALL_SCENTS",
|
||||
|
||||
@@ -40,7 +40,7 @@ public record SchemaFieldType
|
||||
}
|
||||
|
||||
public bool IsString =>
|
||||
Category == SchemaTypeCategory.FixedArray
|
||||
(Category == SchemaTypeCategory.FixedArray || Category == SchemaTypeCategory.Ptr)
|
||||
&& Inner!.Category == SchemaTypeCategory.Builtin
|
||||
&& Inner.Name == "char";
|
||||
|
||||
@@ -98,7 +98,8 @@ public record SchemaFieldType
|
||||
public string CsTypeName => Category switch
|
||||
{
|
||||
SchemaTypeCategory.Builtin => BuiltinToCsKeyword(Name),
|
||||
SchemaTypeCategory.Ptr => $"{Inner!.CsTypeName}?",
|
||||
SchemaTypeCategory.Ptr => IsString
|
||||
? "string" : $"{Inner!.CsTypeName}?",
|
||||
SchemaTypeCategory.FixedArray => IsString
|
||||
? "string"
|
||||
: $"{Inner!.CsTypeName}[]",
|
||||
|
||||
Reference in New Issue
Block a user