5,389
edits
m (Talk:Oni Application Patches (Mac) moved to Talk:Oni engine patches (Mac): Consistency with Oni engine patches (Win); "No Need For Capitals"; "engine" > "application") |
(wp_reset and other things coming later; let's do these three first) |
||
Line 130: | Line 130: | ||
:::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 [http://wiki.oni2.net/User_talk:EdT key_config.txt file ] [[User:EdT|EdT]] 04:11, 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 [http://wiki.oni2.net/User_talk:EdT key_config.txt file ] [[User:EdT|EdT]] 04:11, 7 October 2008 (CEST) | ||
---- | |||
;Update on large textures | |||
:Sorry, but we still haven't got a clear idea of what's going on. Ed's patch is correct, yet the crash log indicates that texture data was written on top of other stuff (i.e. outside of its supposed buffer). This probably means there's another texture buffer somewhere, specific to the Mac build. And we haven't tried looking for it yet. --[[User:Geyser|geyser]] 04:53, 9 October 2008 (CEST) | |||
;Update on projectile awareness | |||
:Sorry, but browsing and patching PowerPC ASM code is not pleasant. There are tricky pointers all over the place, which is why Neo is not too hot for fixing the messy awareness on the Mac (even though the nature of the mess is essentially known). --[[User:Geyser|geyser]] 04:53, 9 October 2008 (CEST) | |||
;"Finally, some good news" | |||
:Here's a tentative set of in-place patches to enable chr_focus, chr_set_class and chr_location for the Omni engine. A bunch of pointers and strings to edit. I wrote the strings with a fixed-width font, <tt>°</tt> standing for the null character, with the old and new strings above one another so you can see what goes where. Make sure you don't mess up with the 2 strings being shifted backwards. --[[User:Geyser|geyser]] 04:53, 9 October 2008 (CEST) | |||
{{Table}} style="white-space:nowrap" | |||
|+making '''cm_barabus''' into '''chr_focus''': fixing pointers | |||
{{th}} | |||
!Offset | |||
!Old hex | |||
!New hex | |||
!Description | |||
|- | |||
|0x1B906C | |||
|00 16 F8 34 | |||
|00 16 F8 34 | |||
|pointer to BSL name; unchanged | |||
|- | |||
|0x1B9078 | |||
|00 16 F8 40 | |||
|00 16 F8 40 | |||
|pointer to help string; unchanged | |||
|- | |||
|0x1B907C | |||
|00 16 F8 5C | |||
|00 16 F8 5C | |||
|pointer to signature string; unchanged | |||
|- | |||
|0x1B9080 | |||
|00 03 58 BC | |||
|00 '''04 19 6C''' | |||
|pointer to function; now pointing to _SetMainCharacter | |||
|} | |||
{{Table}} style="white-space:nowrap" | |||
|+making '''chr_hold_key''' into '''chr_location''': fixing pointers | |||
{{th}} | |||
!Offset | |||
!Old hex | |||
!New hex | |||
!Description | |||
|- | |||
|0x1B918C | |||
|00 16 EE 24 | |||
|00 16 EE '''23''' | |||
|pointer to BSL name; shifting 1 char backwards | |||
|- | |||
|0x1B9198 | |||
|00 16 FB E8 | |||
|00 16 FB E8 | |||
|pointer to help string; unchanged | |||
|- | |||
|0x1B919C | |||
|00 16 FC 20 | |||
|00 16 FC 20 | |||
|pointer to signature string; unchanged | |||
|- | |||
|0x1B91A0 | |||
|00 03 45 A8 | |||
|00 '''04 15 DC''' | |||
|pointer to function; now pointing to _iCharacterLocation | |||
|} | |||
{{Table}} style="white-space:nowrap" | |||
|+making '''ai2_panic''' into '''chr_set_class''': fixing pointers | |||
{{th}} | |||
!Offset | |||
!Old hex | |||
!New hex | |||
!Description | |||
|- | |||
|0x1B95DC | |||
|00 16 F2 EC | |||
|00 16 F2 '''EA''' | |||
|pointer to BSL name; shifting 2 chars backwards | |||
|- | |||
|0x1B95E8 | |||
|00 17 09 48 | |||
|00 17 09 48 | |||
|pointer to help string; unchanged | |||
|- | |||
|0x1B95EC | |||
|00 17 09 68 | |||
|00 17 09 68 | |||
|pointer to signature string; unchanged | |||
|- | |||
|0x1B95F0 | |||
|00 03 55 F8 | |||
|00 '''04 06 14''' | |||
|pointer to function; now pointing to _iSetCharacterClass | |||
|} | |||
{{Table}} style="white-space:nowrap" | |||
|+making '''cm_barabus''' into '''chr_focus''': fixing strings | |||
{{th}} | |||
!Offset | |||
!0x16E834 | |||
!0x16E840 | |||
!0x16E85C | |||
|- | |||
!Old chars | |||
|<tt>cm_barabus°°</tt> | |||
|<tt>special camera for barabus°°</tt> | |||
|<tt><nowiki>[ai_name:string | script_id:int] away:float up:float time:int°°°</nowiki></tt> | |||
|- | |||
!New chars | |||
|<tt>chr_focus°°°</tt> | |||
|<tt>sets a new player character°</tt> | |||
|<tt><nowiki>chr_index:int°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°</nowiki></tt> | |||
|- | |||
!Description | |||
|replacing name in-place | |||
|replacing help string in-place | |||
|replacing signature string in-place | |||
|} | |||
{{Table}} style="white-space:nowrap" | |||
|+making '''chr_hold_key''' into '''chr_location''': fixing strings | |||
{{th}} | |||
!Offset | |||
!0x16DE23 | |||
!0x16EBE8 | |||
!0x16EC20 | |||
|- | |||
!Old chars | |||
|<tt>°chr_holdkey°</tt> | |||
|<tt>forces a character to hold a key down for some frames°°°</tt> | |||
|<tt><nowiki>[ai_name:string | script_id:int] key_name:string num_frames:int°</nowiki></tt> | |||
|- | |||
!New chars | |||
|<tt>chr_location°</tt> | |||
|<tt>sets location of a character or prints current location°</tt> | |||
|<tt><nowiki>chr_index:int [[loc_x:float loc_y:float loc_z:float] | ]°°°°°°°°</nowiki></tt> | |||
|- | |||
!Description | |||
|replacing/shifting name | |||
|replacing help string in-place | |||
|replacing signature string in-place | |||
|} | |||
{{Table}} style="white-space:nowrap" | |||
|+making '''ai2_panic''' into '''chr_set_class''': fixing strings | |||
{{th}} | |||
!Offset | |||
!0x16E2EA | |||
!0x16F948 | |||
!0x16F968 | |||
|- | |||
!Old chars | |||
|<tt>°°ai2_panic°°°</tt> | |||
|<tt>makes an AI panic or not panic°°</tt> | |||
|<tt><nowiki>[ai_name:string | script_id:int] timer:int°°</nowiki></tt> | |||
|- | |||
!New chars | |||
|<tt>chr_set_class°</tt> | |||
|<tt>sets class of a given character°</tt> | |||
|<tt><nowiki>chr_id:int [oncc_name:string | oncc_id:int]°</nowiki></tt> | |||
|- | |||
!Description | |||
|replacing/shifting name | |||
|replacing help string in-place | |||
|replacing signature string in-place | |||
|} |