Jump to content

XML talk:BINA/OBJC/TRGV: Difference between revisions

there's no strlen() in Daodan AFAIK
mNo edit summary
(there's no strlen() in Daodan AFAIK)
Line 20: Line 20:
To check the toUpper hypothesis, you don't need to change the game data, just test against "CHAR_0". Another thing to do (which I did) is set '''testVar = ai_name''' (similar to what is done with '''my_save_point = save_point''' in many of Bungie's scripts). I then print '''testVar''' (it displays as '''char_0''', both with '''dmsg''' and at the dev console, i.e., with no uppercase) and finally check '''testVar eq "char_0"''' instead of '''testVar eq "char_0"''' (it fails). I also quick-changed '''char_0''' to '''KONOKO''' in Konoko's CHAR. And it still fails the same way: both strings display the same value '''KONOKO''', but '''testVar eq "KONOKO"''' (or '''testVar eq KONOKO''') evaluates to '''false''' (same as for "char_0" before the hack). However, '''testVar eq testVar''', '''ai_name eq ai_name''' and '''testVar eq ai_name''' all evaluate to '''true'''. So I really think it's a non-printable char in the character name as sent from the runtime event (end-of-line most likely). -- [[User:Geyser|geyser]] ([[User talk:Geyser|talk]]) 19:41, 14 May 2020 (CEST)
To check the toUpper hypothesis, you don't need to change the game data, just test against "CHAR_0". Another thing to do (which I did) is set '''testVar = ai_name''' (similar to what is done with '''my_save_point = save_point''' in many of Bungie's scripts). I then print '''testVar''' (it displays as '''char_0''', both with '''dmsg''' and at the dev console, i.e., with no uppercase) and finally check '''testVar eq "char_0"''' instead of '''testVar eq "char_0"''' (it fails). I also quick-changed '''char_0''' to '''KONOKO''' in Konoko's CHAR. And it still fails the same way: both strings display the same value '''KONOKO''', but '''testVar eq "KONOKO"''' (or '''testVar eq KONOKO''') evaluates to '''false''' (same as for "char_0" before the hack). However, '''testVar eq testVar''', '''ai_name eq ai_name''' and '''testVar eq ai_name''' all evaluate to '''true'''. So I really think it's a non-printable char in the character name as sent from the runtime event (end-of-line most likely). -- [[User:Geyser|geyser]] ([[User talk:Geyser|talk]]) 19:41, 14 May 2020 (CEST)


Is there a way / "geyser hack" to count the signs a la length(string)? :D
Is there a way / "geyser hack" to count the signs a la length(string)? :D --'Dox
 
You mean something to count the symbols/characters/bytes? Well, no, at least not from within Oni's game/console and scripts. Neo or the Daodan folks would be able to help, but I have never had the patience to look at Oni's ASM myself. I am pretty sure that the problem is a trailing end-of-line, though. --[[User:Geyser|geyser]] ([[User talk:Geyser|talk]]) 22:37, 14 May 2020 (CEST)