mirror of
				https://github.com/hedge-dev/XenonRecomp.git
				synced 2025-11-03 22:37:09 +00:00 
			
		
		
		
	Compare commits
	
		
			2 Commits
		
	
	
		
			c3934c624f
			...
			c017eb630a
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 
						 | 
					c017eb630a | ||
| 
						 | 
					82b4cd3bb7 | 
@@ -378,8 +378,9 @@ bool Recompiler::Recompile(
 | 
				
			|||||||
            else if (address == config.setJmpAddress)
 | 
					            else if (address == config.setJmpAddress)
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
                println("\t{} = ctx;", env());
 | 
					                println("\t{} = ctx;", env());
 | 
				
			||||||
                println("\t{}.s64 = setjmp(*reinterpret_cast<jmp_buf*>(base + {}.u32));", r(3), r(3));
 | 
					                println("\t{}.s64 = setjmp(*reinterpret_cast<jmp_buf*>(base + {}.u32));", temp(), r(3));
 | 
				
			||||||
                println("\tif ({}.s64 != 0) ctx = {};", r(3), env());
 | 
					                println("\tif ({}.s64 != 0) ctx = {};", temp(), env());
 | 
				
			||||||
 | 
					                println("\t{} = {};", r(3), temp());
 | 
				
			||||||
            }
 | 
					            }
 | 
				
			||||||
            else
 | 
					            else
 | 
				
			||||||
            {
 | 
					            {
 | 
				
			||||||
 
 | 
				
			|||||||
@@ -123,21 +123,18 @@ struct PPCFuncMapping
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
extern PPCFuncMapping PPCFuncMappings[];
 | 
					extern PPCFuncMapping PPCFuncMappings[];
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct PPCRegister
 | 
					union PPCRegister
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    union
 | 
					    int8_t s8;
 | 
				
			||||||
    {
 | 
					    uint8_t u8;
 | 
				
			||||||
        int8_t s8;
 | 
					    int16_t s16;
 | 
				
			||||||
        uint8_t u8;
 | 
					    uint16_t u16;
 | 
				
			||||||
        int16_t s16;
 | 
					    int32_t s32;
 | 
				
			||||||
        uint16_t u16;
 | 
					    uint32_t u32;
 | 
				
			||||||
        int32_t s32;
 | 
					    int64_t s64;
 | 
				
			||||||
        uint32_t u32;
 | 
					    uint64_t u64;
 | 
				
			||||||
        int64_t s64;
 | 
					    float f32;
 | 
				
			||||||
        uint64_t u64;
 | 
					    double f64;
 | 
				
			||||||
        float f32;
 | 
					 | 
				
			||||||
        double f64;
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct PPCXERRegister
 | 
					struct PPCXERRegister
 | 
				
			||||||
@@ -194,21 +191,18 @@ struct PPCCRRegister
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct alignas(0x10) PPCVRegister
 | 
					union alignas(0x10) PPCVRegister
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    union
 | 
					    int8_t s8[16];
 | 
				
			||||||
    {
 | 
					    uint8_t u8[16];
 | 
				
			||||||
        int8_t s8[16];
 | 
					    int16_t s16[8];
 | 
				
			||||||
        uint8_t u8[16];
 | 
					    uint16_t u16[8];
 | 
				
			||||||
        int16_t s16[8];
 | 
					    int32_t s32[4];
 | 
				
			||||||
        uint16_t u16[8];
 | 
					    uint32_t u32[4];
 | 
				
			||||||
        int32_t s32[4];
 | 
					    int64_t s64[2];
 | 
				
			||||||
        uint32_t u32[4];
 | 
					    uint64_t u64[2];
 | 
				
			||||||
        int64_t s64[2];
 | 
					    float f32[4];
 | 
				
			||||||
        uint64_t u64[2];
 | 
					    double f64[2];
 | 
				
			||||||
        float f32[4];
 | 
					 | 
				
			||||||
        double f64[2];
 | 
					 | 
				
			||||||
    };
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
#define PPC_ROUND_NEAREST 0x00
 | 
					#define PPC_ROUND_NEAREST 0x00
 | 
				
			||||||
@@ -270,7 +264,7 @@ struct PPCFPSCRRegister
 | 
				
			|||||||
    }
 | 
					    }
 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
struct PPCContext
 | 
					struct alignas(0x40) PPCContext
 | 
				
			||||||
{
 | 
					{
 | 
				
			||||||
    PPCRegister r3;
 | 
					    PPCRegister r3;
 | 
				
			||||||
#ifndef PPC_CONFIG_NON_ARGUMENT_AS_LOCAL
 | 
					#ifndef PPC_CONFIG_NON_ARGUMENT_AS_LOCAL
 | 
				
			||||||
 
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user