mirror of
				https://github.com/Ultra-NX/UltraNX.git
				synced 2025-11-03 20:59:19 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			65 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
			
		
		
	
	
			65 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			YAML
		
	
	
	
	
	
# 三國志14 with 威力加強版 1.0.10
 | 
						|
# BID: B067B077906C6208
 | 
						|
# Cursor speed is tied to framerate, main menu animations speed is not adjusted properly in range from 35 to 55 FPS
 | 
						|
 | 
						|
unsafeCheck: true
 | 
						|
 | 
						|
DECLARATIONS:
 | 
						|
  # DON'T PUT ANYTHING BETWEEN - START
 | 
						|
  -
 | 
						|
    type: variable
 | 
						|
    name: fps_lock
 | 
						|
    value_type: uint32
 | 
						|
    default_value: 30
 | 
						|
    evaluate: FPS_LOCK_TARGET
 | 
						|
  -
 | 
						|
    type: variable
 | 
						|
    name: fps_lock2
 | 
						|
    value_type: uint32
 | 
						|
    default_value: 60
 | 
						|
    evaluate: FPS_LOCK_TARGET
 | 
						|
  # DON'T PUT ANYTHING BETWEEN - END
 | 
						|
  -
 | 
						|
    type: variable
 | 
						|
    name: game_speed
 | 
						|
    value_type: float
 | 
						|
    default_value: 0.0333333333
 | 
						|
    evaluate: "1/FPS_TARGET"
 | 
						|
MASTER_WRITE:
 | 
						|
  # Redirect adjusting game speed to FPS Lock stored in MAIN + 0x2B92800, REF: 20 79 68 BC 01 10 2E 1E 00 D8 21 7E
 | 
						|
  -
 | 
						|
    type: asm_a64
 | 
						|
    main_offset: 0xB8ED98
 | 
						|
    instructions: [
 | 
						|
      [adrp, x9, $fps_lock],
 | 
						|
      [add, x9, x9, $fps_lock]
 | 
						|
    ]
 | 
						|
  # Redirect FPS Lock to MAIN + 0x2B92800, REF: C8 32 40 B9 E8 C2 00 B9
 | 
						|
  -
 | 
						|
    type: asm_a64
 | 
						|
    main_offset: 0x89668C
 | 
						|
    instructions: [
 | 
						|
      [adrp, x8, $fps_lock],
 | 
						|
      [ldr, w8, [x8, $fps_lock]]
 | 
						|
    ]
 | 
						|
  # Redirect game speed to MAIN + 0x2B92808, REF: 00 28 21 1E 00 A0 00 BD C0 03 5F D6
 | 
						|
  -
 | 
						|
    type: asm_a64
 | 
						|
    main_offset: 0x11139A0
 | 
						|
    instructions: [
 | 
						|
      [adrp, x8, $game_speed],
 | 
						|
      [ldr, s0, [x0, 0xa0]],
 | 
						|
      [ldr, s1, [x8, $game_speed]]
 | 
						|
    ]
 | 
						|
ALL_FPS:
 | 
						|
  - # Adjust max delta for menus, 0 - 30 FPS, 1 - 60 FPS, REF: 20 79 68 BC 01 10 2E 1E 00 D8 21 7E
 | 
						|
    type: evaluate_write
 | 
						|
    address: [MAIN, 0x254EA80]
 | 
						|
    value_type: uint32
 | 
						|
    value: "FPS_TARGET / 60"
 | 
						|
  -
 | 
						|
    type: block
 | 
						|
    what: timing
 | 
						|
 | 
						|
 |