Homebrew Homebrew game GTA: Chinatown Wars - Switch port

  • Thread starter Thread starter Nagaa
  • Start date Start date
  • Views Views 2,368
  • Replies Replies 33
  • Likes Likes 20
Why can't I get the forwarder to work? Loads fine from HBL 🤷

Since we're all doing requests 🤪 Simpsons hit and run Android port?? No one can get the switch port running any more 😢

https://github.com/Carlox33/The-Simpsons-Hit-and-Run-Android
My Port of Simpsons hit and run is still working fine? I can send it to you if you need. Also, I do all my forwarders from Spharia feels like the easiest way for me peronally. i always like to then do an icon swap with the icon swap homebrew app to change the image and put the version of the port in the .ini it creates in the contents folder for the game after you swap the image.
 
  • Like
Reactions: Lostbhoy
GTA: Chinatown Wars - Nintendo Switch port

This is a wrapper/port of the Android version of Grand Theft Auto: Chinatown Wars (v4.4.243).
It loads the original game binary, patches it and runs it.
It's basically as if we emulate a minimalist Android environment in which we natively run the original Android binary as is.

This is a based on max_nx adapted for GTA: CTW and original gtactw_vita


Available here :
https://github.com/NaGaa95/gtactw_nx


View attachment 577750
Do you think there's any hope of seeing a GTA: San Andreas Android port achieved in the same way? Considering that we already have an ARM64 APK of the game, I'm wondering whether the same techniques could be applied.
 
Do you think there's any hope of seeing a GTA: San Andreas Android port achieved in the same way? Considering that we already have an ARM64 APK of the game, I'm wondering whether the same techniques could be applied.
Game already exists on Switch in the definitive version 🤷
 
Game already exists on Switch in the definitive version 🤷
Yeah, the Definitive Edition does exist. But in the opinion of many people (myself included) it's actually worse.


You also have to consider the game's modding scene. It's already very advanced on Android, and porting PC mods is pretty easy. It would be a better version of this game.
 
  • Like
Reactions: Lostbhoy
Hey, I fix the D-PAD and the Minus, in the main.c : (sorry for my english it's not my native langage)

#define GPAD_BUTTON_A 0
#define GPAD_BUTTON_B 1
#define GPAD_BUTTON_X 2
#define GPAD_BUTTON_Y 3
#define GPAD_BUTTON_START 4
#define GPAD_BUTTON_SELECT 5 <- Add
#define GPAD_BUTTON_L1 6
#define GPAD_BUTTON_R1 7
#define GPAD_BUTTON_UP 8 <- Add
#define GPAD_BUTTON_DOWN 9 <- Add
#define GPAD_BUTTON_LEFT 10 <- Add
#define GPAD_BUTTON_RIGHT 11 <- Add

#define GPAD_BUTTON_THUMBL 12
#define GPAD_BUTTON_THUMBR 13
#define GPAD_BUTTON_BACK 14
#define GPAD_BUTTON_MENU 15


static const PadMap pad_map[] = {
{ HidNpadButton_B, GPAD_BUTTON_A },
{ HidNpadButton_A, GPAD_BUTTON_B },
{ HidNpadButton_Y, GPAD_BUTTON_X },
{ HidNpadButton_X, GPAD_BUTTON_Y },
{ HidNpadButton_Up, GPAD_BUTTON_UP }, <- Add
{ HidNpadButton_Down, GPAD_BUTTON_DOWN }, <- Add
{ HidNpadButton_Left, GPAD_BUTTON_LEFT }, <- Add
{ HidNpadButton_Right, GPAD_BUTTON_RIGHT }, <- Add

{ HidNpadButton_L, GPAD_BUTTON_L1 },
{ HidNpadButton_R, GPAD_BUTTON_R1 },
{ HidNpadButton_StickL, GPAD_BUTTON_THUMBL },
{ HidNpadButton_StickR, GPAD_BUTTON_THUMBR },
{ HidNpadButton_Plus, GPAD_BUTTON_START },
// if pause/back ends up dead, route Minus through implOnBackButtonPressed
// instead (the Java side has both paths)
{ HidNpadButton_Minus, GPAD_BUTTON_SELECT }, <- Modify
};


const float scale = 1.f / 32767.0f;
const HidAnalogStickState ls = padGetStickPos(&pad, 0);
const HidAnalogStickState rs = padGetStickPos(&pad, 1);
float lx = (float)ls.x * scale;
float ly = (float)ls.y * -scale;
//if (down & HidNpadButton_Left) lx = -1.0f; <- Modify in comment because useless now, you can remove it
//if (down & HidNpadButton_Right) lx = 1.0f; <- Modify in comment because useless now, you can remove it
//if (down & HidNpadButton_Up) ly = -1.0f; <- Modify in comment because useless now, you can remove it
//if (down & HidNpadButton_Down) ly = 1.0f; <- Modify in comment because useless now, you can remove it
 

Attachments

Hey, I fix the D-PAD and the Minus, in the main.c : (sorry for my english it's not my native langage)

#define GPAD_BUTTON_A 0
#define GPAD_BUTTON_B 1
#define GPAD_BUTTON_X 2
#define GPAD_BUTTON_Y 3
#define GPAD_BUTTON_START 4
#define GPAD_BUTTON_SELECT 5 <- Add
#define GPAD_BUTTON_L1 6
#define GPAD_BUTTON_R1 7
#define GPAD_BUTTON_UP 8 <- Add
#define GPAD_BUTTON_DOWN 9 <- Add
#define GPAD_BUTTON_LEFT 10 <- Add
#define GPAD_BUTTON_RIGHT 11 <- Add

#define GPAD_BUTTON_THUMBL 12
#define GPAD_BUTTON_THUMBR 13
#define GPAD_BUTTON_BACK 14
#define GPAD_BUTTON_MENU 15


static const PadMap pad_map[] = {
{ HidNpadButton_B, GPAD_BUTTON_A },
{ HidNpadButton_A, GPAD_BUTTON_B },
{ HidNpadButton_Y, GPAD_BUTTON_X },
{ HidNpadButton_X, GPAD_BUTTON_Y },
{ HidNpadButton_Up, GPAD_BUTTON_UP }, <- Add
{ HidNpadButton_Down, GPAD_BUTTON_DOWN }, <- Add
{ HidNpadButton_Left, GPAD_BUTTON_LEFT }, <- Add
{ HidNpadButton_Right, GPAD_BUTTON_RIGHT }, <- Add

{ HidNpadButton_L, GPAD_BUTTON_L1 },
{ HidNpadButton_R, GPAD_BUTTON_R1 },
{ HidNpadButton_StickL, GPAD_BUTTON_THUMBL },
{ HidNpadButton_StickR, GPAD_BUTTON_THUMBR },
{ HidNpadButton_Plus, GPAD_BUTTON_START },
// if pause/back ends up dead, route Minus through implOnBackButtonPressed
// instead (the Java side has both paths)
{ HidNpadButton_Minus, GPAD_BUTTON_SELECT }, <- Modify
};


const float scale = 1.f / 32767.0f;
const HidAnalogStickState ls = padGetStickPos(&pad, 0);
const HidAnalogStickState rs = padGetStickPos(&pad, 1);
float lx = (float)ls.x * scale;
float ly = (float)ls.y * -scale;
//if (down & HidNpadButton_Left) lx = -1.0f; <- Modify in comment because useless now, you can remove it
//if (down & HidNpadButton_Right) lx = 1.0f; <- Modify in comment because useless now, you can remove it
//if (down & HidNpadButton_Up) ly = -1.0f; <- Modify in comment because useless now, you can remove it
//if (down & HidNpadButton_Down) ly = 1.0f; <- Modify in comment because useless now, you can remove it
Thanks for your contribution, i merged your commits it will be added in the next release
 
  • Like
Reactions: TwixterXP
Hey, I fix the D-PAD and the Minus, in the main.c : (sorry for my english it's not my native langage)

#define GPAD_BUTTON_A 0
#define GPAD_BUTTON_B 1
#define GPAD_BUTTON_X 2
#define GPAD_BUTTON_Y 3
#define GPAD_BUTTON_START 4
#define GPAD_BUTTON_SELECT 5 <- Add
#define GPAD_BUTTON_L1 6
#define GPAD_BUTTON_R1 7
#define GPAD_BUTTON_UP 8 <- Add
#define GPAD_BUTTON_DOWN 9 <- Add
#define GPAD_BUTTON_LEFT 10 <- Add
#define GPAD_BUTTON_RIGHT 11 <- Add

#define GPAD_BUTTON_THUMBL 12
#define GPAD_BUTTON_THUMBR 13
#define GPAD_BUTTON_BACK 14
#define GPAD_BUTTON_MENU 15


static const PadMap pad_map[] = {
{ HidNpadButton_B, GPAD_BUTTON_A },
{ HidNpadButton_A, GPAD_BUTTON_B },
{ HidNpadButton_Y, GPAD_BUTTON_X },
{ HidNpadButton_X, GPAD_BUTTON_Y },
{ HidNpadButton_Up, GPAD_BUTTON_UP }, <- Add
{ HidNpadButton_Down, GPAD_BUTTON_DOWN }, <- Add
{ HidNpadButton_Left, GPAD_BUTTON_LEFT }, <- Add
{ HidNpadButton_Right, GPAD_BUTTON_RIGHT }, <- Add

{ HidNpadButton_L, GPAD_BUTTON_L1 },
{ HidNpadButton_R, GPAD_BUTTON_R1 },
{ HidNpadButton_StickL, GPAD_BUTTON_THUMBL },
{ HidNpadButton_StickR, GPAD_BUTTON_THUMBR },
{ HidNpadButton_Plus, GPAD_BUTTON_START },
// if pause/back ends up dead, route Minus through implOnBackButtonPressed
// instead (the Java side has both paths)
{ HidNpadButton_Minus, GPAD_BUTTON_SELECT }, <- Modify
};


const float scale = 1.f / 32767.0f;
const HidAnalogStickState ls = padGetStickPos(&pad, 0);
const HidAnalogStickState rs = padGetStickPos(&pad, 1);
float lx = (float)ls.x * scale;
float ly = (float)ls.y * -scale;
//if (down & HidNpadButton_Left) lx = -1.0f; <- Modify in comment because useless now, you can remove it
//if (down & HidNpadButton_Right) lx = 1.0f; <- Modify in comment because useless now, you can remove it
//if (down & HidNpadButton_Up) ly = -1.0f; <- Modify in comment because useless now, you can remove it
//if (down & HidNpadButton_Down) ly = 1.0f; <- Modify in comment because useless now, you can remove it
wdym I've fixed the abxy layout, select button and dpad issues and I'm also the one who submitted the PRs?
1782333515053.png
 

Site & Scene News

Popular threads in this forum