Talk:Pikmin (GC)

From Dolphin Emulator Wiki
Jump to: navigation, search

Anonymous tests

There's two anonymous tests on the page for 4.0-7714 and an entry for it in version compatibility. However no such revision exists on the Dolphin site if you click the link. I even went back in the master download list and found the gap where it's supposed to be, and it's not there. - Xerxes (talk) 11:48, 4 January 2018 (CET)

Nice find, I vote to remove them, their testing results are already sketchy. I have a crazy thought, thinking of creating a script with pretty exhaustive list of actually existing revisions and ship into template:Testing/entry, they will run through testing entries for bogus Dolphin revisions. I can feel there's massive performance hit coming if we do that. We will catch every bogus testing entries that way, then revert the changes to template:Testing/entry if we still feel scary about it. Lucario (talk) 02:06, 7 January 2018 (CET)
I went ahead and removed them. It may be possible to do what you're suggesting, but I highly doubt it's possible from within the wiki. There's a 200 loop limit on every page which we've been carefully skirting around. I was testing sorting algorithms on my user page for something similar (sorting test entries/dates in infobox maybe) but after around 13-15 elements in the list, I would hit the maximum loop counter. Now imagine some kind of loop going through every test revision; not going to happen. With outside scripting though, sure. - Xerxes (talk) 08:36, 7 January 2018 (CET)
Actually, I cannot think of good script that will do the job but it'd be badass if we can think of one. Lucario (talk) 09:52, 7 January 2018 (CET)
If we had an index of some sort of all valid builds, it could probably be done. Something that compares the revision number against the index to see if it's in there or not; if it is it returns a success, if not a fail. But that would need to hook into buildbot probably in order to keep the index up to date. - Xerxes (talk) 10:13, 7 January 2018 (CET)
Actually maybe we could just generate an index from the git repo? I've never used git so I don't know if/how it stores the revision numbers in the format Dolphin uses, or how it handles the old SVN builds. I'll try to do some research and tinkering around with it this week, it sounds fun. - Xerxes (talk) 12:15, 7 January 2018 (CET)
I'm making hypothetical what it'll mean when we actually got full list of valid revisions off from somewhere, I've created batch file that will output count from 1 to 9000
for /l %%i in (1,1,9000) do (echo %%i>>lol.txt)
then used Notepad++'s regex to replace linebreaks to add "4.0-" and then add Wiki's regex args, apparently regex can only look for ~3500 matches each, and you're looking at ~3 seconds per regex. It'd be unimaginable what it'll mean to every test entry there are on this site. Lucario (talk) 03:34, 8 January 2018 (CET)
I was thinking not to use the wiki's regex tools or other extensions at all. Have the testing entry template interact with javascript and have the javascript contain the hard stuff. Maybe even do it in bash and input git commands server side so you can directly do something like git show 4.0-7714, and depending on the output of git give a success/fail, then we don't have to worry about algorithms at all and can make git handle it. If you do git clone dolphin'sgithublink, cd dolphin, then git describe you actually get the version number back out like "5.0-6152-gdc08b73db1", but git really doesn't like referring to version numbers because of its decentralization. I couldn't even figure out how to get that style of formatting output for older builds to make an index, or how to reference builds in master by the build number (it thinks that "5.0-6152" is ambiguous, and wants you to give it some of the sha-1 hash). - Xerxes (talk) 09:09, 8 January 2018 (CET)
Can it be done within our limited privileges? Does it need higher authorities to do it? Also I've managed to get list of all valid 4.0 and 5.0 builds for Windows only the list of valid builds for 3.0, etc., and other OS can be be acquired but I'd hold them for later. Everything will work out once I know how to receive exhaustive list of revisions each appended with wiki page title. Is there any way to make Template:Testing/entry to output revision text to another page? It's the last puzzle piece I need. Lucario (talk) 01:49, 12 January 2018 (CET)
I don't think you can "output" anything within MediaWiki. Each page is treated as its own independent script, if you want to think about it like that. The contents of a page are entirely based on the wiki markup of that page. You can reference other pages' contents, but only either through transclusion or within the limitations of the wiki's extensions (for example, DPL). The way I was interacting with another page's contents with Template:Page Status was by transcluding the entire page as a variable like {{#vardefine:page|{{:Some Page}}}}, and then using regex on that, but it's pretty messy, and it's inconsistent where trying to do a regex which extracts data will cause terrible bugs that I couldn't explain. So I really don't recommend relying on that method. You can't use categories in this situation because there's too many possibilities, you'd generate thousands of them. So I really don't know how to do that. As for edit privileges I think you can still create .js javascript pages as a regular user, but I've never tried. The stuff in bash would definitely require being run directly on the server. - Xerxes (talk) 03:14, 12 January 2018 (CET)
I have zero knowledge with javascript/bash stuff and the likes, sorry. You seem more knowledgeable than I do. I can provide you complete list of valid 3.0 to 5.0 revision builds for Windows (and others on request), or I could give you explanation how I accomplish that if you think you could make use of them. Lucario (talk) 05:14, 12 January 2018 (CET)
Neither do I, really. I thought this was a good learning opportunity though. - Xerxes (talk) 11:52, 12 January 2018 (CET)
Today I learned about &action=raw. So, lot of scripts later... Below only cover Wii games. Lucario (talk) 05:38, 13 January 2018 (CET)

Would you be interested in sharing how you did it? - Xerxes (talk) 17:53, 14 January 2018 (CET)

Wii

<dpl>category=Wii games
titlelt=a</dpl>
<dpl>category=Wii games
titlegt=a
titlelt=b</dpl>
<dpl>category=Wii games
titlegt=b
titlelt=c</dpl>
<dpl>category=Wii games
titlegt=c
titlelt=d</dpl>
<dpl>category=Wii games
titlegt=d
titlelt=e</dpl>
<dpl>category=Wii games
titlegt=e
titlelt=f</dpl>
<dpl>category=Wii games
titlegt=f
titlelt=g</dpl>
<dpl>category=Wii games
titlegt=g
titlelt=h</dpl>
<dpl>category=Wii games
titlegt=h
titlelt=i</dpl>
<dpl>category=Wii games
titlegt=i
titlelt=j</dpl>
<dpl>category=Wii games
titlegt=j
titlelt=k</dpl>
<dpl>category=Wii games
titlegt=k
titlelt=l</dpl>
<dpl>category=Wii games
titlegt=l
titlelt=m</dpl>
<dpl>category=Wii games
titlegt=m
titlelt=n</dpl>
<dpl>category=Wii games
titlegt=n
titlelt=o</dpl>
<dpl>category=Wii games
titlegt=o
titlelt=p</dpl>
<dpl>category=Wii games
titlegt=p
titlelt=q</dpl>
<dpl>category=Wii games
titlegt=q
titlelt=r</dpl>
<dpl>category=Wii games
titlegt=r
titlelt=s</dpl>
<dpl>category=Wii games
titlegt=s
titlelt=t</dpl>
<dpl>category=Wii games
titlegt=t
titlelt=u</dpl>
<dpl>category=Wii games
titlegt=u
titlelt=v</dpl>
<dpl>category=Wii games
titlegt=v
titlelt=w</dpl>
<dpl>category=Wii games
titlegt=w
titlelt=x</dpl>
<dpl>category=Wii games
titlegt=x
titlelt=y</dpl>
<dpl>category=Wii games
titlegt=y
titlelt=z</dpl>
<dpl>category=Wii games
titlegt=z</dpl>

GameCube

<dpl>category=GameCube games
titlelt=a</dpl>
<dpl>category=GameCube games
titlegt=a
titlelt=b</dpl>
<dpl>category=GameCube games
titlegt=b
titlelt=c</dpl>
<dpl>category=GameCube games
titlegt=c
titlelt=d</dpl>
<dpl>category=GameCube games
titlegt=d
titlelt=e</dpl>
<dpl>category=GameCube games
titlegt=e
titlelt=f</dpl>
<dpl>category=GameCube games
titlegt=f
titlelt=g</dpl>
<dpl>category=GameCube games
titlegt=g
titlelt=h</dpl>
<dpl>category=GameCube games
titlegt=h
titlelt=i</dpl>
<dpl>category=GameCube games
titlegt=i
titlelt=j</dpl>
<dpl>category=GameCube games
titlegt=j
titlelt=k</dpl>
<dpl>category=GameCube games
titlegt=k
titlelt=l</dpl>
<dpl>category=GameCube games
titlegt=l
titlelt=m</dpl>
<dpl>category=GameCube games
titlegt=m
titlelt=n</dpl>
<dpl>category=GameCube games
titlegt=n
titlelt=o</dpl>
<dpl>category=GameCube games
titlegt=o
titlelt=p</dpl>
<dpl>category=GameCube games
titlegt=p
titlelt=q</dpl>
<dpl>category=GameCube games
titlegt=q
titlelt=r</dpl>
<dpl>category=GameCube games
titlegt=r
titlelt=s</dpl>
<dpl>category=GameCube games
titlegt=s
titlelt=t</dpl>
<dpl>category=GameCube games
titlegt=t
titlelt=u</dpl>
<dpl>category=GameCube games
titlegt=u
titlelt=v</dpl>
<dpl>category=GameCube games
titlegt=v
titlelt=w</dpl>
<dpl>category=GameCube games
titlegt=w
titlelt=x</dpl>
<dpl>category=GameCube games
titlegt=x
titlelt=y</dpl>
<dpl>category=GameCube games
titlegt=y
titlelt=z</dpl>
<dpl>category=GameCube games
titlegt=z</dpl>
<dpl>category=Triforce games</dpl>

Virtual Console

<dpl>category=Virtual Console games
titlelt=a</dpl>
<dpl>category=Virtual Console games
titlegt=a
titlelt=b</dpl>
<dpl>category=Virtual Console games
titlegt=b
titlelt=c</dpl>
<dpl>category=Virtual Console games
titlegt=c
titlelt=d</dpl>
<dpl>category=Virtual Console games
titlegt=d
titlelt=e</dpl>
<dpl>category=Virtual Console games
titlegt=e
titlelt=f</dpl>
<dpl>category=Virtual Console games
titlegt=f
titlelt=g</dpl>
<dpl>category=Virtual Console games
titlegt=g
titlelt=h</dpl>
<dpl>category=Virtual Console games
titlegt=h
titlelt=i</dpl>
<dpl>category=Virtual Console games
titlegt=i
titlelt=j</dpl>
<dpl>category=Virtual Console games
titlegt=j
titlelt=k</dpl>
<dpl>category=Virtual Console games
titlegt=k
titlelt=l</dpl>
<dpl>category=Virtual Console games
titlegt=l
titlelt=m</dpl>
<dpl>category=Virtual Console games
titlegt=m
titlelt=n</dpl>
<dpl>category=Virtual Console games
titlegt=n
titlelt=o</dpl>
<dpl>category=Virtual Console games
titlegt=o
titlelt=p</dpl>
<dpl>category=Virtual Console games
titlegt=p
titlelt=q</dpl>
<dpl>category=Virtual Console games
titlegt=q
titlelt=r</dpl>
<dpl>category=Virtual Console games
titlegt=r
titlelt=s</dpl>
<dpl>category=Virtual Console games
titlegt=s
titlelt=t</dpl>
<dpl>category=Virtual Console games
titlegt=t
titlelt=u</dpl>
<dpl>category=Virtual Console games
titlegt=u
titlelt=v</dpl>
<dpl>category=Virtual Console games
titlegt=v
titlelt=w</dpl>
<dpl>category=Virtual Console games
titlegt=w
titlelt=x</dpl>
<dpl>category=Virtual Console games
titlegt=x
titlelt=y</dpl>
<dpl>category=Virtual Console games
titlegt=y
titlelt=z</dpl>
<dpl>category=Virtual Console games
titlegt=z</dpl>

WiiWare

<dpl>category=WiiWare games
titlelt=a</dpl>
<dpl>category=WiiWare games
titlegt=a
titlelt=b</dpl>
<dpl>category=WiiWare games
titlegt=b
titlelt=c</dpl>
<dpl>category=WiiWare games
titlegt=c
titlelt=d</dpl>
<dpl>category=WiiWare games
titlegt=d
titlelt=e</dpl>
<dpl>category=WiiWare games
titlegt=e
titlelt=f</dpl>
<dpl>category=WiiWare games
titlegt=f
titlelt=g</dpl>
<dpl>category=WiiWare games
titlegt=g
titlelt=h</dpl>
<dpl>category=WiiWare games
titlegt=h
titlelt=i</dpl>
<dpl>category=WiiWare games
titlegt=i
titlelt=j</dpl>
<dpl>category=WiiWare games
titlegt=j
titlelt=k</dpl>
<dpl>category=WiiWare games
titlegt=k
titlelt=l</dpl>
<dpl>category=WiiWare games
titlegt=l
titlelt=m</dpl>
<dpl>category=WiiWare games
titlegt=m
titlelt=n</dpl>
<dpl>category=WiiWare games
titlegt=n
titlelt=o</dpl>
<dpl>category=WiiWare games
titlegt=o
titlelt=p</dpl>
<dpl>category=WiiWare games
titlegt=p
titlelt=q</dpl>
<dpl>category=WiiWare games
titlegt=q
titlelt=r</dpl>
<dpl>category=WiiWare games
titlegt=r
titlelt=s</dpl>
<dpl>category=WiiWare games
titlegt=s
titlelt=t</dpl>
<dpl>category=WiiWare games
titlegt=t
titlelt=u</dpl>
<dpl>category=WiiWare games
titlegt=u
titlelt=v</dpl>
<dpl>category=WiiWare games
titlegt=v
titlelt=w</dpl>
<dpl>category=WiiWare games
titlegt=w
titlelt=x</dpl>
<dpl>category=WiiWare games
titlegt=x
titlelt=y</dpl>
<dpl>category=WiiWare games
titlegt=y
titlelt=z</dpl>
<dpl>category=WiiWare games
titlegt=z</dpl>

Wii Channel

<dpl>category=Wii Channels
titlelt=a</dpl>
<dpl>category=Wii Channels
titlegt=a
titlelt=b</dpl>
<dpl>category=Wii Channels
titlegt=b
titlelt=c</dpl>
<dpl>category=Wii Channels
titlegt=c
titlelt=d</dpl>
<dpl>category=Wii Channels
titlegt=d
titlelt=e</dpl>
<dpl>category=Wii Channels
titlegt=e
titlelt=f</dpl>
<dpl>category=Wii Channels
titlegt=f
titlelt=g</dpl>
<dpl>category=Wii Channels
titlegt=g
titlelt=h</dpl>
<dpl>category=Wii Channels
titlegt=h
titlelt=i</dpl>
<dpl>category=Wii Channels
titlegt=i
titlelt=j</dpl>
<dpl>category=Wii Channels
titlegt=j
titlelt=k</dpl>
<dpl>category=Wii Channels
titlegt=k
titlelt=l</dpl>
<dpl>category=Wii Channels
titlegt=l
titlelt=m</dpl>
<dpl>category=Wii Channels
titlegt=m
titlelt=n</dpl>
<dpl>category=Wii Channels
titlegt=n
titlelt=o</dpl>
<dpl>category=Wii Channels
titlegt=o
titlelt=p</dpl>
<dpl>category=Wii Channels
titlegt=p
titlelt=q</dpl>
<dpl>category=Wii Channels
titlegt=q
titlelt=r</dpl>
<dpl>category=Wii Channels
titlegt=r
titlelt=s</dpl>
<dpl>category=Wii Channels
titlegt=s
titlelt=t</dpl>
<dpl>category=Wii Channels
titlegt=t
titlelt=u</dpl>
<dpl>category=Wii Channels
titlegt=u
titlelt=v</dpl>
<dpl>category=Wii Channels
titlegt=v
titlelt=w</dpl>
<dpl>category=Wii Channels
titlegt=w
titlelt=x</dpl>
<dpl>category=Wii Channels
titlegt=x
titlelt=y</dpl>
<dpl>category=Wii Channels
titlegt=y
titlelt=z</dpl>
<dpl>category=Wii Channels
titlegt=z</dpl>
1. Remove PRE tags above and then preview it.
1. Copy/paste to notepad++, remove lines to line-per-title only, then remove leading spaces.
2. Select all, Plugins > MIME Tools > URL Encode.
3. Regex find'n'replace %0D%0A with &action=raw\r\nhttps://wiki.dolphin-emu.org/index.php?title=, fix first and end of line
4. Replace \+ with %2B, then ' with %27
5. Remove "Category" and "GlobalProblems" urls
6. Save as list.txt
7. Download & extract wget-1.19.2-win64.zip from https://eternallybored.org/misc/wget/
8. Copy/paste below into notepad++ then save as .bat file.

@echo off
wget -i %1 -O stitch.txt >nul 2>log.txt
pause

9. Drag'n'drop list.txt file onto .bat file and wait for it to finish.
10. Edit stitch.txt file and replace \{\{Infobox VG with \r\n\r\nURLX\r\n{{Infobox VG then save.
11. Back up stitch.txt.
12. Download JREPL from https://www.dostips.com/forum/viewtopic.php?t=6044
13. Copy/paste below into notepad++ then save as .bat file.

jrepl "URLX" "stdin.AtEndOfStream?$0:stdin.ReadLine()" /j /f "stitch.txt" <"list.txt" /o -

14. Launch it
15. Edit stitch.txt and check if URL is in-sync with wiki entry in near end of file. In case of out-of-sync, fix by restoring stitch.txt then do fix then repeat step14.
16. Replace &action=raw with &action=edit
16. Hooray!
1. Copy/paste below into notepad++ then save as .bat file.

@echo off
for /l %%i in (749,1,936) do (echo https://dl.dolphin-emu.org/builds/dolphin-master-3.0-%%i-x64.7z>>"Guess links generated.txt")
for /l %%i in (1,1,2450) do (echo https://dl.dolphin-emu.org/builds/dolphin-master-3.5-%%i-x64.7z>>"Guess links generated.txt")
for /l %%i in (1,1,9507) do (echo https://dl.dolphin-emu.org/builds/dolphin-master-4.0-%%i-x64.7z>>"Guess links generated.txt")
for /l %%i in (1,1,6162) do (echo https://dl.dolphin-emu.org/builds/dolphin-master-5.0-%%i-x64.7z>>"Guess links generated.txt")

2. Launch it
3. Copy/paste below into notepad++ then save as .bat file.

@echo off
wget --spider -i %1 >nul 2>"complete windows.txt"
pause

4. Drag'n'drop "Guess links generated.txt" onto .bat file and wait for it to finish.
5. Edit and reduce to rev+OK / rev+broken then filter out those rev+broken, then reduce to revs only, overwrite or save.
1. Edit and reduce stitch.txt to url/rev-per-line, then save as new, don't overwrite.
2. Reduce to rev-per-line.
3. Find'n'replace -(.?.?)\r\n with -0$1\r\n, then -(.?.?.?)\r\n with -0$1\r\n
4. Edit > Line Operations > Sort Lines Lexicographically Ascending
5. Repeatedly find'n'replace -0 with - until nothing's found.
6. Find'n'replace ^(.+?)\R(\1\R?)+ with \1\r\n , save as Dumber.txt.
7. Copy/paste below into notepad++ then save as .bat file.

@echo off
findstr /v /g:"complete windows.txt" "Dumber.txt"
pause

8. Launch it
9. Hooray! Track down what title has this rev using search against new .txt you saved in step1.
If something's off that you couldn't figure out, lemme know. Lucario (talk) 00:09, 15 January 2018 (CET)
It's really unfortunate that jrepl desyncs like that. That's where I got stuck at before I went to bed. On the whole though this idea is completely insane, I love it. Just scrape every single game page on the wiki and use notepad++. Genius. - Xerxes (talk) 15:06, 15 January 2018 (CET)
I know right... I can't figure out how the fuck can I tell wget to append url to each raw file it's downloading. This is only the best way we can have. Well, it's somewhat got advantages, like desync would mean something's off on this Wiki, like it had me noticed the errors in File:Pub Darts.jpg and File:Sandy Beach.jpg you've uploaded recently. Also don't forget the step 5 telling that you gotta remove category and globalproblem urls which they got slid in. I've re-downloaded raw Wiki entries just now and checked if every's okay, well there are two errors: one failed to download and one was just my mistake in list.txt, after those got sorted out, the url for YouTube's entry at the end of file is in-sync.
I agree, it's awesome that there's a single text file that'd equivalent to the whole Wiki thing. Lucario (talk) 08:28, 16 January 2018 (CET)

Loads of invalid build numbers incoming!

Lucario (talk) 11:58, 1 August 2018 (CEST)