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)
 | 
			
		||||
            {
 | 
			
		||||
                println("\t{} = ctx;", env());
 | 
			
		||||
                println("\t{}.s64 = setjmp(*reinterpret_cast<jmp_buf*>(base + {}.u32));", r(3), r(3));
 | 
			
		||||
                println("\tif ({}.s64 != 0) ctx = {};", r(3), env());
 | 
			
		||||
                println("\t{}.s64 = setjmp(*reinterpret_cast<jmp_buf*>(base + {}.u32));", temp(), r(3));
 | 
			
		||||
                println("\tif ({}.s64 != 0) ctx = {};", temp(), env());
 | 
			
		||||
                println("\t{} = {};", r(3), temp());
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
 
 | 
			
		||||
@@ -123,21 +123,18 @@ struct PPCFuncMapping
 | 
			
		||||
 | 
			
		||||
extern PPCFuncMapping PPCFuncMappings[];
 | 
			
		||||
 | 
			
		||||
struct PPCRegister
 | 
			
		||||
union PPCRegister
 | 
			
		||||
{
 | 
			
		||||
    union
 | 
			
		||||
    {
 | 
			
		||||
        int8_t s8;
 | 
			
		||||
        uint8_t u8;
 | 
			
		||||
        int16_t s16;
 | 
			
		||||
        uint16_t u16;
 | 
			
		||||
        int32_t s32;
 | 
			
		||||
        uint32_t u32;
 | 
			
		||||
        int64_t s64;
 | 
			
		||||
        uint64_t u64;
 | 
			
		||||
        float f32;
 | 
			
		||||
        double f64;
 | 
			
		||||
    };
 | 
			
		||||
    int8_t s8;
 | 
			
		||||
    uint8_t u8;
 | 
			
		||||
    int16_t s16;
 | 
			
		||||
    uint16_t u16;
 | 
			
		||||
    int32_t s32;
 | 
			
		||||
    uint32_t u32;
 | 
			
		||||
    int64_t s64;
 | 
			
		||||
    uint64_t u64;
 | 
			
		||||
    float f32;
 | 
			
		||||
    double f64;
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
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];
 | 
			
		||||
        int16_t s16[8];
 | 
			
		||||
        uint16_t u16[8];
 | 
			
		||||
        int32_t s32[4];
 | 
			
		||||
        uint32_t u32[4];
 | 
			
		||||
        int64_t s64[2];
 | 
			
		||||
        uint64_t u64[2];
 | 
			
		||||
        float f32[4];
 | 
			
		||||
        double f64[2];
 | 
			
		||||
    };
 | 
			
		||||
    int8_t s8[16];
 | 
			
		||||
    uint8_t u8[16];
 | 
			
		||||
    int16_t s16[8];
 | 
			
		||||
    uint16_t u16[8];
 | 
			
		||||
    int32_t s32[4];
 | 
			
		||||
    uint32_t u32[4];
 | 
			
		||||
    int64_t s64[2];
 | 
			
		||||
    uint64_t u64[2];
 | 
			
		||||
    float f32[4];
 | 
			
		||||
    double f64[2];
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
#define PPC_ROUND_NEAREST 0x00
 | 
			
		||||
@@ -270,7 +264,7 @@ struct PPCFPSCRRegister
 | 
			
		||||
    }
 | 
			
		||||
};
 | 
			
		||||
 | 
			
		||||
struct PPCContext
 | 
			
		||||
struct alignas(0x40) PPCContext
 | 
			
		||||
{
 | 
			
		||||
    PPCRegister r3;
 | 
			
		||||
#ifndef PPC_CONFIG_NON_ARGUMENT_AS_LOCAL
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user