fix premake5.lua; add stdlib-sup39

This commit is contained in:
sup39 2022-02-23 09:32:28 +09:00
parent 5eeed99f97
commit 22b5fd581a
6 changed files with 79 additions and 6 deletions

3
.gitignore vendored
View file

@ -12,3 +12,6 @@ bin/
# generated types
generated/
# build
Makefile

View file

@ -19,6 +19,20 @@ if not _OPTIONS["lib-dir"] then
_OPTIONS["lib-dir"] = "lib"
end
-- clean
newaction {
trigger = "clean",
description = "clean the software",
execute = function ()
print("Clean the build...")
os.rmdir("./bin")
os.rmdir("./ssc/obj")
os.rmdir("./frontend/obj")
os.rmdir("./sbdump/obj")
print("Done.")
end
}
-- main workspace
workspace "ssc"
configurations { "Debug", "Release" }
@ -29,7 +43,7 @@ workspace "ssc"
filter "configurations:Debug"
defines { "DEBUG" }
flags { "Symbols" }
flags { symbols "On" }
filter "configurations:Release"
defines { "RELEASE" }
@ -42,7 +56,7 @@ workspace "ssc"
namespace "arookas"
location "ssc"
links { "System", "arookas", "grammatica-1.6" }
links { "System.dll", "System.Core.dll", "arookas.dll", "grammatica-1.6.dll" }
-- apply options
if _OPTIONS["clean-functions"] then
@ -77,7 +91,8 @@ workspace "ssc"
namespace "arookas"
location "frontend"
links { "System", "arookas", "SSC" }
libdirs { "$(TARGETDIR)" }
links { "System.dll", "System.Core.dll", "arookas.dll", "ssc.dll" }
files {
"frontend/**.cs",
@ -90,8 +105,14 @@ workspace "ssc"
postbuildcommands {
-- copy stdlib to frontend output so users can import the scripts
'{RMDIR} "%{cfg.buildtarget.directory}ssc"',
'{COPY} "%{wks.location}stdlib" "%{cfg.buildtarget.directory}ssc"',
'{MKDIR} "%{cfg.buildtarget.directory}/ssc"',
'{RMDIR} "%{cfg.buildtarget.directory}/ssc"',
'{MKDIR} "%{cfg.buildtarget.directory}/ssc-sup39"',
'{RMDIR} "%{cfg.buildtarget.directory}/ssc-sup39"',
'{COPY} "%{wks.location}/stdlib" "%{cfg.buildtarget.directory}/ssc"',
'{COPY} "%{wks.location}/stdlib-sup39" "%{cfg.buildtarget.directory}/ssc-sup39"',
'{COPY} "%{wks.location}/lib/*.dll" "%{cfg.buildtarget.directory}/"',
'{COPY} "%{wks.location}/utils/*" "%{cfg.buildtarget.directory}/"',
}
-- sbdump utility
@ -102,7 +123,7 @@ workspace "ssc"
namespace "arookas"
location "sbdump"
links { "System", "arookas" }
links { "System.dll", "System.Core.dll", "arookas.dll" }
files {
"sbdump/**.cs",

2
stdlib-sup39/common.sun Normal file
View file

@ -0,0 +1,2 @@
import "./ram.sun";
import "./input.sun";

View file

@ -0,0 +1,2 @@
builtin drawText(x, y, fontSize, colorTop, colorBot, fmt, ...);
builtin drawRect(fill, stroke, x0, y0, x1, y1);

20
stdlib-sup39/input.sun Normal file
View file

@ -0,0 +1,20 @@
var const addrButton = $80400D50;
var const PRESS_S = 0x1000;
var const PRESS_B = 0x0200;
var const PRESS_A = 0x0100;
var const PRESS_Z = 0x0010;
var const PRESS_X = 0x0400;
var const PRESS_Y = 0x0800;
var const PRESS_DU = 0x0008;
var const PRESS_DD = 0x0004;
var const PRESS_DL = 0x0001;
var const PRESS_DR = 0x0002;
var const PRESS_L = 0x0040;
var const PRESS_R = 0x0020;
var const addrLTrig = $80400D90;
var const addrRTrig = $80400D94;
var const addrMStickX = $80400E40;
var const addrMStickY = $80400E44;
var const addrCStickX = $80400E80;
var const addrCStickY = $80400E84;

25
stdlib-sup39/ram.sun Normal file
View file

@ -0,0 +1,25 @@
builtin readRAM(addr, ...);
builtin writeRAM(addr, value, ...);
builtin memcpy(dst, src, count);
/* https://docs.google.com/spreadsheets/d/1ElTW-akaTUF9OC2pIFR9-7aVPwpJ54AdEVJyJ_jvg0E/edit#gid=1727422135 */
var const gpApplication = $803E6000;
var const addrRand = $80408CF0;
var const addrFlagManager = $8040A290;
var const gpMarDirector = $8040A2A8;
var const gpCardManager = $8040A2B4;
var const gpMarioOriginal = $8040A378;
var const gpMarioAddress = $8040A398;
var const gpMarioPos = $8040A39C;
var const gpMarioAngleX = $8040A3A0;
var const gpMarioAngleY = $8040A3A4;
var const gpMarioAngleZ = $8040A3A8;
var const gpMarioSpeedX = $8040A3AC;
var const gpMarioSpeedY = $8040A3B0;
var const gpMarioSpeedZ = $8040A3B4;
var const gpItemManager = $8040A4D8;
var const gpMap = $8040A570;
var const gpBeamManager = $8040AEB0;
var const gpCamera = $8040B370;
var const gpCameraMario = $8040B378;
var const gpCameraShake = $8040B380;