5,389
edits
(→Large textures: needed update) |
(→BSL variables: there there) |
||
Line 652: | Line 652: | ||
:''Unsolved as of 06:39, 22 October 2008 (CEST). Needs a trimmed list of necessary PC vars matched with disposable Mac vars. | :''Unsolved as of 06:39, 22 October 2008 (CEST). Needs a trimmed list of necessary PC vars matched with disposable Mac vars. | ||
Since sc_bind_f2 and sc_bind_f3 won't work, the OTA needs to be rewritten whatever we do. Probably waiting for special anims should be replaced with waiting for hotkeyed variables like fast_mode (Ctrl+Shift/Alt+F), draw_every_frame (Ctrl+Shift/Alt+G), or gs_show_performance (Ctrl+Shift/Alt+Y). If this is done in the randomizer loop, there will actually be fewer contexts pushed than in the current version. There will also be no counterintuitive keypress sequences (F9,F2,F10), no spurious FILM files and no risk of buffer overflow. --[[User:Geyser|geyser]] 06:39, 22 October 2008 (CEST) | Since sc_bind_f2 and sc_bind_f3 won't work, the OTA needs to be rewritten whatever we do. Probably waiting for special anims should be replaced with waiting for hotkeyed variables like fast_mode (Ctrl+Shift/Alt+F), draw_every_frame (Ctrl+Shift/Alt+G), or gs_show_performance (Ctrl+Shift/Alt+Y). If this is done in the randomizer loop, there will actually be fewer contexts pushed than in the current version. There will also be no counterintuitive keypress sequences (F9,F2,F10), no spurious FILM files and no risk of buffer overflow. --[[User:Geyser|geyser]] 06:39, 22 October 2008 (CEST) | ||
===Preset Mac variables=== | |||
2+3+1+39=45 registered through tables ^_^ | |||
:16 variables registered elsewhere -_- | |||
;Missing (pointer to string can't be found) | |||
#p3_debug_collision (disposable) | |||
#p3_everything_breakable (...) | |||
#p3_furniture_breakable (cheatable) | |||
#p3_glass_breakable (disposable?) | |||
#p3_show_env_collision (disposable) | |||
;Quite disposable, but missing too -_- | |||
#ph_active | |||
#ph_debug_keyforces | |||
#ph_show_collisions | |||
;Also missing | |||
#sound_show_debug (pity; it's quite disposable) | |||
#wp_disable_fade (this one is useful anyway) | |||
#ui_suppress_prompt (useful too) | |||
;OpenGL initialisation (useful, missing) | |||
#gl_fog_blue | |||
#gl_fog_end | |||
#gl_fog_green | |||
#gl_fog_red | |||
#gl_fog_start | |||
;Table of boolean vars at 0x1BA2AC | |||
#marketing_line_off (used) | |||
#chr_big_head (used) | |||
;Table of boolean vars at 0x1BAC00 | |||
#invincible (used) | |||
#omnipotent (used) | |||
#unstoppable | |||
;Table of integer vars at 0x1BAC00 | |||
#save_point | |||
;Table at 0x0x1B9C54 | |||
#ai2_showpaths | |||
#ai2_showgrids | |||
#ai2_showdynamicgrids | |||
#ai2_showpathfindingerrors | |||
#ai2_showconnections | |||
#ai2_showactivationpaths | |||
#ai2_showastar | |||
#ai2_showcombatranges | |||
#ai2_showvision | |||
#ai2_showprediction | |||
#ai2_showtargeting | |||
#ai2_showlasers | |||
#ai2_showlos | |||
#ai2_showprojectiles | |||
#ai2_showfiringspreads | |||
#ai2_showlocalmelee | |||
#ai2_showfights | |||
#ai2_shownames | |||
#ai2_showhealth | |||
#ai2_showjoblocations | |||
#ai2_showlinetochar | |||
#ai2_showsounds | |||
#ai2_printspawn | |||
#ai2_blind | |||
#ai2_deaf | |||
#ai2_ignore_player | |||
#ai2_chump_stop | |||
#ai2_stopignoring_count | |||
#ai2_stopignoring_time | |||
#ai2_melee_weightcorrection | |||
#ai2_spacing_enable | |||
#ai2_spacing_cookies | |||
#ai2_spacing_weights | |||
#ai2_barabbas_run | |||
#ai2_boss_battle | |||
#ai2_showintersections | |||
#ai2_debug_localmovement | |||
#ai2_debug_localpathfinding | |||
#ai2_debug_showsettingIDs | |||
===Wishlist=== | |||
:Trying to list necessary variables off the top of my head (omitting sc_bind_f2 and sc_bind_f3, which won't work): --[[User:Geyser|geyser]] 06:39, 22 October 2008 (CEST) | :Trying to list necessary variables off the top of my head (omitting sc_bind_f2 and sc_bind_f3, which won't work): --[[User:Geyser|geyser]] 06:39, 22 October 2008 (CEST) | ||
Line 828: | Line 901: | ||
|bool sound_show_debug=0||"displays sound debugging info" | |bool sound_show_debug=0||"displays sound debugging info" | ||
|} | |} | ||
That's 32!!! ^_^ however, the last 5 are not registered in the common table, so we actually have access to 25 vars: enough to accomodate everything except the goofy. | |||
Line 866: | Line 938: | ||
|bool ph_debug_keyforces=0||"toggle keyboard applied forces" (no visible effect) | |bool ph_debug_keyforces=0||"toggle keyboard applied forces" (no visible effect) | ||
|} | |} | ||
That's | That's 16, but the last 6 can't be used (marketing_line_off is used and the other 5 are "registered elsewhere"). So, 10. | ||
All in all, we apparently have a maximum of 35 disposable variables, and a total of 31 on the wishlist. My suggestion: | |||
:If li_center_cursor works, leave these 4: ai2_spacing_cookies, ai2_spacing_enable, ai2_spacing_weights, ai2_barabbas_run. | |||
:If li_center_cursor doesn't work, leave these 5: ai2_melee_weightcorrection, ai2_spacing_cookies, ai2_spacing_enable, ai2_spacing_weights, ai2_barabbas_run. | |||
Convert all the others "en masse" (there will be large contiguous blocks in the table, and in the name/description pool as well). Also, | |||
The 3 blocks are as follows: | |||
#ai2_showpaths | |||
#ai2_showgrids | |||
#ai2_showdynamicgrids | |||
#ai2_showpathfindingerrors | |||
#ai2_showconnections | |||
#ai2_showactivationpaths | |||
#ai2_showastar | |||
#ai2_showcombatranges | |||
#ai2_showvision | |||
#ai2_showprediction | |||
#ai2_showtargeting | |||
#ai2_showlasers | |||
#ai2_showlos | |||
#ai2_showprojectiles | |||
#ai2_showfiringspreads | |||
#ai2_showlocalmelee | |||
#ai2_showfights | |||
#ai2_shownames | |||
#ai2_showhealth | |||
#ai2_showjoblocations | |||
#ai2_showlinetochar | |||
#ai2_showsounds | |||
#ai2_printspawn | |||
#ai2_blind | |||
#ai2_deaf | |||
#KEEP DEFINITELY | |||
#ai2_chump_stop | |||
#ai2_stopignoring_count | |||
#ai2_stopignoring_time | |||
#ai2_melee_weightcorrection (keep if no extras and li_center_cursor doesn't work) | |||
#ai2_spacing_enable (keep if no extras) | |||
#ai2_spacing_cookies (keep if no extras) | |||
#ai2_spacing_weights (keep if no extras) | |||
#ai2_barabbas_run (keep if no extras) | |||
#KEEP DEFINITELY | |||
#ai2_showintersections | |||
#ai2_debug_localmovement | |||
#ai2_debug_localpathfinding | |||
#ai2_debug_showsettingIDs | |||
And our wishlist is like this: | |||
#co_display | |||
#fast_mode | |||
#draw_every_frame | |||
#show_performance | |||
#li_center_cursor | |||
#chr_pin_character | |||
#cm_distance | |||
#cm_height | |||
#cm_canter_weapon | |||
#cm_canter_unarmed | |||
#wp_scale_adjustment | |||
#chr_aim_width | |||
#chr_auto_aim_arc | |||
#chr_auto_aim_dist | |||
#chr_block_angle | |||
#chr_disable_melee | |||
#chr_weapon_auto_aim | |||
#chr_all_active | |||
#chr_disable_visactive | |||
#chr_draw_all_characters | |||
#chr_lod | |||
#door_ignore_locks | |||
#gs_input_accel | |||
#gs_show_corpses | |||
#single_step | |||
#chr_big_head_amount | |||
#chr_mini_me | |||
#chr_mini_me_amount | |||
#wp_kickable | |||
#fx_laser_width | |||
#m3_fill_solid | |||
#m3_shade_vertex | |||
#gs_show_environment | |||
33, to which we can add 4 or 5 extras like draw_every_frame_multiple, gs_screen_shot_reduce... | |||
:My impression is that there's plenty of space to accomodate all that. So let's do it. |