Revision 5, May 15, 2000
Made by Zail (kkelly@technologist.com) with a little help by the ttlg Thief Editor's Guild (www.ttlg.com).
CAUTION - ONLY THE FIRST 12/20 PAGES CONTAIN USEFUL INFORMATION. This file was made with intermediate and above level Dromeders in mind. Beginners may understand some of the commands but not all. As you learn more definitions you will get more out of this file. Not all commands are bug free. Some commands fit under multiple headings so they are in here multiple times. Always remember to save your mission often. This is not a tutorial, it is a command reference file. I am not responsible for messing up your level because of any of these commands. Fully read and understand a command's description before using it. Any submissions or corrections to this file are welcome. If you include this file in a guide please email me and let me know. The best way to find a command is to use the find feature on your word processor. Thank-you for taking the time to read this.
Table of Contents:
Newbie Commands
Well-known Commands
Set-up Commands
Lesser-known Commands
Useful In-game Commands
Useless In-game Commands
Dromed.cfg Commands
Weather/Sky Commands
Multibrush Commands
Picture Commands
Objectives/Goals Commands
Variables
Menu Commands
File
Edit
View and Right-click on a Window
Shapes
Tools
Editors
Game
Mbrush
Bound Commands and Screen Bottom Commands
AI Useful Stuff
AI Useless
Newbie commands |
|
cam_to_brush |
move camera to center of the current brush |
ambient |
sets the ambient lighting for a level. I recommend 'ambient 20' for Thief 1. For Thief 2, you must enter 3 numbers for this command. The numbers correspond to amount of red, blue, and green light to add. I recommend 'ambient 20 20 20' for normal white light. |
add_family |
add another texture family. For Thief 2 they are Ancient, ArtDeco, ArtDMisc, ArtDout, catacomb, Cave, CeilPain, church, city, CivicB2, CivicBui, Core_1, Core_2, Core_3, keeper, lostcty, maw, MBFloor, Mech, newcity, NewKeep, NewMech, NewMetal, rescor_1, rescor_2, Ruined, Tower2, vicm012, VicM01, VicM04, vicm07, VicM09, vmaw, Vrescor1, and WdFloor. The texture families for Thief 1 are |
remove_family |
remove family, use "all" to clear all |
compress_family |
remove unused textures from family or all. ie "compress_family all" |
script_load |
Load a script file to add to mission. For Thief 1 use "script_load convict" to get things to work normally in the game. For Thief 2 use "script_load convict" and "script_load gen". Only play with other script files if you know what you are doing. |
show_stats |
will cause stats to appear at upper left of screen when in game mode. |
edit_screen_size |
changes the window size of dromed when typed in dromed.cfg You must restart dromed for the effect to take place. The size should be entered like this "edit_screen_size 600,800" |
persistant_player_pos |
Lets you start at the camera when you enter game mode. |
no_endgame |
Stops you from being sent to the debrief screen in game mode. |
ai_aware_of_player |
causes AI to ignore you. They still can be attacked by the player. |
ai_forget_player |
causes AI to forget they ever saw you. For game mode. |
These are well-known commands. |
|
Cam_to_brush |
move camera to center of the current brush |
ambient |
sets the ambient lighting for a level. I recommend ‘ambient 20’ for Thief 1. For Thief 2, you must enter 3 numbers for this command. The numbers correspond to amount of red, blue, and green light to add. I recommend ‘ambient 20 20 20’ for normal white light. |
Dump_cmds |
dump command list to file. The file is like this help file but is unorganized, long, and hard to read. |
Compress_family |
remove unused textures from family or all. Ie "compress_family all" |
add_family |
add another texture family. For Thief 2 they are Ancient, ArtDeco, ArtDMisc, ArtDout, catacomb, Cave, CeilPain, church, city, CivicB2, CivicBui, Core_1, Core_2, Core_3, keeper, lostcty, maw, MBFloor, Mech, newcity, NewKeep, NewMech, NewMetal, rescor_1, rescor_2, Ruined, Tower2, vicm012, VicM01, VicM04, vicm07, VicM09, vmaw, Vrescor1, and WdFloor. The texture families are |
remove_family |
remove family, use "all" to clear all and leave just jorge. |
These are lesser known but should be known for setting things up. |
|
autosaves |
do we autosave to p_portal.cow on exit or portalization? default is on |
tjoint |
do we fix T-joints when portalizing? default is on |
script_load |
Load a script file to add to mission. For Thief 1 use "script_load convict" to get things to work normally in the game. For Thief 2 use "script_load convict" and "script_load gen". Only play with other script files if you know what you are doing. |
script_drop |
drop a script file from mission. |
script_drop_all |
drop all script files from mission. |
brush_to_room |
put a room around your brush. An argument added to this tells Dromed how far you want the room to stick out from the brush. |
set |
Used to set the config variables to specific numbers, i.e set game_mode_backup 0. |
toggle_3d |
Turns the Camera off and on. Caution You cannot move the 2d views while the camera is off. |
Lesser known commands that are useful. |
|
Wall_object |
moves the object to the wall. Similar to floor me and just as buggy. It may alter the object’s orientation. |
Ceil_object |
moves the object to the ceiling. Similar to floor me and just as buggy. It may alter the object’s orientation. |
Clear_surface_cache |
use this command if you load more than one mission in a session. |
Vm_teleport |
move camera to x,y,z ie "vm_teleport 50,25,-300" |
find_obj |
Look up an object by name or number |
destroy_obj |
Destroy an object by name or number |
edit_obj |
edit an object by name or number |
obj_histogram_popup |
Brings up obj list sorted by usage. |
Obj_alpha_popup |
Brings up obj list sorted alphabetically. |
Copy_props_to |
Copy all props from selection to arg. Useful for cloning objects without pressing "insert" and obj already in place. Only do this on objects in the same archtype. |
Fix_rooms |
If you have accidentally corrupted your room table set up (when on a room it says unknown rather than default, etc) then this might fix it. |
Lit_obj_toggle |
Same affect as light_bright but on objects, useful if you haven’t lit your level yet. |
Compress_br_ids |
compact terrain brush ids |
hilight_by_prop |
give a property name (base categories when you press add in an object’s properties) and Dromed will highlights obj’s with it |
hilight_nonaxial |
highlights any terrain with non 90 angles (0,90,180,270) |
hilight_media |
highlight terrain of a certain type (0-solid, 1-air, 2-water, 3-flood, etc) |
hilight_texture |
highlight terrain with specified texture (number or name) If unknown Dromed will hilight jorge. Only works with default textures on brushes. |
Hilight_clear |
clears the hilighted selection |
Ingame commands. press "Shift ;" (aka ":") while ingame to get a prompt to enter these in. These will not work when you run a level in the actual game (not dromed). |
|
Useful Ingame Commands |
|
win_mission |
Win the mission |
show_stats |
will cause stats to appear at upper left of screen |
stats_full |
more stats/less stats |
scale_sim_time |
Scale the speed at which game mode runs |
scale_player_speed |
Scale the player's speed. Caution - running at 5 times normal into a wall will cause death. |
add_hp |
give player the specified amount of hp. Negative numbers work. |
test_book |
book <text>,<art> |
debrief |
Go to debrief screen. |
objectives |
Go to objectives screen. |
loadout |
Go to loadout screen. |
ai_aware_of_player |
causes AI to ignore you. They still can be attacked by the player. |
ai_forget_player |
causes AI to forget they ever saw you. |
ai_sleep_all |
Put all AIs into pause mode |
ai_wake_all |
Wake all sleeping AIs (unpause) |
ai_wake |
Wake a sleeping AI. objID must be given |
sky_dump |
DROMED 2 ONLY This spits out some stats on what the sky is doing and the sky's memory usage. |
Useless Ingame Commands |
|
aiawareofplayer |
if typed you will not be able to make ai’s unaware of you until it’s typed again. |
Aiforgetplayer |
if typed you will not be able to make ai’s forget you until it’s typed again. |
Quit_game |
Quit the game |
halt_player |
Only really useful if you have been mucking about with gravity in someway and have turned the backup off and want Garret to stay floored. |
Automap |
Display the automap |
player_cam_control |
0 for look forward, 1 for move camera to next object, 2 for detach the camera from the object, 3 attach the camera back to object, 4 save camera location, 5 load camera location |
cam_attach |
attach camera to object. The camera will see though the object’s eye. Guards have their eye in their gut. Possibly it goes into the centre of the object brush. |
Player_cam_save |
save what object the cam is currently on to ARG, or drom000.cam |
player_cam_load |
load cam to the object saved as ARG or cam000.loc |
cret_weap_abort |
stop readying an attack |
player_weap_abort |
stop readying an attack by the player |
use_item |
use item 0 = release use button, 1 = hold down use button |
use_weapon |
use weapon 0 = release attack button, 1 = hold down attack button |
cycle_item |
cycle your item 1 = forward, -1 = backward |
cycle_weapon |
cycle your weapon 1 = forward, -1 = backward |
inv_select |
Select an inventory object by name (or archetype number) |
drop_item |
Drop (actually, throw) your currently selected item (doesn’t work on all items ie. Coins) |
clear_item |
Clear the player’s ‘current item’ selection. |
Clear_weapon |
Clear the player’s ‘current weapon’ selection. |
Clear_weapon_and_item |
Clear both the player’s ‘current item’ and ‘current weapon.’ |
Player_detach_arm |
toggles whether the weapon arm is on. (you cannot use weapons when arm is off, but you can make sounds like you are) |
game_message |
Display the typed message following this command on the game screen |
load_game |
Go to the game load UI |
save_game |
Go to the game save UI |
make_sound_z |
Generate a sound at 0,0,0 |
make_sound |
Generate a sound at the player. The sound is a guard’s alert call |
These commands are so useful that you should put them in dromed.cfg ! |
|
check_rooms |
Checks to see if room brushes intersect in a solid. Makes the brushes a different colour. |
edit_screen_size |
changes the window size of dromed. You must restart dromed for the effect to take place. The size should be entered like this "edit_screen_size 600,800" |
persistant_player_pos |
Lets you start at the camera when you enter game mode. |
no_endgame |
Stops you from being sent to the debrief screen in game mode. |
mlog |
If used with a filename afterwards will allow you to dump details to the mlog. This is useful for AI debugging, and any command that dumps data or lists it will end up in the mono log. mlog again closes the file so that you can read it. It also lists errors while the game is running. |
speed_fac |
sets how fast the camera moves in 3d mode. Relative camera speed may vary from level to level due to complexity and size. Default is 1. Uses base 2 (like grid sizes) |
color_depth |
DROMED 2 ONLY set to 16 to get the family colours normal. |
Weather/Sky Commands (Dromed II only) |
|
fog_on |
is fog currently being used? You might have to change the settings under the editors menu as well to get this to work. |
fog_dist |
the distance that garrett wouldn't be able to see anthing through the fog |
fog_r |
The red value of the fog. A normal white fog would have the red, green, and blue values of fog to be equal at 20. A darker fog would have a larger value, like 230. The value can be anything between 0 and 255. |
fog_g |
The green value of the fog. |
fog_b |
The blue value of the fog. |
sky_setlong |
Debug Sky Longitude |
sky_setlat |
Debug Sky Latitude |
sky_dump |
Gives a list of all meshes used in the sky |
stars_spin |
The rate at which the stars spin. |
cloud_row |
Debug Cloud Row |
cloud_col |
Debug Cloud Col |
cloud_glow |
Sets the amount of detail in your clouds. |
cloud_cfg |
Debug Config Ix |
cloud_dump |
Dump cloud deck info |
sky_dump |
This spits out some stats on what the sky is doing and the sky's memory usage. Works ingame |
Weather commands (Both Dromeds) |
|
load_sky |
load a sky bitmap set choose from |
set_star_count |
how many stars do you want in the sky |
set_star_rate |
how fast they rotate across the screen |
set_star_axis |
which axis (0 for x, 1 for y, 2 for z) rotates |
star_base_color |
enter the number of the colour you want the stars |
star_num_colors |
number of palette colors |
These commands are useful when you are dealing with multibrushes. They are also good when your level is not on the grid. Just set the grid to the appropriate size and go. |
|
Hilight_check_snap |
hilight unangled, unsnapped brushes, or if (1) all unsnapped brushes |
hilight_do_snap |
grid snap all hilight brushes... |
hilight_global |
if 0, it will hilight everything, if 1 it will highlight nothing |
hilight_clear |
clears the hilighted selection |
These commands are good for makeing pictures to send to others. Caution : set gamma to max or the picture will be too dark. |
|
screen_dump |
take a screen shot |
light_bright |
makes texture brushes lit up. Use this if you have not lit your level yet. |
show_image |
Shows an image. It is unknown how to return to Dromed afterwards. Use a graphics program or Internet browser instead. |
Use these when setting objectives for your level. |
|
Quest_create_mis |
this lets you enter mission variables |
quest_delete |
this lets you delete mission variables that you do not want. There is no need to add the variable’s value after this. Ie. "quest_delete goal_target_5" |
The mission variables that you can use with this are (# represents the ID of the goal). To set a value for any of these variables, follow them by a comma then a space before entering in the number. If you do not do this they will not work! eg. "quest_create_mis goal_visible_0, 1" |
|
goal_visible_# |
tells dromed if you want the player to see this goal at the start of the mission. 0 for invisible and 1 for visible. This must be entered for all goals. |
goal_state_# |
tells dromed what you want the goal to be set as. 0 for incomplete, 1 for complete, 2 for inactive (the goal is not relevent anymore), 3 for failed. This must be entered for all goals. |
goal_type_# |
tells dromed what kind of goal this is. 0 for steal, 1 for kill, 2 for loot, 3 for goto. Goto requires a concrete room with a WelcomeRoom script on it. See other tutorials for details. |
goal_target_# |
lets you select an object ID to steal/slay/goto. |
goal_loot_# |
how much total loot do you need to satisfy your type 2 goal |
goal_gold_# |
how much gold do you need to satisfy your type 2 goal |
goal_gems_# |
how much gems do you need to satisfy your type 2 goal |
goal_goods_# |
how much goods do you need to satisfy your type 2 goal |
goal_special_# |
how many special flags do you need to satisfy your type 2 goal |
goal_final_# |
tells dromed that it shouldn't check this off as complete until all goals are completed. Good for do not kill and goto room objectives. Set the value as 1 |
goal_reverse_# |
instead of telling the player to do something, this reverses the goal so it says do not do something. Set the value as 1 to use. |
goal_irreversible_# |
Once this goal has been set to complete, it cannot be changed to incomplete without a questvar trap. Must be set to 1 to use. |
goal_min_diff_# |
Sets the minimum difficulty that this goal will be seen at. 0 for normal, 1 for expert, 2 for hard. If unstated, Dromed assumes that minimum difficulty is normal. |
goal_max_diff_# |
similar to goal_min_diff but for maximums. If unstated, Dromed assumes that maximum difficulty is expert. |
difficulty |
Sets the amount of health and objectives that Garrett will have in game mode |
process_difficulty |
Prep level for difficulty. Save your game before entering this command and restore the level afterwards. This can delete some objects from your level that are difficulty dependant. |
map_min_page |
sets the number of the first map page. If you do not have a map set this to 1 along with map_max_page and add a blank map to your level. This normally starts at 001. The map should be named map001.pcx This command must be paired with map_max_page. |
map_max_page |
set it to the same number as map_min_page. More than one map causes thief to overlay the two maps when switching between them while ingame. This command must be paired with map_min_page. |
These can be done using a menu selection |
|
File |
|
save_cow |
Save world to file |
save_mission |
Save mission to file |
save_gamesys |
Save gamesys info only |
load_file |
Load a .MIS, .COW, or .GAM file |
load_gamesys |
Load a .GAM file - Resets the level |
set_gamesys |
Set gamesys file for current mission |
new_world |
starts a new mission |
add_family |
add another texture family. For Thief 2 they are Ancient, ArtDeco, ArtDMisc, ArtDout, catacomb, Cave, CeilPain, church, city, CivicB2, CivicBui, Core_1, Core_2, Core_3, keeper, lostcty, maw, MBFloor, Mech, newcity, NewKeep, NewMech, NewMetal, rescor_1, rescor_2, Ruined, Tower2, vicm012, VicM01, VicM04, vicm07, VicM09, vmaw, Vrescor1, and WdFloor. The texture families for Thief 1 are |
script_load |
Load a script file to add to mission. For Thief 1 use "script_load convict" to get things to work normally in the game. For Thief 2 use "script_load convict" and "script_load gen". Only play with other script files if you know what you are doing. |
file_menu |
Bring up the file menu box that has save, load, create. This defaults to cow files. |
quit_game |
Exits Dromed |
Edit |
|
undo |
undo last thing done (dangerous and buggy) |
redo |
cancel the last undo (dangerous and buggy)(not really in the edit menu, but should be) |
delete_brush |
deletes selected object (the clear command) |
insert_brush |
clones selected object (clone command) |
View and Right-click on a window |
|
zoom_all |
zoom all 2d cameras (0.5 for half the view (zoom in), 1 to keep things the same, 2 to double the view (zoom out), 3 to triple the view, ...) |
zoom_2d |
zoom current camera similar to zoom_all(I'm unsure on how to select a view in order to do this) |
synch_all |
allows you to move all the views with one teleportation click |
vm_layout 4 |
Changes the views of Dromed. 4 for recenter dividers |
ai_draw_cells |
Shows the ai cells in the dromed editor windows, not as useful as... |
ai_draw_links |
Shows the ai links through the cells, essentially, the path database if a route is in white the AI can do it, if it is in red they can't. Very useful for isolating path find errors. |
show_phys_models |
Shows the size of objects in the 3d/game views (pink). Also shows headings for lift type objects (dark blue) |
show_phys_bbox |
Shows the square outline of objects. (light blue) |
grid_3d |
toggle grid display in 3d |
grid_2d |
toggle grid display in 2d |
grid_3d_axis |
3d grid normal axis (0 for e-w u-d (x-axis), 1 for n-s u-d (y-axis), 2 for n-s e-w (z-axis)(default)) (not under view menu but should be) |
grid_move |
move the grid relative to current position in the direction of its axis (can be positive or negative) (not under view menu but should be) |
Shapes |
|
set_primal |
set default terrain brush (1=cylinder, 2=pyramid, 3=Corner Apex Pyramid, 0=cube) |
prim_sides |
# of sides on next terrain brush |
prim_type |
What shape for the next terrain brush (1=cylinder, 2=pyramid, 3=Corner Apex Pyramid, 0=cube) |
cube |
set cube |
prim_facealign |
changes the texture from world aligned to brush aligned and back again (found in menu at bottom of the screen in Dromed) |
prim_special |
set 'special' primal type (crashes Dromed) |
Tools |
|
optimize |
build optimized portalization |
portalize |
make a 3d world out of brushes |
rooms_build |
build the room database |
ai_build_path_database |
Update the AI path database |
relight_level |
relight the level. Best used when adding lighting but not terrain. |
ambient |
sets the ambient light for the mission. ie. "ambient 20" |
set_lighting_mode |
Set lighting mode (0 for Quicklighting, 1 for Raycast, 2 for Objlight) |
obj_histogram_popup |
Brings up obj list sorted by usage. |
obj_alpha_popup |
Brings up obj list sorted alphabetically. |
Editors |
|
obj_tree |
Object Hierarchy editor |
texture_pal |
Brings up the texture palette |
motedit |
Brings up the motion editor. How to use the motion editor is unknown. |
edit_file_vars |
Edit Parameters. 0 for mission, 1 for gamesys, 2 for campaign |
quest_edit_mis |
bring up the mission variables menu. Only works if there currently are mission variables entered. |
quest_edit |
bring up the campaign variables menu. Campaign variables are unneeded for FMs. |
Game |
|
game_mode |
switch to game mode. Specify the resolution by typing in width, height. Standard resolutions are- 320,200 320,240 400,300 512,384 640,400 640,480 800,600 1024,768 1280,1024 ie. "game_mode 640,400" |
Mbrush |
|
load_group |
loads a vbr |
save_group |
saves a vbr |
brush_relative |
sets how the texture is applied. 0 for world relative, 1 for brush relative |
add_brush_num |
add current brush to group. ie add_brush_num 1000 |
rem_brush_num |
remove current brush from group |
tog_brush_num |
add or remove the current brush from group. This depends on whether brush is part of the group or not. |
stair_serf |
build some straight stairs. Built southwards, it uses the depth of the cube for the total depth of the stairs. In order for ai to use the stairs, set the height to be 0.75 (or less) times the number of stairs. |
Bound Commands and commands appearing at the bottom of the screen |
|
floor_object |
moves the object to the floor |
edit_links |
shows all the links in the level or object specified. This includes links in archtypes. This command is more advanced than this but I will not go into detail on it. |
ar_list_receptrons |
list an object's receptrons or all receptrons. Only works on the base level for objects and archtypes. |
ar_list_sources |
list an object's sources or all sources. Only works on the base level for objects and archtypes. |
new_brush |
makes a new brush that is identical to the last brush selected but has dimensions of 2,2,2 |
go_to_meonly |
Hilights the meonlyed brush. Does not move you there. |
cam_rotate |
rotate current camera. 1-down, 4-up, 2-left, 5-right, 3-pitch, 0-negative pitch |
cam_slew |
Move the camera in a direction. 0-forward, 3-backwards, 1-sidestep left, 4-sidestep right, 2-down, 5-up |
cam_level |
Makes the cam face directly forward |
cam_unroll |
Removes the tilt from the camera |
solo_toggle |
Makes the currently selected view take up the entire screen |
cycle_media |
changes the selected brush's type. (eg. from air to solid) 1 for forward, -1 for backward |
vBrush_EOT |
Moves the selected brush to the last time position. |
cycle_brush |
Selects the next brush in time. 1 for next brush, -1 for previous brush |
set_medium |
selects what type of brush you have selected is. 0-solid, 1-air, 2-water, 3-flood, etc |
load_a_texture |
load a single texture, load <fam> <txtname> |
remove_a_texture |
delete a single texture, <fam> <name> |
AI useful stuff |
|
ai_draw |
Draw AI debug info like heading, vision, pathcheck |
ai_draw_in_game |
switch from allowing debug to not allowing debug and vice-versa |
ai_use_zones |
Toggle use of AI zones (do AI push other AIs away?) |
ai_draw_move_goal |
pink line showing the immediate destination of the AI |
ai_draw_suggestions |
white heading arrow |
ai_draw_paths |
large red eighth of a circle that points to what an AI wants to move around to get to the move_goal |
aidebugmode |
Tom's standard AI debug mode will turn off if used |
ai_something_watch |
These will all get dumped to the mono log if you have the aidebugmodoeon. For instance, if you want to know how an guard reacts in a situation, put on ai_signal_watch or ai_hear_watch. Perhaps the best is ai_watch, as that toggles everything about how an AI reacts. |
ai_signal |
Simulates sending out a signal to AIs. If you set up a signal response to the signal 'run' for every guard to rush to a door, doing ai_signal will get the guards running to the door. Only useful if you have been making your own signals. |
AI useless stuff and AI stuff I don't understand |
|
ai_check_lighting |
Check AI Raw Lighting on an Obj. Messed up lighting in game mode, or was that blame_lighting? |
blame_lighting |
Mprint causes of lighting on an Obj |
ai_alert_watch |
Watch an AIs sense/awareness |
ai_flow_watch |
Watch the decision flow of an AI |
ai_sound_watch |
Watch the sound/broadcast of an AI |
ai_hear_watch |
See what an AI is hearing |
ai_combat_watch |
Watch AI Combat |
ai_path_watch |
Watch AI pathfind and path progression |
ai_death_watch |
Watch AI death event and cause |
ai_signal_watch |
Watch AI signals |
ai_ranged_watch |
Watch AI ranged combat |
ai_inform_watch |
Watch AI inform stream |
ai_sight_watch |
Watch AI inform stream |
ai_pulse_watch |
Watch AI sensory pulses |
ai_recover_watch |
Watch AI path recovery |
ai_watch |
Toggle all watches on an AI |
ai_dump_components |
Dump the list of components an AI is made of |
ai_dump_all |
Dump all info in an AI |
ai_break |
Break in the debugger on run of a specific AI |
ai_player_sound |
Simulate player sound broadcast of specified type |
ai_set_recover_test_post |
|
ai_set_recover_test_dest |
|
ai_set_recover_test_result |
|
ai_test_recover |
|
ai_draw_cells |
show AI path cells in wireframe |
ai_draw_links |
show AI path cell links in wireframe |
ai_draw_zone |
show AI path zone |
ai_draw_room |
show AI path cells in room |
ai_spew_zone |
spew AI path zone |
ai_spew_zones |
spew all AI path zones |
ai_draw_one_cell |
path cell to highlight (0 for none) |
ai_draw_cell_centers |
|
ai_dump_cell_connection |
mono print links from cell |
ai_dump_cell_vertex_data |
show cell vertex list on mono |
ai_conv_start |
start a conversation (by objID) |
ai_cam_to_cell |
Send camera to AI cell |
ai_print_cam_cell |
|
ai_test_cells |