mirror of
https://github.com/IllusionMan1212/vitasdk-odin.git
synced 2026-10-24 02:12:38 +00:00
64 lines
1.5 KiB
Odin
64 lines
1.5 KiB
Odin
package paf
|
|||
|
|
|
||
|
|
import sce "../common"
|
||
|
|
import "core:c"
|
||
|
|
|
||
|
|
scePafGraphicsCurrentWave :: sce.UInt32
|
||
|
|
|
||
|
|
ScePafDateTime :: struct {
|
||
|
|
data: sce.DateTime,
|
||
|
|
data_0x10: c.int,
|
||
|
|
data_0x14: c.int,
|
||
|
|
}
|
||
|
|
#assert(size_of(ScePafDateTime) == 0x18)
|
||
|
|
|
||
|
|
ScePafSha1Context :: struct {
|
||
|
|
// size is 0x68
|
||
|
|
h: [5]c.uint32_t,
|
||
|
|
unk: [0x54]c.char,
|
||
|
|
}
|
||
|
|
#assert(size_of(ScePafSha1Context) == 0x68)
|
||
|
|
|
||
|
|
// TODO: copy-pasted from Kernel/types.odin. should be in common or something
|
||
|
|
SceKernelLwMutexWork :: struct {
|
||
|
|
data: [4]sce.Int64,
|
||
|
|
}
|
||
|
|
#assert(size_of(SceKernelLwMutexWork) == 0x20)
|
||
|
|
|
||
|
|
|
||
|
|
ScePafHeapContext :: struct {
|
||
|
|
// size is 0x60-bytes
|
||
|
|
vtable: rawptr,
|
||
|
|
heap: rawptr,
|
||
|
|
membase: rawptr,
|
||
|
|
size: sce.Size,
|
||
|
|
name: [0x20]c.char,
|
||
|
|
is_import_membase: sce.Char8,
|
||
|
|
is_skip_debug_msg: sce.Char8,
|
||
|
|
data_0x32: c.char,
|
||
|
|
data_0x33: c.char, // maybe unused. just for align.
|
||
|
|
data_0x34: c.int, // maybe unused. just for align.
|
||
|
|
lw_mtx: SceKernelLwMutexWork,
|
||
|
|
memblk_id: sce.UID,
|
||
|
|
|
||
|
|
/*
|
||
|
|
* !1 : Game
|
||
|
|
* 1 : CDialog
|
||
|
|
*/
|
||
|
|
mode: sce.Int32,
|
||
|
|
}
|
||
|
|
when size_of(rawptr) == 4 {
|
||
|
|
#assert(size_of(ScePafHeapContext) == 0x60)
|
||
|
|
}
|
||
|
|
|
||
|
|
ScePafHeapOpt :: struct {
|
||
|
|
// size is 0x14-bytes
|
||
|
|
a1: c.int,
|
||
|
|
a2: c.int,
|
||
|
|
is_skip_debug_msg: sce.Char8,
|
||
|
|
a3: [3]c.char,
|
||
|
|
mode: sce.Int32,
|
||
|
|
a5: c.int,
|
||
|
|
}
|
||
|
|
#assert(size_of(ScePafHeapOpt) == 0x14)
|