Skip to content

Commit a502458

Browse files
committed
Add a better find function to instances
1 parent a92b05a commit a502458

34 files changed

+368
-1
lines changed

dist/library/base.lua

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ function dfbase:_displace(index, step) end
6969

7070
---@class df.instance: df.class
7171
---@field get_vector fun(): any[] The same as doing `df.global.<instance>.all`
72-
---@field find fun(key: integer): any Binary search by specified `key` of all instances of the structure.
7372

7473
---@class df.iter: df.base
7574
---@field _first_item integer

dist/library/df.announcements.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1464,6 +1464,10 @@ df.announcements = {}
14641464
---@field speaker_id integer References: unit<br>unit speaking the conversation
14651465
df.report = {}
14661466

1467+
---@param key integer
1468+
---@return report|nil
1469+
function df.report.find(key) end
1470+
14671471
---@class _report_flags: integer, string, df.bitfield
14681472
---@field continuation 0
14691473
---@field [0] "continuation"

dist/library/df.art.lua

Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -382,6 +382,10 @@ df.art_image = {}
382382
---@field images art_image[]
383383
df.art_image_chunk = {}
384384

385+
---@param key integer
386+
---@return art_image_chunk|nil
387+
function df.art_image_chunk.find(key) end
388+
385389
---@class art_image_ref: df.class
386390
---@field id integer References: art_image_chunk
387391
---@field subid integer References: art_image
@@ -867,6 +871,10 @@ df.poetic_form_additional_feature = {}
867871
---@field perspectives poetic_form_perspective[]
868872
df.poetic_form = {}
869873

874+
---@param key integer
875+
---@return poetic_form|nil
876+
function df.poetic_form.find(key) end
877+
870878
---@class _poetic_form_flags: integer, string, df.bitfield
871879
---@field tone_patterns 0
872880
---@field [0] "tone_patterns"
@@ -1650,6 +1658,10 @@ df.musical_form_sub4 = {}
16501658
---@field flags musical_form_flags
16511659
df.musical_form = {}
16521660

1661+
---@param key integer
1662+
---@return musical_form|nil
1663+
function df.musical_form.find(key) end
1664+
16531665
---@class _musical_form_flags: integer, string, df.bitfield
16541666
---@field produces_individual_songs 0
16551667
---@field [0] "produces_individual_songs"
@@ -2317,6 +2329,10 @@ df.dance_form_move = {}
23172329
---@field moves dance_form_move[]
23182330
df.dance_form = {}
23192331

2332+
---@param key integer
2333+
---@return dance_form|nil
2334+
function df.dance_form.find(key) end
2335+
23202336
---@class _scale_type: integer, string, df.enum
23212337
---@field Octave 0
23222338
---@field [0] "Octave"
@@ -2362,6 +2378,10 @@ df.named_scale = {}
23622378
---@field notes scale_notes Curiously, the named notes do not have to match the number of defined notes
23632379
df.scale = {}
23642380

2381+
---@param key integer
2382+
---@return scale|nil
2383+
function df.scale.find(key) end
2384+
23652385
---@class _scale_flags: integer, string, df.bitfield
23662386
---@field tonic_note_fixed_at_performance 0
23672387
---@field [0] "tonic_note_fixed_at_performance"
@@ -2388,6 +2408,10 @@ df.scale.T_notes = {}
23882408
---@field unk_2 integer
23892409
df.rhythm = {}
23902410

2411+
---@param key integer
2412+
---@return rhythm|nil
2413+
function df.rhythm.find(key) end
2414+
23912415
---@class _beat_type: integer, string, df.enum
23922416
---@field Silent 0
23932417
---@field [0] "Silent"
@@ -2525,6 +2549,10 @@ df.occupation_type = {}
25252549
---@field unk_5 abstract_building When these haven't crashed the data has been nonsensical. Has seen duplicate of unk_4 pointer value
25262550
df.occupation = {}
25272551

2552+
---@param key integer
2553+
---@return occupation|nil
2554+
function df.occupation.find(key) end
2555+
25282556
---@class occupation_sub1: df.class
25292557
---@field unk_1 integer
25302558
---@field unk_2 integer

dist/library/df.building-raws.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,10 @@
2525
---@field build_stages integer
2626
df.building_def = {}
2727

28+
---@param key integer
29+
---@return building_def|nil
30+
function df.building_def.find(key) end
31+
2832
---@param unk_0 integer
2933
---@param unk_1 integer
3034
---@param unk_2 integer

dist/library/df.buildings.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -404,6 +404,10 @@ df.building_drawbuffer = {}
404404
---@field location_id integer References: abstract_building
405405
df.building = {}
406406

407+
---@param key integer
408+
---@return building|nil
409+
function df.building.find(key) end
410+
407411
---@return integer
408412
function df.building.getCustomType() end
409413

dist/library/df.creature-raws.lua

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2283,6 +2283,10 @@ df.tissue_style_raw = {}
22832283
---@field statute_texpos integer[]
22842284
df.creature_raw = {}
22852285

2286+
---@param key integer
2287+
---@return creature_raw|nil
2288+
function df.creature_raw.find(key) end
2289+
22862290
---@class creature_raw_profession_name: df.class
22872291
---@field singular string[]
22882292
---@field plural string[]
@@ -2321,6 +2325,10 @@ df.creature_variation_convert_tag = {}
23212325
---@field cv_remove_unk_v40_2 string[]
23222326
df.creature_variation = {}
23232327

2328+
---@param key integer
2329+
---@return creature_variation|nil
2330+
function df.creature_variation.find(key) end
2331+
23242332
---@class _body_part_template_flags: integer, string, df.enum
23252333
---@field HEAD 0
23262334
---@field [0] "HEAD"
@@ -2497,6 +2505,10 @@ df.body_part_template = {}
24972505
---@field parts body_part_template[]
24982506
df.body_template = {}
24992507

2508+
---@param key integer
2509+
---@return body_template|nil
2510+
function df.body_template.find(key) end
2511+
25002512
---@class _tissue_flags: integer, string, df.enum
25012513
---@field THICKENS_ON_STRENGTH 0
25022514
---@field [0] "THICKENS_ON_STRENGTH"
@@ -2610,6 +2622,10 @@ df.tissue_flags = {}
26102622
---@field tissue_shape_str string
26112623
df.tissue_template = {}
26122624

2625+
---@param key integer
2626+
---@return tissue_template|nil
2627+
function df.tissue_template.find(key) end
2628+
26132629
---@class tissue: df.class
26142630
---@field id string
26152631
---@field flags tissue_flags[]
@@ -2666,3 +2682,7 @@ df.tissue = {}
26662682
---@field bp_relation_extent df.container
26672683
df.body_detail_plan = {}
26682684

2685+
---@param key integer
2686+
---@return body_detail_plan|nil
2687+
function df.body_detail_plan.find(key) end
2688+

dist/library/df.descriptors.lua

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -43,6 +43,10 @@ df.pattern_type = {}
4343
---@field unk_v50_1 integer[]
4444
df.descriptor_color = {}
4545

46+
---@param key integer
47+
---@return descriptor_color|nil
48+
function df.descriptor_color.find(key) end
49+
4650
---@class descriptor_shape: df.instance
4751
---@field id string
4852
---@field words_str string[] temporary storage before resolving to language_word
@@ -62,6 +66,10 @@ df.descriptor_color = {}
6266
---@field unk_v50_6 integer
6367
df.descriptor_shape = {}
6468

69+
---@param key integer
70+
---@return descriptor_shape|nil
71+
function df.descriptor_shape.find(key) end
72+
6573
---@class _descriptor_shape_gems_use: integer, string, df.bitfield
6674
---@field noun 0
6775
---@field [0] "noun"
@@ -86,3 +94,7 @@ df.descriptor_shape.T_gems_use = {}
8694
---@field cp_color string[]
8795
df.descriptor_pattern = {}
8896

97+
---@param key integer
98+
---@return descriptor_pattern|nil
99+
function df.descriptor_pattern.find(key) end
100+

dist/library/df.entities.lua

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -885,6 +885,10 @@ df.entity_unk_v47_1 = {}
885885
---@field unk_11 integer
886886
df.historical_entity = {}
887887

888+
---@param key integer
889+
---@return historical_entity|nil
890+
function df.historical_entity.find(key) end
891+
888892
---@class _historical_entity_flags: integer, string, df.bitfield
889893
---@field neighbor 0
890894
---@field [0] "neighbor"
@@ -2149,6 +2153,10 @@ df.entity_event.T_data.T_artifact_destroyed = {}
21492153
---@field flags agreement_flags
21502154
df.agreement = {}
21512155

2156+
---@param key integer
2157+
---@return agreement|nil
2158+
function df.agreement.find(key) end
2159+
21522160
---@class _agreement_flags: integer, string, df.bitfield
21532161
---@field petition_not_accepted 0
21542162
---@field [0] "petition_not_accepted"

dist/library/df.entity-raws.lua

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -654,6 +654,10 @@ df.entity_name_type = {}
654654
---@field animal entity_animal_raw[]
655655
df.entity_raw = {}
656656

657+
---@param key integer
658+
---@return entity_raw|nil
659+
function df.entity_raw.find(key) end
660+
657661
---@class entity_raw_equipment: df.class
658662
---@field digger_id df.container References: itemdef_weaponst
659663
---@field weapon_id df.container References: itemdef_weaponst

dist/library/df.history.lua

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1614,6 +1614,10 @@ df.vague_relationship_type = {}
16141614
---@field unk_5 integer
16151615
df.historical_figure = {}
16161616

1617+
---@param key integer
1618+
---@return historical_figure|nil
1619+
function df.historical_figure.find(key) end
1620+
16171621
---Do not have to be available mutually, i.e. DF can display Legends relations forming for the other party that does not have an entry (plus time and other conditions not located)
16181622
---@class historical_figure_vague_relationships: df.class
16191623
---@field hfid integer[] References: historical_figure
@@ -1705,6 +1709,10 @@ df.identity_type.attrs = {}
17051709
---@field unk_5 identity_unk_95[]
17061710
df.identity = {}
17071711

1712+
---@param key integer
1713+
---@return identity|nil
1714+
function df.identity.find(key) end
1715+
17081716
---@class identity_unk_94: df.class
17091717
---@field unk_0 integer
17101718
---@field unk_1 df.container
@@ -2998,6 +3006,10 @@ df.merc_role_type = {}
29983006
---@field id integer
29993007
df.history_event = {}
30003008

3009+
---@param key integer
3010+
---@return history_event|nil
3011+
function df.history_event.find(key) end
3012+
30013013
---@return history_event_type
30023014
function df.history_event.getType() end
30033015

@@ -5266,6 +5278,10 @@ df.history_event_collection_type = {}
52665278
---@field id integer
52675279
df.history_event_collection = {}
52685280

5281+
---@param key integer
5282+
---@return history_event_collection|nil
5283+
function df.history_event_collection.find(key) end
5284+
52695285
---@return history_event_collection_type
52705286
function df.history_event_collection.getType() end
52715287

@@ -5670,6 +5686,10 @@ df.world_history.T_event_collections = {}
56705686
---@field circumstance history_event_circumstance_info
56715687
df.intrigue = {}
56725688

5689+
---@param key integer
5690+
---@return intrigue|nil
5691+
function df.intrigue.find(key) end
5692+
56735693
---@class intrigue_corruption: df.class
56745694
---@field crime crime_type
56755695
---@field corruptor_id integer References: historical_figure

0 commit comments

Comments
 (0)