migrate allocator calls to alloc_bytes / libc_free
This commit is contained in:
26
main.sx
26
main.sx
@@ -327,7 +327,7 @@ frame :: () {
|
||||
|
||||
main :: () -> void {
|
||||
inline if OS == .ios {
|
||||
u : *UIKitPlatform = xx context.allocator.alloc(size_of(UIKitPlatform));
|
||||
u : *UIKitPlatform = xx context.allocator.alloc_bytes(size_of(UIKitPlatform));
|
||||
u.gpu_mode = .metal;
|
||||
if !u.init("m3te", 800, 600) { return; }
|
||||
g_plat = xx u;
|
||||
@@ -337,13 +337,13 @@ main :: () -> void {
|
||||
// return into UIApplicationMain, so attach lazily on the first frame.
|
||||
// init(null, 0, 0) only needs the MTLDevice, which is enough for the
|
||||
// texture uploads below.
|
||||
g_metal_gpu = xx context.allocator.alloc(size_of(MetalGPU));
|
||||
g_metal_gpu = xx context.allocator.alloc_bytes(size_of(MetalGPU));
|
||||
// alloc returns uninitialized memory; struct field defaults are NOT
|
||||
// applied, so List caps/lens would be garbage without this memset.
|
||||
memset(xx g_metal_gpu, 0, size_of(MetalGPU));
|
||||
if !g_metal_gpu.init(null, 0, 0) { return; }
|
||||
} else {
|
||||
s : *SdlPlatform = xx context.allocator.alloc(size_of(SdlPlatform));
|
||||
s : *SdlPlatform = xx context.allocator.alloc_bytes(size_of(SdlPlatform));
|
||||
if !s.init("m3te", 800, 600) { return; }
|
||||
g_plat = xx s;
|
||||
}
|
||||
@@ -353,7 +353,7 @@ main :: () -> void {
|
||||
g_viewport_h = fc.viewport_h;
|
||||
g_safe_insets = g_plat.safe_insets();
|
||||
|
||||
g_pipeline = xx context.allocator.alloc(size_of(UIPipeline));
|
||||
g_pipeline = xx context.allocator.alloc_bytes(size_of(UIPipeline));
|
||||
// Same alloc caveat as above: zero so the optional `gpu` reads as null on
|
||||
// the desktop path (where set_gpu is not called) and the Lists start empty.
|
||||
memset(xx g_pipeline, 0, size_of(UIPipeline));
|
||||
@@ -363,37 +363,37 @@ main :: () -> void {
|
||||
g_pipeline.init(fc.viewport_w, fc.viewport_h);
|
||||
g_pipeline.init_font("assets/fonts/default.ttf", 32.0, fc.dpi_scale);
|
||||
|
||||
g_board = xx context.allocator.alloc(size_of(Board));
|
||||
g_board = xx context.allocator.alloc_bytes(size_of(Board));
|
||||
g_board.init(BOARD_SEED);
|
||||
|
||||
g_assets = xx context.allocator.alloc(size_of(BoardAssets));
|
||||
g_assets = xx context.allocator.alloc_bytes(size_of(BoardAssets));
|
||||
g_assets.init();
|
||||
g_assets.load(g_pipeline.gpu);
|
||||
|
||||
g_sel = xx context.allocator.alloc(size_of(BoardSelection));
|
||||
g_sel = xx context.allocator.alloc_bytes(size_of(BoardSelection));
|
||||
g_sel.init();
|
||||
|
||||
g_drag = xx context.allocator.alloc(size_of(DragInput));
|
||||
g_drag = xx context.allocator.alloc_bytes(size_of(DragInput));
|
||||
g_drag.init();
|
||||
|
||||
g_anim = xx context.allocator.alloc(size_of(BoardAnim));
|
||||
g_anim = xx context.allocator.alloc_bytes(size_of(BoardAnim));
|
||||
g_anim.init();
|
||||
|
||||
g_fx = xx context.allocator.alloc(size_of(BoardFx));
|
||||
g_fx = xx context.allocator.alloc_bytes(size_of(BoardFx));
|
||||
g_fx.init();
|
||||
|
||||
g_fxassets = xx context.allocator.alloc(size_of(BoardFxAssets));
|
||||
g_fxassets = xx context.allocator.alloc_bytes(size_of(BoardFxAssets));
|
||||
g_fxassets.init();
|
||||
g_fxassets.load(g_pipeline.gpu);
|
||||
|
||||
g_motion = xx context.allocator.alloc(size_of(GemMotion));
|
||||
g_motion = xx context.allocator.alloc_bytes(size_of(GemMotion));
|
||||
g_motion.init();
|
||||
|
||||
// SFX (P10.2). Loads the System Sound Services cue bank once; board_view
|
||||
// plays a cue per event. Purely additive — never touches score/board/move
|
||||
// state. On iOS the platform has already chdir'd to the bundle, so each
|
||||
// cue's relative path resolves. No-op off iOS.
|
||||
g_audio = xx context.allocator.alloc(size_of(GameAudio));
|
||||
g_audio = xx context.allocator.alloc_bytes(size_of(GameAudio));
|
||||
memset(xx g_audio, 0, size_of(GameAudio));
|
||||
g_audio.init();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user