This repository has been archived by the owner on Aug 1, 2022. It is now read-only.
forked from Regalis11/scpcb
-
Notifications
You must be signed in to change notification settings - Fork 11
Massive angelscript gameworld and game driver updates. [Main] #115
Open
PyroFire232
wants to merge
94
commits into
SCP-CBN:main
Choose a base branch
from
PyroFire232:main
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
94 commits
Select commit
Hold shift + click to select a range
66b2f29
Modular self-driving item class system
PyroFire232 21e72c8
Reworked item class system to use templates
PyroFire232 a1abe00
Added large chunks of item code from original source
PyroFire232 2accd12
Imported Gasmask, First Aids, and Batteries
PyroFire232 2a6ce52
Merge branch 'juanjp600:main' into main
PyroFire232 e1719ed
Merge branch 'juanjp600:main' into main
PyroFire232 e6f28f7
Merge branch 'juanjp600:main' into main
PyroFire232 acaf3f6
Major GUI and engine update.
PyroFire232 99b090d
Update Engine
PyroFire232 7e7b864
change pge branch to string-refactor to match scpcb
PyroFire232 4411559
Added AngelMath vector lib + tidyup
PyroFire232 d0587c8
Started tidying up gui system + WordWrapped Label
PyroFire232 2f9c862
accidental space in mathdefs.cpp
PyroFire232 341df26
Revert Vector2d missed
PyroFire232 2f45563
GUI Cleanup
PyroFire232 ab9b33c
Typos and some more cleanup
PyroFire232 aa22fb0
more cleanup + Console Menu
PyroFire232 596d4d7
backup old gui
PyroFire232 9052ff5
Improved item system
PyroFire232 73b1a13
Sorted some items around, and added a bunch of fonts
PyroFire232 62335f5
Staged Loading system
PyroFire232 10fac15
Data Prepping. Installed INIDefinitions namespace/utils into AngelScript
PyroFire232 3a9cdaa
Glitch text testing
PyroFire232 80bcd0e
Create branch and room prep
PyroFire232 b3d8f25
Merge pull request #1 from PyroFire232/main
PyroFire232 cbc24eb
Revert "Create branch and room prep"
PyroFire232 ab4f402
Revert "Revert "Create branch and room prep""
PyroFire232 b1bcacf
fix files
PyroFire232 ba065e9
Added noclip command
PyroFire232 1711eb9
Rooms are working with spawn button
PyroFire232 066d574
World engine rework
PyroFire232 5478f22
Update CachedArgument.cpp
PyroFire232 87e3b50
Renamed Model to CModel
PyroFire232 0f81e66
added AvgFramerate and hooks for Resolution Changed
PyroFire232 d542aff
loading state and engine calls
PyroFire232 2d298f7
GUIProgressBar and HUD.
PyroFire232 c1e2f36
Merge branch 'juanjp600:main' into main
PyroFire232 b3a271a
Added CMODEL::SET_TEXTURE!!!!
PyroFire232 61c3145
conflict merge
PyroFire232 f2dd766
Merge branch 'main' of https://github.com/juanjp600/scpcb into Room-S…
PyroFire232 37e215d
Counter Merging
PyroFire232 34e21fc
Attempt to finalize merge, but major issues
PyroFire232 28fbf9e
testing camera bug
PyroFire232 567517a
debugging
PyroFire232 9af8e55
Update ScriptManager.cpp
PyroFire232 45d0832
Merge pull request #4 from PyroFire232/Room-Script
PyroFire232 bb8249c
fix interp bugs
PyroFire232 4a39d5f
Merge branch 'main' into feature
PyroFire232 6fdf5f4
Merge pull request #5 from PyroFire232/feature
PyroFire232 abaadc3
Fixed glitchy cam stuttering
PyroFire232 9c5c363
Material definitions
PyroFire232 8fcb1da
Material definitions
PyroFire232 546afb4
Added MaterialDefinitions and Item Model Materials!!
PyroFire232 97e5555
Added keycards
PyroFire232 dd1b175
Added buttons and fixed noclip
PyroFire232 c69401e
Door props
PyroFire232 d2dd930
Doors and door precision
PyroFire232 df6c8e2
doors
PyroFire232 d4a21bb
First door aligned to a room.
PyroFire232 13b855b
object.onPicked() and start noclipped
PyroFire232 7e07c5f
Player is a tad bit shorter
PyroFire232 19ac8c6
CBR Import + CBR Collisions!!
PyroFire232 9155ee0
Merge branch 'juanjp600:main' into main
PyroFire232 2642729
Merge branch 'juanjp600:main' into feature
PyroFire232 90edf98
CBR prep
PyroFire232 dd28c5f
Merge branch 'feature' of https://github.com/PyroFire232/scpcb into f…
PyroFire232 294b7f8
Update Engine
PyroFire232 fdf408b
Update Engine
PyroFire232 d8326c7
cbr rooms
PyroFire232 6a84cfd
turn off room spawning
PyroFire232 323e63e
moved obsolete rmesh2 to oldsrc
PyroFire232 6cc3875
pre conflict
PyroFire232 e845490
Revert "pre conflict"
PyroFire232 f2b7807
resolve merge conflicts
PyroFire232 e05f082
CBR update - Merge pull request #6 from PyroFire232/feature
PyroFire232 5f75dea
post resolve conflicts
PyroFire232 153dd07
Merge pull request #7 from PyroFire232/feature
PyroFire232 d164ddb
please leave a message after the tone [SOUNDS]
PyroFire232 3ac2b15
libvorbis and libogg
PyroFire232 6b216ae
successful build LibOGG
PyroFire232 2084b52
first working .ogg playback
PyroFire232 cce33be
Update Engine
PyroFire232 0dd502e
Update Engine
PyroFire232 1e375b0
getting merge ready
PyroFire232 10017bb
no more matrix.product
PyroFire232 10cde11
did textentry correctly
PyroFire232 e5f4850
Finished textentry cleanup
PyroFire232 3a54f14
Merge pull request #8 from PyroFire232/feature
PyroFire232 ad6d6a8
Update Engine
PyroFire232 8ce9baf
Update Engine
PyroFire232 b542e82
item and prop spawn menu
PyroFire232 56f44c9
Minor cleanup
PyroFire232 9043acc
Merge pull request #9 from PyroFire232/feature
PyroFire232 5b3e0a1
Merge remote-tracking branch 'upstream/main' into main
PyroFire232 File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
There are no files selected for viewing
Binary file not shown.
Binary file not shown.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
namespace Room { namespace rcbx { Template@ thisTemplate=Template(); | ||
class Template : Room::Template { Room@ instantiate() { return (Instance()); } | ||
Template() { super(); | ||
name = "cbx"; | ||
zone = "LCZ"; | ||
@model = Room::ModelCBR(rootDirCBR + "Import/" + name + ".cbr"); | ||
} | ||
} | ||
|
||
class Instance : Room { | ||
Instance() {super(@thisTemplate); }; | ||
void construct() { | ||
float ang=rotation; | ||
Vector3f doorPos=position+Util::Vector3f::rotate(Vector3f(0,0,-101),-ang); | ||
Prop::spawn("door",doorPos,Vector3f(0,ang,0)); | ||
} | ||
|
||
} | ||
class Spawner : Room::Spawner { | ||
Spawner() { | ||
} | ||
} | ||
}}; |
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Put namespace openers, any code following them, and closing braces on separate lines, like so:
You can choose to not indent namespaces.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is done literally everywhere for a reason, but it can be removed later on.
I would like to open discussion about the coding style differences, and to describe for you where I am intending to follow style guidelines (but I may be short of the mark here and there), and where I am intentionally not following the guidelines.
I'm used to writing what I call quasi-encrypted compressed shorthand, as code is all just a's, b's and c's to me, but this is not at all conducive to a collaborative coding environment.
I am still intentionally writing compressed, however, for the same reason that I am using notepad and tabs for indentation in all .as files.
That reason is simple: To fit more code onto the screen at one time.
That is my biggest issue: When writing modules that are the size of these ones, it is really useful to be able to view and access all parts of the system in as small a screen space as possible. I don't want to have to scroll for 10 minutes, or click and drag the scrollbar and guess where something is, or ctrl+f through a bunch of generic names, because my program is filled with a bajillion practically empty lines that have a single statement on it, or worse, is simply a lone closing bracket. 3 lines are not needed for every foreach() { a(x); b(x); } This kind of thing is extremely wasteful on screen-space.
Abbreviating variables down to just "a" and "b" is done for the same reason, but I'm avoiding that because it does not work in collab, and equally for the same reason, too much compression would be non-conducive to collab as well.
I'm trying to find a good balance between compression for prototyping, and expanding for functions that do anything too varied or complicated.
At the end, I expect to completely decompress all lines and translate tabbing into the 4-space standard.
As for all other styling issues, I'm generally looking to follow them wherever I can.
Snake case was used because I was still learning the class system and how to lay it all out.
There's also one particular case where I am completely unsure: I think funcdefs should be defined as camelcase, as they are treated much like a class.
Lastly, I have questions about documentation, namely, how would you like that done?
Is there a particular format you'd like?
And what of code file comment headers, if any, i.e do you like having a description of what the script is and its purpose?