Hacking WiiFlow - an open source GUI USB-Loader

luck_gh0st

Well-Known Member
Member
Joined
Feb 21, 2009
Messages
174
Trophies
0
XP
132
Country
@[member='thevoiceover'], sorry bud I don't use devo, everything I own works perfect with DM.. if I owned any audio streaming games than yea I would use it, that or if I still had my copy of PSO Episode I&II plus. Sadly I never kept my copy cuz I'm an idiot.

@[member='fix94'] nice touch with r666 finally got around to seeing it in action, nice and eerie lol. I don't know if this is a bug or not but does anyone else have issues with DUTag not updating. I noticed it for a while now and I'm certain I have it set up correctly since it used to work for me many many revisions ago. I'm not sure if DUTag itself having issues but is there anything I can do to help troubleshoot the issue? Would providing a wifi or SD log help at all?

I was going to try devolution and let you know about the SD card issue (even updated the devolution dol and the loader.bin) but Gamecube games seem to be broken for me. Devolution nor Dios-Mios seem to be working through the WiiFlow, however, Devolution from the HB channel works as works fine as does FIX94's Dios-Mios booter.... Hmmmmm... now that I look at it, the WiiFlow GC options settings is only 2 pages long now... NMM, No disc patch are not there anymore.. I guess that I didn't notice it. Also now when I Exit to Neek2o, I get the flashing blue light and no code dump. I had to try it. Running r672 compiled with the built in terminal in Coda 2.
I've been playing PSO I&II and Beyond Good & Evil today with Dios-MIOS and self-compiled r672, so I know for sure that GC launching is not broken. If you've added any GC games to your USB make sure while in GC view to manually reload cache. Other than that all I can say is try to re-compile your dol and re-launch your games.
Ok you're right.. it looks like somehow the line in my wiiflow.ini got messed up = dml_r52+= got set to no ....??? ok DIOS-MIOS is back and running again!
Now Devolution Blackscreens through the WiiFlow with Starfox Assault ( and that's even WITH the SD Card in) It used to work.
 

thevoiceover

Well-Known Member
Member
Joined
Sep 23, 2006
Messages
136
Trophies
0
Age
46
XP
311
Country
United States
@[member='thevoiceover'], sorry bud I don't use devo, everything I own works perfect with DM.. if I owned any audio streaming games than yea I would use it, that or if I still had my copy of PSO Episode I&II plus. Sadly I never kept my copy cuz I'm an idiot.

I've been playing PSO I&II and Beyond Good & Evil today with Dios-MIOS and self-compiled r672, so I know for sure that GC launching is not broken. If you've added any GC games to your USB make sure while in GC view to manually reload cache. Other than that all I can say is try to re-compile your dol and re-launch your games.

Bummer, Well maybe you will find it around again and pick it up for a good price ;) I did try to reload cache in GC mode and it didn't do the trick.. I am pretty sure this is some sort of "static" issue going on (even though I can't see it in how it handles loader.bin.) I am sure someone more trained could spot this right away as I am pretty sure it is a VALID bug as I tried it on another Wii I have and got the same thing.. I am hoping for more escalation as it would be nice to move to a one loader solution for DM and Devoultion.
 

AbdallahTerro

da KiNG
Member
Joined
Jan 14, 2012
Messages
6,052
Trophies
0
Location
Ideas factory :)
Website
ccabz.wordpress.com
XP
3,021
Country
in 672 the wait logo becomes weird and corrupted!
was looking just fine in older revisions.
"Exit to" still working as it should



Edit: I found out while testing Wiiware and emunands during the past 3 days that some wiiware work exclusively on either Pal or NTSc nands (ex Bomberman Blast & You me and the cube)
this is not affected bu neek2o version used, video modes forcing, region switching, patching and IOS selection!!

So this might be the tip of the iceberg of a deeper issue.
Given that all these games run just fine with other loaders by forcing video mode, this is for sure a Wiiflow/neek2o problem with forcing video modes correctly.
So this prblem has to addressed and this video mode stuff looked at one more time.
Have a nice day
:)
 

bostonBC

Well-Known Member
Member
Joined
Aug 17, 2011
Messages
1,292
Trophies
1
XP
1,353
Country
United States
Am playing around with plugins for the first time in a while. I have my roms segregated into folders like this:

usb:\fceugz\roms\Other versions\
usb:\fceugz\roms\Other versions\2 Player Games
usb:\fceugz\roms\Other versions\Different Funny Versions of Nintendo Games
usb:\fceugz\roms\Other versions\Non USA Versions
usb:\fceugz\roms\Other versions\Unlicensed
usb:\fceugz\roms\Other versions\Unlicensed Nintendo Game Demo's
usb:\fceugz\roms\Other versions\Unlicensed Nintendo Games
usb:\fceugz\roms\USA Retail\
usb:\fceugz\roms\USA Retail\0-100000000
usb:\fceugz\roms\USA Retail\A
usb:\fceugz\roms\USA Retail\B
...
usb:\fceugz\roms\USA Retail\Z

It doesn't look like Wiiflow is scanning all the subdirectories for games but just the first 1. If I set the plugin to point to usb:\fceugz\roms\USA Retail\ instead of usb:\fceugz\roms\ it scans the 0-100000, A, B etc folders and builds the list of those games.

If there a way to force it to scan deeper so I can keep my logical folder structure?

TIA
 

spacepimp

Pathalogical Fantasist
Member
Joined
Feb 20, 2012
Messages
457
Trophies
0
Location
Off the Island
XP
412
Country
Just wanted to say thanks to Fix and Maxternal for the new 'B' button implementation.

EDIT: and also particular thanks to mr fix94 for wiiflow's general loveliness.
 

luck_gh0st

Well-Known Member
Member
Joined
Feb 21, 2009
Messages
174
Trophies
0
XP
132
Country
Devolution doesn't seem to be working for me through the WiiFlow. I even re ripped the game with cleanrip. and renamed it to "game.iso" and put it in a sub folder in the USB1/games folder. I have loader.bin in the USB2/wiiflow folder. (where it's always worked from before)
So I went and tested cfg-loader and usbloader-gx and they both boot the game fine when set to Devolution. I did update the devolution.dol as well as the loader.bin from the source
Dios-Mios is working great but devolution just boots to a black screen with no HD activity needing a hard reset.
Is loader.bin only required to be in the /wiiflow folder? Or do I need to move or copy it somewhere else?
It was working before with this setup....
 

fledge68

Well-Known Member
Member
Joined
Jan 30, 2012
Messages
2,391
Trophies
2
XP
4,577
Country
United States
Just wanted to say thanks to Fix and Maxternal for the new 'B' button implementation.

EDIT: and also particular thanks to mr fix94 for wiiflow's general loveliness.
ummm .... hello? maybe you should look at the wiiflow source log a little better. I believe it says Fledge68 for r668. Not to take anything away from Fix who yes is awesome. But he didn't help me in any way - i figured it out on my own believe it or not. :ha:
 
  • Like
Reactions: 8 people

thevoiceover

Well-Known Member
Member
Joined
Sep 23, 2006
Messages
136
Trophies
0
Age
46
XP
311
Country
United States
Devolution doesn't seem to be working for me through the WiiFlow. I even re ripped the game with cleanrip. and renamed it to "game.iso" and put it in a sub folder in the USB1/games folder. I have loader.bin in the USB2/wiiflow folder. (where it's always worked from before)
So I went and tested cfg-loader and usbloader-gx and they both boot the game fine when set to Devolution. I did update the devolution.dol as well as the loader.bin from the source
Dios-Mios is working great but devolution just boots to a black screen with no HD activity needing a hard reset.
Is loader.bin only required to be in the /wiiflow folder? Or do I need to move or copy it somewhere else?
It was working before with this setup....


I have similar problem except it only works for me when loader.bin is on the SD. I'm trying to get it to work without needing an SD. I assumed since it still works on configusb, it would work on Wiiflow - but it doesn't for me.

I get this log from wifigecko app when trying to launch
Loading items of dml view from usb1

Loading files containing boot.bin|.iso in usb1:/games
Database file: usb1:/wiiflow/cache/lists/usb1_games.db
update_games=0 update_homebrew=0 update_dml=0, update_emu=0
usb1:/games
Games found: 5
Wait Message Thread: End
Coverflow started!
Coverflow stopped!
Exit WiiFlow called
Wait Message Thread: Start
Delay: 7, Images: 8
Launching game G5NEAF
Read Devolution Loader: "usb1:/wiiflow/loader.bin"
Devolution Engine r128 2012/08/22 00:10:08
Copyright © 2012 tueidj

Read ISO File: "usb1:/games/Namco 50th [G5NEAF]/game.iso"
MEM1_freesize(): 5033968
MEM2_freesize(): 18496928
SHND: Stopping sound thread
SHND: Stopped sound thread
Cleaning up video...
Wait Message Thread: End
Cleanup Coverflow

This is the same log I get when SD is in the drive and it works..

This is how CFG Loader (which works) currently handles loader for devo in gc.c (credits to author or cfg-load whom looks like softwiiv2)
// Devolution
static gconfig *DEVO_CONFIG = (gconfig*)0x80000020;

void DEVO_SetOptions(const char *path, u8 NMM)
{
struct stat st;
char full_path[256];
int data_fd;

stat(path, &st);
u8 *lowmem = (u8*)0x80000000;
FILE *iso_file = fopen(path, "rb");
if(iso_file)
{
printf("path=%s, iso found !!\n",path);
}
fread(lowmem, 1, 32, iso_file);
fclose(iso_file);

// fill out the Devolution config struct
memset(DEVO_CONFIG, 0, sizeof(*DEVO_CONFIG));
DEVO_CONFIG->signature = 0x3EF9DB23;
DEVO_CONFIG->version = 0x00000110;
DEVO_CONFIG->device_signature = st.st_dev;
DEVO_CONFIG->disc1_cluster = st.st_ino;

// For 2nd ios file
struct stat st2;
char disc2path[256];
strcpy(disc2path, path);
char *posz = (char *)NULL;
posz = strstr(disc2path, "game.iso");
if(posz != NULL)
strncpy(posz, "gam2.iso", 8);

iso_file = fopen(disc2path, "rb");
if(iso_file)
{
printf("path=%s, iso found !!\n",disc2path);
//sleep(5);
stat(disc2path, &st2);
fread(lowmem, 1, 32, iso_file);
fclose(iso_file);
DEVO_CONFIG->disc2_cluster = st2.st_ino;
}

// make sure these directories exist, they are required for Devolution to function correctly
snprintf(full_path, sizeof(full_path), "usb:/apps");
fsop_MakeFolder(full_path);
snprintf(full_path, sizeof(full_path), "usb:/apps/gc_devo");
fsop_MakeFolder(full_path);

// find or create a 16MB memcard file for emulation
// this file can be located anywhere since it's passed by cluster, not name
// it must be at least 16MB though
snprintf(full_path, sizeof(full_path), "%s/memcard.bin", USBLOADER_PATH);

// check if file doesn't exist or is less than 16MB
if(stat(full_path, &st) == -1 || st.st_size < 16device_signature = st.st_dev;
DEVO_CONFIG->disc1_cluster = st.st_ino;

// If 2nd iso file tell Devo about it
strcpy(iso2path, isopath);
char *ptz = (char *)NULL;
ptz = strstr(iso2path, "game.iso");
if(ptz != NULL)
strncpy(ptz, "gam1.iso", 8);

f = fopen(iso2path, "rb");
if(f)
{
gprintf("Found 2nd iso file for multi DVD game: \"%s\"\n", iso2path);
stat(iso2path, &st);
DEVO_CONFIG->disc2_cluster = st.st_ino;
fclose(f);
}

// make sure these directories exist, they are required for Devolution to function correctly
char full_path[256];
snprintf(full_path, sizeof(full_path), "%s:/apps", partition);
fsop_MakeFolder(full_path);
snprintf(full_path, sizeof(full_path), "%s:/apps/gc_devo", partition);
fsop_MakeFolder(full_path);

if(memcard_emu)
{
// find or create a 16MB memcard file for emulation
// this file can be located anywhere since it's passed by cluster, not name
// it must be at least 16MB though
if(gameID[3] == 'J') //Japanese Memory Card
snprintf(full_path, sizeof(full_path), "%s:/apps/gc_devo/memcard_jap.bin", partition);
else
snprintf(full_path, sizeof(full_path), "%s:/apps/gc_devo/memcard.bin", partition);

// check if file doesn't exist or is less than 16MB
if(stat(full_path, &st) == -1 || st.st_size < 16
 
  • Like
Reactions: 1 person

luck_gh0st

Well-Known Member
Member
Joined
Feb 21, 2009
Messages
174
Trophies
0
XP
132
Country
Devolution doesn't seem to be working for me through the WiiFlow. I even re ripped the game with cleanrip. and renamed it to "game.iso" and put it in a sub folder in the USB1/games folder. I have loader.bin in the USB2/wiiflow folder. (where it's always worked from before)
So I went and tested cfg-loader and usbloader-gx and they both boot the game fine when set to Devolution. I did update the devolution.dol as well as the loader.bin from the source
Dios-Mios is working great but devolution just boots to a black screen with no HD activity needing a hard reset.
Is loader.bin only required to be in the /wiiflow folder? Or do I need to move or copy it somewhere else?
It was working before with this setup....


I have similar problem except it only works for me when loader.bin is on the SD. I'm trying to get it to work without needing an SD. I assumed since it still works on configusb, it would work on Wiiflow - but it doesn't for me.

I get this log from wifigecko app when trying to launch
Loading items of dml view from usb1

Loading files containing boot.bin|.iso in usb1:/games
Database file: usb1:/wiiflow/cache/lists/usb1_games.db
update_games=0 update_homebrew=0 update_dml=0, update_emu=0
usb1:/games
Games found: 5
Wait Message Thread: End
Coverflow started!
Coverflow stopped!
Exit WiiFlow called
Wait Message Thread: Start
Delay: 7, Images: 8
Launching game G5NEAF
Read Devolution Loader: "usb1:/wiiflow/loader.bin"
Devolution Engine r128 2012/08/22 00:10:08
Copyright © 2012 tueidj

Read ISO File: "usb1:/games/Namco 50th [G5NEAF]/game.iso"
MEM1_freesize(): 5033968
MEM2_freesize(): 18496928
SHND: Stopping sound thread
SHND: Stopped sound thread
Cleaning up video...
Wait Message Thread: End
Cleanup Coverflow

This is the same log I get when SD is in the drive and it works..

This is how CFG Loader (which works) currently handles loader for devo in gc.c (credits to author or cfg-load whom looks like softwiiv2)
// Devolution
static gconfig *DEVO_CONFIG = (gconfig*)0x80000020;

void DEVO_SetOptions(const char *path, u8 NMM)
{
struct stat st;
char full_path[256];
int data_fd;

stat(path, &st);
u8 *lowmem = (u8*)0x80000000;
FILE *iso_file = fopen(path, "rb");
if(iso_file)
{
printf("path=%s, iso found !!\n",path);
}
fread(lowmem, 1, 32, iso_file);
fclose(iso_file);

// fill out the Devolution config struct
memset(DEVO_CONFIG, 0, sizeof(*DEVO_CONFIG));
DEVO_CONFIG->signature = 0x3EF9DB23;
DEVO_CONFIG->version = 0x00000110;
DEVO_CONFIG->device_signature = st.st_dev;
DEVO_CONFIG->disc1_cluster = st.st_ino;

// For 2nd ios file
struct stat st2;
char disc2path[256];
strcpy(disc2path, path);
char *posz = (char *)NULL;
posz = strstr(disc2path, "game.iso");
if(posz != NULL)
strncpy(posz, "gam2.iso", 8);

iso_file = fopen(disc2path, "rb");
if(iso_file)
{
printf("path=%s, iso found !!\n",disc2path);
//sleep(5);
stat(disc2path, &st2);
fread(lowmem, 1, 32, iso_file);
fclose(iso_file);
DEVO_CONFIG->disc2_cluster = st2.st_ino;
}

// make sure these directories exist, they are required for Devolution to function correctly
snprintf(full_path, sizeof(full_path), "usb:/apps");
fsop_MakeFolder(full_path);
snprintf(full_path, sizeof(full_path), "usb:/apps/gc_devo");
fsop_MakeFolder(full_path);

// find or create a 16MB memcard file for emulation
// this file can be located anywhere since it's passed by cluster, not name
// it must be at least 16MB though
snprintf(full_path, sizeof(full_path), "%s/memcard.bin", USBLOADER_PATH);

// check if file doesn't exist or is less than 16MB
if(stat(full_path, &st) == -1 || st.st_size < 16device_signature = st.st_dev;
DEVO_CONFIG->disc1_cluster = st.st_ino;

// If 2nd iso file tell Devo about it
strcpy(iso2path, isopath);
char *ptz = (char *)NULL;
ptz = strstr(iso2path, "game.iso");
if(ptz != NULL)
strncpy(ptz, "gam1.iso", 8);

f = fopen(iso2path, "rb");
if(f)
{
gprintf("Found 2nd iso file for multi DVD game: \"%s\"\n", iso2path);
stat(iso2path, &st);
DEVO_CONFIG->disc2_cluster = st.st_ino;
fclose(f);
}

// make sure these directories exist, they are required for Devolution to function correctly
char full_path[256];
snprintf(full_path, sizeof(full_path), "%s:/apps", partition);
fsop_MakeFolder(full_path);
snprintf(full_path, sizeof(full_path), "%s:/apps/gc_devo", partition);
fsop_MakeFolder(full_path);

if(memcard_emu)
{
// find or create a 16MB memcard file for emulation
// this file can be located anywhere since it's passed by cluster, not name
// it must be at least 16MB though
if(gameID[3] == 'J') //Japanese Memory Card
snprintf(full_path, sizeof(full_path), "%s:/apps/gc_devo/memcard_jap.bin", partition);
else
snprintf(full_path, sizeof(full_path), "%s:/apps/gc_devo/memcard.bin", partition);

// check if file doesn't exist or is less than 16MB
if(stat(full_path, &st) == -1 || st.st_size < 16
 

MassiveRican

GBATemp's Unofficial Vigilante
Member
Joined
Aug 2, 2011
Messages
2,453
Trophies
1
Location
Creeping in the Shadows
XP
1,178
Country
Am playing around with plugins for the first time in a while. I have my roms segregated into folders like this:

usb:\fceugz\roms\Other versions\
usb:\fceugz\roms\Other versions\2 Player Games
usb:\fceugz\roms\Other versions\Different Funny Versions of Nintendo Games
usb:\fceugz\roms\Other versions\Non USA Versions
usb:\fceugz\roms\Other versions\Unlicensed
usb:\fceugz\roms\Other versions\Unlicensed Nintendo Game Demo's
usb:\fceugz\roms\Other versions\Unlicensed Nintendo Games
usb:\fceugz\roms\USA Retail\
usb:\fceugz\roms\USA Retail\0-100000000
usb:\fceugz\roms\USA Retail\A
usb:\fceugz\roms\USA Retail\B
...
usb:\fceugz\roms\USA Retail\Z

It doesn't look like Wiiflow is scanning all the subdirectories for games but just the first 1. If I set the plugin to point to usb:\fceugz\roms\USA Retail\ instead of usb:\fceugz\roms\ it scans the 0-100000, A, B etc folders and builds the list of those games.

If there a way to force it to scan deeper so I can keep my logical folder structure?

TIA
I think we just went over this a couple of posts back and extended_list_check=yes should scan subfolders deeper but I don't know of it applies to emulators or just wii games and I believe it's mostly for NTFS due to a bug in the lib.
 

bostonBC

Well-Known Member
Member
Joined
Aug 17, 2011
Messages
1,292
Trophies
1
XP
1,353
Country
United States
Am playing around with plugins for the first time in a while. I have my roms segregated into folders like this:

usb:\fceugz\roms\Other versions\
usb:\fceugz\roms\Other versions\2 Player Games
usb:\fceugz\roms\Other versions\Different Funny Versions of Nintendo Games
usb:\fceugz\roms\Other versions\Non USA Versions
usb:\fceugz\roms\Other versions\Unlicensed
usb:\fceugz\roms\Other versions\Unlicensed Nintendo Game Demo's
usb:\fceugz\roms\Other versions\Unlicensed Nintendo Games
usb:\fceugz\roms\USA Retail\
usb:\fceugz\roms\USA Retail\0-100000000
usb:\fceugz\roms\USA Retail\A
usb:\fceugz\roms\USA Retail\B
...
usb:\fceugz\roms\USA Retail\Z

It doesn't look like Wiiflow is scanning all the subdirectories for games but just the first 1. If I set the plugin to point to usb:\fceugz\roms\USA Retail\ instead of usb:\fceugz\roms\ it scans the 0-100000, A, B etc folders and builds the list of those games.

If there a way to force it to scan deeper so I can keep my logical folder structure?

TIA
I think we just went over this a couple of posts back and extended_list_check=yes should scan subfolders deeper but I don't know of it applies to emulators or just wii games and I believe it's mostly for NTFS due to a bug in the lib.
Ok, cool I'll try that but I think that option is only in the regular Games section of the ini. Will check to see if it works on the emu side.

Edit - I checked and it didn't have an effect on the emulation side.

Also - anyone else having a problem with emu mode not saving the coverflow you select?
 

shortz1994

Well-Known Member
Member
Joined
Jan 21, 2011
Messages
1,340
Trophies
0
XP
359
Country
United States
as far as coverflow not sving no problem here.
my problem is when switching to different views, an the wait logo locks up.( can still here the poping noises, an selecting. but nothing but the wait logo is showing.) have to do a hard reset.
on version 646.. haven't checked google code in a couple of days for update, will do this later when i have time to play with this stuff more.
@[member='fledge68'], i tried what you said to do with icon's on my theme. an i'm still getting the same results. the only button now that works is the "channels button"( switching to different views).
i can send you my ini. later if that will help things out. but im starting to think the only "sensitive spot" that works with all the buttons is the bottom half.( were the icons currently are.) an that sucks.
 

drakorex

Well-Known Member
Member
Joined
Jan 19, 2011
Messages
1,882
Trophies
0
XP
1,052
Country
United States
I too am having an issue with theming. I'm trying to convert a theme and the current [GAME/ZONES] placement has buttons over the banner. After I got it. where I wanted it, I wasn't able to click on the banner. On another note, I've noticed alot of banner corruption going on with 672.
 

FIX94

Former Staff
Former Staff
Joined
Dec 3, 2009
Messages
7,284
Trophies
0
Age
29
Location
???
XP
11,237
Country
Germany
On another note, I've noticed alot of banner corruption going on with 672.
Really? It would be great if you can find out the exact rev where that started, and also may try r673 (I'll make r674 in a bit as well) I did not have any banner corruption since ages now...
 

fledge68

Well-Known Member
Member
Joined
Jan 30, 2012
Messages
2,391
Trophies
2
XP
4,577
Country
United States
@[member='drakorex'] GAME/TOOGLE_BTN is the transparent button on top of the banner video. that button is included in GAME/ZONE. so GAME/TOOGLE_BTN needs to be in the GAME/ZONE area or else it won't show up and you won't be able to click on the banner video. so make sure you GAME/ZONE area includes the area where your banner video is. Maybe Fix should move GAME/TOOGLE_BTN out of GAME/ZONE and have it show all the time.

@[member='shortz1994'] send me your theme.ini and folder and a little explanation of what you want it to do and I'll take a look at it. I like what I've seen so I would love to help you get it working.
 

drakorex

Well-Known Member
Member
Joined
Jan 19, 2011
Messages
1,882
Trophies
0
XP
1,052
Country
United States
But the way this and other themes used to work is the buttond would be hidden until you hover over that area. I'd like to keep that function if pozsible. Be nice if I could separate the banner from the zone and still use it.
 

fledge68

Well-Known Member
Member
Joined
Jan 30, 2012
Messages
2,391
Trophies
2
XP
4,577
Country
United States
But the way this and other themes used to work is the buttond would be hidden until you hover over that area. I'd like to keep that function if pozsible. Be nice if I could separate the banner from the zone and still use it.
That's what I'm saying - if you hover over the GAME/ZONE area the banner button should appear. but you must have change the shape or position of GAME/ZONE so that when you move your pointer to the banner to click it your pointer is then out of the ZONE and the button is hidden. what are the x,y, w, h of your GAME/ZONE?
 
General chit-chat
Help Users
  • No one is chatting at the moment.
  • JuanMena @ JuanMena:
    Will you give me mouth to mouth oxygen if my throat closes?
  • K3N1 @ K3N1:
    Nah the air can do that
  • K3N1 @ K3N1:
    Ask @x65943 he's trained for that stuff
  • JuanMena @ JuanMena:
    Kissing random dudes choking in celery? Really? Need to study for that?
  • K3N1 @ K3N1:
    Yes it requires a degree
  • K3N1 @ K3N1:
    I could also yank out the rest of my teeth but theirs professionals for that
  • x65943 @ x65943:
    If your throat closes, putting oxygen in your mouth will not solve anything - as you will be introducing oxygen prior to the area of obstruction
  • JuanMena @ JuanMena:
    Just kiss me Kyle.
  • x65943 @ x65943:
    You either need to be intubated to bypass obstruction or create a stoma inferior to the the area of obstruction to survive
  • x65943 @ x65943:
    "Just kiss me Kyle." And I thought all the godreborn gay stuff was a smear campaign
  • JuanMena @ JuanMena:
    If I die, tell my momma I won't be carrying Baby Jesus this christmas :sad::cry:
  • K3N1 @ K3N1:
    Smear campaigns are in The political section now?
  • JuanMena @ JuanMena:
    Chary! Chary! Chary, Chary, Chary!
  • Sonic Angel Knight @ Sonic Angel Knight:
    Pork Provolone :P
  • Psionic Roshambo @ Psionic Roshambo:
    Sounds yummy
  • K3N1 @ K3N1:
    Sweet found my Wii u PSU right after I ordered a new one :tpi:
  • JuanMena @ JuanMena:
    It was waiting for you to order another one.
    Seems like, your PSU was waiting for a partner.
  • JuanMena @ JuanMena:
    Keep them both
    separated or you'll have more PSUs each year.
  • K3N1 @ K3N1:
    Well one you insert one PSU into the other one you get power
  • JuanMena @ JuanMena:
    It literally turns it on.
  • K3N1 @ K3N1:
    Yeah power supplies are filthy perverts
  • K3N1 @ K3N1:
    @Psionic Roshambo has a new friend
    +1
  • JuanMena @ JuanMena:
    It's Kyle, the guy that went to school to be a Certified man Kisser.
  • Psionic Roshambo @ Psionic Roshambo:
    Cartmans hand has taco flavored kisses
  • A @ abraarukuk:
    hi guys
    A @ abraarukuk: hi guys