Homebrew Homebrew game Chrono Trigger - Switch port

  • Thread starter Thread starter Nagaa
  • Start date Start date
  • Views Views 3,185
  • Replies Replies 48
  • Likes Likes 19

Attachments

  • 10-1744561398-987270345.png
    10-1744561398-987270345.png
    821.4 KB · Views: 1
any chance for crt filter? I assume something like that would be pretty unlikely for the wrapper, or am I wrong? the would make it the perfect port and give it the perfect retro feeling :D
 
For testing. I've made some more tweaks to improve performance on lower OC. And I've added the ability for it to change resolutions when docking and undocking. Screen width and height parameters are now specific to handheld and docked.

i.e.

Code:
screen_width_handheld 1280
screen_height_handheld 720
screen_width_docked 2560
screen_height_docked 1440

I'm getting pretty stable 720p performance at 1581 MHz CPU, 614 MHz GPU, 1331 MHz RAM (which for me personally translates to 7-8 hours of gameplay on battery since the loads are relatively low).
Post automatically merged:


Update: I've migrated to ini format for the config. It will automatically translate your config.txt into a config.ini. And I've now added my 3 patches into ct_nx.nro to be used at runtime.

INI:
[config]
screen_width_handheld = 1280
screen_height_handheld = 720
screen_width_docked = 2560
screen_height_docked = 1440
language = en
game_font_path = /switch/ct/ChronoType.ttf
game_font_scale = 0.90
text_shadow_scale = 1.0
text_shadow_alpha = 200
; --- Runtime binary patches ---
cursor_fix = 1
remove_bilinear_filter = 1
remove_mobile_ui = 1

`cursor_fix`, `remove_bilinear_filter`, and `remove_mobile_ui` can be set to a value of 1, and used with the unmodified original libchrono.so. Patches are read and used at runtime, so the .so never gets modified.


I'll see if i can also get .ctp mod packs loading so we dont need to modify resources.bin.
 

Attachments

Last edited by ppkantorski,
For testing. I've made some more tweaks to improve performance on lower OC. And I've added the ability for it to change resolutions when docking and undocking. Screen width and height parameters are now specific to handheld and docked.

i.e.

Code:
screen_width_handheld 1280
screen_height_handheld 720
screen_width_docked 2560
screen_height_docked 1440

I'm getting pretty stable 720p performance at 1581 MHz CPU, 614 MHz GPU, 1331 MHz RAM (which for me personally translates to 7-8 hours of gameplay on battery since the loads are relatively low).
Post automatically merged:


Update: I've migrated to ini format for the config. It will automatically translate your config.txt into a config.ini. And I've now added my 3 patches into ct_nx.nro to be used at runtime.

INI:
[config]
screen_width_handheld = 1280
screen_height_handheld = 720
screen_width_docked = 2560
screen_height_docked = 1440
language = en
game_font_path = /switch/ct/ChronoType.ttf
game_font_scale = 0.90
text_shadow_scale = 1.0
text_shadow_alpha = 200
; --- Runtime binary patches ---
cursor_fix = 1
remove_bilinear_filter = 1
remove_mobile_ui = 1

`cursor_fix`, `remove_bilinear_filter`, and `remove_mobile_ui` can be set to a value of 1, and used with the unmodified original libchrono.so. Patches are read and used at runtime, so the .so never gets modified.

Tested. remove_bilinear_filter is not being applied. It's easy to spot with the text

Many thanks to Nagaa and you for bringing and improving this port!
 
  • Like
Reactions: ppkantorski
Tested. remove_bilinear_filter is not being applied. It's easy to spot with the text

Many thanks to Nagaa and you for bringing and improving this port!
This should fix it. Thanks for the heads up.

I've also fixed the video scripts. Before at the end of the intro video it would halt on a black frame, then controller input would send keyboard input popping up the keyboard menu. Now the video progresses to after the video properly, returning you back to the main menu, and clicking a button takes you to the main menu as well.
 

Attachments

This should fix it. Thanks for the heads up.

I've also fixed the video scripts. Before at the end of the intro video it would halt on a black frame, then controller input would send keyboard input popping up the keyboard menu. Now the video progresses to after the video properly, returning you back to the main menu, and clicking a button takes you to the main menu as well.

I tested this fix and the bilinear filter is still not being removed, I made sure the config file had the remove_bilinear_filter entry set to 1, all I did was put this nro file inside the ct folder which contains the unmodified game files.

Fonts don't seem to be working either, again all I did was add the .ttf file to the ct folder. not sure if I'm missing some steps.
 
Last edited by tmnr1992,
I tested this fix and the bilinear filter is still not being removed, I made sure the config file had the remove_bilinear_filter entry set to 1, all I did was put this nro file inside the ct folder which contains the unmodified game files.

Fonts don't seem to be working either, again all I did was add the .ttf file to the ct folder. not sure if I'm missing some steps.
I can confirm its working for me. I visually see the difference with the font with remove bilinear filter on. You need to download the font file i mentioned before if you want to use the custom font (or grab another one, but ensure you are pointing it to the correct path in your config.ini). Can you post your config.ini?
 
  • Like
Reactions: tmnr1992
I can confirm its working for me. I visually see the difference with the font with remove bilinear filter on. You need to download the font file i mentioned before if you want to use the custom font (or grab another one, but ensure you are pointing it to the correct path in your config.ini). Can you post your config.ini?

The issue with the font was that I hadn't set the path as you mentioned, now it's working great:
[config]
screen_width_handheld = -1
screen_height_handheld = -1
screen_width_docked = -1
screen_height_docked = -1
language = en
gl_threaded = 1
gl_no_error = 1
game_font = 1
game_font_path = /switch/ct/ChronoType.ttf
game_font_scale = 1
game_font_xscale = 1
text_shadow = 1
text_shadow_alpha = 230
text_shadow_scale = 1
cursor_fix = 1
remove_bilinear_filter = 1
remove_mobile_ui = 1

Unfortunately I still can't disable the bilinear filter, I tried setting remove_bilinear_filter to 0 and then back to 1 and manually patching libchrono.so with your python script, but neither option worked, could it be an issue with my game files?
 

Site & Scene News

Popular threads in this forum