User talk:Iritscen: Difference between revisions

From OniGalore
Jump to navigation Jump to search
m (added value right on!)
m (+cat)
 
(116 intermediate revisions by 12 users not shown)
Line 1: Line 1:
:About your edits of [[Main Page]], they're quite welcome, but:
'''Talk page archives''': [[/Archive1|#1]] (2008); [[/Archive2|#2]] (2009-2014)
:Normally you're supposed to make "proposals" in [[Talk:Main_Page]]
:I also think that the main page shouldn't be an exhaustive list.
:It was already too long to start with: it needs to be lighter.
:Typically, this can be done with a tabulated layout.
::[[User:Geyser|geyser]] 17:18, 16 January 2008 (CET)
:Oh, and don't copy one page to another location - move it.
::[[User:Geyser|geyser]] 17:20, 16 January 2008 (CET)
----
'''Who here was involved with that effort to hack multiplayer into Oni?'''
:Memory search: Alloc, Kumo, typhen (leader) and me.
:Programs: typhen (Onyx/OnyxPatcher), neonew (OniHook)


'''How was the multiplayer actually supposed to get implemented into Oni?'''
==Re: Banner==
:Overwrite the memory at runtime.


'''How much was accomplished?'''
Hey,
:Some memory findings (pointers, player/enemy values, ...). (All?) results are stored [http://oniplayer.oni2.net/contents/whatsdone/found_stuff.php here] (Used program: [http://en.wikipedia.org/wiki/Tsearch TSearch]).


'''What were the obstacles?'''
haha yes, I'm sorry for that. The banner was located on my installation CD and actually, this is the installer splashscreen: [https://i.imgur.com/xti8qZC.png Click] --[[User:Noneatme|Noneatme]]
:Working in the memory in general
:Find the pointers (because the pointer position varies from OS to OS and from level to level).
:Time (as usual).
----
typhen stopped his efforts on the project in August of 2005 for real life (girlfriend).
:[[User:Ssg|Ssg]] 00:25, 15 February 2008 (CET)
:Kumo contributed some pseudonetcode in C++ that was supposed to interface with Onyx.
:Alloc's OniTrainer implemented most of the gathered knowledge as the project went.
:(OniTrainer had no network component, but it was a good tool for experimentation.)
:The problem with TSearching was with all the big dynamically allocated structures.
:It was a rather crazy idea to figure out those structures without disassembling...
:I think the project started in April/May 2005, so it spanned the summer of 2005.
:neonew's OniHook was totally independent of Onyx, so it's another project, sorta.
:I'm not sure whether neonew disassembled Oni's engine in order to do the hooking.
:A fair amount of Oni's engine has been disassembled since, by both SFeLi and Neo.
:The structures responsible for the "game state" and "character state" are known.
::[[User:Geyser|geyser]] 02:04, 15 February 2008 (CET)
----
Some history:


typhen came up with the project in December of 2004. The first steps in the memory were made with RAMCheat. In January of 2005 typhen found the (great) program TSearch and the real memory search began. In April of 2005 geyser joined the Oni community and two or three weeks later the Ikonboard-based Oni forum crashed. (Because of too many verbose postings by him. :p *just kidding* ;-)
:Hehe, I feel somehow cheated that these levels never made it into the final game. The jewel case image you mentioned also gave me cancer and aids so I scanned the case for myself. Here is the [https://i.imgur.com/efLP43w.jpg back], [https://i.imgur.com/aUhqU3I.jpg CD], [https://i.imgur.com/JGf5AgJ.jpg inner part] and [https://i.imgur.com/NGwIbni.jpg front]. Also, the german sounds and voice lines are also well made and we have some translated textures like STAIRS at the warehouse level. And I also found some unused textures in some levels. --[[User:Noneatme|Noneatme]] ([[User talk:Noneatme|talk]]) 17:49, 29 July 2015 (CEST)


Unfortunately Harry never made this forum available as an archive.
==Annoying sidebar on smartphone==
:[[User:Ssg|Ssg]] 11:57, 15 February 2008 (CET)
When I browse the wiki with my Samsung/Android phone the side bar takes a good portion of the screen especially if you try to zoom in.
:The crash in April 2005 ''was'' supposedly due to me posting over a bad connection, which corrupted the database.
:My impression is that the actual project started in May 2005 and thus is largely covered on the after-crash forum.
:That's where you can see typhen and Kumo exchanging pseudonetcode, typhen and me talking about sync philosophy...
::[[User:Geyser|geyser]] 12:22, 15 February 2008 (CET)
----
Thanks for the info, guys. And sorry for being something of a jerk yesterday, geyser. Now, you said that the structures for game state and character state are now known -- are you referring to runtime variables? I don't see where those are documented in the wiki, unless [[OBD:ONCC|this sort of page]] covers that information. Is that whole structure just loaded into memory to be worked with at runtime, and do we know where in memory to look for it, or is that where the process became difficult, due to that whole "dynamically allocated" structure that you mentioned? --[[User:Iritscen|Iritscen]] 16:42, 15 February 2008 (CET)


:"And sorry for being something of a jerk yesterday, geyser." Sigh. I just don't understand why you avoid gathering first-hand knowledge.
It would be nice if that would hide when you scroll down and show when scroll up. --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 19:46, 23 August 2015 (CEST)
:Since you have that much free time, why not ''really'' come to terms with the object you want to provide accurate documentation for? Sigh.
 
:I must say you still post and edit a wee bit too compulsively (a hyperactive kind of hyperdedication), and with not enough second sight.
:When you are ready to test this on your phone, try commenting out the "div#mw-panel" modification on [[MediaWiki:Vector.css]], then see how things look on your phone. I'm not sure if this is a mobile-friendliness issue with MediaWiki 1.19, but I'm thinking it's probably the fixed sidebar CSS that's the issue. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 23:16, 23 August 2015 (CEST)
:Sure, the wiki needs regular editors, but you pretty much "jumped on it like an oversexed hippo" (C) Bungie. Hope it'll wear off somehow.
 
:^_^
Couldn't edit the page you linked to so I took that equivalent at my place. Also cleared the browser cache but didn't work. Then I tried Google Chrome while I wasn't even logged in and it looks normal. Whatever the bug(?) is, at least I know now I could use chrome when surfing with a small-screened device. --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 21:27, 24 August 2015 (CEST)
:The disassembled engine is only documented in private databases, and we do not plan to publish those in any foreseeable future.
 
:The "game state" is a huge chunk of data holding various runtime variables and structured objects (other, big chunks of data).
:Ah, well that's good. Sorry, I didn't realize the main Vector.css page wasn't freely editable. But keep in mind that your user Vector.css page stacks on top of the main Vector.css, so when you comment out that CSS on your user page, it simply means that the main Vector.css is still used for mw-panel. You would have to re-declare mw-panel on your user page with its original properties in order to get rid of the anchored sidebar mod. Let me know if you want help with that. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 21:44, 24 August 2015 (CEST)
:In particular, the game state structure holds a dynamically allocated array of character objects, each with a character state.
 
:The character state holds various runtime variables specific to a given character, much more than the static game content.
Yes please. I couldn't figure out the right defaults. --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 22:40, 24 August 2015 (CEST)
:Dynamical allocation means that the space required for the structures is not part of the EXE; it's requested at runtime.
 
:Depending on the history prior to the allocation, the dynamically allocated space may end up at a different location.
:It seems like you only need to change "position" back to "absolute", which is the default, but that's just one of the changes made to the panel in Vector.css, so let me know how it works on your phone. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 23:31, 24 August 2015 (CEST)
:The ONCC has little to do with "character state". In fact, the character state holds a mere link to the current ONCC.
 
::[[User:Geyser|geyser]] 15:43, 16 February 2008 (CET)
Okay thanks. With your code it works now on the phone. --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 08:38, 25 August 2015 (CEST)
----
 
;Chapters and added value
==Red links - weapon pages==
:Flipping through the stuff as I updated the page layout, I was really impressed with the quality of some of the "added value".
There's no talk page for [[Special:WantedPages]] so I will my question here: Why do we need extra pages for Plasma Rifle, Super Ball Gun, Black Adder, Plasma Rifle, Screaming Cannon, Wave Motion Cannon?
:Keep up the good work, dude. I'm sure the chapter pages will grow (just a little bit) to be brilliant appetizers for all the rest.
 
::[[User:Geyser|geyser]] 03:38, 18 February 2008 (CET)
There's this [[Quotes/Weapons]] and IMO there's not more to say about them. Let's delete the red links? --[[User:Paradox-01|paradox-01]] ([[User talk:Paradox-01|talk]]) 20:51, 24 November 2015 (CET)
 
:There's also [[Gameplay]], for some brief weapon tips. Here's the thing, though. [[Mercury Bow]] is already an article. Why should the M Bow get an article and not the other weapons? In fact, I would say that most of the red links highlighted at the top of "Wanted pages" are equally minor. While there may not be a lot to say about them, they deserve at least a short page, I think. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 04:22, 25 November 2015 (CET)
 
==Wrong pseudo code==
 
Hi Iritscen thanks for fixing my wording.  
 
I have just noticed a small error.
 
The following code:
 
for (int i = 0; i < 50; i++)
{
  print("Is this annoying yet?");
  wait(20);
}
 
found here:
[[BSL:Manual#schedule_..._repeat_..._every_...]]
 
is not correct. It is not equivalent to (at least if you change the variables, let say 50 to -1) in
schedule dprint("Is this annoying yet?") repeat 50 every 20;
 
the correct code should be the following:
 
int i = 0;
do
{
  print("Is this annoying yet?");
  wait(20);
  i++;
} while (i != 50);   
 
Why? If the conditional value is -1 or 0 (instead of 50) your code would never run (it would stop at first loop condition validation).  
 
While with:
 
schedule dprint("Is this annoying yet?") repeat -1 every 20;
 
It would run forever. Please consider to edit the page or if you want I can do it. Thanks. [[User:Script 10k|Script 10k]] ([[User talk:Script 10k|talk]]) 19:27, 2 November 2017 (CET)
 
:Oh, good point! Sorry I changed your pseudocode and didn't think about why you used "!=" instead of "<". Before I fix the page, let me ask, shouldn't I just set it back to the "for" loop that you wrote before? Is there a reason why the "do-while" loop above is preferable? --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 22:41, 2 November 2017 (CET)
:: Hi, yes I used the "!=" in the for loop because the reason above. Turns out that it was also wrong! Because it would also fail for this example:
schedule dprint("Is this annoying yet?") repeat 0 every 20;
 
for (int i = 0; i != 0; i++)
{
  print("Is this annoying yet?"); # this would never run with this code because 0 == 0
  wait(20);
}
 
See, it would also never run using my code for 0, so the do while loop is the correct equivalent imo. [[User:Script 10k|Script 10k]] ([[User talk:Script 10k|talk]]) 00:17, 3 November 2017 (CET)
 
Also I am thinking if the following code:
schedule dprint("Is this annoying yet?") repeat 0 every 20;
runs for long enough it could theoretically overflow with counter becoming negative and eventually reach 0 and stop, practically this can't ever happening because even if the counter would increase one 60 times per second it would need (2^31)*2/60/60/24 hours to reach zero (sorry if I'm doing bad the math but I am sure the number of hours it would take is just ridiculous). [[User:Script 10k|Script 10k]] ([[User talk:Script 10k|talk]]) 00:41, 3 November 2017 (CET)
 
:Okay, I implemented your "do-while" loop except that I am starting "i" at 1 instead of 0. I think that's what you actually wanted because it will iterate the correct number of times in all cases. (If it was initialized to 0 then it would stop after one iteration instead of running forever.) But I'm pretty tired right now, so let me know if that is also a mistake. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 05:13, 3 November 2017 (CET)
 
::It wouldn't, note the i++ before the condition check, so the first check would be 1!=0. I will fix that part of the code no problem. [[User:Script 10k|Script 10k]] ([[User talk:Script 10k|talk]]) 11:09, 3 November 2017 (CET)
 
:::Oops, my bad. I shouldn't try to code after midnight. Thanks for the fix. --[[User:Iritscen|Iritscen]] ([[User talk:Iritscen|talk]]) 16:35, 3 November 2017 (CET)
 
== slowmo revisited ==
 
''[In reference to [[User_talk:Iritscen/Archive2#slowmo|this old discussion]].]''<br/>
Hi guys! Sorry for the massive bump. I am finishing my Omega Tournament Level and since I use slowmo in two calls, so I needed to investigate this issue (to find the correct ratio for both platforms). So I asked EdT to run the following BSL scripts (http://script10k.oni2.net/wikifiles/EnvWarehouse_slowmo_test_scripts.7z) on mac and to record it in a 60 FPS video. I did the same thing in windows. In the end I created two videos that compare the two versions of the scripts (one with slowmo 100 and other with slowmo 600) in both operating systems. The results seem to be the same!<br/>
You can watch the comparison here (you need a libx265 player):<br/>
http://script10k.oni2.net/videos/comparison_slowmo_win_mac_1.mp4<br/>
http://script10k.oni2.net/videos/comparison_slowmo_win_mac_2.mp4
 
In case you are interested the original videos can be found here:<br/>
http://script10k.oni2.net/videos/slowmo_os_comparison_original_videos.7z --[[User:Script 10k|Script 10k]] ([[User talk:Script 10k|talk]]) 04:58, 24 August 2019‎
 
[[Category:Userspace]]

Latest revision as of 02:14, 4 May 2022

Talk page archives: #1 (2008); #2 (2009-2014)

Re: Banner

Hey,

haha yes, I'm sorry for that. The banner was located on my installation CD and actually, this is the installer splashscreen: Click --Noneatme

Hehe, I feel somehow cheated that these levels never made it into the final game. The jewel case image you mentioned also gave me cancer and aids so I scanned the case for myself. Here is the back, CD, inner part and front. Also, the german sounds and voice lines are also well made and we have some translated textures like STAIRS at the warehouse level. And I also found some unused textures in some levels. --Noneatme (talk) 17:49, 29 July 2015 (CEST)

Annoying sidebar on smartphone

When I browse the wiki with my Samsung/Android phone the side bar takes a good portion of the screen especially if you try to zoom in.

It would be nice if that would hide when you scroll down and show when scroll up. --paradox-01 (talk) 19:46, 23 August 2015 (CEST)

When you are ready to test this on your phone, try commenting out the "div#mw-panel" modification on MediaWiki:Vector.css, then see how things look on your phone. I'm not sure if this is a mobile-friendliness issue with MediaWiki 1.19, but I'm thinking it's probably the fixed sidebar CSS that's the issue. --Iritscen (talk) 23:16, 23 August 2015 (CEST)

Couldn't edit the page you linked to so I took that equivalent at my place. Also cleared the browser cache but didn't work. Then I tried Google Chrome while I wasn't even logged in and it looks normal. Whatever the bug(?) is, at least I know now I could use chrome when surfing with a small-screened device. --paradox-01 (talk) 21:27, 24 August 2015 (CEST)

Ah, well that's good. Sorry, I didn't realize the main Vector.css page wasn't freely editable. But keep in mind that your user Vector.css page stacks on top of the main Vector.css, so when you comment out that CSS on your user page, it simply means that the main Vector.css is still used for mw-panel. You would have to re-declare mw-panel on your user page with its original properties in order to get rid of the anchored sidebar mod. Let me know if you want help with that. --Iritscen (talk) 21:44, 24 August 2015 (CEST)

Yes please. I couldn't figure out the right defaults. --paradox-01 (talk) 22:40, 24 August 2015 (CEST)

It seems like you only need to change "position" back to "absolute", which is the default, but that's just one of the changes made to the panel in Vector.css, so let me know how it works on your phone. --Iritscen (talk) 23:31, 24 August 2015 (CEST)

Okay thanks. With your code it works now on the phone. --paradox-01 (talk) 08:38, 25 August 2015 (CEST)

Red links - weapon pages

There's no talk page for Special:WantedPages so I will my question here: Why do we need extra pages for Plasma Rifle, Super Ball Gun, Black Adder, Plasma Rifle, Screaming Cannon, Wave Motion Cannon?

There's this Quotes/Weapons and IMO there's not more to say about them. Let's delete the red links? --paradox-01 (talk) 20:51, 24 November 2015 (CET)

There's also Gameplay, for some brief weapon tips. Here's the thing, though. Mercury Bow is already an article. Why should the M Bow get an article and not the other weapons? In fact, I would say that most of the red links highlighted at the top of "Wanted pages" are equally minor. While there may not be a lot to say about them, they deserve at least a short page, I think. --Iritscen (talk) 04:22, 25 November 2015 (CET)

Wrong pseudo code

Hi Iritscen thanks for fixing my wording.

I have just noticed a small error.

The following code:

for (int i = 0; i < 50; i++)
{
  print("Is this annoying yet?");
  wait(20);
}

found here: BSL:Manual#schedule_..._repeat_..._every_...

is not correct. It is not equivalent to (at least if you change the variables, let say 50 to -1) in

schedule dprint("Is this annoying yet?") repeat 50 every 20;

the correct code should be the following:

int i = 0;
do
{
  print("Is this annoying yet?");
  wait(20);
  i++;
} while (i != 50);     

Why? If the conditional value is -1 or 0 (instead of 50) your code would never run (it would stop at first loop condition validation).

While with:

schedule dprint("Is this annoying yet?") repeat -1 every 20;

It would run forever. Please consider to edit the page or if you want I can do it. Thanks. Script 10k (talk) 19:27, 2 November 2017 (CET)

Oh, good point! Sorry I changed your pseudocode and didn't think about why you used "!=" instead of "<". Before I fix the page, let me ask, shouldn't I just set it back to the "for" loop that you wrote before? Is there a reason why the "do-while" loop above is preferable? --Iritscen (talk) 22:41, 2 November 2017 (CET)
Hi, yes I used the "!=" in the for loop because the reason above. Turns out that it was also wrong! Because it would also fail for this example:
schedule dprint("Is this annoying yet?") repeat 0 every 20;
for (int i = 0; i != 0; i++)
{
  print("Is this annoying yet?"); # this would never run with this code because 0 == 0
  wait(20);
}

See, it would also never run using my code for 0, so the do while loop is the correct equivalent imo. Script 10k (talk) 00:17, 3 November 2017 (CET)

Also I am thinking if the following code:

schedule dprint("Is this annoying yet?") repeat 0 every 20;

runs for long enough it could theoretically overflow with counter becoming negative and eventually reach 0 and stop, practically this can't ever happening because even if the counter would increase one 60 times per second it would need (2^31)*2/60/60/24 hours to reach zero (sorry if I'm doing bad the math but I am sure the number of hours it would take is just ridiculous). Script 10k (talk) 00:41, 3 November 2017 (CET)

Okay, I implemented your "do-while" loop except that I am starting "i" at 1 instead of 0. I think that's what you actually wanted because it will iterate the correct number of times in all cases. (If it was initialized to 0 then it would stop after one iteration instead of running forever.) But I'm pretty tired right now, so let me know if that is also a mistake. --Iritscen (talk) 05:13, 3 November 2017 (CET)
It wouldn't, note the i++ before the condition check, so the first check would be 1!=0. I will fix that part of the code no problem. Script 10k (talk) 11:09, 3 November 2017 (CET)
Oops, my bad. I shouldn't try to code after midnight. Thanks for the fix. --Iritscen (talk) 16:35, 3 November 2017 (CET)

slowmo revisited

[In reference to this old discussion.]
Hi guys! Sorry for the massive bump. I am finishing my Omega Tournament Level and since I use slowmo in two calls, so I needed to investigate this issue (to find the correct ratio for both platforms). So I asked EdT to run the following BSL scripts (http://script10k.oni2.net/wikifiles/EnvWarehouse_slowmo_test_scripts.7z) on mac and to record it in a 60 FPS video. I did the same thing in windows. In the end I created two videos that compare the two versions of the scripts (one with slowmo 100 and other with slowmo 600) in both operating systems. The results seem to be the same!
You can watch the comparison here (you need a libx265 player):
http://script10k.oni2.net/videos/comparison_slowmo_win_mac_1.mp4
http://script10k.oni2.net/videos/comparison_slowmo_win_mac_2.mp4

In case you are interested the original videos can be found here:
http://script10k.oni2.net/videos/slowmo_os_comparison_original_videos.7z --Script 10k (talk) 04:58, 24 August 2019‎