20,302
edits
(→BSL variables: there there) |
m (/cat) |
||
| (11 intermediate revisions by 3 users not shown) | |||
| Line 4: | Line 4: | ||
:Define "code caves"; I'm not sure there's many of those, and we can't go very far with a hackish approach anyway. As for DLL-similar stuff, SFeLi said it was feasible and even relatively easy with [[wikipedia:Mach-O|Mach-O]] files: I haven't looked into that myself. --[[User:Geyser|geyser]] 18:06, 10 October 2008 (CEST) | :Define "code caves"; I'm not sure there's many of those, and we can't go very far with a hackish approach anyway. As for DLL-similar stuff, SFeLi said it was feasible and even relatively easy with [[wikipedia:Mach-O|Mach-O]] files: I haven't looked into that myself. --[[User:Geyser|geyser]] 18:06, 10 October 2008 (CEST) | ||
::Code caves? There are a ton of those in the Mac executable :) [[User:Neo|Neo]] | ::Code caves? There are a ton of those in the Mac executable :) [[User:Neo|Neo]] | ||
::: | :::[[wikt:code_cave]] Sounds neat\useful, for someone who is good at asm.[[User:Gumby|Gumby]] 05:38, 16 October 2008 (CEST) | ||
| Line 20: | Line 20: | ||
::[[User:Geyser|geyser]] 03:36, 7 October 2008 (CEST) | ::[[User:Geyser|geyser]] 03:36, 7 October 2008 (CEST) | ||
:::Just confirmed it to make sure; only a-z cannot be modified by the Shift key, i.e., become uppercase. All other characters that require Shift can be typed. And thanks for the answer on what uses uppercase, the team names and AI names slipped my mind. I tested that as well, hoping that the Mac would ignore case, but alas; the console indeed does not recognize any team names without the uppercase letters. --[[User:Iritscen|Iritscen]] 04:02, 7 October 2008 (CEST) | :::Just confirmed it to make sure; only a-z cannot be modified by the Shift key, i.e., become uppercase. All other characters that require Shift can be typed. And thanks for the answer on what uses uppercase, the team names and AI names slipped my mind. I tested that as well, hoping that the Mac would ignore case, but alas; the console indeed does not recognize any team names without the uppercase letters. --[[User:Iritscen|Iritscen]] 04:02, 7 October 2008 (CEST) | ||
:::::::Iritscen, you beat me to it. The SHIFT key does not work in Dev Mode to enter uppercase letters (I should have been more specific, sorry). How long have I've known these issues? The SHIFT key problem was discovered when you, (geyser) asked me to enter some code in the console, I forgot when that happened. The Window mode issue was known as soon as it was figured out how to run Omni group's version in a window. I'm sure this was mentioned at some point, either here or at OCF. The problems with the Numpad key was known back in Jan 2007 and you suggested using the [ | :::Also, I now see that capitals are required to type in animation names, therefore the chr_animate command is essentially unuseable on the Mac Oni console line; however, the command still works from within a BSL script, where caps are recognized. --[[User:Iritscen|iritscen]] 06:01, 7 November 2008 (CET) | ||
::::Iritscen, you beat me to it. The SHIFT key does not work in Dev Mode to enter uppercase letters (I should have been more specific, sorry). How long have I've known these issues? The SHIFT key problem was discovered when you, (geyser) asked me to enter some code in the console, I forgot when that happened. The Window mode issue was known as soon as it was figured out how to run Omni group's version in a window. I'm sure this was mentioned at some point, either here or at OCF. The problems with the Numpad key was known back in Jan 2007 and you suggested using the [[User_talk:EdT|key_config.txt file]] [[User:EdT|EdT]] 04:11, 7 October 2008 (CEST) | |||
---- | ---- | ||
==Large textures== | ==Large textures== | ||
The crash report is now history, but let's clarify the status of the patch at 0x001151C3. Is it irrelevant and can it be reverted? | The crash report is now history, but let's clarify the status of the patch at 0x001151C3. Is it irrelevant and can it be reverted? | ||
| Line 32: | Line 34: | ||
==Projectile awareness== | ==Projectile awareness== | ||
Fixed as of Dec 18 2008 | |||
{| | |||
| | |||
{{table}} | |||
{{th}} | |||
!Offset!!Old hex!!New hex!!Description | |||
|-align=center | |||
|0x00016503<BR>0x00016507<BR>0x0001650B<BR>0x000164F1<BR>0x000164F2||50<br>54<br>58<br>9D<br>23||74<br>78<br>7C<br>BD<br>2B | |||
|align=left|projectile awareness fixed | |||
|} | |||
|} | |||
---- | ---- | ||
==BSL functions== | ==BSL functions== | ||
Cleaning up previous talk, see history if you need reference | Cleaning up previous talk, see history if you need reference | ||
| Line 269: | Line 283: | ||
|00 17 0E 24 | |00 17 0E 24 | ||
|'''00 17 11 53 | |'''00 17 11 53 | ||
|pointer to BSL name | |pointer to BSL name '''chr_focus | ||
|- | |- | ||
|0x1B9768 | |0x1B9768 | ||
| Line 289: | Line 303: | ||
|00 17 0E 84 | |00 17 0E 84 | ||
|'''00 17 11 68 | |'''00 17 11 68 | ||
|pointer to BSL name | |pointer to BSL name '''powerup_reset | ||
|- | |- | ||
|0x1B9780 | |0x1B9780 | ||
| Line 309: | Line 323: | ||
|00 17 0E C0 | |00 17 0E C0 | ||
|'''00 17 11 76 | |'''00 17 11 76 | ||
|pointer to BSL name | |pointer to BSL name '''corpse_reset | ||
|- | |- | ||
|0x1B9798 | |0x1B9798 | ||
| Line 329: | Line 343: | ||
|00 17 0F 10 | |00 17 0F 10 | ||
|'''00 17 11 83 | |'''00 17 11 83 | ||
|pointer to BSL name | |pointer to BSL name '''weapon_reset | ||
|- | |- | ||
|0x1B97B0 | |0x1B97B0 | ||
| Line 349: | Line 363: | ||
|00 17 0F 5C | |00 17 0F 5C | ||
|'''00 17 11 1E | |'''00 17 11 1E | ||
|pointer to BSL name | |pointer to BSL name '''chr_set_class | ||
|- | |- | ||
|0x1B97C8 | |0x1B97C8 | ||
| Line 369: | Line 383: | ||
|00 17 0F BC | |00 17 0F BC | ||
|'''00 17 11 00 | |'''00 17 11 00 | ||
|pointer to BSL name | |pointer to BSL name '''chr_health | ||
|- | |- | ||
|0x1B97E0 | |0x1B97E0 | ||
| Line 389: | Line 403: | ||
|00 17 10 10 | |00 17 10 10 | ||
|'''00 17 10 EB | |'''00 17 10 EB | ||
|pointer to BSL name | |pointer to BSL name '''gs_fov_set | ||
|- | |- | ||
|0x1B97F8 | |0x1B97F8 | ||
| Line 409: | Line 423: | ||
|00 17 10 50 | |00 17 10 50 | ||
|'''00 17 10 D3 | |'''00 17 10 D3 | ||
|pointer to BSL name | |pointer to BSL name '''make_corpse | ||
|- | |- | ||
|0x1B9810 | |0x1B9810 | ||
| Line 429: | Line 443: | ||
|00 17 10 90 | |00 17 10 90 | ||
|'''00 17 10 BA | |'''00 17 10 BA | ||
|pointer to BSL name | |pointer to BSL name '''chr_display_combat_stats | ||
|- | |- | ||
|0x1B9828 | |0x1B9828 | ||
| Line 449: | Line 463: | ||
|00 17 10 E8 | |00 17 10 E8 | ||
|'''00 17 10 A1 | |'''00 17 10 A1 | ||
|pointer to BSL name | |pointer to BSL name '''chr_location_settocamera | ||
|- | |- | ||
|0x1B9840 | |0x1B9840 | ||
| Line 469: | Line 483: | ||
|00 17 11 3C | |00 17 11 3C | ||
|'''00 17 10 96 | |'''00 17 10 96 | ||
|pointer to BSL name | |pointer to BSL name '''chr_weapon | ||
|- | |- | ||
|0x1B9858 | |0x1B9858 | ||
| Line 631: | Line 645: | ||
00170080 65 74 73 20 77 65 61 70 6F 6E 73 20 66 72 6F 6D ets weapons from | 00170080 65 74 73 20 77 65 61 70 6F 6E 73 20 66 72 6F 6D ets weapons from | ||
00170090 20 57 45 41 50 00 63 68 72 5F 77 65 61 70 6F 6E WEAP.chr_weapon | 00170090 20 57 45 41 50 00 63 68 72 5F 77 65 61 70 6F 6E WEAP.chr_weapon | ||
001700A0 | 001700A0 00 63 68 72 5F 6C 6F 63 61 74 69 6F 6E 5F 73 65 .chr_location_se | ||
001700B0 74 74 6F 63 61 6D 65 72 61 00 63 68 72 5F 64 69 ttocamera.chr_di | 001700B0 74 74 6F 63 61 6D 65 72 61 00 63 68 72 5F 64 69 ttocamera.chr_di | ||
001700C0 73 70 6C 61 79 5F 63 6F 6D 62 61 74 5F 73 74 61 splay_combat_sta | 001700C0 73 70 6C 61 79 5F 63 6F 6D 62 61 74 5F 73 74 61 splay_combat_sta | ||
| Line 649: | Line 663: | ||
---- | ---- | ||
==BSL variables== | ==BSL variables== | ||
:''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) | ||
:: Can you give a script example of waiting for hotkeyed variables? I would like to test it out. Thanks [[User:EdT|EdT]] 20:45, 28 October 2008 (CET) | |||
===Preset Mac variables=== | ===Preset Mac variables=== | ||
2+3+1+39=45 registered through tables ^_^ | 2+3+1+39=45 registered through tables ^_^ | ||
| Line 750: | Line 766: | ||
#chr_weapon_auto_aim | #chr_weapon_auto_aim | ||
; | ;Advanced stuff | ||
#chr_all_active | #chr_all_active | ||
#chr_disable_visactive | #chr_disable_visactive | ||
| Line 771: | Line 787: | ||
That's 33, which is a lot. 25 if we kick out the goofy. 24 if li_center_cursor doesn't work. | That's 33, which is a lot. 25 if we kick out the goofy. 24 if li_center_cursor doesn't work. | ||
===Brainstorming=== | |||
Below are two little tables and two big ones. The first table is variables that don't seem to work but probably do, with the special case of '''ai2_boss_battle''' beilng used in [compound]. Then there's a small table of "huh" variables that are almost certainly disposable. Then there are tables (mutually exclusive, but overlapping with the small ones): debug/display things (32 items) and not-likely-to-be-tweaked things (17 items). Those would disempower modders and hackers but wouldn't change much or anything for level logic. 49 variables is a lot, but we have to choose wisely, and may end up having to maintain two versions of the Mac engine, one with debug stuff, the other with stuff that is meant to be used in scripts. --[[User:Geyser|geyser]] 05:14, 10 October 2008 (CEST) | Below are two little tables and two big ones. The first table is variables that don't seem to work but probably do, with the special case of '''ai2_boss_battle''' beilng used in [compound]. Then there's a small table of "huh" variables that are almost certainly disposable. Then there are tables (mutually exclusive, but overlapping with the small ones): debug/display things (32 items) and not-likely-to-be-tweaked things (17 items). Those would disempower modders and hackers but wouldn't change much or anything for level logic. 49 variables is a lot, but we have to choose wisely, and may end up having to maintain two versions of the Mac engine, one with debug stuff, the other with stuff that is meant to be used in scripts. --[[User:Geyser|geyser]] 05:14, 10 October 2008 (CEST) | ||
:I'll start testing the variables and those I find that do not have a visible effect, I'll add to the possibly broken and disposable section. [[User:EdT|EdT]] 07:08, 10 October 2008 (CEST) | :I'll start testing the variables and those I find that do not have a visible effect, I'll add to the possibly broken and disposable section. [[User:EdT|EdT]] 07:08, 10 October 2008 (CEST) | ||
| Line 940: | Line 956: | ||
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. | 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. | ||
===Summary=== | |||
All in all, we apparently have a maximum of 35 disposable variables, and a total of 31 on the wishlist. My suggestion: | 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 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. | :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 | :Maybe don't keep anything and add 4 or 5 extras instead, like draw_every_frame_multiple, gs_screen_shot_reduce... | ||
Convert stuff "en masse" (there will be large contiguous blocks in the table, and in the name/description pool as well, although less so). | |||
The 3 blocks are as follows: | The 3 blocks are as follows: | ||
| Line 985: | Line 1,003: | ||
#ai2_debug_localpathfinding | #ai2_debug_localpathfinding | ||
#ai2_debug_showsettingIDs | #ai2_debug_showsettingIDs | ||
(this does not necessarily correspond to contiguous strings) | |||
And our wishlist is like this: | And our wishlist is like this: | ||
| Line 1,022: | Line 1,042: | ||
33, to which we can add 4 or 5 extras like draw_every_frame_multiple, gs_screen_shot_reduce... | 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. | :My impression is that there's plenty of space to accomodate all that. So let's do it. | ||
::[[User:Geyser|geyser]] 07:35, 22 October 2008 (CEST) | |||
[[Category:Patch supporting pages]] | |||