Commit graph

35 commits

Author SHA1 Message Date
PeachyPeach
32f395fb0c
ModFs improvements (#907)
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
* zip + json properties; check existing file in create file

* smlua_audio_utils_replace_sequence

* audio_stream_load, audio_sample_load, smlua_model_util_get_id

* get_texture_info + can also load PNG files

* smlua_collision_util_get

* add wildcard in properties files + set text mode

* filepath restrictions

* Some mod_storage improvements

- Cache mod storage files into a map to reduce file I/O
- Fix a bug in mod_storage_save
- Add mod_storage_load_all that returns all keys/values as a table

* shutdown; fix buffer overflow; fix warnings; lua table

* reject binary files starting with MZ or ELF

* function members

* better doc

* adding file rewind

* ModFS guide; replace yaml by ini; read string buffer changes
2025-10-21 19:42:06 +02:00
PeachyPeach
d9f5869fcd
Fix Texture type; add various get_name functions (#945)
Some checks failed
Build coop / build-linux (push) Has been cancelled
Build coop / build-steamos (push) Has been cancelled
Build coop / build-windows-opengl (push) Has been cancelled
Build coop / build-windows-directx (push) Has been cancelled
Build coop / build-macos-arm (push) Has been cancelled
Build coop / build-macos-intel (push) Has been cancelled
2025-09-15 20:59:26 +02:00
PeachyPeach
4c3ee14f55
Mod file system (#850)
Some checks are pending
Build coop / build-linux (push) Waiting to run
Build coop / build-steamos (push) Waiting to run
Build coop / build-windows-opengl (push) Waiting to run
Build coop / build-windows-directx (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
* modfs; optional function parameters in autogen

* errors and stuff

* script to turn a directory into a modfs file and vice versa

* bug fixes

* read: raise error on eof

* properly check eof on read_string

* fill; reload; check pointer validity; skip private files when loading non-active modfs

* added bytestrings

* move ByteString to smlua_utils.h
2025-07-01 01:53:47 +02:00
PeachyPeach
69e129805e
More math improvements (#820)
* More math improvements

* more math functions

* stack check

* added error message when trying to modify read-only table; fix gSmluaConstants printed to console
2025-05-29 02:52:31 +02:00
Beckowl
7472aa9b0a
Expose useful global graphnodes (#789)
* Add global node getters

* move pointer asterisk thing for consistency

* Run autogen

* Add geo prefix to new functions

* Run regen

* Rename functions

* run autogen

* Make viewport fields mutable

* Address code review comments
2025-05-07 17:09:08 -04:00
Cooliokid956
efcfff210d
Miscellaneous additions (#711)
- Fixed script file path shortening for Windows in console errors (what I could at least, the one left unfixed is preprocessed and I can't mess with that)
- Adjusted audio sanity check messages to sound more natural
- 9 new functions added:

## `audio_stream_set_loop_points(audio, start, end)`
Sets an audio stream's loop points in samples, no longer requiring a hacky method to loop streams in mods

## `get_active_mod()`
Returns the mod currently being processed, can be used by mods with APIs to determine what they're being used by and react accordingly

## `get_area_update_counter()`
Returns `gAreaUpdateCounter`, can be used to determine various in-game statistics, as well as if the game is being updated

## Exposed several object pointers
`get_current_object()` to retrieve `gCurrentObject`
`get_dialog_object()` to retrieve `gContinueDialogFunctionObject`
`(get|set)_cutscene_focus()` to retrieve/assign `gCutsceneFocus`
`(get|set)_secondary_camera_focus()` to retrieve/assign `gSecondCameraFocus`
2025-03-24 07:31:06 +10:00
Agent X
ab49c33d86 Expose some cool math functions
Some checks are pending
Build coop / build-ubuntu (push) Waiting to run
Build coop / build-windows (push) Waiting to run
Build coop / build-macos-arm (push) Waiting to run
Build coop / build-macos-intel (push) Waiting to run
2025-03-14 22:25:56 -04:00
Isaac0-dev
f238b3d0f5
allow Lua to manipulate displaylists and vertices (#675)
Co-authored-by: ManIsCat2 <137772623+ManIsCat2@users.noreply.github.com>
2025-02-27 14:27:55 +10:00
Isaac0-dev
bc4679d2e0 fix array typing in docs 2025-02-22 19:00:47 +10:00
Isaac0-dev
29cd4d5e59 autogen fix compile 2025-02-12 18:56:00 +10:00
Isaac0-dev
bb768ef55b autogen fix integer type detection 2025-02-12 17:46:24 +10:00
Isaac0-dev
ff83d6a037 autogen array implementation
arrays are pushed to Lua via tables
2025-02-12 17:38:38 +10:00
PeachyPeach
adcd730d5d
Autogen: remove some hardcoded stuff (#610) 2025-01-06 08:30:52 +10:00
jayden
68b9f2c556
Autogen correctly handle pointers (#584)
* correctly handle pointers in autogen

* autogen with correct pointers

* fix typo in lvt autogen
2024-12-27 17:51:47 -05:00
Agent X
ed60d53ab3
Mod Storage C++ (#448)
* Mod Storage C++

* Implement Peachy's suggestions.

Thank you Peachy.
2023-07-18 17:52:11 -04:00
MysterD
2083242b66 Fixed several crashes and errors found in static analysis 2023-05-15 01:15:20 -07:00
Prince Frizzy
523e7842d9
A bunch of LUA autogen additions. (#235)
* A bunch of LUA autogen additions.
- Add support for Vec4f, Vec4s and Mat4 in the autogen.
- Improve error messages for improper argument counts
- Added support for more pointer types in the autogen.

* Fix offsets in sMat4Fields.

* autogen: Rework this at the request of DJ.
2022-11-30 00:37:12 -08:00
Agent X
6c0757c908
Color type and palette/color functions (#199)
Added a Color type (typedef u8 Color[3])
Added network_player_color_to_palette and network_player_palette_to_color
Reran autogen
2022-09-26 19:11:51 -07:00
MysterD
ef63435bc1 Un-hardcoded vanilla trajectories 2022-04-08 21:01:17 -07:00
MysterD
046c595f92 More progress toward custom DynOS levels 2022-04-02 15:14:04 -07:00
MysterD
08d4818ba7 Added Lua definitions for autocomplete in visual studio code 2022-03-12 21:28:57 -08:00
MysterD
4638ff6f22 Added the ability to set surface collisions on custom behaviors 2022-03-09 23:02:20 -08:00
MysterD
e4f72105a3 Update Lua documentation autogeneration 2022-03-04 22:22:31 -08:00
MysterD
3bc80ad7be Add object animations to Lua, add CPointer allowlist 2022-03-03 18:31:45 -08:00
MysterD
bbeec3c707 Add support for Lua functions inside parameters 2022-02-22 23:34:22 -08:00
MysterD
44fca9aede Added BehaviorScript pointer handling to Lua API 2022-02-22 18:29:30 -08:00
MysterD
29599a82ec Created TextureInfo struct 2022-02-15 22:13:10 -08:00
MysterD
941375718b Added CPointers to Lua/autogen 2022-02-15 22:09:21 -08:00
MysterD
cf34aa0b08 Added support for returning structs from C to Lua 2022-02-03 00:43:08 -08:00
MysterD
271a375510 Added immutable strings to autogen, added djui_popup_create 2022-02-03 00:42:31 -08:00
MysterD
cecb145bbb Added network utils functions to Lua 2022-02-02 20:24:35 -08:00
MysterD
c59aeedf78 Added gNetworkPlayers to lua api 2022-02-02 19:24:51 -08:00
MysterD
c170984471 Autogenerated Lua documentation 2022-01-29 22:47:22 -08:00
MysterD
0aa8cd0e35 More improvements to Lua
autogenerated functions for characters.h

Fixes in autogen:
	improvements to LVT/LOT conversion
	improvements to immutability status

Updates to character-movesets.lua, every character has a moveset now

Added .type to stuct Character

Prevented unimplemented actions from crashing the game
2022-01-26 20:35:13 -08:00
MysterD
bf2969be04 More Lua improvements
convert_functions.py no longer hardcodes acceptable LOT_ values
Added characters.h and surface_collision.h to convert_structs.py
Prevented mod filenames with a slash in it from being considered acceptable
Sanitized mod filenames when received from the server
2022-01-25 20:28:34 -08:00